일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 자바스크립트 jQuery
- 자바스크립트 API
- php
- 자바스크립트 node
- 오라클
- 카카오프로젝트 100
- numpy
- 보안뉴스요약
- 카카오프로젝트
- 보안뉴스 한줄요약
- Oracle SQL
- 깃허브
- 자바스크립트
- 보안뉴스한줄요약
- 보안뉴스
- 카카오프로젝트100
- 자바스크립트 prototype
- 보안뉴스 요약
- GIT
- 자바스크립트 객체
- 파이썬
- 자바스크립트 element api
- python
- 랜섬웨어
- 자바스크립트 기본 문법
- javascript
- 다크웹
- oracle db
- oracle
- ES6
- Today
- Total
FU11M00N
[Nmap] Nmap 옵션 및 활용 본문
* 허락을 받지 않은 스캐닝은 불법입니다.
* 절대로 공개되어 있는 IP/도메인에 대해 스캐닝을 하시면 안 됩니다.
* 다음은 정보통신망법의 일부 내용입니다.
제48조(정보통신망 침해행위 등의 금지)
① 누구든지 정당한 접근권한 없이 또는 허용된 접근권한을 넘어 정보통신망에 침입하여서는 아니 된다.
② 누구든지 정당한 사유 없이 정보통신시스템, 데이터 또는 프로그램 등을 훼손ㆍ멸실ㆍ변경ㆍ위조하거나 그 운용을 방해할 수 있는 프로그램(이하 "악성프로그램"이라 한다)을 전달 또는 유포하여서는 아니 된다.
③ 누구든지 정보통신망의 안정적 운영을 방해할 목적으로 대량의 신호 또는 데이터를 보내거나 부정한 명령을 처리하도록 하는 등의 방법으로 정보통신망에 장애가 발생하게 하여서는 아니 된다.
[전문개정 2008. 6. 13.]
실습 환경: VMware 16 Pro, Kali Linux 2020(공격자 192.168.10.220/22) , Metasploitable2(희생자 192.168.11.171/22 |
- NMAP 이란?

Nmap는 네트워크 스캐너이다. 네트워크 스캐너는 대상이 되는 네트워크에 패킷을 보내, 패킷의 응답을 이용하여 송신처의 네트워크의 상태를 알게 된다. 다른 네트워크 스캐너도 입수가능 하지만, Nmap만큼 기능이 많지 않다.
공격자가 네트워크를 사전조사 할 때 그들은 우선 몇 개의 시스템이 동작하고 있는가 와 그 각각의 IP주소를 알아내려 한다.
Nmap는 이를 두가지 방법으로 확인할 수가 있다.
첫 번째 방법은 ICMP echo request packet을 보내는 방법이다.
이것은 Ping 명령어가 하는 일과 비슷하다. 그러나 ping은 한번에 하나의 패킷 밖에 보내지 않지만, Nmap는 한번에 여러 개의 패킷을 보낼 수가 있다. 또한 nmap가 ICMP를 보내어 스캐닝 할 때는 Ping을 사용하는 것 보다 몇 백배나 빠르게 결과를 얻을 수 있다.
두 번째 방법은 포트 address로의 접속을 시험해 봄으로써 사용하고 있는 IP Address를 체크하는 방법이다.
일단 사용하고 있는 IP가 확인되면, Nmap의 포트 스캐닝 기능이 대상 네트워크 상의 어느 포트가 열려 있는지를 확인한다.
바꿔 말하면, 클라이언트가 접속하기를 기다리면서, 어느 포트에 대응하는 서버 Listening이 있는지를 확인하는 것이다. 열려 있는 포트는 취약한 서버일 가능성을 의미한다. 숙련된 공격자라면, 열린 포트의 리스트를 확인하는 것 만으로도 간단하게 사용하고 있는 OS를 확인할 수 있다. Nmap는 6가지의 다른 포트 스캐닝 방법을 사용할 수 있다.
- Nmap 옵션 설명 및 실습

“nmap -h 명령어를 수행하면 nmap의 옵션을 볼 수 있다

“nmap -sS -O IP” 명령어를 수행하여 Stealth Scan 으로 대상의 열린 포트를 탐색한다. (stealth scan은 RST 패킷을 사용한다.)
- Stealth Scan: 포트 스캔 기법 중 서버에 로그가 남지 않는 스캔 기법을 스텔스 스캔(Stealth Scan)이라고 한다.

“Nmap -sU IP” 명령어를 수행하여 UDP Scan으로 열려 있는 포트를 탐색한다. (시간이 더 오래 걸릴 수 있다.)
UDP Scan: UDP 프로토콜은 TCP와 다르게 핸드쉐이킹 과정이 존재하지 않고, 따라서 일반적으로는 포트가 열려 있다고 하더라도 서버에서 아무런 응답을 하지 않는다.
하지만, 많은 시스템에서는 보낸 패킷에 대한 응답이 없을 때 ICMP unreachable 메시지를 보낸다. 이 방식을 사용하여 서버에서 ICMP 메시지를 보내지 않는 경우 닫혀 있는 포트로 열려 있다고 판단하는 존재한다.

“nmap -D RND: [num] IP” 명령어를 수행하여 혼란을 주기 위해 num 개수만큼 IP를 생성하여 패킷을 전송합니다. (분석혼란)

“nmap -sV -T5 IP” 명령어를 수행하여 해당 서버에서 사용하고 있는 여러 서비스(ssh, telnet, mysql등) 버전 파악을 한다. -T5 옵션은 가장 빠른 스캔 속도이며, -T1~-T5까지 존재한다.

“nmap -S [source IP] IP” 명령어를 수행하여 포트스캔 시 요청 보내는 쪽의 IP를 변조한다.

“nmap --source-port [port] IP” 명령어를 수행하여 포트스캔 시 요청 보내는 쪽의 포트를 변조한다.

“nmap –randomize-hosts 192.168.11.171-180” 명령어를 수행하여 해당 IP 대역 내에서의 범위를 지정하여 스캔한다.

“nmap -vv 192.168.11.171” 명령어를 수행하여 더욱 자세한 옵션을 스캔합니다. (-v 옵션은 -vv 옵션 보다 조금 더 적은 정보를 준다.)

“nmap -f -sS IP” 명령어를 수행하여 Bypass Firewall -목적지 포트를 숨겨서 방화벽을 통과합니다. (처음 패킷은 16byte, 그 뒤 패킷은 4byte) [fragment]

“nmap -iL ./scanlist.txt” 명령어를 수행하여 여러 호스트 목록을 파일로 해서 읽어 들인 후 스캔한다
.

“nmap 192.168.0.11/24 –exclude 192.168.11.1-150” 명령어를 수행하여 탐색 대상에서 특정한 호스트를 제외한다.

“nmap 192.168.0.11/24 –exclude 192.168.11.1-150” 명령어를 수행하여 탐색 대상에서 특정한 호스트를 제외한다.

“nmap -sA IP” 명령어를 수행하여 TCP ACK 스캔을 한다.
TCP ACK: ack 스캔은 방화벽 규칙 세트를 정밀하게 표시하기 위해 사용한다. 특히 ack스캔은 방화벽 규칙이 제대로 된 상태에 있는지 아닌지를 이해하는데 도움을 준다. 단점은 열린 포트와 닫힌 포트를 구별하지 못하는 점이다.

“nmap -PN IP” 명령어를 수행하여 방화벽으로 보호되는 호스트를 스캔한다. (호스트 탐색 X 바로 포트스캔.)

“nmap -6 192.168.11.171” 명령어를 수행하여 IPv6 호스트 스캔을 한다.

“nmap -reason IP” 명령어를 수행하여 각각의 포트가 어떤 이유로 이런 상태이지 확인한다.

“nmap –open 192.168.11.171” 명령어를 수행하여 열려 있는 포트만 확인 한다. (open)

“nmap --packet-trace IP” 명령어를 수행하여 패킷 디버깅 옵션을 붙여서 스캔 한다.

“nmap -sO IP” 와 같이 명령어를 수행하여 호스트가 어떤 ip 프로토콜 (ICMP, TCP, IGMP 등) 사용하는지 한다.

“nmap 192.168.11.171 > Result.txt” 명령어를 수행하여 nmap 스캔 내용을 파일로 저장한다.

“nmap -sS -p80,8080 192.168.11.1/24 -oA Result.xml” 명령어를 수행하여 대상이 많은 경우 XML 파일로 저장 후 엑셀에서 작업할 수 있다.
'Penetration testing > Information collection' 카테고리의 다른 글
[OSINT] Shodan 이해 및 실습 (0) | 2020.11.01 |
---|---|
[Nmap]Nmap NSE의 이해 및 스크립트 실습 (0) | 2020.11.01 |
[OSINT] 정보수집단계의 필수 OSINT (0) | 2020.10.26 |
[OSINT] Maltego 간단 실습 (0) | 2020.10.24 |
[OSINT] Maltego 설명 및 설치방법. (0) | 2020.10.24 |