목차
구글로 수집할 수 있는 정보는 여럿 존재한다. 그 중 모의해킹에서 활용할 수 있는 요소는 다음 세 가지라 할 수 있다. 첫 번째로 서브 도메인 정보를 가져오는데 응용할 수도 있다. 두 번째로 관리자 페이지 등 외부에 노출이 되면 안되는 사이트를 찾아낼 수 있다. 세 번째로 외부에 노출되면 안되는 문서 파일이 외부로 노출될 수 있다. 마지막으로 디렉터리 리스팅 취약점을 찾아낼 수 있다. 이러한 정보를 구글을 활용해 찾아내는 방법을 알아보자.
1. 구글 검색 옵션
구글을 활용해서 정보를 수집하기에 앞서 구글에는 어떤 검색 옵션이 있는지를 알아보자. 구글 검색 옵션을 정리하자면 다음 표와 같다.
옵션 | 설명 |
allintitle | 글 제목에 포함된 단어를 검색 |
allinanchor | 링크 글 안에서 검색 |
allintext | 본문 안에서 검색 |
allinurl | URL 안에서 검색 |
cache | 구글이 캐시하고 있는 페이지를 검색 |
daterange | 페이지가 색인된 날짜 지정 |
define | 단어 정의 검색 |
filetype | 확장자를 기준으로 파일 검색 |
info | 페이지 정보 검색 |
intext | 해당 문자열이 포함된 페이지 검색 |
inurl | URL에 검색 문자열이 포함된 페이지 검색 |
link | 링크 페이지 검색 |
related | 비슷한 문서 검색 |
site | 특정 사이트를 대상으로 검색 |
단어 앞에 붙은 키워드 allin, in의 차이점으로, 검색어를 2개 넣었을 때 allin이 앞에 붙은 경우에는 해당 단어에 해당하는 정보가 하나만 포함되어 있어도 검색이 되는 반면, in이 앞에 붙은 경우는 2개 모두 포함되어 있어야 검색이 된다는 차이점이 있다.
2. 모의해킹 시의 활용
2-1. 서브 도메인 정보 수집
site: [domain] -site:[homepage]와 같이 검색하면 홈페이지를 제외한 모든 서브도메인 정보를 획득할 수 있다.
site:google.com -site:www.google.com
2-2. 관리자 페이지 정보 수집
url에 admin이 들어가 있거나 제목에 관리자, admin이 들어가 있는 관리자 페이지가 많다. 이러한 관리자 페이지가 구글 검색을 통해서 노출되어 있는지 확인한다.
inurl:/admin
// 다른 옵션과 같이 활용해서 범위를 좁힐 수 있다.
inurl:/admin site:[target url]
inurl:/admin filetype:php
intitle:"관리자 로그인"
intitle:"관리자 페이지"
2-3. 디렉터리 리스팅 취약점 확인
디렉터리 리스팅 취약점은 웹에서 파일이 아닌 디렉터리의 경로에 접근했을 때 디렉터리 내부의 파일 정보를 출력하는 취약점으로 제목에 Index of [directory] 형식이 붙게 된다. intitle 키워드로 Index of / 를 검색하면 쉽게 식별할 수 있다.
intitle:"index of /"
3. 중요 사이트가 외부로 노출되지 않도록 차단하는 방법
본문에서 적은 키워드를 활용해 검색하면 너무나 간단하게 중요한 정보를 식별할 수 있다. 이러한 정보를 구글이 크롤링하지 않게 하려면 robots.txt를 활용해야 한다. 기본적인 문법은 다음과 같다.
특정 디렉토리로의 접근을 허가
User-agent: *
Allow: /dir/allow
특정 디렉토리로의 접근을 차단
User-agent: *
Disallow: /dir/disallow
모든 문서에 대한 접근 차단 / 첫 페이지에 대해서 접근 허용
User-agent: *
Disallow: /
Allow: /$
참고해야 할 부분으로 robots.txt는 크롤링을 못하도록 막는 것이 아니라 크롤링을 하지 말라고 요청하는 행위에 가깝다. 이 때문에 100% 검색이 차단된다고 보장할 수는 없다.
'웹 모의해킹 > 정보 수집' 카테고리의 다른 글
Nmap NSE (0) | 2023.01.16 |
---|---|
Nmap 관련 정리 (0) | 2023.01.16 |
쇼단(Shodan)을 활용한 정보 수집 (0) | 2023.01.16 |
도메인 정보 수집 (0) | 2023.01.15 |
댓글