Tryhackme - Agent Sudo

Xin chào các cô bác gần xa, lại là mình và lại là tryhackme thân yêu đây. Và hôm nay ta sẽ sang 1 challange mới có tên là Agent Sudo. Nó cũng ở mức độ dễ và mọi người có thể làm lại challenge này.


Bắt đầu nào, vẫn như mọi khi:


Chúng ta có gì ở đây nào, ba cổng đang mở: ftp, ssh và http. Ba cổng đang mở - xong câu hỏi đầu tiên. Giao thức FTP thông thường sẽ cần username và password nên mình sẽ thử đi tìm hai yếu tố này; tạm thời ta hãy bỏ qua chi tiết này. Giờ mình sẽ vào web của nó:


Như chúng ta có thể thấy đây là 1 đoạn message nào đó mà Agent R để lại. Và ta sẽ trả lời được câu hỏi số 2, ta sẽ sử dụng user-agent để điều hướng bản thân đến những trang nào đó bí mật hoặc bị ẩn đi. Và với câu 3 thì mình sử dụng 1 extension khá là nổi tiếng: user agent switcher and manager. Extension này cho phép chúng ta có thể thay đổi user-agent một cách nhanh chóng. Và với gợi ý của câu 3: "You might face problem on using FireFox. Try 'user-agent switcher' plugin with user-agent: C". Ok bây giờ mình sẽ thử thay đổi user-agent thành C và xem kết quả trả về là gì:


Ầu, lại là 1 đoạn message nữa, và ta dễ dàng trả lời được câu hỏi tiếp theo: "What is the agent name?", đó là chris.

Đến với yêu cầu tiếp theo với tiêu đề là hash cracking và brute force. Ầu vậy tức là mình phải brute force một thứ gì đó và cracking một thứ gì đó. Với câu hỏi đầu tiên với yêu cầu tìm password của ftp; mình ban đầu nghi ngờ chris chính là username của ftp, mình thử dùng hydra với username là chris và lấy file rockyou.txt làm file password để brute force ftp, và kết quả:


Ồ, đúng luôn, quá là ngon rồi. Bây giờ mình có thể truy cập vào ftp của nó với username và password vừa tìm được. Đồng thời ta sẽ thấy có 3 file, ta lần lượt lấy 3 file đó về máy của mình:


Đầu tiên mình sẽ đọc file To_AgentJ.txt đầu tiên, và đọc qua thì mình thấy có vẻ là password của cái gì đó đang ở trong 1 bức tranh nào đó ở trong 3 file mình vừa lấy về - hãy nhớ điều này. Tiếp theo ta để ý câu hỏi tiếp theo là mật khẩu file zip là gì, vậy file zip ở đâu?? Và mình nghĩ đến hai bức tranh kia, chắc chắn có gì đó ẩn sau hai bức tranh đó, và mình sử dụng binwalk để kiểm tra điều đó:


Và ta có thể thấy cutie.png có file zip chứa To_AgentR.txt, trích xuất nó ra thôi, ta nhập binwalk -e cutie.png:


Ta có thể thấy là file txt đã được bảo vệ bởi 1 mật khẩu nào đó, và lúc này mình sử dụng zip2john để tìm xem mật khẩu file zip là gì:


Có hash nè, vậy tức là có mật khẩu, và mình lưu hash này ở file hash.txt và crack bằng john: john -w=/usr/share/wordlists/rockyou.txt hash.txt và kết quả:


Xong, đã biết đáp án của mật khẩu file zip là gì, ta sẽ sử dụng mật khẩu này để truy cập vào file txt vừa nãy:


Ta sẽ thấy có 1 từ hơi lạ, các bạn nhìn chắc cũng biết từ nào lạ rồi đúng không, và đó chính là đoạn mã base64, khi mình decode ta được:


Mình rất thích nghiên cứu về người ngoài hành tinh, đặc biệt là về khu vực 51 nổi tiếng này. Mà thôi tập trung vào vấn đề chính, ta đã biết từ lạ vừa nãy là gì, và đồng thời các bạn hãy nhớ lại trước đó đoạn message nói rằng mật khẩu lưu trong 1 bức tranh nào đó đúng không, vậy bây giờ mình thử dùng từ Area51 này để xem đây có phải là passphrase cần tìm hay không. Ở đây ta sẽ sử dụng steghide + Area51 để tìm xem có gì ẩn bên trong hay không:


Ồ, ra một file mới, vậy ta đã biết được mật khẩu steghide là gì, chính là Area51, lại trả lời được thêm câu hỏi nữa. Bây giờ chỉ cần đọc file ra thôi, yeah yeah mật khẩu đây rồi:


Yeah, ta đã tìm được password, và còn cổng ssh nữa đúng không, vậy thì chắc chắn đây là password ssh rồi, còn username thì các bạn đọc chắc cũng biết username là gì rồi đúng không, chính là james chứ còn ai nữa. Bây giờ đăng nhập ssh và triển thôi:


Thành công!!!! Ta dễ dàng đọc được user_flag:


Tiếp theo là phần cuối cùng, leo thang đặc quyền. Và có 1 câu hỏi khá là hay: "CVE number for the escalation?". Hmmmmm CVE à, vậy thì chắc chắn hệ thống này có gì đó mờ ám. Đến lúc điều tra rồi. Bây giờ mình sẽ thử sudo -l đầu tiên vì mình đã biết và nhớ password là gì:


Wait, /bin/bash??? Sudo???? Đến đoạn này thì mình ngồi trầm tư một lúc khá là lâu, mình tự hỏi ở trong đầu: "sudo mà đi với /bin/bash???". Thế là mình thử kiểm tra xem phiên bản của sudo là gì và mình khá bất ngờ:


Sau khi xâu chuỗi lại kết hợp việc tra mạng và mình đã phát hiện ra đây là một lỗ hổng trong câu lệnh sudo cho phép hacker có thể leo thang ngay lập tức; đó là CVE-2019-14287. Và cách exploit rất đơn giản: sudo -u#-1 /bin/bash và kết quả:


Vui rồi. Đọc root_flag và kết thúc thử thách nào:


Và bài viết hôm nay xin được khép lại. Cảm ơn mọi người đã xem và hẹn gặp lại mọi người trong những bài viết lần sau!!!! Bye bye!!!!!!!


































Nhận xét

Bài đăng phổ biến