작은 메모장
14. GoogleDork 본문
정보 수집 (도메인, 구글 검색)
도메인, IP 정보 수집을 하고 싶다면 보통 *.google.com, 구글이 기깔나게
이렇게 검색하면 www.google.com, admin.google.com, group.google.com등등이 걸려나온다.
즉, IP대상, 도메인 대상으로 정보를 수집하는 것이 일반적.
도메인 하나만 잘 물면 서브 도메인이 탈탈 털린다는 것, 관리를 잘 해줘야한다.
도메인(서브 도메인 포함)을 물었으면 포트를 털기 시작 함
보통 구글은 검색 서비스에 들어간 검색 엔진이 성능이 많이 좋은 편
문제는 성능이 너무 좋다보니까 인터넷에 있는 별의 별 사이트의 정보가 대부분 모이게 됨
이런 특징 때문에 구글 검색으로 정보를 잘 털기만 하면 도메인이 다 털려버림
이걸 이용한 해킹이 GoogleDork(구글 해킹)임
GoogleDork
기본적으로 Google은 다음과 같은 검색 옵션을 지원하고 있음
검색 옵션은 검색창에 검색 시 옵션으로 입력할 수 있고, 단어 혹은 문장을 활용한 검색보다 세부적으로 필터링을 할 수 있음.
문제는 이 필터링에 "보안적으로 취약할 법한" 옵션을 넣고 도메인을 검색하면, 검색되는 도메인이 실제 보안이 취약한 도메인일 가능성이 많이 높다는 것.
일단 최우선으로 알아야할 것은, 취약한 사이트의 데이터는 반드시 다운받지 말아야 한다.
무슨 바이러스나 무슨 멀웨어가 있을지 모르고, 무단으로 데이터를 받게 되면 소송까지 불사를 각오해야 한다.
GoogleDork을 하는 방법은 간단하다. 구글 검색창에 검색 옵션을 입맛대로 넣고 검색을 계속 돌린다.
취약점이 있을 법한 도메인 옵션을 검색해서 나오는 도메인이 집중 타겟이 된다.
이 때, 검색 옵션은 소문자이며, 검색문자열 사이에 빈 공간이 없어야 한다.
예를 들어서, 다음 옵션을 입력할 수 있을 것이다.
site.naver.com inurl:admin filetype:xls
site.naver.com inurl:admin intext:login
site:*.*.* intitle:"index of" *.pcapng
이 옵션으로 한번 해보자.
여러 도메인이 나오는 것을 확인할 수 있다.
여기서, 아무 도메인의 추가 옵션을 진입하면,
저장된 페이지 옵션이 존재한다.
여길 들어가보면,
구글에서 저장하고 있는 html 페이지가 존재한다. 이 html 페이지가 아직까지 살아있다면 저 데이터를 가져올 수 있는 것이다.
관리가 아주 잘되는 페이지라면 GET 요청을 막아놓았겠지만, 그럴 가능성이 매우 낮기 때문에 이런 요청에 취약하여 데이터를 내주게 되는 것이다.
위와 같은 "서버 설정 미흡"으로 인해 서버의 파일, 디랙토리 구조가 노출되는 취약점을 Index of 취약점이라고 한다.
근데 이걸 손으로 일일히 찾고 있으면 상당히 귀찮고 시간도 많이 들어간다.
그래서 이러한 취약점을 자동으로 진단해주는 도구들이 있다.
유료버전으로는 Accunetix, Appscan, Burpsuite pro등이 있고,
무료버전으로는 Owasp zap 등이 있다.
유료버전은 당연하겠거니와 더 상세하고 더 꼼꼼한 취약점을 스캔해주고, 더욱 비싸다...
Wayback Machine
웨이백 머신은 인터넷 아카이브가 만든 디지털 타임캡슐이다.
쉽게 말해 인터넷의 모든 데이터를 계속 쌓는 도서관이라고 생각하면 편하다.
작동 원리는 구글이랑 똑같다.
인터넷 페이지를 크롤링하여 index html페이지부터 쭉 가져오는 것.
생성 목적은 구글과 다소 다르나, 작동하는 것은 크게 다르지 않다.
작동 원리가 구글과 똑같으므로, 문제점 또한 구글과 똑같다.
아카이브로 남아있는 페이지중에, 개인정보들이 남아있는 페이지가 있다.
이 사이트들의 정보를 털어서 정보를 취득할 수 있는 문제도 있다.
Robot.txt
위의 사이트들이 봇으로 크롤링을 하도 긁어가서 일어난 취약점들이 상당히 많았다.
심지어 이걸 아카이브로 박제해서 쉽게 지우지도 못하게 했었다.
이러한 문제 때문에, 봇이 수시로 크롤링하도록 막도록 새 기준 하나를 만들었는데, 그것이 Robots.txt 파일이다.
위 파일은 Google의 Robots.txt의 일부분으로, 종류에 따라 Allow와 Disallow로 나뉜 것을 확인할 수 있다.
기준은 간단하다. 해당되는 User-agent를 지정하고, 그 사용자가 접근할 수 있는 파일 혹은 디렉토리를 지정하면 된다.
User-agent: *
Disallow: /
이 경우에는 보안은 가장 뛰어나나, 인터넷에서 검색이 안되어 홍보가 안된다는 단점이 존재한다.
결국에는 봇이 감지를 해야 검색이 되기 때문이다.
User-agent: GoodBot
Disallow:
User-agent: BadBot
Disallow: /
User-agent: *
Disallow: /admin/
Disallow: /documents/
Disallow: /images/
Disallow: /passwords/
이 경우에는 관리자 세션이 존재하지 않는다.
즉, 관리자와 일반 사용자를 구분하지 못한다.
이 말은 해커가 그냥 검색하고 들어오면 그냥 들여보내준다는 것이다.
포트 스캔과 불필요한 포트
확실히, nmap은 효과적인 스캐닝 도구지만, 옵션을 넣으면 더 세부적인 스캔또한 가능하다.
옵션 -sV를 넣으면 각 포트에 해당되는 프로토콜과 버전 정보를 전부 스캔한다.
프로토콜은 버전별 취약점이 따로 존재하기 때문에, 업데이트가 되지 않은 프로토콜이 있으면 이걸로 스캔한 후 공격하는 것이다.
-p 옵션을 넣게 된다면 특정 포트의 정보를 스캐닝한다.
위의 사진은 -sC -sV로 80번 포트의 옵션을 전부 가져온다.
┌──(kali㉿kali)-[~]
└─$ sudo nmap -sV 192.168.112.0/24 -oX result.xml
[sudo] password for kali:
Starting Nmap 7.93 ( https://nmap.org ) at 2023-07-24 20:35 EDT
이 코드는 C클라스 전체 대역에 대해 스캐닝을 하고, 그 결과는 xml 파일로 저장하는 명령어이다.
┌──(kali㉿kali)-[/usr/share/nmap/scripts]
└─$ sudo nmap -sC -sV 192.168.112.0/24 -oX result_nse.xml
[sudo] password for kali:
Starting Nmap 7.93 ( https://nmap.org ) at 2023-07-24 21:19 EDT
Stats: 0:02:46 elapsed; 250 hosts completed (5 up), 5 undergoing Script Scan
NSE Timing: About 99.79% done; ETC: 21:22 (0:00:00 remaining)
또한, 이 코드는 Nmap NSE -sC 옵션까지 포함하여 저장하는 명령어이다.
이런식으로 xml 파일로 저장하게 된다면, 다른 프로그램들이랑 연동할 수 있다.
'실더스 루키즈 교육' 카테고리의 다른 글
16. BeeBox와 인증처리미흡 취약점 (0) | 2023.12.18 |
---|---|
15. 웹 쉘 (0) | 2023.12.15 |
13. 보안장비와 NSM (0) | 2023.12.11 |
12. Port Scan과 Spoofing, DDoS (0) | 2023.12.08 |
11. 실습용 Network 구축 (0) | 2023.12.07 |