
shadow-rs는 Rust로 작성된 Windows 커널 루트킷으로, Rust의 안전성과 성능 기능을 활용하면서 커널 조작을 위한 고급 기술을 시연합니다. 이 프로젝트는 교육 및 연구 목적으로 제작되었습니다.
[!IMPORTANT]
이 프로젝트는 개발 중입니다.
Protected Processes (PP) 및 Protected Process Light (PPL)을 처리하기 위해 프로세스 서명 수준 수정.DSE) 활성화 또는 비활성화.EtwTi) 비활성화.ZwCreateThreadEx를 사용하여 프로세스에 셸코드 또는 DLL 주입.APC) 주입.Thread Hijacking을 사용하여 프로세스에서 셸코드 실행.driver 디렉터리로 이동하여 커널 드라이버를 빌드하세요:
cargo make default --release
[!IMPORTANT]
참고: 첫 번째 빌드는 관리자 권한으로 실행해야 합니다. 이후 빌드에는 상승된 권한이 필요하지 않습니다.
kdmapper와 같은 도구의 매핑 지원을 활성화하려면 다음으로 컴파일하세요:
cargo make default --release --features mapper
client 디렉터리로 이동하여 사용자 모드 클라이언트를 빌드하세요:
cargo build --release
매핑된 드라이버와의 호환성을 위해:
cargo build --release --features mapper
bcdedit /set testsigning on
드라이버를 로드하려면 서비스 제어 관리자 또는 OSR Driver Loader를 사용할 수 있습니다.
Windbg를 사용하여 커널에 연결하고 드라이버 활동을 모니터링하세요.
bcdedit /debug on
bcdedit /dbgsettings net hostip:<IP> port:<PORT>
shadow-rs에 기여하려면 다음 단계를 따르세요:
git checkout -b <branch_name>.git commit -m '<commit_message>'.git push origin <project_name> / <local>.또는 풀 리퀘스트 생성 방법에 대한 GitHub 문서를 참조하세요.
이 프로젝트는 교육 및 연구 목적으로 제공됩니다. 소프트웨어의 악의적인 사용은 엄격히 금지되며 권장되지 않습니다. 소프트웨어의 부적절한 사용으로 인해 발생하는 손해에 대해 저는 책임지지 않습니다.
shadow-rs를 만들고 일부 기능을 기여하는 데 영감을 준 다음 프로젝트에 감사를 표합니다:
다음 자료와 연구는 Windows 커널 개발에 대한 이해를 높이는 데 매우 귀중했습니다:
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.