[HackTheBox] Road to get Root

Thảo luận trong 'Exploitation' bắt đầu bởi Sugi_b3o, 07/06/19, 01:06 PM.

  1. Sugi_b3o

    Sugi_b3o Moderator Thành viên BQT

    Tham gia: 30/08/16, 10:08 AM
    Bài viết: 299
    Đã được thích: 229
    Điểm thành tích:
    43
    Chào mọi người, hôm nay mình xin chia sẻ một bài viết mô tả việc tấn công lợi dụng các lỗ hổng do người quản trị cấu hình không cẩn thận dẫn đến bị khai thác các thông tin nhạy cảm, từ đó Hacker thỏa hiệp được với hệ thống và thực hiện hành vi leo thang chiếm quyền root.
    Mục tiêu của bài này là thu thập 3 chìa khóa (hay còn gọi là flag), mục đích các key này của tác giả tạo ra để mình có thể biết được đây chính là hướng đi đúng và dĩ nhiên kết quả cuối cùng phải là chiếm quyền cao nhất của hệ thống.
    Mình thực hiện scan các cổng và dịch vụ đang chạy trên máy chủ.

    [​IMG]

    Ta xác định được các cổng đang mở là 80, 443 chạy dịch vụ http và https.

    [​IMG]

    [​IMG]
    Một vài đoạn phim tài liệu được dựng khá công phu, xem phim xong rồi, giờ đến lúc Road to get root

    [​IMG]

    Mình sử dụng Burp Suite Pro để chỉnh các thông số theo ý muốn. Tiến hành dò quét các tập tin, đường dẫn public của trang web nạn nhân.

    [​IMG]
    Chọn website mình muốn tấn công, sau đó click phải chọn Engagement tool --> Discover content.

    Hoặc dùng nitko để scan.

    [​IMG]

    OK. Nhờ nikto mà mình đã xác định được đây là 1 trang wordpress và có một vài link thú vị…

    [​IMG]

    Đây là trang đăng nhập để quản trị bài viết​

    [​IMG]

    Đường dẫn robots.txt dẫn ta đến 1 chìa khóa thứ nhất, có thể thấy chìa khóa đầu tiên khá dễ dàng,

    [​IMG]

    Bên cạnh chìa khóa này có 1 bộ từ điển “fsocity.dic”.

    [​IMG]

    Dựa vào tên file ta có thể suy luận được đây là một cái từ điển chứa password để đăng nhập vào trang wp-login.php.

    [​IMG]

    Khi đọc các thông tin ngẫu nhiên trong này mình phát hiện có nhiều từ khá giống nhau và có tên các nhân vật trong bộ phim Mr Robot.

    [​IMG]

    Vậy nên mình đã sort lại và lọc các dòng có nội dung trùng xem có trùng với nhau không. Kết quả không ngờ từ 858160 mình giảm xuống còn 11451 kết quả, đây là một cái bẫy cho các bạn nào suy nghĩ đến việc brute force đầu tiên.
    Bước tiếp theo là xử lý với các tên nhân vật, mình google bộ phim và tạo thành 1 file với tên các nhân vật trong phim


    [​IMG]

    [​IMG]

    Tiếp theo mình so sánh 2 file này có các dòng có nội dung giống nhau.

    [​IMG]

    Yay! Các từ bên trái có chứa nội dung giống nhau, chứng tỏ username là tên một trong các nhân vật trên đây, bay vào cấu hình để brute force (hướng dẫn chi tiết bên dưới) nhưng … con số vẫn còn lớn để có thể chờ đợi [​IMG]

    Mình thử đưa các kết quả user ngẫu nhiên với password ngẫu nhiên thì bất ngờ nhận được kết quả.

    [​IMG]

    Thử với một username khác thì hiển thị kết quả khác :D,

    [​IMG]

    [​IMG]
    Boom, ta đã tìm ra được username “elliot”​

    [​IMG]

    Sau khi cấu hình burpsuit ta chọn Action -> Send to Intruder.

    [​IMG]

    Tab Position chọn attack type: Cluster bomb.

    [​IMG]

    Tab Payload, vị trí username sẽ chọn Position =1 và điền username là elliot​

    [​IMG]

    Vị trí password đổi Position 2 chọn load và chọn tập tin từ điển đã rút gọn​

    [​IMG]

    Brute force thành công, username Elliot và password ER28-0652 đã trả về status 302 (redirect sang trang Dashboard quản trị)​

    [​IMG]

    OK, login thành công, bước tiếp theo là tìm cách upshell lên server để có được quyền bash​


    [​IMG]
    Create Backdoor
    Bước này mình có 2 cách như sau, cách 1 chủ yếu khoe backdoor bypass được Anti-Virus

    [​IMG]

    Vào Plugin chọn add new -> Install now

    [​IMG]
    [​IMG]

    [​IMG]

    Vào media và view detail file để lấy đường dẫn gọi backdoor

    [​IMG]

    https://www.virustotal.com/gui/file...557a905516fcd29d678bed1dae0c06433fe/detection

    [​IMG]


    [​IMG]
    https://metadefender.opswat.com/res...R1pXSlFvTFJOUzFtLWIxUXM4MEU/regular/multiscan

    [​IMG]

    Tải mẫu lên virustotal bypass các engines, OPSWAT có 1 engines Hurong của Trung Quốc phát hiện được. Có thể kinh nghiệm của tụi china phát tán nhiều nên rành).

    [​IMG]
    Gọi shell mã hóa với password đã tạo để có được shell.

    [​IMG]

    Bây giờ chúng ta đã có được shell và tìm cách đọc key số 2, ngoài ra còn có tập tin password.raw-md5.

    [​IMG]

    Trong trường hợp các bạn không biết nó thuộc mã hash gì có thể sử dụng công cụ hash-identifier.

    Lên hashkiller để kiểm tra xem mã hash vừa tìm được đã được crack chưa.

    [​IMG]

    Yep, mã hash đã được crack chúng ta đã có password của user robot.

    Cách 2 mình sử dụng msfconsole của Metasploit để truy cập, nó tự upshell và get backdoor về cho mình.

    [​IMG]

    Mã:
    python -c 'import pty; pty.spawn("/bin/sh")' 
    Dùng câu lệnh để breaking-jail-shell.

    [​IMG]

    Login với user robot password đã tìm được để đọc key thứ 2.
    Time to escalation
    Cuối cùng, sử dụng lệnh find để tìm các lệnh có quyền cao hơn 4000.

    [​IMG]

    Sử dụng tính năng interactive của nmap support để thực thi shell, để thực hiện sử dụng lệnh !sh.

    [​IMG] [​IMG]
    Bây giờ bạn đã toàn quyền kiểm soát hệ thống :D
    [​IMG]
    Hạn chế, khắc phục:
    • Phân quyền: để hiểu rõ hơn vì sao sử dụng được nmap để lên root các bạn có thể xem lại cách phân quyền
    [​IMG]
    • Quyền cho tập tin /etc/passwd giới hạn chỉ cho user root đọc được, còn quyền cho nmap trong trường hợp này là tất cả user có thể thực thi được
    • Các tập tin robots.txt nên có để giới hạn các bot engines auto scan, tuy nhiên cần phải giới hạn truy cập đến các tập tin đó bằng cách sử dụng WAF để ngăn chặn hoặc chỉ cho phép vùng IP nào đó truy cập đến.
    • Cần thực hiện các bước chống brute force ở form đăng nhập wp-login.php
     
    Chỉnh sửa cuối: 07/06/19, 04:06 PM
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
    DiepNV88 thích bài này.
  2. Sugi_b3o

    Sugi_b3o Moderator Thành viên BQT

    Tham gia: 30/08/16, 10:08 AM
    Bài viết: 299
    Đã được thích: 229
    Điểm thành tích:
    43
    Các bạn có thể download máy chủ về để thực hiện bài lab tại đây
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
    hrinhylde_xruaguwth thích bài này.
  3. Sugi_b3o

    Sugi_b3o Moderator Thành viên BQT

    Tham gia: 30/08/16, 10:08 AM
    Bài viết: 299
    Đã được thích: 229
    Điểm thành tích:
    43
    Các bước cấu hình để thực hiện được bài lab:
    B1: Tải máy chủ về và mở bằng Vmware
    B2: Cấu hình card mạng cùng network với máy chủ attacker
    B3: Tại máy attacker thực hiện lệnh
    Mã:
    netdiscover -r rangeip
    
    [​IMG]
     
    Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
    Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan