
HydraDragonAntivirus openedr-demo
동적 및 정적 분석과 Windows용 안티바이러스 실시간 악성코드 분석(Real Time Malware Analysis with Antivirus for Windows)을 포함하며, 오픈소스 XDR(3개의 EDR 프로젝트), ClamAV, YARA-X, 머신러닝 AI, 행동 분석, Unpacker, Deobfuscator, Decompiler, 웹사이트 시그니처, Ghidra, Suricata, Sigma, 커널, 하이퍼바이저 기반 보호 및 상상 그 이상의 기능을 제공합니다.
Hydra Dragon Antivirus
📚 자세한 문서, 아키텍처 다이어그램 및 구성 요소 가이드를 보려면 프로젝트 위키를 방문하십시오.
경고: 활발한 개발 진행 중
이 프로젝트는 프로덕션 환경에 적합하지 않습니다. 주요 변경 사항, 버그, 불완전한 기능이 발생할 수 있습니다.
⚠️ 공지: 이 저장소는 엄격히 전문 맬웨어 분석가와 보안 연구원을 대상으로 합니다. 안전하게 다루려면 전문 지식이 필요한 저수준 시스템 구성 요소와 실험적 보안 드라이버가 포함되어 있습니다.
[!CAUTION]
🛑 사용자 책임 및 보호 기능 제한
HydraDragon은 악성 자동화 위협으로부터 보호하도록 설계되었으며, 인간의 실수나 의도적인 시스템 변경은 보호 대상이 아닙니다.
- 수동 삭제: 안티바이러스는
rd C: /s /q같은 명령을 실행하거나 사용자가 직접 파일을 삭제하는 것을 막지 않습니다. 관리자(Administrator)인 사용자가 명시적으로 무언가를 삭제하는 경우 이를 맬웨어 침입이 아닌 실제 사용자 실수로 인식합니다. 시스템은 의도적인 관리 결정을 간섭 없이 허용하도록 설계되었습니다.- 드라이버/시스템 잘못된 구성: 이 소프트웨어는 호환되지 않는 드라이버의 수동 설치나 잘못된 시스템 설정을 보호하지 않습니다. 수동 레지스트리 편집이나 드라이버 실험으로 인한 "Inaccessible Boot Device" 또는 기타 시스템 오류는 맬웨어 동작으로 간주되지 않으며 차단되지 않습니다.
- 실험적 특성: 이 실험적 소프트웨어를 사용하여 발생한 데이터 손실이나 시스템 불안정에 대한 책임은 사용자에게 있습니다. 항상 가상 머신(VM)에서 먼저 테스트하십시오.
1인 프로젝트
- HydraDragon은 주로 한 명의 개발자가 만든 3년 차 독립 오픈소스 안티바이러스/EDR 프로젝트입니다.
TODO
- 프로젝트에 HydraDragonIDE 추가 (정적 분석기).
- 실제 오픈소스가 아닌 Npcap을 제거하고 커스텀 Suricata 빌드로 대체.
프로젝트 기능 정보
- 약 한 달 전에 말했듯이: 참고: 이 프로젝트는 생각보다 훨씬 복잡해져서 전문 테스트에 참여하는 최초의 오픈소스 안티바이러스가 되기 위해 Android로 전환하여 AV-Test에 참여하게 되었습니다: https://github.com/HydraDragonAntivirus/HydraDragonAV-Mobile
- 이번 업데이트: 실제 환경에서는 무거운 시그니처 없이 실시간 보호에 집중해야 하므로, 최상의 시그니처만 사용하고 Owlyshield + OpenEDR + Firewall만 남기고 동적 분석 기반 안티바이러스 기능을 많이 제거할 계획이었습니다.
- 그래서 이번에도 매우 복잡한 작업이 될 것입니다. 제게 행운을 빕니다.
PC 호환성
-
플랫폼 지원: 이 프로젝트는 오직 x86-64 Windows 전용입니다. aarch64 및 기타 아키텍처는 지원되지 않습니다.
-
이 설치 프로그램은 깨끗하거나 새로 포맷된 Windows PC에서 사용하도록 설계되었습니다.
-
최상의 결과를 얻으려면 필수 타사 구성 요소가 수동으로 설치되지 않은 시스템에만 HydraDragon Antivirus를 설치하십시오.
중요 공지
PC에 다음 프로그램 중 하나라도 이미 설치되어 있다면 이 설치 프로그램을 실행하지 마십시오:
- Python 3.12
- Node.js
- Npcap
- ClamAV
- Suricata
- OpenEDR 또는 관련 EDR 구성 요소
이러한 구성 요소가 이미 설치된 시스템에 HydraDragon Antivirus를 설치하면 버전 충돌, 경로 문제, 서비스 충돌 또는 예기치 않은 설치 프로그램 동작이 발생할 수 있습니다.
권장 사용
이 설치 프로그램은 다음 환경에서 사용하십시오:
- 새 Windows 설치
- 깨끗한 테스트 머신
- 가상 머신
- 기존 안티바이러스 엔진 종속성이 없는 PC
필요한 구성 요소가 이미 설치되어 있다면 HydraDragon Antivirus를 설치하기 전에 먼저 제거하거나 깨끗한 Windows 환경을 사용하십시오.
중요 참고 사항 및 제한 사항
프로젝트 범위
HydraDragon은 현재 활발하고 실험적인 개발 중인 로컬 안티바이러스(Xcitium 클라우드 제외) 프로젝트입니다.
- 시스템에서 로컬로 작동합니다.
- 연구, 학습 및 맬웨어 분석 실험을 위해 만들어졌습니다.
이 프로젝트는 일상적으로 사용하는 기본 안티바이러스 솔루션을 대체하기 위한 것이 아닙니다.
탐지 철학
- 오탐(false positive)이 발생할 수 있습니다.
- 이 시스템은 머신이 깨끗한 상태(감염 후 상태가 아님)라고 가정합니다.
- 이 프로젝트는 속도보다 더 깊은 분석을 우선시합니다.
- 목표는 빠르지만 얕은 탐지보다 장기적인 탐지 개선입니다.
- 이것은 프로젝트가 99% 탐지율을 달성한다는 의미가 아니라 개발 철학만을 반영한 것입니다.
- 이 안티바이러스는 최상의 시그니처뿐만 아니라 거의 모든 새로운 시그니처도 사용합니다. 그래서 무겁습니다.
실험적 상태
- 매우 실험적인 프로젝트입니다.
- 이전 버전의 일부 아키텍처 결정은 최적이 아니었고 안정성에 영향을 미쳤습니다.
- 프로젝트는 활발히 개선되고 정제되고 있습니다.
- 주의해서 사용하십시오.
알려진 제한 사항
- 2GB보다 큰 파일은 스캐너가 건너뛰며 스캔되지 않습니다. 건너뛴 파일을 안전한(clean) 파일로 취급하지 마십시오.
- 투명 TLS 프록시/검사기는 인증서 설치 동의가 활성화된 경우 로컬 HydraDragon Firewall CA 인증서를 설치할 수 있습니다. 방화벽 GUI에서 수동으로 추가/제거할 수 있으며, 제거 프로그램은 최선을 다해 제거합니다.
샘플 탐지 정책
-
아주 오래된 맬웨어 샘플은 탐지되지 않을 수 있습니다.
-
시그니처 폐기 참조: https://blog.clamav.net/2025/12/clamav-signature-retirement.html
-
부팅 중요 필터:
MBRFilter는 이제 SERVICE_BOOT_START (0) UpperFilter로 구성됩니다. 이는 디스크 스택이 초기화되는 첫 순간부터 마스터 부트 레코드(Master Boot Record)가 보호되도록 보장하여 부트킷 및 Petya 스타일 랜섬웨어에 대한 하드웨어 수준의 저항력을 제공합니다. -
정크(junk)처럼 보이거나 완전히 알 수 없는 데이터로 보이는 파일은 의도적으로 무시될 수 있습니다.
-
PE 헤더가 제거되면 일부 탐지 엔진은 더 이상 해당 파일을 플래그하지 않을 수 있습니다.
-
규칙 로직에 따라 YARA 탐지가 여전히 발생할 수 있습니다(예: 파일 유형을 확인하지 않는 규칙).
예:
PE 헤더 제거 샘플: https://www.virustotal.com/gui/file/9b7e921e971fe7523ba83a4599b4006ad214854eb043372129e4f5a68c5a427f
원본 샘플: https://www.virustotal.com/gui/file/1ef6c1a4dfdc39b63bfe650ca81ab89510de6c0d3d7c608ac5be80033e559326
설치 및 사용 참고 사항
[!IMPORTANT] OpenEDR 긴 경로 문제: OpenEDR에는 Windows 기본 260자 경로 제한을 초과하는 깊게 중첩된 디렉터리 구조가 포함되어 있습니다. 클론하거나 빌드하기 전에 다음을 실행하십시오:
git config --global core.longpaths true이 작업 없이는 OpenEDR 구성 요소를 클론하거나 빌드할 때 경로 관련 오류로 실패합니다.
- 설치 과정은 완전히 자동화되어 있지 않습니다. Npcap, 드라이버, 방화벽 구성 요소 및 기타 일부 종속성은 설치 중 수동 승인이 필요할 수 있습니다.
- 자동 제거 프로그램에 문제가 발생한 경우 ELAM 드라이버를 수동으로 제거해야 합니다. 레지스트리 정리 단계는 **제거 가이드**를 참조하십시오.
- 설치 중 발생하는 일시적인 ClamAV 업데이트 오류는 무시해도 됩니다.
- 드라이버 설치가 실패하면 Secure Boot를 비활성화하고 다시 시도하십시오.
- 일부 보호 기능이 활성화된 것처럼 보여도 안티바이러스 인터페이스가 완전히 로드될 때까지 기다리는 것이 좋습니다.
- ELAM은 테스트 서명 모드에서 자동 시작할 수 없으므로, 드라이버가 악용되어 실행되는 것을 방지하기 위해 안티바이러스의 시작을 지연시킵니다. (참고: 모든 드라이버는 서명되어야 합니다. WDK 테스트 서명은 일반 개발에는 허용되지만 ELAM 드라이버에는 충분하지 않습니다).
- Sanctum의
cert.ps1/sign.bat/build.rs해시 루프는 개발 및 CI 테스트 산출물 프로세스 전용입니다. 실제 프로덕션에서는sanctum.sys를 로컬 자체 서명sanctum.pfx, 샘플 PFX 암호, 테스트 서명/디버그 모드 부팅 설정 또는 CI 생성 ELAM 해시와 함께 배포하지 마십시오. 프로덕션 드라이버 릴리스는 보호된 릴리스 서명 파이프라인과 Microsoft Partner Center / Hardware Dev Center 서명을 사용해야 합니다. ELAM의 경우 이 로컬 자체 서명 루프 대신 HLK/WHCP 패키지 제출 경로를 사용하십시오. Sanctum 서명 참고 사항을 참조하십시오. - 안티바이러스가 완전히 작동하려면 메모리 무결성(Memory Integrity)을 비활성화해야 합니다. 참조: https://github.com/adrianyy/kernelhook/issues/1
프로세스 보호 및 오케스트레이션
- 통합 오케스트레이션:
HydraDragonController는 전체 보안 스택의 마스터 오케스트레이터 역할을 합니다. C++ AV 엔진, Python EDR 코어 및 Sanctum PPL Runner의 수명 주기를 관리합니다. - 보호된 런처: 안티바이러스 런처 자체가 보호됩니다. 관리자(Administrator)가 수동으로 종료할 수는 있지만, 드라이버가 모든 종료 요청의 출처를 확인하므로 맬웨어는 이를 종료할 수 없습니다.
- 수동 제어: GUI를 수동으로 닫아도 백그라운드 보안 엔진은 계속 활성화되어 있습니다.
격리 디렉터리
C:\ProgramData\HydraDragonQuarantine
랜섬웨어 복구 제한 사항
- 현재 랜섬웨어 대응은 탐지, 차단, 프로세스 종료, 격리 및 원격 측정(telemetry)에 중점을 둡니다.
- 현재 랜섬웨어가 파일을 수정하거나 암호화한 후 자동 파일 복원 대체 기능은 없습니다.
- 섀도 복사본(Shadow Copy) 기반 파일 롤백이 존재하지만 이를 신뢰하지 마십시오.
- 지원되는 랜섬웨어 관련 지속성 또는 구성 변경에 대한 레지스트리 롤백은 이미 존재합니다. 이는 파일 콘텐츠 복원과 별개입니다.
- 독립적인 백업과 복원 지점을 유지하십시오. 탐지는 복구를 대체하지 않습니다.
방화벽 / HIPS 알림 참고 사항
- 방화벽 "새 연결" 알림에서 나타나는 모든 알림을 격리하지 마십시오.
- 새 연결 알림은 완전한 자동 맬웨어 판정과 동일하지 않습니다.
- 방화벽 및 HIPS 원격 측정은 여전히 부분적으로 분리되어 있으므로 일부 알림은 정보 제공용이거나 상황에 따라 다르며, 격리 전에 수동 검토가 필요합니다.
- 모든 네트워크 알림이 악성이라고 가정하지 말고 먼저 프로세스 경로, 부모 프로세스, 대상 및 기타 원격 측정을 검토하십시오.
설명
현재 단계에서:
-
애플리케이션은 로컬에서만 작동합니다(Xcitium 클라우드 제외).
-
기능이 불완전하거나 불안정할 수 있습니다.
-
사전 공지 없이 주요 변경 사항이 발생할 수 있습니다.
-
이 프로젝트는 프로덕션 환경에 적합하지 않으며 개발 및 테스트 목적으로만 사용해야 합니다.
-
Windows용 안티바이러스와 실시간 맬웨어 분석을 통한 동적·정적 분석 기능을 갖추고 있으며, 오픈소스 XDR(3개 EDR 프로젝트), ClamAV, YARA-X, 머신러닝 AI, 행동 분석, 언패커(Unpacker), 디오브퓨스케이터(Deobfuscator), 디컴파일러(Decompiler), 웹사이트 시그니처, Ghidra, Suricata, Sigma, 커널, 하이퍼바이저 기반 보호 등 상상할 수 있는 것보다 훨씬 많은 기능을 제공합니다.
라이선스
이 프로젝트는 GNU General Public License v2.0(GPLv2)에 따라 라이선스가 부여됩니다.
자세한 내용은 LICENSE 파일을 참조하십시오.
머신러닝 맬웨어 및 정상(베니그) 데이터베이스 다운로드
-
최신 데이터베이스:
-
PE 정상 데이터베이스(202k+): 다운로드 링크
-
JS 정상 데이터베이스(53k+)다운로드 링크
-
JS 맬웨어 데이터베이스(39k+): 다운로드 링크
-
PE 맬웨어 데이터베이스는 동일하게 유지됩니다.
-
이전 데이터베이스(오탐 및 미탐 포함):
-
PE 맬웨어 데이터베이스(53k+): 다운로드 링크
-
PE 정상 데이터베이스(204k+): 다운로드 링크
-
JS 정상 데이터베이스(53k+): 다운로드 링크
-
JS 맬웨어 데이터베이스(39k+): 다운로드 링크
-
참고: 이 컬렉션에는 10MB 미만의 PE 파일만 포함되어 있습니다. 제 USB 메모리가 고장나서 더 이상 복구할 수 없기 때문에 약 6,000개의 정상 샘플이 영원히 손실되었습니다. 이 중 일부 샘플은 VirusTotal에도 없던 것이었습니다.
-
비밀번호: infected
머신러닝 학습 가이드
- 악성(datamaliciousorder) 및 정상(data2) 데이터베이스를 설치한 다음, train.py에서 requirements.txt를 설치하고 datamaliciousorder 및 data2와 같은 폴더에서 train.py를 실행하기만 하면 됩니다.
- 그런 다음 results.pkl을 삭제하고 ml_definitions.pkl을 results.pkl로 이름을 변경하여 피클(pickled) 데이터를 통합하십시오.
소스에서 컴파일하는 방법
- 빌드 문서는 구성 요소별 페이지로 분할되고 있습니다.
- 시간이 지남에 따라 더 많은 구성 요소별 페이지가 추가될 예정입니다.
Ghidra 소스 코드
- 현재 12.0.4를 사용 중입니다: https://ghidra-sre.org/
Java Development Kit
설치
- 릴리스에 있는 설치 파일 HydraDragonAntivirus.exe
제거
커널 드라이버와 시스템 서비스를 완전히 제거하려면 **제거 가이드**를 따르십시오.
[!IMPORTANT] 보호된 드라이버 파일(
.sys) 및 관련 DLL을 완전히 제거하려면 **안전 모드(Safe Mode)**로 재부팅해야 합니다.
Ghidra
- Ghidra: %ProgramFiles%\aHydraDragonAntivirus\hydradragon\ghidra
- Ghidra scripts: %ProgramFiles%\aHydraDragonAntivirus\hydradragon\scripts
Sigma-HQ - Hayabusa
- https://github.com/Yamato-Security/hayabusa/releases/tag/v3.9.0 (hayabusa-3.9.0-win-x64.zip)
중요
- 취약한 드라이버 및 감염 후 위험: 이 프로젝트는
WinDivert와 같은 드라이버를 사용합니다. 이러한 드라이버는 현재 취약합니다. 이 드라이버가 악용되는 것이 보이면 아마도 감염된 것입니다. - 감염 후 시나리오: 기본적으로 이 프로젝트는 설치 시점에 시스템이 깨끗한 상태라고 가정합니다. 이미 감염된 시스템을 정리하거나 복구하도록 설계되지 않았습니다.
- 책임 없음: 이미 손상된 시스템에 이 소프트웨어를 설치하면 상주 맬웨어가 이러한 드라이버나 중앙 집중식 종속성 구조(Python/Node.js)를 악용하여 권한을 상승시키거나 지속될 수 있습니다. 개발자는 감염 후 시나리오에서 발생한 어떠한 손상에도 책임이 없습니다.
- 안전 모드에서 실행하지 마십시오: HydraDragonAntivirus는 안전 모드와 호환되지 않으며, 안전 모드에서 실행하는 것은 강력히 권장되지 않습니다. 맬웨어가 안전 모드를 악용하는 것을 방지하기 위해 HydraDragonAntivirus에는 안전 모드 부팅 옵션 활성화, 관련 레지스트리 설정 수정 또는 시스템을 안전 모드로 부팅하도록 강제하는 시도를 탐지하는 안전 모드 보호 규칙이 포함되어 있습니다.
- QUIC 프로토콜 차단: HydraDragon Firewall은 맬웨어가 기존 TLS 검사를 우회하지 못하도록 기본적으로 QUIC(UDP 포트 443) 트래픽을 차단합니다. 이로 인해 애플리케이션이 표준 HTTPS/TLS를 사용하게 되어 적절한 딥 패킷 검사가 가능해집니다. 일부 최신 애플리케이션(Chrome, Firefox 등)은 QUIC에서 HTTPS로 대체하면서 초기 연결 지연이 발생할 수 있습니다.
공격이 어떻게 가능한가 (위협 모델)
감염 후 상태에서 맬웨어는 이미 **선제 이점(First Mover Advantage)**을 가지고 있습니다. 이 프로젝트는 서명되지 않은 드라이버와 하드코딩된 커널 보호 규칙(예: OwlyshieldRansomFilter 및 OpenEDR 자체 방어 정책)을 사용하기 때문에 공격자는 다음을 수행할 수 있습니다:
- 디렉터리 스쿼팅(Directory Squatting): 맬웨어는 설치 프로그램을 실행하기 전에
C:\Program Files\HydraDragonAntivirus를 미리 생성합니다. 제한적인 ACL을 설정하거나 "오염된(Poisoned)" 구성 파일을 놓습니다. 드라이버가 시작되면 하드코딩된 경로에서 이러한 악성 규칙을 무비판적으로 로드합니다. - 종속성 하이재킹: Python과 Node.js가 AV의 하위 디렉터리에 설치되므로 맬웨어는 악성
python312.dll또는node.exe를 해당 폴더에 넣을 수 있습니다. 그러면 AV는 정상 작동 중에 관리자 권한으로 악성 코드를 모르는 사이에 실행하게 됩니다. - 취약한 드라이버 악용(BYOVD): 공격자는 "자신의 취약한 드라이버를 가져오거나(Bring Their Own Vulnerable Driver)"(또는 여기에 포함된 드라이버를 악용하여) Windows 커널 보호를 우회할 수 있습니다. ELAM과 디지털 서명이 없으면 AV는 부팅 프로세스 중에 자신의 신원이나 환경의 무결성을 확인할 수 없습니다.
강화된 규칙 전달 및 보안 아키텍처
HydraDragon은 감염 후 변조와 경로 기반 공격을 방지하기 위해 **제로 디스크 규칙 아키텍처(Zero-Disk Rule Architecture)**를 사용합니다(커널 대상):
- 제로 디스크 종속성: 커널 드라이버는 더 이상 하드코딩된 디스크 경로(예:
C:\Program Files\HydraDragonAntivirus\hydradragon)에서 구성 또는 제외 규칙을 읽지 않습니다. 이로 인해 공격자가 드라이버 초기화 전에 규칙 파일을 교체하거나 "오염"시킬 수 있는 디렉터리 스쿼팅 및 TOCTOU(검사 시점과 사용 시점) 취약점이 제거됩니다. - 초기 부팅 복원력: 규칙을 디스크에서 메모리로 옮김으로써 조기 실행 맬웨어가 AV 서비스 시작 전에 규칙 파일을 삭제하거나 교체하려는 공격을 완화합니다. 그러나 맬웨어가 이미 지속성을 확보한 "감염 후" 시나리오에서는 AV 바이너리 자체를 삭제하려고 시도할 수 있습니다. 이에 대응하기 위해 HydraDragon은 ELAM(조기 실행 안티맬웨어) 및 **PPL(Protected Process Lite)**에 의존하여 타사 악성 코드가 실행되기 전에 안티바이러스 코어가 초기화되고 자체를 보호하도록 합니다.
[!IMPORTANT] 드라이버 보안을 위해 하드코딩된 디스크 경로를 피하는 것이 왜 중요한지에 대한 자세한 보안 분석은 프로젝트 위키의 보호 메커니즘 섹션을 참조하십시오.
- 연결 속도 저하를 방지하려면 C:\Program Files\HydraDragonAntivirus\hydradragon\HydraDragonFirewall\settings.json에서 "late_blocking_mode"가 true로 설정되어 있는지 확인하십시오. 이로 인해 맬웨어 탐지가 다소 늦어질 수 있습니다.
- 디버깅을 위해 HKEY_LOCAL_MACHINE\SOFTWARE\Owlyshield\VERBOSE_LOGGING을 1로 설정하는 것을 기억하십시오.
- 방화벽이 실행되는 동안 Windows에 표시되는 인증서 신뢰 대화 상자를 수락하십시오.
- 프로그램을 다시 시작하면 모든 로그가 제거됩니다. 그러니 주의하십시오!
- 분석 후 프로그램을 다시 시작해야 합니다.
- 로그에 IP를 공유하지 마십시오.
- ClamAV 데이터베이스가 문제없이 설치되었는지 확인하십시오.
- 작업 전에 스냅샷을 찍고 작업이 끝난 후 복원하는 것을 강력히 권장합니다.
- 사용자 이름을 무작위로 설정하십시오(예: 안티 분석 방지 목적).
- 설치 프로그램에는 ClamAV 데이터베이스 다운로드 문제로 인해 daily.cvd, main.cvd, bytecode.cvd도 포함되어 있습니다.
- 러시아 IP에서는 ClamAV 시그니처를 설치할 수 없습니다. https://github.com/Cisco-Talos/clamav/issues/500
Discord 커뮤니티 서버
- 서버 링크는 다음과 같습니다: https://discord.gg/7XMCuj5mbP
환경 준비
- 랜섬웨어 탐지를 위해 너무 많은 파일을 생성합니다.
가이드
참고 1:.
- Windows 방화벽에서 Java를 허용하십시오. Java가 PE 파일을 디컴파일하기 때문입니다.
참고 2:
- 문제를 발견하면 이슈(issue)를 생성해 주십시오. 웹사이트 시그니처는 난독화되어 있지 않아 안티바이러스 소프트웨어가 반응할 수 있으므로
%ProgramFiles%\aHydraDragonAntivirus\hydradragon폴더를 제외하십시오. 위험 때문에 VM에서만 사용하십시오.
참고 3:- https://github.com/icsharpcode/ILSpy/tree/master/ICSharpCode.ILSpyCmd
-
https://github.com/GDATAAdvancedAnalytics/de4dotEx/releases/tag/3.4.0
-
https://www.rathlev-home.de/index-e.html?tools/prog-e.html#unpack
-
https://github.com/glmcdona/Process-Dump/releases/tag/v2.1.1
-
https://github.com/radareorg/radare2/releases/tag/6.1.4 (radare2-6.1.4-w64.zip)
-
디컴파일에 다음 프로젝트를 사용했습니다.
-
AI에 다음 프로젝트를 사용했습니다.
-
EDR에 다음 프로젝트를 사용했습니다(최신 포크는 다른 저장소가 아닌 메인 저장소에 추가되었습니다).
-
https://github.com/danisss9/Xvirus (malvendor.db)
-
안티바이러스에 다음 프로젝트를 사용했습니다.
-
후킹에 다음 프로젝트를 사용했습니다.
-
MITM에 다음 프로젝트를 사용했습니다.
-
시그니처 기반 탐지에 다음 프로젝트를 사용했습니다.
-
MBR 보호에 이 프로젝트를 사용했습니다.
-
https://github.com/clamwin/python-clamav (C++로 변환함)
-
안티바이러스 최적화에 다음 프로젝트를 사용했습니다.
-
https://github.com/HyperDbg/RedDbg (SimpleSVM과 통합해야 할 수도 있지만 지금은 이것을 사용합니다.)
-
하이퍼바이저에 다음 프로젝트를 사용했습니다.
-
화이트리스트에 다음 프로젝트를 사용했습니다.
-
https://github.com/swelljoe/clam-juice/blob/main/clam_juice.py
-
안티바이러스가 시그니처 비대화 없이 작동하도록 다음 프로젝트를 사용했습니다.
-
https://github.com/HydraDragonAntivirus/HydraDragonAntivirus/releases/tag/HashDatabase
-
해시 기반 탐지에 다음 프로젝트를 사용했습니다.
Note 4:.
- 설치하려면 인터넷 연결이 필요합니다. 오프라인 설치 프로그램이 아닙니다.
- 설치 프로그램 참고: 설치 시 Hyper-V/VBS를 비활성화하거나 재부팅을 요청하는 경우, 이는 이 저장소의 Windows 드라이버와 테스트 호환성을 위한 것뿐입니다.
- 위키나 다른 폴더에 언급된 별도의 하이퍼바이저 자료와는 다른 것입니다.
Note 5:
- 랜섬웨어 등에 대한 파일 처리 중 공간을 너무 많이 차지하므로 정리를 잊지 마세요.
- 모든 것을 로그로 기록하기 때문에 저장 공간이 많이 필요합니다.
Note 6:
- 인터넷에서 모든 악성 IP와 도메인을 수집했습니다. 따라서 오탐이 많을 수 있지만 제가 처리합니다.
Note 7:
- Inno Setup 버전 6.7.3
Note 8:
- Sanctum 스캐너는 전체 안티바이러스 엔진 스캔이 아닙니다. 일부 정적 구성 요소만 확인합니다.
팁
팁 1:
- 머신에서 수상한 VM 이름을 사용하지 마세요. (John Doe 등)
팁 2:
- VSCode, VSCodium 또는 다른 편집기를 사용하여 .log 파일의 실시간 변경 사항을 확인하세요.
팁 3:
- 로그를 찾을 수 있는 위치:
- 코어 엔진(AV/Python):
%ProgramFiles%\HydraDragonAntivirus\hydradragon\antivirus_scripts\log\에서 확인하세요. - Sanctum 엔진:
%ProgramFiles%\HydraDragonAntivirus\hydradragon\Sanctum\logs\sanctum.log에서 확인하세요. - Sanctum PPL Runner: 이 구성 요소는 Windows 이벤트 로그에 기록합니다(원본:
SanctumPPLRunner). 이벤트 뷰어 -> Windows 로그 -> 응용 프로그램을 확인하세요. - 메인 컨트롤러: Windows 이벤트 로그에 기록합니다(원본:
HydraDragonController).
- 코어 엔진(AV/Python):
팁 4:
- 방화벽 차단을 피하려면 VM에서 Windows 방화벽을 끄세요. 우리는 이 프로그램을 테스트하는 것이지 Windows 방화벽을 테스트하는 것이 아닙니다.
FAQ
자주 묻는 질문은 FAQ.md를 참조하세요.
크레딧:
- 모든 크레딧은 Emirhan Uçan에게 있습니다(네, Yusif이 나타날 때까지 1인 프로젝트였습니다 https://github.com/Siradankullanici)
- 프로젝트가 1인 프로젝트로 남지 않도록 도와준 Yusif Musayev에게 감사합니다 (https://github.com/elnureisayeva1-cloud).
- 일부 머신러닝 시그니처를 수집하고 컴파일해 준 Hacı Murad에게 감사합니다 (https://github.com/hacimurad41).
- Intel에서 HyperVisior를 테스트해 준 Yusuf에게 감사합니다 (https://github.com/caymazyusuf72).
- .agent 폴더를 만들어 준 Emrah에게 감사합니다 (https://github.com/emrahd0732).
추출 및 디컴파일 디렉터리
이 문서는 실행 파일 분석 도구가 다양한 추출, 디컴파일 및 언패킹 작업에 사용하는 모든 출력 디렉터리를 설명합니다.
HydraDragon 추출 및 디컴파일 출력 — README
이 문서는 HydraDragon 분석 도구가 사용하는 출력 디렉터리와 각 디렉터리에 포함된 내용을 설명합니다. 분석가가 디컴파일/추출된 산출물을 빠르게 찾을 수 있도록 이 README를 분석 출력 옆에 두세요.
출력 구성 방식
- 각 추출기/디컴파일러는 분석 루트 아래의 전용 디렉터리에 기록합니다.
- 도구는 동일한 패커/결과가 여러 번 처리될 때 덮어쓰기를 방지하기 위해 번호가 매겨진 하위 폴더(
1/,2/, ...)를 만듭니다. - 원본 산출물로의 추적을 쉽게 하기 위해 가능한 한 파일 이름과 하위 폴더를 유지합니다.
- 디렉터리는 추출/디컴파일 모듈에 의해 자동으로 생성됩니다.
최상위 디렉터리 범주(빠른 참조)
- 패커/난독화 도구 추출:
hydra_dragon_dumper_extracted/,upx_extracted/,themida_unpacked/,vmprotect_unpacked/,debloat/ - .NET 분석:
dotnet/,obfuscar/,de4dot_extracted/,net_reactor_extracted/,un_confuser_ex_extracted/,eazfixer/ - Android/APK:
jadx_decompiled/,androguard/ - Python:
pyinstaller_extracted/,pyarmor8_and_9_extracted/,pyarmor7_extracted/,nuitka/,nuitka_extracted/,nuitka_source_code/,cx_freeze_extracted/,pylingual_extracted/,python_deobfuscated/,python_deobfuscated_marshal_pyc/,pycdas_extracted/,python_source_code/ - JavaScript / Node / Electron:
webcrack_javascript_deobfuscated/,asar/,npm_pkg_extracted/,decompiled_jsc/ - Java:
jar_extracted/,FernFlower_decompiled/ - 설치 프로그램 / 아카이브:
inno_setup_unpacked/,advanced_installer_extracted/,installshield_extracted/,zip_extracted/,seven_zip_extracted/,tar_extracted/,general_extracted_with_7z/,pe_extracted/ - 스크립트 디컴파일러:
autohotkey_decompiled/,autoit_extracted/ - Go / Ungarbler 출력:
ungarbler/,ungarbler_string/ - 기타 / 분석 산출물:
decompiled/,ole2/,memory/,resource_extractor/,html_extracted/
상세 디렉터리 설명
(각 줄은 디렉터리 이름과 해당 디렉터리에 있는 파일의 용도를 보여줍니다.)
hydra_dragon_dumper_extracted/— Hydra Dragon Dumper(Mega Dumper 포크) 추출 출력.enigma1_extracted/— Enigma Virtual Box 추출 파일.decompiled/— 기타 도구에서 디컴파일된 일반 파일.upx_extracted/— UPX(Ultimate Packer for eXecutables) 추출 파일.webcrack_javascript_deobfuscated/— webcrack으로 난독화 해제된 JavaScript 파일.inno_setup_unpacked/— Inno Setup 언패킹된 설치 프로그램 파일.autohotkey_decompiled/— AutoHotkey 스크립트 디컴파일 출력.themida_unpacked/— Themida 언패킹 출력.nuitka/— Nuitka onefile 추출 디렉터리.ole2/— OLE2 추출 리소스 및 복합 파일 구조.dotnet/— .NET 디컴파일 소스.jadx_decompiled/— JADX로 디컴파일된 APK(Java 소스).androguard/— androguard의 APK 디컴파일 출력(smali/java).asar/— ASAR(Electron) 아카이브 추출 내용.npm_pkg_extracted/— NPM 패키지 추출(JavaScript 번들).decompiled_jsc/— V8 / JSC 바이트코드 객체 및 디컴파일 산출물.obfuscar/— Obfuscar로 난독화된 .NET 어셈블리.de4dot_extracted/— de4dot으로 난독화 해제된 .NET 파일.net_reactor_extracted/— .NET Reactor Slayer 출력.un_confuser_ex_extracted/— UnConfuserEx 난독화 해제 출력.eazfixer/— Eazfuscator로 보호된 .NET 어셈블리의 EazFixer 난독화 해제 출력.pyinstaller_extracted/— PyInstaller onefile 추출 결과.pyarmor8_and_9_extracted/— PyArmor 8/9 언패킹 출력.pyarmor7_extracted/— PyArmor 7 전용 언패킹 출력.cx_freeze_extracted/— cx_Freezelibrary.zip내용 추출.pe_extracted/— PE 파일 내부 및 추출된 섹션/리소스.zip_extracted/— ZIP 아카이브 내용.seven_zip_extracted/— 7-Zip 아카이브 내용.general_extracted_with_7z/— 7-Zip 작업을 위한 일반 추출 영역.nuitka_extracted/— Nuitka 바이너리 출력 및 지원 파일.advanced_installer_extracted/— Advanced Installer 추출 출력.tar_extracted/— TAR 아카이브 내용.memory/— 동적 분석 메모리 덤프 파일(.dmp / 원시 메모리 덤프).resource_extractor/— 리소스 추출기로 추출한 RCData 및 포함된 리소스.ungarbler/— 난독화 해제된 Go(garble) 바이너리 및 출력.ungarbler_string/— Go Garble 출력에서 난독화 해제된 문자열.debloat/— 디블로트(불필요 요소 제거)된 파일 디렉터리(정리된 설치 프로그램/바이너리).jar_extracted/— JAR 파일 추출 내용.FernFlower_decompiled/— FernFlower로 디컴파일된 JAR.pylingual_extracted/— pylingual로 리버스된 Python 소스(.pyc -> .py).vmprotect_unpacked/— VMProtect 언패킹 디렉터리.python_deobfuscated/— 난독화 해제된 Python 소스.python_deobfuscated_marshal_pyc/— marshal 블롭에서 난독화 해제된 .pyc.pycdas_extracted/— pycdas / Decompyle++로 추출된 Python 소스. ( 21-Oct-2025)python_source_code/— 추출 및 정리된 Python 프로젝트 소스.nuitka_source_code/— Nuitka 리버스 엔지니어링된 소스 트리.html_extracted/— 분석 중 캡처된 HTML 및 웹 페이지 리소스.installshield_extracted/— InstallShield 언패킹 출력.autoit_extracted/— AutoIt 스크립트 추출 결과.
사용 방법 및 모범 사례
- 실행 후 각 추출 디렉터리를 검사하여 구성 블롭, 포함된 리소스, 문자열 및 의심스러운 바이너리를 찾으세요.
- 추출 출력을 다시 생성해야 하는 경우 해당 추출기를 다시 실행하세요. 번호가 매겨진 하위 폴더가 실수로 인한 덮어쓰기를 방지합니다.
문제 해결
- 디렉터리가 비어 있으면 해당 추출 로그에서 오류를 확인하세요. 바이너리가 손상된 경우 도구가 조용히 실패할 수 있습니다.
- 참조가 잘못된 형식으로 보이는 경우(예:
Unknown.0,Unknown) 제공된reference_fix_and_rebuild.py를 실행하여 참조를 정규화하고 다시 빌드하세요. - 로더가 느린 경우 조회할 때마다 모든 샤드를 다시 로드하는 대신 샤드 캐싱 또는 배치 쿼리를 활성화하세요(로더 문서 참조).
연락처
이 README를 변경하거나 새 추출기 디렉터리를 추가하려면 이 파일을 업데이트하고 저장소에 커밋하여 모든 사람이 매핑을 볼 수 있게 하세요.
후원:
- HydraDragonAV-Mobile 제작자에게 후원하려면 여기로 이동하세요:https://boosty.to/yusif_musayev/single-payment/donation/817954/target?share=target_link (Yusif Musayev HydraDragonAV-Mobile 제작자)