You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+9-2Lines changed: 9 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
# NTDLL Integrity Checker
1
+
# Usermode rootkit detector
2
2
3
3
This project is designed to inspect and compare the NTDLL memory sections of running processes against the disk version of `ntdll.dll` in Windows systems. Its primary goal is to detect potential modifications indicative of usermode rootkits. Since the only way for usermode rootkit to exist is hooking NtResumeThread, or its neighbouring functions during thread creation to achieve persistence, checking ntdll's integrity is a viable way of observing rootkit's presence. Other methods of persistence include patching import table, however it is not reliable, since ntdll does not have an import table, thus leaving the .text section the only candidate for usermode hooks.
4
4
@@ -7,12 +7,13 @@ This project is designed to inspect and compare the NTDLL memory sections of run
7
7
- Parses `ntdll.dll` directly from disk to retrieve the `.text` section.
8
8
- Parses the `.text` section of `ntdll.dll` loaded in each running process's memory.
9
9
- Compares these sections to identify discrepancies.
10
+
- Works for both wow64 and 64bit processes.
10
11
- Provides a summary of potentially patched processes, aiding in the detection of usermode rootkits.
11
12
12
13
## Requirements
13
14
14
15
- Windows operating system.
15
-
- Administrator privileges for process memory inspection.
16
+
-(Optional) Administrator privileges for process memory inspection.
16
17
17
18
## Building
18
19
@@ -22,4 +23,10 @@ This project is designed to inspect and compare the NTDLL memory sections of run
22
23
23
24
2. Compile either via a provided make.bat (gcc toolchain) or on your own with msvc or something.
24
25
26
+
## Notes
27
+
28
+
Tested against publicly available usermode rootkits:
29
+
30
+
-[r77](https://bytecode77.com/)
31
+
-[My own one](https://github.com/forentfraps/rootkit-userland), since it does not replicate itself, however it does detect the altered processes
0 commit comments