Hack the Droopy VM (CTF Challenge)

Một boot2root CTF Challenge khác nghi có mặt trong hệ thống Lab OSCP là “Droopy:” Các bạn hãy tải về từ vulnhub qua địa chỉ sau và thực hành đầy đủ  https://www.vulnhub.com/?q=droopy&sort=date-des&type=vm

Penetrating Method:

  • Network Scanning (Netdiscover, Nmap)
  • xácđịnh Drupal CMS
  • Exploit Drupal CMS (Metasploit)
  • Privilege Escalation thông qua Kernel Exploit
  • Uploading & Downloading dave.tc từ /www/html
  • Tạo một từ điển dựa trên rockyou.txt
  • Brute Force attack vào Truecrypt Volume (Truecrack)
  • Decrypting File (Veracrypt)
  • Capture the Flag

Walkthrough

Hãy mở hệ thống lab OSCP của các bạn và chạy bằng VM, sau đó dò IP của mục tiêu với : netdiscover

Ta thấy địa chỉ 192.168.1.102 có Vendor là Vmware , chắc chắn là máy ảo Droopy, tiến hành nmap : nmap -p- -A 192.168.1.102

Có lẽ, thuật ngữ nmap trong pentest sẽ mặc định được hiểu là scanning, giống như google là tìm kiếm vậy !

Ta chỉ thấy mỗi port 80, vậy mở trình duyệt web xem sao

Qua logo thì ta thấy đây là Drupal CMS. Mới đây,đầu năm 2019 cũng có nhiều thông tin lỗi của Drupal, tuy nhiên CTF này chắc là chỉ cần sử dụng các khai thác cũ. hãy thử searchploit để tìm kiếm mã khai thác và thử tận dụng với Metasploit. (Nếu chi tiết hơn thì phải dò quét các lỗi của ứng dụng này bằng uniscan, nikto hay các chương trình chuyên dụng, nhưng ở đây ta thử tiết kiệm thời gian bằng cách thử luôn mã khai thác thích hợp)

use exploit/multi/http/drupal_drupageddon
set rhost 192.168.1.102
exploit

Do có bug lớn nên ta đã truy cập và thấy thông tin qua lệnh sysinfo với tên máy và nhân linux kernel ” 3.13.0″.

Ngang chỗ này thì các bạn phải linh hoạt sử dụng nhiều nguồn thông tin để thu thập, số 1 vẫn là google nhưng trong phạm vi bài thi, ctf hay pentest lab thì đa số có thể dùng searchsploit để dò tìm, nếu không ra thì hẳn google. Để dò với searchsploit thì cho tên version vào hay tên của ứng dụng vào xem sao 3.13.0

# searchsploit 3.13.0

Ta thấy có exploit “overlayfs local Privilege” tại thư mục /usr/share/exploitdb/exploits/Linux/local/37292.c Hãy copy ra Desktop và biên dịch rồi chạy , nhưng biên dịch trên Kali Linux có vẽ thừa, hay là up lên rồi biên dịch, hay biên dịch rồi up lên … Vụ này phải test mới biết.

Trước khi biên dịch thì upload exploit 37292.c lên thư mục /tmp bằng cách cd /tmp và chạy lệnh upload /root/Desktop/37292.c

# upload /root/Desktop/37292.c

Một khi đã upload hãy vào shell và chạy lệnh : python -c ‘import pty;pty.spawn(“/bin/bash”)’

Lưu ý : Lệnh này nên ghi chú ra sổ ghi nhớ để khi làm bài tận dụng cho nhanh chóng, sổ ghi nhớ có thể là sổ tay hay notepad++

# python -c ‘import pty;pty.spawn(“/bin/bash”)’

Bây giờ, ta có thể biên dịch mã khai thác trên thành một con shell : gcc 37292.c -o shell

# gcc 37292.c -o shell

Gán quyền thực thi cho shell : chmod 777 shell

Và chạy với lệnh ./shell để leo thang đặc quyền trên máy ảo VM của mục tiêu. Sau khi hoàn thành các bạn kiểm tra bằng lệnh whoami hay id sẽ thấy đã có quyền root vậy thử vào thư mục /root ta thấy có tập tin dave.tc

Chưa rõ file này có tác dụng gì nhưng xem với cat không được, thử với string xem sao, không thì cho vào thư mục web … Vậy, thử copy nó vào thư mục html của máy chủ mục tiêu : cp dave.tc /var/www/html

Mở trình duyệt web đến http://192.168.1.102/dave.tc

Chẳng rõ cái dave.tc làm gì nữa, tiếp tục mò mẫm thì có cái thư mục /var cũng tiềm năng, hãy cd vào /var và ls để xem. Nhưng có khả năng đây là file mã hóa với truecrypt (tc), do đó ta phải tiếp tục tìm kiếm.

Có thư mục mail, các bài lab tác giả hay thích lưu trữ các thông tin trong đây nên ta sẽ vào tiếp thư mục này (dĩ nhiên là vào tất cả để xem xét) với lệnh cd mail và tiếp tục ls để xem nội dung.Các bạn thấy có file www-data có thể xem với lệnh cat.

Giống như đi tìm lời giải cho một vấn đề, nội dung cho thấy một số gợi ý là mật khẩu 11 kí tự, có thể dùng từ điện rockyou để giải mã …và mật khẩu có prefix hay suffix là “academy”.Tại sao không phải là akademy nhĩ, nếu có thời gian chắc tôi sẽ edit lại thành akademy cho nó …,

Thử : cat rockyou.txt | grep academy > /root/Desktop/dict.txt

Bây giờ quay lại giải mã tập tin dave.tc : truecrack –truecrypt /root/Downloads/dave.tc -k SHA512 -w /root/Desktop/dict.txt

#truecrack –truecrypt /root/Downloads/dave.tc -k SHA512 -w /root/Desktop/dict.txt

Bây giờ đã có mật khẩu là etonacademy, hãy giải mã nội dung với tool như veracrypt …

Nhập vào mật khẩu ta có .

Giờ xem nội dung đã giải mã.

Ta thấy các thư mục sau .

Do tìm trong tất cả các folder thì thấy flasg.txt trong thư mục secrect/top .

?

Xong ! Và ta đã thấy mặt trời trong tim em.

Bài này khó vãi chứ chẳng chơi, một hướng xử lý khác cho dave.tc là truecrypt đã bị hack, do đó thử tiếp cận theo hướng này theo một bài forensic của root me mà tôi có xem qua chắc cũng được.

Comments