본문 바로가기
IT_정보보안/침해대응 & CERT 프로젝트

24. 침해대응&CERT (2) : Google Hacking

by jys275 2024. 5. 27.

CERT는 보안 관제와 업무 성향이 다르게 비교적 적극적, 생산적, 활동적이다.
 
관제 쪽에서 모니터링 활동을 통해 침해 사고로 발생되는 것들이 확인되었을 때,
CERT는 최대한 빠르게 즉각적으로 반응하여 사고의 규모가 커지지 않도록 대응해야 한다.
 
앞으로 진행할 침해대응&CERT 프로젝트는
실제로 노출되어 있는 환경을 기반으로 취약점을 직접적으로 관찰할 것이다.
 
 


 
 
구글 해킹(Google Hacking) - 개념
 
 
구글링(Googling)을 통해서 특정 정보를 효율적으로 수집할 수 있는 기법을 의미한다.
 
구글은 검색 엔진들이라고 불리는 네이버와 네이트와 같은 것들과는 다르게
키워드를 통해 우리가 원하고자 하는 내용들을 좀 더 상세하게 제공해 준다.
 
이를 통해 웹사이트에서 사용되는 구성, 소스 코드, 민감한 정보 등을 찾을 수 있으며, 
동시에 보안 취약점을 탐지하거나 찾는 기법이다.

구글은 웹 크롤러(봇)를 통해 인터넷에 연결된 모든 웹 페이지의 정보를 수집한다. 
이렇게 수집된 데이터는 구글의 서버에 캐시 상태로 저장된다. 

이 과정에서 이미 수집된 웹 페이지가 삭제되거나 변경되더라도 일정 기간 동안 
구글의 캐시에는 여전히 그 정보가 남아 있을 수 있다. 
이러한 이유로 민감한 정보나 다양한 데이터가 노출될 가능성이 있다.
 
 


 
 
구글 해킹(Google Hacking) - 키워드 종류
 
 
Google에서는 특정 검색 연산자를 사용할 수 있다.
이러한 연산자는 다양한 형태로 존재하며, 특정 키워드를 통해 다양한 유형의 정보를 검색할 수 있다. 
 
 
site:
특정 도메인 내에서 검색한다.
 
교육부 산하 기관 대학교들은 대부분 URL들이 "ac.kr"로 끝난다.
만약 교육부에 속해서 보안관제 및 CERT 업무를 수행하면, 그래서 해당 도메인을 기반으로
검색을 수행하여 현재 노출되어 있는 대학교들의 범위를 잡는 등의 업무를 수행한다.
 
site:naver.com : naver.com 도메인 내에서만 검색한다.
site:gov filetype:pdf : 정부 도메인 내의 PDF 파일을 검색한다.




intitle:
페이지 제목에 특정 단어가 포함된 페이지를 검색한다.

intitle:"index of” : "index of"가 포함된 페이지를 검색하여 디렉토리 인덱스를 찾는다.
intitle:"login” : "login"이 포함된 페이지를 검색하여 로그인 페이지를 찾는다.

 
 
inurl:
URL에 특정 단어가 포함된 페이지를 검색한다.
 
해당 키워드는 site 키워드와 같이 보면 좋다.
"naver.com" 도메인을 키워드로 검색을 했었다면, 네이버 내에도 세부 URL들이 있을 것이다. 
 
하지만, site 키워드만 사용하면 네이버 관련 도메인만 관찰할 수 있겠지만,
inurl: 키워드를 추가로 사용하면 메일 등의 좀 더 세부적인 부분까지 관찰할 수 있는 것이다.
 
inurl:admin : URL에 "admin"이 포함된 페이지를 검색하여 관리자 페이지를 찾는다.
inurl:login : URL에 "login"이 포함된 페이지를 검색하여 로그인 페이지를 찾는다.




intext:
페이지 본문에 특정 단어가 포함된 페이지를 검색한다.

intext:"SSN" : 페이지 본문에 "SSN"이 포함된 페이지를 검색한다.
intext:"confidential” : 페이지 본문에 "confidential"이 포함된 페이지를 검색한다.




filetype:
특정 파일 형식을 검색한다.
 
해당 키워드를 사용하면, 웹페이지 내에 존재하고 있는 첨부파일들, 그 첨부파일들 중에서도 
우리가 원하고자 하는 확장자 유형을 통해서 노출되어 있는 첨부파일들을 직접적으로 찾아볼 수가 있다.
 
filetype:pdf "confidential” : "confidential"이라는 단어가 포함된 PDF 파일을 검색한다
filetype:xls "password” : "password"라는 단어가 포함된 Excel 파일을 검색한다.

 
이외에도 여러 가지 키워드가 존재하지만,
위의 다섯 가지 키워드를 제외한 나머지 키워드는 사실상 사용 빈도가 적다고 할 수 있다.
 
이외의 키워드 사용 예시

더보기

related:
특정 URL과 관련된 페이지를 검색한다.

related:naver.com : naver.com과 관련된 페이지를 검색한다.

 

allintitle:
페이지 제목에 여러 단어가 포함된 페이지를 검색한다.

allintitle:secure login : 제목에 "secure"와 "login"이 모두 포함된 페이지를 검색한다.

 

allinurl:
URL에 여러 단어가 포함된 페이지를 검색한다.

allinurl:admin login : URL에 "admin"과 "login"이 모두 포함된 페이지를 검색한다.

이외에도 여러 가지 키워드가 존재한다.

 
 


 
 
구글 해킹(Google Hacking) – 취약점 탐지 예시 
 
 
디렉토리 인덱스 탐색
- intitle:"index of /private” : 민감한 정보가 포함된 비공개 디렉토리를 찾는다.




관리자 페이지 찾기

- inurl:admin intitle:login : 관리자 로그인 페이지를 찾는다.

 
 
SQL 인젝션 취약점 탐지
- inurl:“php?id=” : SQL 인젝션 가능성이 있을 수 있는 페이지를 찾는다.

 
 
민감한 정보 노출 탐색
- filetype:env "DB_PASSWORD” : 환경 설정 파일을 검색하여 데이터베이스 비밀번호를 찾는다.

 

기타 파일 탐색
- filetype:log : 로그 파일을 검색하여 시스템 로그를 찾는다

 
 


 
 
다음부터는 실제로 구글에 노출되어 있는 개인정보, 금융정보 또는
그 밖에 좀 더 중요한 정보들이 노출되어 있는지 직접적으로 찾아보는 과정을 수행할 것이다.
 
주로 위의 주요 다섯 가지 키워드를 제일 많이 사용하여
노출되어 있는 여러 가지 정보들을 찾아볼 것이다.
 
아무튼 구글해킹에서 제일 중요한 포인트는 키워드를 최대한 잘 응용해서
노출되어 있는 정보들을 찾는 스킬을 업데이트, 업그레이드하는 것이다.
 
또한, 구글은 생각보다 되게 예민한 부분이 존재하는데, 띄어쓰기를 어떻게 사용하느냐에 따라서
결괏값에 차이점도 존재하니 어떠한 방법으로 검색을 했을 때 좀 더 원하는 자료가 나오는지 확인하는 것도 좋다.