대표적인 OSINT 도구, Shodan(쇼단)

1. Shodan(쇼단)이란

인터넷에 연결된 기기(라우터, 웹캠, 서버, IOT, ICS)들을 검색하는데 최적화된 검색엔진이다. 쇼단은 구글 검색엔진과 마찬가지로 대표적인 OSINT(인터넷에 공개되어 있는 정보수집할 수 있는) 도구로 알려져 있다.

 

쇼단을 통해서 공격자는 해당 검색엔진을 통해 취약한 대상을 탐색하여, 공격포인트를 탐색할 수 있으며, 방어자는 운영하고있는 장비나 서비스의 취약점을 진단하는 등의 보안적인 조치를 취할 수 있다.

 

 

쇼단이 무엇인지에 대해서 추가적으로 알고 싶다면, 쇼단 공식문서를 참고할 수 있다.

 

What is Shodan? - Shodan Help Center

What is Shodan? Shodan is a search engine for Internet-connected devices. Web search engines, such as Google and Bing, are great for finding websites. But what if you're interested in measuring which countries are becoming more connected? Or if you want to

help.shodan.io

 

1.1 구글과 쇼단의 차이점

구글은 W3(World Wide Web)에서 웹크롤러를 통해 웹페이지를 정보를 수집한다면, 쇼단은 인터넷에 연결된 포트를 확인하고 배너그래핑을통해 정보를 수집한다.(인터넷이 W3보다 큰 범위) 따라서 쇼단은 구글보다 검색되는 대상이 광범위하며, 특히 IOT기기에 특화된 검색엔진이라고 알려져 있다.

 

두 검색엔진의 동작방식에 대해서 구체적으로 살펴보면, 구글은 웹 크롤러를 통해 웹에서 존재하는 웹페이지를 데이터베이스에 저장하고 검색 시 정보를 제공해 주는 방식이라면 쇼단은 배너그래핑 하여 검색시 정보를 제공해주는 방식이다.

 

여기서 배너는 서비스에 대한 정보에 해당하는 IP 주소, 포트번호, 해당 포트에서 실행되는 서비스, 소프트웨어 버전, 지리적 위치등이 포함된 메타데이터를 의미한다.

 

 

2. 쇼단 사용법

2.1 배너 이해하기

배너는 쇼단이 정보를 수집하는 기본 단위이며, JSON 형식으로 되어있다. 배너에 있는 구성요소를 간단하게 알고 있으면, 검색 시 용이하다. 

 

배너 예시

  • data: 서비스의 주요 응답
  • ip_str: ip주소
  • port: 포트번호
  • org: ip를 소유한 조직
  • location: 장치가 존재하는 위치

 

참고로 배너의 구성요소은 서비스에 따라 달라질 수 있다.

 

2.3 쇼단에서 제공하는 서비스

1) CCTV 또는 WebCam

검색 시 인증 없이 확인할 수 있는 웹캠도 일수 존재하기 때문에 프라이버스 침해와 노출된 영상스트림이 공유될 위험이 존재한다.

 

2) Network Printer

특정 Network Printer는 사용자의 편의를 위해 프린터 기능 이외에도 추가적인 기능을 제공한다. 사용자 입장에서는 편리하지만, 공격자는 해당 기능을 악용하여 연결된 문서나 작업을 가로채거나, 작업 내역들을 통해서 기밀 또는 개인정보 파일을 탈취할 위험이 존재한다.

 

3) ICS(산업제어시스템)

ICS는 산업 제어 시스템으로 OT 보안, SW 공급망 보완과 관련된 주제이다. Shodan을 통해서 풍력발전의 전력량을 모니터링하거나, 주유소의 기름 사용량을 모니터링할 수 있다. 해당 시스템에 악성코드를 유포하는 등의 공격을 수행 시 피해규모가 크다는 특징이 있다.

 

 

3. 쇼단 학생 멤버십 업그레이드

이메일 주소가 .edu.ac.uk가 포함되면 학생 멤버십으로 업그레이드가 가능하다. 필자는 ac.kr 계정으로 학업 업그레이드를 하기 위해 메일로 문의를 했고, 하루 만에 승인이 되었다.

 

 

Academic Upgrade - Shodan Help Center

Academic Upgrade Shodan provides a free Membership upgrade for users that sign up with an academic email address (ex. ending in .edu, .ac.uk etc.). The academic membership includes the following: Ability to monitor up to 16 IPs 100 query credits per month

help.shodan.io

 

4. CLI

계정의 API를 연동하여 칼리리눅스의 CLI에서 shodan을 사용할수 있다.

 

참고자료

https://help.shodan.io/the-basics/what-is-shodan

https://help.shodan.io/the-basics/search-query-fundamentals