系统漏洞复现与勒索病毒

知识点:SMB漏洞介绍、漏洞复现流程、勒索病毒攻击与防护

渗透测试相关:
基本概念:

渗透测试就是利用我们所掌握的渗透知识,对网站进行一步一步的渗透,发现其中存在的漏洞和隐藏的风险,然后撰写一篇测试报告,提供给我们的客户。客户根据我们撰写的测试报告,对网站进行漏洞修补,以防止黑客的入侵!

相关阶段如下:范围界定—>信息搜集—>目标识别—>服务枚举(爆破—>漏洞映射—>社会工程学(撞库))—>漏洞利用—>权限提升—>访问维护—>文档报告

渗透测试分为 白盒测试 和 黑盒测试
白盒测试就是在知道目标网站源码和其他一些信息的情况下对其进行渗透,有点类似于代码分析
黑盒测试就是只告诉我们这个网站的url,其他什么都不告诉,然后让你去渗透,模拟黑客对网站的渗透

信息获取阶段:

IP地址:在不同的操作系统中,获取IP地址的方法各有不同。以下是一些常见操作系统中获取IP地址的基本命令:

  1. Windows:

    • 打开命令提示符(cmd)或PowerShell。
    • 输入 ipconfig 命令,这将列出所有网络适配器的IP地址。
  2. macOSLinux:

    • 打开终端。
    • 输入 ifconfig 或 ip addr命令,这将显示所有网络接口及其IP地址。

上图为Win操作系统下:IPv4 地址是本机在局域网中使用的地址,用于局域网内的设备通信。IPv6 地址是本地链接地址,通常用于局域网内的设备自动配置地址。默认网关是本机用于与局域网外的设备通信的设备地址。子网掩码用于定义网络的边界,确定IP地址中的网络部分和主机部分。DNS后缀是域名系统的一部分,用于解析域名。

这些信息表明,该设备(用户名为zhaoheqian)正在使用Kali Linux操作系统,并且至少有一个以太网接口eth0连接到局域网中。IPv4地址172.16.130.129是动态分配的,并且有一个本地回环地址127.0.0.1用于本机内部通信。IPv6地址是链路本地地址,用于局域网内的设备自动配置地址。

NMAP扫描器:

手动识别工作量大且效率低,所以我们引入了NMAP漏洞扫描器


Nmap(Network Mapper)是一款功能强大的网络扫描工具,它被广泛用于网络发现和安全审核。以下是Nmap的一些主要功能和使用方式:

1. **主机发现**:Nmap可以通过发送网络探测包来确定网络中活跃的主机,这有助于识别哪些IP地址上有活动的设备。

2. **端口扫描**:Nmap可以扫描目标主机的开放端口,帮助确定哪些服务正在运行。它支持多种扫描技术,例如TCP扫描、UDP扫描、SYN/ACK扫描等。

3. **服务识别**:Nmap能够识别目标主机上运行的具体服务和应用程序的版本号,这有助于了解可能存在的漏洞和弱点。

4. **操作系统检测**:Nmap尝试检测目标主机的操作系统类型和版本,为渗透测试提供信息。

5. **脚本扫描**:Nmap支持脚本扫描,允许用户执行自定义脚本以进行深入的信息收集和安全审计。

6. **版本检测**:Nmap可以检测目标系统上运行的服务的版本信息,有助于确定可能存在的已知漏洞和安全问题。

7. **输出格式**:Nmap可以生成多种输出格式,包括文本、XML、JSON等,便于进一步分析和报告。

在使用Nmap时,应该遵循适用的法律和道德准则,确保合法和合规的使用。例如,进行快速扫描可以使用命令 `nmap <IP地址>`,而扫描存活主机但不扫描端口可以使用 `nmap -sP <IP地址>/<子网掩码>`。

Nmap的使用非常灵活,它提供了多种参数和选项来定制扫描过程,例如使用 `-p` 参数来指定端口,或者使用不同的扫描技术如 `-sS`(TCP SYN扫描)和 `-sT`(TCP connect扫描)。

此外,Nmap还具备绕过防火墙和欺骗技术,例如使用 `-D` 参数来掩盖真实IP地址,或者使用 `--spoof-mac` 来伪装MAC地址。

nmap -sP //用ping扫描主机是否存活,只有主机存活,nmap才会继续扫描
nmap -p  //扫描端口,通过端口去确定服务

进行Ping扫描

查看端口和共享

网络连接状态 (netstat -an)

  1. 监听端口

    • 系统上有几个端口正在监听状态(LISTENING),这表明有服务正在等待连接。这些端口包括:
      • 80:通常用于HTTP服务。
      • 135:用于远程过程调用(RPC)。
      • 443:通常用于HTTPS服务。
      • 445:用于SMB(Server Message Block)协议,可能与文件共享和“永恒之蓝”漏洞相关。
      • 3306:通常是MySQL数据库服务的默认端口。
      • 5040:可能与某些应用程序的远程管理相关。
      • 7680:可能是某个特定应用程序的自定义端口。
      • 49664、49665、49666、49667、49669、49672:这些看起来像是随机或特定应用程序使用的高端口号。
  2. 本地回环地址(Loopback)

    • 127.0.0.1:本地回环地址,用于本机内部通信。有几个TCP连接在本地地址之间建立(ESTABLISHED),这可能是系统服务或应用程序的内部通信。
  3. 外部连接

    • 172.16.130.128:139:在端口139上监听,这是用于NetBIOS会话服务的端口,可能与文件和打印共享相关。
    • 有多个TIME_WAIT状态的连接,这表明之前与外部地址(如123.6.53.19和60.6.194.138)的TCP连接已经完成,但系统仍在等待足够的时间以确保所有重复的连接请求都已超时。

网络共享资源 (net share)

  1. 默认共享

    • C$:默认的C盘共享,通常用于管理员远程访问。
    • D$:默认的D盘共享,如果存在D盘的话。
  2. 特殊共享

    • ADMIN$:允许远程管理访问C:\Windows目录。
    • IPC$:Inter-Process Communication,用于进程间通信。
  3. 共享资源

    • 显示了共享名、资源路径和注解。例如,C: 表示C盘的默认共享,通常用于文件共享

恶意病毒:

"永恒之蓝"(EternalBlue)是一个在2017年被泄露的微软Windows操作系统的网络漏洞利用工具。它最初是由美国国家安全局(NSA)开发,作为其网络武器库的一部分。EternalBlue利用了Windows操作系统中的SMB(Server Message Block)协议的漏洞,允许攻击者在无需用户交互的情况下远程执行代码。

以下是关于"永恒之蓝"的一些关键点:

1. **漏洞编号**:CVE-2017-0144
2. **影响系统**:主要影响Windows操作系统,包括Windows Vista、Windows 7、Windows 8.1和Windows 10等版本。
3. **漏洞原理**:SMB协议在处理特定类型的网络数据包时存在内存管理缺陷,攻击者可以利用这一点来执行任意代码。
4. **泄露情况**:2017年4月,一个名为“影子经纪人”(Shadow Brokers)的黑客组织泄露了NSA的多个网络武器,其中就包括EternalBlue。
5. **利用情况**:EternalBlue被用于2017年5月的“WannaCry”勒索软件攻击,这是一次全球性的网络攻击事件,影响了超过150个国家的数十万台计算机。
6. **防护措施**:微软在漏洞被公开后不久就发布了安全补丁,用户应确保操作系统及时更新,安装所有安全补丁。

"永恒之蓝"是一个经典的0 day漏洞,给用户安全造成了巨大损失

MSF使用:

MSF通常指的是Metasploit Framework(简称Metasploit),这是一个开源的漏洞利用框架,由Raphael Mudge创建,目前由Rapid7公司维护。Metasploit Framework是网络安全专业人员和渗透测试人员广泛使用的工具,用于识别、开发和执行漏洞利用代码。

以下是Metasploit Framework的一些关键特点:

1. **模块化设计**:MSF采用模块化架构,包括漏洞模块、有效载荷(Payloads)、编码器(Encoders)、NOP生成器等。

2. **漏洞利用**:MSF拥有大量的漏洞利用模块,可以针对不同操作系统和应用程序的已知漏洞进行攻击。

3. **跨平台**:Metasploit Framework支持多个操作系统,包括Windows、Linux、macOS等。

4. **脚本语言**:MSF使用Ruby语言编写,易于扩展和定制。

5. **数据库集成**:MSF可以与数据库系统集成,用于存储攻击数据、会话信息和漏洞信息。

6. **自动化**:MSF支持自动化的漏洞扫描和利用过程,可以快速识别和利用目标系统的弱点。

7. **社区支持**:Metasploit拥有一个活跃的社区,不断有新的漏洞模块和有效载荷被添加到框架中。

8. **合法使用**:Metasploit Framework是一个合法的工具,应在授权的渗透测试和安全评估中使用,未经授权使用MSF进行攻击是违法的。

9. **教育和研究**:MSF也是教育和研究网络安全的好工具,帮助学生和研究人员了解漏洞利用的工作原理。

10. **兼容性**:MSF与其他安全工具和框架兼容,可以作为更大安全解决方案的一部分。

Metasploit Framework是一个强大的工具,但它需要具备一定的技术知识和对网络安全的深刻理解。使用MSF时,必须遵守法律法规,确保在授权的范围内使用。

1)kali中使用msfconsole开启msf,看到图标后表示开启成功


  1. 开启图标可能不同,均为正常启动​​​​​​​

2)成功运行msf后,我们就可以从中找出一些有用的参考信息:

1. **用户和主机信息**:
   - `zhaohegian@kali: - 102x24` 表示当前登录的用户是 `zhaohegian`,使用的主机是 `kali`,而 `- 102x24` 表示终端窗口的大小是102行24列。

2. **命令行提示符**:
   - `: $` 表示当前用户是普通用户(没有root权限),`$` 是普通用户的命令行提示符。

3. **Nmap命令**:
   - `nmap -os` 可能是之前执行的命令,用于检测目标系统的操作系统。但该命令在截图中不完整,可能是被截断或未执行。

4. **Metasploit Framework版本信息**:
   - `metasploit v6.3.55-dev` 显示当前运行的Metasploit Framework的版本是6.3.55,是一个开发版本。

5. **模块统计信息**:
   - `2397 exploits - 1235 auxiliary - 422 post` 表示Metasploit中包含2397个漏洞利用模块、1235个辅助模块(类似于POC)和422个后期利用模块
   - `1388 payloads - 46 encoders - 11 nops` 表示有1388个攻击载荷(反弹shell,爆破等)、46个编码器和11个NOP滑梯

6. **规避技术**:
   - `9 evasion` 表示有9种规避技术可用于绕过某些安全机制。

7. **Metasploit文档链接**:
   - `Metasploit Documentation: https://docs.metasploit.com/` 提供了Metasploit的官方文档链接,供用户查阅更多信息。

8. **Metasploit命令提示符**:
   - `msf6 >` 是Metasploit的命令提示符,表示Metasploit已经启动并等待用户输入命令。

3)search ms17-010 搜索漏洞编号,查询关于该漏洞的相关模块

使用Metasploit Framework(MSF)进行模块搜索的结果,特别是针对“ms17-010”这个漏洞的模块。以下是对搜索结果的分析:

1. **模块列表**:搜索结果显示了几个与MS17-010漏洞相关的Metasploit模块。

2. **模块详情**:
   - **Name**:模块的名称。
   - **Disclosure Date**:漏洞公开的日期。
   - **Rank**:模块的等级,通常表示其稳定性和可靠性。等级有average(平均)、normal(正常)、great(优秀)等。
   - **Check**:表明模块是否具备检测目标系统是否易受攻击的能力。
   - **Description**:模块的简短描述。

3. **具体模块**:
   - **0 exploit/windows/smb/ms17_010_eternalblue**:这是利用MS17-010漏洞的EternalBlue攻击模块,等级为“average”,具备检测能力。
   - **1 exploit/windows/smb/ms17_010_psexec**:这是利用MS17-010漏洞进行远程代码执行的模块,包括EternalRomance、EternalSynergy和EternalChampion,等级为“normal”,具备检测能力。
   - **2 auxiliary/admin/smb/ms17_o1o_command**:这是一个辅助模块,用于在利用MS17-010漏洞后执行远程命令,等级为“normal”,不具备检测能力。
   - **3 auxiliary/scanner/smb/smb_ms17_010**:这是一个扫描模块,用于检测SMB远程代码执行漏洞,等级为“normal”,不具备检测能力。
   - **4 exploit/windows/smb/smb_doublepulsar_rce**:这是利用SMB DOUBLEPULSAR的远程代码执行模块,等级为“great”,具备检测能力。

4. **使用方式**:您可以使用模块名称或索引号与模块交互。例如,要获取更多关于索引号4的模块信息,可以使用命令`info 4`,或者直接使用模块路径`use exploit/windows/smb/smb_doublepulsar_rce`。

5. **注意事项**:
   - 使用这些模块时,您应该确保有适当的权限和授权,因为它们可能被用于渗透测试或攻击性安全测试。
   - 这些模块针对的是老旧且未打补丁的系统,因此,对于已经更新和修补了MS17-010漏洞的系统,这些模块将不会有效。

6. **MS17-010**:这是一个严重的Windows SMB服务漏洞,曾被利用于WannaCry勒索软件攻击。它允许攻击者在远程Windows系统上执行任意代码。

4)开始验证扫描

使用 search 命令搜索特定的漏洞或模块,例如 search ms17_010 来查找与MS17-010漏洞相关的模块

 msf6 > search ms17-010

根据搜索结果,选择一个适合的模块。使用 use 命令来加载模块,例如:

msf6 > use exploit/windows/smb/ms17_010-enternalblue

或者 use exploit/windows/smb/ms17_010_eternalblue

或者使用模块的索引号,例如:

use 0
use 4

以下是对当前Metasploit Framework(MSF)会话的分析:

1. **模块使用**:
   - 用户选择了索引为0的模块,根据之前的信息,该模块是`exploit/windows/smb/ms17_010_eternalblue`,用于利用MS17-010漏洞。

2. **模块默认配置**:
   - 模块没有配置有效载荷(payload),因此默认使用了`windows/x64/meterpreter/reverse_tcp`,这是一个Windows 64位系统的Meterpreter反向TCP有效载荷。

3. **模块选项**:
   - 显示了模块的当前配置选项,包括:
     - `RHOSTS`:需要设置的目标主机,目前尚未设置。
     - `RPORT`:目标端口设置为445,这是SMB服务的默认端口。
     - `SMBDomain`:可选的Windows域,用于认证。
     - `SMBPass`:指定用户名的密码,目前未设置。
     - `SMBUser`:用于认证的用户名,目前未设置。
     - `VERIFY_ARCH`和`VERIFY_TARGET`:这两个选项当前设置为`true`,表示模块会在尝试利用之前验证远程架构和操作系统是否与目标匹配。

4. **有效载荷选项**:
   - 显示了有效载荷的配置选项,包括:
     - `EXITFUNC`:退出函数设置为`thread`,表示在有效载荷执行完毕后,将退出当前线程而不是整个进程。
     - `LHOST`:监听地址设置为`172.16.130.129`,这是攻击者机器的IP地址,用于接收反向连接。
     - `LPORT`:监听端口设置为`4444`,这是攻击者机器上用于接收Meterpreter会话的端口。

后渗透

后渗透活动通常涉及在成功渗透目标系统后的一系列行动,目的是维持访问权限、收集信息或进一步控制系统。

1. **提升权限** (`getuid`):
   - 这个命令用于在成功渗透后提升权限到系统最高权限,通常是管理员权限。

2. **转储密码哈希** (`hashdump`):
   - 使用此命令可以转储Windows系统中存储的密码哈希值,这可以用于离线破解密码。

3. **破解NTLM哈希值**:
   - 文档提到了使用在线服务(如www.cmd5.com)来尝试破解获取的NTLM哈希值。

4. **截取屏幕** (`screenshot`):
   - 通过这个命令可以截取目标系统的屏幕,以收集视觉信息。

5. **访问摄像头** (`webcam_list`, `webcam_stream`):
   - `webcam_list` 可以列出目标系统上所有可用的摄像头设备。
   - `webcam_stream` 可以启动对指定摄像头的实时视频流。

6. **查看文件** (`cat`):
   - 使用类似Unix的 `cat` 命令来查看目标系统上特定文件的内容,例如 `cat d:123.txt` 会显示该文本文件的内容。

7. **勒索病毒操作**:
   - 文档描述了勒索病毒的操作流程,包括解压病毒文件、上传到目标系统并执行。这通常涉及以下步骤:
     - 解压勒索病毒工具包。
     - 使用 `upload` 命令将病毒程序上传到目标系统。
     - 使用 `execute -f wcry.exe` 执行上传的勒索病毒程序,或者通过已获取的shell启动病毒程序。

8. **执行命令** (`execute`):
   - 使用 `execute` 命令在目标系统上执行特定的程序或命令。

9. **获取Shell**:
   - 如果已经获得了目标系统的shell访问权限,可以直接在shell环境中执行命令。

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

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

相关文章

Word如何在页眉中插入和删除横线

你平常是否遇见到Word的页眉中有一条横线&#xff0c;怎么也删不了&#xff01;&#xff01;&#xff01; 今天刘小生分享如何在页眉中插入和删除横线&#xff0c;我们一起操练起来吧&#xff01; 1、Word页眉插入横线 选择【插入】-【页眉页脚】&#xff0c;在“页眉页脚”…

基于SSM+VUE的网上订餐系统(带1w+文档)

基于SSMVUE的网上订餐系统(带1w文档) 网上订餐系统的数据库里面存储的各种动态信息&#xff0c;也为上层管理人员作出重大决策提供了大量的事实依据。总之&#xff0c;网上订餐系统是一款可以真正提升管理者的办公效率的软件系统。 项目简介 基于SSMVUE的网上订餐系统(带1w文档…

【LLM之KG】KoPA论文阅读笔记

研究背景 知识图谱补全&#xff08;KGC&#xff09;是通过预测知识图谱中缺失的三元组来完善知识图谱的信息。传统方法主要基于嵌入和预训练语言模型&#xff0c;但这些方法往往忽视了知识图谱的结构信息&#xff0c;导致预测效果不佳。 研究目标 本文的研究目标是探索如何将…

YOLOv8关键点pose训练自己的数据集

这里写自定义目录标题 YOLOv8关键点pose训练自己的数据集一、项目代码下载二、制作自己的关键点pose数据集2.1 标注(非常重要)2.1.1 标注软件2.1.2 标注注意事项a.多类别检测框b.单类别检测框2.2 格式转换(非常重要)2.3 数据集划分三、YOLOv8-pose训练关键点数据集3.1 训练…

小程序注册

【 一 】小程序注册 微信公众平台 https://mp.weixin.qq.com/ https://mp.weixin.qq.com/注册 邮箱激活 小程序账户注册 微信小程序配置 微信小程序开发流程 添加项目成员 【 二 】云服务 lass 基础设施服务&#xff08;组装机&#xff09; 你买了一大堆的电脑配件&#x…

Live Wallpaper Themes 4K Pro for Mac v19.9 超高清4K动态壁纸

Live Wallpaper & Themes 4K Pro for Mac v19.7 是一款专为Mac用户设计的超高清4K动态壁纸应用程序。它凭借出色的视觉效果和丰富的个性化设置&#xff0c;为用户带来全新的桌面体验。 这款软件提供了大量精美的动态壁纸供用户选择&#xff0c;涵盖了各种风格和主题&#…

STM32学习-HAL库 串口通信

学完标准库之后&#xff0c;本来想学习freertos的&#xff0c;但是看了很多教程都是移植的HAL库程序&#xff0c;这里再学习一些HAL库的内容&#xff0c;有了基础这里直接学习主要的外设。 HAL库对于串口主要有两个结构体UART_InitTypeDef和UART_HandleTypeDef&#xff0c;前者…

Java三层框架的解析

引言&#xff1a;欢迎各位点击收看本篇博客&#xff0c;在历经很多的艰辛&#xff0c;我也是成功由小白浅浅进入了入门行列&#xff0c;也是收货到很多的知识&#xff0c;每次看黑马的JavaWeb课程视频&#xff0c;才使一个小菜鸡见识到了Java前后端是如何进行交互访问的&#x…

亚马逊云科技官方活动:一个月拿下助理架构师SAA+云从业者考试认证(送半价折扣券)

为了帮助大家考取AWS SAA和AWS云从业者认证&#xff0c;小李哥争取到了大量考试半价50%折扣券&#xff0c;使用折扣券考试最多可省75刀(545元人民币)。 领取折扣券需要加入云师兄必过班群&#xff0c;在群中免费领取。目前必过班群招募到了超过200名小伙伴&#xff0c;名额有限…

杂记 | 搭建反向代理防止OpenAI API被封禁(对于此次收到邮件提示7月9日后将被屏蔽的解决参考)

文章目录 重要声明&#xff08;免责&#xff09;01 OpenAI封禁API的情况02 解决方案及原理2.1 原因分析2.2 解决方案2.3 步骤概述 03 操作步骤3.1 购买一个海外服务器3.2 申请一个域名3.3 将域名指向代理服务器3.4 在代理服务器上安装nginx3.5 配置反向代理 重要声明&#xff0…

如何利用小猪APP分发进行高效的APP封装打包

你有没有想过&#xff0c;为什么有些应用程序似乎在一夜之间就上线了&#xff0c;而你的应用却还在封装打包的过程中挣扎&#xff1f;别担心&#xff0c;这里有一个秘密武器&#xff0c;它叫做小猪APP分发。 小猪app封装www.ppzhu.net 什么是APP封装打包&#xff1f; APP封装…

从零开始做题:修猫

修猫 1 题目 2 解题 2.1 使用Stegslove分析图片 (base) ┌──(holyeyes㉿kali2023)-[~/Misc/tool-misc] └─$ java -jar Stegsolve.jar 2.2 analyse -frame browser 2.3 得到flag DASCTF{818ca3a840e768da7d5fcdeaedd5012f}

解决GPU 显存未能完全释放

一、 现象 算法同学反馈显存未能完全释放。 二、解决方法 一条命令搞定 注意&#xff1a;执行时注意不要误杀其他的python进程&#xff0c;需要确认好。 我的这条命令是将所有python进程都杀死了 ps -elf | grep python | awk {print $4} | xargs kill -s 9

Redis源码学习:SDS设计与内存管理

为什么Redis选择SDS 1、缓解C语言字符串的缺陷 在 C 语言中可以使用 char* 字符数组来实现字符串。每个字符串分配一段连续的内存空间&#xff0c;依次存放字符串中的每一个字符&#xff0c;最后以null字符结尾。这种设计存在以下问题&#xff1a; 1、低效的操作 每次获取字…

【containerd】Containerd高阶命令行工具nerdctl

前言 对于习惯了使用docker cli的用户来说&#xff0c;containerd的命令行工具ctr使用起来不是很顺手&#xff0c;此时别慌&#xff0c;还有另外一个命令行工具项目nerdctl可供我们选择。 nerdctl是一个与docker cli风格兼容的containerd的cli工具。 nerdctl已经作为子项目加入…

数据分析必备:一步步教你如何用matplotlib做数据可视化(12)

1、Matplotlib 3D线框图 线框图采用值网格并将其投影到指定的三维表面上&#xff0c;并且可以使得到的三维形式非常容易可视化。plot_wireframe()函数用于此目的 import matplotlib.pyplot as plt import numpy as np import math import seaborn as sns plt.rcParams[font.s…

新增题目接口开发

文章目录 1.基本设计2.生成CRUD代码1.生成五张表的代码1.subject_info2.subject_brief3.subject_judge4.subject_multiple5.subject_radio 2.将所有的dao放到mapper文件夹3.将所有实体类使用lombok简化4.删除所有mapper的Param("pageable") Pageable pageable5.删除所…

nacos 整合 openfeign实现远程调用

结合之前写过的案例 Springcloud Alibaba nacos简单使用 Springcloud 之 eureka注册中心加feign调用 在微服务架构中&#xff0c;服务注册与发现是一个关键组件。Nacos 是一个开源的服务注册与发现、配置管理平台&#xff0c;而 OpenFeign 是一个声明式的 Web 服务客户端&am…

6.25作业

1.整理思维导图 2.终端输入两个数&#xff0c;判断两数是否相等&#xff0c;如果不相等&#xff0c;判断大小关系 #!/bin/bash read num1 read num2 if [ $num1 -eq $num2 ] then echo num1num2 elif [ $num1 -gt $num2 ] then echo "num1>num2" else echo &quo…