
사이트의 클라이언트 측 코드에서 동시에 크롤링, 양식 작성, 오류/디버그 페이지 트리거 및 시크릿을 '약탈'하는 자동화 도구입니다.
사이트의 클라이언트 측 코드를 동시에 크롤링하고, 양식을 채우고, 오류/디버그 페이지를 트리거하고, 비밀 정보를 "약탈"할 수 있는 자동화 도구입니다.
도구를 사용하려면 저장소의 Releases 섹션에서 미리 빌드된 바이너리 중 하나를 가져오면 됩니다. 소스 코드를 직접 빌드하려면 Go 1.16 이상이 필요합니다. go build를 실행하면 사용 가능한 바이너리가 생성됩니다.
또한 바이너리와 함께 두 개의 JSON 파일(lootdb.json 및 regexes.json)이 필요하며, 이 파일들은 저장소 자체에서 가져올 수 있습니다. 세 파일을 모두 같은 폴더에 넣으면 도구를 실행할 수 있습니다.
비디오 데모:
도구의 도움말 사용법은 다음과 같습니다:
$ ./httploot --help
_____
)=(
/ \ H T T P L O O T
( $ ) v0.1
\___/
[+] HTTPLoot by RedHunt Labs - A Modern Attack Surface (ASM) Management Company
[+] Author: Pinaki Mondal (RHL Research Team)
[+] Continuously Track Your Attack Surface using https://redhuntlabs.com/nvadr.
Usage of ./httploot:
-concurrency int
Maximum number of sites to process concurrently (default 100)
-depth int
Maximum depth limit to traverse while crawling (default 3)
-form-length int
Length of the string to be randomly generated for filling form fields (default 5)
-form-string string
Value with which the tool will auto-fill forms, strings will be randomly generated if no value is supplied
-input-file string
Path of the input file containing domains to process
-output-file string
CSV output file path to write the results to (default "httploot-results.csv")
-parallelism int
Number of URLs per site to crawl parallely (default 15)
-submit-forms
Whether to auto-submit forms to trigger debug pages
-timeout int
The default timeout for HTTP requests (default 10)
-user-agent string
User agent to use during HTTP requests (default "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:98.0) Gecko/20100101 Firefox/98.0")
-verify-ssl
Verify SSL certificates while making HTTP requests
-wildcard-crawl
Allow crawling of links outside of the domain being scanned
동시 스캔에 도움이 되는 두 가지 플래그가 있습니다:
-concurrency: 동시에 처리할 최대 사이트 수를 지정합니다.-parallelism: 사이트당 병렬로 크롤링할 링크 수를 지정합니다.-concurrency와 -parallelism은 모두 도구 결과의 성능과 신뢰성에 중요합니다.
크롤링 깊이는 -depth 플래그로 지정할 수 있습니다. 이 플래그에 제공되는 정수 값은 사이트에서 가져올 링크의 최대 체인 깊이입니다.
중요한 플래그인 -wildcard-crawl을 사용하면 범위 내 도메인 외부의 URL을 크롤링할지 여부를 지정할 수 있습니다.
참고: 이 플래그를 사용하면 크롤러가 다른 도메인에 대한 링크를 계속 찾는 경우 최악의 시나리오에서 무한 크롤링이 발생할 수 있습니다.
도구가 디버그 페이지를 스캔하도록 하려면 -submit-forms 인수를 지정해야 합니다. 그러면 도구가 양식을 자동 제출하고 기술 스택이 성공적으로 식별되면 오류/디버그 페이지를 트리거하려고 시도합니다.
-submit-forms 플래그가 활성화되면 양식 필드에 제출할 문자열을 제어할 수 있습니다. -form-string은 제출할 문자열을 지정하고, -form-length는 양식에 채워질 무작위 생성 문자열의 길이를 제어할 수 있습니다.
다음과 같은 플래그:
-timeout - HTTP 요청의 타임아웃을 지정합니다.-user-agent - HTTP 요청에 사용할 사용자 에이전트를 지정합니다.-verify-ssl - SSL 인증서를 확인할지 여부를 지정합니다.읽을 입력 파일은 -input-file 인수로 지정할 수 있습니다. 도구로 스캔할 URL 목록이 포함된 파일 경로를 지정할 수 있습니다. -output-file 플래그는 결과 출력 파일 경로를 지정하는 데 사용되며, 기본적으로 httploot-results.csv 파일에 저장됩니다.
도구 개발로 이어진 연구에 대한 자세한 내용은 RedHunt Labs 블로그에서 확인할 수 있습니다.
이 도구는 MIT 라이선스로 라이선스가 부여됩니다. LICENSE 파일을 참조하십시오.
현재 도구는 v0.1입니다.
RedHunt Labs 연구팀은 저장소에서 제공한 정규 표현식에 대해 shhgit의 제작자 및 관리자에게 감사를 표합니다.