칼리 리눅스에서 Nmap 을 이용한 침투 테스트 수행

NmapBeginner
지금 연습하기

소개

이 랩에서는 보안 감사 및 침투 테스트를 위해 설계된 인기 있는 Linux 배포판인 Kali Linux 를 사용하여 침투 테스트를 수행하는 방법을 배우게 됩니다. 다양한 보안 취약점으로 의도적으로 구성된 Metasploitable2 가상 머신이 제공됩니다. 이 랩의 목표는 Kali Linux 환경에 익숙해지고, 침투 테스트의 개념을 이해하며, Metasploitable2 대상에서 취약점을 악용하는 연습을 하는 것입니다.

칼리 리눅스 및 Metasploitable2 환경 설정

이 단계에서는 랩 환경에서 제공되는 Kali Linux 및 Metasploitable2 가상 머신을 설정하는 방법을 배우게 됩니다.

  1. 먼저, Kali Linux 이미지의 ID 를 얻어야 합니다. 다음 명령을 실행하여 확인할 수 있습니다.
docker images

다음 명령을 실행하여 Kali Linux 컨테이너를 시작합니다. image-id는 실제 Kali Linux 이미지 ID 로 바꿔야 합니다.

docker run -ti --network host image-id bash
  1. 다음 명령을 실행하여 Metasploitable2 대상이 /etc/hosts 파일에 있는지 확인합니다.
cat /etc/hosts

192.168.122.102 target 줄이 없으면 다음 명령을 사용하여 추가합니다.

echo "192.168.122.102 target" >> /etc/hosts
  1. 새 터미널을 열어 다음 명령을 실행하여 호스트 머신에서 Metasploitable2 가상 머신을 시작합니다.
sudo virsh start Metasploitable2

대상 머신이 시작될 때까지 기다립니다. 1~3 분 정도 걸릴 수 있습니다.

  1. Kali Linux 와 Metasploitable2 간의 네트워크 연결을 테스트하려면 대상에 ping 을 보냅니다 (Kali Linux 가상 머신에서).
ping 192.168.122.102

또는:

ping target

ping 응답을 확인해야 합니다. 이는 성공적인 네트워크 연결을 나타냅니다. 시간이 좀 걸릴 수 있으며, Ctrl+C 를 눌러 종료할 수 있습니다.

TCP 포트 스캔 수행

Kali Linux 에는 Nmap (네트워크 매퍼), John the Ripper (패스워드 크래커), Metasploit Framework (원격 익스플로잇 프레임워크) 를 포함한 수많은 보안 도구가 사전 설치되어 있습니다.

이 작업에서는 Nmap 을 사용하여 TCP 포트 스캔을 수행합니다. 다음은 Nmap 을 사용하여 간단한 TCP 포트 스캔을 수행하는 예제 코드 조각입니다. 마지막 단계에서 설정한 Kali Linux 가상 머신에서 다음 명령을 실행합니다.

nmap -sT -p1-1000 192.168.122.102

이 명령은 대상 호스트의 1 번부터 1000 번까지의 포트에 대해 TCP 연결 스캔을 수행합니다.

기본 취약점 스캔 수행

이 단계에서는 Nmap 을 사용하여 Metasploitable2 대상에 대한 기본 취약점 스캔을 수행하는 방법을 배우게 됩니다.

  1. Kali Linux 컨테이너 내에서 다음 명령을 실행하여 Metasploitable2 대상의 열린 포트를 스캔합니다.
nmap -sV -p- 192.168.122.102

이 명령은 대상 호스트의 모든 포트에 대해 TCP 연결 스캔을 수행하고 열린 포트에 대한 서비스/버전 정보를 확인하려고 시도합니다.

  1. 출력을 관찰합니다. 출력에는 Metasploitable2 대상에서 실행 중인 열린 포트 및 관련 서비스 목록이 표시됩니다.

다음은 볼 수 있는 출력의 예입니다.

Starting Nmap 7.80 ( https://nmap.org ) at 2023-06-01 12:34:56 EDT
Nmap scan report for target (192.168.122.102)
Host is up (0.00024s latency).
Not shown: 65533 closed ports
PORT     STATE SERVICE VERSION
21/tcp   open  ftp     vsftpd 2.3.4
22/tcp   open  ssh     OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
23/tcp   open  telnet  Linux telnetd
25/tcp   open  smtp    Postfix smtpd
80/tcp   open  http    Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4-2ubuntu5.24 with Suhosin-Patch)
111/tcp  open  rpcbind 2 (RPC #100000)
139/tcp  open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp  open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
512/tcp  open  exec?
513/tcp  open  login?
514/tcp  open  shell?
1099/tcp open  rmiregistry GNU Classpath grmiregistry
1524/tcp open  ingreslock?
2121/tcp open  ccproxy-ftp Citrix CacheServer
2123/tcp open  gtp-user Citrix Gateway
3306/tcp open  mysql    MySQL 5.0.51a-3ubuntu5
5432/tcp open  postgresql PostgreSQL DB 8.3.0 - 8.3.7

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 14.45 seconds

이 출력은 Metasploitable2 대상에서 실행 중인 FTP, SSH, Telnet, HTTP, MySQL 및 PostgreSQL 과 같은 다양한 열린 포트 및 서비스를 보여줍니다.

요약

이 랩에서는 인기 있는 침투 테스트 및 보안 감사 배포판인 Kali Linux 와 익스플로잇 기술을 연습하기 위해 설계된 취약한 가상 머신인 Metasploitable2 에 대해 배웠습니다. Kali Linux 컨테이너와 Metasploitable2 대상을 포함한 랩 환경을 설정하고 Nmap 을 사용하여 기본 취약점 스캔을 수행하여 대상에서 실행 중인 열린 포트 및 서비스를 식별했습니다. 이 실습 경험은 침투 테스트의 기본 사항을 이해하고 향후 랩에서 더 발전된 기술을 준비하는 데 도움이 될 것입니다.