OSINT 검색 서비스란
OSINT는 Open-Source Intelligence의 약어로, 오픈 검색 서비스라고도 한다. 네이버나 구글 검색 서비스 등을 생각하면 이해하기 쉬울 것이다. 누구나 공유할 수 있는 소스(publicly available sources)를 수집한다는 특징이 있는데, 보안적인 관점에서 이 OSINT 서비스를 활용하여 모의해킹 취약점 분석 등을 할 수 있다. 단, 오픈 소스 소프트웨어나 공공 정보와는 관련이 없다.
Shodan
모의해킹의 세계에서는 Shodan이라는 서비스가 취약점 탐지에 자주 사용된다고 한다. 시스템의 배너 정보로부터 메타 데이터를 이용하여 특정 디바이스, 컴퓨터, 라우터, 서버의 정보 검색을 할 수 있으며, 특정 시스템을 대상으로 공격 대상을 검색하는 것에 특화되어 있는 서비스이다. 때문에 실제 해킹 사례 등에서도 자주 사용되는 툴이기도 하고, 반대로 이러한 침해 사례를 예방하고 해킹 방어에도 사용된다. 요금제로 운영되고 있으며, 유료 서비스를 결제할 시 더 많은 양의 데이터를 내려받아 분석할 수 있기 때문에 실무에서 사용하고 싶다면 유료 서비스를 결제하는 것이 권장된다. 무료 회원도 Shodan 서비스 이용에 큰 문제는 없지만 다만 검색량이 유료 회원에 비해 많이 제한이 걸려 있어서 다소 불편할 수 있다.
구글 검색 엔진과의 비교
가장 대중적으로 알려져 있는 OSINT인 구글 검색 서비스와 Shodan을 비교해보자.
구글 검색 엔진은 우선 어떤 검색어를 입력하면 캐시로 정보들을 미리 모아놨다가(여기서 Crawling이나 Bot등을 활용한다.) 그 캐시 정보들을 사용자에게 보여주는 방식이다. 정리하자면 다음과 같은 순서대로 동작한다.
- 사용자 검색
- 구글 크롤러가 웹 페이지들의 데이터를 크롤링한다.
- 웹 페이지의 내용을 Indexing한다.
- Page Rank (가장 근사한 값 순서) 에 따라 수집한 정보를 표시한다.
Shodan은 우선 열려 있는 포트 정보를 수집한다.(Port Scanning) 웹 콘텐츠에 인덱스를 매기지 않고, 인터넷을 사용하는 서버 또는 장비를 열려 있는 포트를 통해 배너 그래빙(Banner Grabbing)으로 정보 수집한 후 인덱싱을 진행한다. 이를 클라이언트에 반환한다는 것이다. 반환된 데이터는 Shodan 웹 인터페이스를 통해 사용자에게 그 장비에 대한 정보나 지원하는 서비스 등으로 시각화하여 보여준다.
수집할 수 있는 데이터
네트워크/서버 관련 포트별 버전 정보, 상태, 사용하고 있는 서버 등의 정보를 확인할 수 있다.
- HTTP 헤더 정보
- HTTPS 헤더 및 인증 정보
- 여러 게임 서버 배너 (Steam's A2S, Minecraft, 등)
- NetBIOS, FTP, SMTP, NTP, SIP/VolP, Telnet 배너
- SSH 헤더와 서버 키 정보
- DNS server configuration setting
그 외에도 해당 서비스에 존재하는 취약점 데이터베이스 정보(넘버, 간단 설명 등)나 불필요하게 열려 있는 포트 정보를 확인하는 등 다양한 편의 서비스를 제공하고 있다. 포트 스캐닝의 경우 직접 Nmap 스캐닝을 하는 것보다 시간적인 면에서 더 효율적일 수도 있다.
참고하면 좋을 자료
모의 해킹 수행 표준안 (PTES, Penetration Testing Executing Standard)
OSINT Framework
'System > Cybersecurity' 카테고리의 다른 글
Python 이미지 파일 해킹하기 (5) | 2019.05.15 |
---|---|
셸코드(Shellcode) 만들기 (0) | 2019.04.01 |
pydbg 모듈을 활용한 API 후킹 - (2) 메모장에 저장되는 텍스트 변조 (0) | 2019.03.28 |
pydbg 모듈을 활용한 API 후킹 - (1) 디버거의 개념과 pydbg 모듈 설치 (0) | 2019.03.25 |
애플리케이션 해킹 개요 - Windows 애플리케이션의 기본 개념 (0) | 2019.03.23 |