웹사이트 검색

Kali Linux의 Nmap(네트워크 보안 스캐너)에 대한 실용 가이드


두 번째 Kali Linux 기사에서는 'nmap'으로 알려진 네트워크 도구에 대해 설명합니다. nmap은 Kali 전용 도구는 아니지만 Kali에서 가장 유용한 네트워크 매핑 도구 중 하나입니다.

  1. 초보자를 위한 Kali Linux 설치 가이드 – 1부

Network Mapper의 약자인 NmapGordon Lyon이 관리합니다(Mr. Lyon에 대한 자세한 내용은 여기: http://insecure.org/fyodor). /) 전 세계의 많은 보안 전문가가 사용하고 있습니다.

이 유틸리티는 Linux와 Windows 모두에서 작동하며 명령줄(CLI)로 구동됩니다. 그러나 명령줄에 대해 조금 소심한 사람들을 위해 zenmap이라는 nmap용 멋진 그래픽 프런트엔드가 있습니다.

zenmap 그래픽 버전과 비교할 때 훨씬 더 많은 유연성을 제공하므로 개인은 nmap의 CLI 버전을 배우는 것이 좋습니다.

nmap은 어떤 목적으로 사용됩니까? 좋은 질문입니다. Nmap을 사용하면 관리자가 네트워크의 시스템에 대해 빠르고 철저하게 알아볼 수 있으므로 Network MAPper 또는 nmap이라는 이름이 붙었습니다.

Nmap에는 라이브 호스트는 물론 해당 호스트와 관련된 서비스를 빠르게 찾을 수 있는 기능이 있습니다. Nmap의 기능은 종종 NSE로 축약되는 Nmap 스크립팅 엔진을 통해 더욱 확장될 수 있습니다.

이 스크립팅 엔진을 사용하면 관리자는 새로 발견된 취약점이 네트워크에 존재하는지 확인하는 데 사용할 수 있는 스크립트를 신속하게 생성할 수 있습니다. 많은 스크립트가 개발되어 대부분의 nmap 설치에 포함되었습니다.

주의 사항 – nmap은 일반적으로 좋은 의도와 나쁜 의도를 가진 사람들이 사용합니다. 서면/법적 계약에서 권한이 명시적으로 제공되지 않은 시스템에 대해 nmap을 사용하지 않도록 극도의 주의를 기울여야 합니다. nmap 도구를 사용할 때는 주의하십시오.

시스템 요구 사항

  1. Kali Linux(nmap은 이 가이드와 유사한 다른 운영 체제 및 기능에서 사용 가능)
  2. 다른 컴퓨터 및 해당 컴퓨터를 nmap으로 검사할 수 있는 권한 – 이는 VirtualBox와 같은 소프트웨어 및 가상 머신 생성을 통해 쉽게 수행되는 경우가 많습니다.

    1. 연습하기에 좋은 기계에 대해서는 Metasploitable 2에 대해 읽어보세요.
    2. MS2 Metasploitable2용 다운로드
  3. 네트워크에 대한 유효한 작업 연결 또는 가상 머신을 사용하는 경우 두 머신에 대한 유효한 내부 네트워크 연결.

Kali Linux – Nmap 작업

nmap을 사용하는 첫 번째 단계는 Kali Linux 시스템에 로그인하고 원하는 경우 그래픽 세션을 시작하는 것입니다(이 시리즈의 첫 번째 기사에서는 XFCE 데스크탑 환경과 함께 Kali Linux를 설치했습니다).

설치하는 동안 설치 프로그램은 사용자에게 로그인에 필요한 'root' 사용자 비밀번호를 묻는 메시지를 표시합니다. Kali Linux 시스템에 로그인한 후 'startx' 명령을 사용합니다. ' XFCE 데스크탑 환경을 시작할 수 있습니다. nmap을 실행하는 데 데스크탑 환경이 필요하지 않다는 점은 주목할 가치가 있습니다.

startx

XFCE에 로그인한 후에는 터미널 창을 열어야 합니다. 바탕 화면 배경을 클릭하면 메뉴가 나타납니다. 터미널로 이동하는 방법은 다음과 같습니다: 응용 프로그램 -> 시스템 -> 'Xterm<', 'UXterm' 또는 '루트 터미널'.

저자는 '터미네이터'라는 쉘 프로그램의 팬이지만 Kali Linux의 기본 설치에는 표시되지 않을 수 있습니다. 나열된 모든 쉘 프로그램은 nmap의 목적으로 작동합니다.

터미널이 시작되면 nmap을 시작할 수 있습니다. 이 특정 튜토리얼에서는 Kali 머신과 Metasploitable 머신이 있는 개인 네트워크가 생성되었습니다.

개인 네트워크 범위를 통해 스캔이 안전한 시스템에 유지되고 취약한 Metasploitable 시스템이 다른 사람에 의해 손상되는 것을 방지할 수 있으므로 작업이 더 쉽고 안전해졌습니다.

내 네트워크에서 라이브 호스트를 찾는 방법은 무엇입니까?

이 예에서는 두 시스템 모두 개인 192.168.56.0 /24 네트워크에 있습니다. Kali 머신의 IP 주소는 192.168.56.101이고 스캔할 Metasploitable 머신의 IP 주소는 192.168.56.102입니다.

하지만 IP 주소 정보를 사용할 수 없다고 가정해 보겠습니다. 빠른 nmap 스캔은 특정 네트워크에 무엇이 라이브인지 확인하는 데 도움이 될 수 있습니다. 이 스캔은 '단순 목록' 스캔으로 알려져 있으므로 nmap 명령에 -sL 인수가 전달됩니다.

nmap -sL 192.168.56.0/24

안타깝게도 이 초기 스캔에서는 라이브 호스트가 반환되지 않았습니다. 때때로 이는 특정 운영 체제가 포트 스캔 네트워크 트래픽을 처리하는 방식에 영향을 미치는 요소입니다.

내 네트워크에서 모든 라이브 호스트 찾기 및 핑

하지만 걱정하지 마세요. nmap에서 이러한 머신을 찾는 데 사용할 수 있는 몇 가지 트릭이 있습니다. 다음 트릭은 nmap이 192.168.56.0/24 네트워크의 모든 주소에 대해 ping을 시도하도록 지시합니다.

nmap -sn 192.168.56.0/24

이번에는 nmap이 스캔을 위해 일부 잠재 호스트를 반환합니다! 이 명령에서 -sn은 호스트에 대한 포트 스캔을 시도하는 nmap의 기본 동작을 비활성화하고 nmap이 호스트에 대해 ping을 시도하도록 합니다.

호스트에서 열린 포트 찾기

nmap 포트가 이러한 특정 호스트를 스캔하고 어떤 결과가 나오는지 살펴보겠습니다.

nmap 192.168.56.1,100-102

우와! 이번에는 nmap이 금광에 부딪혔습니다. 이 특정 호스트에는 상당히 많은 개방형 네트워크 포트가 있습니다.

이러한 포트는 모두 이 특정 시스템에 대한 일종의 청취 서비스를 나타냅니다. 이전 내용을 상기하면 192.168.56.102 IP 주소가 메타스플로이트 가능한 취약한 시스템에 할당되므로 이 호스트에 열려 있는 포트가 너무 많습니다.

대부분의 컴퓨터에서 이렇게 많은 포트가 열려 있는 것은 매우 비정상적이므로 이 컴퓨터를 좀 더 자세히 조사하는 것이 현명한 생각일 수 있습니다. 관리자는 네트워크의 물리적 시스템을 추적하고 로컬에서 시스템을 볼 수 있지만 특히 nmap이 훨씬 더 빠르게 이를 수행할 수 있다면 이는 그다지 재미있지 않을 것입니다!

호스트의 포트에서 수신 대기하는 서비스 찾기

이 다음 검색은 서비스 검색이며 어떤 서비스가 시스템의 특정 포트에서 수신 대기 중인지 확인하는 데 자주 사용됩니다.

Nmap은 열려 있는 모든 포트를 조사하고 각 포트에서 실행되는 서비스로부터 배너 수집 정보를 시도합니다.

nmap -sV 192.168.56.102

이번에는 nmap이 이 특정 포트에서 실행될 수 있다고 생각되는 nmap에 대한 몇 가지 제안을 제공했습니다(흰색 상자에 강조 표시됨). 또한 nmap은 이 시스템에서 실행 중인 운영 체제와 호스트 이름에 대한 정보를 확인하려고 시도했습니다(큰 성공도 거뒀습니다!).

이 출력을 살펴보면 네트워크 관리자에게 몇 가지 우려 사항이 제기될 것입니다. 첫 번째 줄은 VSftpd 버전 2.3.4이 이 컴퓨터에서 실행되고 있다고 주장합니다! 그것은 VSftpd의 정말 오래된 버전입니다.

ExploitDB를 검색한 결과 2011년에 이 특정 버전(ExploitDB ID – 17491)에 대해 심각한 취약점이 발견되었습니다.

호스트에서 익명 FTP 로그인 찾기

nmap이 이 특정 포트를 자세히 살펴보고 무엇을 결정할 수 있는지 살펴보겠습니다.

nmap -sC 192.168.56.102 -p 21

이 명령을 사용하면 nmap은 호스트의 FTP 포트(-p 21)에서 기본 스크립트(-sC)를 실행하라는 지시를 받았습니다. 문제가 될 수도 있고 아닐 수도 있지만, nmap은 이 특정 서버에서 익명의 FTP 로그인이 허용된다는 것을 알아냈습니다.

호스트의 취약점 확인

이는 오래된 취약점이 있는 VSftd에 대한 이전 지식과 결합되어 약간의 우려를 불러일으킬 것입니다. nmap에 VSftpd 취약점을 확인하려고 시도하는 스크립트가 있는지 살펴보겠습니다.

locate .nse | grep ftp

nmap에는 VSftpd 백도어 문제를 위해 이미 구축된 NSE 스크립트가 있습니다! 이 호스트에 대해 이 스크립트를 실행해보고 무슨 일이 일어나는지 살펴보겠습니다. 하지만 먼저 스크립트 사용 방법을 아는 것이 중요할 수 있습니다.

nmap --script-help=ftp-vsftd-backdoor.nse

이 설명을 읽어보면 이 스크립트를 사용하여 이 특정 시스템이 앞서 식별한 ExploitDB 문제에 취약한지 확인하는 데 사용할 수 있음이 분명합니다.

스크립트를 실행하고 무슨 일이 일어나는지 살펴보겠습니다.

nmap --script=ftp-vsftpd-backdoor.nse 192.168.56.102 -p 21

으악! Nmap의 스크립트는 몇 가지 위험한 소식을 반환했습니다. 이 기계는 진지한 조사를 위한 좋은 후보일 가능성이 높습니다. 이는 시스템이 손상되어 끔찍한/끔찍한 일에 사용되고 있다는 의미는 아니지만 네트워크/보안 팀에 몇 가지 우려를 불러일으킬 수 있습니다.

Nmap은 극도로 선택적이고 극도로 조용할 수 있는 능력을 가지고 있습니다. 지금까지 수행된 대부분의 작업은 nmap의 네트워크 트래픽을 적당히 조용하게 유지하려고 시도했지만 이러한 방식으로 개인 소유 네트워크를 검색하는 데는 시간이 많이 걸릴 수 있습니다.

Nmap은 동일한 정보를 여러 개가 아닌 하나의 명령으로 생성하는 훨씬 더 공격적인 스캔을 수행할 수 있는 기능을 갖추고 있습니다. 공격적인 검색의 출력을 살펴보겠습니다(주의하세요 – 공격적인 검색은 침입 탐지/방지 시스템을 작동시킬 수 있습니다!).

nmap -A 192.168.56.102

이번에는 하나의 명령으로 nmap이 이 특정 시스템에서 실행 중인 열린 포트, 서비스 및 구성에 대해 이전에 반환한 많은 정보를 반환했습니다. 이 정보의 대부분은 이 시스템을 보호하는 방법을 결정하고 네트워크에 어떤 소프트웨어가 있을 수 있는지 평가하는 데 도움이 될 수 있습니다.

이것은 호스트나 네트워크 세그먼트에서 찾기 위해 nmap을 사용할 수 있는 많은 유용한 것들의 짧은 목록일 뿐입니다. 개인은 자신이 소유한 네트워크에서 통제된 방식으로 nmap을 계속 실험할 것을 강력히 권장합니다(다른 엔터티를 스캔하여 연습하지 마십시오!).

Amazon에서 제공하는 Gordon Lyon 작가의 Nmap 네트워크 스캐닝에 대한 공식 가이드가 있습니다.