Có lẽ các bạn đã nghe nhiều về các ứng dụng web dùng cho việc thực hành hacking hay pentest như DVWA, bWapp … dùng cho các bài thực hành CEH v11, PENTEST + hay trong khóa học Kametasploit. Ở bài đăng này, ta sẽ học cách định cấu hình các ứng dụng web dễ bị tấn công (DVWA, BWAPP & v.v.) với sự trợ giúp của docker.
Lịch Khai Giảng Các Khóa Học Trực Tuyến CEH , CHFI, CPENT, CEH MASTER, PENTEST +, Security+

Video minh họa :
Yêu cầu-Ubuntu hay Kali Linux , trong video minh họa chúng tôi sử dụng Kali Linux 2021.1 đã được cài sẵn docker và docker-compose. Các bạn trong các lớp học trực tuyến hay thành viên của các nhóm “lợi ích” (ý là member hay học viên) trên CEH VIETNAM như CEH v11, CPENT … có thể tải bản pre-build với hàng trăm bug tại đây.
Ứng dụng web
Ứng dụng web là một chương trình máy tính sử dụng trình duyệt web và công nghệ web để thực hiện các tác vụ qua Internet. Ứng dụng web có thể được xây dựng cho các mục đích sử dụng rộng rãi hơn mà bất kỳ ai cũng có thể sử dụng; từ một doanh nghiệp thành một thực thể vì nhiều lý do. Các ứng dụng Web thường được sử dụng có thể bao gồm webmail.
Docker
Docker là một công cụ của bên thứ ba được phát triển để tạo ra một môi trường biệt lập để thực thi bất kỳ ứng dụng nào. Các ứng dụng này được chạy bằng các thùng chứa. Các vùng chứa này là duy nhất vì chúng tập hợp tất cả các phụ thuộc của một ứng dụng vào một gói duy nhất và triển khai nó. Bây giờ, để làm việc với docker, bạn sẽ cần cài đặt docker-engine trong máy chủ của mình.
Chạy theo lệnh để cài đặt docker:
apt update apt install docker.io

Sau đó thực hiện lệnh sau để bắt đầu và kích hoạt dịch vụ của docker:
systemctl start docker systemctl enable docker

Và chúng tôi đã cài đặt phiên bản docker 18.09.7 trong máy cục bộ của mình.

Định cấu hình DVWA trên Docker
Ứng dụng web dễ bị tấn công (DVWA) là một ứng dụng web PHP / MySQL rất dễ bị tấn công. Mục tiêu chính của nó là hỗ trợ các chuyên gia bảo mật kiểm tra kỹ năng và công cụ của họ trong môi trường pháp lý, giúp các nhà phát triển web hiểu rõ hơn về các quy trình bảo mật các ứng dụng web và hỗ trợ cả sinh viên và giáo viên tìm hiểu về bảo mật ứng dụng web trong một lớp học được kiểm soát Môi trường.
Mục đích của DVWA là thực hành một số lỗ hổng web phổ biến nhất, với nhiều mức độ khó khác nhau, với giao diện đơn giản dễ hiểu. Xin lưu ý, có cả lỗ hổng được tài liệu hóa và không có tài liệu với phần mềm này. Đây là cố ý. Bạn được khuyến khích thử và khám phá càng nhiều vấn đề càng tốt.
Để cài đặt và cấu hình DVWA thông qua docker khá đơn giản, sau đó là cách tiếp cận thủ công, bạn có thể tìm kiếm hình ảnh docker của nó trực tiếp bằng cách gõ lệnh sau trên terminal.
docker search web-dvwa

Ở đây bạn có thể quan sát thấy nó đã hiển thị hình ảnh docker cho dvwa theo xếp hạng nhất định và thậm chí bạn có thể tìm kiếm hình ảnh tương tự trên internet. Bạn sẽ nhận được đầu ra tương tự như hình dưới đây.

Bây giờ chúng ta có thể trực tiếp kéo gói bằng cách thực hiện lệnh sau:
docker pull vulnerables/web-dvwa

Và sau đó để bắt đầu dịch vụ docker cho dvwa; nhập lệnh dưới đây vào thiết bị đầu cuối của bạn.
docker run -p 80:80 vulnerables/web-dvwa

Tốt! Chúng tôi đã cấu hình thành công phòng thí nghiệm dvwa trong ubuntu vì chúng tôi có thể thấy rằng chúng tôi được chào đón bởi trang đăng nhập.

Nhập URL sau và nhấp vào Create/Reset Database.
http: //localhost/dvwa/setup.php

Khi cơ sở dữ liệu sẽ được tạo, bạn có thể đăng nhập vào ứng dụng để truy cập bảng điều khiển web.

Và chúng ta đã có ứng dụng DVWA sẵn sàng để sử dụng, khá nhanh và dễ dàng.

Cấu hình Mutillidae trên Docker
OWASP Mutillidae là một ứng dụng web có chủ đích dễ bị tấn công mã nguồn mở, cung cấp một mục tiêu nhiệt tình cho bảo mật web. Đây là một môi trường tấn công web dễ sử dụng được thiết kế cho các phòng thí nghiệm, những người yêu thích bảo mật, lớp học, CTF và các mục tiêu đánh giá lỗ hổng và có hàng tá lỗ hổng và mẹo để trợ giúp người dùng.
Tương tự, chúng ta có thể chạy mutillidae bằng docker mà không mất nhiều thời gian trong việc cấu hình thủ công. Lặp lại bước tương tự như đã làm trước đó, đầu tiên kéo gói và sau đó sử dụng docker để bắt đầu mutillidae qua một cổng cụ thể.
docker pull szsecurity / mutillidae docker run -p 1337: 80 szsecurity / mutillidae

Lần này chúng ta đã chọn cổng 1137 để khởi chạy ứng dụng mutillidae. Do đó, ta sẽ mở trình duyệt cục bộ này bằng URL sau: localhost: 1337, nơi các bạn sẽ tìm thấy tùy chọn đặt lại cơ sở dữ liệu. Chỉ cần nhấp vào nó để thiết lập lại cơ sở dữ liệu.

Định cấu hình WebGoat trên Docker
WebGoat là một ứng dụng web “cố ý” không an toàn do OWASP duy trì được thiết kế để dạy các bài học về bảo mật ứng dụng web.
Chương trình này là một minh chứng về các lỗi phổ biến của ứng dụng phía máy chủ. Các bài tập nhằm mục đích sử dụng cho mọi người để tìm hiểu về các kỹ thuật kiểm tra thâm nhập và bảo mật ứng dụng.
Tương tự, chúng ta có thể chạy WebGoat bằng docker mà không mất nhiều thời gian trong việc cấu hình thủ công. Lặp lại bước tương tự như đã làm trước đó, đầu tiên kéo gói và sau đó sử dụng docker để khởi động WebGoat qua một cổng cụ thể.
docker pull szsecurity / webgoat

docker run -p 1337: 80 szsecurity / webgoat

Để truy cập ứng dụng webgoat, hãy chạy URL sau trong trình duyệt web.
http: //localhost: 1337 / WebGoat

Định cấu hình bWAPP trên Docker
Một ứng dụng web có lỗi cố tình không an toàn. Những người đam mê bảo mật, kỹ sư hệ thống, nhà phát triển có thể tìm hiểu về các lỗ hổng trên Web và ngăn chặn chúng.
Lặp lại cách tiếp cận tương tự và thực hiện lệnh sau để kéo hình ảnh docker của nó.
docker pull raesene / bwapp

sau đó sử dụng docker để khởi động WebGoat qua một cổng cụ thể.
docker run -d -p 8080: 80 raesene / bwapp

Bây giờ hãy truy cập trình duyệt của bạn và mở tệp cài đặt bWAPP bằng lệnh sau và nhấp vào đây như thể hiện trong hình ảnh bên dưới
http: // localhost: 8080 / install.php

Bây giờ bạn sẽ nhận được trang đăng nhập của bWAPP, nơi chúng tôi sẽ sử dụng tên người dùng mặc định là ong và mật khẩu mặc định là lỗi và bạn đã đăng nhập vào bWAPP.

Nhập ong xác thực: lỗi và nhận quyền truy cập vào bảng điều khiển web.

Bây giờ bạn có thể bắt đầu làm việc trên bWAPP.

Một phương pháp khác
Chúng tôi có thể sử dụng PentestLab Management Script vì script này sử dụng docker và bí danh máy chủ để cung cấp các ứng dụng web trên localhost ”và nó có thể kéo các ứng dụng sau.
- bWAPP
- WebGoat 7.1
- WebGoat 8.0
- Ứng dụng web dễ bị tổn thương chết tiệt
- Họ Mutillidae II
- Cửa hàng nước trái cây OWASP
- WPScan WordPress dễ bị tổn thương
- Nhân viên hỗ trợ bảo mật OpenDNS
- Altoro Mutual
Cài đặt và cấu hình Tập lệnh quản lý PentestLab
git clone https://github.com/eystsen/pentestlab.git cd pentestLab ./pentestLab.sh --help

Để kiểm tra danh sách ứng dụng web, hãy sử dụng tùy chọn danh sách cùng với tập lệnh.
./pentestLab.sh danh sách
Để khởi động ứng dụng web, chỉ cần viết tên của ứng dụng web sau tập lệnh thực thi như được hiển thị ở đây.
./pentestLab.sh start juiceshop

Thực thi URL sau để duyệt ứng dụng web.
http://127.0.0.1 hoặc http: // juiceshop
Kết luận :
Việc thiết lập phòng thí nghiệm ứng dụng web dễ bị tổn thương bằng cách sử dụng docker rất dễ dàng và nhanh chóng so với các cách tiếp cận khác. Người kiểm tra bút có thể dễ dàng thiết lập phòng thí nghiệm dễ bị tấn công của riêng mình bằng cách sử dụng docker trong một khoảng thời gian rất ngắn.
Hy vọng bạn thích kỹ thuật này để cấu hình ứng dụng web.
Chúc mừng Hacking !!

Tác giả : Kavish Tyagi là một nhà nghiên cứu và đam mê An ninh mạng trong lĩnh vực thử nghiệm Thâm nhập ứng dụng web.
BQT – Các bạn cũng có thể tải máy ảo OwaspBWA về và chạy với vmware cũng có sẵn các ứng dụng web trên như trong minh họa setup pentest lab sau đây.