SSV
+3

Write-up HackTheBox:Lame

Mở đầu

Đây là một series mình sẽ làm các machine trong HackTheBox và mở đầu lần là Lame với độ khó được đánh giá là dễ. Mục tiêu chính của mình là root chứ không phải là flag.

List bài HTB List

Write-up

Việc đầu tiên và quan trọng nhất cần làm luôn luôn là recon mục tiêu. Chúng ta càng thu thập nhiều thông tin về đối tượng thì sẽ càng mở ra nhiều hướng để tấn công hơn.

Recon

Ở đây mình dùng nmap để quét tất cả các cổng đang chạy
nmap -A -v -p- 10.10.10.3 - o nmap

Ta phát hiện có 5 cổng đang hoạt động là 21,22,139,445,3632. Mình thấy có một cổng khá lạ là 3632 đang chạy dịch vụ là distccd và mình sử dụng searchsploit để tìm thử xem có lỗ hổng nào liên quan đến dịch vụ này không

Ở đây mình thấy một lỗ hổng RCE và thấy Metasploit nên mình sẽ dùng Metasploit để khai thác

Exploit

Metasploit

Khởi động Metasploit và tìm kiếm lỗ hổng

Tiến hành set PAYLOAD, LHOST, RHOST cho exploit Chú ý: thay đổi ip theo ip máy của bạn

Tiến hành exploit và ta có được shell đầu tiên

Privilege Escalation

Đầu tiên mình kiểm tra xem user này có thể chạy sudo k sudo -l

Do mình không biết mật khẩu lên bỏ qua hướng này
Tiếp theo mình tìm kiếm tất cả các file có SUID
find / -perm -u=s -exec ls -la {} \; 2>/dev/null

Ở trên mình tìm nhìn thấy một binary có SUID và có userown là root: nmap. Nmap từ phiên bản 2.02 đến 5.21 có chế độ tương tác, từ đó ta có thể lấy được shell của root

nmap --interactive
!sh

Để ý ở đây khi chạy id thì uid vẫn là daemon chứ không phải là root và euid có giá trị là root.Nếu dừng ở đây thì ta vẫn lấy được root flag nhưng như mình nói ban đầu mục tiêu của mình là root chứ không phải là flag. Do đó mình sẽ tiếp tục leo núi tiếp 😁😁 Link tham khảo về process linux Process linux

Theo mình tìm hiểu để leo từ euid lên thành uid root ta có 2 cách:
Sử dụng ssh

  • Điều kiện: server phải có dịch vụ ssh đang hoạt động và cấu hình cho phép xác thực bằng ssh key
  • Demo:
    Đầu tiên tạo ssh key bằng ssh-keygen Sau khi tạo thì ta có 2 file đó là id_rsa và id_rsa.pub. Tiếp theo copy file id_rsa.pub vào thư mục /root/.ssh và đổi tên thành authorized_keys. Cuối cùng copy nội dung của file id_rsa vào máy và kết nối. get roooooooooooooooot !

Sử dụng một ngôn ngữ lập trình bất kì và trước khi tạo shell ta phải đặt uid=euid

  • Coming soon

Conclusion

Ở bài này mình học được là nếu là euid thì mới root "fake", khi nào chúng ta có uid là root thì mới là "real". Mình cũng mới chỉ bắt đầu học về leo thang nên kiến thức còn ít, nếu bạn thấy chỗ nào mình hiểu sai mong các bạn comment góp ý.


All Rights Reserved