[역량강화] 서브도메인 스캔과 nmap 사용법 및 OSINT
- 2024.06.03 -
1. 작업의 개요
> 개발 혹은 운영 등 에서 보안에 대한 중요성, 필요성에 대해 보안의식의 부재로 보안진단을 받지 않고 서비스오픈을 하는 경우가 생기면서 주요 보안취약점을 악의적인 사용자가 노려 시스템침투, 혹은 중요정보를 노출하여 보안사고가 발생됨에 따라 정기적으로 보안성검토를 진행하여 정상적인 사용자가 서비스를 이용할 수 있도록 한다.
1.1. 왜 하는가?
> 보안의식의 부재로 인하여 담당자가 적절한 보안조치를 검토받지 아니하고 서비스를 게시한 경우이다.이 경우 게시한 서비스가 적절한 보안검토를 받지 않아 개인정보 등의 주요 민감정보를 유출하거나 노출되는 보안사고가 발생한다.주로 2차 도메인(하위 도메인)의 경우 메인 도메인 밑으로 들어가면서 보안진단자가 이를 항상 확인하기가 어렵고, 담당자는 해당 보안검토가 많은 시간을 소요하는 불필요한 업무로 인식하는 것과 서비스를 긴급하게 게시해야하는 경우가 이에 속한다. 따라서, 보안진단자는 정기적으로 보안성 검토 미수행 시스템의 존재를 파악하거나 검토하여 식별되지 않는 자산의 존재를 확인하는 과정이 필요하다.
1.2. 주의사항?
> 주의사항으로는 검토 미수행 시스템여부를 확인할 때 실 사용되고 운영중인 서비스를 대상으로 하는 경우 서버나 시스템에 큰 무리를 주는(많은 트래픽을 요하는 공격 등) 점검 방식보다 크롤링 혹은 OSINT도구 등을 이용하여 확인해야한다.
2. 백데이터 제작
2.1. 서브도메인 스캐닝
> 서브 도메인은 2차 도메인으로도 불리는데 www.naver.com 이라는 네이버 사이트에서 앞의 www와 naver사이에 붙는 도메인이 2차 도메인(서브 도메인)이다. www.naver.com은 메인 홈페이지 도메인이고 mail.naver.com은 네이버 사이트에서 메일 서비스를 하는 페이지로 추측할 수 있다. 이렇게 서브 도메인의 OPEN은 메인서비스 OPEN만큼의 보안의식이 부족할 수 있고 그에 따라 담당자가 임의로 서비스를 오픈하는 경우가 생기니 서브도메인 스캐닝을 통하여 OSINT 등 대상에 대한 정보를 확인한다.
2.1.1. Sublist3r?
> 주요 서브도메인 스캐닝의 도구로는 Sublist3r가 있는데 검색엔진을 이용하여 서브도메인을 스캔할 수 있다. 직접적으로 무차별 대입을 하는 것이 아니기에 시스템에 직접적인 트래픽을 요청하지 않으며 따라서 주의사항의 보안리스크에서도 어느정도 자유로운 편이다.
2.2. 포트 스캐닝
2.2.1. 포트 스캐닝을 하는 이유?
> 포트 스캐닝이 필요한 이유는 두가지의 관점으로 볼 수 있는데 우선, 공격자의 입장에서는 공격포인트를 탐색하고 대상 시스템에 대한 전체적인 구조를 파악하기 위함이다. 일반적인 web 서비스는 80, 443이 열려있으나 특정 서비스가 필요하여(SSH,FTP 등) 실행중일때 해당 포트는 포트 스캐닝을 통해 확인할 수 있다. 반대로 방어자의 입장에서는 포트 스캐닝을 통해 사전에 확인되지 않는 서비스나 불필요한 포트들이 열려 있는것을 확인할 수 있고 이에 따라 불필요한 포트들은 정리하여 보안 리스크를 예방하고 낮출 수 있다.
2.2.2. NMAP?
> Nmap은 네트워크 디스커버리 및 보안 감사 도구로, 네트워크 호스트 및 서비스를 스캔하여 정보를 수집하는 오픈 소스 보안 스캐너이다. 현재 가장 널리 사용되고 있는 보안 스캐너중 하나이며 다양한 운영체제에서 실행 된다.
2.2.2.1. NMAP의 Options, 조합 및 활용방안
> Nmap Options(Normal)
No | Options | 설명 | 상세 | 사용 예시 |
1 | -sS | SYN 스캔 | 빠르고 상대적으로 탐지가 어려움 | nmap -sS 127.0.0.1 |
2 | -sT | TCP Connect | SYN 스캔이 불가능할 때 사용 | nmap -sT 127.0.0.1 |
3 | -sU | UDP 스캔 | UDP 포트를 스캔 | nmap -sU 127.0.0.1 |
4 | -sA | ACK 스캔 | FW 규칙 탐지에 유용 | nmap -sA 127.0.0.1 |
5 | -sW | 윈도우 스캔 | 윈도우 크기를 기반으로 포트 상태 확인 | nmap -sW 127.0.0.1 |
6 | -sM | Maimon 스캔 | 방화벽이 차단하는지 여부 검사 | nmap -sM 127.0.0.1 |
> Nmap Options(Service Detected)
No | Options | 설명 | 상세 | 사용 예시 |
1 | -sV | 서비스 버전 탐지 | 빠르고 상대적으로 탐지가 어려움 | nmap -sV 127.0.0.1 |
2 | -A | 고급 탐지 | SYN 스캔이 불가능할 때 사용 | nmap -sA 127.0.0.1 |
> Nmap Options(OS Detected)
No | Options | 설명 | 상세 | 사용 예시 |
1 | -O | OS 탐지 | 운영체제(OS) 탐지 | nmap -O 127.0.0.1 |
2 | --osscan-Guess | 추측모드 | 탐지결과 불명확시 추측모드 활성화 | nmap –osscan-Guess 127.0.0.1 |
> Nmap Options(Scan Performance Options)
No | Options | 설명 | 상세 | 사용 예시 |
1 | -T<0-5> | 스캔속도 | 스캔 속도 조절 (0:느림, 5:빠름) | nmap -T1 127.0.0.1 |
2 | --min-rate <rate> | - | 초당 패킷 전송 최소속도 | nmap –min-rate 80 127.0.0.1 |
3 | --max-rate <rate> | - | 초당 패킷 전송 최대속도 | nmap –max-rate 80 127.0.0.1 |
> Nmap Options(Target Specification Options)
No | Options | 상세 | 사용 예시 |
1 | -iL <inputfile> | 특정 파일에서 목록 읽음 | nmap -iL test.txt 127.0.0.1 |
2 | -iR <num hosts> | 랜덤지정한 수의 호스트 스캔 | nmap -iR 120 127.0.0.1 |
3 | -exclude <host1[,host2][,host3], …> | 스캔에서 제외할 호스트 지정 | nmap -exclue test,test2 127.0.0.1 |
4 | -excludefile <excluse_file> | 제외할 호스트를 포함한 파일저장 | nmap -excludefile host.txt 127.0.0.1 |
> Nmap Options(Output Options)
No | Options | 설명 | 상세 | 사용 예시 |
1 | -oN <file> | - | 일반 출력 형식으로 결과 저장 | nmap -oN result.txt 127.0.0.1 |
2 | -oX <file> | - | XML 형식으로 결과 저장 | nmap -oX result.xml 127.0.0.1 |
3 | -oG <file> | - | grep 형식으로 결과 저장 | nmap -oG resulte 127.0.0.1 |
4 | -oA <basename> | - | 일반,XML,grep 형식으로 결과 저장 | nmap -oA resulte 127.0.0.1 |
> Nmap Options(Script Engine Options)
No | Options | 설명 | 상세 | 사용 예시 |
1 | -sC | NSE 스크립트 실행 | NSE(Nmap Scripting Engine) 스크립트 실행 | nmap -sC 127.0.0.1 |
2 | --script <scripts> | 특정 NSE 스크립트를 실행 |
> Nmap Options(Onther Options)
No | Options | 설명 | 상세 | 사용 예시 |
1 | -p <port ranges> | 스캔할 포트범위 지정 | 스캔할 포트 범위를 지정 | nmap -p 1-555 127.0.0.1 |
2 | -F | 빠른 스캔모드 | 상위 100개 포트만 스캔 | nmap -F 127.0.0.1 |
4 | -v | 상세 출력 모드 | 더 많은 정보를 출력 | nmap -v 127.0.0.1 |
5 | -Pn | 응답없어도 스캔 | 호스트의 응답여부에 상관없이 스캔 | nmap -Pn 127.0.0.1 |
6 | --open | 열린포트만 출력 | - | nmap -Pn 127.0.0.1 --open |
3. 식별/검증
3.1. OSINT
3.1.1. OSINT란?
> OSINT란, Open Source Intelligence의 약자로 직역하면 공개 출처 정보 이다. 이미 공개된 정보자산들을 수집하여 타겟에 관련된 정보를 후집하는 것을 의미한다.
3.1.2. OSINT 도구, 활동엔 무엇이 있는가?
> OSINT 도구로는 여러가지가 있는데 대표적으로 몇가지만 추려본다.
1. 소셜미디어플랫폼 모니터링 : 트위터, 페이스북, 인스타그램 등을 이용한 해시태그(#)를 이용한 정보 수집
2. 오픈소스 분석 도구 : Maltego, Shodan, FOCA 등의 도구를 활용하여 네트워크 및 시스템 정보 수집
3. Metadata 분석 도구 : Exiftool 따위의 도구를 이용하여 이미지, 영상의 메타데이터에서 정보(촬영 장소, 시간, 날짜, 촬영장비 모델 등) 추출
4. OSINT 프레임워크 : Recon-ng, SpiderFoot 등의 프레임워크를 사용하여 자동화된 OSINT 수집 및 분석
5. 키워드 모니터링 도구 : Google Alerts, Mention, Brandwatch 등을 이용한 웹에서 특정 키워드를 포함되는 문구를 모니터링
3.2. 검색엔진
3.2.1. 검색엔진의 종류와 활용법?
> 웹 검색 엔진을 통해 정보를 수집할 수 있는 방법이 있다. Google, Bing, Yahoo 등과 같이 웹페이지를 이용한 정보를 수집할 수 있다.
3.2.2. 구글 검색 쿼리문의 종류와 세부검색방법
> 구글 검색을 효율적으로 수행하기 위해 여러 쿼리문과 세부 검색 방법을 사용할 수 있는데 몇가지 주요 쿼리문을 나열해 본다.
기본 검색: 특정 키워드 또는 문구를 검색하여 관련된 결과를 얻는 가장 일반적인 방법입니다.
예: "인공지능 기술", "세계 여행지 추천"
인용부호 (Quotation Marks): 특정한 문구가 정확히 일치하는 결과를 검색할 때 사용됩니다.
예: "인공지능의 미래", "세계 여행지 추천"
AND 연산자: 두 개 이상의 키워드를 함께 검색할 때 사용됩니다. 모든 키워드가 포함된 결과를 얻습니다.
예: 인공지능 AND 의료, 세계 AND 여행 AND 추천
OR 연산자: 두 개 이상의 키워드 중 하나 이상이 포함된 결과를 얻습니다.
예: 인공지능 OR 기계학습, 세계 OR 국제 OR 해외 여행
제외 연산자 (-): 특정 키워드를 결과에서 제외할 때 사용됩니다.
예: 인공지능 -로봇, 여행 -비행기
사이트 검색: 특정 웹사이트에서만 결과를 검색할 때 사용됩니다.
예: 사이트:nytimes.com 인공지능, 사이트:wikipedia.org 인공지능
파일 유형 검색: 특정 파일 유형의 결과를 검색할 때 사용됩니다.
예: 인공지능 filetype:pdf, 세계 여행 filetype:ppt
릴레이티드 검색 (Related Search): 특정 주제와 관련된 다른 검색어 또는 주제를 보여줍니다.
예: "인공지능" 관련 검색, "세계 여행" 관련 검색
빈칸을 활용한 검색: 빈칸은 다양한 용도로 활용될 수 있습니다.
예: "인공지능 * 산업", "세계 여행 * 팁"
시간대 검색: 특정 시간 범위 내에서 결과를 검색할 때 사용됩니다.
예: "인공지능" 2022..2023, "세계 여행" 2024
'Red Team > 정보보안' 카테고리의 다른 글
CVSS 3.1 Calculate 및 각 명칭 별 설명 (2) | 2024.12.23 |
---|---|
[SMTP] SMTP 상태코드(에러코드)별 종류와 이유 (1) | 2024.06.04 |
[역량강화] Curl 이란? (0) | 2024.05.17 |
[역량강화] TLS 1.0, TLS 1.1 버전이 취약한 이유 (0) | 2024.03.21 |
댓글
이 글 공유하기
다른 글
-
CVSS 3.1 Calculate 및 각 명칭 별 설명
CVSS 3.1 Calculate 및 각 명칭 별 설명
2024.12.23 -
[SMTP] SMTP 상태코드(에러코드)별 종류와 이유
[SMTP] SMTP 상태코드(에러코드)별 종류와 이유
2024.06.04 -
[역량강화] Curl 이란?
[역량강화] Curl 이란?
2024.05.17 -
[역량강화] TLS 1.0, TLS 1.1 버전이 취약한 이유
[역량강화] TLS 1.0, TLS 1.1 버전이 취약한 이유
2024.03.21