内网代理搭建

利用ssh命令搭建ssh隧道

我的ctfshow wp里内网渗透那已经讲了,这里再讲一遍

单层ssh隧道搭建

适用情景:

这里我们的windows攻击机无法直接访问办公网的web服务,只能访问可控linux服务器,这里我们就可以通过可控linux服务器作为跳板,让windows攻击机就可以直接访问办公网内网区的web服务然后展开渗透

在我们的windows命令行上运行:

ssh -L 8085:172.2.136.5:80 ctfshow@pwn.challenge.ctf.show -p 28227

这里我们将可控linux服务器中172.2.136.5:80的流量转发到本地windows的8085端口上,然后就可以通过访问127.0.0.1:8085以访问172.2.136.5的web服务,流量转发过程为:

172.2.136.5:80->windows的80端口

多层ssh隧道搭建

适用情景:

这里用我的vps服务器当作表层内网服务器,不同内网之间没法直接相互通信,因此如果我们想用windows攻击机直接访问深层内网的web服务,需要先在表层内网服务器和深层内网服务器之间建立隧道,然后再在windows攻击机和表层内网服务器之间建立隧道,最后就可以用windows攻击机直接访问到深层内网的web服务。

在表层内网服务器上运行:

ssh -L 9383:172.2.136.5:80 ctfshow@pwn.challenge.ctf.show -p 28227

将深层内网中172.2.136.5:80的流量转发到表层内网服务器的9383端口上,然后在windows机器上运行:

ssh -L 8086:127.0.0.1:9383 root@vps_ip -p vps_port

将表层内网服务器中127.0.0.1:9383的流量转发到windows机器的8086端口上,流量转发的过程变为:

172.2.136.5:80->VPS:9383->windows的8086端口

然后我们就可以通过在本地访问8086直接访问深层内网中的172.2.136.5的web服务

利用chisel建立socks5代理

这个工具是当时去贵阳玩渗透yulate哥哥推荐给我的,地址:https://github.com/jpillora/chisel

上面的用ssh搭建代理有个很麻烦的地方,就是只能一个一个转发流量,用chisel就可以把所以流量全部转发了。

单层隧道搭建

适用场景其实和上面差不多,只不过我这里用了两个vps来模拟单层代理的情况,因为直接用本机当server我试了下不行,因为没公网ip,所以要把vps1当server,vps2当client,然后把vps2的流量先转发到vps1上,然后再挂vps1的socks5的代理。如果你打比赛或者你电脑有公网ip的话其实就可以省略掉在vps1上搭建的过程了,在自己电脑上搭建完然后连接127.0.0.1就行了

在vps1上运行

./chisel server -p 1234 --reverse

在vps2上运行

./chisel client vps1:1234 R:0.0.0.0:9383:socks

如果端口被占用了的话用netstat -nap | grep 1234命令查看进程,然后kill掉即可

解释一下命令的意思,vps1上命令的意思,就是把本机作为server,然后用1234端口开启监听进行反向代理;vps2上命令的意思,就是把本机作为client,然后连接vps1:1234,把所有流量通过vps1:1234进行转发,然后把vps1:9383作为socks5代理。

反正运行完后,你可以在本地电脑用socks5代理连接vps1:9383实现对vps2内网资源的访问(这个工具是FoxyProxy)

然后我们看看ip

已经成vps2的ip了

还可以通过profixier配置代理,这样配出来的就是全局的

多层隧道搭建

贵阳那个渗透大概就是这么个拓扑图,DMZ区,办公网,核心区,所以打办公网的话需要用DMZ区的流量转发到window上,想打核心区的话还得转发一次,把办公网里的流量转发到DMZ区,然后再把DMZ区的流量转发到windows攻击机上

因为服务器不够展示了,所以采用了用花生壳穿透本地内网,这样本地就直接有公网ip了,省了一台服务器,因为之前用vps中间代理是因为本地windows机器没有公网ip,所以用vps搭socks代理然后windows机连vps上的socks代理,现在windows本地就能连接,所以就可以直接在本地起chisel.exe server,连127.0.0.1上的socks代理了。

花生壳怎么用可以看无公网ip反弹shell

配置了之后连接8023826v9d.imdo.co:59775就相当于连接本地的127.0.0.1:1234

这里我在ctfshow上开了一个靶机,ip是124.223.158.81,然后用了自己的一台华为云vps

在vps上开启监听

./chisel server -p 10000 --reverse

然后在ctfshow的靶机上运行,这里相当于用ctfshow的靶机直接正向连接到了vps上

./chisel client VPS:10000 R:9100:socks

这两步弄完ctfshow靶机的流量已经转发到了vps的9100端口上,然后我们需要再把vps上9100端口的流量转发到windows机器上,window上开启监听:

chisel.exe server -p 1234 --reverse

再继续在vps运行命令

./chisel client 8023826v9d.imdo.co:59775 8100:127.0.0.1:9100 R:8100:socks

这句命令的意思是,首先client 8023826v9d.imdo.co:59775和R:8100:socks很好理解,就是连接8023826v9d.imdo.co:59775然后在windows机器的8100端口上建立socks隧道,中间那一句8100:127.0.0.1:9100的意思是把vps上9100端口的流量转发到windows机器的8100端口上,这样8100端口socks流量就是ctfshow靶机的流量了

然后本地配一下socks代理

最后获取的ip就是ctfshow靶机的ip(VPS是华为云的,这个腾讯服务器的ip是ctfshow靶机的)

当然蚁剑这里也看的出来

总结一下:

windows上运行:

chisel.exe server -p 1234 --reverse   (command 1)

VPS上运行:

./chisel server -p 10000 --reverse (command 2)
./chisel client 8023826v9d.imdo.co:59775(即windows_ip:1234) 8100:127.0.0.1:9100 R:8100:socks (command 3)

ctfshow靶机上运行:

./chisel client VPS:10000 R:9100:socks (command 4)

补充一个小知识点,./chisel client VPS:10000 R:9100:socks和./chisel client VPS:10000 R:0.0.0.0:9100:socks其实是一样的,所以这里如果有核心区过了还有更深层的内网区,比如巅峰极客那样的拓扑图,用这几个命令是可以无限套娃,建立无限的代理层的。

回顾一下,这里我们用command 4+command2让ctfshow靶机的流量转发到了VPS,然后用command2+command1实现了把ctfshow的靶机转发到本地的流量又转发到了windows机器上,如果ctfshow靶机的流量过了之后还有流量应该怎么转发呢,其实也就是把VPS上运行的命令在ctfshow靶机上重复一遍,命令应该是:

windows上运行:

chisel.exe server -p 1234 --reverse

VPS上运行:

./chisel server -p 10000 --reverse
./chisel client 8023826v9d.imdo.co:59775(即windows_ip:1234) 8100:127.0.0.1:9100 R:8100:socks

ctfshow靶机上运行:

./chisel server -p 10000 --reverse
./chisel client VPS:10000 9100:127.0.0.1:9200 R:9100:socks

更深入的内网区服务器:

./chisel client ctfshow_ip:10000 R:9200:socks

同学们都学会了吗?

利用Stowaway搭建网络代理

yulate哥哥推荐了个操作更简单的代理软件Stowaway https://github.com/ph4ntonn/Stowaway

单层代理

服务器端运行:

./linux_x64_admin -l 1234 -s 123

监听1234端口并且连接key为123

客户端运行:

./linux_x64_agent -c Server_ip:1234 -s 123 --reconnect 8

意思是用key123连接服务端8000端口,并且掉线时8s重连

连接成功后在服务器端运行

use 0
socks 6666

即可在6666端口建立代理

多层代理

控制端运行:

./linux_x64_admin -l 1234 -s 123

VPS1运行:

./linux_x64_agent -c 控制端ip:1234 -s 123 --reconnect 8

建立连接后在控制端运行:

use 0
listen
1
1234

相当于在VPS1上建立了一个监听1234端口的连接

然后用VPS2连接VPS1的1234端口

./linux_x64_agent -c VPS1:1234 -s 123 --reconnect 8

过一会儿会在控制端看见新节点node 1加入,这个就是经过VPS1代理的VPS2,选择use 1,socks 6666即可在控制端6666端口建立socks5代理

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇