메뉴 건너뛰기

Hello :0

구글봇을 이용한 공격

2014.04.20 00:13

Leekyu 조회 수:4539

구글 봇의 공격

 

가끔씩 IDS에서 뜨는 이벤트를 확인 해보면 구글 봇들이 sql injection이나 xss공격을 시도하는 것을 볼수 있다. 단순히 user-agent부분이 googlebot인게 아니라 IP대역도 Google에 속해있다.

 

http://blog.sucuri.net/2013/11/google-bots-doing-sql-injection-attacks.html 의 로그

66.249.66.138 - - [05/Nov/2013:00:28:40 -0500] "GET /url.php?variable=")%20declare%20@q%

20varchar(8000(%20select%20@q%20=%200x527%20exec(@q)%20-- HTTP/1.1" 403 4439 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"

위의 형태의 로그로 공격이 들어온다. 66.249.x.x 대역은 실제 구글의 IP로 정말 구글이 공격을 한다고 생각 할 수 있다.

 

구글링을 통해 알아 보던 중 해당 공격은 공격자가 웹 서버를 하나 구축해둔 후 웹 서버에 공격할 URL과 구문을 링크로 만들어둔 후 저장한다. 그러면 어느 순간 구글봇은 공격자의 웹페이지를 크롤링 하면서 링크를 클릭하게 되고 구글봇에 의해 공격이되는 것이다.

 

대략적인 구성도

스크린샷 2014-04-20 오후 10.51.41.png



세부 사항 시작


1. 공격을 하기 위한 서버 구축

공격을 하기 위한 환경으로 Hacker의 웹서버는 leekyu.net, Vicitim의 웹서버는 ruach.co.kr:9999로 가정한다.

Hacker의 웹서버에 공격을 하기위해 아래의 비슷한 웹 페이지를 만든다.

다양한 서비스를 제공하기에 포트의 종류도 다르게 했다.

스크린샷 2014-04-20 오후 10.52.05.png



2. 구글 웹 마스터를 통한 구글봇  컨트롤

직접적으로 구글봇을 제어 할 순 없지만, 구글 웹 마스터를 이용해서 약간은 구글봇의 방문 일정을 앞당길 수 있는 것으로 보인다. 그 외에도 구글 웹 마스터를 이용해 다양한 정보를 얻을 수 있으니, 사용을 한다면 약간은 도움이 될 거 같다.

스크린샷 2014-04-20 오후 10.52.15.png



3. 구글봇의 Hacker(leekyu.net)홈페이지 방문

구글봇이 Hacker(leekyu.net)의 홈페이지에 접근하도록 기다린다. 기다리면 언젠가는 오게되고 Hacker(leekyu.net)의 홈페이지를 크롤링한다. 아래 사진은 IDS에 탐지된 모습.

구글봇의 크롤링 시점을 정확히 파악 할 수 없엇서 모든 공격 구문을 접근하는 것은 확인 하지 못했다. 실제 와이어샤크를 통해 패킷을 캡쳐해보면 다수의 구글봇이 Hacker(leekyu.net)에 접근하는 것이 보였고, 이전 홈페이지의 URL을 찾는 것을 확인 할 수 있었다. 공격을 하기 위해 새로 만든 웹페이지의 경우에도 몇개의 링크를 클릭한 후 더이상 접근을 하지 않기도 했다.

스크린샷 2014-04-20 오후 10.52.28.png  


4. 공격의 성공 유무 확인

아직 정확히 모르겠는 부분, 공격자는 어떻게 Vicitim(ruach.co.kr:9999)의 홈페이지가 취약한지 알 수 있을까?

공격이 성공하게 된다면, 그것에 대한 결과가 하나의 검색결과로 저장되지 않을까 추측된다.

공격이 실패한 경우 에러 페이지가 뜨면 그것에 대한 결과는 검색결과로 저장되지 않을테고, 공격이 성공하더라도 언제 구글 봇이 링크를 접근할지 공격을 성공하더라도 결과가 검색결과에서 검색이 가능할지는 좀더 연구를 해봐야 알거 같다. 아래는 테스트 며칠 후 등장한 검색 결과

스크린샷 2014-04-20 오후 10.53.15.png



5. 대응 방법

구글봇을 통한 공격의 대응은 어떻게 해야할까? 막자니 검색결과가 안 좋아지고, 그냥 놔두자니 공격의 우려도 있고.................