'네트워크 보안'에 해당되는 글 1건

  1. 2009.08.29 목표 호스트 Target Specification: Network Mapper - Day 3
IT 이야기2009. 8. 29. 04:51
Nmap에 나온 모든 명령어들은 목표 호스트에 대해 알아보기 위한 것이다. 이에 대한 가장 간단한 방법은 해당 호스트의 IP 어드레스나 호스트이름을 넣는 것이다.


NMAP 'Gridsweep' Scan with Decoys


때로 우리는 인접한 모든 네트웍을 스캔해 보고 싶기도 한데 nmap은 CIDR형태의 주소형태를 이용한다. Nmap 이용시에 IP뒤에 /넘버 혹은 호스트 이름을 입력하면 자동으로 해당 주소를 검색하게 된다. 예를 들어 192.168.10.0/24는 192.168.10.0(바이너리:11000000 10101000 00001010 00000000) 192.168.10.255(바이너리:1100000000 10101000 00001010 11111111)부터 256개의 호스트를 검색하게 된다. 192.168.10.40/24도 정확히 같은 네트웍 대역을 스캔하게 된다. 또한 호스트 이름 scanme.nmap.org은 64.13.134.52라는 IP르르 가지고 있는데 scanme.nmap.org/16이라고 스캔하게 되면 64.13.0.0에서 64.13.255.255까지 총 65,536개의 IP를 스캔하게 된다. 가장 작은 값은 /0으로 표현되고 이는 전세계의 모든 네트웍을 스캔하게 될 것이고 가장 큰 값은 /32이고 이는 해당 호스트만을 스캔하게 될 것이다.

CIDR의 적용은 간단하지만 유용하지는 못하다. 예로써, 만약 당신이 192.168.0.0/16을 스캔하고 싶지만 .0과 .255가 broadcast나 서브넷으로 사용하고 있어 생략하고 싶을 때가 있다. Nmap은 octet range 어드레싱으로 이를 해결하고 있다. 일반적인 IP를 사용하기 보다는 콤마로 구분시켜 각 IP를 192.168.3.1, 192.168.4.1, 192.168.5.1, 192.168.6.1와 같이 적어주는 것이고 0과 255의 호스트는 생략된다. 또한 192.168.3-5,7.1이라고 하면 192.168.3.1, 192.168.4.1, 192.168.5.1 그리고 192.168.7.1이 스캔되게 된다. IP영역의 설정의 마지막 옥텟으로만 결정되는 것이 아니다. 0-255255.01-255.13.37이라고 하면 전세계에 있는 13.37으로 끝나는 모든 네트웍을 스캔하게 된다. 이러한 광범위한 스캔을 통해 nmap은 서베이나 리서치에 사용될 수 있다.

IPv6는 전체 주소를 써 주어야만 하고 CIDR은 사용될수 없으므로 nmap으로는 그다지 효용도가 높지 않다.

Nmap은 또한 여러개의 호스트를 옵션을 통해 서치할 수 있고 똑같은 포맷일 필요는 없다. 예를 들어 nmap scanme.nmap.org 192.168.0.0/8 10.0.0.1,3-7 과 같이 표현하면 된다.

대게 목표 호스트는 명령어에 입력해야 하지만 다음과 같이 목표 호스트를 정의해 줄수도 있다.

-iL (Input from list)
을 통해 자세한 내용을 알 수 있다. 거대한 네트웍을 스캔하는 것이 부담스러운 일이기도 하지만 또한 필요한 일이기도 하다. 예를 들어 DHCP서버가 분배한 10,000개의 호스트를 스캔하고 싶을 것이다. 혹은 인가받지 않은(unauthorized) 호스트들은 제외하고 스캔하고 싶을 것이다. 이럴땐 -iL옵션을 이용해서 스캔할 수 있고 IP 어드레스, 호스트 이름, CIDR, Ipv6, 옥텟 범위의 내용이 파일을 통해 저장되게 되고 각각의 값은 스페이스, 탭 혹은 새로운 줄로 분류된다. 하이픈(-)을 이용해서 입력하게 되면 일반적인 파일의 형태가 아닌 nmap의 표준 형태로 입력할 수 있기도 하다.

-iR (무작위 탐색)
인터넷 관련 서베이나 리서치를 한다면 아마도 임의로 목표 호스트를 설정하고 싶을 것이다. 은 생성할 IP어드레스의 갯수를 나타내고 사설IP, 멀티케스트 그리고 할당되지 않은 IP에 대해서는 생략될 것이다. 0을 입력하면 영원히 스캔을 멈추지 않을 것이다. 만약 이것을 사용하면 다른 네트웍 관리자가 불평할지도 모르니 조심히 사용해야 한다. 만약 당신이 정말로 지루한 하루를 보내고 있다면nmap -sS -PS80 -iR 0 -p 80과 같은 스캔을 통해 무작위적으로 웹서버를 탐험하게 될 것이다.

--exclude [,[,...]] (열외)
콤마로 구분되는 IP나 호스트 이름들은 스캔에서 제외된다. 이것은 일반적인 스캔 방식이므로 CIDR이나 옥텟방식으로의 나열이 가능하다. 이 옵션을 통해 우리는 중요한 임무를 하고 있는 서버를 건들지 않도록 하게 할 수 있다.

--excludefile (파일을 통해 열외 나열)
--exclude 와 같은 옵션이지만 이는 해당 파일을 통해 읽어들이게 되고 호스트들은 콤마, 스페이스, 탭 등으로 나뉘어져 있다.

원문링크:http://nmap.org/book/man-target-specification.html
Posted by 구텐모르겐