如何判断你是个牛×黑客:使用C#加密攻击载荷来绕过杀毒软件

简介: 本文讲的是如何判断你是个牛×黑客:使用C#加密攻击载荷来绕过杀毒软件,衡量一个成功黑客和一款牛×的恶意攻击软件的重要指标之一,就是看其能否绕过所有的杀毒软件。 不过万事万物都是个矛盾体,因为一旦一种很牛×的绕过技术被公之于众,那杀毒软件的公司就会对这种技术进行分析并找到应对之策。
本文讲的是 如何判断你是个牛×黑客:使用C#加密攻击载荷来绕过杀毒软件衡量一个成功黑客和一款牛×的恶意攻击软件的重要指标之一,就是看其能否绕过所有的杀毒软件。

不过万事万物都是个矛盾体,因为一旦一种很牛×的绕过技术被公之于众,那杀毒软件的公司就会对这种技术进行分析并找到应对之策。

不过今天,我会公开一个技术,就是使用C#加密攻击载荷,就目前来看使用该方法还是可以绕过所有杀毒软件。


不过对于阅读本文的读者,我还是建议你对渗透测试、Kali Linux以及Metasploit后门载荷有一定的了解。同时,你还应掌握一门编程技术,具体要求如下:

首先:你需要了解杀毒软件的基本特征及其应用。

其次:你需要了解基于Linux的系统以及用于渗透测试的Kali Linux或其他Linux操作系统。

最后:你需要了解Windows编程技术,比如,本文中的C# .Net编程技术。

这样,在阅读完本文后,你就可以使用C#源代码完成更多绕过任务了。

不过在阅读本文时要注意,绕过杀毒软件或防火墙需要提前了解如何在Layer7应用层绕过。

使用C#加密载荷绕过杀毒软件的四步骤

第一步:我在Kali Linux的环境下制作了一个C语言的后门载荷,其十六进制格式如下图所示。使用Reverse_tcp反向连接载荷的原因就是,这种载荷最容易绕过禁止入站连接的防火墙了。

如何判断你是个牛×黑客:使用C#加密攻击载荷来绕过杀毒软件

第二步:你应该使用异或(XOR)或其他加密算法对第一步的载荷进行加密。

虽然我用加密算法对我编写的简单C#应用进行了加密,但我要说的是源码其实非常多。

如何判断你是个牛×黑客:使用C#加密攻击载荷来绕过杀毒软件

如上图所示,我使用的是VS.NET 2015来开发C#代码,但其实所有版本的VS.NET都支持这一代码。

你会在上图中发现一个名为payload.txt的文本文件,这个文件就是我在第一步中使用msfvenom工具生成的载荷。

所以,在这一步中,你应该使用payload.txt文件中的内容替换代码中的载荷变量{0xfc , ….}。

第三步:程序的输出如下图所示,加密后的载荷也会一同输出。

如何判断你是个牛×黑客:使用C#加密攻击载荷来绕过杀毒软件

如上图所示,加密过的载荷是以“217,119,88….,82,12,210”开头的,由于到这一步,你已经有一个加密载荷了,你可以在backdoor.exe文件中放心使用该载荷,因为密或解密载荷的密钥只有你掌握,杀毒软件是无法检测该载荷的。

第四步:现在我需要一个C#代码在目标计算机中执行此加密有效载荷。

如下图所示,我会使用一个C#代码来执行加密后的载荷,在源码中,需要将Payload_Encrypted变量值替换为图3中的加密载荷,此外,还需要用步骤2中使用的密钥值替换KEY值。

不过要注意的是,你在步骤2以及步骤4中使用的KEY值要一致。

如何判断你是个牛×黑客:使用C#加密攻击载荷来绕过杀毒软件

在第四步生成的源码中,由于会根据命令行中的参数来生成加密载荷,所以我会在命令行中输入字符串形式(如图5所示)的加密载荷,执行程序的命令如下:

dos C:> backdoor.exe “217,119,88,…….,82,12,210”

在这个时候,加密的有效载荷将在目标计算机的内存中解密和执行,如果你已经完成以上四步,那么在攻击者端的kali linux中,你可以通过后门进行篡改会话,如图5所示::

如何判断你是个牛×黑客:使用C#加密攻击载荷来绕过杀毒软件

如下图所示,我设备中的杀毒软件没有检测到这个使用了加密载荷的后门:

如何判断你是个牛×黑客:使用C#加密攻击载荷来绕过杀毒软件

事实上所有的杀毒软件都无法检测这种后门,检测结果如下图所示:

如何判断你是个牛×黑客:使用C#加密攻击载荷来绕过杀毒软件

为此,我还开发了一个取证工具,可以实时检测内存中的Meterpreter载荷。




原文发布时间为:2017年8月24日
本文作者:luochicun
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
目录
相关文章
|
14天前
|
存储 安全 网络安全
C#编程的安全性与加密技术
【4月更文挑战第21天】C#在.NET框架支持下,以其面向对象和高级特性成为安全软件开发的利器。本文探讨C#在安全加密领域的应用,包括使用System.Security.Cryptography库实现加密算法,利用SSL/TLS保障网络传输安全,进行身份验证,并强调编写安全代码的重要性。实际案例涵盖在线支付、企业应用和文件加密,展示了C#在应对安全挑战的同时,不断拓展其在该领域的潜力和未来前景。
|
6月前
|
开发框架 网络协议 前端开发
一个对C#程序混淆加密,小巧但够用的小工具
一个对C#程序混淆加密,小巧但够用的小工具
94 1
|
2月前
|
算法 C#
23.c#计算敌人被玩家攻击的剩余血值
23.c#计算敌人被玩家攻击的剩余血值
16 0
|
5月前
|
算法 C# 数据安全/隐私保护
C# | 上位机开发新手指南(十)加密算法——ECC
本篇文章我们将继续探讨另一种非对称加密算法——ECC。 严格的说,其实ECC并不是一种非对称加密算法,它是一种基于椭圆曲线的加密算法,广泛用于数字签名和密钥协商。 与传统的非对称加密算法(例如RSA)不同,ECC算法使用椭圆曲线上的点乘法来生成密钥对和进行加密操作,而不是使用大数分解等数学算法。这使得ECC算法具有相同的安全性和强度,但使用更少的位数,因此在资源受限的环境中具有优势。 ECC算法虽然使用公钥和私钥进行加密和解密操作,但是这些操作是基于点乘法实现的,而不是基于大数分解等算法实现的。因此,ECC算法可以被视为一种非对称加密算法的变体,但是它与传统的非对称加密算法有所不同。
136 0
C# | 上位机开发新手指南(十)加密算法——ECC
|
5月前
|
XML 算法 安全
C# | 上位机开发新手指南(九)加密算法——RSA
RSA的特性 非对称性 RSA算法使用公钥和私钥两个不同的密钥,公钥用于加密数据,私钥用于解密数据。公钥可以公开,任何人都可以使用,而私钥只有密钥持有人可以访问。 安全性 RSA算法基于大数分解难题,即将一个大的合数分解成其质数因子的乘积。由于目前没有有效的算法可以在合理的时间内对大质数进行分解,因此RSA算法被认为是一种安全的加密算法。 可逆性 RSA算法既可以用于加密,也可以用于解密。加密和解密都是可逆的过程,只要使用正确的密钥,就可以还原原始数据。 签名 RSA算法可以用于数字签名,用于验证数据的完整性和真实性。签名过程是将数据使用私钥进行加密,验证过程是将签名使用公钥进行解密。
108 0
C# | 上位机开发新手指南(九)加密算法——RSA
|
5月前
|
算法 搜索推荐 安全
C# | 上位机开发新手指南(八)加密算法——AES
AES——这是在加密算法中相当重要的一种加密方式! 虽然这个世界上已经存在了非对称加密算法(比如RSA、ECC等),但是在对称加密算法中,AES的地位依然相当重要。与非对称加密算法不同,对称加密算法使用的是相同的密钥对数据进行加密和解密,因此其加密和解密速度更快,而且更加高效。而在对称加密算法中,AES是目前最安全、最可靠的加密算法之一,其加密强度和运行效率都非常高。因此,无论是在个人计算机、移动设备,还是在服务器和云计算等领域,AES都被广泛应用于数据的加密和解密过程中。
100 0
C# | 上位机开发新手指南(八)加密算法——AES
|
5月前
|
存储 算法 安全
C# | 上位机开发新手指南(七)加密算法
加密算法是信息安全领域中的重要技术之一,可以保护数据在传输、存储和处理过程中的安全性。 学习加密算法可以帮助我们更好地理解和应用其他相关技术。例如,数字证书、数字签名、安全协议等都与加密算法密切相关,掌握加密算法可以为我们理解和应用这些技术提供帮助。
54 0
C# | 上位机开发新手指南(七)加密算法
|
5月前
|
XML 存储 JSON
C# 对象存储 (轻松实现序列化 | Xml | Json | 加密 | 压缩 | 注册表 | Redis)
开发时经常会遇到需要保存配置的情况,最常见的实现方式是将对象序列化成Json,再写入文件并保存到本地磁盘。 本文将使用开源库**ApeFree.DataStore**来替换原有的对象存储过程,实现一个可以随意切换存储方式的对象存储方法。 ApeFree.DataStore是一款可配置的对象存储库,支持在不同平台/介质中对内存中的对象进行存储与还原(如本地存储、注册表存储)。支持配置序列化格式(如Json、Xml),支持配置压缩算法(如GZip、Defalte),支持配置加密算法(如AES、RSA)。
69 0
C# 对象存储 (轻松实现序列化 | Xml | Json | 加密 | 压缩 | 注册表 | Redis)
|
9月前
|
存储 API 数据库
c# 如何将程序加密隐藏?
c# 如何将程序加密隐藏?
85 0
c# 如何将程序加密隐藏?
|
10月前
|
安全 Linux 网络安全
C#生成putty格式的ppk文件(支持加密)
C#生成putty格式的ppk文件(支持加密)
95 0