[Linux] SSH内网转发

有这样一个场景:
kali 内网虚拟机
CentOS7.3 阿里云外网机
本机win7 模拟受害者

11月份有爆出过Office的一个关于公式编辑器的漏洞(CVE-2017-11882),参考复现过程可以参考我的另一篇文章,通常为了验证漏洞,我们会在本地测试该漏洞是否确实可以利用。
我们在虚拟机测试的环境局限于内网,如果我想发给外网的一个朋友,他打开这个word文档,我就可以在kali机获取到一个session。

大致流程:
1.我们事先生成恶意word文档,并在kali下打开msf,监听4444端口,等待传入的连接
2.在kali机运行ssh反向连接4444端口到外网的一台阿里云机器1111端口
3.把恶意word文档发给朋友,朋友打开以后触发漏洞,会主动连接阿里云机器的1111端口,然后阿里云机器转发到内网kali的4444端口
4.kali接收到传入的连接,自动建立起了一个session,然后我们就可以session -i ID对朋友主机进行shell命令执行、屏幕截图、键盘记录等操作了

选项:

-R 1111(外网主机端口):localhost:80(本机80端口) [email protected]外网主机

-L 本地的ssh连接
-R 反向的ssh连接
-N 只连接远程主机,不打开shell
-f SSH连接成功后转入后台运行
-T 不为这个连接分配TTY

反向连接在建立之后只能使用kill命令来杀掉进程PID。

举例:
[email protected]:~# systemctr start nginx #先启动一个80端口的nginx测试,没有的话apt-get install nginx安装
[email protected]:~# sudo ssh -NfR 1111:localhost:80 [email protected] -p 22  #ssh反向连接
[email protected]‘s password: #输入密码

#在阿里云机器就会看到一个由sshd监听在1111端口的连接
[[email protected] ~]# netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1123/sshd
tcp 0 0 0.0.0.0:1111 0.0.0.0:* LISTEN 1918/sshd: root

现在在我们真实机器上访问 47.95.xxx.xxx:1111端口,就会访问到kali虚拟机内的nginx服务
http://47.95.xxx.xxx:1111

原文地址:https://www.cnblogs.com/i-honey/p/8157409.html

时间: 2024-10-29 19:05:40

[Linux] SSH内网转发的相关文章

Linux渗透+SSH内网转发

http://www.jb51.net/hack/58514.html http://blog.chinaunix.net/uid-756931-id-353243.html http://blog.163.com/czg_e/blog/static/46104561201552423342331?ignoreua http://www.noah.org/wiki/SSH_tunnel http://www.myhack58.com/Article/60/63/2013/38396_3.htm

SSH 内网端口转发实战

导读 大家都知道SSH是一种安全的传输协议,用在连接服务器上比较多.不过其实除了这个功能,它的隧道转发功能更是吸引人. 如果两个内网之间的linux服务器需要互相登录,或需要互相访问内网某个端口,担忧没有公网IP,可以使用的方法有ngrok(https://ngrok.com/),但并不方便,我们只需两条 SSH 命令即可. 先给出本文主角,两条SSH命令: 远程端口转发(由远程服务器某个端口转发到本地内网服务器端口) ssh   -CfNg  -R(命令行的关键)   2222(远程服务器端口

Tunna内网转发

使用方法: 上传源码包中文件夹webshell下的脚本至网站目录,然后本地进行连接上传的webshell即可 python proxy.py -u http://172.0.0.1/conn.php -l 1234 -r 3389 -v 这样就转发了webshell所在主机的3389到你本地的1234上,本地直接远程127.0.0.1:1234即可 python proxy.py -u http://172.0.0.1/conn.php -l 1234 -a 172.0.0.2 -r 3389

golang爬坑:一个简单的http内网转发

最近有一个需求,就是需要从内网服务器的一个端口请求数据,问题是这个内网端口不能被外网访问到,所以需要做一个转发代理服务.原理就是当请求到达时,将本机的地址替换成目标地址,然后其他格式不变,待目标请求返回后,又将目标的报文头及报文返回给客户端.具体代码如下: func main() { localHost := "127.0.0.1:9001" targetHost := "127.0.0.1:8001" httpsServer(localHost, targetHo

lcx.exe内网转发命令教程 + LCX免杀下载

作者: 小健 本机: lcx -listen 2222 3333 2222为转发端口,3333为本机任意未被占用的端口 肉鸡:lcx -slave 119.75.217.56 2222 127.0.0.1 3389 119.75.217.56 为本机IP,2222为转发端口,127.0.0.1为肉鸡内网IP,3389为远程终端端口 3389连接时格式 127.0.0.1:3333 今天刚刚第一次使用,特此共享! 另外提供我的免杀lcx.exe 提供给大家下载. 下载是:http://www.xi

解决linux下内网域名的ping结果和nslookup结果不一致

今天在linux服务器下遇到一个奇怪的问题:内网域名的ping结果居然和nslookup结果不一致,特将解决过程记录如下. 确认/etc/resolv.conf配置是否正确:没问题: 确认/etc/hosts中是否添加了额外域名:没问题: 确认域名服务器中正确的内网域名对应的IP,并和同事确认发现内网域名更新过,ping的结果指向了旧的IP,nslookup的解析结果正确: 确认本地域名缓存服务nscd状态:处于运行中,重启没有解决问题,看起来缓存还是很顽固的: # service nscd s

Linux 下内网流量控制工具

CentOS-TC(流量控制) 单IP限制下载命令: tc qdisc add dev eth1 root handle 1: htb r2q 1 tc class add dev eth1 parent 1: classid 1:1 htb rate 1800kbit burst 10k tc filter add dev eth1 parent 1: protocol ip prio 16 u32 match ip dst 192.168.0.131 flowid 1:1 查看TC的状态 t

Linux anaconda 内网 安装 卸载

安装并不难, 官网介绍的很清楚, 但每次到官网找安装方法不方便,我总结了本文(很全) 官网下载Linux版anaconda, 地址https://www.anaconda.com/download/#linux(建议不要安装Miniconda, 万一不够用了, 还得重装) 安装目录选择: 一般自己装的工具安装在/usr/local/目录下, 但是anaconda比较大, 再加上以后的虚拟环境, 可能超过10个G, 建议安装目录: /var/local/ 如果没有就创建: mkdir -p /va

Linux检测内网在线的主机

方法一:写一个shell脚本,循环ping网段内的每一个ip 编辑并保存getAllHosts.sh脚本,内容是: #!/bin/bash NETWORK=$1 for HOST in $(seq 1 254) do ping -c 1 -w 1 $NETWORK.$HOST &>/dev/null && result=0 || result=1 if [ "$result" == 0 ];then echo -e "\033[32;1m$NET