欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

被指向中国服务器提供数据,Mac App Store下架排名第一的付费安软

来源:本站整理 作者:佚名 时间:2018-09-11 TAG: 我要投稿
    0x10000cec5 6>: pushq  %r14
(lldb) po $rdi
0x1003797b0>
(lldb) x/s $rsi
0x10006a147: "hasAccessPremisionPath:"
(lldb) po $rdx
/Users/user
现在,Adware Doctor可以合法访问用户的文件和目录,例如扫描以查找恶意代码。但是,一旦用户点击允许,Adware Doctor将具备对所有用户文件的全部访问权限,它使用了多种收集系统和用户信息的方法。虽然某些(例如进程列表)可能确实是用于反恶意软件或反广告软件的操作,但其他用户信息(例如用户的浏览历史记录)违反了严格的Mac App Store规则。
收集方法在ACEAdwareCleaner类中实现,并命名为collect *:

逆向一下部分方法
首先是collectSample方法。此方法查询应用程序下载的数据库。看起来它用于寻找收集样本中指定的文件:
- (void)collectSample {
...
rbx = [r15 pattenDic];
r14 = [rbx valueForKey:@“sample”];
在调试器中跳过此代码,并检查示例键的未加密值:
(lldb)“/ Application / Adware Doctor.app”
...
po $ rax
_ NSArrayM 0x10732b5e0>(
NAME =`whoami`; echo /Users/"$NAME"/Library/LaunchAgents/com.apple.Yahoo.plist;

它正在用户的LaunchAgents目录中寻找名为com.apple.Yahoo.plist的文件。在搜索引擎中搜索“com.apple.Yahoo.plist”,跳出的信息与门罗币挖矿木马有关。在VirusTotal上可以找到相关文件,但看起来没问题:

collectPSCommonInfoToFile方法。反编译相关文件后得到了字符串和详细的方法名称,揭示了目的:
/* @class ACEAdwareCleaner */
-(void)collectPSCommonInfoToFile:(void *)arg2 {
    var_38 = [arg2 retain];
    r14 = [[NSMutableString alloc] init];
    [r14 appendString:@"===System===\n"];
    rbx = [[ACECommon operatingSystem] retain];
    [r14 appendFormat:@"%@\n"];
    [rbx release];
    [r14 appendString:@"===OS UpTime===\n"];
    rbx = [[ACECommon getSystemUpTime] retain];
    [r14 appendFormat:@"%@\n"];
    [rbx release];
    [r14 appendString:@"===Launch===\n"];
    rbx = [[self readLaunchFolder:@"/Library/LaunchAgents"] retain];
    [r14 appendFormat:@"%@\n"];
    [rbx release];
    rbx = [[self readLaunchFolder:@"/Library/LaunchDaemons"] retain];
    [r14 appendFormat:@"%@\n"];
    [rbx release];
    r15 = [[ACECommon realHomeDirectory] retain];
    r13 = [[NSString stringWithFormat:@"%@/Library/LaunchAgents", r15] retain];
    rbx = [[self readLaunchFolder:r13] retain];
    [r14 appendFormat:@"%@\n"];
    [rbx release];
    [r13 release];
    [r15 release];
    [r14 appendString:@"\n===Applications===\n"];
    rbx = [[ACECommon fileStringWithPath:@"/Applications"] retain];
    [r14 appendString:rbx];
    [rbx release];
    [r14 appendString:@"\n===process===\n"];
    rbx = [[ACECommon collectProcessList] retain];
    [r14 appendString:rbx];
    [rbx release];
    [r14 appendString:@"\n===process2===\n"];
    rbx = [[ACECommon collectProcessList2] retain];
    [r14 appendString:rbx];
    [rbx release];
    [r14 writeToFile:var_38 atomically:0x1 encoding:0x4 error:0x0];
    [var_38 release];
    [r14 release];
    return;
}
可以手动分析这些代码,但简单地让它执行并在下一行(靠近函数末尾)设置断点要简单得多:
(lldb)po $ rdx
/Users/user/Library/Containers/com.yelab.Browser-Sweeper/Data/Library/Application Support / com.yelab.Browser-Sweeper / history / psCommonInfo
请注意这个psCommonInfo也被exfilt到adscan.yelabapp.com(在history.zip文档中):
$ cat psCommonInfo
===System===
Version 10.13.6 (Build 17G65)
===OS UpTime===
1hour, 10minute, 31second
===Launch===
/Library/LaunchAgents/com.vmware.launchd.vmware-tools-userd.plist
444 root wheel
...
===Applications===
/Applications/DVD Player.app(1396-07-20 02:11:55 +0000)
/Applications/Siri.app(1396-07-27 03:17:13 +0000)
/Applications/QuickTime Player.app(1396-08-19 02:31:30 +0000)

上一页  [1] [2] [3] [4] [5] [6] [7]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载