511 words
3 minutes
Pentesting Diary - Hack with Me: [4] NullByte

NullByte#

BOX: NULLBYTE

Link: https://www.vulnhub.com/entry/nullbyte-1,126/

TO DO:#

  • Info gathering. Nmap, naabu, nuclei.
  • Exploit:
    • phpmyadmin exploit
    • SSH Attack
  • Privilege escalation
  • REPORT
  • Done!

Information Gathering#

Finding Machine IP + Map VLAN:#

Box này nó chưa cho sẵn IP cho nên việc đầu tiên là scan IP và map vlan.

Untitled

Port scanning:#

Tiếp theo là scan port bằng naabu và nmap.

Untitled

Untitled

Vulns check#

Untitled

Fuzzing Time#

Subdomain:#

Passive:

Untitled

Active:

Untitled

Hidden directory:

Untitled

Untitled

Trang chủ chỉ có mỗi ảnh gif nên ta tải xuống và dùng binwalk extract xem nội dung HEX thử.

Untitled

Ta thấy chuỗi string đặc biệt kzMb5nVYJw Test thử thì đây chính là đường dẫn tới một trang có form nhập key.

Untitled

Ở đây ta dùng Hydra để bruteforce key này

Untitled

Sau khi nhập key elite vào thì web dẫn tới trang như hình.

Untitled

Untitled

Tổng kết những thông tin useful sau khi scan,fuzzing các kiểu con đà điểu nè:#

ScanningPORTServicesVersionVulnExploitable?Note
Naabu + Nmap80Apache httpd2.4.10No
777OpenSSH6.7p1Yesbruteforce
Nucleinothing useful
FuzzingFile/Directory - Domain
Dirsearch80/phpmyadminYes
80/kzMb5nVYJwYes
Subfindernothing useful
Knocknothing useful

Exploit:#

Foothold#

Untitled

Thử nhập test vào ô username và enter. Nhìn vào url ta thấy nó hiện ra parameter có dạng như sau:

?<tenbien> = <giatrinhapvaoform>

Untitled

Ta thay đổi vài giá trị khác vào parameter usrtosearch kết quả vẫn trả về Fetched data successfully .

⇒ Ta có thể đoán được parameter trên dùng để query thông tin username trong database rồi trả về cho ta.

Giả thiết#

Ta có câu lệnh query như này: Select * from users where username=”$usrtosearch”

Vậy giờ sẽ ra sao nếu ta thử nhập vào một ký tự

⇒ Lúc này câu lệnh query sẽ trông như thế này: Select * from users where username=”'”

⇒ Expected: Câu lệnh này sẽ báo lỗi sai cú pháp.

Thực hiện#

Và đây chính là kết quả sau khi thực hiện.

Untitled

Kết luận#

Ta có thể thấy server trả về lỗi syntax. ⇒ Đúng như ta mong đợi đến đây ta có thể kết luận rằng trang này đã bị dính SQLi.

Vậy bước tiếp theo là dùng Sqlmap để dump database . Với các payload như sau:

Payload

sqlmap --url="[http://nullbyte.local/kzMb5nVYJw/420search.php?usrtosearch=](http://nullbyte.local/kzMb5nVYJw/420search.php?usrtosearch=)" -dump

sqlmap --url="[http://nullbyte.local/kzMb5nVYJw/420search.php?usrtosearch=](http://nullbyte.local/kzMb5nVYJw/420search.php?usrtosearch=)" —dbs

Ta có kết quả là dump được các bảng trong database của trang.

Untitled

Untitled

Ta thử đăng nhập trang phpmyadmin tài khoản username root với password sunnyvale để đăng nhập thành công.

Untitled

Ta thấy trong database có username ramses với password được mã hoá. D0oán được đây chính là một trong những user trên server. Ở đây thay vì chọn cách giải mã password thì ta dùng hydra để bruteforce nó.

Untitled

Bruteforce thành công!! Ta có password cho user ramsesomega.

Untitled

Đăng nhập SSH thành công.

Untitled

Privilege Escaslation:#

Enum:#

Đầu tiên, ta check nội dung file .bash_history xem lịch sử thực thi command xem có manh mối gì không!!!

Untitled

Ở đây ta thấy có command chạy file procwatch tại đường dẫn /var/www/backup . Vào xem thử:

Untitled

Thì thấy trong nội dung file giống như 1 bản ghi lại process( như trong ảnh có 3 process là procwatch, sh và ps ). Và check thử thì thấy đây là một file SUID ⇒ Ta có thể lợi dụng file này để khai thác leo thang đặc quyền.

Exploit:#

Ta copy file /bin/sh và đổi tên thành ps và để cùng thư mục với file procwatch kia. Chạy lại file procwatch và BUMP!! Got it!!!

Untitled

Now you pwned everything!!! It’s your time to play with the victim.#

End game!!!#

PS:#

Nguồn tham khảo:

https://www.linuxfordevices.com/tutorials/linux/hydra-brute-force-ssh

Pentesting Diary - Hack with Me: [4] NullByte
https://fuwari.vercel.app/posts/nullbyte/nullbyte-68fe21ceaefa442ab5958f0a07fb7d90/
Author
Yasna
Published at
2022-06-12