Advertisement

Responsive Advertisement

Madness – Tryhackme

 

Please note this challenge does not require SSH brute forcing.

Use your skills to access the user and root account!

This room is part of the Turmoil series

Bước 1: Thu thập thông tin

Dò quét cổng dịch vụ

nmap -sV -sC <ip_targert>

1.PNG

Nhận thấy chỉ mở cổng 80 và 22 ngoài ra không còn cổng nào khác cả. Mình tiến hành đến bước số 2

Bước 2: Khai thác dịch vụ web

Mình vào website thấy đây là web giới thiệu apache2

2.PNG

Mình nhìn lên xuống không có gì đặc biệt cả cho đến khi kiểm tra mã nguồn của nó xem sao phát hiện đoạn code này chứa ảnh thm.jpg

3.PNG

Mình tải ảnh này về. Đồng thời mình thực hiện tìm kiếm url khác bằng gobuster

5.PNG

4.PNG

Nhưng không có gì cả. Mình tiếp tục mở bức ảnh mình tải về nhưng nó không mở lên được vậy nguyên nhân là gì nhỉ ?

Mình kiểm tra mã hex của ảnh bằng lệnh xxd: xxd thm.jpg | head

6.PNG

Phát hiện đây là định dạng của tệp ảnh PNG không phải JPG mình tiến hành thay đổi header của tệp tin này cho đúng định dạng, bạn có thể tìm một ảnh jpg chuẩn trích xuất header để sửa bằng một số công cụ hexeditor online

Còn ở đây mình sửa bằng lệnh xxd luôn

7.PNG

Mình thu được ảnh gốc mở ảnh lên phát hiện có đường dẫn khác là /th1s_1s_h1dd3n

8.PNG

Mình truy cập vào website theo đường dẫn này thì phát hiện một trang như ảnh

10.PNG

Mình kiểm tra mã nguồn của nó

12.PNG

Một gợi ý cho chúng ta, hãy tìm ra con số bảo mật trong khoảng từ 0-99 vậy làm sao để thử nó khi không có chỗ nào điền, mình nghĩ ngay đế url, mình có thể gửi dữ liệu lên server bằng phương thức GET sử dụng một URL PARAMETER kiểu khai thác lỗ hổng LFI

ví dụ: http://url?<parameter_word>=

Bạn có thể tìm ra giá trị <parameter_word> chính xác bằng cách sử dụng burp, mình có một bài về hướng dẫn cách tìm rồi nhé, bạn có thể xem lại, mình tìm ra từ khóa là secret mình thử giá trị 11 thấy hiển thi trả về là không đúng

13.PNG

Mình viết chương trình  bằng python để request url trên thử giá trị 0-99 để xem giá trị nào thỏa mãn

import requests

url = ‘ip_target

host=’http://{}/th1s_1s_h1dd3n/?secret={}

for i in range (100):

     r = request.get(url.format(host, i))

     if not ‘That is wrong!‘ in r.text:

         print (“Found secret: {}”.format(i))

         print (r.text)

Mình chạy code thu được số mình muốn và một key, và key này chắc chắn là mật khẩu để giải mã gì đó, vì chúng ta không thể brute force bài này mà.

14.PNG

Mình nghĩ đến việc đó là bức ảnh thm.jpg liệu mình đã phân tích hết, mình kiểm tra nó bằng công cụ steghide xem có gì được ẩn giấu trong nó không, phát hiện nó yêu cầu một mật khẩu để xem thông tin, mình thử luôn key thu được ở trên và thành công phát hiện tệp tin giấy là hidden.txt

15.PNG

Mình liền trích xuất tệp tin ra để xem nội dung

16.PNG

Phát hiện một username, nhưng định dạng của nó không giống như một username thông thường, mình thử giải mã nó kiểu ROT13 và thu được user chuẩn

17.PNG

Nhưng lấy mật khẩu ở đâu, mình thử lại key hồi đầu tìm được xem có phải mật khẩu không kết quả là không được, dường như tưởng chừng đến đây bế tắc, nhưng thật may mắn, bức ảnh hình miệng cười ở phần mô tả cho mình một chú ý, liệu đây có phải là một ẩn giấu gì trong nó không. Mình liền tải nó về

18.PNG

Tương tự mình thử kiểm tra thông tin của nó xem có ẩn giấu gì không bằng steghide

23.PNG

Phát hiện có một tệp tin password.txt được ẩn dấu ở đây, mình liền giải mã và đọc tệp tin đó thu được một mật khẩu

24.PNG

Mình đăng nhập ssh thử với thông tin thu được ở trên và thành công

19.PNG

Bước 3: Khai thác dịch vụ ssh

Mình kiểm tra thư mục chính user, phát hiện cờ đầu tiên mình đọc nó

20.PNG

Tìm cách leo thăng, mình thử dùng một số lệnh như sudo -l, find, …

Khi dùng lệnh find mình phát hiện hệ thống này có dùng phiên bản screen-4.5.0 khá là cũ rồi và đây là điểm để chúng ta khai thác leo thăng

21.PNG

Bước 4: Leo thăng

Mình tìm trên mạng mã lỗi khai thác screen-4.5.0: GNU Screen 4.5.0 – Local Privilege Escalation (PoC) – Linux local Exploit (exploit-db.com)

Mình thực hiện đến thư mục /tmp của user, tải tệp tin khai thác về máy victim, và chạy

22.PNG

Thành công leo thăng, việc còn lại là đọc cờ cuối cùng. :mrgreen: :mrgreen: :mrgreen:

Post a Comment

0 Comments