strings是Linux下一个非常有用的工具,它可以提取文件中的可打印字符序列,对于恶意软件分析非常有用。以下是使用strings分析恶意软件的详细方法:
基本命令:
strings 可疑文件
指定最小字符串长度(默认是4):
strings -n 10 可疑文件 # 只显示长度≥10的字符串
查看所有编码格式的字符串:
strings -a 可疑文件
结合grep筛选关键信息:
strings 可疑文件 | grep -i "http"
strings 可疑文件 | grep -E "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"
查找可疑函数调用:
strings 可疑文件 | grep -E "(CreateProcess|ShellExecute|WinExec|system|popen)"
查找注册表操作:
strings 可疑文件 | grep -i "reg"
查找文件操作:
strings 可疑文件 | grep -E "(CreateFile|OpenFile|ReadFile|WriteFile)"
查找网络相关操作:
strings 可疑文件 | grep -E "(socket|connect|send|recv|gethostbyname)"
与radare2/cutter结合:
r2 -AAA 可疑文件
> iz # 在radare2中查看字符串
保存结果到文件:
strings 可疑文件 > strings_output.txt
使用floss提取混淆字符串(更高级的strings替代工具):
floss 可疑文件
通过系统性地使用strings工具并结合其他分析技术,可以有效地提取恶意软件中的关键信息,为进一步分析提供重要线索。