一、准备工作
需要三台机器,去哦这里准备的是win7(目标主机),kali(攻击者),红帽(跳板)
攻击机(kali):192.168.10.15
跳板机(红帽):192.168.10.13
跳板机内网(红帽):192.168.11.1
目标靶机(内网win7)192.168.11.20
kali是外网的一台攻击者,win7在内网,而红帽在win7和kali的中间,也就是右手连接着外网(kali),左手连接着内网(win7)。
操作流程就是
一.调好网络,kali能ping通红帽,但ping不通内网的win7和红帽的内网网段
红帽能ping通所有
win7能和红帽ping,至于和kali,按理说win7应该可以kali,但是我设置的不行
二.方法展示
方法1(proxychains4)
kali监听连接红帽,然后通过proxychains4这个代理去建立一个和win7的专属通道,我们访问win7的80端口为结果进行演示。这就需要我们搭建网站,我是用的phpstudy。这个自己先摆弄一下吧。
方法2(frp)
现在已经是2个月以后了,现在补充。还是3台靶机(攻击机:kali,跳板机:kali克隆,目标靶机:ubuntu),先说大概思路,回来具体演示。
kali当frp服务器,kali克隆当客户端,客户端在配置文件里设置好自己开放的服务端口,客户端主动利用服务器开放自己的内网(全程ubuntu配好网络后就不用动),这时候,攻击机kali可以通过socks5搭建的隧道,使用proxychains连接访问。windows也可以通过远程端口访问内网了。
二、网络配置
这是我vmnet1的配置
vmnet8的设置
kali的ip192.168.10.5
红帽的192.168.10.13
和192.168.11.1
注意我的另一个网卡叫37,所以我这里的网卡是ens37,ifconfig去查看,是谁写谁
这个配置文件时cp的ens33的,原来是没有的,自己弄
systemctl restart network
win7的
win7,去找网络适配器配置网络
配置完成后再cmd里输入ipconfig /release和ipconfig /renew
关闭红帽的路由转发
vim /proc/sys/net/ipv4/ip_forward
0就是没开路由转发功能
关闭红帽防火墙
setenforce 0
systemctl stop firewalld
关闭win7的防火墙
三、开始实施
方法一(proxychains4)
kali上查询一些路由, 只有本地的192.168.10.0段的,172.17.0.0不知道是什么,反正没有192.168.11.0网段的
route -n
监听端口4444
攻击机上输入
ssh -CfNg -D 4444 root@192.168.10.13(与攻击机同一网段的跳板机的地址)
C表示压缩数据传输
f表示后台用户验证,这个选项很有用,没有shell的不可登陆账号也能使用.
N表示不执行脚本或命令
g表示允许远程主机连接转发端口
netstat -pantu | grep 4444
如果有进程用kill+进程号(比如kill 60529)就能杀死进程了
vim /etc/proxychains4.conf 或者!!!!
vim /etc/proxychains.conf
socks5 127.0.0.1 4444
为什么我用的socks5呢,因为我这边比赛要求用,你可以用socks4
保存退出
proxychains4 firefox 192.168.11.20:80
输入这条命令阔以出现win7的80服务,我win7上下载的小皮,默认的网站我设置的4个1111
成功
方法二(frp)
frp下载不能用apt,反正我不行,我上网下载的压缩包,自己安装的,具体阔以参考这位博主
wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz
下载后解压
我没解压成功,图形化解压,让后放进去的。
现在重新整理一下我们的网络
攻击机(kali):10.10.10.130
跳板机(kali克隆):10.10.10.128
跳板机内网(kali克隆):192.168.10.34
目标靶机(内网ubuntu):192.168.10.22
kali和kali克隆之间是vmnet1
kali克隆和ubuntu之间是net
这样更方便,kali可以pingkali克隆,但是访问不了ubuntu
ubuntu和kali克隆可以访问所有靶机
相当于投机取巧了,但是符合环境要求
kali和kali克隆上使用
wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_amd64.tar.gz
下载好解压
kali(攻击机)当服务器,修改配置文件frps.ini,不用动
这个就是一会连接服务器的端口,默认7000就行
kali克隆(跳板机)当客户端,修改frpc.ini,注意是frpc
[common]
server_addr = 10.10.10.130
server_port = 7000[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000#[web]
#type = http
#local_ip = 127.0.0.1
#local_port = 80
#subdomain = test.hijk.pw # web域名
#remote_port = 8082[socks5]
type=tcp
remote_port=4444
plugin=socks5[redis]
type=tcp
local_ip=127.0.0.1
local_port=6379
remote_port=6666
下面是我需要的服务,我单独拿出来一个进行说明
[ssh]
type = tcp tcp连接,不多说
local_ip = 127.0.0.1 映射到本地
local_port = 22 的22号端口
remote_port = 6000 如果要远程访问的话,,只需要访问服务器的6000端口就行
这个必须有哦,这个是搭隧道用的
[socks5]
type=tcp
remote_port=4444
plugin=socks5
sudo mkdir -p /etc/frp
sudo cp frps.ini /etc/frp
sudo cp frps /usr/bin
sudo cp systemd/frps.service /usr/lib/systemd/system/
sudo systemctl enable frps
sudo systemctl start frps
以上我忘记我是用了没有,当时参考的是这篇文章
frp配置内网穿透教程(超详细)-腾讯云开发者社区-腾讯云 (tencent.com)
应该用了,你也用一下,注意你的路径,他的其他不用看了
kali靶机上使用
./frpc -c frpc.ini
注意用你的路径
黄色部分是我之前配置文件redis端口6000和ssh写重复了
然后kali这边有两种使用方法,前提是socks5搭建好
1.使用proxychain
在kali攻击机上
vim /etc/proxychains.conf
在终端使用
proxychains firefox 192.168.10.22:80
攻击机(kali):10.10.10.130
跳板机(kali克隆):10.10.10.128
跳板机内网(kali克隆):192.168.10.34
目标靶机(内网ubuntu):192.168.10.22
成功,这相当于使用frp搭建的socks5,然后使用proxychains代理访问到了内网,和方法1差不多
2.直接来使用远程端口
这才是frp的真正使用方法
前提:跳板机、攻击机和ubuntu都允许ssh
我们用直接访问服务器的6000端口
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
windows上使用:ssh root@10.10.10.130 -p 6000
攻击机(kali):10.10.10.130
跳板机(kali克隆):10.10.10.128
跳板机内网(kali克隆):192.168.10.34
目标靶机(内网ubuntu):192.168.10.22
这时候我没就使用ssh登陆到了跳板机上,我想表示的是,用服务器上的端口6000,却访问到了跳板机,演示了frp的功能。