모의해킹&웹취약점진단/모의해킹 개요

Mitre ATT&CK -Reconnaissance(정찰)

sheow13 2023. 10. 24. 09:02
728x90

개요

- 취약점 진단&모의 해킹 초기 과정으로, 진단하고자 하는 대상에 취약점 또는 특이사항이 있는지 검색 및 확인하는 과정

- 네트워크 정보, 웹 서버 버전, 취약점 정보 등을 해당 과정에서 확인

- Mitre Att&ck Reconnaissance(정찰) 과정으로 명시

- shodan, nmap, dirbuster, GooFuzz 등 다양한 점검 도구들을 통해 진단하고자 하는 대상의 정보 수집 필요

 

정보 수집 단계에서 자주 사용하는 도구

1. Shodan

- 정보수집 단계에서 외부에 Open되어 있는 정보들을 UI상으로 보기 쉽게 제공

- 시스템 배너정보로부터 메타데이터들을 이용하여 특정 디바이스, 컴퓨터, 라우터, 서버의 정보 등을 검색 가능

- 특정 시스템 대상으로 공격 대상을 검색할 시에 유용하게 활용 가능

- 구글과 달리 웹 콘텐츠에 색인을 생성하지 않고, 인터넷을 사용하는 서버 또는 장비를 열러 있는 포트를 통해 배너 그래빙으로 정보 수집 후 색인을 생성하여 클라이언트에 반환하는 형식

- 반환된 데이터는 Shodan 웹 인터페이스를 통해 사용자에게 장비에 대한 정보, 지원하는 서비스 등으로 보여줌

- 장점 : 점검하고자 하는 대상에 부하 최소화, 외부에 Open 되어 있는 포트 정보를 손쉽게 획득 가능

- 단점 : 쇼단을 악용하여 해킹 위험 존재, 쇼단 추가 기능 사용 원할 시, 추가 비용 결제 필요

 

쇼단 서비스 검색 옵션

필터 설명
city 입력한 도시에서의 검색 결과
country 입력한 나라에서의 검색 결과
geo 입력한 위도/경도 좌표 근처에 검색 결과
hostname 입력한 호스트네임이 포함되는 결과
net 입력한 Class에 맞는 검색 결과
os 입력한 os를 포함하는 정보
port 입력한 포트와 일치하는 검색결과
title HTMLtitle과 일치하는 정보 검색
ip 넷필터명을 기준으로 검색
isp ISP를 기준으로 검색
region 주 이름을 기준으로 검색
version 제품 버전을 기준으로 검색
vuln 취약점 CVE ID를 기준으로 검색

 

쇼단 서비스 검색 옵션 예시

예시 1(hostname값을 통한 검색)
예시 2(net값을 통한 검색)

 

2. nmap

- 정보수집 단계에서 점검하고자 하는 대상의 Open된 포트 정보를 수집할 때 사용

- 포트 정보 이외에도 nmap NSE(Nmap Scripting Engine)을 사용하여 Web, SMB, RPC 등 다양한 서비스를 점검 및 취약점을 찾을 수 있음

- 취약점 점검&모의해킹 과정에서 자주 사용하는 도구로, 활용 가치가 많음

 

 nmap 자주 사용하는 스캐닝 옵션

옵션 설명
-sT TCP Connect 스캔
-sU UDP 스캔
-sS stealth scan
-sF,
-sX,
-sN
대상 시스템에서 로깅하지 않고 정보를 수집하는데 사용되는 스캔
- FIN : 해당 플래그를 사용할 경우 3 handshake 과정에서 ACK가 아닌 RST 플래그 전달
- X-mas : FIN,URG,PUSH 플래그를 보내 서버측에서 비정상 패킷으로 판단해서 RST 패킷을 전달
- Null : TCP 플래그를 설정하지 않고 보내 서버측에서 비정상 패킷으로 판단해서 RST 패킷을 전달
-sA TCP ACK 스캔

 

nmap 자주 사용하는 포트 사양 및 스캔 순서

옵션 설명
-p <port ranges] 지정된 포트만 스캔
--exclude-ports <port ranges> 지정된 포트를 제외한 후 스캔
-F 고속모드로 스캔
--top-ports <number> 지정한 숫자만큼 common 포트 스캔
-T <0~5> 스캔 속도 설정(높을수록 빠름)

 

   nmap 자주 사용하는 서비스/버전 탐색 옵션

옵션 설명
-sV 포트의 서비스/버전 정보를 확인
-allports 제외없이 모든 포트 스캔
--version-intensity <level> 버전 정보 확인 레벨 지정(0~9)
--version-light 레벨 2intensity로 스캔
--version-all 레벨 9intensity로 스캔
--version-trace 스캐닝 활동에 발견된 모든 버전 정보 출력(디버깅용)

 

 nmap 자주 사용하는 스크립트 스캔 옵션(nmap NSE)

옵션 설명
-sC 기본 스크립트로 대상 스캔
--script <Lua scripts> Lua 스크립트로 대상 스캔
--script-updatedb 스크립트 데이터베이스 업데이트
--script=http-enum <target> http/https 웹 서비스만 스캔
--script=http-methods http method 활용 확인

 

 nmap 사용 예시

예시 1(포트를 지정해서 스캔)

 

예시 2(nmap NSE를 사용하여 점검하고자 하는 서버 취약점 확인)

 

3. nikto

- (HTTP/HTTPS) 취약점 점검에 사용되는 자동화 점검 도구로서, 웹에 취약한 설정 및 경로 등을 표출

- 기타 웹 취약점 점검 도구(Acunetix, Appscan)의 경우, 서버에 부하 및 영향을 많이 줄 수 있지만, nikto의 경우 서버에 크게 영향을 주지 않는다는 장점 존재

- 다른 웹 취약점 점검 도구에 비해 발견할 수 있는 취약점이 한정적이라는 단점 존재

- 취약점 점검&모의해킹 과정에서 자주 사용하는 도구로, 활용 가치가 많음

 

 nikto 옵션

- nikto h [점검하고자 하는 IP / 도메인]

 

   nikto 사용 예시

예 시

 

4. Dirbuster

- (HTTP/HTTPS) 취약점 점검에 사용되는 자동화 점검 도구로서, 등록되어 있는 사전 파일로 웹 서버를 스캔하여 경로 등을 찾을 수 있는 점검 도구

- 취약점 점검&모의해킹 과정에서 자주 사용하는 도구로, 활용 가치가 많음

예 시

 

5. gobuster

- (HTTP/HTTPS) 취약점 점검에 사용되는 자동화 점검 도구로서, 등록되어 있는 사전 파일로 웹 서버를 스캔하여 경로 등을 찾을 수 있는 점검 도구

- 디렉토리 스캔 뿐만 아니라, DNS, S3, TFTP 등을 스캔할 수 있는 도구

- 취약점 점검&모의해킹 과정에서 자주 사용하는 도구로, 활용 가치가 많음

예 시

 

6. arp-scan

- 모의 해킹 과정에서 내부 침투 후 내부 네트워크 스캔을 하기 위해 사용

- 내부 ARP 통신하는 IP 주소 등의 정보를 수집할 수 있음

예 시

 

7. wpscan

- 워드프레스 기반 웹사이트를 스캔하는 도구로, 해당 사이트의 보안 취약점 및 워드프레스 플러그인, 테마, 사용자 등을 정보 수집할 수 있는 도구

- 취약점 점검&모의해킹 과정에서 자주 사용하는 도구로, 활용 가치가 많음

옵션 설명
--url 점검하고자 하는 url 입력
--enumerate p 플러그인 스캔
--enumerate t 테마 스캔
--enumerate u 사용자 스캔
--passwords wordlists.txt 사용자 계정 사전 대입 공격
예시 1(워드프레스 테마 스캔)
명령어 : wpcan --url [점검하고자 하는 URL] --enumerate t

 

예시 2(워드프레스 사용자 스캔)
명령어 : wpcan --url [점검하고자 하는 URL] --enumerate u
예시 3(사용자 계정 사전 대입 공격)
명령어 : wpscan --url [점검하고자 하는 URL] --passwords [패스워드 사전 파일] --usernames [계정명]

 

9. owasp-zap

- 자동화 점검 도구 및 웹 프록시 도구로 디렉토리 스캔, 포트 스캔, 크롤링 등을 수행할 수 있는 도구

- 취약점 점검&모의해킹 과정에서 자주 사용하는 도구로, 활용 가치가 많음

예시

- 이외에도 구글링 검색 도구인 Goofuzz, 웹 프록시 도구인 burp suite 등이 있으니 상황에 맞게 적절한 도구등을 사용해서 정보 수집 진행 필요