❿⁄₁₄ ⟦ OSCP ⬖ 研记 ⟧ 密码攻击实践 ➱ 传递Net-NTLMv2哈希

❿⁄₁₄ ⟦ OSCP ⬖ 研记 ⟧ 密码攻击实践 ➱ 传递Net-NTLMv2哈希
           郑重声明:本文所涉安全技术仅限用于合法研究与学习目的,严禁任何形式的非法利用。因不当使用所导致的一切法律与经济责任,本人概不负责。任何形式的转载均须明确标注原文出处,且不得用于商业目的。

🔋 点赞 | 能量注入 ❤️ 关注 | 信号锁定 🔔 收藏 | 数据归档 ⭐️ 评论 | 保持连接💬

🌌 立即前往 👉晖度丨安全视界🚀​​​

​​​​​

▶ 信息收集 
▶ 漏洞检测
初始立足点 
▶ 权限提升
横向移动 ➢ 密码攻击 ➢ 传递Net-NTLMv2哈希🔥🔥🔥
▶ 报告/分析
▶ 教训/修复

目录

1.密码破解

1.1 破解Windows哈希实践

1.1.4 传递Net-NTLMv2哈希概述

1.1.4.1 攻击背景

1.1.4.2 攻击流程

1.1.4.3 UAC远程限制与中继攻击关系解析

1.UAC(用户账户控制)远程限制

2.中继攻击(Relay Attack)

3.UAC限制与中继攻击的关联

1.1.5 传递Net-NTLMv2哈希实践

1.1.5.1 攻击流程图

1.1.5.2 使用ntlmrelayx捕获与中继

1.1.5.3 设置反向Shell监听器

1.1.5.4 触发SMB连接

1.1.5.5 在ntlmrelayx的终端下看到中继到FILES02

1.1.5.6 在Netcat监听器捕获到FILES02的反向shell

1.1.6 现实环境限制:UAC远程限制的影响

1.1.6.1 UAC远程限制的影响

1.1.6.2 攻击成功条件

欢迎❤️ 点赞 | 🔔 关注 | ⭐️ 收藏 | 💬 评论


1.密码破解

1.1 破解Windows哈希实践

核心攻击场景:本文介绍第三种:获取并破解Net-NTLMv2哈希

攻击类型目标哈希手法简介
获取并破解NTLM哈希🗝️ NTLM哈希从内存或SAM数据库中提取哈希,并用工具(如Hashcat)破解
传递NTLM哈希🗝️ NTLM哈希直接使用哈希进行身份验证,绕过密码需求
获取并破解Net-NTLMv2哈希🔐 Net-NTLMv2哈希通过中间人或欺骗获取挑战-响应包,离线破解
传递N

Read more

C++的核心--继承

C++的核心--继承

目录 前言 一、继承的概念及定义 二、基类和派生类对象赋值转换 三、继承中的作用域 四、派生类的默认成员函数 五、继承与友元 六、继承与静态成员 七、复杂的菱形继承及菱形虚拟继承 (一)单继承与多继承 (二)菱形继承 (三)菱形虚拟继承 八、继承的总结和反思 结语 前言 在C++ 编程世界里,继承是一项极为关键的特性,它为代码的复用和层次化设计提供了强大支持。掌握继承机制,对于编写高效、可维护的C++ 代码至关重要。今天,就让我们一起深入探究C++ 中的继承。 一、继承的概念及定义 继承是面向对象程序设计实现代码复用的重要手段。它允许我们在保持原有类特性的基础上进行扩展,产生新的类,即派生类。这体现了面向对象程序设计的层次结构,从简单到复杂逐步构建。 定义格式上,以 class Student : public

By Ne0inhk
C++ 网络编程详解(全集超详细)

C++ 网络编程详解(全集超详细)

一、网络编程基础 1. 计算机网络体系结构 OSI七层模型 OSI(Open Systems Interconnection)七层模型是一个理论上的网络通信框架,由国际标准化组织(ISO)提出。它将网络通信分为七个层次,每一层都有特定的功能和协议: 1. 物理层(Physical Layer) * 负责传输原始比特流(0和1)。 * 定义物理介质(如电缆、光纤)的特性,如电压、传输速率等。 * 典型协议:Ethernet(物理层部分)、RS-232。 2. 数据链路层(Data Link Layer) * 将比特流组织成帧(Frame),并进行错误检测(如CRC校验)。 * 管理物理地址(MAC地址)和局域网(LAN)通信。 * 典型协议:Ethernet(MAC层)、PPP。 3.

By Ne0inhk
【Linux系统】C/C++的调试器gdb/cgdb,从入门到精通

【Linux系统】C/C++的调试器gdb/cgdb,从入门到精通

各位读者大佬好,我是落羽!一个坚持不断学习进步的学生。 如果您觉得我的文章还不错,欢迎多多互三分享交流,一起学习进步! 也欢迎关注我的blog主页:落羽的落羽 文章目录 * 一、调试前的预备知识 * 二、gdb/cgdb的使用 * 1. 启动,查看代码 * 2. 基础调试命令 * 3. 监视变量相关命令 * 4. 设置条件断点 一、调试前的预备知识 程序发布的方式有两种,debug模式和release模式。 * debug模式:生成的可执行程序中会包含程序的调试信息,便于程序员进行调试代码。 * release模式:会剥离或不生成这些调试信息。这使得文件更小,但也意味着调试器几乎无法工作,release版本程序无法进行调试。 Linux的gcc/g++,按照我们之前的写法gcc -o $@ $^,默认生成的是release版本的程序,是无法进行调试的。要在命令后加-g选项,指定以debug方式发布,debug模式下的程序我们才能进行调试。 gcc -o $@ $^ -g 二、gdb/cgdb的使用

By Ne0inhk
【Linux】线程池(一)C++ 手写线程池:基于策略模式实现高性能日志模块

【Linux】线程池(一)C++ 手写线程池:基于策略模式实现高性能日志模块

文章目录 * 池化技术 * 线程池的日志模块 * 日志与策略模式 * 日志模块 * 两个核心问题 * 设计文件等级 * 刷新策略 * 获取日志时间 * logger类实现 * 内部类LogMessage实现 * 日志刷新流程图及源码 池化技术 池化技术可以减少很多的底层重复工作,例如创建进程、线程、申请内存空间时的系统调用和初始化工作,例如线程池,先预先创建好一些线程,当任务到来时直接将预先创建好的线程唤醒去处理任务,效率会远远高于任务到来时临时创建线程。例如内存池,但我们要用1mb空间时内存池会一次性申请20mb空间,效率会远远高于用多少空间申请多少空间(申请空间会调用系统调用)。 线程池是执行流级别的池化技术,STL中的空间配置器和内存池是内存块管理级别的池化技术。 线程池的日志模块 下⾯开始,我们结合我们之前所做的所有封装,进⾏⼀个线程池的设计。在写之前,我们要做如下准备。 * 准备线程的封装 * 准备锁和条件变量的封装 * 引⼊日志,对线程进⾏封装 日志与策略

By Ne0inhk