
침투 테스트 정보 수집 과정에서 타겟 조직의 네트블록, ASN, CIDR 범위를 발견하기 위해 RIR 및 BGP 라우트 서버를 질의하는 수동 정찰용 Bash 스크립트입니다.
침투 테스트의 정보 수집 단계에서 대상 조직이 소유한 네트워크 블록 또는 범위(CIDR 표기법)를 발견하기 위한 Linux Bash 스크립트입니다. 이 정보는 5개의 지역 인터넷 레지스트리(RIR)에서 관리합니다:
ARIN (북미)
RIPE (유럽/아시아/중동)
APNIC (아시아/태평양)
LACNIC (라틴 아메리카)
AfriNIC (아프리카)
네트워크 블록과 IP 주소 외에도 자율 시스템 번호(ASN)도 중요합니다. ASN은 인터넷 상의 각 네트워크를 고유하게 식별하기 위해 BGP(경계 게이트웨이 프로토콜)의 일부로 사용됩니다. 대상 조직은 네트워크 규모가 크거나 피어링된 서비스 제공업체의 중복 서비스 경로로 인해 자체 ASN을 보유할 수 있습니다. 이러한 ASN은 조직이 소유한 추가 네트워크 블록을 드러냅니다.
ipcalc (RIPE, APNIC, LACNIC, AfriNIC 쿼리용)
사용법에 앞서 LACNIC에 대한 참고 사항입니다. LACNIC은 네트워크 범위, ASN, 조직 핸들 또는 PoC 핸들만 조회할 수 있습니다. 이는 조직 이름을 기준으로 이러한 값을 찾는 데 도움이 되지 않습니다. 그러나 공개적으로 접근 가능한 FTP 서버에 모든 할당된 범위 목록과 속도 제한 임계값을 게시합니다. 따라서 스크립트가 로컬 LACNIC 쿼리를 수행하는 데 사용하는 데이터 파일이 함께 제공됩니다. 스크립트에는 -r 옵션으로 업데이트 기능이 포함되어 있어 원하는 주기로 이 데이터를 업데이트할 수 있습니다. 실행 시간은 약 28시간입니다.
옵션을 지정하지 않고 스크립트를 실행하면 ARIN과 BGP 경로 서버 풀을 쿼리합니다. 경로 서버는 런타임에 무작위로 선택됩니다. -h 옵션은 도움말을 표시합니다:

옵션은 원하는 조합으로 사용하거나, 모두 사용하거나, 전혀 사용하지 않을 수 있습니다. 불행히도 "다른" RIR은 범위의 실제 CIDR 표기법을 제공하지 않으므로 ipcalc를 사용하여 이 기능을 수행합니다. 시스템에 설치되어 있지 않으면 스크립트가 자동으로 설치합니다.
프롬프트에서 조직 이름, 이메일 도메인, 이메일에 국가 코드가 사용되는지 여부를 입력합니다. 국가 코드에 Y라고 답하면 국가 코드가 도메인 이름 앞에 오는지 TLD 뒤에 추가되는지 묻습니다. 출력 파일을 위한 디렉토리가 /tmp/에 생성됩니다. 디렉토리가 이미 존재하면 덮어쓸지 묻습니다. N이라고 답하면 디렉토리 이름에 타임스탬프가 추가됩니다.

스크립트는 각 RIR과 BGP 경로 서버를 쿼리하면서 레코드가 발견되었는지 묻습니다. 완료되면 세 개의 파일이 생성됩니다: 조직 핸들을 기준으로 한 CSV, PoC 핸들을 기준으로 한 CSV, 그리고 발견된 모든 범위를 CIDR 표기법으로 한 줄씩 구분한 파일입니다.

언제든지 스크립트를 취소하면 임시 작업 파일과 결과 출력 파일을 위해 생성된 디렉토리가 제거됩니다.

일부 조직 이름이 유사하기 때문에 대상과 관련 없는 결과가 반환될 수 있습니다. CSV 파일에는 필요한 경우 추가 검증을 위한 관련 핸들과 URL이 제공됩니다. 또한 대상 조직의 직원이 회사 이메일 주소를 사용하여 개인 도메인을 등록했을 가능성도 있습니다. 이들도 결과에서 발견됩니다.
docker build -t hardcidr .
hardcidr 이미지 빌드
docker run -v $(pwd):/tmp -it hardcidr
컨테이너 실행. 출력은 현재 디렉토리에 저장됩니다
자세한 내용은 TrustedSec 웹사이트의 블로그 게시물을 확인하세요: Classy Inter-Domain Routing Enumeration