Tryhackme - Inclusion
Lại là writeup, và hôm nay mình sẽ cho các bạn biết một kiểu tấn công khá nguy hiểm, đó là local file inclusion hay còn gọi là LFI. Vậy LFI là gì? Ngắn gọn dễ hiểu nhất thì LFI là lỗ hổng cho phép các hacker có thể đọc ra những file nhạy cảm như là /etc/passwd hay /etc/shadow (file chứa username:password). Và để hiểu kĩ hơn thì ta sẽ vào bài viết ngày hôm nay:
Đầu tiên mình scan machine:
Ở đây ta có hai cổng, 22 và 80. Với 22 là ssh thì mình nghĩ ngay đến việc đọc file password để đăng nhập vào ssh. Và bây giờ mình sẽ vào web của nó:
Một cái web khá là đơn giản và có thể web này được sinh ra là để demo lỗ hổng này, vậy thì mình chỉ việc test luôn thôi. Mình sẽ vào LFI-attack và khai thác LFI ở trên đó, còn RFI là Remote File Inclusion nha, khi khác mình sẽ nói về cái này kĩ hơn, còn hôm nay chỉ là LFI thôi:
Ở đây ta có thể thấy có một tham số tên là name. Và một trong những mục tiêu của LFI chính là các parameter, cụ thể là tham số name. Và mình sẽ truyền vào tham số nào một request khá độc hại: "../../../../../etc/passwd" và kết quả:
Chúng ta đã đọc ra được file passwd, quá ngon luôn, nếu như các bạn đọc kĩ thì sẽ thấy có dòng là falconfeast:rootpassword. Và các bạn hiểu ý mình rồi chứ, lộ username và password rồi chứ còn gì nữa. Và mình chỉ cần đăng nhập vào ssh:
Easy game! Dễ dàng đọc được user flag:
Còn root flag nữa thôi, leo thang nào! Ở đây mình sẽ sử dụng lệnh sudo -l đầu tiên vì mình đã biết mật khẩu của nó là gì và đây là kết quả trả về:
Yeah, và ta có thể leo thang đặc quyền nhờ socat. Các bạn nhập lệnh: sudo socat stdin exec:/bin/sh và.....:
Yeah, leo thang thành công. Đọc root flag thôi:
Và đó chính là demo chân thực và cơ bản nhất về lỗi LFI. Khai thác đơn giản mà lại nguy hiểm cực cao phải không nào? Ai làm web thì làm cẩn thận nha không dính LFI lúc nào không hay đó !!!!! Bye bye mọi người!
Nhận xét
Đăng nhận xét