Hack the Kioptrix Level-1.2 (Boot2Root Challenge)

Trong bài tiếp theo ta sẽ thử pentest một tình huống khác của Kioptrix là CTF challenge Kioptrix: Level1.2 (#3) ,một thử thách boot2root khác. Có 2 hướng tấn công cho bài tập này.

Link download https://download.vulnhub.com/kioptrix/KVM3.rar

Penetrating Methodologies (Phương pháp 1)

  • Network Scanning (Nmap, netdiscover)
  • Khảo sát HTTP service port (80)
  • SQLMAP Scanning
  • Trích xuất database và user credential
  • Truy cập SSH vào mục tiêu với thông tin tài khoản thu được từ các bước trước
  • Exploit mục tiêu với SUID bit và nhị phân SUDO
  • Get Root và capture the flag.

Penetrating Methodologies (Phương pháp 2)

  • Network Scanning (Nmap, netdiscover)
  • Khảo sát HTTP service port (80)
  • Xác định hướng exploit của các lỗi trong ứng dụng CMS
  • Exploit mục tiêu vớiMetasploit
  • Get Root và capture the flag.

Bây giờ, các bạn hãy bật Akademy Kioptrix Level 1.2 Pentest Lab lên để bắt đầu !

Tìm thông tin về mục tiêu với netdiscover , bước này có thể xem như là footprinting :

#netdiscover

Trong tình huống này ta có địa chỉ IP của mục tiêu là 192.168.1.101 , chuyển qua bước scanning với nmap. Ở bước này các bạn nên thực hành thật nhiều kiểu scanning càng tốt để nắm lệnh, do đây là tình huống thử nghiệm và thực hành nhằm chuẩn bị cho các bài examlab của OSCP chứ không phải là tình huống pentest thực tế:

#nmap -A 192.168.1.101

Sau khi có kết quả bạn hãy kiểm tra kỹ các port đang mở hay dịch vụ đang chạy như dịch vụ HTTP , các port 22,80

Khi thấy dịch vụ HTTP thì mở ngay trình duyệt web vào địa chỉ của mục tiêu http://192.168.1.101. Đôi khi sẽ không thấy gì như trong tình huống này và ta có thể tiến hành xem source code hãy bruteforce thư mục để tìm thêm như nhiều bài lab trong chương trình OWASP Web Hacking hay thử thách Minotaur trong lớp CEH.

Vì đây là một thử thách nên bất kì thông tin gì có giá trị bạn nên xem chúng, ở đây là các tab Home, Blog , Login (liên tưởng đến SQLinjection và bruteforce) . Nội dung của tab Blog có thông tin thú vị là “So with no futher a-do check it out …”

Lưu ý dòng http://kioptrix3.com/gallery

Như vậy có thêm 1 source web khác nữa bên dưới trang chủ, nếu không có thông báo trên thì các bạn vẫn có thể dùng dirbuster để dò quét hay gọi nôm na là bruteforce các thư mục ẩn (ghi nhớ).

Và để cho thuận tiện thì các bạn nên tạo 1 record cho kioptrix3.com tương ứng địa chỉ IP 192.168.1.101 trong tập tin host của hệ thống, như vậy thì việc truy cập theo tên hostname như thông báo mới thực hiện được :

Trên Windows C:\windows\system32\drivers\etc\hosts

Trên Linux: /etc/hosts

Hãy truy cập vào website Gallery http://kioptrix3.com/gallery  và xem vài item trên website để tìm xem có thông tin gì đáng quan tâm hay không, nhưng thường thì ta nên tập tung vào tìm lỗi SQL hay xem ứng dụng web này là gì , có khả năng bị lỗi có thể khai thác hay không …

Sau khi tìm kiếm và thử các chức năng như sorting và photo id ta có 1 URL nhạy cảm với tham số id, đây là điểm khả thi để các bạn thêm dấu ‘ vào đăng sau xem nó có bị SQLi hay không, trong thực tế thì các WAF có khả năng chặn những truy vấn kiểu này và nhiều bài CTF khó hơn để dò SQLi đôi khi cần phải encode qua một dạng khác nhăm bypass firewall. Hãy thử http://kioptrix3.com/gallery/gallery.php?id=1’ ta thấy thông báo lỗi SQL như hình sau.

Đối với lỗi này thì công cụ thông dụng trên Kali sẽ là sqlmap, ắt hẳn nhiều bạn đã quá quen thuộc với tool này nhưng các bạn cũng nên ghi chú những cú pháp vắn tắt để khi cần có thể du2ngc ho nhanh như các lênh dò tìm, dump database … Nhưng ghi nhớ như vậy các bạn có thể mô phỏng qua một sơ đồ thì tuyệt.

Hãy thử enumerate cơ sở dữ liệu với  SQLMAP  qua lệnh sau

#sqlmap -u kioptrix3.com/gallery/gallery.php?id=1 –dbs –batch

Ta thấy database gallery, hãy dump table sẽ thấy có table dev_accounts, dump table này sẽ ra các thông tin tài khoản (nhiều ứng dụng có khả năng làm tự động các bước này như Havji nhưng trong phạm vi bài thi OSCP ta nên làm từng bước).

#sqlmap -u kioptrix3.com/gallery/gallery.php?id=1 -T dev_accounts –dump

Kết quả là có 2 tài khoản dreg và loneferret với mật khẩu mã hóa MD5. Trong những tình huống khác thì ta sẽ bẻ khóa và đăng nhập web, thử up shell qua một vài tính năng (CTF Hackademic RTB1), hoặc websiet là wordpress có những lỗi leo thang như thông tin mới nhất chẳng hạn, và accoutn là author thì sẽ có những diễn biến khác. Trong phần này, ta thấy có port 22 mở nên liên tưởng đến việc kết nối SSH bằng những tài khoản tìm được

Thử SSH với người dùng là loneferret:

#ssh loneferret@192.168.1.101

Liệt kê thư mục để xem thêm chi tiết …

#ls

Trên kết quả liệt kê qua ls các bạn thấy 2 tập tin là checksec.sh và CompanyPolicy.README. Hãy thử xem xét nội dung của các tập tin trên, trước tiên với CompanyPolicy.README qua lệnh cat thì thấy dòng ghi là Please use command ‘sudo ht’ như hình minh họa dưới đây.

#cat CompanyPolicy.README

Nhưng ht là gì và nó ở đâu ? Ngay trong bài học đâu tiên thì giáo trình PWK đã yêu cầu chúng ta nắm vững 3 công cụ localte, which và find. Hãy sử dụng nó ngay và thấy ht ở trong /usr/local/bin/ht

#sudo –l

Hãy chạy lệnh trên để kiểm tra xem người dùng loneferret được phép chạy HT Editor như sudo hay không, cũng như có hay không có mật khẩu.

Các bạn cần tìm hiểu kỹ về sudo trogn qua trình học OSCP.

Thực thi HT Editor như sudo

Lưu ý : sudo ht sẽ cho phép chúng ta edit bất kì file nào trên hệ thống. Vậy ta sẽ hiệu chỉnh file /etc/sudoers . Lệnh export sau đây sẽ cho chúng ta sử dụng giao diện đồ họa

export TERM=xterm-color
sudo ht /etc/sudoers

HT editor sẽ thực thi

Nhấn F3 để mở file

Hiệu chỉnh tập tin /etc/sudoers sẽ cho ta dùng sudo không giới hạn.

hãy chú ý dòng sau trong tập tin

#loneferret ALL=NOPASSWD: !/usr/bin/su, /usr/local/bin/ht

Và đổi thành

#loneferret ALL=(ALL) NOPASSWD: ALL

Sau đó chạy sudo su trên terminal xem sao

#sudo su

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

#cd /root

Cuối cùng là tập tin congrats.txt !

1ls

Phương án 2

Bây giờ, hãy thử thêm một phương án khác, việc tiếp cận bằng nhiều hướng khác nhau sẽ trang bị cho các bạn đầy đủ kiến thức để chiến đấu với OSCP

#curl –v http://kioptrix3.com/

Lệnh trên sẽ cung cấp chi tiết về trang web và ta thấy ứng dụng này là LotusCMS trong phần tô đậm màu vàng

Thử dò tìm xem có exploit nào liên quan đến LotusCMS hay không với searchsploit như sau :

searchsploit LotusCMS

CÓ 1 exploit thích hợp, hãy mở Metasploit và sử dụng mã khai thác này xem sao :

use exploit/multi/http/lcms_php_exec
set rhost 192.168.1.101
set uri /
exploit

Sau khi truy cập thành công hãy liệt kê thư mục và xem xét trong các folder, ví dụ gallery

#ls

Trong thư mục này có khá nhiều file, để xem hết cũng khá mất thời gian nhưng các bạn nên chú ý những tập tin liên quan đến config vì thương trong những tập tin này hay chưa các giá trị giá trị, ví dụ như một lỗi của plug in WordPress trước đây làm l65 file config và hacker có thể downlaod về trái phép, sau đ1o đọc thông tin truy cập phpmyadmin, username / password …Ở đây ta thấy có gconfig.php .

cd gallery
ls

hãy xem nội dung tập tin với lệnh cat

#cat gconfig.php

Các bạn thấy tài khoản root với mật khẩu khiếm nhã !

Username :root
Password : fuckeyou

Đây là mật khẩu truy cập cơ sở dữ liệu, hãy thử dò xem có lối vào nào hấp dẫn ví dụ như phpmyadmin hay không bằng dirb để brute force thu mục ẩn

#dirb http://192.168.1.101/

Quả nhiên ta thấy có thư mục trên

Duyệt http://192.168.1.101/phpmyadmin và đăng nhập bằng tài khoản root với mật khẩu fuckxxx như hình trên

Duyệt CSDL của gallery ta có 2 tài khoản như trong bước 1 đã thực hành pentest với sqlmap. Password hash này cần bẻ khóa

Hãy thử bẻ password hash với  http://www.hashkiller.co.uk/ 

Và ta có 2 mật khẩu là  starwars và Mast3r!

Tới đây, ta cần tiếp tục SSH và làm như phương án 1.

OSCP VN Lesson


Comments