가끔해야 할 일 중 하나는 사이트의 하위 도메인을 찾는 것입니다.

example.com

  • sub1로 시작합니다. example.com
  • other.example.com
  • another.example.com

이 타겟에 대해 정찰을 수행 할 추가 방법을 찾고 있으며 도메인의 모든 하위 도메인 목록을 얻고 싶습니다.

현재 다음을 포함한 여러 작업을 수행하고 있습니다.

  • maltego를 사용하여 정보 크롤링
  • 검색 엔진을 사용하여 하위 도메인 검색
  • 크롤링 사이트 링크
  • DNS 레코드 검사
  • 잘못 구성된 SSL 인증서 검사
  • “vpn.example.com” 같은 항목 추측

지금까지 찾았지만 지금은 아이디어가 없습니다.

댓글

  • 다른 위치가 있습니다. ' 꽤 좋은 stackoverflow : [List of Subdomains] [1] [1] : stackoverflow.com/questions/ 131989 / …
  • 그러면 단 한 가지 방법이 있습니다. 말테 고처럼하세요 : 교육을 통해 추측 해보세요 …
  • 노크 ( code.google.com/p/knock )로 시도 하겠지만주의 : 블랙리스트에 올릴 위험이 있습니다.
  • ' 당신을 도울 수있는 subdomainer.py라는 파이썬 스크립트가 있습니다 … Google에서 검색해보세요
  • 참고로 찾을 수 있습니다 edge-security.com 웹 사이트 에 있지만 이전 링크는 SecurityTube 위키 페이지에 게시되었습니다. 죽었습니다 (물론 usage()에 정의 된 사용 예제가 있지만). 소스 코드로 판단하면 세 가지 주요 검색 엔진 (yahoo, msn, google)의 데이터와 이메일 스크래퍼처럼 보이는 모호한 웹 사이트 pgp.rediris.es의 데이터를 수집합니다.

답변

펜 테스터로서 사이트의 하위 도메인을 찾을 수있는 것이 자주 등장합니다. 그래서 저는 제 자신이라고 말하면이 작업을 잘 수행하는 도구 인 SubBrute 를 작성했습니다. 간단히 말해 훨씬 빠르고 정확하며 작업하기 쉽다는 점에서 다른 도구 (fierce2)보다 낫습니다. . 이 도구는 웹 스파이더 링에서 얻은 실제 하위 도메인 목록과 함께 제공됩니다. 이 하위 도메인 목록은 fierce2 크기의 16 배 이상이며 subbrute는 홈 연결에서이 목록을 모두 사용하는 데 약 15 분이 걸립니다. 출력은 깔끔한 줄 바꿈으로 구분 된 목록으로 nmap 또는 웹 애플리케이션 취약성 스캐너와 같은 다른 도구의 입력으로 사용하기 쉽습니다.

댓글

  • 굉장합니다. ' 확인하겠습니다. ' 노크 '와 비교할 때 얼마나 좋은지 아십니까?
  • @ D3C4FF 노크는 쓰레기입니다.
  • 루크에게 모든 영광을 돌립니다. 오늘 라이브 테스트에서이 도구를 사용했는데 매력처럼 작동했습니다. mywebreading
  • @ D3C4FF라는 이름의 24 개 하위 도메인 중 하나만 놓쳤습니다. 그래요. 그래요. ' 다행입니다. 트릭;)
  • @subbrute에 대한 간단한 아이디어를 찾아보고 발견 된 호스트 이름에서도 IP 주소를 확인 (인쇄)하는 옵션을 추가합니다. 저는 그 변경을했고 특정 범위가 하위 도메인 임에도 불구하고 범위를 벗어난 몇 가지 테스트에 도움이되었습니다. 다시 한 번 감사드립니다!

답변

1. 영역 전송

일부 네임 서버는 일반적으로 의도하지 않은 인터넷상의 모든 사람에게 DNS 영역 전송을 허용합니다. 이 질문에서는 DNS 영역 전송 공격 에 대해 자세히 설명합니다.

영역 전송 도구

해당 질문에 대한 두 번째 답변 에는 Windows와 Linux 모두에서 테스트하는 방법이 언급되어 있습니다.

Windows :

nslookup > server <DNS you are querying> > set type=any > ls -d <target> 

Unix (Unix에서 nslookup이 사용되지 않음) :

dig -t axfr @<DNS you are querying> <target> 

(-axfr가 작동하지 않는 것처럼 보이기 때문에 Unix를 편집했습니다. -t axfr.)

2. DNSSEC 영역 이동

DNSSEC는 DNS 레코드에 서명하므로 정확한 답변을받을 수 있습니다 (일부 신뢰 루트와 중개자가 제공됨). 그러나 무언가 존재하지 않는다는 것을 어떻게 증명합니까? nonexistentsub.example.com를 찾을 때 example.com의 네임 서버가 하위 도메인이 존재하지 않음을 어떻게 증명합니까? 서명 키가 없습니다 (관리자가 영역을 업데이트 할 때 서명이 수행됨).

DNSec은 어떻게 작동합니까? 알려진 제한이나 문제가 있습니까?, / u / tylerl 은 다음과 같이 설명합니다.

분명히 응답에는 그러나 일반적으로 DNS 서버 자체는 “사용자의 서명 키에 액세스 할 수 없으며 즉시 응답에 서명 할 수”없습니다. 서명은 모두 미리 " 오프라인 " 생성됩니다. 이렇게하면 DNS 서버가 손상 될 경우 키가 노출되지 않습니다.

대신 하위 도메인을 알파벳순으로 지정하고 mail.example 사이의 모든 이름에 대해 "라고 말합니다. com 및 pop.example.com, 다른 하위 도메인이 존재하지 않으며 " 해당 어설 션에 서명합니다. 그런 다음 누군가 nachos.example.com을 요청하면 해당 응답 (이미 서명 됨)을 제공 할 수 있으며 클라이언트는 nachos.example.com이 mail.example.com과 pop.example.com 사이에 알파벳순으로 속하기 때문에이를 알고 있습니다. 그러면 "이 도메인이 존재하지 않습니다. " 응답이 올바르게 서명 된 것으로 간주되며 실제로 귀하가 보낸 것입니다.

이게 문제가되는 부분은 " X와 Y 사이에 응답이 없음을 명시 적으로 나타내는 이러한 부정적인 응답 세트를 사용하여 정확히 어떤 도메인을 쉽게 매핑 할 수 있는지입니다. 전체 영역에 대해 존재합니다. " X "가 있고 " Y "가 존재하고 그 사이에 다른 것이 없다는 것을 알고 있습니다. 무작위로 조금 더 찌르면 “모든 레코드 목록을 신속하게 컴파일 할 수 있습니다. 존재합니다.

pop.example.com에 아무것도 없을 때까지 " "를 지정하는 레코드가 호출됩니다. NSEC (Next SECure 레코드).

이를위한 해결 방법이 설계되었습니다. NSEC3. 이름을 해시하므로 mailb83a88...로 바뀌고 popb21afc.... 이것이 두 개의 유일한 하위 도메인이라고 가정하면 서명 된 응답에 " b21afc...와 ". 다시 알파벳순으로 작동하며 모두 얻을 수 있지만 이번에는 하위 도메인이 무엇인지 배우기 전에 각 해시를 해독해야합니다.

내 경험상 대부분은 NSEC3 확장을 사용하도록 설정되어 있습니다.

구역 걷기 도구

NSEC3Walker 는 열거와 크래킹을 모두 수행합니다. 크래킹이 얼마나 효율적인지 보장 할 수는 없지만 확실히 CPU 기반 일뿐입니다. NSEC3는 적어도 원래는 SHA1을 사용하기 때문에 더 나은 크래킹 프로그램이있을 것입니다.

dnsrecon도 할 수있는 것 같습니다 : dnsrecon -z -d example.com. 정보가있는 공식 웹 사이트가 있는지는 모르겠지만 Debian Stretch, Buster 및 Bullseye 할 수 있습니다. apt install dnsrecon.

3. 서브넷에서 역방향 조회

몇 개를 추측하면 비슷한 범위의 응답을 찾을 수 있습니다. www.가 있고 mail.가 있고 둘 다 192.168.3.x로 확인된다는 것을 알고 있다면 더 많을 수도 있습니다. 192.168.3.0-255 범위 (/24)의 모든 주소에 대해 역방향 조회를 시도하면 더 많은 하위 도메인을 찾을 수 있습니다. IP 주소에 대해 WHOIS 쿼리를 시도하여 범위의 경계 (자체 블록이있는 경우)를 찾을 수도 있습니다.

역방향 조회 도구

dnsrecon는이를 수행 할 수 있습니다.

dnsrecon -t rvl -r 192.168.1.0/24 

여기서 -t rvl는 " type reverse-lookup " 및 -r는 CIDR 표기법으로 IP 범위를 전달합니다. 모르겠습니다. 정보가있는 공식 웹 사이트가 있지만 Debian Stretch, Buster 및 Bullseye에서는 apt install dnsrecon를 사용할 수 있습니다.

4. DNS 서비스 레코드

서비스 검색을 위해 SRV (서비스) 레코드 를 설정할 수 있습니다 (예 : _sip._tcp.example.com는 포트 5060에서 sipserver.example.com를 가리킬 수 있습니다. 서비스 이름 (" sip 예에서 ")는 일반적으로 IANA에 등록 된 표준 항목이며이를 통해 반복 할 수 있습니다.

srv 레코드 쿼리 도구

dnsrecon는 다음을 수행 할 수 있습니다.

dnsrecon -t srv -d example.com 

알 수없는 사람이 선택한 기존 서비스 이름의 하위 집합을 사용합니다. man 페이지 (man dnsrecon)에 언급 된대로 메서드를 사용합니다.

5. 기타 방법

이미 몇 가지를 언급하셨습니다.자세한 설명은하지 않을 것입니다. 왜냐하면 그것들은 매우 자명하고 대상 (예 : FTP)에서 실행되는 응용 프로그램에 의존하거나 타사에 의존하거나 실제로 그들에 대해 말할 것이 많지 않기 때문입니다. .

  • 검색 결과에 하위 도메인이 표시 될 수 있습니다. 다시 말하지만, dnsrecon-t goo 옵션을 사용하여이를 수행 할 수 있습니다 (구체적으로 Google 사용).

  • 다른 TLD에서 동일한 이름을 확인하면 다른 변형이나 IP 주소가 표시 될 수 있습니다. 예 : example.com가있는 경우 example.org도 존재할 수 있습니다. dnsrecondnsrecon -t tld -d example.com로도이 작업을 수행 할 수 있습니다.

  • 웹 사이트 크롤링 또는 참조 찾기 다른 곳에서는 힌트를 줄 수 있습니다. (원하는 도움말 : 어떤 도구를 사용할까요?)

  • TLS 인증서를 보면 종종 결과를 얻을 수 있습니다. HTTPS, SMTP (S), FTP (S) 등의 포트를 확인하고 STARTTLS를 사용하세요.

  • 서버에 하위 도메인을 나열 할 수있는 타사 도구가 있습니다. 도메인. 그들의 방법은 명확하지 않지만 인터넷 및 과거 기록 (도메인 이전이 가능했을 수도 있음)을 크롤링하는 것은 종종 그 일부입니다. (원하는 도움말 : 권장 사항이 있습니까? 그것이 존재한다는 것만 기억합니다.)

6. 추측합니다.

마지막 옵션은 사전 (권장)이나 무차별 대입으로 추측하는 것입니다. 많은 도구가이를 감지하고 해결하려고 시도하지만 와일드 카드에 의해 더 어렵게 만듭니다.

추측 / 무력화 도구

Fierce는이를 위해 구축되었습니다. https://github.com/mschwager/fierce
Kali Linux에 기본적으로 설치됩니다.

/ u / rook 이 스레드의 다른 답변에서 언급 , 그들은 이러한 목적으로 Subbrute를 작성했습니다. https://github.com/TheRook/subbrute

dnsrecondnsrecon -t brt -d example.com로이를 수행 할 수 있습니다. -f-" 레코드를 저장할 때 와일드 카드 정의 IP 주소로 확인되는 무차별 강제 도메인 조회 레코드 필터링 " (인용 그 맨 페이지). 사전 파일에 -D를 전달할 수 있습니다.

부록 : dict ionaries

나는 여전히 좋은 사전 (추측 / 무력 강제)을 찾고 있지만 여기에 제가 알고있는 몇 가지 사전이 있습니다. 이 목록을 완성하도록 도와주세요! 가능성을 기준으로 정렬하면 클수록 좋습니다.

답변

Jason Haddix가 작성했습니다. 최신 버전의 재구성에 의존하는 내가 가장 좋아하는 하위 도메인 / 호스트 이름 검색 도구-여기에서 사용 가능-

https://github.com/jhaddix/domain

서브 브루 트는 괜찮습니다. fierce -dns <domain> 훌륭하게 작동합니다. dnsmap <domain> -r file.txt도 유효하며 knock -wc <domain>를 싫어할 이유가 없습니다 (노크의 다른 기능은 용의자). 그러나 이러한 모든 도구는 나이를 보여주는 기술을 사용합니다. 이러한 공격 개선 사항 중 일부는 대상에 맞게 특별히 조정 된 호스트 이름이있는 사용자 지정 파일을 만드는 것입니다.

하지만 DNS 검색을위한 전기 톱은 dnsrecon입니다. 모든 작업을 수행합니다.

또한 이러한 모든 도구보다 훨씬 더 많은 작업을 수행 할 수있는 RiskIQ와 같은 상용 제품을 고려할 수도 있습니다. 그들의 기술에는 대부분의 사람들이 생각하지 못할 많은 설문 조사가 포함됩니다.

[UPDATE] 또 다른 즐겨 찾기 (주로 하위 도메인이 아닌 호스트 이름의 경우-OP가 둘 다에 관심이 있습니까?)는- https://github.com/tomsteele/blacksheepwall

답변

knock 으로 시도하고 싶지만주의하세요. 블랙리스트에 올릴 위험이 있습니다.

안타깝게도 해결 방법이 없습니다. 영역 전송이 작동하지 않으면 무차별 대입.

댓글

  • 이 도구는 품질이 낮고 SubBrute가 훨씬 좋습니다.

답변

스택 오버플로 이상 , Paul Melici가 제안했습니다. WolframAlpha 를 사용합니다.(직접 스크린 샷)

  1. 검색 창에 도메인을 입력하고 검색을 실행합니다. (예 : stackexchange.com )

    Wolfram-홈페이지

  2. 상단에서 세 번째 섹션 ( 모든 stackexchange. com “) 하위 도메인

    Wolfram-하위 도메인 버튼

  • 하위 도메인 섹션에서 더보기를 클릭합니다.

    Wolfram-기타 하위 도메인 버튼

  • 여기에서 하위 도메인 목록을 볼 수 있습니다. 모든 하위 도메인이 표시되지 않는 것 같습니다.

    댓글

    • 이 내용이 언급되었습니다. 첫 번째 댓글에서

    답변

    http://ha.ckers.org/fierce/ . 사전 파일과 무차별 대입을 취할 수 있습니다. Kali에도 포함되어 있습니다.

    Answer

    처음에는 수동 DNS 데이터베이스를 사용하여 사이트의 하위 도메인을 찾는 경우가 많습니다. 이 방법의 단점은 데이터베이스에 나열된 사이트 만 찾을 수 있다는 것입니다. 그러나 장점은 단어 목록에없는 사이트를 찾을 수 있다는 것입니다.

    참고 용 데이터베이스 :

    https://www.virustotal.com/en/domain/stackexchange.com/information/

    http://www.nonexiste.net/?q=stackexchange.com

    답변

    쉬움. wolframalpha에 사이트 주소를 씁니다. 그리고 “subdomins”버튼을 클릭합니다.

    예제; https://www.wolframalpha.com/input/?i=www.imdb.com

    사이트의 하위 도메인을 보려면 하위 도메인을 클릭하세요.

    또한 wolfram alpha에는 도달하여 사용하려는 경우 api가 있습니다. 도움이 되었기를 바랍니다 …

    댓글

    • 분실-Wolfram이하는 일을 설명하여 확장 할 수 있다면이 답변이 찬성표를받을 수 있습니다.
    • " 하위 도메인 " 링크가 일부 도메인에만있는 것 같습니다.

    답글 남기기

    이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다