Presentation is loading. Please wait.

Presentation is loading. Please wait.

Windows开机密码的获取 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:

Similar presentations


Presentation on theme: "Windows开机密码的获取 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:"— Presentation transcript:

1 Windows开机密码的获取 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:www.bcdaren.com
联系QQ: QQ交流群 : 联系电话:

2 这个项目的意义: 这个项目所涉及到的知识: 1 学完这个项目,我们对于基本的win32 SDK编程更为熟悉;
2 熟悉了基本的进程操作,如遍历进程、跨进程读写内存、权限提升等; 3 熟悉了常见的软件安全漏洞问题; 这个项目所涉及到的知识: 1 《编程达人·基础课程——WIN32基础》中的win32 SDK编程的基本概念和流程; 2 《编程达人·基础课程——WIN32基础》中的对话框编程以及常用事件消息; 3 《编程达人·基础课程——C语言》中的文件读写; 4 《编程达人·基础课程——WIN32基础》中的基本控件的操作; 5 《编程达人·基础课程——数据结构》中的链表的遍历操作 6 《编程达人·基础课程——WIN32基础》中的进程等内核概念的了解以及相关操作

3 昆山爱达人信息技术有限公司 QQ: 演示效果预览 Win7演示效果 WinXP演示效果

4 实现原理 开机引导过程 简单概括起来有以下几个步骤 Step1 开机BIOS自检阶段 Step2 MBR加载阶段
昆山爱达人信息技术有限公司 QQ: 实现原理 开机引导过程 简单概括起来有以下几个步骤 Step1 开机BIOS自检阶段 Step2 MBR加载阶段 Step3 Boot 加载阶段 Step4 检测和配置硬件阶段 Step5 内核加载阶段 Step6 登录阶段

5 Step6登录阶段 登录阶段会做如下几件事: 1. 启动机器上安装的所有需要自动启动的服务 2. 启动本地安全认证 Lsass.exe
昆山爱达人信息技术有限公司 QQ: Step6登录阶段 登录阶段会做如下几件事: 1. 启动机器上安装的所有需要自动启动的服务 2. 启动本地安全认证 Lsass.exe 3. 显示登录界面 具体的过程如下图

6 昆山爱达人信息技术有限公司 QQ: Windows会话创建和用户登录过程

7 由此可见,lsass这个进程是我们重点关注的进程,调用其解密函数即可进行解密。
昆山爱达人信息技术有限公司 QQ: 由此可见,lsass这个进程是我们重点关注的进程,调用其解密函数即可进行解密。 破解开机密码的基本思想如下: Step1 密文地址特征码扫描 Step2 秘钥地址特征码扫描 Step3 解密函数地址特征码扫描 Step4 进行解密 注:特征码获取方法:自己逆向(中级班课程操作系统) 具体的特征码我们代码中讲解

8 相关密文 // 解密函数特征码(lsasrv.exe)
昆山爱达人信息技术有限公司 QQ: 相关密文 // 解密函数特征码(lsasrv.exe) BYTE DecryptfuncSign[] = { 0x8B, 0xFF, 0x55, 0x8B, 0xEC, 0x6A, 0x00, 0xFF, 0x75, 0x0C, 0xFF, 0x75, 0x08, 0xE8 }; // 密文关键指针特征码(wdigest.exe) BYTE KeyPointerSign[] = { 0x8B, 0x45, 0x08, 0x89, 0x08, 0xC7, 0x40, 0x04 }; // 密钥KEY相关的关键地址特征码(lsasrv.exe) BYTE DecryptKeySign_WIN7[] = { 0x33, 0xD2, 0xC7, 0x45, 0xE8, 0x08, 0x00, 0x00, 0x00, 0x89, 0x55, 0xE4 }; BYTE DecryptKeySign_XP[] = { 0x8D, 0x85, 0xF0, 0xFE, 0xFF, 0xFF, 0x50, 0xFF, 0x75, 0x10, 0xFF, 0x35 };

9 两种方法实现基上诉本思想 第一种:跨进程读取内存 第二种:dll注入法 注:进程,dll与注入具体的相关知识在中级班课程里讲 优劣比较:
昆山爱达人信息技术有限公司 QQ: 两种方法实现基上诉本思想 第一种:跨进程读取内存 第二种:dll注入法 注:进程,dll与注入具体的相关知识在中级班课程里讲 优劣比较: 跨进程读取内存编程实现较为繁琐,但稳定性好; dll注入法实现过程简单但稳定性差,因为Win7新增了会话隔离机制;

10 进程与注入 进程B 进程A dll dll dll 读取进程B的内存数据 读取进程B的内存数据 读取进程B的内存数据 读取进程B的内存数据
昆山爱达人信息技术有限公司 QQ: 进程与注入 读取进程B的内存数据 读取进程B的内存数据 读取进程B的内存数据 读取进程B的内存数据 读取进程B的内存数据 4GB地址空间 4GB地址空间 进程B 进程A dll dll dll

11 关键数据结构分析 Windows使用链表来存储密文等相关信息 (数据结构的相关知识在初级班课程里讲)
昆山爱达人信息技术有限公司 QQ: 关键数据结构分析 Windows使用链表来存储密文等相关信息 (数据结构的相关知识在初级班课程里讲) dwVerOff+2 WinXP :dwVerOff == 36 Win7 :dwVerOff == 32

12 整个程序实现流程 step1 搭建对话框消息处理骨架 step2 对具体的消息进行相应的处理 step2.1 WM_INITDIALOG处理
昆山爱达人信息技术有限公司 QQ: 整个程序实现流程 step1 搭建对话框消息处理骨架 step2 对具体的消息进行相应的处理 step2.1 WM_INITDIALOG处理 step2.2 WM_COMMAND处理 step2.2.1侦测吧按钮功能的实现 step 获取操作系统版本 step 获取解密函数地址 step 获得密文链表头地址 step 伪造数据现场 step 密码破译


Download ppt "Windows开机密码的获取 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:"

Similar presentations


Ads by Google