nmap
1. 개요
'''Network Mapper'''#. 네트워크 스캐닝 툴의 일종으로 쉽고 유연하며 강력한 기능들이 미리 스크립팅 되어있다.
네트워크상에 호스트를 찾아내거나, 호스트의 정보(가령 운영체제는 무엇이고 어떤 포트를 어떤 프로그램이 사용하고 있는지, 버전은 어떤지 등) 스캔, 스텔스 스캔, 방화벽 사용 감지, 보안 취약점 검사 등등을 할 수 있다.
1997년 해킹 매거진 phrack에 소스코드와 함께 처음 공개되어 지금까지 오픈소스로 개발되어 엄청난 점유율을 자랑하며 수많은 바리에이션을 낳았다.
모든 보안프로그램이 그러하듯, 이 역시 좋은 목적으로 사용하면 관리에 편의를 제공하지만 공격자가 사용하면 풋프린팅의 기초가 되는 프로그램이다.
2. 활용법
설치는 리눅스 데비안 환경에서 apt-get install nmap 을 통해 할 수 있고, 이후의 실행은 nmap (사용할 인수) 를 통하여 할 수 있다.
당연히 로우(raw) 소켓을 사용하기 때문에 루트권한이 없으면 사용할 수 없다.
사용법이야 그냥 nmap 만 쳐도 매뉴얼을 보여준다만, 정말 유용하게 쓰이는 필수적인 인수를 몇가지 나열해보자면
-sn 192.168.0.* : 이 명령은 1에서부터 254까지 접속되어있는 호스트의 맥주소와 기본적인 정보(Apple이라던지 Samsung이라던지)의 내용을 핑스캔을 통해 보여준다. 가령 와이파이에 접속하여 위 명령을 실행하면 그 와이파이에 접속된 기기들을 확인할 수 있다.
-Pn : 이 명령은 반대로 핑을 사용하지 않는다. nmap은 스캔에있어 사전에 핑을 통해 호스트가 살아있음을 확인하고 진행하는데, 보안문제로 인해 핑을 무시하는 호스트에대해서는 스캔을 할 수 가 없다. 그러한 경우에는 위 명령을 통해 확인절차를 스킵하자.
-sT : 일반적인 TCP의 3-Way-Handshake방식을 이용한 포트스캔, 당연히 위 절차를 통해 로그가 남는다.
-sS : TCP 스탤스 스캔, 위 절차에서 마지막에 보내야하는 ACK대신 RST를 보내 절차 성립을 방해하여 로그를 남기지 안.... 기는 무슨 남을 로그는 남는다.
-sN, -sF, -sX : 차례대로 TCP Null 스캔, Fin 스캔[이] , Xmas 스캔이다. 스텔스스캔의 일종으로 로그를 남기지 않..는다고 생각할 수 있지만 그러다가 잡힌 사람이 있다.
-sU : UDP 방식을 이용한 스캔.
-p : 특정 포트만을 지정하여 스캔할 수 있도록 도와주는 인수다. 가령 -p 22 는 SSH포트만을 스캔한다.
-sV : 그 호스트의 포트를 통해 어떤 버전의 어떤 프로그램이 돌아가고 있는지 상세히 알려준다. 앞서 말한 운영체제도 이를 통해 알 수 있다.
-O : 단순히 운영체제만을 알 수 있게 해주는 스캔이다.
-f : 어떤 경우에는 방화벽이 스캔 패킷을 차단할 수 도 있다. 그를 막기 위해 패킷을 단편화하여 보내는 인수이다.
-S : 스캔에 가짜 아이피를 사용할 필요가 있다면 사용하는 인수이다.
-A : 정보 수집계의 종합선물 세트 sV보다 더 상세하게 많은것을 알려준다.
3. 기타
앞서도 실컷 말했지만, 단순한 스캔도 '공격이다.' 가령 아무 생각 없이 날린 패킷이 서비스장애를 불러일으킬 수 도 있다. 하지만 반대로 말하면 서비스 서버를 아무생각없이 운영/관리하고 있었다는 말이다. Nmap으로 장애가 발생할 정도면 그 서비스는 평소 관리가 개판이라는 뜻이고, 정상이라면 Nmap 포트스캔으로 장애가 발생하지 않아야 한다. 가끔씩 서비스 관리자(서버, 네트워크, 어플리케이션 포함)가 포트스캔으로 장애가 났다고 자기책임이 아니라는 식으로 말하곤 하는데. 사실 어찌보면 부끄러운줄 알아야 하는 짓이다. 그리고 정보통신망법에 명확히 위배되는 행위임으로, 사전허락을 득했거나 , 자신의 서버에서만 하도록 하자.
[image]
컴퓨터가 나오는 영화에서도 단골로 출현하기도 한다. 그래서 nmap의 공식 홈페이지에도 영화에서 나오는 장면을 모아놓은 페이지가 있다. 사진의 영화는 매트릭스 2 리로리드.
자체 방화벽이 있는 백신 프로그램은 nmap의 스캔을 막는 기능이 있다. 대표적으로 AhnLab V3 365이다. 인터넷 상에서도 랜덤으로 불법적인 스캔이 발생하고 있어서 V3 Lite를 사용하다가 V3 365으로 갈아타면 간혹 네트워크 차단 팝업 창이 나온다. (Port Scan이거나 Null Scan이거나...)
GUI 버전인 Zenmap도 있다. 정말 편하다.
[이] 신호로 열린 포트가있는지 알 수있다.