[Nmap] 설치 및 사용방법

Posted by 나눔인생 내브티
2017.12.11 18:30 정보보안/네트워크
위 글에서 포트스캔에 대해 그 의미와 종류에 대해 살펴 보았습니다.

이번 포스트는 포트스캔에 사용되는 가장 보편적인 
Nmap을 설치, 사용 방법에 대해 알아보겠습니다.

먼저 Nmap을 다운받기 위해 공식 홈페이지로 접근합니다.

운로드를 클릭합니다.

자신의 OS를 확인후 맞는 카테고리에서 다운로드를 합니다. 
 저는 윈도우로 진행하겠습니다.


i agree를 포함한 next를 연타 후 설치를 시작합니다


Npcap 이 존재하지 않거나 버전이 낮을경우 예를 통한 재설치를 진행합니다.
설치시 경로 설정을 찾아가기 쉬운 위치에 설치하는게 좋습니다 .

저는 C:\Program Files (x86)\Nmap에 설치를 했습니다 .
만약 설치를 다른곳에 하셨다면 거기에 맞춰서 CMD창에서 경로로 들어갑니다.

윈도우키+R을 눌러 CMD 창을 열고 설치된 위치로 들어간다음 
명령어를 입력하면 Nmap을 사용할 수 있습니다.


다음 Nmap의 사용법 입니다. 

# nmap [1.스캔유형]  [2.옵션]  [호스트 (ip)]

1. 스캔 유형
   -sS : TCP SYN스캔 (스텔스 스캔)
   -sT : TCP연결을 사용한 포트스캔
   -sP : ping을 이용한 스캔
   -sA : ACK 패킷에 대한 TTL값을 분석한다 (방화벽 규칙상태 확인시 사용)
   -sR : RPC를 이용하여 포트를 스캔한다.
   -sW : 윈도우 스캔은 ACK스캔과 같은데 특정 장치에 대해 열린,닫힌 포트를 구별한다.
   -sI : Idel 스캔은 가장 은밀한 스캔, 느리고 복잡하다.
   -sU : UDP 포트스캔
   -sF : FIN 패킷을 이용하여 스캔한다.
   -sX : Xmas 패킷을 이용하여 스캔한다.
   -sN : Null 패킷을 이용하여 스캔한다 .

2. 옵션
   2-1. 포트 옵션
       -p 22 : 22번 포트 스캔
       -p (service) : 서비스 명으로 포트스캔
       -p 20,40,80 : 20,40,80 포트스캔
       -p 1-1023 : 1 ~ 1023포트스캔, 범위로 지정

   2-2. output 옵션
       -v : 출력을 자세하게
       -vv : -v보다 더자세하게
       -oN <file명> : 일반 파일 형식으로 출력
       -oX <file명> : XML 파일 형식으로 출력

   2-3. 기타 옵션
    -T[0-5] : nmap의 스캔 속도를 의미하며 -T0부터 -T5 설정이 가능하며 5에 가까울 수록 빠릅니다.
       -O : 대상 호스트 운영체제 스캔
       -PN : 호스트가 살아있는지 ping을 하지 않음으로 log 파일에 기록될 가능성을 줄인다.
       -PS : Ping을 할때 ack패킷 대신 Syn패킷을 보낸다.
       -F : fast 스캔
       -D : 스캔을 수행할 컴퓨터의 ip를 속이기 위해 임의 다른 ip속에 자신의 ip를 숨겨 놓는다.
       -S : 출발지 ip를 바꾸고 싶을때 사용

   2-4. 핑스캔 
       -sP : 핑 스캔(ICMP)사용,내부단은 ARP 요청이 대신함
       -sL : 목록 스캔(서버가 살았는지 죽었는지 확인하는 좋은 방법)
       -PS : TCP SYN 패킷을 보낸다.(SYN ->SYN,ACK -> RST)
       -PA : TCP ACK 패킷을 보낸다. (위의 –PS와 비슷하지만 방화벽을 우회하기 위해 ACK를 보낸다)
       -PU : UDP핑. 빈 UDP패킷을 해당 포트로 보낸다. TCP필터링을 피해간다.
       -PO : IP 프로토콜 핑. ICMP, IGMP, IP 패킷을 이용한 스캔
       -PR :  ARP스캔

간단 사용예)
#nmap -v 192.168.0.* : 해당 호스트의 정보를 조금더 자세하게 보여준다.
#nmap 192.168.0.*/24 : 네트워크 전체를 스캔한다.
#nmap -sp 192.168.0.* : 192.168.0.*가 살아있는지 스캔한다.
#nmap -sR -p 1-20000 192.168.0.100 : 192.168.0.100의 1번부터 20000까지 RPC포트를 찾는다.
#nmap -sU -PT 192.168.0.100/24 : 192.168.0.100 네트워크의 호스트들에게 
                                              ACK보내 응답을 기다리고 열려진 UDP 포트를 찾는다.


위 그림은 -sT(TCP)스캔을 -p 1-1024(포트 1~1024까지) 192.168.0.14 호스트를 스캔한 내역입니다.
open 은 열려있는 것이며 filtered는 방화벽에서 필터링 된다는 의미입니다.

문의사항은 댓글이나 방명록에 남겨주세요





'정보보안 > 네트워크' 카테고리의 다른 글

[Nmap] 설치 및 사용방법  (0) 2017.12.11
포트스캔 의미 종류  (0) 2017.12.10
이 댓글을 비밀 댓글로

포트스캔 의미 종류

Posted by 나눔인생 내브티
2017.12.10 19:37 정보보안/네트워크


포트​란?

항구를 뜻하는 낱말로 컴퓨터에서는 컴퓨터 간  상호 통신을 위해 주고 받을 수 있는 통로

포트스캔이란?

위에 포트를 통로라 하였는데 그 포트가 열려있는지 닫혀있는지 조사 하는 것

사용자 주체에 따라 취약한 부분을 점검하는 보안 담당자, 해킹을 하기 위한 정보 수집의 해커

우리는 실생활 중에 포트를 통한 통신을 주고 받으며 사용중 입니다.

 

1. Sweeps = ping

Sweep의 목적은 살아있는 호스트로 부터 응답을 얻기 위해 사용합니다.

 (즉 살아있는 호스트,포트를 찾는 것을 의미 합니다.)

소규모 네트워크 환경에 신속하나 대규모 환경에는 많은 시간이 소비되며 ICMP 막아두는 네트워크 환경에서는 이용이 불가합니다.

 

 1-1) ICMP sweep

Ping 를 이용한 스캐닝으로, ICMP ECHO( type 8 ) 을 타겟 호스트에 보내 ICMP Reply (type 0)을 받으면 살아있는 호스트로 판단합니다.

 ICMP는 시스템이나 라우터들의 네트워크 오류를 진단하는 프로토콜로 사용되기 때문에 시스템 동작 유무를 판단하기에 적합하다


ex) #nmap -sP 192.168.10.0/24 (nmap 프로그램을 이용)

ping 192.168.0.1 (ping 을 이용)


위와 같이 192.168.0.1 host는 응답이 돌아왔으며 

192.168.0.100은 응답이 없는걸 확인할 수 있습니다.

 

1-2) TCP Sweep

TCP의 3-way handshake 연결 절차를 사용하며, 

ACK 나 SYN 을 보낸다 살아있는 경우는 RST로 응답이 옵니다.


 

1-3) UDP Sweep

UDP 패킷을 타겟 호스트에 보내 ICMP Port Unreachable을 이용하는 방법

열려진 포트 : 응답이 오거나 응답이 없다.

닫혀진 포트 : ICMP 메시지(TYPE3 - Destination Unreachable, Code3 -  Port Unreachable)를 응답을 받습니다.

 다만 이 방법은 신뢰성이 높지 않다.

 

2. Open scan

open scan은 완전한 연결을 하는 스캔 방법으로 신뢰성은 매우 높으나

3-way handshake를 모두 수행하므로 로그에 남으며 탐지가 쉽습니다.

 

 2-1) TCP Open Scan

열린 포트 경우 완벽하게 연결을 하기 때문에 로그에 남게 됩니다.

닫힌 포트 경우 RST/ACK 의 응답이 옵니다.


ex)nmap -sT IP주소





3. Stealth Scan

stealth Scan은 세션을 완전히 성립하지 않고 포트의 활성 여부를 판단하므로 시스템에 로그가 남지 않습니다.


 3-1) TCP Syn (Half-Open) Scan

TCP 프로토콜 헤더의 제어비트를 설정해줘야 하므로 관리자 권한을 가지고 있어야 SYN스캔이 사용이 가능합니다.

열린 포트 경우 타겟으로부터 SYN+ACK 응답이오고 ACK가 아닌 RST 플래그를 설정한 패킷을 전송하여 강제 종료

닫힌 경우 타겟으로부터 RST+ACK 응답이 옵니다.

연결을 완료하지 않았기 때문에 로그에 남지 않습니다.

 3-2) ACK Scan

TCP ACK Scan은 포트 여부를 판단하는 것이 아니라 방화벽을 테스트 하기 위한 스캔방법

상태 기반 방화벽인지, 대상포트가 방화벽에 필터링 되는지 확인합니다.

ACK만 보내면 방화벽에서 필터링 되면 응답이 없거나, ICMP 메시지를 받고

필터링 되지 않으면 RST+ACK를 받게 됩니다.

 3-3) FIN Scan + NULL Scan + X mas Scan

위 3개의 스캔은 비슷하니 한번에 설명하겠습니다.

TCP 헤더의 제어비트(U, A, P, R, S ,F)를 비정상적으로 설정하여 스캔하는 방법

FIN Scan : 연결되지 않은 포트에 FIN을 보내 결과를 확인합니다.

NULL Scan : 아무것도 설정하지 않은 패킷을 보내 결과를 확인​합니다.

Xmas Scan : 연결되어 있지 않은 포트에 일부 비트(F, P, U)를 설정해서 보냅니다.

3개의 항목 결과로

열려진 포트라면 응답이 없을 것이고, 닫혀진 포트라면 RST+ACK 응답을 받습니다.


'정보보안 > 네트워크' 카테고리의 다른 글

[Nmap] 설치 및 사용방법  (0) 2017.12.11
포트스캔 의미 종류  (0) 2017.12.10
이 댓글을 비밀 댓글로