端口转发&代理学习

Posted rainsw0rd

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了端口转发&代理学习相关的知识,希望对你有一定的参考价值。

假设三台机器:

1、192.168.1.1

2、192.168.1.2

3、192.168.1.3

ssh端口转发(需要知道ssh密码)

2号机做正向代理

在1上运行如下命令,让1的1234端口与2的22端口相连。

ssh -D localport user@sshhost//动态转发
ssh -2 -D 1234 root2@192.168.1.2

这里举个例子

ssh -2 -D 1234 root@104.129.xxx.xxx

我这里直接连接我的VPS,然后给浏览器挂上1234端口的s5代理,就可以访问外网了。

如果渗透过程中,让2做代理,就可以直接攻击其他2可以访问的内网机器了。

使用命令行工具则用proxychains代理

vi /etc/proxychains.conf
添加 socks5 127.0.0.1 1234
proxychains nmap -Pn -sN 192.168.1.0/24
proxychains nmap -iL 1.txt

然后我们也可以只转发3号机的一个端口,这个时候本机的1234端口就等于是3号机的80端口了。

在1号机运行。

ssh -L LocalPort:remoteHost:remotePort user@sshHost
ssh -L 1234:192.168.1.3:80 root2@192.168.1.2

2号机做反向代理

在2号机运行。这里sshhost就可以直接在本地访问Rhost:Rport,即1号机本地4321即是3号机80端口。

ssh -R LocalPort:remoteHost:remotePort user@sshHost
ssh -R 4321:192.168.1.3:80 root1@192.168.1.1

这里又举个栗子

ssh -R 8888:192.168.43.132:80 root@104.129.xxx.xxx

这样我成功让外网的VPS可以直接在他的8888端口访问我内网主机可访问的另一主机192.168.43.132的80端口。

多级代理

ssh -R 4321:127.0.0.1:1234 root@192.168.1.1  //1:4321=2:1234
ssh -2 -D 1234 msfadmin@192.168.1.3          //2:1234=3

EarthWorm

1. 正向 SOCKS v5 服务器

  $ ./ew -s ssocksd -l 1080

2. 反弹 SOCKS v5 服务器

这个操作具体分两步: a) 先在一台具有公网 ip 的主机A上运行以下命令:

  $ ./ew -s rcsocks -l 1080 -e 8888 

b) 在目标主机B上启动 SOCKS v5 服务 并反弹到公网主机的 8888端口

  $ ./ew -s rssocks -d 1.1.1.1 -e 8888 

具体使用可见 https://www.cnblogs.com/0nth3way/p/11693188.html 有各种情况代理使用的具体分析。

Termite

earthworm的开发者还开发了一个复杂网络环境的管理工具Termite,也带转发功能,且更容易配置。
使用见: https://www.jianshu.com/p/318e54006c8c

msf添加路由

run get_local_subnets
run post/multi/manage/autoroute
run autoroute -p
background
use auxiliary/server/socks4a

以上是关于端口转发&代理学习的主要内容,如果未能解决你的问题,请参考以下文章

红蓝对抗之隧道技术第一篇(内网穿透端口映射&端口转发Netsh端口转发CS正反向连接多层内网Burp设置上游代理访问内网MSF protfwd端口转发/重定向)

利用nginx的stream模块实现内网端口的转发代理

内网代理转发工具

NodeJS编写简单TCP/UDP端口代理转发服务

远程端口转发或代理转发

nginx1.9+做TCP代理(端口转发)