강의 정리/화이트해-카

패시브 스캐닝(Passive Scanning)

네른 2019. 4. 15. 18:21

스캐닝이란, 공격자가 공격을 수행하기에 앞서 타겟 서버에 대한 정보 및 유저의 정보 등을 획득하기 위한 단계이다.

스캐닝을 통해 얻은 정보를 이용하여 공격자는 수행할 공격을 특정짓는다.

 

스캐닝은 크게 패시브 스캐닝(Passive Scanning)과 액티브 스캐닝(Active Scanning)으로 나뉜다.

각각은 쉽게 이야기하자면 소심한 스캐닝과 적극적인 스캐닝으로 볼 수 있다. 

패시브 스캐닝은 공격을 수행할 대상에 대해 제 3 사이트(구글, whois, 취업관련 사이트 등)을 이용하여 정보를 획득하는 스캐닝 기법을 총칭한다.

반면, 액티브 스캐닝은 공격을 수행할 대상에 직접 프로그램 혹은 스크립트 등을 이용하여 대상에 대한 정보(서버 정보, ip관련 정보, 취약점 정보 등)을 획득하는 스캐닝 기법이다.

 

우선, 앞서 언급된 패시브 스캐닝의 기법들에 대해 간략하게 알아보자. (대부분의 내용은 강의를 통해 학습한 내용이 많다.)

 

Google Dorks (구글 해킹)

Google Dorks란, 구글사의 서치엔진에 있는 기본적인 검색 필터링을 이용한 스캐닝 기법이다.

구글은, 사용자의 편의성을 위해 검색 필터링을 자체적으로 제공하고 있다. 그러나 우리의 구글갓이 제공하는 기법이 너무나도 많은 정보를 제공하기에 이를 이용해 많은 정보를 획득할 수 있다.

간단히 주로 사용되는 검색 필터링 기능을 소개하자면 다음과 같다.

 

  - site:사이트이름  :: 검색한 결과에 대해, 특정 사이트 내에 대한 검색결과만 표기함.

  - filetype:파일 타입 :: 검색한 결과 중, 특정 파일 타입에 대한 결과만 표기함. log, pdf, php 등을 이용하여 서버의 로그정보나 php 코드 등을 획득할 수 도 있다.

  - inurl:단어 :: 검색한 결과 중, url에 특정 단어가 포함된 결과만 표기함. admin, phpinfo 등을 이용하여 중요한 정보나 페이지를 확인할 수 있음

  - intitle:단어 :: 검색한 결과 중, 페이지 이름에 특정 단어가 포함된 결과만 표기함. "index of" 같은 키워드를 주로 검색하는데, 이를 통해 디렉토리 리스팅 공격이 가능하기 때문!

 

exploit-db에서는 이러한 구글 해킹 기법들을 데이터베이스화 하여 정보를 저장하고 있다. (https://www.exploit-db.com/google-hacking-database)

확인해보면 참신한 것들이 많다. 단순이 Powered by를 검색하여 웹 서버의 정보를 획득하는 것 부터 시작해서 참 다양한 기법들이 있으니 한번 쯤 참고해보면 좋을 것 같다.

 

Netcraft

넷크래프트(searchdns.netcraft.com)는 사이트의 주소를 통해 해당 사이트에 대한 각종 정보를 획득할 수 있는 페이지이다.

주로 서버의 이름, 동작 시간, 버전 정보, 서브 도메인 리스트 등 다양한 정보를 획득할 수 있으며, 이를 통해 공격자는 대상에 대한 공격을 특정지을 수 있다.

 

Whois

후이즈(Whois)는 KISA에서 제공하는 사이트로, IP 정보 혹은 도메인 이름 등을 입력하면 관련된 정보를 획득할 수 있는 사이트이다.

 

Recon-ng

Recon-ng는 파이썬 기반의 스캐닝 프레임워크이다. (칼리 리눅스에는 기본적으로 설치되어있다.)

Recon-ng는 내부에 다양한 모듈들을 포함하고 있으며, 예시로는 bing_domain_web, whois_pocs 등이 있다.

  - bing_domain_web : 해당 도메인에 대한 서브 도메인을 찾아주는 모듈

  - whois_pocs : 후이스 서버에 올라간 정보를 토대로 이메일 주소를 확인하는 것 

        -> the harvester랑 비슷하긴 한데, 이건 후이스 서버에 올라간 정보만 확인하고 harvester는 서치엔진에서 검색하는 것

 

명령어에 대한 정보는 help를 통해 학인할 수 있으니 자세히 기술하진 않으려 한다.

  - search : 모듈 찾기

  - use : 모듈 사용

  - show info : 모듈에 대한 설명. 필요한 입력 값 등도 함께나온다.

  - set 으로 입력값을 설정하고 run으로 모듈 실행

  - show hosts / contacts 등은 결과를 보여주는 것 인데, 실행한 모듈들의 정보가 함께 저장된다. ( 즉, 여러 모듈들이 해당 테이블을 공용으로 사용한다.)

 

Shodan.io

쇼단(shodan.io)는, IoT 기기에 대한 모든 정보를 수집하고 검색할 수 있는 사이트이다. 전 세계의 IoT 기기가 검색되며, 자체적으로 제공하는 필터링을 통해 기기들을 걸러낼 수 있다.

필터링은 크게 보면 구글 해킹과 비슷한데, port, os 등의 필터를 통해 공격의 대상으로 삼을 기기들을 확인해 볼 수 있다.

(실제로, 지금도 해당 사이트에서 SMB v1 포트가 열린 기기들을 검색해보면 꽤나 많이 나온다. SMB v1은 워너크라이(wannacry) 랜섬웨어가 주 타겟으로 삼은 프로토콜이다.)

  - city:도시 이름 :: 해당 도시에 있는 기기만 검색

  - port:포트 번호 :: 특정 포트가 열려있는 기기들만 검색

  - os:운영체제 :: 특정 운영체제 위에서 동작중인 기기들만 검색

  - net:IP 주소 :: 특정 ip를 지닌 기기를 검색

 

이처럼 제3의 서비스 등을 통해 정보를 수집하는 과정을 패시브 스캐닝이라 하며, 이는 별도의 기록이 남지 않는다는 장점이 있다.

또한, 보안 관리자의 관점에서도 해당 기능들은 유용하게 사용될 수 있다.

  - 예를 들어, 쇼단을 이용해 본 사의 IoT 기기 정보를 한 눈에 본다거나, 꽤나 중요한 정보인 직원들의 이메일 정보가 노출되어있는지 등을 확인해 볼 수 있다.