nmap은 해커를 위한 툴이 아니라 보안 전문가를 위한 툴!
이라고 말하고 싶지만,
모든 해킹 툴이 그렇듯이.
보안관리자가 내 네트워크 취약점을 알고 보안하겠다면 보안툴이고
해커가 남의 네트워크 취약점을 알겠다는 것만으로 해킹이고 해킹툴인거다
포트 스캐너란 ?
검사 할 네트워크 장비나 서버에 포트 사용여부를 알수있는 툴이다.
한마디로, 서비스를 하면 그 포트가 열려있는데..
내가 서비스하는 포트 외에 백도어나 다른 트로이목마로 인하여 포트가 열려있나 확인할수있는거다.
nmap을 공부해야하는 이유는!!
- 빠른 핑(ping) 및 포트 스캐닝 기능 - 운영 체제 핑거프린팅(fingerpring) - 순서 번호 추측(sequence prediction) - TCP 기반 연결을 다양하게 흉내 - 스푸핑(spoofing) 기능 - 스캔 속도와 순서 조절 기능 - 출력을 텍스트 파일에 저장하는 기능 - 텍스트 파일에서 입력 정보를 읽는 기능 |
nmap 설치는 www.nmap.org 에서 다운받거나 리눅스계열은 yum 이나 apt-get 으로 받을수있다.
기본적인 사용법은
]# nmap [스캔하고자 원하는 호스트]
nmap은 기본적으로 호스트에 ICMP를 전송
nmap을 설치하고 도움말은 -h 옵션으로 확인 할 수 있다.
]# nmap -h
많은 옵션들을 볼수있다 그중에가 가장 많이 사용 하는 옵션은
-p0 : ICMP를 전송하지 않고, 실제로 네트웍과 연결돼 있는 지 검사.
ps는 nmap에서 이 정보가 정확하지 않을수도 있다고 써있다
-sP : 스텔스(stealth) 옵션, 방화벽이나 IDS에 발각되지 않게 패킷을 보낸다
-PT : ICMP대신 TCP패킷을 사용. ACK를 보내여 RST패킷을 받길 기달린다
-sT : 완전한 TCP 연결을 맺는다
syn패킷을 보내고 ack를 받으면 또 ack를 보내는 형식으로 맺어지면 포트스캔 가능
-sS : TCP패킷의 syn패킷만 보낸다 half-open 연결
-O : 운영체제 버전을 추측할수있다. 이건 운영체제 버전을 안다는것은 가장 위험한 일이다.
운영체제 버전이 낮을수록 그 취약점은 이미 다 인터넷에 떠돌기 때문에
만일 스캔한 호스트가 운영체제가 버전이 낮다면 쉽게 뚫을수있을것이다. !!
-v : 자세한 정보를 출력
예제
만일 내 네트워크 주소가 192.168.0.0 이고 서브넷 마스크가 255.255.255.0 이라면
]# nmap -sP 192.168.0.0/24
라고 실행한다 만일 -v 옵션을 사용하면, 시스템 모록도 볼수있다.
만일 원격 호스트에 ping을 보내려는데 중간에 라우터나 방화벽이 icmp패킷을 허용 안하면,
-sT 옵션도 좋다
]# nmap -sS -O -P0 192.168.0.1
tcp half-open 스캔을 수행하고 운영체제 정보를 알아내고 싶다면 이런 명령어도 좋다
선별적인 스캔
만일 nmap으로 ftp와 DNS를 운영중인 서버를 포트 스캔한다면
]# nmap -sX -p 21,53 -oN port.txt 192.168.0.56/24
라고 실행할수있다
-p : 포트를 지정
-oN : 출력 결과를 저장
-sX : Xmas 스캔 으로 TCP의 여러 플래그 bit(FIN, PSH, URG)를 설정하고 보내는 방법
비트를 설정하면 패킷에 플래그의 장소가 크리스마스 전구 모양같다고해서 x-mas
스텔스(stealth) 기능 추가
-sF : TCP의 FIN 비트가 설정
-sX : 'Xmas 트리'로 TCP의 FIN, URG, PUSH플리그 설정
-sN : 'Null' 스캔으로 TCP 플래그를 모든 끈 상태로 패킷을 보낸다
-D : 스캔의 출발지 주소를 내가 원하는 주소로 바꿀수 있다
sF, sX, sS, sN은 nmap을 사용할때 옵션을 모두 사용할수 없고 이중 1개만 사용가능하다
텍스트 파일에 저장, 텍스트 파일에서 읽기
-oN [filename] : 파일에 저장
-oM [filename] : 바이너리 포맷으로 저장
-iL : nmap에서 텍스트 파일을 읽어들임
이 옵션은 유용하게 내가 원하는 주소를 파일에 미리 넣어 파일만
읽어드리면 보낼수 있게 만들수도 있다!!
방화벽과 침입 탐지 시스템 테스트
-f : 스캔하는 패킷을 작은 ip조각으로 나눈다
-S Address : 스캔 공격이 시작된 출발지 주소를 지정할수있다.
이 옵션을 사용할때는 -e -P0를 같이 사용한다 -e 는 인테페이서 설정이다
-D 옵션도 스캔 공격 출발지를 속일수있다는 면에서 유사
-g port : nmap은 스캔 공격을 하기위해 임시포트(1024)를 사용한다.
이를 알고 많은 방화벽에서 미리 막아두지만, 출발포트를 정할수있는 옵션이다
'10. > 11. Network' 카테고리의 다른 글
[Network Sniffing] Cain & Abel을 이용한 네트워크 스니핑 (0) | 2014.07.15 |
---|---|
WinSCP Windows용 SCP (0) | 2014.02.04 |
[포트스캐너/NMAP] nmap은 해커를 위한 툴이 아니라 보안 전문가를 위한툴2 (0) | 2013.06.27 |