
Revenant - Havoc용 서드파티 에이전트로, C2 프레임워크 맥락에서 회피 기법을 시연합니다.
Revenant는 C로 작성되었으며 Talon을 기반으로 하는 Havoc용 서드파티 에이전트입니다. 이 임플란트는 은밀한 실행 방법, 강력한 기능, 그리고 더 많은 커스터마이징을 구현하여 Talon 임플란트를 확장하기 위한 것입니다.

이 프로젝트는 자체 포함된 Havoc C2 임플란트를 목표로 합니다. 목표로 하는 최종 사용자 기능은 다음과 같습니다:
- 저장소 다운로드
- Revenant.zip 압축 해제
- pip install black
- Havoc 시작 (./havoc server --profile ./profiles/havoc.yaotl -v --debug & ./havoc client )
- 루트 폴더로 이동
- python Revenant.py
- ???
- 이득
x86 및 Win 7 호환성:
- NativeAPI 비활성화
참고: Revenant는 NativeAPI 기능을 제공하기 위해 NtCreateUserProcess를 사용합니다. NtCreateUserProcess는 x86 또는 Win 7에서 지원되지 않습니다.
- pwsh - powershell.exe를 통해 명령 실행 -> pwsh ls
- shell - cmd.exe를 통해 명령 실행 -> shell dir
- download - 파일을 loot 폴더로 다운로드 -> download C:\test.txt
- upload - 파일을 원하는 폴더로 업로드 -> upload /home/test.txt C:\temp\test.txt
- exit - 현재 임플란트 종료 -> exit
- Sleep - 대기 시간을 초 단위로 설정
- Polymorphic - 빌드 및 실행 시간에 다형성(Polymorphism) 활성화/비활성화
- Obfuscation - XOR로 문자열 난독화
- Arch - x86/x64
- Native - 구현된 곳에서 NativeAPI 사용
- AntiDbg - 초기화 시 안티디버그 검사 활용
- RandCmdIDs - 명령 ID 무작위화
- Unhooking - GhostFart/Perun의 Fart 기법으로 언훅, 명령 실행, 재훅
참고: RandCmdIDs는 출력 실행 파일의 CmdID를 무작위화합니다. Revenant는 이러한 무작위 CmdID를 저장하지 않습니다. 이들은 활성 세션에서만 작동합니다. 재사용 가능한 실행 파일이 필요하다면 이 옵션을 활성화하지 마세요.
- exec-assembly 추가
- cd, ls, whoami 명령 추가
- 엔트로피 감소