Như chúng ta đều biết, rất nhiều người thường sử dụng website để mua sắn và thanh toán trực tuyến, và hầu hết các website mua sẵn này đều lưu trữ thông tin về thẻ thanh toán, email, hay mật khẩu của khách hàng và đây là mục tiêu để các đối tượng tấn công. Ngoài ra thì cũng có một số đối tượng tấn công website không phải nhắm chếm đoạt tiền mà vì mục đích tôn giáo, chính trị ....

Trong bài này, mình sẽ giới thiệu với các bạn các cách thức tấn công 1 website và làm thế nào để bảo vệ tối đa máy chủ của bạn khỏi các đợt tấn công như thế.

Các vấn đề chính trong bài này bao gồm:

Các lỗ hổng của Web Server##

Web Server là một chương trình lưu trữ file (thường là các trang web) và làm cho chúng có thể truy cập được trên internet. Một web server bao gồm cả phần cứng và phần mềm, những kẻ tấn công thường tấn công vào các lỗ hổng trên phần mềm nhằm mục đích chếm quyền quản trị máy chủ, từ đó có thể lên kế hoạch đánh cắp dữ liệu hoặc phá hoại. Dưới đây là các lỗ hổng phổ biến mà hacker hay tận dụng:

  • Để thiết lập mặc định- Các cài đặt như mặc định ID hay mật khẩu cho user quá đơn giản, hacker chỉ cần sử dụng 1 vài tool quét đơn giản có thể khai thác được.
  • Cấu hình sai máy chủ hoặc mạng - ví dụ như cho phép người dùng thực hiện các lệnh trên máy chủ sẽ rất nguy hiểm nếu user không có mật khẩu mạnh để bảo vệ
  • Có lỗi trong hệ điều hành và web server - phát hiện lỗi trong hệ điều hành hoặc webserver cũng có thể khai thác để truy cập trái phép vào hệ thống.
  • Quá chủ quan về bảo mật máy chủ - ví dụ không cài đặt hoặc không cập nhật phần mềm chống virut, vá lỗi hệ điều hành và webserver có thể tạo ra lỗ hổng cho hacker tận dụng

Các loại Web Server

Dưới đây là danh sách các webserver phổ biến

  • Apache - Đây là webserver thường được sử dụng trên internet, Nó là phần mềm đa nền tảng, nhưng thường được cài đặt trên Linux. Hầu hết các trang web PHP được lưu trữ trên máy chủ Apache.
  • Internet Information Services (IIS) - Nó được phát triển bởi Microsoft. Nó hoạt động trên Windows và là Web Server phổ biến thứ 2 trên internet. Hầu hết các trang web asp và aspx được lưu trữ trên máy chủ IIS.
  • Apache Tomcat - Hầu hết các trang web sử dụng JAVA(JSP) được lưu trữ trên máy chủ này.
  • Các loại máy chủ khác - Bao gồm rất nhiều các webserver khác như Nginx,Web Server của Novell và máy chủ Lotus Domino của IBM.

Các hình thức tấn công vào Web Server##

  • Tấn công vào thư mục - Đây là loại tấn công khai thác lỗi trong máy chủ để truy cập trái phép vào các tập tin hay thư mục private. Một khi hacker có quyền truy cập, họ có thể tải thông tin nhạy cảm, thực thi lệnh trên máy chủ hoặc cài phần mềm độc hại.
  • Tấn công từ chối dịch vụ(DDos) - Với cách tấn công này, Web Server có thể bị treo, crash khiến khách không thể truy cập vào website của bạn.
  • Tấn công DNS(Domain Name System) - Với cách tấn công này, hacker sẽ cấu hình DNS được thay đổi và trỏ đến 1 Web Server khác của chúng, tất cả traffic sẽ được điều hướng đến máy chủ này.
  • Sniffing - Dữ liệu không được mã hoá khi truyền qua internet có thể bị khai thác và tấn công vào Web Server.
  • Phishing - Với các tấn công này, hacker sẽ lừa người truy cập truy cập đến các trang web giả mạo (nội dung và giao diện rất giống với website thật), người truy cập không nghi ngờ có thể bị lừa gửi dữ liệu nhạy cảm, thẻ tín dụng, mật khẩu ...
  • Pharming - Với cách tấn công này, hacker có thể thay đổi cấu hình DNS trên máy chủ hoặc trên máy người dùng ( ví dụ như thay đổi trong file hosts chẳng hạn) để dẫn người truy cập tới 1 trang web độc hại mà người dùng không hay biết.
  • Deface - Với cách tấn công này, kẻ tấn công sẽ thay đổi website của nạn nhân với 1 trang web khác có thông tin tên của hacker, hình ảnh và có thể bao gồm nhạc nền, tin nhắn. ..

Ảnh hưởng của các cuốc tấn công##

  • Uy tín của website có thể bị huỷ hoại nếu kẻ tấn công chỉnh sửa các nội dung trang web, đưa các thông tin độc hại hoặc liên kết đến các tràng web khiêu dâm.
  • Các Web Server có thể được sử dụng để cài phầm mêm độc hại lên máy khách khi họ truy cập vào trang web này. Các phần mềm độc hại được tải vế máy tính người dùng có thể là virut, trojan hoặc phần mềm botnet, ...
  • Dữ liệu người dùng có thể được sử dụng cho các hoạt động gian lận, có thể bị đem bán, hoặc làm việc phi pháp ...

Các công cụ tấn công Web Server##

Một số các công cụ tấn công Web Server phổ biến bao gồm:

  • Metasploit - đây là công cụ mã nguồn mở cho phát triển, thử nghiệm và sử dụng để khai thác mã, nó có thể được sử dụng cho việc phát hiện ra các lỗ hổng trên các webserver.
  • MPack - đây là công cụ khai thác web. Nó được viết bằng PHP, Mysql. Khi webserver bị tấn bằng MPack tất cả lưu lượng đến đó sẽ được chuyển hướng đến trang web chứa phần mềm độc hại.
  • Zeus - Công cụ này có thể sưe dụng để biến 1 máy tính nạn nhân tham gia vào 1 mạng botnet hoặc zombie để tiến hành các cuốc tấn công DDos hoặc gửi thư spam.
  • Neosplit - Công cụ này có thể được sử dụng để cài đặt chương trình, chương trình xoá, sao chép nó ...

Làm thế nào để tránh các cuộc tấn công vào Web Server##

Nếu bạn đang quản lý 1 webserver thì có thể tham khảo các cách sau đây để tự bảo vệ cho website của bạn:

  • Vá lỗi - liên tục cập nhật và cài đặt các bản vá hệ điều hành đặc biệt là các bản update bảo mât.
  • Cài đặt bảo mật và cấu hính hệ điều hành
  • Cài đặt bảo mật và cấu hình phần mềm Web Server
  • Sử dụng các công cụ quét lỗ hổng - Bao gồm các công cụ như Snort, NMap, Scanner Access Now Easy (SANE)
  • Firewall - có thể ngăn chạn các cuộc tấn công DDos đơn giản bằng cách ngăn chặn tất cả các lưu lượng đến xác định bằng địa chỉ IP nguồn của kẻ tấn công.
  • Phần mềm chống Virut - có thể loại bỏ được các phần mềm độc hại trên máy chủ
  • Tắt tính năng truy cập từ xa
  • Xoá các tài khoản mặc định và các tài khoản không được sử dụng cũng nên bị xoá khỏi hệ thống
  • Mặc định cổng và cài đặt (ví dụ FTP cổng 21) nên được đổi sang cổng khác.

Demo tấn công 1 website thực tế##

Lưu ý: Đưới đây là 1 chia sẻ, mình không phải là tác giả nhé!
Trong bài này chúng ta sẽ tiến hành phân tích sơ hở 1  website và tấn công vào lỗ hổng trên website này để chiếm quyền truy cập.

Giả sử mục tiêu của chúng ta là www.techpanda.org. Trong bài này tôi không tấn công với mục đích xấu, mục đích chủ yếu giao dục :)

Những tool cần thiết

Thu thập thông tin, tìm sơ hở

Chúng ta sẽ phải tìm được IP của domain và tìm đến các website khác cũng đang sử dụng IP này.
Chúng ta sử dụng 1 công cụ trực tuyến để làm việc này:

  • Click vào Check buton
  • Sau đó chúng ta có kết quả

Dựa vào kết quả chúng ta có địa chỉ IP của nạn nhân là 69.195.124.112 và có 403 tên miền sử dụng chung web server này.
Bước tiếp theo chúng ta sẽ quét các trang web để tìm lỗ hổng SQL injection. Bước này chủ yếu là tìm xem có website nào bảo mật không tốt để lộ sơ hở thì ta tận dụng để tấn công, nếu website mục tiêu ban đầu có sẵn lỗ hổng thì tất nhiên không phải quét các trang khác làm gì :D.
Sử dụng câu truy vấn tìm kiếm sau:

  • ip:69.195.124.112 giới hạn chỉ tìm kiếm các trang có IP này
  • .php?id= tìm kiếm các URL có biến GET bắt đầu như thế này và chúng ta có kết quả  Bạn có thể thấy tất cả các địa chỉ trên đều có có thể tấn công thông qua lỗ hổng SQL Injection. Chúng ta không đi sâu thêm vào việc tấn công SQL Injection vì đây chỉ là bài viết mang tính chất giáo dục không phải tấn công thực tế, bạn có thể tham khảo các công cụ tấn công như tôi đã đề cập ở trên.

Tải file PHP Shell

Giả định rằng chúng ta đã đăng nhập thành công vào 1 trong các website dính lỗi bảo mật trên.
Đầu tiên bạn phải upload file PHP Shell lên, tải về tại đây

  • Truy cập tới địa chỉ file đã upload dk.php
  • Chúng ta sẽ nhận được kết quả như sau:
  • Click vào URL như hướng dẫn trên là bạn đã truy cập được vào website nạn nhân như đã đề cập ở trên. Từ đây bạn đã có thể truy cập vào files, login vào cơ sở dữ liệu và muốn làm gì thì làm :).

Kết luận

Cuối cùng có 1 số điều tôi muốn rút ra từ bài viết này:

  • Web server lưu trữ các thông tin rất có giá trị và có thể truy cập công khai, do đó làm cho chúng có thể là mục tiêu cho hacker.
  • Các Web Server thường được sử dụng là Apache, IIS
  • Các cuộc tấn công chủ yếu là khai thác lỗi tự hệ điều hành, web server và cấu hính mạng.
  • Một số công cụ hack phổ biến
  • Một số phương pháp có thể giảm nguy cơ bị tấn công