Linux 恶意 ELF 文件分析全攻略
1. 嵌入式工件提取再探
在成功执行恶意代码样本、进行进程内存轨迹分析或从物理内存中提取可执行文件后,需要重新检查样本以查找嵌入式工件。重新审视未混淆的程序,查看字符串、符号信息、文件元数据和 ELF 结构细节。通过比较文件执行前后的状态,能更清晰地了解程序的结构、内容和功能。
例如,使用strings packed_sysfile |more命令可以提取打包的 ELF 可执行文件中的字符串,从中可能发现如“Linux”“UPX!”等关键信息,这表明文件可能使用了 UPX 可执行文件打包器。
lab@MalwareLab:~/home/malwarelab/Malware Repository$ strings packed_sysfile |more >;a_/m =G't A g$ ... Linux UPX!g UPX! $Info: This file is packed with the UPX executable packer http://upx.sf.net $ $Id: UPX 2.01 Copyright (C) 1996 - 2006 the UPX Team. All Rights Reserved. $ UPX!u UPX!2. 可执行与可链接格式(ELF)概述
ELF 是一种二进制文件格式,最初由 UNIX 系统实验室(USL)开发并发布,作为应用二进制接口的一部分,后来被工具接口标准(TIS)委员会采用和发布,用于取代灵活性较差的前身格式,如 a.