문의하기
블로그

Criminal IP Dorks Cheat Sheet: 실전 위협 인텔리전스 쿼리 가이드 (1편)

※ 이 글은 트위터 기반 위협 인텔리전스 분석가 Clandestine의 분석 내용을 기반으로 작성되었습니다. 고도화되는 사이버 위협 환경 속에서, 단순히 자동화된 탐지

※ 이 글은 트위터 기반 위협 인텔리전스 분석가 Clandestine의 분석 내용을 기반으로 작성되었습니다.

고도화되는 사이버 위협 환경 속에서, 단순히 자동화된 탐지 시스템에 의존하는 방식만으로는 공격자의 전조를 조기에 포착하기 어렵다. 이에 따라, 공격에 사용될 수 있는 인프라를 사전에 수동으로 탐색하고, 위협을 능동적으로 추적하는 Threat Hunting 전략의 중요성이 커지고 있다.

이번 글에서는 Criminal IP의 태그(Tag) 및 필터(Filter) 기능을 활용하여, 실제 공격 인프라를 탐색하는 실전 쿼리 예제를 소개한다. 각 예제는 검색 결과 링크와 함께 제공되므로, 사용자는 직접 실습하며 위협 탐지 전략을 익힐 수 있다.

Criminal IP 태그·필터 기반 실전 쿼리 예시

일반적인 HTTP/HTTPS 기반 C2 탐지 

Criminal IP Search Query: tag:C2 AND port:80 OR port:443

Criminal IP Asset Search 검색 결과 총 4,102건 확인

공격자들은 악성 C2 서버를 정상적인 웹 서비스처럼 위장하기 위해 80번(HTTP) 또는 443번(HTTPS) 포트를 주로 사용한다. 이 쿼리는 tag:C2 조건으로 명시된 C2 인프라 중에서, 웹 트래픽 포트를 사용하는 인프라를 식별하는 데 유용하다.

💡 Criminal IP에서는 AND가 OR보다 우선순위를 가진다.

Let’s Encrypt 인증서를 사용하는 Cobalt Strike

Criminal IP Search Query: tag: “Cobalt Strike” ssl_issuer_organization: “Let’s Encrypt”

Criminal IP Asset Search 검색 결과 총 4건 확인

Cobalt Strike는 합법적인 레드팀 도구지만, 실제 공격에 악용되는 경우도 많다. 공격자들은 Let’s Encrypt 같은 무료 인증서를 자주 사용하기 때문에, 해당 쿼리는 공격 가능성이 있는 Cobalt Strike 인프라 중 Let’s Encrypt를 사용하는 사례를 탐지할 수 있다.

만료된 인증서를 사용하는 Cobalt Strike 

Criminal IP Search Query: tag: “Cobalt Strike” AND ssl_expired: true

Criminal IP Asset Search 검색 결과 총 34건 확인

임시로 구성된 테스트용 인프라나 폐기된 공격 서버를 추가로 식별하고자 할 경우, `ssl_expired:true` 조건을 함께 사용할 수 있으며 예시 쿼리는 `tag:”Cobalt Strike” AND ssl_expired:true`와 같다. 

만료된 인증서를 사용하는 IoT 장비

Criminal IP Search Query: tag: IoT ssl_expired: true

Criminal IP Asset Search 검색 결과 총 498건 확인

IoT 기기는 보안 관리가 미흡한 경우가 많고, 인증서 갱신 없이 운영되는 경우가 잦다. 이 쿼리는 ssl_expired: true 조건을 활용해 위험한 상태의 IoT 자산을 식별할 수 있다. 

외부에 노출된 Docker API

Criminal IP Search Query: tag: Docker port: 2375 OR port: 2376

Criminal IP Asset Search 검색 결과 총 121건 확인

Docker는 기본적으로 포트 2375(HTTP) 또는 2376(HTTPS)에서 API를 제공하며, 인증 없이 외부에 노출될 경우 심각한 침해로 이어질 수 있다. 이 쿼리는 무방비 상태로 노출된 컨테이너 환경을 탐지하는 데 사용할 수 있다.

AWS Elastic Beanstalk 인스턴스 노출

Criminal IP Search Query: title: “Elastic Beanstalk” port: 80

Criminal IP Asset Search 검색 결과 총 4,518건 확인

Elastic Beanstalk 환경에서는 테스트 또는 디버깅 중인 애플리케이션이 외부에 노출되는 경우가 있다. 이 쿼리는 기본 포트 80에서 응답하는 Beanstalk 인스턴스를 식별해 보안 점검이 필요한 대상들을 빠르게 찾아낼 수 있다.

Criminal IP로 위협 인프라를 더 똑똑하게 찾는 법

  • ssl_issuer_organization + ssl_expired:true
    → 임시로 구성된 인프라나 공격자 테스트 환경을 식별하는 데 효과적이다.
  • cloud_provider / hostname 필터 활용
    → AWS, Azure, Google Cloud 등에서 운영되는 인프라를 조건부로 필터링할 수 있다.
  • as_name 필터
    → ASN(Autonomous System Number)을 기반으로 ISP 또는 클라우드 사업자 범위를 좁힐 수 있다.

결론

Criminal IP는 단순한 자산 검색 도구를 넘어, 지능형 위협을 선제적으로 식별할 수 있는 강력한 Threat Hunting 플랫폼이다. 
태그(Tag)와 필터(Filter)를 조합한 맞춤형 쿼리는 실제 공격 인프라를 식별하는 데 매우 효과적이며, 단일 자산 단위가 아닌 공격 전개의 흐름을 이해하고 대응하는 데 유용하다. 

나아가, 주기적인 쿼리 실행과 SIEM·SOAR 시스템과의 연계를 통해 자동화된 위협 대응 시나리오로 발전시킬 수 있는 유연성도 갖추고 있다.

관련하여 OSINT 위협 인텔리전스를 활용한 내부 관리 시스템 노출 예방법 글을 참고할 수 있다.


데이터 출처 : Criminal IP (https://www.criminalip.io/ko)

관련 글 :

Criminal IP Dorks Cheat Sheet: 실전 위협 인텔리전스 쿼리 가이드 (1편) | CIP Blog | Criminal IP