All Projects → fdiskyou → Iris

fdiskyou / Iris

WinDbg extension to display Windows process mitigations

Labels

Projects that are alternatives of or similar to Iris

shellex
C-shellcode to hex converter, handy tool for paste & execute shellcodes in IDA PRO, gdb, windbg, radare2, ollydbg, x64dbg, immunity debugger & 010 editor
Stars: ✭ 89 (-31.01%)
Mutual labels:  windbg
Khypervisor
kHypervisor is a lightweight bluepill-like nested VMM for Windows, it provides and emulating a basic function of Intel VT-x
Stars: ✭ 264 (+104.65%)
Mutual labels:  windbg
Voltron
A hacky debugger UI for hackers
Stars: ✭ 5,599 (+4240.31%)
Mutual labels:  windbg
DbgSymGrabber
Just another tool to download specify Symbol (.pdb) files
Stars: ✭ 35 (-72.87%)
Mutual labels:  windbg
WinDbg Scripts
Useful scripts for WinDbg using the debugger data model
Stars: ✭ 92 (-28.68%)
Mutual labels:  windbg
Superdump
A service for automated crash-dump analysis
Stars: ✭ 384 (+197.67%)
Mutual labels:  windbg
windbg-extensions
Extensions for the new WinDbg
Stars: ✭ 59 (-54.26%)
Mutual labels:  windbg
Netcoredebugging
A repository maintains the book of ".NET Core application debugging" sample code.
Stars: ✭ 52 (-59.69%)
Mutual labels:  windbg
cfgdump
Windbg extension that allows you analyze Control Flow Guard map
Stars: ✭ 18 (-86.05%)
Mutual labels:  windbg
Memoscope.net
Dump and analyze .Net applications memory ( a gui for WinDbg and ClrMd )
Stars: ✭ 626 (+385.27%)
Mutual labels:  windbg
windbg js scripts
Toy scripts for playing with WinDbg JS API
Stars: ✭ 135 (+4.65%)
Mutual labels:  windbg
PrivFu
Kernel mode WinDbg extension and PoCs for token privilege investigation.
Stars: ✭ 244 (+89.15%)
Mutual labels:  windbg
Wdbgark
WinDBG Anti-RootKit Extension
Stars: ✭ 450 (+248.84%)
Mutual labels:  windbg
windbgtree
A command tree based on commands and extensions for Windows Kernel Debugging.
Stars: ✭ 94 (-27.13%)
Mutual labels:  windbg
Winobjex64
Windows Object Explorer 64-bit
Stars: ✭ 775 (+500.78%)
Mutual labels:  windbg
DbgExt
Debugger extension for the Debugging Tools for Windows (WinDbg, KD, CDB, NTSD).
Stars: ✭ 62 (-51.94%)
Mutual labels:  windbg
Mirage
kernel-mode Anti-Anti-Debug plugin. based on intel vt-x && ept technology
Stars: ✭ 272 (+110.85%)
Mutual labels:  windbg
Kdmp Parser
Windows kernel dump C++ parser with Python 3 bindings.
Stars: ✭ 71 (-44.96%)
Mutual labels:  windbg
Windbg Cheat Sheet
A practical guide to analyze memory dumps of .Net applications by using Windbg
Stars: ✭ 43 (-66.67%)
Mutual labels:  windbg
Dbgshell
A PowerShell front-end for the Windows debugger engine.
Stars: ✭ 566 (+338.76%)
Mutual labels:  windbg

Iris WinDbg Extension

Iris WinDbg extension performs detection of common Windows process mitigations (32 and 64 bits).

The checks implemented, as can be seen in the screenshots above, are:

for the current process

  • [x] DEP Policy
    • [x] DEP ATL Thunk Emulation Disabled
    • [x] Permanent DEP Enabled
  • [x] ASLR Policy
    • [x] Bottom Up Randomization Enabled
    • [x] Force Relocate Images Enabled
    • [x] High Entropy Enabled
    • [x] Stripped Images Disallowed
  • [x] Arbitrary Code Guard (ACG) Policy
    • [x] Dynamic Code Prohibited
    • [x] Allow Threads to Opt Out of the restrictions on ACG
    • [x] Allow Non-AppContainer Processes to Modify all of the ACG settings for the calling process
  • [x] Invalid Handle(s) Reference Policy
    • [x] Raise Exception on Invalid Handle Reference
  • [x] System Calls Policy
    • [x] Win32k System Calls Disallowed
  • [x] Control Flow Guard Policy
    • [x] Control Flow Guard Enabled
    • [x] Exported Functions Treated as Invalid Indirect Call Targets
    • [x] Strict Mode
  • [x] Image Load Signature Policy
    • [x] Microsoft Signed Only
    • [x] Store Signed Only
    • [x] Prevent Image Loading not signed by MS, Store, or WHQL
  • [x] Process Fonts Policy
    • [x] Prevent the Process from Loading Non-System Fonts
    • [x] Log ETW event when the Process Attempts to Load a Non-System Font
  • [x] Process Image Load Policy
    • [x] Prevent Loading Images from a Remote Device
    • [x] Prevent Loading Images Written by Low Integrity Level
    • [x] Prefer for Images to Load in System32 subfolder
  • [x] Mitigation Options
    • [x] Enable SEH overwrite protection (SEHOP)
    • [x] Heap terminate on corruption Enabled
    • [x] Win32k System Calls Disallowed Always On

for the loaded modules

  • [x] DynamicBase
  • [x] ASLR
  • [x] DEP
  • [x] SEH
  • [x] SafeSEH
  • [x] CFG
  • [x] RFG
  • [x] GS
  • [x] AppContainer

If you don't know the meaning of some of the keywords above use google, you'll find better explanations than the ones I could give you.

Setup

To "install", copy either x86\iris.dll or x64\iris.dll into the winext folder for WinDbg (for x86 and x64).

WinDbg 10.0.xxxxx

Unless you installed the debug tools in a non standard path you'll find the winext folder at:

C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\winext

Or, for 32 bits:

C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\winext

WinDbg Preview

Unless you installed copied WinDbg preview install folder into a non standard location you'll have it in a folder with a name close to the one below (depending on the installed version):

C:\Program Files\WindowsApps\Microsoft.WinDbg_1.1906.12001.0_neutral__9wekib2d8acwe

For 64 bits copy x64\iris.dll into amd64\winext or x86\iris.dll into x86\winext for 32 bits.

Load the extension

After the steps above, just load the extension with .load iris and run !iris.help to see the available command(s).

0:014> .load iris
[+] Iris WinDbg Extension Loaded
0:014> !iris.help

IRIS WinDbg Extension ([email protected]). Available commands:
	help                  = Shows this help
	modules               = Display process mitigations for all loaded modules.
	mitigations           = Display current process mitigation policy.

Running

As shown in the screenshot above, just run: !iris.modules or simply !modules, and !iris.mitigations or simply !mitigations.

Requirements

  • Minimum supported client: Windows 8
  • Minimum supported server: Windows Server 2012

Warning

Don't trust blindly on the results, some might not be accurate. I pretty much used as reference PE-bear parser, winchecksec, Process Hacker, narly, and checksec-win. Thank you to all of them.

I put this together in a day to save some time during a specific assignment. It worked for me but it hasn't been thoroughly tested. You have been warned, use at your own risk.

I'll be updating and maintaining this, so any issues you may find please let me know. I plan to add a few more mitigations later.

References

Besides the references mentioned before, if you want to write your own extension (or contribute to this one) the Advanced Windows Debugging book and the WinDbg SDK are your friends.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].