KOROMOON

착한 사마리아인이 되고 싶습니다.

5/01/2018

Google Hacking 을 활용한 관제 사이트 모니터링



Google Hacking(또는 Google Dorking) 이란 구글 검색의 고급 연산자를 사용하여 웹사이트의 취약하거나 해킹된 페이지를 검색하는 기법임.
악의적인 검색 말고도 고급 자료를 찾기 위해서 구글 검색을 활용하여 찾기도 하며 타 포털사이트보다 결과값이 월등히 우수함.
네이버는 지식인 때문에 종종 이용했지만 요즘은 거의 광고성 유도글이라 이용하지도 않음. 거기다가 돈받고 맛집 광고까지 해주는 블로그로 인해서 맛집 검색도 못 믿겠음.

Google Dorking 을 활용하여 관제 사이트의 개인정보, 웹쉘, 불필요한 파일, 오류 페이지 등을 모니터링해서 찾아내는 방법은 아래와 같음.
좀더 디테일하게 찾고자 한다면 Exploit-DB 사이트의 Google Hacking Database (GHDB) 페이지를 참고하길 바람.
https://www.exploit-db.com/google-hacking-database/

참고로 악의적인 용도로 사용하지 말 것!



( 01 ) 구글 논리 연산자

공백 / and
| / or
+        -> 그 다음에 나오는 단어 반드시 포함
- / not  -> 그 다음에 나오는 단어 반드시 제거
()       -> 그룹화
""       -> 완전한 문구 포함
.        -> 적어도 한 단어를 포함한 모든 단어 검색
*        -> 모든 단어 검색
참고로 검색 옵션은 소문자이며 검색문자열 사이에 빈 공간이 없어야 함.



( 02 ) 구글 고급 연산자

intitle    -> 페이지 제목 검색 (뒤에 오는 단어나 구 하나만이 연산자의 영향을 받음)
allintitle -> 페이지 제목 검색 (뒤에 오는 모든 단어와 구가 연산자의 영향을 받음)
inurl      -> URL 검색 (뒤에 오는 단어나 구 하나만이 연산자의 영향을 받음)
           -> URL의 프로토콜 부분(http://)을 검색하지 못함
           -> URL에 포함되는 특수문자를 제대로 처리하지 못함
           -> 고급 연산자 "site", "filetype"이 "inurl" 보다 URL 내부의 특정 위치를 더 구체적으로 찾을 수 있음
allinurl   -> URL 검색 (뒤에 오는 모든 단어와 구가 연산자의 영향을 받음)
           -> URL의 프로토콜 부분(http://)을 검색하지 못함
           -> URL에 포함되는 특수문자를 제대로 처리하지 못함
           -> 고급 연산자 "site", "filetype"이 "inurl" 보다 URL 내부의 특정 위치를 더 구체적으로 찾을 수 있음
intext     -> 페이지 내용 검색
site       -> 특정 사이트 검색
           -> 참고로 구글은 오른쪽에서 왼쪽으로 읽음
filetype   -> 특정 종류의 파일 검색
link       -> 실제 URL을 링크하고 있는 페이지 검색
inanchor   -> 링크 문자열 내에서 검색
cache      -> 캐시로 저장된 페이지를 보여줌
참고로 검색 옵션은 소문자이며 검색문자열 사이에 빈 공간이 없어야 함.



( 03 ) 불필요한 파일 및 중요 파일 찾기 -> 가급적이면 조심해서 구글링해야 함 (타관제센터에서 연락올 수 있음)

filetype:asa
filetype:bak    -> 백업 파일
* 위험, 사용 X filetype:bat -> MS-DOS 일괄처리 파일
filetype:bin    -> 바이너리 파일
filetype:cer    -> 보안 인증서
filetype:cf     -> 설정이나 스크립트 파일
filetype:cfg    -> 설정이나 스크립트 파일
filetype:cgi    -> 웹페이지 출력물을 만들 수 있는 실행 스크립트 파일
filetype:conf   -> 프로그램에서 사용되는 설정 파일
filetype:config -> 프로그램에서 사용되는 설정 파일
filetype:dat    -> 데이터 파일, 어떤 종류의 MPEG에서는 확장자가 DAT로 되어 있는 경우도 있음
filetype:db     -> 데이타베이스 파일
filetype:dbf    -> dBase 파일, Oracle 8.1.x 테이블공간 파일
filetype:dbi    -> Borland, 데이터베이스 탐색 정보
filetype:dbk    -> dBase 데이터베이스 백업
* 위험, 사용 X filetype:dll -> Dynamic Link Library
filetype:dmp    -> 화면이나 메모리의 덤프 파일
filetype:dsn    -> ODBC 데이터 소스
* 위험, 사용 X filetype:exe -> 실행 파일
filetype:inc    -> Include 파일 - 어셈블러 언어 또는 Active Server
filetype:inf    -> 설치정보 파일
filetype:ini    -> 초기화 파일, 환경설정 파일
filetype:log    -> 로그 파일
filetype:mdb    -> 마이크로소프트 액서스 데이터베이스
filetype:mdf    -> 마이크로소프트, MS-SQL Master 데이터베이스 파일
filetype:old    -> 백업 파일 들의 일반적인 총칭
filetype:pass
filetype:passwd
filetype:pcf    -> mysql 데이터베이스 서버에서 table을 생성하기 위해 테이블에 들어갈 정보를 정의한 구조를 담고 있는 파일
filetype:pkr    -> PGP의 공개키 파일
filetype:pl     -> Perl 프로그램
filetype:prl    -> Perl 스크립트
filetype:pwd
filetype:reg    -> 윈도우 레지스트리 파일
filetype:skr    -> PGP의 개인키 파일
filetype:sys    -> 시스템 파일
filetype:sql    -> mysql 데이터베이스 서버에서 table을 생성하기 위해 테이블에 들어갈 정보를 정의한 구조를 담고 있는 파일
filetype:tmp    -> 윈도우 임시 파일
filetype:w44    -> dBase 임시 파일



( 04 ) 오류페이지 찾기

inurl:"*.php?*=*.php" intext:"Warning: include" -inurl:.html
intext:"Warning: include" -inurl:.html
intext:"Microsoft OLE DB Provider for SQL Server 오류"
 -> 특히 오류 코드 중에 "80040e14" 는 Error Based SQL Injection 취약점 가능성 내포
intext:"java.sql.SQLException:"



( 05 ) 디렉토리 리스팅 찾기

intitle:"index of"
intitle:"Directory of"
intitle:"Directory Listing For"



( 06 ) 관리자 페이지 찾기

intitle:관리자 inurl:/admin
intitle:관리자 intext:"로그인"



( 07 ) 페이지 변조 찾기

intext:"hacked by"
intext:"해커 ID"
 -> zone-h 에서 주로 올라오는 해커 ID로 검색



( 08 ) 이력서 찾기

intitle:이력서 "010-"
intitle:이력서 "011-"



( 09 ) 웹쉘 찾기

.jpg.php | .jpg.asp | .jpg.jsp  <---> .php.jpg | .asp.jpg | .jsp.jpg
.gif.php | .gif.asp | .gif.jsp  <---> .php.gif | .asp.gif | .jsp.gif
.png.php | .png.asp | .png.jsp  <---> .php.png | .asp.png | .jsp.png
.bmp.php | .bmp.asp | .bmp.jsp  <---> .php.bmp | .asp.bmp | .jsp.bmp
.php.txt | .asp.txt | .jsp.txt  <---> .php.txt | .asp.txt | .jsp.txt
.php;*.jpg | .asp;*.jpg | .jsp;*.jpg
.php;*.gif | .asp;*.gif | .jsp;*.gif
.php;*.png | .asp;*.png | .jsp;*.png
.php;*.bmp | .asp;*.bmp | .jsp;*.bmp
.php;*.txt | .asp;*.txt | .jsp;*.txt
.php | .asp | .jsp
intext:execute filetype:php
intext:command filetype:php
intitle:r57shell
 -> r57shell 찾기
intite:c99shell
 -> c99shell 찾기
intext:shell.php
"첨부파일 download=*.php"
"첨부파일 download=*.asp"
"첨부파일 download=*.jsp"
"첨부파일 filename=*.php"
"첨부파일 filename=*.asp"
"첨부파일 filename=*.jsp"



( 10 ) 주요 정보 찾기

inurl:config.php
inurl:config.asp
inurl:config.jsp
inurl:config
inurl:fckeditor
inurl:editor
inurl:"upload.cfm | upload.asp | upload.php | upload.cgi | upload.jsp | upload.pl"
intitle:intranet
 -> 인트라넷 전용 시스템의 로그인창 찾기
"access denied for user" "using password"
 -> 에러메세지를 검색하여 ID, PW 등의 주요 정보와 SQL 삽입공격이 가능한 곳 찾기
intitle:"AppServ Open Project *" "AppServ is a merging open source software installer package" -phpbb
 -> phpmyadmin 취약한 링크 정보와 pnpinfo 정보 찾기
inurl:dbconn.inc
inurl:connect.inc
inurl:globals.inc
intext:mysql_connect filetype:inc
password filetype:sql
pubring filetype:pkr
secring filetype:skr
createobject sa filetype:bak
inurl:"htaccess | passwd | shadow | htusers" filetype:bak
intext:"username | password | email" filetype:"hwp | doc | ppt | xls | pdf"
inurl:secring filetype:"skr | pgp | bak"
intext:mysqlconnect+pass
 -> mysql 비밀번호 찾기
intext:mysql_connect+pass
 -> mysql 비밀번호 찾기
intext:대외비 filetype:"hwp | doc | ppt | xls | pdf"
 -> 대외비 검색
intext:confidential filetype:"hwp | doc | ppt | xls | pdf"
 -> 비밀문서 검색
intitle:"Apache Status"
 -> Apache Server Status 검색
intitle:"Apache Server Status for"
 -> Apache Server Status 검색



============================================================
본 게시물은 KOROMOON 님께서 작성하였으며 CCL (Creative Commons License) 에서 "저작자표시-비영리-동일조건변경허락" 이용조건으로 자료를 이용하셔야 합니다.

댓글 없음:

댓글 쓰기