Halo, Lại là toi pr1vacy. Sau cx sương sương ngày ko hoạt động. Nay tui viết 1 bài WU trên PwnTillDawn, machine easy nhma vì tui chưa thấy ai viết WU cả nên tui viết xem như nguồn tài liệu tham khảo. P/s: Nguyên buổi tối của tui @@ ![image](https://hackmd.io/_uploads/rJptVUj9ye.png) Bài này có 3 Flag, 2 flag đầu khá dễ nên mình lướt nhanh nha, bước đầu tiên khi làm những dạng bài boot2root này thì mình scan hoi. Xem coi nó có những port nào đang mở ![image](https://hackmd.io/_uploads/BJ29VIo91l.png) Tui lười scan lại lắm nên cho nó out ra file luôn sau check cho dễ, thì ta thấy nó mở 3 port nhma có 2 dịch vụ hoi là SSH với NFS (NFS chạy 2 port là 111 vs 2049). ## FLAG 1 Thì sau khi mà tìm hiểu thì chúng ta có thể dùng lệnh showmount để xem những thư mục nào được chia sẻ ra ![image](https://hackmd.io/_uploads/HyFoNUj5yl.png) Ở đây ta thấy có thư mục /nfsroot được chia sẻ thì ta sẽ dùng lệnh mount -t để mount thư mục chia sẻ về máy ![image](https://hackmd.io/_uploads/rJkh4Io9ke.png) ![image](https://hackmd.io/_uploads/rkDn4Us91e.png) Thì khi mount về chúng ta sẽ được Flag đầu tiên và 1 file notes.txt ## FLAG 2 Khi đọc file notes.txt ta nhận thấy có 1 đoạn chuỗi được mã hóa base64, nhìn đầu ey chắc mng :)) đoán được đây là jwt token gòi nhỉ :v ![image](https://hackmd.io/_uploads/BygTEIsqJe.png) Thì khi ta decode đoạn base64 ra ta được user và pass của user jessy. Tới đây thì mọi người đoán xem nó được dùng làm gì? Đọc WU mà cx kích thích não xíu cho dui. ![image](https://hackmd.io/_uploads/SJyREUoc1e.png) Yup, còn 1 dịch vụ nữa mà ta chưa động tới đó là ssh, đăng nhập với username vs password ta lấy được thì đã đã kết nối tới máy victim với user jessy. ![image](https://hackmd.io/_uploads/Hkn0VLo9Jl.png) ![image](https://hackmd.io/_uploads/Sy71SLj5ke.png) Ở đây ta có được flag 2. ## FLAG 3 tới rồi đó :)) cái khúc đau đầu khiến tui phải ngồi cả buổi. Thì như trên ảnh flag 2 mọi người thấy là tui có dùng linpeas để check coi những file nào SUID/GUID nhma ko exploit được cái nào cả. Bắt đầu mệt gòi đó... rồi, tui bỗng chú ý tới một dòng trong linpeas ![image](https://hackmd.io/_uploads/Hysyr8jq1l.png) Yup, đúng rồi đó folder /nfsroot được config với option là no_root_squash nghĩa là root từ máy remote có thể truy cập như là root trong máy. Ý là :))) chúng ta có thể dùng user root của máy chúng ta như là root trong máy victim á thì tiếp theo thì mình tạo 1 file executable với SUID của root hoi. tới đây cũng ngoằng nè :)) ![image](https://hackmd.io/_uploads/r1PbSUi51l.png) Đây là file .c để exploit và khi tui compile lại thì chạy trên máy victim nó bị cái vấn đề này :)) Và tui cũng thử với python, bash script nhma đều vô phương thất bại. Và tui không thể downgrade hoặc cài thêm glibc version 2.33 được. ![image](https://hackmd.io/_uploads/HJh-B8i5Je.png) Đang khó chịu vô cùng thì tui ms nhớ, xưa chơi pwn thì hay có vụ check file để xem file là dynamic link hay static link. Thì khi compile dạng dynamic á thì khi mà file được thi thì cái linker mới gọi nạp libc vào còn nếu mà compile dạng static thì nó compile kèm lun cả cái libc vào thì chúng ta đã giải quyết được bài toán :))) libc không cùng version nữa. Thì mọi chuyện tới đây là xong gòi, tui compile lại file với option là static để load libc vào trong file executable luôn. ![image](https://hackmd.io/_uploads/HkJzrUi9yx.png) ![image](https://hackmd.io/_uploads/HJmfHIsqyl.png) chạy file thoi và done :speak_no_evil: yeah chúng ta đã pwn thành công machine này rồi đó. Hi vọng trong lúc bế tắc giúng tui bạn có thể tìm thấy bài này :)) ![image](https://hackmd.io/_uploads/HyvMSIi5ke.png)