
1. Target Overview (머신 요약)
- Target Name: Preignition
- OS: Linux
- Difficulty: Tier 0 (Starting Point)
- Vulnerability: Directory Enumeration (디렉토리 열거 및 경로 노출), Default Credentials (기본 자격 증명 방치)
- Attack Vector: Brute-force 기반의 은닉된 관리자 인터페이스(Admin Panel) 탐색 및 인증 우회
2. 핵심 개념 총정리
① Directory Enumeration (디렉토리 열거)
- 웹 서버 내부에 하이퍼링크로 연결되지 않은 숨겨진 파일이나 관리자 전용 페이지 경로를 식별하기 위해, 사전에 정의된 단어장(Wordlist)을 기반으로 수많은 HTTP GET 요청을 무작위로 대입(Brute-forcing)하는 기법
② 스캐닝 자동화 유틸리티 (Gobuster / Dirb)
- Gobuster
- Go 언어로 작성되어 처리 속도가 매우 빠른 CLI 기반의 디렉토리 및 DNS 열거 도구
- 멀티스레딩(Multi-threading) 아키텍처를 지원하여 단시간에 방대한 웹 경로를 스캔할 수 있음
- Dirb
- 모의해킹 환경에 기본적으로 내장된 전통적인 웹 콘텐츠 스캐너
- 서버가 반환하는 HTTP 상태 코드(예: 존재할 경우 200 OK, 접근 거부 시 403 Forbidden)를 분석하여 경로의 유효성을 판별
③ Default Credentials (기본 자격 증명 취약점)
- 애플리케이션, 데이터베이스, 네트워크 장비 도입 시 초기 설정용으로 부여되는 디폴트 계정(예: admin / admin)을 운영 환경에서도 변경하지 않고 방치하는 치명적인 보안 취약점
- OWASP Top 10의 '식별 및 인증 실패(Identification and Authentication Failures)' 항목에 명시되어 있는 매우 보편적이고 위험한 설정 오류(Misconfiguration)
[Task 1] Directory Brute-forcing is a technique used to check a lot of paths on a web server to find hidden pages. Which is another name for this? (i) Local File Inclusion, (ii) dir busting, (iii) hash cracking.
- 정답: dir busting
- 분석: 디렉터리 브루트포싱은 숨겨진 파일이나 페이지를 찾기 위해 웹 서버에서 여러 경로를 시도하는 과정이다. LFI와 해시는 관련이 없음
[Task 2] What switch do we use for nmap’s scan to specify that we want to perform version detection
- 정답: -sV
- 분석: -sV 옵션을 사용하면 Nmap에 열린 포트를 확인하여 해당 포트에서 실행 중인 서비스의 버전을 확인하라는 메시지가 표시
nmap -sV [Target IP]
[Task 3] What does Nmap report is the service identified as running on port 80/tcp?
- 정답: http
- 분석: 포트 80은 웹 서버의 기본 포트이므로 서비스가 사용자 지정되지 않은 경우 Nmap에서 HTTP로 보고

[Task 4] What server name and version of service is running on port 80/tcp?
- 정답:nginx
- 분석:Nmap 서비스 배너 그래빙 및 HTTP 응답 헤더(Server Header) 분석을 통해, 구동 중인 웹 서버 엔진 아키텍처가 경량화되고 비동기 이벤트 기반으로 동작하는 Nginx임을 확인
nmap -p 80 <ip> -T4

[Task 5] What switch do we use to specify to Gobuster we want to perform dir busting specifically?
- 정답: dir
- 분석: 고버스터에서는 디렉토리 무차별 대입을 수행하기 위해 -m 옵션과 함께 스위치 디어를 사용
gobuster dir -u <URL> -w <wordlist>

[Task 6] When using gobuster to dir bust, what switch do we add to make sure it finds PHP pages?
- 정답: -x php
- 분석: -x 옵션은 고버스터에게 지정된 파일 확장자(예: .php)를 워드리스트의 각 단어에 추가하여 PHP 파일을 검색하도록 지시
gobuster dir -u <URL> -w <wordlist> -x php
[Task 7] What page is found during our dir busting activities?
- 정답: admin.php

[Task 8] What is the HTTP status code reported by Gobuster for the discovered page?
- 정답: 200

[Root Flag] 시스템 침투 및 플래그 추출
- 분석
- 80/tcp 포트에 브라우저로 단순 접속 시 유의미한 정보가 노출되지 않음
- 숨겨진 공격 벡터를 확보하기 위해 로컬 공격자 쉘에서 Gobuster 스캐닝을 수행
- 스캔 결과 발견된 http://[Target IP]/admin.php 엔드포인트로 접속
- Username과 Password에 각각 admin을 입력하여 시스템의 인증 검증 로직을 우회하고 관리자 대시보드(Admin Dashboard) 세션 제어권을 획득
- 대시보드 인터페이스 내부에 평문으로 노출된 Flag 해시값을 탈취하여 침투를 성공적으로 완료
# 타겟 웹 서버의 숨겨진 디렉토리 및 파일 경로 스캐닝 (Gobuster 사용)
gobuster dir -u http://[Target IP] -w /usr/share/wordlists/dirb/common.txt
# 스캔 결과 /admin.php (Status: 200) 식별 완료
# 웹 브라우저를 통해 /admin.php로 이동 후 admin/admin 자격 증명 입력으로 세션 장악


Discussion 0