검색 엔진의 방문이 늘어나고 있군...

Posted
Filed under 프로그램과 명령어/네트워크와 보안
참조 원문 : Nmap Network Probing Cheatsheet

  Nmap은 강력한 네트워크 스캐닝 도구로서 사용중/비사용중인 IP, 호스트네임, 서비스, OS와 버전 등의 정보를 제공하여 같은 네트워크 내에 있는 불안전하거나 승인되지 않은 서버를 탐색하는데 도움이 됩니다.

  Nmap은 리눅스에서만 쓸 수 있다고 오해받는 경우가 있는데 각종 유닉스는 물론이고 윈도우에서도 사용할 수 있습니다. 윈도우용은 홈페이지에서 인스톨러 형태로 받을 수 있습니다.

  첫 번째 사용 예로 특정 네트워크 범위 내에서 살아있는 모든 호스트를 찾아내는 명령어는 아래와 같습니다.
$ nmap -sn 192.168.1.0/24
  호스트네임을 볼 필요가 없다면 DNS lookup을 비활성화하는 -n 옵션을 넣어 속도를 더 빠르게 할 수 있습니다.

  -sL 옵션을 사용하면 지정한 범위 내의 모든 주소를 나열합니다. 특이한 건 네트워크 호스트들에 어떠한 패킷도 보내지 않는다는 건데 그럼 호스트가 살았는지 죽었는지 알 수가 없겠죠? 그렇다고 진짜로 나열만 하느냐 하면 당연히 그건 아니고 reverse DNS lookup을 실시합니다. 그러므로 DNS 설정이 정확한지 확인할 때 유용히 쓸 수 있습니다. grep으로 '(' 문자를 검출하여 빈 주소를 빼서 reverse DNS record가 있는 주소만 출력할 수 있습니다.
$ nmap -sL 192.168.1.0/24 | grep '('
  지정한 범위 내의 IP 중 안 쓰이는 IP만 찾아 텍스트 파일에 저장하는 예는 아래와 같습니다. 결과 중 IP만 뽑아서 저장합니다.
$ nmap -v -sn 192.168.1.0/24 | grep down | awk '{print $5}' > filename.txt
  반대로 사용 중인 IP(덤으로 중복 사용도 확인 가능)만 출력하는 예는 아래와 같습니다. 결과 중 IP만 뽑아서 출력합니다.
$ nmap -sn 192.168.1.0/24 |grep -o '192.168.1.*' | sed 's/[ \)]*$//'

포트와 OS 감지
  동일 네트워크 안에 있는 호스트들의 OS, 돌아가는 서비스와 버전을 조사하는 예는 아래와 같습니다. 특히 버전은 보안과 직접적으로 연결되기 때문에 큰 가치가 있습니다.
$ nmap -A 192.168.1.0/24
  -oA 옵션을 통해 결과를 파일로 저장할 수도 있습니다. 지정한 파일명에 확장자가 gnmap, nmap, xml인 파일이 생기는데 gnmap은 grep에 사용하기 쉽게 만들어진 파일, nmap 파일은 출력 결과를 그대로 저장한 파일, xml은 이름대로 XML 형식으로 저장한 파일입니다. 보너스로 -oS 옵션을 쓰면 대소문자, 숫자, 특수문자를 섞어서 장난스럽게 출력할 수 있습니다.(스크립트 키디 출력이라고 합니다.)
$ nmap -A -oA filename 192.168.1.0/24
  특정 포트들이 열렸는지만 검사하려면 아래처럼 -p 옵션을 사용합니다. 만약 TCP 포트만 검사하려면 p 뒤에 T를, UDP 포트만 검사하려면 p 뒤에 U를 추가로 붙입니다.
$ nmap -p T:80,443,8080 192.168.1.0/24
  전체 결과 중 서비스와 버전만 확인하려면 -sV 옵션을 사용합니다.
$ nmap -sV 192.168.1.0/24
  다른 옵션에 -v나 -vv 옵션을 추가하면 출력 결과가 더 자세하게 나옵니다. 단, 출력 형태가 변하기 때문에 결과를 awk나 sed 같은 명령어로 필터링을 할 경우 이를 고려해야 합니다.

Target Specification
  Nmap 문서에서는 조사하는 IP나 호스트명을 target specification이라고 부릅니다. 지금까지 위의 예제들에서 했던 target specification은 전부 CIDR 표기를 이용한 하나의 사설 서브넷이었습니다. 그 외에도 단일 IP나 호스트명을 지정할 수도 있고 다수의 호스트명을 공백 문자, 탭 문자, 대상이 한 줄에 하나씩 있는 파일로 지정할 수 있습니다. 아래는 공백 문자로 다수의 호스트를 대상으로 지정하는 모습입니다.
$ nmap -A server1 server2 server3
  -iL 옵션으로 대상 호스트가 각 줄마다 하나씩 적힌 파일을 읽을 수도 있습니다. 반대로 이 옵션 대신 --excludefile 옵션을 사용하면 파일 안에 있는 호스트들을 스캔에서 제외합니다.
$ nmap -A -iL hostname-list-file
  IP 주소를 지정할 때 192.168.1.15-101처럼 연속된 범위를 지정할 수도 있고 192.168.1.41,77,103처럼 비연속 형태로 지정할 수도 있습니다.
2013/06/25 17:25 2013/06/25 17:25
Posted
Filed under 프로그램과 명령어/네트워크와 보안
참조 원문 : Zenmap Tutorial: Audit Your Networks using Nmap GUI

  네트워크가 커지면 시스템이 죽었는지 살았는지, OS는 뭔지, 어떤 포트가 열렸는지 하나하나 조사하는 것도 고역입니다. 이럴 때 Zenmap을 이용하면 일을 쉽게 할 수 있습니다. Zenmap은 유명한 네트워크 보안 및 조사 툴인 Nmap의 그래픽 프론트 엔드 툴입니다. 즉, Nmap을 사용하기 쉽고 보기 좋게 만든 그래픽 버전인 셈이죠. 분명히 Nmap은 강력한 툴이지만 결과를 보기에는 그리 좋지 않기 때문에 사용하기도 편하고 상호작용이 가능한 네트워크 지도도 만들어주는 Zenmap이 더 빛을 발합니다.


설치
  간단히 자신의 배포판에 맞는 패키지 매니저 창을 띄워서 Zenmap의 체크 박스를 체크해서 설치하면 됩니다. 참고로 Zenmap의 Nmap의 프론트 엔드 프로그램이기 때문에 미리 Nmap이 설치되어 있어야 합니다.

  설치가 끝나면 Applications -> Network에서 찾을 수 있습니다. 그런데 Nmap을 자유롭게 사용하려면 관리자 권한을 필요로 하므로 Zenmap을 실행할 때 다음과 같이 실행합니다.
$ sudo zenmap

사용법
  일단 조사 대상의 IP를 Target에 적습니다. 한 네트워크 전체를 대상으로 할 때는 192.168.1.* 같이 적으면 됩니다.

  다음으로 미리 정의된 프로파일 중 하나를 선택합니다. 프로파일에는 단순한 핑 스캔부터 치밀한 스캔까지 다양하게 있지만 강도가 높을수록 네트워크에 문제가 발생할 가능성이 높습니다. 특히 저가의 스위치나 라우터를 사용할 경우 더 위험하니 주의해야 합니다. 프로파일을 선택하면 그에 해당하는 내용의 Nmap 명령어가 Command 섹션에 나타납니다. 실제 Nmap 명령어이기 때문에 그대로 쉘에 가져다 써도 같은 결과를 얻을 수 있습니다.

  프로파일을 선택한 후 스캔 버튼을 클릭하면 왼쪽 창에 발견된 주소들이 나오기 시작하고 스캔 결과가 오른쪽 창에 나타납니다. 오른쪽 창에는 아래와 같은 탭들이 있습니다.
  • Nmap Output: 디폴트 탭이며 명령어의 결과를 보여준다.
  • Ports/Hosts: 특정 호스트에 어떤 포트가 열려 있는지 보여준다.
  • Topology: 네트워크의 토폴로지를 그래픽으로 보여준다.
  • Host Details: 왼쪽에서 선택한 호스트에 대한 정보를 보여준다.
  • Scans: 이전에 실행했던 스캔 내역을 보여준다. 원하는 걸 선택해서 다시 실행할 수 있다.

토폴로지

생성된 그래픽 토폴로지

  처음 토폴로지 탭에 오면 점들과 IP가 보입니다. 규모가 크면 잘 안 보이기 때문에 Zoom으로 확대를 한 후 Ring Gap 슬라이더를 늘려 보기 좋게 만듭니다. 오른쪽에서 View 섹션의 '+'를 누르면 보여주는 정보를 더하거나 뺄 수 있습니다.

  이 지도는 상호작용이 가능하기 때문에 특정 호스트를 선택해서 원하는 위치에 옮길 수 있습니다. 화면의 위치는 네비게이션 섹션에 있는 바깥 점을 집어 이동시킴으로써 외곽선을 따라 이동할 수 있습니다.

  Host Details 탭을 가지고 않고 토폴로지 탭에서 특정 호스트에 대해 더 많은 정보를 얻고 싶다면 마우스 오른쪽 버튼을 눌러 스캔을 통해 얻은 정보들을 자세히 볼 수 있습니다. 물론 많은 정보를 얻으려면 강도 높은 스캔이 필요합니다.

스캔 프로파일
  기본으로 존재하는 프로파일을 사용할 수도 있지만 별도의 프로파일을 직접 만들 수도 있습니다. 메뉴에서 Profile의 하위 메뉴를 통해 새로운 프로파일을 만들거나 현재 선택하고 있는 프로파일을 수정할 수 있습니다. 예를 들어 현재 프로파일에서 OS 정보를 추가로 얻고 싶다면 Profile -> Edit Current Profile 메뉴를 선택해 Profile Editor 창을 연 후 Scan 탭에서 'Operating system detection (-O)'를 선택하고 저장하면 됩니다.

2010/12/10 16:40 2010/12/10 16:40