작업환경 : Kali Linux 2022.3, Windows 11, Virtual Box 7
작업도구 : Recon-ng 5.1.2
Kali Linux에 내장된 Recon-ng 툴을 활용해 취약한 도메인을 일괄 조사한 후
간단한 취약점 점검을 하는 시나리오입니다.
1. Recon-ng 실행과 소개
recon-ng는 현재 5.1.2 버전을 사용 중이며
기존 4 버전에서 5버전으로 오면서 특히 명령어 부분에서 큰 차이점이 생겼기에 이에 대한 숙지가 필요합니다.
아마 recon-ng를 이용한 다른 시나리오에서는 4버전에 대한 명령어 차이에 대한 내용이 들어갈 수도 있습니다만
이 글에서는 5 버전 명령어만 안내될 예정입니다.
recon-ng는 오픈소스이며 웹 기반의 패시브 스캐닝 도구입니다.
첫 실행 시 모듈 설치가 필요합니다.
marketplace install all
#기본 모듈 설치
설치가 완료된 후 명령어를 통해 설치된 혹은 설치되지 않은 모듈들을 확인해볼 수 있습니다.
market place search
#설치모듈 확인
이제 취약 도메인을 사용하는 웹 사이트를 조회하겠습니다.
일전에 작성한 글에서 개인 NAS의 외부 도메인은 취약하다는 말씀을 드렸었는데
그중 가장 노출도가 높은 NAS 도메인인 synology.me을 대상으로 조회하겠습니다.
- 취약점 도메인 : synology.me
- 사용될 모듈 : bing_domain_web
2. 도메인 조회
modules search bing_domain_web
#bing_domain_web 모듈 조회
bing_domain_web 모듈을 조회하고 결과를 확인합니다.
해당 모듈이 정상적으로 존재하는 걸 알 수 있고 이 모듈을 선택해줍니다.
modules load recon/domains-hosts/bing_domain_web
#해당 모듈을 불러온다.
위 경로를 그대로 입력해 로드해줍니다.
모듈이 로드되었습니다.
다음 info 명령어를 입력해 해당 모듈에 대한 옵션과 정보를 출력할 수 있습니다.
info
#모듈정보출력
여기서 중요하게 짚고 넘어갈 점은 Options 정도가 되겠습니다.
다음은 Options값을 입력하겠습니다.
options list
# 옵션값에 대한 리스트 출력
options set SOURCE [domain]
options set SOURCE synology.me
#option 값인 SOURCE 에 자신이 조회할 [domain]값 넣기
info에서도 options값에 관한 설명이 나오지만 options에 관한 리스트를 출력하기 위해 options list 명령어를 입력할 수 있습니다.
또한 set 명령어를 통해 지정해줘야 할 SOURCE 값에 자신이 조회할 도메인 주소를 지정해줍니다.
다시 info를 입력하면 옵션 SOURCE에 자신이 지정한 도메인 값이 들어가 있는 걸 확인할 수 있습니다.
다음은 모듈을 실행해주면 됩니다.
run
#모듈 실행 명령어
모듈이 실행되며 synology.me 도메인을 사용 중인 공개 도메인이 조회되고 있습니다.
약 94개의 결괏값이 조회되었습니다.
툴의 사용은 편리하지만 어떠한 원리로 이런 자동화 조회가 가능한지 알면 더 좋습니다.
bing은 검색엔진이며 구글과 마찬가지로 명령어를 통해 복수개의 검색 결과를 불러올 수 있습니다.
즉 recon-ng의 bing_domain_web 모듈은 bing 검색엔진에 자신이 지정한 소스 값에 다양한 옵션을 추가하여
검색엔진에서 조회할 검색어를 짜서 자동으로 조회해 결괏값을 반환해주는 것입니다.
아무튼 이렇게 조회된 취약 도메인을 통해 다양한 스캐닝이 가능합니다.
첫 번째로는 nmap을 이용한 포트스캔이 가능하겠죠
툴을 활용한 취약점 진단 - 포트스캔(nmap)
조회된 취약 도메인 대상으로 포트스캔이 진행되었습니다.
5000,5001 포트는 시놀로지 NAS의 DDNS(외부) 접속을 위한 포트로 각각 http/https 포트입니다.
80,443은 공인된 http/https 포트이고요
저 포트들은 도메인이 외부로 노출되어 있는 대부분의 개인 NAS 서버에서 공통적으로 찾아볼 수 있는 포트들입니다.
거기다가 도메인에 매칭 된 공인 IP까지 조회됩니다.
이는 recon-ng의 resolve 모듈을 이용해 실제 IP 조회가 가능하지만
nmap으로도 가능합니다.
툴을 활용한 취약점 진단 2 - Domain 취약점 진단
조회해보니 취약점 진단 툴이 4개 있는데 그중 XSS(크로스 사이트 스크립팅) 취약점 진단 툴이 있어서 사용했습니다.
modules load recon/domains-vulnerabilities/xssed
options set source [domain]
역시 모듈을 로드하고 옵션까지 지정합니다.
요즘은 대부분의 웹에서 xss취약점을 찾아보기 힘듭니다.
게다가 모듈 자체가 xssed.com에 등록된 xss 취약점 사이트를 조회하는 것이기 때문에
대부분은 조회가 되지 않을 듯합니다.
아무튼 해당 사이트에는 툴의 한계상 xss 취약점은 존재하지 않는다고 판단해야겠습니다.
*제 시나리오에 활용된 도메인이나 스캐닝 기법은 학습의 목적으로 가상의 환경에서 진행되었으며
개인의 악의적인 사용시 법적 처벌이 있음을 유의하시길 바랍니다.*
참고 글
https://www.blackhillsinfosec.com/wp-content/uploads/2019/11/recon-ng-5.x-cheat-sheet-Sheet1-1.pdf
'정보보안 > Web Hacking' 카테고리의 다른 글
트위터 API를 활용한 정보 수집 시나리오 - Twitter API, Recon-ng (0) | 2022.11.30 |
---|---|
특정 좌표에서 사진 정보를 수집하는 시나리오 - Recon-ng, Kali Linux, flickr (0) | 2022.11.28 |
드림핵 문제풀이 - dreamhack-tools-cyberchef (0) | 2022.09.14 |
CSRF 취약점에 대한 간단한 설명과 그 예시 - CSRF Token, OWASP 10, Referrer (0) | 2022.09.03 |
파일 다운로드 취약점에서 자주 쓰이는 Path Traversal 취약점 정리 - filedownload, path traveral (0) | 2022.08.25 |
댓글