Bootstrap

kali端口转发实现渗透互联网安卓设备(端口转发和端口映射的区别)

之前的渗透一直都是局域网的安卓设备,其实也就是利用tcp协议,把kali的ip当作服务端,但是如果安卓设备不在一个局域网内该如何实现呢?
这时候就需要进行端口转发了

一,端口转发和端口映射的区别

端口转发:
将本机被访问的端口转为访问另外一个机器的端口,即访问公网端口->访问内网端口
在这里插入图片描述
端口映射:
将内网某个端口隐射到公网,即访问公网的这个端口=访问内网端口
在这里插入图片描述
因为端口映射是双向的,当把这个端口映射到公网,在内网就不能再使用这个端口,因此需要进行端口转发

Ngrok实现端口转发

你可以在这里使用免费的ngrok服务器:
sunny 官网
下载自己系统对应版本并安装

如果你有域名和服务器可以跟着我使用自己服务器进行搭建:
在linux服务器:
1,安装go语言

sudo apt-get install golang

2,下载ngrok到主机


cd /usr/local
mkdir ngrok
cd ngrok
git clone https://github.com/inconshreveable/ngrok.git

3. 更改ngrok域名

export GOPATH=/usr/local/ngrok/
export NGROK_DOMAIN="ngrok.yourdomain.com"

4,为域名生成证书
执行这几个命令一定要进入ngrok的目录

openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=$NGROK_DOMAIN" -days 5000 -out rootCA.pem
openssl genrsa -out server.key 2048
openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csr
openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 5000

会生成六个证书

5. 拷贝证书到指定位置

cp rootCA.pem assets/client/tls/ngrokroot.crt
cp server.crt assets/server/tls/snakeoil.crt
cp server.key assets/server/tls/snakeoil.key

6. 编译

make release-server release-client
GOOS=windows GOARCH=amd64 make release-client

如果编译遇到: gopkg.in/yaml.v1
一直没反应
在这里下载压缩包:https://github.com/go-yaml/yaml/tree/v1
在src 目录下 创建 gopkg.in 目录 把yaml 重命名为yaml.v1 ,然后在重新执行命令
编译好的文件在 bin文件夹下:
在这里插入图片描述
第一句会编译好server,即 ngrokd,还有一个linux的客户端 ngrok。第二句编译windows平台

7,运行server
这里tlsKey tlsCrt分别指定刚才生成的key

./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="weixin.yangjiace.xyz" -httpAddr=":80" -httpsAddr=":443"

8,运行客户端
建立ngrok配置文件:ngrok.cfg

server_addr: “ngrok.morongs.com:4443"
trust_host_root_certs: false

server_addr端口默认4443,可通过ngrokd服务端启动修改端口

运行客户端,暴露本地6666端口站点:

$ ./ngrok -config=ngrok.cfg -proto=tcp 6666

如下界面运行成功:
在这里插入图片描述

;