探测木马地址常用指令(linux)

发布时间:2026/9/7 21:45:28
探测木马地址常用指令(linux) 1.在linux中使用sudotimeout75unshare-nstrace-f-qq-etrace%network-o/tmp/net.trace ./木马程序可以查看木马的回连地址2.如果是从 Wireshark 等工具中提取的、不带地址偏移的纯十六进制载荷使用-r -p参数组合# 从Hex文件输出为二进制文件 xxd -r -p packet.txt packet.bin3.用系统函数查看程序函数表readelf -S xx.exe可以预先给程序建档file xxx $ md5sum xxx $ sha256sum xxx不适用插件情况下识别各类语言的main函数入口的通用特征Go runtime.main 通用范式通用凡是 不变特征不管 Go 版本 1.17~1.26、是否 garble 混淆、普通程序 / 恶意样本下面这些行为序列永远不变变量地址、变量名、if 里面的数字每个样本都变不属于通用特征。【通用不变特征所有 Linux Go ELF】定位到runtime_mainGo 运行时主函数内部前面一大段GC 初始化、runtime_gcenable()、创建 / 关闭 channel、TLS__readfsqword(0xFFFFFFF8)、M/G 协程结构体初始化、cgo 处理。存在一处 call 调用调用完这个函数返回之后固定顺序执行下面 3 个东西①runtime_runExitHooks()// 运行退出钩子② 调用进程退出函数内部 exit③ 无限死循环while(1)防止代码继续往下跑垃圾指令被 call 的那个目标函数就是用户main.main。伪代码范式逻辑通用变量名是示意// 在 runtime_main 里面 if( 各种编译模式判断 ){ call X; // X main.main 用户入口 if( ... ){ runtime_runExitHooks(); call os_exit(); while(1); } }花括号里面的 if 条件、全局变量byte_xxxx地址每个样本不一样但是调用 X 之后runExitHooks → exit → while(1)这一串执行序列是铁律。