最近队里面新增了一批设备,队长说能不能在ctf线下赛的时候带树莓派过去,把内网转发出来,这个想法非常好噻,他认为我是学网工的,就把这个光荣的任务交给了我(手动滑稽,,,,,)
需要的设备,一个流量很多的手机用来开热点,一个具有无限网卡的树莓派
解释一下原理,树莓派插上主办方给的网线并且连接到手机的无线热点后就同时连接了外网和内网了,我们只需要做两件事情,将树莓派内部的无线和有线网卡之间的界限打通,然后将内网转发出来,搞定。
首先解决第一个问题 打通树莓派内部的网络
1.打开内核的网卡转发能力,将/etc/sysctl.conf中的
net.ipv4.ip_forward=1注释去掉
sysctl –p
2.利用iptables进行防火墙配置,启用NAT
嗯,,iptables真是一个好东西,需要深入学习,,这话已经第n便说了上图
上面配置的规则,系统重启后会还原,要永久生效就执行service iptables save
我们完成一半了
接下来解决内网转发的问题,这个可以借鉴平时渗透的经验,因为比赛用的服务器是在内网,我们的大佬也是处在内网,所以,我们直接上ew啦啦啦
在vps上运行命令:./ew_for_linux64 -s rcsocks -l 1080 -e 1024 &
在树莓派上运行:./ew_for_arm32 -s rssocks -d 120.xxx.xxx.xx -e 1024
这里有个小坑,树莓派得用arm32的,,,
让队长电脑设置好socks5代理 搞定
唯一一点比较遗憾的就是,,,,,速度真的好慢,,,这是为什么,,,搞不懂哪里的网速除了问题,打算下一次使用http代理,不整个把内网全部转发出去,只要能让场外人员访问到场内的80 端口就好了,计划用ssh
第二天的更新 发现自己too young too simple,,,前方还有一个巨大的坑,,
先说一下思路:
我们就是想 打ctf线下赛的时候把内网转发出来 只转发个80端口到公网 可以带个树莓派过去,既可以连内网,又可以无线连接手机热点 所以先在树莓派本地开启了路由转发,然后 ssh 把内网的80转发到本地80 然后再在树莓派上 做了一个远程端口转发 把本地80转发到vps的8087 再去vps上做一个本地端口转发 监听8086端口 转发到8087 这样 队友访问vps的8086 就可以访问到内网的web服务了 实现是实现了 but,,,速度好慢啊啊啊啊啊啊啊
好了,我们具体说一下实现的过程吧
1.在树莓派以及vps上开启ssh服务 并且登陆设置要设置好 具体文件在 /etc/ssh/sshd_config中
2.在树莓派上的设置
要开启树莓派的路由功能,这个我试过了,没有iptables也可以,但是需要开启路由
运行命令:上图
解释一下,第一个是将内网的web服务转发到自己主机的80端口
第二条是远程ssh,将自己主机的80转发到远程vps的8087
3.vps上的设置 上图
这个命令是ssh本地端口转发,将本机的8087转发到8086,也就是监听8086,将过来的请求转发到本机8087上
大功告成了,我们来访问一下吧,成功是成功了,上图
But,,,是我等了两分钟后才出来的(我们直接用的路由器的web界面,偷个懒)
我尝试了解决很慢的这个问题,用我的电脑ping VPS 挺快的,用树莓派ping也挺快的,树莓派ping内网,更快,但是但是但是,就在我一边发送http请求,一边ping树莓派的时候,延迟达到了1000多ms,绕地球十圈都不止,,,所以,,我怀疑是阿里VPS配置太低了麽?希望有人能帮我解决一下,不过还好,比之前用ew做转发快了一些,可是,还是不能在实际中使用,安慰自己一下,毕竟实现了(嘻嘻嘻),我要好好去学ssh了~~
这里还遇到个问题,我尝试在VPS上用iptables做本地的端口转发,发现根本无效,真让人头大!!!这降低了iptables在我心中高大的形象,,好吧,也许我根本不会用(手动滑稽,嘻嘻)