RDP 열거 및 약한 비밀번호 접근

LinuxBeginner
지금 연습하기

소개

원격 데스크톱 프로토콜 (RDP) 열거 및 악용에 초점을 맞춘 실습 랩에 오신 것을 환영합니다. RDP 는 관리자가 Windows 시스템을 원격으로 관리하는 데 사용하는 일반적인 프로토콜입니다. 그러나 잘못 구성된 경우 상당한 보안 위험이 될 수 있습니다.

이 랩에서는 공격자가 노출된 RDP 서비스를 스캔하고, 잘못된 구성을 식별하고, 기본 또는 쉽게 추측할 수 있는 자격 증명을 사용하여 액세스하는 일반적인 공격 벡터를 시뮬레이션합니다. 스캔에는 nmap과 같은 표준 침투 테스트 도구를 사용하고 원격 세션에 연결하기 위해 xfreerdp를 사용합니다. 최종 목표는 손상된 시스템을 탐색하고 숨겨진 플래그를 검색하는 것입니다.

완료 후 다음을 수행하는 방법을 이해하게 됩니다.

  • 대상 시스템에 대한 네트워크 연결 확인
  • nmap을 사용하여 RDP 서비스 스캔 및 열거
  • 낮은 암호화 수준과 같은 보안 약점 식별
  • xfreerdp를 사용하여 약한 자격 증명을 사용하여 액세스 시도
  • 민감한 정보를 찾기 위한 기본 후속 악용 수행

이 실용적인 사이버 보안 연습을 시작하겠습니다.

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

Ping 을 사용하여 대상 시스템 연결 확인

이 단계에서는 정찰의 첫 번째 단계인 대상 시스템이 온라인 상태이며 자신의 컴퓨터에서 접근 가능한지 확인합니다. ping 명령은 ICMP 패킷을 호스트로 보내 연결을 테스트하는 표준 네트워크 진단 도구입니다.

실습 환경에는 target 호스트 이름을 통해 접근 가능한 대상 시스템이 포함되어 있습니다. 이 시스템과 통신할 수 있는지 확인하려면 터미널에서 다음 명령을 실행하여 네 개의 패킷을 보냅니다.

ping -c 4 target

아래와 유사한 응답을 보게 될 것입니다. 이는 대상이 활성화되어 있고 네트워크 경로가 명확함을 확인합니다. IP 주소와 응답 시간은 약간 다를 수 있습니다.

PING target (172.17.0.2) 56(84) bytes of data.
64 bytes from target (172.17.0.2): icmp_seq=1 ttl=64 time=0.105 ms
64 bytes from target (172.17.0.2): icmp_seq=2 ttl=64 time=0.069 ms
64 bytes from target (172.17.0.2): icmp_seq=3 ttl=64 time=0.068 ms
64 bytes from target (172.17.0.2): icmp_seq=4 ttl=64 time=0.067 ms

--- target ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3075ms
rtt min/avg/max/mdev = 0.067/0.077/0.105/0.016 ms

연결이 확인되었으므로 더 자세한 스캔을 진행할 준비가 되었습니다.

Nmap 으로 열린 포트 스캔

이 단계에서는 nmap을 사용하여 대상의 열린 포트를 스캔하고 해당 포트에서 실행 중인 서비스를 식별합니다. 이는 잠재적인 공격 표면을 드러내므로 열거의 중요한 부분입니다. 일반적으로 포트 3389 에서 실행되는 RDP 서비스에 대해 특별히 확인할 것입니다.

버전 스캔 (-sV) 을 포트 3389(-p 3389) 에 대해 수행하고 RDP 암호화 수준을 확인하는 스크립트 (--script) 를 실행하려면 다음 nmap 명령을 실행합니다.

nmap -sV -p 3389 --script rdp-enum-encryption target

출력에는 RDP 서비스에 대한 자세한 정보가 제공됩니다.

Starting Nmap 7.80 ( https://nmap.org ) at 2025-09-18 14:51 CST
Nmap scan report for target (172.17.0.2)
Host is up (0.00038s latency).

PORT     STATE SERVICE       VERSION
3389/tcp open  ms-wbt-server xrdp
| rdp-enum-encryption:
|   Security layer
|     CredSSP (NLA): SUCCESS
|     CredSSP with Early User Auth: SUCCESS
|     Native RDP: SUCCESS
|     RDSTLS: SUCCESS
|     SSL: SUCCESS
|   RDP Encryption level: High
|     128-bit RC4: SUCCESS
|_  RDP Protocol Version:  RDP 5.x, 6.x, 7.x, or 8.x server

Nmap done: 1 IP address (1 host up) scanned in 13.57 seconds

스캔 결과에서 포트 3389/tcp가 열려 있고 xrdp 서비스가 실행 중임을 확인할 수 있습니다. 암호화 수준은 "High"로 표시되지만, 주요 취약점은 암호화 약점보다는 약한 자격 증명에 있습니다. 이 서비스는 여러 인증 방법을 지원하며, 다음 단계에서 약한 비밀번호 인증을 악용할 것입니다.

RDP 를 통해 대상 시스템에 연결

이 단계에서는 자격 증명 administratorpassword를 사용하여 RDP 서비스에 연결을 시도합니다. 이 조합은 일반적인 기본값이며 종종 무차별 대입 공격의 주요 대상이 됩니다. Linux 용 명령줄 RDP 클라이언트인 xfreerdp를 사용합니다.

먼저 xfreerdp가 설치되어 있는지 확인합니다. 설정 스크립트에서 처리했어야 하지만, 필요한 경우 sudo apt install freerdp2-x11을 실행할 수 있습니다.

이제 target에 연결하려면 다음 명령을 실행합니다.

xfreerdp /u:administrator /p:password /v:target
  • /u:administrator: 사용자 이름을 지정합니다.
  • /p:password: 비밀번호를 지정합니다.
  • /v:target: 서버 주소를 지정합니다.

대상 시스템이 자체 서명 인증서 (self-signed certificate) 를 사용하기 때문에 인증서 경고가 표시될 수 있습니다. 이는 실험실 환경에서 정상적인 상황입니다. yes를 입력하고 Enter 키를 눌러 진행합니다.

[11:25:30:789] [INFO][com.freerdp.client.x11] - Please check if the server is running with the correct certificate.
[11:25:30:789] [INFO][com.freerdp.client.x11] - Certificate details:
...
The certificate is not trusted. Do you trust the certificate? (Y/N) yes
RDP Connection

인증에 성공하면 새 창이 열리고 대상 시스템의 원격 데스크톱이 표시됩니다. 이제 해당 컴퓨터에 그래픽으로 접근할 수 있습니다.

대상 시스템 탐색 및 플래그 (Flag) 찾기

이 단계의 최종 목표는 원격 시스템을 탐색하고 플래그를 찾는 것입니다. 이는 공격자가 가치 있는 데이터를 검색하는 사후 공격 (post-exploitation) 단계를 시뮬레이션합니다.

RDP 세션 창 안에서 데스크톱 환경을 볼 수 있습니다. 플래그를 찾고 보는 데는 몇 가지 방법이 있습니다.

방법 1: 파일 관리자 사용

  1. 파일 관리자 애플리케이션 (폴더 아이콘처럼 보일 수 있습니다) 을 찾아 엽니다.
  2. /home/administrator/Documents 디렉토리 내의 administrator 홈 디렉토리 안에 있는 Documents 폴더로 이동합니다.
  3. flag.txt라는 파일을 찾습니다.
  4. flag.txt를 더블 클릭하여 텍스트 편집기 (Mousepad) 로 엽니다.
File Manager

방법 2: 터미널 사용

  1. 데스크톱이나 메뉴에서 터미널 애플리케이션을 엽니다.
  2. 다음 명령을 실행합니다: cat /home/administrator/Documents/flag.txt
Terminal window showing command to display flag

어떤 방법을 사용하든 플래그 파일의 내용을 확인할 수 있습니다.

labex{w34k_p4ssw0rd_rdp_pwn3d}

축하합니다! RDP 서비스를 성공적으로 열거하고, 취약한 비밀번호를 악용하여 플래그를 검색했습니다.

중요: 실험실 검증을 완료하려면 플래그 값을 복사하여 호스트 머신의 파일에 저장해야 합니다. /home/labex/project 디렉토리에 flag.txt라는 파일을 생성하고 플래그 내용을 붙여넣으세요.

echo "labex{w34k_p4ssw0rd_rdp_pwn3d}" > /home/labex/project/flag.txt

이제 RDP 창을 닫아 세션을 종료할 수 있습니다.

요약

이 실험실에서는 잘못 구성된 원격 데스크톱 프로토콜 (Remote Desktop Protocol, RDP) 서비스에 대한 시뮬레이션 공격을 성공적으로 수행했습니다. 침투 테스트의 주요 단계를 진행했습니다.

  • 정찰 (Reconnaissance): ping을 사용하여 대상 시스템이 온라인 상태인지 확인했습니다.
  • 열거 (Enumeration): 특정 스크립트와 함께 nmap을 사용하여 열린 RDP 포트를 식별하고 약한 암호화 수준과 같은 구성 세부 정보를 수집했습니다.
  • 공격 (Exploitation): xfreerdp를 사용하여 administrator 계정의 약하고 예측 가능한 비밀번호를 악용하여 원격 시스템에 액세스했습니다.
  • 후반 작업 (Post-Exploitation): 손상된 시스템의 파일 구조를 탐색하여 플래그를 찾고 검색했습니다.

이 연습은 원격 액세스 서비스를 보호하는 것이 얼마나 중요한지를 보여줍니다. RDP 를 인터넷에 노출하거나, 약하거나 기본 비밀번호를 사용하거나, 오래된 보안 설정을 사용하면 심각한 취약점이 발생할 수 있습니다. 이러한 공격 벡터를 이해함으로써 강력한 방어 조치를 구현할 준비를 더 잘 갖출 수 있습니다.