칼리 리눅스에서 Nmap(네트워크 보안 스캐너) 실용 가이드

두 번째 Kali Linux 기사에서는 ‘nmap‘이라는 네트워크 도구에 대해 논의할 것입니다. nmap은 Kali에서만 사용되는 도구는 아니지만 Kali에서 가장 유용한 네트워크 매핑 도구 중 하나입니다.

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

Nmap네트워크 매퍼의 약자로, 골든 라이 온(Mr. Lyon에 대한 자세한 내용은 다음 링크 참조: http://insecure.org/fyodor/)이 관리하며 전 세계 많은 보안 전문가들이 사용하고 있습니다.

이 유틸리티는 Linux와 Windows 모두에서 작동하며 명령 줄 인터페이스(CLI) 기반입니다. 그러나 명령 줄에 조금 둔감한 사용자들을 위해 zenmap이라는 훌륭한 그래픽 프론트엔드가 있습니다.

개인이 nmap의 CLI 버전을 배우는 것이 강력히 추천되며, zenmap 그래픽 버전과 비교할 때 훨씬 많은 유연성을 제공합니다.

nmap은 어떤 목적을 달성하는가? 훌륭한 질문입니다. Nmap은 관리자가 네트워크의 시스템에 대해 빠르고 철저하게 알아낼 수 있도록 해주므로, 네트워크 맵퍼 또는 nmap이라는 이름이 붙었습니다.

Nmap은 살아있는 호스트를 빠르게 찾아내고 해당 호스트와 관련된 서비스를 파악할 수 있는 기능을 갖추고 있습니다. Nmap의 기능은 Nmap Scripting Engine, 줄여서 NSE를 통해 더욱 확장될 수 있습니다.

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

A word of caution – nmap is commonly used by people with both good and bad intentions. Extreme caution should be taken to ensure that you aren’t using nmap against systems that permission has not be explicitly provided in a written/legal agreement. Please use caution when using the nmap tool.

시스템 요구 사항

  1. 칼리 리눅스 (nmap은 다른 운영 체제에서도 사용 가능하며 이 가이드와 유사하게 작동합니다).
  2. 또 다른 컴퓨터와 nmap으로 해당 컴퓨터를 스캔할 수 있는 권한 – 이는 일반적으로 VirtualBox와 같은 소프트웨어를 사용하여 가상 머신을 생성하는 것으로 쉽게 수행될 수 있습니다.
    1. 좋은 연습용 컴퓨터에 대해 읽어보세요 Metasploitable 2
    2. MS2 다운로드 Metasploitable2
  3. A valid working connection to a network or if using virtual machines, a valid internal network connection for the two machines.

칼리 리눅스 – Nmap 작업

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

설치 중에 설치 프로그램이 사용자에게 ‘root’ 사용자 비밀번호를 요청했을 것입니다. 이 비밀번호는 로그인에 필요합니다. Kali Linux 기계에 로그인한 후에는 ‘startx’ 명령을 사용하여 XFCE 데스크톱 환경을 시작할 수 있습니다 – nmap은 데스크톱 환경이 필요하지 않습니다.

# startx
Start Desktop Environment in Kali Linux

XFCE에 로그인하면 터미널 창을 열어야 합니다. 데스크톱 배경을 클릭하면 메뉴가 나타납니다. 터미널로 이동하는 방법은 다음과 같습니다: Applications -> System ->Xterm‘ 또는 ‘UXterm‘ 또는 ‘Root Terminal‘.

저자는 ‘Terminator’라는 셸 프로그램의 팬이지만 Kali Linux의 기본 설치에는 표시되지 않을 수 있습니다. 나열된 모든 셸 프로그램은 nmap의 목적을 위해 작동합니다.

Launch Terminal in Kali Linux

터미널을 시작한 후에는 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 – Scan Network for Live Hosts

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

내 네트워크에서 모든 활성 호스트를 찾고 핑하기

걱정하지 마세요. nmap이 시도할 수 있는 몇 가지 트릭이 있습니다. 다음 트릭은 nmap에게 단순히 192.168.56.0/24 네트워크의 모든 주소를 핑해 보라고 지시합니다.

# nmap -sn 192.168.56.0/24
Nmap – Ping All Connected Live Network Hosts

이번에는 nmap이 스캔할 수 있는 잠재적 호스트 목록을 반환합니다! 이 명령에서 -sn은 nmap의 호스트를 포트 스캔하려는 기본 동작을 비활성화하고 단순히 호스트를 핑하도록 nmap에 지시합니다.

호스트에서 열린 포트 찾기

이 특정 호스트의 nmap 포트 스캔을 시도해보겠습니다.

# nmap 192.168.56.1,100-102
Nmap – Network Ports Scan on Host

와우! 이번에는 nmap이 보물을 찾았네요. 이 특정 호스트에는 상당히 많은 오픈 네트워크 포트가 있습니다.

이 포트들은 이 특정 기계에서 어떤 종류의 수신 서비스를 나타냅니다. 이전에 기억하신 것처럼, 192.168.56.102 IP 주소는 취약한 메타스플로이터 기계에 할당되어 있으므로, 이 호스트에는 많은 오픈 포트가 있습니다.

대부분의 기계에서 이렇게 많은 포트가 열려 있는 것은 매우 비정상적이므로 이 기계를 좀 더 면밀히 조사하는 것이 현명한 아이디어일 수 있습니다. 관리자들은 네트워크에서 물리적 기계를 찾아서 해당 기계를 현지에서 살펴볼 수 있지만, 그렇게 하는 것은 특히 nmap이 더 빨리 해 줄 수 있는 경우에는 재미가 없을 것입니다!

호스트에서 포트에서 수신 중인 서비스 찾기

다음 스캔은 서비스 스캔이며, 종종 기계의 특정 포트에서 무슨 서비스가 수신 중인지를 확인하기 위해 사용됩니다.

nmap은 모든 오픈 포트를 조사하고, 각 포트에서 실행 중인 서비스로부터 정보를 가져오려고 시도할 것입니다.

# nmap -sV 192.168.56.102
Nmap – Scan Network Services Listening of Ports

이번에 nmap은 특정 포트에서 실행될 수 있는 것에 대한 제안을 제공했습니다 (흰색 상자에 강조 표시됨). 또한 nmap은 이 기계에서 실행 중인 운영 체제에 대한 정보를 파악하려고 시도하고 호스트 이름도 파악했습니다 (매우 성공적으로 또한!).

이 출력을 살펴보면 네트워크 관리자에게 상당한 우려를 불러일으킬 수 있습니다. 가장 첫 번째 줄은 VSftpd 버전 2.3.4가이 컴퓨터에서 실행되고 있다고 주장합니다! 그것은 VSftpd의 정말 오래된 버전입니다.

에서 검색하여 ExploitDB이 특정 버전에 대한 심각한 취약성이 2011년에 발견되었습니다 (ExploitDB ID – 17491).

호스트의 익명 FTP 로그인 찾기

nmap이이 특정 포트를 자세히 살펴보고 파악할 수있는 것을 확인해 보겠습니다.

# nmap -sC 192.168.56.102 -p 21
Nmap – Scan Particular Post on Machine

이 명령어로 nmap에게 FTP 포트 (-p 21)에서 기본 스크립트 (-sC)를 실행하도록 지시했습니다. 문제가 될 수도 있고 아닐 수도 있지만 nmap은이 특정 서버에서 익명 FTP 로그인이 허용된다는 사실을 발견했습니다.

호스트의 취약성 확인

이것은 VSftd에 대한 이전 지식과 결합하여 약간의 우려를 불러일으킬 수 있습니다. nmap이 VSftpd 취약성을 확인하려고 시도하는 스크립트가 있는지 확인해 보겠습니다.

# locate .nse | grep ftp
Nmap – Scan VSftpd Vulnerability

nmap에는 이미 VSftpd 백도어 문제를 위한 NSE 스크립트가 내장되어 있습니다! 이 호스트에 대해 이 스크립트를 실행해 보고 결과를 확인해 보겠지만, 먼저 이 스크립트를 사용하는 방법을 알아야 할 수도 있습니다.

# nmap --script-help=ftp-vsftd-backdoor.nse
Learn Nmap NSE Script Usage

이 설명을 통해, 이 스크립트가 이전에 식별된 ExploitDB 문제에 대한 해당 기계의 취약성을 확인하는 데 사용될 수 있다는 것이 명확합니다.

이제 스크립트를 실행하고 결과를 확인해 보겠습니다.

# nmap --script=ftp-vsftpd-backdoor.nse 192.168.56.102 -p 21
Nmap – Scan Host for Vulnerable

우와! nmap의 스크립트가 몇 가지 위험한 뉴스를 돌려 주었습니다. 이 기계는 심각한 조사 대상으로 추정됩니다. 이는 기계가 손상되었고 끔찍한 일에 사용되고 있다는 것을 의미하는 것은 아니지만 네트워크/보안 팀에 몇 가지 우려를 가져올 수 있습니다.

nmap은 매우 선택적이고 매우 조용할 수 있습니다. 지금까지 수행된 대부분의 작업은 nmap의 네트워크 트래픽을 적당히 조용하게 유지하려고 시도했지만, 이런 방식으로 개인 소유의 네트워크를 스캔하는 것은 매우 시간이 많이 걸릴 수 있습니다.

nmap은 종종 여러 명령어 대신 한 번에 많은 정보를 제공할 수 있는 더 공격적인 스캔을 수행할 수 있는 능력을 갖추고 있습니다. 공격적인 스캔의 출력을 살펴보겠습니다 (참고 – 공격적인 스캔은 침입 탐지/방지 시스템을 작동시킬 수 있습니다!).

# nmap -A 192.168.56.102
Nmap – Complete Network Scan on Host

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

이것은 호스트나 네트워크 세그먼트에서 찾을 수 있는 많은 유용한 것들 중에 짧은 목록에 불과합니다. 개인들은 (nmap을 안전하게 실험하시기를 권장합니다) 네트워크에서 사용해야합니다. (다른 개체를 스캔하여 연습하지 마세요!).

Nmap Network Scanning의 공식 가이드인 Gordon Lyon의 책을 Amazon에서 구할 수 있습니다.

Please feel free to post comments or questions (or even more tips/advice on nmap scans)!

Source:
https://www.tecmint.com/nmap-network-security-scanner-in-kali-linux/