自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 资源 (1)
  • 收藏
  • 关注

原创 AvAddOn 勒索解密

文章目录简述:原理:原作者过程:模仿者:苛刻条件资料简述:​ 在勒索病毒进程中暴力检索密钥指针所在结构体的size、flag 等特征信息以找到疑似密钥的指针,然后取出指针指向的疑似密钥对一对加密文档和与之对应的未加密文档 进行测试。当对未加密文档进行解密,解密出数据和未加密文档匹配,那这个疑似密钥—就是勒索使用的密钥了。原理:​ 内存里残留了CSP 使用的 key_data_s 结构体,在该结构体中struct key_data_s{ void *unknown; // XOR-ed

2021-02-20 13:55:09 904

原创 堆喷图解

ROP – (Return Oriented Programming – ret2Libc) --返回导向编程的思想转载请注明出处,有错的请指正交流谢谢 ------Lebso

2019-09-16 21:32:33 240

原创 逆向MFC程序

文章目录@[toc]1 MFC执行流程1.1 环境支持1.2 分析1.3 实践探索1.3.1 创建一个MFC程序1.3.2 下关键断点并调试1.4 转向MFC库源文件中观测2 逆向2.1 特征码的选择(比如我这里还是想找到InitInstance())2.2 使用调试工具(OD) 搜索特侦码咐语1 MFC执行流程1.1 环境支持vs 2017afxwin.h,afxcdialogex.h...

2019-07-28 19:39:19 2886

原创 Windows 中断异常管理

前言本文参考 张银奎.《软件调试》一书,融入了自己的理解,以及将逻辑用伪代码形式表达1. 中断和异常管理前言:系统调用所提供的服务是在内核里。一般是在系统空间实现,而应用软件则都在用户空间运行。它们之间有着明确的间隔。实质是CPU运行模式的不同。通过一条int 0x2e的指令可以让CPU陷入内核。1.1 IDT、IDTR、PCR、PCRB等背景知识IDT: 中断描述符表寄...

2019-07-26 10:46:10 721

原创 c++文件传输

序言我这里给出的是一个简单的协议Demo,可以根据我注释里面的说明,自己丰富完善协议关键代码发送端这里我放在了一个线程函数里面,加入了自己的协议结构,如果有兴趣可以自己提取出来使用这个模式。思考的大脑是你前行的灯,这里就没有摆出你直接Copy的接口。但是全部内容已在其中,不懂可以留言,我看到就回复。typedef struct _FtProto{ BOOL IsDon...

2019-07-26 10:37:43 3640 1

原创 pyqt窗口嵌套

pyqt 子窗口嵌入主窗口中pyqt窗口嵌套:no BB any more,just show me the codetestgood.pyfrom PyQt5 import QtCore, QtGui, QtWidgetsimport sysclass Ui_Form(object): def setupUi(self, Form): Form.setObje...

2019-05-05 10:48:39 4931 6

原创 pyqt5 QtWebEngine窗口、标签页

pyqt下的浏览器之美官方文档地址 :http://pyqt.sourceforge.net/Docs/PyQt4/qtabwidget.html1.创建一个浏览页面(比如链接是百度)url = QUrl("https://www.baidu,com")webview = QwebEngineView()webview.load(url)2.创建一个浏览标签页tabwid =...

2019-03-17 23:40:49 4059

原创 build static qt5.15.3 with openssl

static qt 5.15.3 witch openssl

2022-10-12 16:34:49 227 1

原创 无符号驱动调试 win10

驱动病毒、无符号驱动文件 调试分析 win10 环境

2022-03-06 14:17:14 3575

原创 0_x32_x64 VS 汇编和C混合开发配置

文章目录1 x32汇编开发2 x64汇编开发 (c\cpp和asm 相互调用)1 x32汇编开发32位的时候注意 ,无论是 直接编写汇编函数 还是内联汇编,都是支持的#include <stdio.h>#include<windows.h>const char* testBuffer = { "i am a big" };const char * form...

2020-03-20 18:31:08 399

原创 1_VBA_POWERSHELL病毒分析

文章目录分析VBA_PS脚本:样本信息:MD5 0bf87fd5ff555a5f0fc94b5e36f0d4ff文件名称 0bf87fd5ff555a5f0fc94b5e36f0d4ff.doc文件类型 Word文档分析VBA_PS脚本:原混淆代码:Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds A...

2020-03-17 18:22:44 1797

原创 1_组件对象模型COM_调用

文章目录前言使用CLSD、IID,以及COM 对象的使用调用一个COM函数扩展:1 注册一个CLISD 的时候,ThreadModel 的意义?前言摘抄 恶意代码分析实战 书中的易遗忘部份,以便以后参考​ 微软组件对象模型 COM 是一个接口标准,它使得不同软件在不知道其他组件代码的规范时,相互之间可以进行调用。分析使用COM 的恶意代码时,你需要判断那段代码会被作为一个COM 函数进行...

2020-03-15 11:15:40 375

原创 安全公司-* * * *-面试题:_ 安卓逆向分析分享

1 总览:a) 查看清单文件AndroidManifest注册的各种信息(入口类、权限、广播、服务等)l 发现只有入口类信息:Ø com.test.pac.demo.MainActivityb) 安装程序查看大致行为l 输入UserName(长度为16)l PassWord 可以输入,也可以点击Generate 生成l 点击Check按钮验证PassW...

2019-11-12 17:20:00 2035

原创 18_ShadowWalker

白皮书中 page-fault error code:shadowWalker 原理:接管 指定程序 的 执行页面异常、读写页面异常;然后 调用一下正常的 使其出现在快表;然后恢复到假的pte------ 根据白皮书中 的error code 过滤出 执行、读写异常类型相关: 将 402000 这个页面通过修改pte 设置为不存在(直接 给 p位置为 0);这样产...

2019-10-22 13:36:00 180

原创 17_页面异常接管

页面异常捕获过滤:原理:在 IDT 表中的e 号 处理 是 页面异常处理; 如果 我们 hook 掉 这个回调函数;那么就能获得全部的页面异常;再通过 cr3 对比 捕获指定的 cr3 (进程)的信息;最后再共享的区域将数据输出;然后测试程序获取该自己的页面异常信息;实验中 容易出现的错误:在 c 的时候注意将使用的寄存器(这里是eax)先保存起来;注意 通过栈保存 eax...

2019-10-22 13:33:00 181

原创 16_TLB与流水线

1 前面做的实验起始有缺陷访问内存之后,后面执行两句代码后;并不能保证刚才访问的代码还在TLB中;有可能被刷新出去了;实验验证缺陷:代码 不连续 TLB 被淘汰:2万次中有1次被淘汰;由于访问代码不连续代码:// 7_TLB_test.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//​#include "pch.h"#include<s...

2019-10-22 13:32:00 178

原创 15_TLB中的G属性

》 TLB 是为了增加访问内存的效率即 如果 是 29 9 12 分页 请求数据 可能需要访问 4次内存;为了解决这个问题;出现了 TLB (虚拟地址到物理地址的转换关系),如果目标地址在TLB缓存中,那么直接从TLB 取出 物理地址;》 这个实验做起来很麻烦,因为:TLB 是CPU 内部的,没法通过汇编指令访问TLB;调试器,也没有办法知道 TLB 中有哪些项只...

2019-10-22 13:30:00 300

原创 14_内存分配延迟

分配的虚拟内存没有使用之前 是不会映射物理内存的。1 申请区段 目的: 对齐4kb// 定义一个可读可写的区段#pragma section("data seg", read,write) // 在区段里面 定义一个变量 var =1 (这里是区段第一个变量,所以坑定是 4kb对齐的起始地址)declspec(allocate("data seg")) DWORD var = 1;...

2019-10-22 13:27:00 349

原创 13_平行进程

可以用来做进程保护!!! 平行得2个程序之间》通过cr3的切换,导致运行的代码是另外一个程序中的代码上面代码的缺陷:不能动态获取cr3,得程序二先运行打印出来不能很好平行的切换代码执行注意 这里实验的时候,需要多次调整地址;使得能平行过渡到另一个程序;可以使用Nop 这些填充来控制两者之间代码过度的位置照应。程序1:// 6_平行进程A.cpp : 此文件包含...

2019-10-22 13:23:00 248

原创 12_通过 CR3 切换_读取指定进程数据

注意:cr3 切换 ,导致eip 指向的页面,改变为对应cr3 的页面;所以代码也变了;这里需要将这部分代码放入公共区域。解决:使用 类似前面 山寨 systemfastcallentry 的方法;使用 int 20 将代码拷贝到 高2gb 公共区域。 注册到 int 21,然后中断调用即可。...

2019-10-22 13:22:00 1516

原创 11_零地址读写

原理: 修改 进程空间 虚拟 零地址 的 pte 为 一个当前程序的全局变量;这样 零地址 指向的就是 同一个物理页且属性相同;修改 一个虚拟地址数据;另外的虚拟地址数据同样会改变。注意: 中间加阴影的部分 是为了刷新 TLB 快表,后面章节有详解。测试结果:这里不知道为什么printf时候 我的 exception handler 4 检测异常;导致输出不了;但是的确0页 映射到了 ...

2019-10-22 13:19:00 598

原创 10_PAE_非PAE

前置知识:在 windows 中 保护模式 有两种模式: 段保护 和 页保护段保护 主要体现在 段选择子上;但是数据段、代码段、栈段等采用的都是4GB平坦模式,段的特征并没有那样展现。所以具体的保护机制 采用的是页保护。PAE和 非PAE:页保护 有两种:非 PAEPAE开启 PAE: 在 boot.ini 中 设置:为 noexcute -- 即不可执行 ;...

2019-10-22 13:03:00 231

原创 9_山寨系统调用 SystemCallEntry

思想: 再次在 GDT 中偷内存 搭建 系统调用需要的 逻辑框架与功能实现;基本分解妄想:构建系统调用的代码:拷贝到 偷取的内存中:idt 向量 序号21位置: 8003ee00`0008f120 各函数的实现:注意: systemcallentry() 中esp + 0xc 是 3环 的 esp3环的 esp 应该是调用 函数的时候的发怒hi地址...

2019-10-22 13:00:00 159

原创 7_API调用

0 查看 kifastcallentry 里面具体怎么调用首先是 切换了 fs 为kpcr的选择子然后 构造了 一个trap frame(保存3环--》0环 切换的上下文;如果0环不使用就没啥用,就不用构造;例如这里实验就没有构造,只是 切换了内核的kpcr)1 使用内核api 申请内存 注意:1.1 这里的函数地址是写死的,真正的地址应该动态获取1.2 这里push ...

2019-10-22 11:43:00 116

原创 8_InlineHook

1 shellcode低2Gb警告、应使用高2GB 稳定 :在内核挂钩子:由于每个进程的低2gb 的数据是不同的;所以 在内核挂钩子 因该把 代码 放在 高 2gb。方法1(申请):比如 使用前面的 ExAllocatePool(0,size);分配非分页内存,然后把shellcode 拷贝到 非分页内存。方法2(偷内存):注意: 偷的时候 看一下 页属性 是否可读可写...

2019-10-22 11:43:00 132

原创 6_再次开中断STI的正确姿势

1 直接开启sti --蓝屏2 配置环境 正确开启sti 中断kpcr -- 很多重要线程切换的数据、结构进入内核的时候 fs 不再是teb/tib; 是kpcr。同时观察 kifastcallentry,发现 的确设置了 fs 为内核的 kpcr:那我们手动修改成 kpcr ;注意: 如果 直接使用fs 不行;那么就查相关硬编码 来代替。效果 系统不卡,且...

2019-10-22 11:41:00 385

原创 5_中断现场下

理论:int x; 中断处理 响应切换(es、ss、esp) 应该由 硬件支持;如果其中交由汇编程序;那么还是不安全的,还是可以认为i控制。同理 iretd返回 也需要硬件支持。中断 使用到了 tss 数据段中的 ss esp;cs 怎么来的:来自于 我们构造的中断门 中的段选择子 如 : 0040ee00~00081040 这里 段选择子就是 8. 所以 切换之后的...

2019-10-22 11:39:00 92

原创 4_中断现场中

虚拟机和模拟器区别:--windbg双机调试给虚拟机下断点是跟虚拟机子系统进行交互,可能windbg调试器会修改到内核环境:比如寄存器、gdt表等会被改变(有时候你调试发现windbg中gdt 的某项数据 和 pchunter 中gdt的某个数据不一致;其实,大概率pchunter才是正确的 );原因如前面一句话所述;-- 模拟器 (如 bochs)是实时的数据;下断点是模拟断...

2019-10-22 11:38:00 142

原创 3_中断现场上

1 查看中断前后 上下文的变换使用 代码打印 进入 中断前后的 上下文,发现有 cs ss esp 改变了。中断门只用到了 TSS数据段中 cs ss esp 这几个东西;任务门 任务切换用到了更多的上下文 TSS 数据段的所有数据 。TSS 数据格式:2 代码:// 3_中断现场分析.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//​#inc...

2019-10-22 11:35:00 134

原创 2_多核复杂性

前置知识为了防止中断嵌套会自动 cli 在中断能处理的时候会自动 cli -- 清除中断标记位 if。 这样如果在if = 0 的时候 ,0环死循环 那么就会造成系统假死崩溃。实际代码验证我们把前一次的代码设置成死循环void _declspec(naked) IdtEntry(){// 这里是裸函数,所以不会有函数头 push ebp,mov ebp,esp,,和 ret...

2019-10-22 11:34:00 179

原创 1_中断提权

1 使用pchunter查看系统中断表(中断描述符表)1.1 那些中断处理地址内核高2GB ,所以中断处理环境坑定在0环利用分析:那我们把自己得处理函数放在这里面,那经过这个表调用就能获得高权限;注意: 代码 应该把随机基址关闭,并且使用release版本,这样地址稳定一些,debug 即使不开随机基址,可能运行中 子函数的地址会因为重构(当你改变内容的时候,可能编译器判...

2019-10-22 11:31:00 191

原创 0_环境搭建

0 开发工具 VS20171 先从win xp 开始2 最好是纯净的 win xp 这样遇到的坑少顺利更贴合我们学习目的3 搭建双机环境:使用串口--在虚拟机定义全局管道符号链接形如:在虚拟机的启动选项里面添加上:; 。。 具体百度 记不到-b -- 连接的时候将虚拟机子系统段下来-k -- kernel内核调试com:pipe,port 指定连接串...

2019-10-22 11:28:00 79

原创 0_一些可供参考的字典知识

1 段描述符1.1 普通段描述符 s = 11.1.1数据段描述符1.1.2 代码段描述符1.2 系统段描述符 s = 0基本:详细:type 的常用类型:e :1.2.1 任务门、中断门、陷阱门 s = 01.2.2 TSS 格式注意: 中断 处理使用到了 这里面的 ss esp 任务 切换处理 使用到了全部1....

2019-10-22 11:26:00 91

原创 熊猫烧香_汇编级_超详细分析

1.样本概况1.1 应用程序信息1.2 分析环境及工具1.3 分析目标2.具体分析过程2.1 主函数2.2 分析sub_40819c 2.2.2 存在Desktop_.ini文件则删除2.2.3 读取当前文件检测是否是被感染者2.2.4 若当前文件是病毒2.2.5 若当前文件是被感染者2.3 分析sub_40d18c2.3.2 分析 sub_40C374 维护2.3.3 分析 sub_...

2019-10-22 10:11:00 472

原创 CVE-2016-0095提权漏洞分析

1 前言 瞻仰了k0shl和鹏哥 的漏洞分析,感慨万千,任重而道远。2 系统环境和工具windows 7 32旗舰版 windbg3 poc3.1poc复现 首先k0shl大佬给出的poc():/*** Author: bee13oy of CloverSec Labs* BSoD on Windows 7 SP1 x86 / Windows 10 x86* Eo...

2019-10-22 09:44:00 337 2

原创 3_基本框架_VMXON

原理参考 3卷 23.7节等本节实施流程参考Intel手册: 3卷 31.5节1 vt整体框架;首先 开锁:1 开启 Cr4.[VMXE]:上一节,检测了 VMX 需要的环境;最后一个 CR4.[13/VMXE] 只检测了是否已经被开启(有别的虚拟机); 但是 没有在 CR4.[13/VMXE] ==0 的时候去开启。所以 这里 开始 开...

2019-10-14 11:12:00 214

原创 2 _ 基本框架 _ 检测VMX环境

VT 是先开为大,谁先开谁上层,谁上层 谁权限大。1 判断是否支持 VMXintel 白皮书 第3卷传入 参数eax =1, 返回值 ecx 的第5位 = 1 则 surpported VMX。使用 x32dbg 测试:测试结果: 支持!开启进入 VMX操作的准备工作:即:Cr4.[1...

2019-10-14 11:02:00 255

原创 1 环境搭建_及参考资料介绍_ASM驱动开发疑难解决

1 环境搭建> 这里和 周壑老师不同;大家觉得哪中适合当前的物理机,就配置那种。如下:win7 32 位;vs 2010;visualDDk 驱动项目插件;V A --- 代码高亮、提示; 这样vs 2010 开发 就非常爽了然后 虚拟机 设置和 物理机 共享文件夹,随时将符号文件给调试。VT技术 参考资料:当然是 intel ...

2019-10-14 10:59:00 220

原创 将博客搬至CSDN

CSDN 博客地址: https://blog.csdn.net/qq_37175419/article/category/9356640

2019-10-14 10:25:00 51

原创 Lotus Blossom 行动分析

1 漏洞介绍1.1 代号 - Lotus Blossom行动 漏洞利用率很高 从2012 —2015或者说最近都还在使用 CVE-2012-0158 Lotus Blossom--莲花: 描述了对东南亚各国政府和军事组织的持续网络间谍活动。该报告公开了目标、工具和攻击技术,并提供了关于莲花营销活动的完整详情,包括所有妥协指标。42小组 使用PaloAlto网络自动聚焦™平台发现...

2019-10-14 10:03:00 506

Winrar Patched 广告 弹窗

大小: 5882275 字节 修改时间: 2022年7月1日, 11:37:44 MD5: BB7A29743064C46594BC26066B065C31 SHA1: 493F9408732F7B751229E54A97CDCCC44C89F7FC CRC32: 0A146B0F 仅供【 逆向分析学者 】 学习交流使用,切勿商业传播

2022-07-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除