
서브도메인 열거, 포트 스캔, 취약점 스캔, 그리고 침투 테스트 워크플로우를 위한 AI 기반 탐색을 통합한 자동화된 웹 도메인 정찰 및 보안 평가 도구입니다.
소개 • 설치 • 사용법 • HaxUnit 실행 • 기능
HaxUnit은 웹 도메인을 위한 Python 기반의 포괄적인 정찰 및 보안 평가 도구입니다. 서브도메인 열거, 포트 스캐닝, 취약점 스캐닝 등을 위한 다양한 도구를 통합합니다.
HaxUnit은 단순성에 중점을 두며 웹 보안 평가를 위한 최고의 완벽한 솔루션을 목표로 합니다.
안정적인 설치를 위해 Docker Compose와 함께 HaxUnit을 사용하는 것이 좋습니다.
초기 설정에는 몇 분이 소요될 수 있습니다:
git clone https://github.com/Bandit-HaxUnit/haxunit && cd haxunit
.env.example을 .env로 이름을 바꾸고 API 키를 입력합니다.ACUNETIX_THRESHOLD=30
ACUNETIX_API_KEY=
NUCLEI_API_KEY=
WPSCAN_API_KEY=
PDCP_API_KEY=
chmod +x rebuild-compose.sh open-bash.sh
./rebuild-compose.sh
설치가 성공적으로 완료되면 Docker 컨테이너 내부에 있으며 HaxUnit을 실행할 준비가 됩니다:
🎉 설치 완료! 🎉
HaxUnit이 이제 사용할 준비가 되었습니다!
취약점을 찾아내고 프로처럼 패치할 시간입니다! 🕵️♂️🔍
🚀 스캔을 시작하려면 다음 명령어를 실행하세요:
haxunit -d <domain>
이제 HaxUnit으로 도메인 스캔을 시작할 준비가 되었습니다!
HaxUnit 컨테이너 내부에서 bash 셸을 열려면 다음 명령어를 실행하세요:
./open-bash.sh
시스템에 다음 소프트웨어가 설치되어 있는지 확인하세요:
python3 (>=3.10)go (>=1.22)docker.io (>=20.10.7)저장소 클론:
터미널을 열고 다음 명령어를 실행하여 저장소를 클론하고 프로젝트 디렉터리로 이동합니다:
git clone https://github.com/Bandit-HaxUnit/haxunit && cd haxunit
python3.11-venv 설치 (필요한 경우):
venv 모듈이 설치되어 있지 않다면 설치해야 할 수 있습니다. Python 버전에 따라 다음 명령어 중 하나를 실행하세요:
sudo apt update
sudo apt install python3.11-venv
또는 Python 3.10의 경우:
sudo apt update
sudo apt install python3.10-venv
가상 환경 생성:
haxunit-venv라는 이름의 가상 환경을 생성합니다:
python3 -m venv haxunit-venv
가상 환경 활성화:
다음 명령어를 사용하여 가상 환경을 활성화합니다:
source haxunit-venv/bin/activate
참고: 나중에 가상 환경을 비활성화하려면 deactivate를 실행하면 됩니다.
필수 패키지 설치:
가상 환경이 활성화된 상태에서 필요한 패키지를 설치합니다:
python3 -m pip install -r requirements.txt
모든 것이 올바르게 설치되면 다음 출력이 표시되어야 합니다:
[HaxUnit] [Init] 모든 도구가 성공적으로 설치되었습니다 - 행운을 빕니다!
이제 설치 프로세스는 효율적인 도구 관리를 위해 pdtm (ProjectDiscovery Tool Manager)을 사용하며 이미 설치된 도구를 다시 설치하지 않도록 지능적인 검사를 포함합니다.
haxunit -h
그러면 도구에 대한 도움말이 표시됩니다. 지원되는 모든 스위치는 다음과 같습니다.
usage: main.py [-h] [-d DOMAIN] [-m {quick,extensive}] [-v] [-b BIN] [-is ISERVER] [-it ITOKEN] [-acu] [-y] [-u] [-i] [--wpscan-api-token WPSCAN_API_TOKEN]
[--use-notify] [--cloud-upload] [--htb] [--fuzz] [--use-gpt] [--skip-installers]
HaxUnit - 웹 도메인 정찰 도구
선택적 인수:
-h, --help 이 도움말 메시지를 표시하고 종료
-d DOMAIN, --domain DOMAIN
정찰할 웹사이트: example.com
-m {quick,extensive}, --mode {quick,extensive}
스캔 모드 설정
-v, --verbose 더 많은 정보 출력
-b BIN, --bin BIN 사용할 Python bin 설정
-is ISERVER, --iserver ISERVER
자체 호스팅 인스턴스용 interactsh 서버 URL
-it ITOKEN, --itoken ITOKEN
자체 호스팅 interactsh 서버용 인증 토큰
-acu, --use-acunetix Acunetix 통합 활성화
-y, --yes 모든 프롬프트에 예
-u, --update 모든 도구 업데이트
-i, --install 모든 도구 설치
--wpscan-api-token WPSCAN_API_TOKEN
취약점 데이터를 표시할 WPScan API 토큰
--use-notify 완료 시 notify 실행
--cloud-upload 결과를 ProjectDiscovery 클라우드에 업로드
--htb HackTheBox 모드
--fuzz ffuf 퍼징 활성화
--use-gpt GPT 제안 활성화
--skip-installers 도구 설치 검사 건너뛰기
example.com에서 빠른 스캔 실행:
haxunit -d example.com
example.com에서 기본적으로 도메인 추가에 예라고 응답하며 빠른 스캔 실행:
haxunit -d example.com -y
example.com에서 Acunetix를 사용하고 결과를 ProjectDiscovery 클라우드에 업로드하며 광범위 스캔 실행:
haxunit -d example.com -m extensive --use-acunetix --cloud-upload
더 빠른 시작을 위해 설치 검사 건너뛰기 (도구가 설치되어 있음을 알고 있을 때):
haxunit -d example.com --skip-installers
스캔 결과는 다음 디렉터리 구조에 저장됩니다:
scans/
└── example.com/
└── timestamp/
example.com을 대상 도메인으로, timestamp를 스캔이 수행된 날짜와 시간으로 바꾸세요.
이 구조는 scans 디렉터리 내의 해당 도메인 폴더 아래에 스캔 결과를 시간순으로 정리합니다.
이 저장소에는 HaxUnit 스캔 프로세스를 자동화하는 샘플 Apache Airflow DAG가 포함되어 있습니다.
dags 디렉터리에 클론하세요. git clone https://github.com/Bandit-HaxUnit/haxunit && cd haxunit
.env.example을 .env로 이름을 바꾸고 API 키를 입력하세요.ACUNETIX_THRESHOLD=30
ACUNETIX_API_KEY=
NUCLEI_API_KEY=
WPSCAN_API_KEY=
PDCP_API_KEY=
notify-config.yaml.example을 notify-config.yaml로 이름을 바꾸세요.Slack 알림을 위한 예제 구성:
slack:
- id: "slack"
slack_channel: "automated-pentest"
slack_username: "HackerBot"
slack_format: "{{data}}"
slack_webhook_url: "https://hooks.slack.com/services/XXXXX"
DAG 설정:
dags.py.example을 dags.py로 이름을 바꾸고 필요에 따라 구성하세요.
알림을 활성화하려면 --use-notify를 사용하는 것을 잊지 마세요.
HaxUnit 빌드 및 실행:
알림 설정을 구성한 후 다음 명령어로 HaxUnit을 빌드하고 실행하세요:
chmod +x rebuild-compose.sh && ./rebuild-compose.sh
이 단계를 따르면 이제 Apache Airflow를 사용하여 침투 테스트를 자동화할 수 있습니다. 간소화된 프로세스를 즐기세요!
HaxUnit은 Acunetix의 REST API를 활용하여 그룹 생성을 자동화하고 스캔을 시작합니다.
API 키를 생성하려면 프로필 페이지를 방문하세요.
API 키를 .env 파일에 입력하세요.
ACUNETIX_API_KEY=
변경 사항을 적용하려면 Docker Compose를 다시 빌드하세요:
./rebuild-compose.sh
Acunetix와 함께 HaxUnit을 실행하려면 다음 명령어를 사용하세요:
haxunit -d example.com --use-acunetix
Acunetix를 설치하려면 다음 명령어를 실행하세요:
bash <(wget -qO- https://raw.githubusercontent.com/Bandit-HaxUnit/acu/main/install.sh)
이 명령어는 Acunetix 컨테이너를 다운로드하여 설치합니다.
설치가 완료되면 HaxUnit과 함께 Acunetix를 사용할 수 있습니다.
Acunetix는 https://localhost:3443에서 접근할 수 있습니다.
Username: [email protected]
Password: [email protected]
설치 스크립트 실행:
마지막으로 --install 플래그와 함께 메인 스크립트를 실행합니다:
python3 main.py --install
| 기능 | 유형 | 설명 |
|---|
| dnsx_subdomains | 서브도메인 발견 | dnsx를 사용하여 서브도메인 찾기 및 브루트포스 서브도메인 |
| subfinder | 서브도메인 발견 | subfinder를 사용하여 서브도메인 찾기 |
| chaos | 서브도메인 발견 | 수동적 서브도메인 열거를 위해 ProjectDiscovery의 Chaos 데이터베이스 쿼리 |
| subwiz | 서브도메인 발견 | 머신러닝을 사용한 AI 기반 서브도메인 예측 |
| katana | 크롤링 | 서브도메인 목록의 모든 URL을 수집하고 unfurl을 사용하여 도메인 파싱 |
| alterx | 서브도메인 순열 | 서브도메인 순열 생성 및 테스트 |
| dnsx_ips | IP 주소 가져오기 | dnsx를 사용하여 A 레코드 가져오기 |
| naabu | 포트 스캔 발견 | 일반 포트 목록을 사용하여 서브도메인 목록에 naabu 실행하여 HTTP 서비스 발견 |
| httpx | 서브도메인 검증 | 발견된 모든 서브도메인이 활성 상태인지 확인 |
| wpscan | 취약점 스캐너 | WordPress 보안 스캐너 |
| acunetix | 취약점 스캐너 | 사이트에 대한 그룹을 자동으로 생성하고 취약점을 찾기 위해 서브도메인 스캔 시작 |
| nuclei | 취약점 스캐너 | 발견된 모든 활성 서브도메인을 사용하여 취약점 검색 |