Vulnerability Assessment/Web Application

검색 엔진을 이용하여 노출된 정보 확인

DarkSoul.Story 2016. 7. 2. 14:30
반응형

 

 Steps.
 1. 개요
 2. 테스트 방법

1. 개요

검색엔진을 이용하여 노출된 정보를 확인하는 방법은 간접적인 방법과 직접적인 방법이 있다. 직접 방법은 인덱스와 캐시에서 관련 콘텐츠를 검색하는 것이며, 간접 방법은 검색 포럼, 뉴스 그룹 등에서 민감한 정보를 수집하는 것이다.  검색 엔진 로봇이 크롤링을 완료하면, 관련 검색 결과를 리턴하기 위해 태그 및 <TITLE>와 같은 속성을 기초하여 웹 페이지를 인덱싱 한다. 검색 엔진 로봇이 수집하는 데이터는 서버에 캐시상태로 저장하기 때문에, 해당 사이트가 삭제된 후 오랜 시간이 지나기 전엔 검색결과에노출된다. 그렇기 때문에 이전 페이지가 그대로 노출 될 수 있으며, 이 데이터를 모으면 손쉽게 취약점을 찾을 수 있다.

2. 테스트 방법

검색 엔진을 사용하여 네트워크 다이어그램 및 구성, 사용자 이름/암호, 오류 메시지 내용, 웹 사이트 개발, 테스트 및 UAT, 준비 버전, 민감한 정보를 포함한 디렉터리 검색 등 정보를 확인하고자 하는 모든 내용을 검색한다. 검색 엔진을 이용하여 노출된 정보 확인은 검색 엔진의 고급 검색 연자사를 사용하여, 검색을 진행한다. 예를들어 특정 도메인을 검색한 결과를 확인하고 싶다면 site: 검색 연산자를 사용하여 검색 한다. 검색된 결과는 컨텐츠와 독자적인 크롤링 알고리즘에 의해 크롤링이 완료될 때 마다 다른 결과를 생성한다. 그렇기 때문에 하나의 검색 엔진만을 사용하지 말고 여러 검색 엔진을 사용하는것을 추천한다.

검색 엔진 종류로는 Goolge, Shodan, Baidu, binsearch.info, Bing, Duck Duck Go, ixquick/Startpage, PunkSpider등이 있으며,  ixquick/Startpage 검색 엔진은 제한된 검색 결과를 제공한다. PunkSpider는 웹 애플리케이션 취약점 검색 엔진으로 수동으로 진행되는 침투 테스트에는 거의 도움이되지 않는다. 검색 엔진을 이용하여 노출된 정보를 확인할 때 가장 많이 사용하는 검색 엔진은 구글이 아닌가 생각된다. 일반적인 구글 고급 검색 연산자는 아래와 같다. 

 

따옴표(" ") : 따옴표를 이용하면 여러개 단어를 묶어서 검색할 수 있다. 

filetype:[파일타입(pdf / doc등)]

filetype을 이용하면 특정 파일타입만 검색할 수 있다. 특정한 파일을 찾을때 유용하다.

 

 

site:[도메인명]

site를 이용하면 특정 사이트 내에서만 검색할 수 있다. 

 

intitle:[검색키워드], alltitle:[검색키워드] 

intitle, alltitle을 이용하면, 타이틀에 키워드가 있는 사이트만 검색이 가능하다 intitle은 일부분의 키워드만 일치해도 되지만, alltitle은 모든 키워드가 일치하는 사이트만 표시한다. 

 

intitle을 이용한 공격중 가장 흔한 공격 방법은 디렉토리 리스팅이다. intitle:"index of"라고 검색하면 디렉토리 리스팅 취약점이 있는 사이트가 검색된다.

 

inurl:[검색키워드]

inurl은 url에 키워드가 존재하는 사이트의 검색결과만 보여준다.

 

intext:[검색키워드]

intext:키워드 를 입력하면 본문에 키워드가 존재하는 사이트를 검색하여 보여준다.

 

구글 고급 검색 연사자를 이용해서 유용하게 검색을 할 수 있도록 도와주는 Google Hacking Database라는것이 있으며, 아래와 같은 카테고리가 존재한다. (Google Hacking Database : https://www.exploit-db.com/google-hacking-database/ )

원하는 검색어를 확인후 구글에 입력하여 검색하면 된다. 

 

Reference : OWASP (https://www.owasp.org)

반응형