이메일을 적으시면 보안관련 소식을 받을수 있습니다.
이메일:
안녕하세요. 보안팀블로그 3기 호환입니다. 토요일이 돌아왔네요. 오늘은 Google Dork 두번째 포스팅을 해보려고 합니다. 구글 해킹이란 책의 Chapter 3 의 내용인데요 캐시페이지 말고도 구글을 이용한 프록시 서버와 디렉토리 검사등의 내용이 있더군요. 해본결과 프록시로 설정하는것은 번역페이지에서 동일언어로 번역(한국어 -> 한국어)기능을
이용해서 구글서버를 프록시서버로 삼는방법이었는데, 막혔더군요 OTL..이론만 설명하면 이렇습니다.
번역을 하기위해 대상페이지를 구글 서버로 불러오고 구글서버는 그것을 번역해서 유저에세 쏘아주는 구글서버가 일종의 중간다리 역할을 하는 방법이었죠. 그리고 디렉토리 검색같은 경우에는 정말 좋은 방법이나. 특정서버에 대한
공격이 이루어질수도 있기때문에(아실분은 아시겠지만) 힌트가되는 연산자 하나만 알려드리고 생략하겠습니다.

힌트 고급연산자 : intitle

자 그럼 오늘은 이걸로 날로먹느냐? 절대 아니죠 한가지 남은 구글캐시 페이지에 대한 설명을 해보도록 하겠습니다.
캐시 러시앤캐시등에서 말하는 현금(cash) 가 절대 아닙니다. 우리가 말하는 캐시는 cache 이죠 컴퓨터에 조금만 관심이 있는 분들이었다면 이 캐시라는 단어를 많이 들어보셨을 겁니다. 캐시메모리, 캐시영역, 캐시페이지 등등등
말이죠 이런것들의 공통점은 바로 임시로 "데이터들을 저장한다는것" 입니다.

그렇다면 이런 캐시들과 구글캐시는 어떠한 차이가 있느냐 사실 별차이는 없죠 구글캐시또한 일종의 임시저장입니다.
다만 검색엔진답게 bot 이(크롤러라고하죠) 이리저리 웹을 돌아다니면서 검색한 자료들을 구글 서버에 저장해
놓은것이 바로 구글의 캐시페이지 입니다. 검색을 하시다 보면 "저장된 페이지" 란 부분들이 있는 결과가 있는데
이 저장된 페이지가 바로 구글의 캐시데이터인거죠. 무엇인지 감을 잡기위해 구글에서 cache 고급연산자를 이용하여
제 블로그의 캐시페이지를 검색해보겠습니다. 사용법은 다음과 같습니다.

cache:검색할페이지

저는 cache:tigernet.tistory.com 으로 입력을 했습니다. 그럼 바로 저장된 페이지로 이동됩니다.


2009년8월21일 에 저장된 페이지군요 크롤러가 검색해서 구글서버에 저장한 페이지입니다.
현재 제 블로그 페이지가 아닌거죠 그냥 단순하게 저장된 데이터를 불러와 웹브라우져에 띄운것에 불과합니다.
(항공대인으로써 나로호 발사성공을 꼭 기원하는 호환입니다^^ㅋ)

그렇다면 위와같은 구글 캐시페이지가 왜 해킹에 쓰이느냐? 가장 큰 이유 세가지는 바로 다음과 같습니다.

1. 삭제된 페이지의 검색가능
2. 공격자가 공격대상 서버로 패킷의 전송없이 정보획득가능(취약점, 계정정보등)
3. 공격대상 서버의 전원이 꺼진 상태여도 검색이 가능

하지만 일반 적으로 그냥 저장된 페이지를 클릭해서 들어갈 경우 구글캐시페이지를 통해 어떤 IP가 자신의 서버에
접속했다는 것을 쉽게 알 수 있습니다. 구글 캐시는 텍스트자료만 저장을 할뿐이지 기타 그림등의 자료는 저장을
안하기 때문이죠, 이때문에 그림등을 받기위해 해당서버에 전송요청을 하게되어 공격자의 IP가 노출이 됩니다.
그때문에 이것을 피하기위해 텍스트버전으로 페이지를 요청해야하죠.


그림이 잘 안보이시는 분은 클릭..

위의 그림이 바로 구글캐시데이터로 열어본 제 블로그입니다. 주소창에보면 &strip=0 이라고 된부분도 보이고
텍스트버전이라고 써진 부분도 있습니다. 텍스트버전과 전체버전은 무슨차이가 있나 알아보기위해 텍스트 버전으로
페이지를 보겠습니다.


동일 사이트의 텍스트버전입니다. 일단 그림들은 다 없어졌군요. 다른점이 보이십니까? 주소의 끝부분이
&strip=0 에서 &strip=1 로 변경이 되었습니다. 슬슬 감이 잡히시나요? 이 값이 0이면 전체버전 1이면 텍스트버전을
보여주는 옵션값입니다. 이 값이 1이되면 구글서버에 외부참조를 제외한 캐시데이터를 전송해 달라고 요청하는거죠
이렇게 요청을 하게되면 구글서버는 자신이 가지고 있던 텍스트 데이터만 요청자에게 전송해주면 되니
다른 사이트에대한 접속없이 오직 구글서버와 공격자간에만 데이터의 송,수신이 이루어지게 됩니다.
자신의 위치뿐아니라 해당서버에 직접적인 요청과 패킷전송없이 정보를 획득하는것이죠.

하지만 그냥 검색 결과에서 저장된 페이지를 클릭하면 바로 외부참조를 포함한 사이트로 이동을 할 것입니다.
자신의 위치가 노출되니 이러면 의미가 없겠죠? 우리는 이것을 아주 간단하게 우회하여 바로 텍스트버전으로 
페이지를 전송받아볼겁니다. 다음과 같은 고급연산자를 사용하여 페이지를 검색합니다.

site:tisory.com inurl:tigernet 

site 연산자는 특정 사이트를 찾아주는것이고 inurl은 뒤에오는 문구를 포함한 url을 검색해주는 것입니다. 이 두가지를
같이 사용하면 tigernet.tistory.com 이란 사이트가 검색되겠죠. 예..제블로그입니다...ㅋㅋ

일단 그냥 저장된 페이지를 들어가보겠습니다. 하지만 url 변조를 나중에 해야하니 클릭이 아닌 조금 다른 방법으로
들어가보겠습니다. 저장된 페이지라고 뜨는 부분에 오른쪽클릭을 하신후 속성이란 것을 클릭합니다.


위와같이 주소라고 기록된 부분을 드래그하여서 복사한 후 주소창에 붙여넣기를 합니다.

 
그리고 바로 엔터를 치면 외부 참조 페이지가 뜨는것을 볼 수 있습니다.


감이오시나요? 머리속에 아까의 옵션이 막 떠오르지 않으신가요?? 저 주소창의 뒤쪽에 &strip=1 을 더붙여넣어서
쓰라고 메아리가 울려퍼집니다.


그럼 예상했듯이 외부참조를 배제한 텍스트기반 캐시페이지가 뜨는것을 확인 할 수 있습니다. 빙고군요.


그럼 앞으로는 자신의 정보를 노출하기 싫으면 복사한 주소를 주소창에 붙여놓은후 주소뒤에 &strip=1 을 입력하신후
엔터를 누르면 바로 텍스트 페이지로 이동이 될 것입니다. 보려고 하는 웹서버에 자신의 정보를 감춘채 말이죠. 써보고보니 이것도 일종의 프록시같기도 하군요. 구글 캐시검색은 실제로 모의침투등을 할때 실제처럼 자신의 정보를
노출시키지 않고 해당웹서버의 정보획득이나 취약점 확인등에 쓰일 수가있습니다. 이전에 그사이트가 공격당하여서
변조당한적이 있는 경우가 여기 해당되죠 변조된 사이트나 기록들이 구글에 검색되어 캐시로 저장되어 있다면
쉽게 해당서버의 취약점이나 공격방법등을 알 수 있겠죠? 
웹취약점을 검색하는 스캐너의 기능으로 쓰인거죠 Google Dork 의 가장 강력한 기능은
검색엔진에 노출된 방대한 데이터베이스에 대한 스캐닝이란것을 잊지 마시길 바랍니다. 이상 호환이었습니다.
즐거운 주말 보내세요 ^^

이포스팅은 호환의IT이야기(http://tigernet.tistory.com)에 공동기재되고 있습니다.
 
****************************************************************************************************

본 포스팅의 저작권은 보안인닷컴과 작성자에 있으며 상업적 이용을 배제하며 콘텐츠 이용시에는 반드시 출처와 링크를 이용해 주시기 바랍니다. 무단도용은 저작권법에 저촉을 받습니다..

****************************************************************************************************

Posted by 53PE
,