본문 바로가기
Hack/WebHack

1. nmap_1

by Choraengyi 2017. 1. 30.
728x90

 #명령어 사용 및 연습시 확실히 허가된 테스트 환경에서 진행해야 하고, 허가받지 않은 곳에서 하여 피해 발생시 온전히 자신의 책임입니다. 


network mapper의 줄임말인 nmap에 대해 알아보겠습니다.


nmap은 네트워크 탐색 및 보안감사를 하는 툴로서 대표적으로 포트스캐닝, 특정 호스트의 정보 파악, 필터나 방화벽 알아내기 등 여러 정보를 획득할 수 있습니다. 


사용법

nmap [option] [target]


nmap 은 옵션이 정말 많습니다. 우선 man 페이지를 번역하고 요약하여 올려보았습니다.


https://linux.die.net/man/1/nmap


옵션

기 능  

-v

 자세한 정보 출력 

-A

 OS 및 버전 감지, traceroute, script scanning 을 활성화
 타겟 관련 옵션

-iL

 파일에서 호스트목록을 가져옵니다. (공백[스페이스, 탭, 엔터]으로 구분) 

-iR

 임의의 타겟을 탐색

--exclude

 제외할 호스트를 선택

-6

  ipv6 스캔 

 서비스 및 버전 검색 옵션

-sV

 버전 검색. 

--allports

 모든 포트 검색. 

--version-intensity

 버전스캔의 정확도를 지정하여 사용하며 0-9 사용가능, 높을 수록 정확하나 시간이 오래걸림

 OS 검색 옵션

-O

 OS 검색 

--osscan-limit

 적어도 1개의 열린 TCP포트, 닫힌 TCP 포트 가 없으면 OS 스캔을 시도하지 않음, 효율적인 OS 스캔을 가능하게 함. 

--osscan-guess

 OS 스캔에 대한 신뢰 수준을 표시 
 포트 범위 관련 옵션

-F

 nmap-service에 있는 포트만 스캔(보통 1000개 스캔이나 이 옵션은 100개)

-p

 특정 포트를 지정하여 탐색하는 기능 

 호스트 검색 옵션

-sL

 패킷을 보내지 않고, 네트워크의 호스트를 나열 

-sn

 포트스캔을 하지않고, 스캔에 응답한 사용가능 호스트를 출력, ICMP ehco request packet, TCP ack packet을 보내 살아있는 호스트는 응답을 보내어 알아내는 방식, 이전에 -sP 로 알려짐

-Pn

 호스트 탐색 없이 포트를 스캔 

-PS

 빈 tcp packet 에 synflag를 세팅하여 탐지(SYN Ping)

-PA

 PS옵션과 비슷하나 synflag 대신 ack flag를 세팅하여 감지 (ACK Ping)

-PU

 UDP Ping 

-PY

 INIT Chunk 를 포함하는 SCTP Packet을 전송. 

-PO

 IP Protocol Ping으로 탐색

-PR

 ARP Ping으로 탐색 

-n

 역 DNS 결정을 막아서 빠른 핑 스캔을 도움 

-R

 항시 역 DNS 결정을 지시 

 포트스캐닝 기본 옵션

-sS

 SYN Scan 으로 TCP 연결을 완료하지 않고 탐색을 하기 때문에 은밀하고, 속도가 빠름. 포트의 상태를 비교적 안정적으로 탐색 가능 

-sT

 원시 패킷 권한이 없거나, IPv6 네트워크 스캐닝시 TCP connect scan 을 기본으로 탐색(SYN scan 이 아닐경우) 기본 시스템에 연결 시스템 호출을 실행해 대상 시스템 및 포트와의 연결을 설정하도록 요청 

-sU

 UDP Scan 으로 TCP  보다 느리고 어려워서 보안적으로 취약한 경우가 있음, -sS와 결합하여 사용하면 효과적이고, UDP 패킷으로 응답해 열려있음을 알 수 있는 경우가 있고, 재전송 후 응답 미수신시 open | filtered 상태로 구분, 속도가 느리기 때문에 병렬 호스트 스캔, 방화벽 우회 스캔, --host-timeout을 이용하여 속도가 느린 호스트를 건너뛰어 탐색하는게 효과적 

-sY

 SCTP INIT Scan 으로서 TCP와 UDP 대부분 특성이 결합됨, 탐색 속도 빠름, SCTP 연결을 완료하지 않고 탐색하여 은밀하고, 상태파악에 용이, 수차례 재전송의 응답 미수신시 filtered 상태이고, ICMP unreachable error 수신시 filtered 상태로 표시됨.

-sN, -sF, -sX

 sN(Null Scan), sF(TCP FIN 비트 설정), sX(FIN, PSH, URG 설정)

-sA

 TCP ACK Scan 으로 방화벽 규칙들을 매핑해 상태유지 여부와 필터링 포트를 결정하며 포트가 열려있는지의 여부는 알 수 없음 

-sW

 ACK Scan과 매우 흡사하나 RST 패킷의 TCP Window Field 를 검사해 포트가 열렸는지 여부를 구별, 소수의 시스템에 의한 세부정보를 이용하기 때문에 너무 신뢰해서는 안됨.

-sM

 Maimon Scan 으로서 Maimon은 발견자 이름, 프로브가 FIN/ACK 임을 제외하고는 -sN, -sF, -sX와 동일 

--scanflags

 임의의 TCP 플래그를 지정해 자체 스캔을 설계 할수 있음. 

-sI

 실제 IP 주소에서 패킷이 대상으로 전송되지 않는 방법, 매우 은밀하고 신뢰가능한 다양한 좀비를 이용해 대상을 검색가능. 

-sO

 IP Protocol Scan 으로 IP Protocol 탐색. 

-b

 FTP 서버를 이용해 FTP 서버가 다른 호스트를 스캔하도록 하는 방법입니다.  방화벽을 우회하기 좋은 기법입니다.

--open

 open, open|{filtered | unfiltered} 상태인 포트만 출력 


 일단 대략적인 옵션에 대해 알아보았는데, 다음에는 NES 와 나머지 옵션들, 예시를 하면서 포트스캐닝에 대해 알아보겠습니다.


728x90
반응형

'Hack > WebHack' 카테고리의 다른 글

4. Nessus  (0) 2017.02.04
3. Robots.txt  (0) 2017.02.01
2. nmap_2(NSE)  (0) 2017.01.31
0. DVWA 설치  (0) 2017.01.26

댓글