nmap

사이트에 접속해보면 artificial.htb 주소로 연결되기 때문에 /etc/hosts 파일에 추가해주고 접속했습니다.

RCE

접속해서 로그인 하면 위와 같은 서비스가 동작 중입니다. 해당 서비스는 h5 파일을 서버에서 실행시켜주는 서비스로 보입니다.

h5 파일 관련 cve를 찾다가 h5 exploit 레포지토리를 찾았습니다.

exploit.py 코드를 보니 바로 RCE가 가능한 것 같아서 바로 로컬에서 컴파일해서 나온 파일을 사용해봤는데 실패했습니다.

원인은 바로 제 로컬 PC(M1 Macbook Air) CPU 아키텍처가 서버 CPU(adm64) 아키텍처랑 달라서 생긴 문제였습니다. 그래서 amd64 아키텍처인 서버에서 컴파일해서 해당 파일을 사용했습니다.


Credentials


/instance 디렉토리에 있는 users.db에서 계정 정보들을 얻었습니다.

얻은 정보들을 Crack Station에서 돌려서 정상적으로 크랙된 값만 모아봤습니다.

namepassword
gaelmattp005numbertwo
royermarwinnarak043414036

gael / mattp005numbertwo 계정으로 ssh 접속해보면 성공적으로 로그인 됩니다.

user.txt

Privilege escalation

내부망에서 서비스 중인 포트가 있어서 접속해봤습니다.

ssh -L 9898:localhost:9898 [email protected]


9898 포트를 로컬 포워딩을 이용하여 접속했더니 위와 같은 페이지로 접속되었습니다.

계정 정보는 /var/backups/backrest_backup.tar.gz 에서 찾았습니다.

NamePassword
backrest_rootJDJhJDEwJGNWR0l5OVZNWFFkMGdNNWdpbkNtamVpMmtaUi9BQ01Na1Nzc3BiUnV0WVA1OEVCWnovMFFP

$2a$10$cVGIy9VMXQd0gM5ginCmjei2kZR/ACMMkSsspbRutYP58EBZz/0QO 는 bcrypt 해시기 때문에 john the ripper 툴을 사용하여 크랙했습니다.

 john --format=bcrypt hash.txt ~/pentest/wordlist/rockyou.txt
Created directory: /Users/mac/.john
Loaded 1 password hash (bcrypt [Blowfish 32/64 X3])
Press 'q' or Ctrl-C to abort, almost any other key for status
!@#$%^           (?)
1g 0:00:01:10 100% 2/3 0.01423g/s 49.31p/s 49.31c/s 49.31C/s !@#$%^..Pentium
Use the "--show" option to display all of the cracked passwords reliably
Session completed
NamePassword
backrest_root!@#$%^

로그인 후 확인해보니 restic 바이너리를 실행해주는 서비스였습니다.

restic : 오픈소스 백업 도구

root backup

시나리오는 다음과 같이 구상했습니다.

  • Kali에서 restic 서버 기동
  • 서버에서 Kali restic 서버에다가 /root 백업

root.txt