利用企业邮件系统构造命令控制(C&C)和数据窃取(Exfiltration)通道的思路探讨

本文通过对高度安全环境中,渗透入侵完成后,传统的基于Web和DNS管理控制目标系统不可行条件下,利用企业网页邮箱系统进行命令控制(C&C)和数据窃取(Exfiltration)的一种思路分享探讨。

假设场景

我们假设目标企业组织内设置了这样一种安全措施:

内部用户工作站电脑不能直接连接互联网,只能通过其中架设的代理服务器执行外部Web请求和DNS查询,而且代理服务器又设置了流量监控功能,由其产生的HTTP和DNS请求流量都能被监测发现。

由于从某种程度上来说,代理服务器“打破”了内部用户机与外部服务器之间点对点连接模式,包括HTTPS方式,所以像Domain fronting这种隐蔽攻击方式一样可以被监测到,所以只有一些白名单网站可以被放行通过。

这种环境下,企业的大部分内部服务器都被设置了联网限制,当然也就不存在服务暴露情况,因为所有企业相关网站或博客等服务可能都被部署在谷歌云存储平台,只有网站管理员以相应的企业社交网络账号从其它隔离的工作站电脑上登录进入管理面板,才能进行内容更新修改操作。

在这种场景下,传统的通过Web或DNS方式进行的C&C(命令控制)和数据窃取操作貌似不可行,此时,我们可以尝试使用另外一种奇技淫巧:利用企业网页邮件系统。

利用思路

如今,灵活便捷的企业邮箱登录是办公手段的必需,如果不考虑所有安全措施,抽象意义上来说,邮箱系统是所有内网环境(如员工电脑)和各式外网终端,如公司配发的具有邮箱登录入口APP的智能手机和平板、通过浏览器方式以IBM iNotes或Microsoft OWA访问登录的电脑等。

很多情况下,这种联网的企业网页邮件系统大多都不具备双因素认证(2FA)和VPN集中器等安全机制。而且,很多移动端APP都缺乏OAuth或“应用密码”等授权认证机制,只需用户名密码就可对接入系统进行直接登录配置。

因此,如果我们通过网络攻击方式或从一些泄露数据库中,获取到目标机构运行于互联网上的有效企业邮箱系统用户登录凭据(用户名/密码)后,可以藉此为突破口控制利用该企业用户电子邮箱,感染内网用户主机,渗透进入企业内网。

之后,针对我们植入的恶意软件,可以构造这样一种C&C通道:

C&C通道

在该企业用户电子邮箱的垃圾箱文件夹内设置特殊格式消息文件,恶意软件通过读取这种消息文件信息,执行我们的控制命令;

当然,也可以构造一种类似的数据窃取(exfiltration)通道:植入的恶意软件把从企业机构内部窃取的文档数据,上传存储到该企业用户电子邮箱的垃圾箱文件夹内(这些文档数据可以是加密或其它方式的存在)

之后,我们可以远程登录进入网页邮件系回收这些文档数据,并且可以不留痕迹地删除这些存储数据。

尽管技术上看似简单,但很难从所有合法网络流量中识别出C&C和Exfiltration方式流量。

例如,企业用户在19:00下班,我们可以在已经渗透控制的目标企业用户主机上,在18:30时刻(下班前繁忙的网络流量中很难被发觉是有规律的访问行为),通过植入木马把窃取文档数据上传至被控制电子邮箱的垃圾文件夹内,之后,在20:30时刻,通过Webmail或移动终端API回收窃取数据,因为该时段很难区分出到底是在员工家中还是企业手机端的访问行为。

由于我们不是把消息或数据发送到外部地址,而是通过邮箱自动发送或向特定文件夹内上传消息文件,所以,这种操作行为,在所有进出的SMTP流量中也很难被发现。另外,还可以通过其它手段来增加检测发现难度:当被渗透控制的企业用户主机启动邮箱客户端程序时,运行植入的恶意程序,通过企业内网非黑名单IP接入Webmail端,使用与目标企业机构相同的移动运营商、程序终端、操作系统或浏览器等。

概念性验证攻击展示

我们以IBM Lotus Notes邮件系统为例,作一个概念性验证展示。企业如果架设了IBM Lotus Notes邮件系统,则对企业内网用户来说,可以使用Notes的邮件客户端,而外网用户则可以通过Webmail方式或该邮件系统的IBM Verse移动APP终端进行访问。

另外,有意思的是,Lotus Notes还提供了对邮件客户端的邮件定制开发API,其中具有一个COM组件方法Notes.NotesSession,我们可以利用它来进行方法调用和定制语言选择。在这里,我们使用PowerShell脚本作为PoC验证。

在我们控制利用的企业用户电子邮箱中,包含可以定期执行我们控制命令的简单PowerShell脚本。我们向企业内网植入的恶意程序,将以预期任务、WMI或其它复杂技巧来请求这些脚本来实现命令控制。

在此,如果Notes邮件客户端正常运行的情况下,我们将只利用其COM组件方法来对邮件作一些定制调用,因为这样可以避免一些用户端的报警警告:

如果Notes邮件客户端没有运行,我们可以初始化COM组件,并打开默认配置的数据库和服务器:

之后,我们可以定义数据窃取Exfiltrate()方法,来存储窃取文档并上传到被控制利用的企业用户电子邮箱垃圾文件夹内:

在以上代码中,可以看到,我们通过实例化方法$db.createdocument()创建了一个新文档,并把文档附加第一个参数中,以$doc.save()方法进行保存,之后调用$doc.remove()方法把文件删除到电子邮箱的垃圾文件夹内(PS:如果我们不调用remove()方法,则新建文档将会存储在一个未知文件夹内,不会出现在收件箱内,只能通过选择“所有附件”按钮才能看到,这也算是另外一种隐蔽消息的方法)。

最终,可以构造形如以下的C&C命令脚本,让植入的恶意程序进行读取执行:

首先,我们打开$SoftDeletions方法查看Notes邮箱数据库,并以此方式调用电子邮箱的垃圾文件夹,以$trash.getfirstdocument()方法查看所有垃圾文件夹内的文件,如果其涉及主题为“powershell”字符串,我们将进一步读取其邮件主体信息,一旦执行完内置该Powershell的Payload之后,将调用$doc.removepermanently()方法进行永久删除。

实际利用

我们如何来操作这段简单的PoC呢?前提是我们获得了能登录Webmail端的企业员工有效用户名密码,并向企业内网某主机植入了窃取数据的恶意程序。攻击者从互联网登录进入该企业员工被控制利用的Webmail端,并以Powershell方式向其邮箱内自动发送消息邮件的大致方式如下:

该消息邮件被删除之后,进入邮箱垃圾文件夹:

我们植入的恶意程序在内网主机运行之后,可以设置其检索该邮箱垃圾文件夹内的以上Powershell消息邮件,通过读取该邮件体中内置的内容执行命令。如以上邮件消息中设置把窃取文件存储到c:\windows\temp\ps.txt文件内,并通过邮件上传附件实现exfiltrate方法的文档外传窃取。

当然,如果攻击者通过互联网方式登录进入Webmail端后,将会在邮箱垃圾文件夹发现以下存储的窃取文件:

我们可以看到,邮箱垃圾文件夹的该消息邮件,没有任何主题(subject)和来源(from)信息,并具有一个名为ps.txt的附件:

最终,攻击者只需简单地下载该文件并删除垃圾文件夹内信息,就能以这种“暗度陈仓”的方式实现C&C命令控制和数据窃取(Exfiltration)。以下为该过程中利用的完整Powershell脚本:

如果目标企业机构使用的是其它架构邮箱系统,如Microsoft (Exchange/Outlook/OWA)等,这其中相关的消息、收件箱、文件夹和命令等属性操作可以直接应用到植入的恶意程序配置内。

如何检测此类可疑行为?

对企业邮箱系统设置双因素认证机制;

监测邮箱内奇怪的附件信息,如PowerShell脚本、加密数据、混淆数据,监测对邮箱的异常访问和操作行为;

企业邮箱系统访问IP限制,如Tor、VPN、国家或黑名单等;

限制与企业移动运营商不同的其它移动运营商APP会话访问;

监测邮件自动消息发送行为;

监测识别企业用户主机登录访问企业邮箱行为……

本文分享自微信公众号 - FreeBuf(freebuf)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-04-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据和云

Linux系统被入侵后处理经历

春节将至,让安全伴你行。网络安全,从我做起,没有绝对的安全,只有尽可能减少攻击面,提供系统防护能。 背景 操作系统:Ubuntu12.04_x64 运行业务:公...

50070
来自专栏Java帮帮-微信公众号-技术文章全总结

Java微信支付【面试+工作】

Java微信支付【面试+工作】 微信支付文档上有刷卡支付,扫码支付,公众号支付,APP支付等各种支付手段。本次就微信内打开的网页支付为例子,用java进行实现一...

78550
来自专栏黑白安全

西门子 SIPROTEC、Reyrolle 设备曝高危漏洞,或致变电站等供电设施遭受攻击

近日, ICS-CERT 发布安全报告称西门子 SIPROTEC 4,SIPROTEC Compact 以及 Reyrolle 设备存在的三个漏洞可能会被黑客利...

13340
来自专栏菜鸟程序员

打开文档变肉鸡:潜伏17年的“噩梦公式”Office漏洞攻击分析

16230
来自专栏FreeBuf

DNS污染事件跟踪:为什么.cn和.org域名逃过一劫

关于中国境内用户访问.com 和.net 域名被解析到65.49.2.178 一事我又有新发现,我发现了为什么.cn 和.org 的域名没有受到影响指向65.4...

87260
来自专栏黑白安全

跨站点脚本(XSS)攻击

跨站点脚本(XSS)是一种常见的攻击媒介,可将恶意代码注入易受攻击的Web应用程序。XSS不同于其他网络攻击媒介(例如SQL注入),因为它不直接针对应用程序本身...

13110
来自专栏FreeBuf

玩转WiFi Pineapple之看我如何优雅的盗取CMCC账号

感谢趋势科技的欣姐给我寄了一个Pineapple,于是就自己摸索开始玩了起来,国内pineapple的资料不太多,于是去国外论坛去逛逛,渣渣英语不好看着甚是不舒...

675100
来自专栏Youngxj

初涉网络安全技术,这些专业术语你知道多少?

34640
来自专栏一场梦

初涉网络安全技术,这些专业术语你知道多少?

40520
来自专栏酷玩时刻

微信公众号开发之刷卡支付

刷卡支付接入模式可分为:商户后台接入(提供给别人使用类似第三方)和门店接入(自己使用);区别就是支付结果多分发一次。

38540

扫码关注云+社区

领取腾讯云代金券