Offensive Security Proving Grounds Play Boxes 01

Photographer — Walkthrough (Offensive Security Proving Grounds Play Boxes) CEH MASTER LAB 01

Đây là bài tập dành cho lớp CEH MASTER và những ai ôn thi SEH. Video demo sẽ có sau khi các bạn thực hành

Giới thiệu

Photographer — Walkthrough (Offensive Security Proving Grounds Play Boxes) thực chất là các máy VulnHub được chạy online, các bạn có thể tải về để thực hành trên máo ảo, còn không thích thì cứ dùng trình duyệt qua PG Play Box.

NMAP

Vì chúng ta đã được cung cấp địa chỉ IP của Box này nên sẽ quét nó qua Nmap .

……………….

Chúng ta sẽ quét IP  và tất cả các cổng đang mở bằng cách gõ lệnh sau . -p- chỉ ra rằng chúng ta muốn kiểm tra tất cả các cổng đang mở. Tôi thích dùng nmap -A -v -p- luôn, nhưng cú pháp tinh tế thì dùng theo các bài của eJPT rất hay

nmap -p- 192.168.xx

Sau một thời gian chờ đợi, chúng ta đã có kết quả như hình dưới đây:

Quét cổng Nmap

Để thu thập thêm thông tin về các cổng được tìm thấy bởi nmap , chúng ta sẽ thêm một số đối số khác chỉ định các cổng đang mở. -sV sẽ quét để hiển thị các phiên bản dịch vụ của ứng dụng trên các cổng đang mở và -sC sẽ chạy các tập lệnh mặc định trên các dịch vụ để kiểm tra xem có lỗ hổng hay không.

nmap -p 22,80,139,445,8000 192.168.xx -sV -sC

Trong một thời gian ngắn, ta có kết quả và nhiều thông tin chi tiết hơn về các cổng đang mở. Và các bạn sẽ bắt đầu liệt kê các cổng 139 và 445 vì cổng 22 không phải là một điểm khởi đầu hợp lý vì nó không cung cấp cho chúng tôi bề mặt tấn công rộng rãi như máy chủ http. Sau đó, ta sẽ tiếp tục liệt kê các cổng 80 và 8000 vì các dịch vụ http cung cấp một bề mặt tấn công lớn.

Quét cổng được xác định sau khi Nmap

… liệt kê

Liệt kê SMB

Các cổng SMB có thể lưu trữ các tệp và thông tin có giá trị, nên trước tiên, ta bắt đầu liệt kê chúng. Chúng được mở để kết nối nếu thiết lập mặc định và đặc biệt không được bảo vệ bằng mật khẩu. Vì vậy, chúng ta sẽ sử dụng smbclient để liệt kê và kết nối với SMB .

smbclient -L \\\\ 192.168.xx

Và các bạn có thể thấy một số chia sẻ và biết đâu có flag trong đó.

Bây giờ, để kiểm tra tập tin sambashare , chúng ta sẽ thử đăng nhập vào máy chủ SMB bằng lệnh sau, khi nó yêu cầu mật khẩu, chúng ta sẽ nhấn enter để trống mật khẩu.

smbclient \\\\ 192.168.xx \\ sambashare

Chúng ta kết nối thành công với máy chủ và liệt kê nội dung bằng lệnh ls . Và thấy có hai tệp có vẻ quan trọng như hình minh họa, hãy tải tệp bằng lệnh get  để kéo về 2 tập tin  mailsent.txt ,  wordpress.bkp.zip .

Hãy cat mailsent.txt xem có gì trong đó ?

Chúng ta có hai địa chỉ e-mail agi@ và daisa@ vói domain là photographer.com và một email với các thông tin tên của người dùng là Daisa và Agi .

Với tình huống thật tế thì ít ai bật mí điều gì qua mail nhưng với các CTF cấp độ thấp và trung bình như này thì khả năng các dữ liệu bí mật hay nằm trong mấy cái email, đôi khi có cả ssh key, và password … Ở đây có dòng Don’t forget your secret , my babygirl 😉 khá lộ, có thể babygirl là thông tin bí mật như tên hay mật khẩu cũng nên.

Liệt kê HTTP

Tiếp theo, Chúng ta sẽ kiểm tra cổng 80 bằng cách  duyệt trang web, lại nhớ về 4 phương án tấn công cơ bản về web trong mini web attack mindmap là xem source, xem tất cả menu & ô nhập liệu (kể cả address bar) để tìm sql injection, xss, xem thư mục ẩn (bruteforce dir) và xm kết quả scan web với nikto, appspider …

Hãy tiến hành đầy đủ và lưu lại thông tin, sau đó qua iếp port web còn lại là 8080

Lập lại các bước enum web căn bản trên

Ở cổng 8000 , chúng ta gặp một cái tên quen thuộc Daisa mà chúng ta đã phát hiện ra trong quá trình điều tra SMB . Và chúng ta thấy rằng máy chủ web được xây dựng bằng Koken CMS   .

Trong trường hợp này các bạn hãy google hoặc searchsploit tên CMS và phiên bản của chúng để xem liệu có một khai thác được công bố công khai hay không.

Tìm kiếm Koken với searchsploit

Sau khi tìm kiếm Koken CMS , chúng tôi thấy rằng có một khai thác công khai được liệt kê trên mining -db 48706.txt và đó là phiên bản tương ứng mà chúng ta thấy trên cổng 8000 . Vì vậy, hãy đọc nội dung mã khai thác Koken CMS .

Khai thác

Chúng tôi đọc khai thác mà chúng tôi tìm thấy và chúng tôi thấy rằng có bốn bước đơn giản để có được một trình bao ngược cấp thấp. Nhưng cần có tài khoản để xác thực (thường trong các bài thi CEH Master và LPT thì tôi phải bruteforce tài khoản trước đó), ở đây có thể dùng Daisy với thông tin tiết lộ trong email

Đọc tệp Koken CMS

Sau khi đọc kỹ phần khai thác, các bạn sẽ thấy có một thư mục quản trị để đăng nhập trên trang web. Vì chúng ta đã có một số thông tin đăng nhập trong khi liệt kê chia sẻ SMB , chãy thử bằng các thông tin đăng nhập đó. Thử e-mail của Agi và Daisa , chúng ta thấy rằng daisa@photographer.com và một từ nằm ở cuối mailsent.txt là thông tin đăng nhập thích hợp.

Và chúng ta đăng nhập trang web thành công.

Hình bảng điều khiển cổng 8000

Ở tình huốn này các ban5co1 thể Thực thi mã từ xa (RCE) trên trang web, hoặc là tải lên trình bao php ngược, hâ upload 1 con shell như b374k như các bài thực hành của CEH cũng rất OK. Hãy xác định vị trí php-reverse-shell đã có trong Kali và sao chép nó vào thư mục làm việc hiện tại cũng như sửa đổi các dòng cần thiết (nếu không có sẳn thì tìm tải về).

Tìm tập tin Php-reverse-shell

Các bạn phải thay đổi địa chỉ IP và Cổng mặc định trong php-reverse-shell cho tương ứng với mô hình hacking lab của mình.

Các bạn thay đổi IP mặc định thành IP của máy Kali Linux và sử dụng cổng 443 vì đây là cổng thường đươc firewall “ưu ái”, giống như các bài Hackademic RTB.

Thay đổi IP và cổng

iếp theo các bạn cần shell php của mình thành tệp .jpg như cách khai thác đề xuất (nhớ chú ý skill này)

Thay đổi Php-reverse-shell thành tập tin Jpeg

Sau đó, các bạn nhấp vào nút nhập nội dung nằm trên bảng điều khiển để tải lên trình bao (reverse shell) của chúng ta.

Import cotent

Sau khi nhấp vào nút Nhập nội dung, một cửa sổ mới sẽ được nhắc để tải lên

Bây giờ, chúng ta sẽ nhấp vào dấu mũi tên lên và chọn tệp php shell của mình.

Hãy mở BurpSuite và bật proxy và nhấp vào Import và nhận yêu cầu (get request).

Xử lý yêu cầu

Nếu mọi thứ ổn, hãy gửi yêu cầu đến Repeater và thay đổi phần mở rộng tệp thành .php .

Sau đó gửi (Send) yêu cầu đến máy chủ web và thấy rằng trình bao ngược đã được tải lên.

Để tìm vị trí của tệp được tải lên, hãy kiểm tra phía bên phải của trang web hiển thị vị trí của tệp shell và cung cấp liên kết đến nó.

Thư mục Shell (có bài ta lại phải lôi gobuster ra mà quét)

Trước khi truy cập liên kết được cung cấp, các bạn cần thiết lập trình nghe netcat hay sử dụng metasploit (nếu web shell tạo bằng mfsvenom) để bắt kết nối trả về trên cổng đã chỉ định trong khi chỉnh sửa tệp php revershell.

Thiết lập Netcat Listener

Bây giờ, hãy truy cập liên kết đến php reverse shell đã up lên trong phần trước.

Các bạn hãy xem cửa sổ netcat để thấy session được tạo.

Chúng ta có 1 shell cấp thấp hãy nâng cấp lên  TTY shell với lệnh sau (hãy ghi chú lệnh này để dùng nhiều)

python -c ‘import pty; pty.spawn (“/ bin / bash”)’

Nâng cấp TTY Shell

Sau khi có được TTY shell hãy tận dụng các lệnh find, locate để tìm các tập tin flag (bước này nhiều lúc cũng rất mất thời gian nhưng đừng lo, cứ tìm cũng lòi ra cả thôi)

Vì chúng tôi không ở trong thư mục có hàm băm, chúng tôi tìm kiếm local.txt thông qua lệnh sau :

find / -name local.txt 2> /dev/null

Cần chú ý lệnh này …

Nâng cấp đặc quyền

Sau khi kiểm tra các lỗ hổng phổ biến hoặc cấu hình sai, chúng tôi thấy rằng có một php được cài đặt trên hệ thống và có các tệp nhị phân SUID .

find / -perm -u = s -type f 2> / dev / null

Bảng kê SUID Binaries

Đối với các mã nhị phân SUID , hãy tìm hiểu thêm trong GTFOBins vì đây là nơi cung cấp rất nhiều lệnh leo thang đặc quyền cho các mã nhị phân SUID được tìm thấy trên các hệ thống victim.

Và ta thấy rằng có thể nâng cao đặc quyền trên máy đích

Nâng cấp đặc quyền PHP

Chúng tôi gõ lệnh sau trên thiết bị đầu cuối.

/usr/bin/php7.2 -r “pcntl_exec (‘/ bin / bash’, [‘-p’]);”

Lệnh leo thang đặc quyền trong PHP

Và Id người dùng hiệu quả của chúng tôi hiện là gốc, có nghĩa là chúng tôi có thể lấy mã băm gốc của mình.

Bây giờ chúng tôi có toàn quyền Target Photographer.

Biên soạn theo Cesar’s Medium

Trả lời

Please log in using one of these methods to post your comment:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất /  Thay đổi )

Google photo

Bạn đang bình luận bằng tài khoản Google Đăng xuất /  Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất /  Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất /  Thay đổi )

Connecting to %s