原创 [翻譯]Windows 內核池原理 (win7 x86)
0x00:前言 查了一下好像沒看到啥關於內核池原理的翻譯,國外的一個論文有詳細說Win7池溢出的原理。內容比較長,今天來翻譯閱讀一下Win 7內核的池部分的原理。 Kernel Pool Exploitation on Wind
原创 [翻譯]Exploiting CVE-2015-0057 ——Part 1
前言 NCC的關於CVE-2015-0057漏洞分析的文章寫的十分詳細,但是是英文的,這裏再一邊翻譯一邊閱讀一下吧。這裏是第一部分的內容,大致說了如何利用漏洞觸發點來構造一個新的堆溢出漏洞利用,其中還包括一些前置知識。 傳送
原创 [翻譯] Kernel Attacks through User-Mode Callbacks
前言 本篇屬於前置知識,在後續的CVE復現中需要使用到。原文爲英文,一邊翻譯一邊記筆記了!儘量用中文描述的淺顯易懂一些。 原文傳送門 1. 背景知識 1.1 Win32k.sys介紹 Win32k本質上由三個主要組件組成:
原创 CVE-2018-8120 漏洞分析復現-Day2-完成
0x00:前言 昨天在最後復現的時候還差一點點,已經知道了漏洞點但是還沒有完成利用。使用之前在0 day安全上學到的任意地址寫漏洞技術似乎不是那麼好直接的使用。其實是需要用到濫用GDI bitmap這個技術,今天來學習!參考文章
原创 CVE-2018-8120 漏洞分析復現-Day1
0x00:前言 對於HEVD靶場的調試告一段落,接下來嘗試對一些真實的漏洞進行分析復現。參考: freebuf 0x02:背景 1. 漏洞描述 部分版本Windows系統win32k.sys組件的NtUserSetImeInf
原创 Windows內核漏洞學習-內核利用程序之池溢出
0x00:前言 昨天閱讀了內核池的一些原理,與Linux堆還是有很多相似的。今天繼續調試HEVD中池溢出攻擊。參考的原文: 傳送門 0x01:漏洞原理 漏洞源碼: NTSTATUS TriggerPoolOverflow(IN
原创 [翻譯]Windows內核漏洞學習-內核池攻擊原理
前言 在練習HEVD的內核池溢出漏洞之前,首先先需要了解一下內核池溢出的一些攻擊方法和原理。這裏對kernelpool-exploitation進行翻譯閱讀一下。 kernelpool-exploitation 正文 List
原创 Windows內核漏洞學習-內核池原理.md
0x00:前言 查了一下好像沒看到啥關於內核池原理的翻譯,國外的一個PPT有詳細說Win7池溢出的原理。內容比較長,今天來翻譯閱讀一下Win 7內核的池部分的原理。 Kernel Pool Exploitation on Win
原创 Windows內核漏洞學習-UAF
0x00:前言 本章所提到的漏洞爲UAF(釋放後利用),這也是目前我所接觸到的第一個複雜一點的內核漏洞。參考文章: 傳送門 0x01:漏洞原理 NTSTATUS FreeUaFObject() { NTSTATUS S
原创 Windows內核漏洞學習-內核利用程序之整數溢出
0x00:前言 這是最後一個簡單的漏洞利用了,話不多說直接開始吧。 0x01:漏洞原理 這裏是漏洞程序源碼: NTSTATUS TriggerIntegerOverflow(IN PVOID UserBuffer, IN SIZE
原创 Windows內核漏洞學習-未初始化棧變量利用
0x00:前言 今天繼續學習HEVD的未初始化棧變量漏洞利用,根據我的經驗,只要是沒涉及到堆的,難度應該都是不大的。原文講的肯定比我好,我這裏主要描述出調試過程。 傳送門1-外文翻譯成中文原文 傳送門2-看雪一位原創 0x01
原创 Windows內核漏洞學習-空指針解引用
0x00: 前言 在看雪論壇看到許多關於HEVD的Windows內核漏洞教程,其中有一個是翻譯國外的一個系列,感覺講的很好,接下來就會跟着他將這個HEVD系列的漏洞走一遍了。昨天學了棧溢出,其實以前就學過,只不過沒有操作過內核
原创 Windows內核漏洞學習-棧溢出(無GS)
0x00: 前言 在上一節中,將HEVD的環境配置完成,接下來進行內核漏洞的調試復現。爲什麼首先做棧溢出呢,因爲我以前學過一些Pwn知識,棧溢出算是最簡單的漏洞了。使用的環境爲: Windows7 x86 虛擬機系統 雙機調試環
原创 Windows內核漏洞學習-HEVD的使用
HEVD的使用 HEVD簡單介紹和下載 HEVD是一個漏洞靶場,裏面有大量寫好的漏洞,主要用它來學習漏洞的利用。在Github上就可以找到該項目,下面貼一下下載傳送門,我用的是1.2版本。 https://github.com
原创 《0day 安全》-22章-內核漏洞利用技術
內核漏洞利用技術 22.1 利用實驗之 exploitme.sys 首先給出實驗代碼,這裏的代碼經過作者微小的修改,但是基本與書上一致,看懂這裏的代碼需要有一點驅動編程基礎。 #include<ntddk.h> #define