+1

[Hackthebox] Horizontall

Tiếp tục series về các bài hackthebox. Bài lần này là horizontall. image.png

I. Thông tin chung về box

Các thông tin về box tại thời điểm mình giải được box này

image.png

image.png

II. Reconnaissance

Kết quả nmap scan của box:

image.png

Hiện tại có thể thấy box chạy 2 service là sshhttp. Trước hết, vào check trước cổng 80 của box.

Truy cập theo IP của box, ta sẽ được điều hướng sang domain horizontall.htb. Thêm domain này vào /etc/hosts sẽ có trang chúng ta cần

image.png

Tuy nhiên, tìm thử các đường dẫn theo domain này thì không có gì đặc sắc lắm.

image.png

Bên phía service ssh cũng không có gì đặc biệt. Sau một hồi khá bối rối thì mình nghĩ tới chuyện cũng ở cổng 80 có thể truy cập với domain khác. Sau khi scan thử thì tìm được domain api-prod.horizontall.htb.

Truy cập vào domain api-prod.horizontall.htb ta có 1 trang web khác

image.png

Trang này sử dụng strapy CMS

image.png

Phiên bản của CMS được sử dụng là 3.0.0-beta.17.4

image.png

III. User Flag

Phiên bản strapi mà box sử dụng có 2 lỗi liên kết tới nhau, trước tiên là lỗi đổi mật khẩu không cần xác thực và RCE với chức năng install plugin. Đầu tiên, sử dụng lỗi đầu tiên mình truy cập được vào tài khoản admin và có được jwt xác thực của tài khoản này. Mã khai thác có thể xem tại exploit.db.

image.png

Sau khi reset mật khẩu của tài khoản và đăng nhập, mình có được token xác thực của admin

image.png

Tiếp theo, sử dụng bug còn lại để tiến hành RCE.

image.png

Sau khi gửi request, mình có 1 reverse shell tại máy mình

image.png

Từ đây, có thể lấy được user flag tại /home/developer/user.txt.

IV. Root Flag

Tiếp theo là đến việc leo quyền. Đầu tiên, mình chú ý tới phiên bản hệ điều hành của box

image.png

Tuy nhiên việc khai thác điểm này có vẻ không khả thi, khả năng đây cũng là thông tin đánh lạc hướng của box. Tiếp đó, tìm các service chạy trên local

image.png

Ở đây, tại port 8000 đang chạy laravel. Mình sẽ forward port này tới port 8000 trên máy mình.

Đầu tiên là sử dụng netcat để setup một cổng lắng nghe

image.png

Tiếp theo, kết nối tới cổng này từ box

image.png

Tiếp theo là port forwarding

image.png

giờ truy cập vào cổng 8000 tại localhost

image.png

Phiên bản này có một lỗi RCE với id là CVE-2021-3129. Có khá nhiều mã khai thác cho lỗi này và mình sử dụng mã tại https://github.com/nth347/CVE-2021-3129_exploit.

image.png

Đánh giá

Box này nằm ở mức tương đối trong các box dễ, không yêu cầu quá nhiều về khai thác, custom hay recon mà tập trung vào việc biết sử dụng các mã khai thác có sẵn.


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí