Pegasus:史上最危险的手机间谍软件 具备自毁功能

4月7日讯 Pegasus是一款智能手机间谍软件,由以色列监控公司NSO Group开发。Pegasus被认为是目前为止最危险的间谍软件之一。2016年8月,Pegasus软件对iPhone设备实施攻击。Pegasus利用3个当时未被发现的iOS系统“0day”漏洞实施间谍活动。

现在,谷歌和网络安全公司Lookout发现安卓版的Pegasus间谍软件,旨在利用运行安卓系统的安卓设备。谷歌最初于2016年底发现安卓版Pegasus的蛛丝马迹,当时整个14亿台安卓设备中只有少量被Pegasus感染。

与iPhone版本一样,安卓版Pegasus包含高度复杂和先进的功能,其可以通过短信息控制,并具有自毁功能。此外,它还能抓取大量通信数据、WhatsApp通话和消息记录、以及来自Gmail、Facebook、Skype和Twitter等有价值的数据。除此之外,它还能控制设备的摄像头和麦克风,并记录键盘,捕获截图。谷歌认为,尽管Pegasus具备先进的功能,但安卓版的Pegasus从未进入官方Google Play Store。

Pegasus的完整功能如下:

记录键盘

捕获截图

捕获实时音频

通过短信远程控制这款恶意软件

传送来自常用应用程序(包括WhatsApp、Skype、Facebook、Twitter、Viber和Kakao)的数据渗漏

渗漏浏览器历史

渗漏来自安卓Native Email客户端的电子邮件

联系人和短信

因具备自毁功能,Pegasus隐藏身份长达三年之久,而不被发现。Lookout的移动安全研究员Michael Flossman表示,这款恶意软件感觉自己快被发现时会立即自行删除,这也是为什么研究人员花了如此长的时间才发现该软件样本的原因。然而,谷歌和Lookout指出,虽然样本是2014年的,但仍能有力证明这款间谍软件在安卓手机上运行。

iPhone版Pegasus检测到越狱后会自行删除,但安卓版的Pegasus在发现自己在特定时间内无法连接到命令与控制(C2)服务器时,或感觉自己会被检测到时,就会自行删除。

Pegasus通过短信传播Flossman认为,安卓版与iPhone版的Pegasus传播方式相同,都是通过短信传播。

Flossman解释称,这款监控软件中包含的各种漏洞利用会尝试在安装后运行。即使这些漏洞利用在目标设备做了修补,Pegasus仍能运行,只是功能会减少。

目前,调查人员尚不确定,安卓版Pegasus是否使用了0day漏洞利用设备。据称,Framaroot技术被用来获取设备权限(Root)。这种技术使用以《魔戒》角色命令的漏洞利用,并允许攻击者完全控制操作系统。

谷歌研究人员分析指出,大多数目标位于以色列。然而也有报告指出,格鲁吉亚、阿联酋、土耳其和墨西哥的用户也是Pegasus的目标。

值得注意的是,对于这款间谍软件还能够监听WhatsApp通话和消息记录。近期,在英国发生的恐怖袭击事件一时间让WhatsApp颇受争议,而被英国“封杀”,英国内政大臣甚至与Facebook、谷歌、微软和Twitter会面就加密问题在这方面都没有任何进展。这也证明,未来技术终将制约技术。

本文转自d1net(转载)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
自毁程序是一些电脑高手编写的可执行代码,没有现成的。我给个代码你看一下,如果你能看懂就可以用了。面的代码由Gary Nebbett写就.Gary Nebbett乃是WINDOWS NT/2000 NATIVE API REFERENCE的作者.乃NT系统一等一的高手.下面就分析一些他的这段代码. 这段代码在PROCESS没有结束前就将启动PROCESS的EXE文件删除了. int main(int argc, char *argv[]) { HMODULE module = GetModuleHandle(0); CHAR buf[MAX_PATH]; GetModuleFileName(module, buf, sizeof buf); CloseHandle(HANDLE(4)); __asm { lea eax, buf push 0 push 0 push eax push ExitProcess push module push DeleteFile push UnmapViewOfFile ret } return 0; } 现在,我们先看一下堆栈中的东西 偏移 内容 24 0 20 0 16 offset buf 12 address of ExitProcess 8 module 4 address of DeleteFile 0 address of UnmapViewOfFile 调用RET返回到了UnmapViewOfFile,也就是栈里的偏移0所指的地方.当进入UnmapViewOfFile的流程时,栈里见到的是返回地址DeleteFile和HMODUL module.也就是说调用完毕后返回到了DeleteFile的入口地址.当返回到DeleteFile时,看到了ExitProcess的地址,也就是返回地址.和参数EAX,而EAX则是buffer.buffer存的是EXE的文件名.由GetModuleFileName(module, buf, sizeof buf)返回得到.执行了DeleteFile后,就返回到了ExitProcess的函数入口.并且参数为0而返回地址也是0.0是个非法地址.如果返回到地址0则会出错.而调用ExitProcess则应该不会返回. 这段代码的精妙之处在于: 1.如果有文件的HANDLE打开,文件删除就会失败,所以,CloseHandle(HANDLE(4));是十分巧妙的一手.HANDLE4是OS的硬编码,对应于EXE的IMAGE.在缺省情况下,OS假定没有任何调用会关闭IMAGE SECTION的HANDLE,而现在,该HANDLE被关闭了.删除文件就解除了文件对应的一个句柄. 2.由于UnmapViewOfFile解除了另外一个对应IMAGE的HANDLE,而且解除了IMAGE在内存的映射.所以,后面的任何代码都不可以引用IMAGE映射地址内的任何代码.否则就OS会报错.而现在的代码在UnmapViewOfFile后则刚好没有引用到任何IMAGE内的代码. 3.在ExitProcess之前,EXE文件就被删除了.也就是说,进程尚在,而主线程所在的EXE文件已经没了.(WINNT/9X都保护这些被映射到内存的WIN32 IMAGE不被删除.)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值