开机显示IP,直接Nmap扫描:nmap -A -p- -v -T4 -oA nmap 192.168.10.59
发现开了4个HTTP协议的端口,还有一个22端口,对http协议端口进行url枚举,
8080端口发现一个phpinfo:http://192.168.10.59:8080/phpinfo.php
8081端口发现一个phpmyadmin:http://192.168.10.59:8081/phpmyadmin/
80端口发现一个typo3 cms:http://192.168.10.59/typo3/
对phpmyadmin进行root:root弱口令登录,结果登录成功了。

登录后发现是phpmyadmin版本是5.0.2,搜索phpmyadmin的getshell,但最后都没能成功。

继续找typo3的用户表,但这个加密奇怪,直接进行替换。百度搜了一个typo3搭建到本地,用也知明文的密文替换靶机的密码,成功登录到后台。(后来我发现直接使用openssl生成一个密码也可以)

写博客前偷瞄师傅的wp说argon2id这个是一种加密方式,在线网站:https://argon2.online/

登录成功后就是getshell,在file选项卡找到一个文件上传的界面

但是无法上传php文件,又偷瞄了一眼师傅博客发现设置里可以修改。

找到fileDenyPattern设置项把里面的内容全部删除后点击“Write configuration”

修改设置后继续上传就能成功,接下来就是找文件路径,其实配置文件就有上传路径

我们访问上传的webshell成功获得反弹shell,继续对机器进行提权

经过检查发现没有多余用户,那就是直接提权到root用户,看了一下内核版本很高;查看了suid发现了一个很可疑的文件apache2-restart,对他进行逆向发现执行了service apache2 start,难怪名字叫apache2-restart。(就瞄了一眼)

当执行clear命令出现以下报错是,设置TERM变量即可:export TERM=xterm-256color

1
2
$ clear
TERM environment variable not set.

通过修改环境变量(env)让service命令执行我们写的文件来提权,由于终端缺陷命令错了不能修改(手残),所以写了一个脚本来执行。

1
2
3
4
5
6
echo $PATH
export PATH=/tmp:$PATH
cd /tmp
echo '/bin/bash' > service
chmod +x service
/usr/local/bin/apache2-restart