mirror-ac/README.md

65 lines
3.5 KiB
Markdown
Raw Normal View History

2023-10-09 18:27:04 +02:00
# ac
2023-10-13 18:20:59 +02:00
# features
- Attached thread detection
- Process module .text section integrity checks
2023-10-30 12:57:24 +01:00
- NMI and APC stackwalking
- IPI stackwalking which is a relatively unknown method compared to NMIs and APCs
2023-10-13 18:20:59 +02:00
- Handle stripping via obj callbacks
- Process handle table enumeration
- System module verification
2023-10-30 12:57:24 +01:00
- System module .text integrity checks (see known issues)
- Unlinked process detection
2023-10-13 18:20:59 +02:00
- Hidden thread detection via KPRCB
2023-10-30 12:57:24 +01:00
- Hidden thread detection via PspCid table
2023-10-13 18:20:59 +02:00
- Dispatch routine validation
2023-10-30 12:57:24 +01:00
- Extraction of hardware identifiers
2023-10-13 18:20:59 +02:00
- EPT hook detection (currently detects hyperdbg and DdiMon)
- Driver integrity checks both locally and over server
- Test signing detection
2023-10-30 12:57:24 +01:00
- Hypervisor detection
# planned features
- Heartbeat between components
- ntoskrnl integrity checks (currently in progress)
- some way of identifying spoofed stacks
- some way of dynamically resolving offsets. Will probably use a pdb parser but i am working on a debuglib atm using the windows debug api. We will see.
- some form of cr3 protection
- some more detection methods other then stackwalking xD
- various forms of encryption and other things
# known issues
2023-11-01 16:21:13 +01:00
- the system module validation (NOT the driver integrity check) success rate varies. On some versions it works flawlessy, other times 60% or so of modules will fail, stating that the module regions are not equivalent.
- process modules integrity checks sometimes crash the user mode app on windows 11.
2023-10-30 12:57:24 +01:00
2023-11-01 16:21:13 +01:00
Ive thoroughly tested the driver with verifier in addition to extended testing on my main pc (non vm) so at the least there shouldn't be any bluescreens (hopefully...). If you do find any, feel free to open an issue with the minidump :)
2023-10-13 18:20:59 +02:00
2023-11-01 16:21:13 +01:00
# windows versions tested:
2023-10-09 18:27:04 +02:00
2023-11-01 16:21:13 +01:00
- Win10 22H2
- Win11 22H2
2023-10-12 18:33:39 +02:00
# how 2 use
2023-11-01 16:21:13 +01:00
1. Build the project in visual studio, if you experience any build issues - check the drivers project settings are the following:
- `Inf2Cat -> General -> Use Local Time` to `Yes`
- `C/C++ -> Treat Warnings As Errors` to `No`
- `C/C++ -> Spectre Mitigation` to `Disabled`
2. Move the `driver.sys` file into `Windows/System32/Drivers` directory
3. Use the osr loader to load the driver at "system" load.
- Osr loader can be found here: https://www.osronline.com/article.cfm%5Earticle=157.htm
2023-11-01 11:04:12 +01:00
- driver must be named "driver.sys" (sorry.. will be fixed soon (i am lazy))
2023-11-01 16:21:13 +01:00
- IMPORTANT: its important that you only click "Register" in the OSR loader, dont actually load the driver only register it. Then restart. This is very important as the driver needs an accurate representation of system threads and processes in order for many of the detection methods to work.
4. inject dll into program you want to protect, i used notepad for testing.
- IMPORTANT: it is important that this process is started as administrator, which in turn means the injector you use must also be started as administrator. This is a design flaw. Will be fixed in the future.
2023-11-01 11:04:12 +01:00
- Obviously in a "real" program, the dll would be embedded into the application - for now this is what we work with.
2023-11-01 16:21:13 +01:00
5. Logs can be seen both in the terminal and either dbgview or WinDbg depending on what you use.
2023-11-01 10:48:14 +01:00
- If for some reason you can't see logs in DbgView, you may need to properly set your debugging mask. Tutorial here: https://www.osronline.com/article.cfm%5Earticle=295.htm
2023-11-01 16:21:13 +01:00
6. The server and service arent needed, youll just see a bunch of "failed to write to pipe" if you dont launch the service, this is fine and the core anti cheat + user mode is still working.
2023-10-12 18:33:39 +02:00
2023-11-01 16:21:13 +01:00
# contact
feel free to dm me on discord or uc @donnaskiez