[Tryhackme] Passive Reconnaissance
Reconnaissance 레콘이란?
잠재적 타깃에게 본격적으로 공격을 실행하기 전에 정보를 수집하는 과정을 의미한다. 타깃의 취약점이나 성능과 기능을 파악할 수 있기 때문에 전략을 계획하고 더 정교한 공격을 하는데 도움이 된다
레콘은 Active/Passive 이렇데 두 가지로 분류됨
- Active Reconnaissance: 직접적으로 타깃 지점에 접근해서 정보를 얻을 수 있지만 스스로를 드러내게 됨
- Passive Reconnaissance: 거리를 두고 정보를 얻는 방식이고 스스로를 드러내지 않으면서 리소스를 얻음
Passive Reconnaissance
시스템에 직접적으로 접근하지 않고 공개 소스에서 데이터를 얻거나 스스로를 나타내지 않은 채 트래픽을 인터셉트하는 방식이다. 이외에도 Wireshark를 이용한 파켓 스니핑, Search 엔진 도킹(ex. Google Hacking Database), 소셜 미디어 분석(ex. Maltego), 이메일 Harvest 등의 방식이 있다.
Whois
whois는 요청/응답 프로토콜로, Whois 서버는 tcp 43번 포트에서 요청을 받아들인다. 요청한 도메인에 관련된 다양한 정보를 응답해 주고 응답 내용은 아래와 같음
- Registrar: 도메인 네임이 등록된 Registrar
- Contact info of registrant: 이름, 기관, 주소 등
- 생성, 업데이트, 만료 날짜
- 네임서버: 도메인 네임의 서버
아래의 형식으로 작성하면 된다
whois [domain_name]
유투브 사이트의 조사해 보자
도메인 이름부터 도메인 ID, Whois 서버, 등록 날짜, 네임서버를 확인할 수 있다
nslookup/dig
nslookup명령어로는 도메인 네임의 IP 주소를 찾을 수 있다. 옵션은 쿼리 타입을 특정해서 검색가능
서버는 쿼리 하려는 DNS 서버를 의미하고, 로컬이나 공공 DNS 서버를 선택가능함
(ex. Cloudflare: 1.1.1.1, 1.0.0.1 Google: 8.8.8.8, 8.8.4.4)
nslookup 옵션
A | IPv4 주소 |
AAAA | IPv6 주소 |
CNAME | 표준 이름 |
MX | 메일 서버 |
SOA | Start of Authority |
TXT | TXT 레코드 |
위의 경우는 유튜브의 IPv4 주소를 찾는 쿼리이다
생각보다 쿼리결과가 많지는 않음
네이버의 메일 서버를 검색해 보았다
메일 서버에서 전송을 할 경우 mx[num].naver.com 에 연결하려고 한다.
만약 해당 주소가 이용불가 상태라면 다음 순서로 넘어간다
더 심화된 DNS 쿼리와 기능을 사용하려면 dig 명령어를 사용해 보자
dig
Domain Information Grouper의 약자이다. dig 역시 옵션을 추가한 쿼리가 가능함
위와 동일하게 네이버 메일 서버를 검색했는데 응답이 더 많다
구글링 해보니 dig 명령어가 훨씬 정보도 많고 nslookup 은 추후 릴리즈될 모델에서는 지원 안될 수도 있다는 얘기도 들림
기왕이면 dig를 쓰는 게 좋을 듯?
DNSDumpster
nslookup, dig는 타깃의 서브도메인을 찾을 수 없어 공격하기 제한된다.
서브도메인을 찾는데 유용한 서비스가 바로 DNS 덤스터!
DNSDumpster - Find & lookup dns records for recon & research
Free domain research tool to discover hosts related to a domain. Find visible hosts from the attackers perspective for Red and Blue Teams.
dnsdumpster.com
DNSDumpster에 tryhackme.com를 검색해 보자
호스팅 하는 서버와 시스템 위치, 그리고 서브도메인 정보가 쫙 뜬다
레코드 타입으로 분류한 서브도메인들
버그바운티할 때 배운건데 google.com을 침투하는것보다 ads.google.com 이렇게 서브도메인을 침투하는게 비교적 수월함
Shodan.io
특정 타깃에 침투테스트를 할때 직접 연결하지 않고도 클라이언트의 네트워크 정보를 알 수 있어서 유용하다.
Shodan은 온라인에서 reachable 도달가능한 모든 디바이스에 연결하려고 하고, 응답을 받으면 관련 정보를 수집해 DB에 저장함.
youtube.com을 검색해 보니 IP주소, 호스팅 하는 회사, 지리적 위치, 서버 타입과 버전 등의 정보가 있음
https://motaha22.github.io/bugbounty/bounty/
How I found XSS vulnerability in Amazon in 5 minutes using shodan
This is my first write-up. I was scrolling through twitter and I found this great tip:
motaha22.github.io
링크드 인하면서 본 건데 shodan 검색으로 취약한 서브도메인을 찾아서 버그헌팅에 성공한 경우를 종종 봤다
단순히 도메인 이름 google.com naver.com 이렇게 검색하는 건 당연히 아니고 dork를 사용해서 검색해야 한다
버그바운티 언제 성공할까...?
언젠가는 성공해야지~!