
서브도메인 탈취 취약점을 확인하는 파이썬 도구

Sub 404는 파이썬으로 작성된 도구로, 서브도메인 탈취 취약점의 가능성을 확인하는 데 사용됩니다. 비동기 방식으로 동작하여 빠릅니다.
정찰 과정에서 많은 서브도메인(예: 1만 개 이상)을 얻을 수 있습니다. 전통적인 requests나 urllib 방식으로 하나씩 테스트하는 것은 매우 느리기 때문에 불가능합니다. Sub 404를 사용하면 이 작업을 훨씬 더 빠르게 자동화할 수 있습니다. Sub 404는 aiohttp/asyncio를 사용하여 비동기적이고 빠르게 동작합니다.
Sub 404는 텍스트 파일에서 서브도메인 목록을 가져와 404 Not Found 상태 코드의 URL을 확인하고, 추가로 CNAME(Canonical name)을 가져와 CNAME에 대상 도메인 이름이 포함된 URL을 제거합니다. 또한 대상 서브도메인이 없는 경우 subfinder와 sublist3r(서브도메인 열거 도구)의 결과를 결합합니다. 둘이 하나보다 낫기 때문입니다. 단, 이를 위해서는 시스템에 sublist3r와 subfinder 도구가 설치되어 있어야 합니다. Sub 404는 5분 이내에 7K개의 서브도메인을 확인할 수 있습니다.
- 빠름 (비동기 방식)
- 효율성을 높이기 위해 두 개의 추가 도구 사용
- 결과를 텍스트 파일에 저장하여 추후 참조
- 음, 그게 다야. 별거 없음!
참고: Python3.7+에서만 작동합니다.
대안으로 Docker 이미지를 빌드할 수도 있으므로 사전 요구 사항이 필요하지 않습니다.
$ docker build -t sub404 .
$ docker run --rm sub404 -h
참고: subfinder와 sublist3r가 설치된 경우.
sublist3r와 subfinder 도구의 결과를 결합하여 탈취 가능성을 확인합니다.
$ python3 sub404.py -d anydomain.com
- subfinder와 sublist3r가 설치되지 않은 경우, 텍스트 파일에 서브도메인을 제공하세요.
$ python3 sub404.py -f subdomain.txt

이 도구는 주로 Linux에서 테스트되었지만 다른 OS에서도 작동할 것입니다.
$ python3 sub404.py -h
이 명령은 도구의 도움말을 표시합니다. 다음은 지원하는 모든 스위치입니다.
이 도구는 404 응답 코드 URL의 CNAME을 가져와 대상 도메인이 CNAME에 포함된 모든 URL을 제거합니다. 따라서 오탐(false positive) 가능성이 높습니다.
- 버그 및 모범 사례 누락 보고
- 새로운 아이디어가 있으면 DM 보내기
- 버그 수정 도움
안녕하세요 @hackw1thproxy로 인사해주세요.
Ice3man543 - Projectdiscovery의 subfinder 도구를 서브도메인 열거에 사용
aboul3la - aboul3la의 sublist3r 도구를 서브도메인 열거에 사용
| Flag | 설명 | 예시 |
|---|
| -d | 대상의 도메인 이름. | python3 sub404.py -d noobarmy.tech |
| -f | subfinder가 설치되지 않은 경우 탈취를 확인할 서브도메인 파일의 위치를 제공합니다. | python3 sub404.py -f subdomain.txt |
| -p | 요청에 사용할 프로토콜을 설정합니다. 기본값은 "http"입니다. | python3 sub404.py -f subdomain.txt -p https 또는 python3 sub404.py -d noobarmy.tech -p https |
| -o | sublist3r와 subfinder의 고유 서브도메인을 텍스트 파일로 출력합니다. 기본값은 "uniqueURL.txt"입니다. | python3 sub404.py -d noobarmy.tech -o output.txt |
| -h | 이 도움말 메시지를 표시하고 종료합니다. | python3 sub404.py -h |