Ghidra 逆向工程实战:看看 macOS 恶意软件动了什么手脚
内容提要
本文介绍了逆向工程和Ghidra工具,逆向工程是通过分析已编译的软件程序来了解其内部逻辑,Ghidra是一款由美国国家安全局开发的逆向工程工具。文章还介绍了一种伪装成DMG文件的恶意软件,通过执行恶意行为来危害用户的计算机。最后,作者使用Ghidra工具对恶意软件进行了逆向分析,揭示了其内部逻辑和恶意行为。
延伸解读
恶意软件如何隐藏与执行
该恶意软件通过十六进制编码隐藏其核心恶意命令,运行时使用hex_decode函数解码,再通过_system执行。这种手法增加了静态分析的难度,但逆向工程中识别解码函数是关键。此外,恶意软件会关闭终端窗口以隐藏活动,体现了其反侦察意识。
数据窃取的具体目标
恶意软件收集的信息非常广泛,包括系统软硬件信息、多种加密货币钱包数据、Safari和Chromium系列浏览器的Cookies及登录数据、Firefox用户数据、Apple备忘录数据库、桌面和文档文件,甚至尝试提取系统密码和登录钥匙串。这些数据最终被压缩并发送到远程服务器。
Ghidra在逆向分析中的角色
Ghidra提供了反汇编、反编译、程序树、符号树等视图,帮助分析者理解二进制文件的结构和逻辑。通过识别入口点函数和重命名混淆的函数,可以逐步梳理恶意软件的行为流程。其开源免费的特性降低了逆向工程的门槛。
用户防护建议
文章通过实际案例提醒用户,不要随意点击不明链接或下载来源不明的文件,尤其是伪装成正常软件的DMG文件。一旦执行,恶意软件可能窃取敏感信息并发送给攻击者。保持警惕和及时更新系统是基本的防护措施。
Q&A
什么是逆向工程?
逆向工程是通过分析已编译的软件程序来了解其内部逻辑的过程。
Ghidra是什么?
Ghidra是由美国国家安全局开发的开源逆向工程工具,支持多种处理器架构,且免费使用。
恶意软件是如何伪装的?
恶意软件伪装成DMG格式文件,用户点击后会被激活并执行恶意行为。
如何使用Ghidra分析恶意软件?
使用Ghidra时,首先创建新项目并导入恶意软件文件,然后利用其多种视图窗口分析软件的结构和功能。
恶意软件的核心行为是什么?
恶意软件的核心行为是通过十六进制编码隐藏其真实意图,收集用户的系统信息、密码和浏览器数据,并发送到攻击者的服务器。
用户如何防范恶意软件?
用户应保持警惕,避免点击不明链接或下载未知文件,以防恶意软件攻击。