-
30/08/2016
-
319
-
448 bài viết
Tìm hiểu về Deface Website và các cuộc tấn công website của các sân bay Việt Nam
Trong khoảng thời gian hai ngày 8-9/3/2017, một số website của các cảng hàng không như: Tân Sơn Nhất, Rạch Giá, Tuy Hòa bị hacker tấn công. Vụ việc khiến cộng đồng hoang mang và nghi ngờ về một “sự cố Vietnam Airlines” lần thứ 2. Tuy nhiên, các chuyên gia của Bkav cho biết đây không phải là tấn công APT như vụ việc của Vietnam Airlines năm ngoái, mặc dù đã có thể khai thác được cơ sở dữ liệu. Tuy nhiên, WhiteHat Dominic Haxor chỉ Deface website để cảnh báo cho người quản trị.
1. Tấn công Deface website là gì ?
Deface được định nghĩa là tấn công thay đổi nội dung website, thông qua một điểm yếu nào đó của website, hacker sẽ thay đổi nội dung website của nạn nhân. Việc thay đổi nội dung này nhằm một số mục đích :
Có rất nhiều nguyên nhân bị Deface, chủ yếu nhất là website tồn tại điểm yếu bảo mật nghiêm trọng khiến cho hacker có thể upload file lên server hoặc có quyền đăng nhập vào trang quản trị website (ví dụ: SQL Injection), thậm chí nếu website an toàn vẫn bị Deface nếu như hosting khác cùng tồn tại trên 1 server bị tấn công (local attack).
5 Trường hợp website bị tấn công Deface đa số là:
a. Lỗi SQL injection
Sql injection là một kỹ thuật cho phép những kẻ tấn công lợi dụng lỗ hổng của việc kiểm tra dữ liệu đầu vào trong các ứng dụng web và các thông báo lỗi của hệ quản trị cơ sở dữ liệu trả về để inject (tiêm vào) và thi hành các câu lệnh SQL bất hợp pháp. SQL injection có thể cho phép những kẻ tấn công thực hiện các thao tác, delete, insert, update, v.v. trên cơ sở dữ liệu của ứng dụng, thậm chí là server mà ứng dụng đó đang chạy.
SQL injection thường được biết đến như là một vật trung gian tấn công trên các ứng dụng web có dữ liệu được quản lý bằng các hệ quản trị cơ sở dữ liệu như SQL Server, MySQL, Oracle, DB2, Sysbase...
b. Lỗi XSS (Cross Site Scripting)
XSS (Cross Site Scripting) là một kiểu tấn công cho phép hacker chèn những đoạn script độc hại (thông thường là javascript hoặc HTML) vào website và sẽ được thực thi ở phía người dùng (trong trình duyệt của người dùng). Ví dụ tại các form tìm kiếm, comment, form đăng nhập. Đối với XSS, người bị tấn công là người dùng chứ không phải website, hacker có thể dùng XSS để gửi những đoạn script độc hại tới một người dùng bất kỳ, và trình duyệt của người dùng sẽ thực thi những đoạn script đó và gửi về cho hacker những thông tin của người dùng thông qua email hoặc server do hacker định sẵn từ trước.
c. Lỗ hổng Remote File Include
Kiểu tấn công này, cho phép tin tặc include và thực thi trên máy chủ mục tiêu một tệp tin được lưu trữ từ xa. Tin tặc có thể sử dụng RFI để chạy một mã độc trên cả máy của người dùng và phía máy chủ. Ảnh hưởng của kiểu tấn công này thay đổi từ đánh cắp tạm thời session token hoặc các dữ liệu của người dùng cho đến việc tải lên các webshell, mã độc nhằm đến xâm hại hoàn toàn hệ thống máy chủ.
PHP có nguy cơ cao bị tấn công RFI do việc sử dụng lệnh include rất nhiều và thiết đặt mặc định của server cũng ảnh hưởng một phần nào đó. Để bắt đầu chúng ta cần tìm nơi chứa file include trong ứng dụng phụ thuộc vào dữ liệu đầu vào người dùng.
d. Lỗ hổng Local file inclusion
Lỗ hổng này nằm trong quá trình include file cục bộ có sẵn trên server. Lỗ hổng xảy ra khi đầu vào người dùng chứa đường dẫn đến file bắt buộc phải include. Khi đầu vào này không được kiểm tra, tin tặc có thể sử dụng những tên file mặc định và truy cập trái phép đến chúng, tin tặc cũng có thể lợi dụng các thông tin trả về trên để đọc được những tệp tin nhạy cảm trên các thư mục khác nhau bằng cách chèn các ký tự đặc biệt như “/”, “../”, “-“.
e. Không cập nhật phiên bản, mật khẩu quản trị yếu. Đặt mật khẩu quản trị quá yếu ( không đủ độ dài ký tự, không có các ký tự viết hoa, ký tự đặc biệt,... ), thiếu cơ chế chống brute force khiến kẻ tấn công có thể dò password admin.
Cài đặt các module, plugin, extension, đều đã cũ bị dính các lỗi bảo mật đã được công bố (CVE) hoặc không cập nhật mới khi dùng các mã nguồn mở hiện nay thường là joomla, wordpress, ....
3. Làm thế nào để phát hiện bị Deface:
Thông thường tấn công Deface chủ yếu là vào các trang mặc định như : index.php, index.html, home.html, default.html, trangchu.html..... thì chỉ cần xử lý các trang mặc định này website sẽ hoạt động lại.
Nhưng nếu hacker không thay đổi nội dung những file trên thì bạn khó thể phát hiện và bạn sẽ nhận được cảnh báo từ việc truy cập website hoặc nhà quản lý hosting.
4. Cách khắc phục:
Nếu bạn thực sự là một người quản trị hệ thống hay website, chắc chắn sau tình huống này bạn sẽ tự hỏi rằng: "Tại sao hacker lại tải lên được đoạn mã chứa trang deface?".
Hãy xem những thông tin nhật ký, file log của máy chủ và truy tìm xem, hacker đã làm gì và làm như thế nào trên hệ thống của mình!
Ngoài ra, bạn cũng có thể tham khảo 1 số biện pháp mà chúng tôi khuyến cáo :
Mục đíchentesting hệ thống và đưa ra thông báo đến quản trị viên. Dựa vào đó quản trị viên sẽ sửa các lỗi nguy hiểm ảnh hưởng đến hệ thống, nâng cao cảnh giác hơn về bảo mật hệ thống của sân bay, nơi lưu trữ thông tin hàng ngàn lượt khách trong và ngoài nước đi lại mỗi ngày.
Kiểu tấn công: SQL Injection.
Tham khảo:
https://passionery.blogspot.com/2014...xss-la-gi.html
https://www.hackingloops.com/6-ways-...bsites-online/
http://securitydaily.net/tan-cong-file-inclusion/
http://wiki.matbao.net/Tan-cong-Defa...khac-phuc.ashx
1. Tấn công Deface website là gì ?
Deface được định nghĩa là tấn công thay đổi nội dung website, thông qua một điểm yếu nào đó của website, hacker sẽ thay đổi nội dung website của nạn nhân. Việc thay đổi nội dung này nhằm một số mục đích :
- Mục đích tốt: cảnh báo quản trị viên biết website đang tồn tại lỗ hỏng bảo mật / điểm yếu nghiêm trọng….
- Mục đích không tốt: chứng tỏ năng lực bản thân, dạng này rất dễ gặp như kiểu hacked by….
- Mục đích xấu: thù hằn, nội dung thay đổi thường là lăng mạ nạn nhân hoặc nội dung liên quan đến chính trị, tôn giáo, quốc gia…
Có rất nhiều nguyên nhân bị Deface, chủ yếu nhất là website tồn tại điểm yếu bảo mật nghiêm trọng khiến cho hacker có thể upload file lên server hoặc có quyền đăng nhập vào trang quản trị website (ví dụ: SQL Injection), thậm chí nếu website an toàn vẫn bị Deface nếu như hosting khác cùng tồn tại trên 1 server bị tấn công (local attack).
Giao diện Website tại sân bay Tuy Hòa (Ảnh: Dantri)
5 Trường hợp website bị tấn công Deface đa số là:
a. Lỗi SQL injection
Sql injection là một kỹ thuật cho phép những kẻ tấn công lợi dụng lỗ hổng của việc kiểm tra dữ liệu đầu vào trong các ứng dụng web và các thông báo lỗi của hệ quản trị cơ sở dữ liệu trả về để inject (tiêm vào) và thi hành các câu lệnh SQL bất hợp pháp. SQL injection có thể cho phép những kẻ tấn công thực hiện các thao tác, delete, insert, update, v.v. trên cơ sở dữ liệu của ứng dụng, thậm chí là server mà ứng dụng đó đang chạy.
SQL injection thường được biết đến như là một vật trung gian tấn công trên các ứng dụng web có dữ liệu được quản lý bằng các hệ quản trị cơ sở dữ liệu như SQL Server, MySQL, Oracle, DB2, Sysbase...
b. Lỗi XSS (Cross Site Scripting)
XSS (Cross Site Scripting) là một kiểu tấn công cho phép hacker chèn những đoạn script độc hại (thông thường là javascript hoặc HTML) vào website và sẽ được thực thi ở phía người dùng (trong trình duyệt của người dùng). Ví dụ tại các form tìm kiếm, comment, form đăng nhập. Đối với XSS, người bị tấn công là người dùng chứ không phải website, hacker có thể dùng XSS để gửi những đoạn script độc hại tới một người dùng bất kỳ, và trình duyệt của người dùng sẽ thực thi những đoạn script đó và gửi về cho hacker những thông tin của người dùng thông qua email hoặc server do hacker định sẵn từ trước.
c. Lỗ hổng Remote File Include
Kiểu tấn công này, cho phép tin tặc include và thực thi trên máy chủ mục tiêu một tệp tin được lưu trữ từ xa. Tin tặc có thể sử dụng RFI để chạy một mã độc trên cả máy của người dùng và phía máy chủ. Ảnh hưởng của kiểu tấn công này thay đổi từ đánh cắp tạm thời session token hoặc các dữ liệu của người dùng cho đến việc tải lên các webshell, mã độc nhằm đến xâm hại hoàn toàn hệ thống máy chủ.
PHP có nguy cơ cao bị tấn công RFI do việc sử dụng lệnh include rất nhiều và thiết đặt mặc định của server cũng ảnh hưởng một phần nào đó. Để bắt đầu chúng ta cần tìm nơi chứa file include trong ứng dụng phụ thuộc vào dữ liệu đầu vào người dùng.
d. Lỗ hổng Local file inclusion
Lỗ hổng này nằm trong quá trình include file cục bộ có sẵn trên server. Lỗ hổng xảy ra khi đầu vào người dùng chứa đường dẫn đến file bắt buộc phải include. Khi đầu vào này không được kiểm tra, tin tặc có thể sử dụng những tên file mặc định và truy cập trái phép đến chúng, tin tặc cũng có thể lợi dụng các thông tin trả về trên để đọc được những tệp tin nhạy cảm trên các thư mục khác nhau bằng cách chèn các ký tự đặc biệt như “/”, “../”, “-“.
e. Không cập nhật phiên bản, mật khẩu quản trị yếu. Đặt mật khẩu quản trị quá yếu ( không đủ độ dài ký tự, không có các ký tự viết hoa, ký tự đặc biệt,... ), thiếu cơ chế chống brute force khiến kẻ tấn công có thể dò password admin.
Cài đặt các module, plugin, extension, đều đã cũ bị dính các lỗi bảo mật đã được công bố (CVE) hoặc không cập nhật mới khi dùng các mã nguồn mở hiện nay thường là joomla, wordpress, ....
3. Làm thế nào để phát hiện bị Deface:
Thông thường tấn công Deface chủ yếu là vào các trang mặc định như : index.php, index.html, home.html, default.html, trangchu.html..... thì chỉ cần xử lý các trang mặc định này website sẽ hoạt động lại.
Nhưng nếu hacker không thay đổi nội dung những file trên thì bạn khó thể phát hiện và bạn sẽ nhận được cảnh báo từ việc truy cập website hoặc nhà quản lý hosting.
4. Cách khắc phục:
Nếu bạn thực sự là một người quản trị hệ thống hay website, chắc chắn sau tình huống này bạn sẽ tự hỏi rằng: "Tại sao hacker lại tải lên được đoạn mã chứa trang deface?".
Hãy xem những thông tin nhật ký, file log của máy chủ và truy tìm xem, hacker đã làm gì và làm như thế nào trên hệ thống của mình!
Ngoài ra, bạn cũng có thể tham khảo 1 số biện pháp mà chúng tôi khuyến cáo :
- Tiến hành scan shell, mã độc trên server khi sự cố xảy ra, xác định nguyên nhân, upload source phiên bản mới để khắc phục.
- Thường xuyên kiểm tra dữ liệu website (để ý thời gian tập tin, thư mục bị thay đổi ).
- Có kế hoạch backup dữ liệu cụ thể hàng tuần để lúc cần có thể restore lại ngay.
- Không nên cài đặt các module, plugin, extension,... không thật sự cần thiết và không rõ nguồn gốc ( nên download module, plugin, extension,.... từ các trang web uy tín ).
- Nên đổi mật khẩu quản trị theo 1 chu kỳ định sẵn 3 tháng/1 lần và lưu giữ cẩn thận.
Trường hợp tấn công vào các website tại các sân bay tại Việt Nam
Giao diện Website tại sân bay Tân Sơn Nhất
Mục đíchentesting hệ thống và đưa ra thông báo đến quản trị viên. Dựa vào đó quản trị viên sẽ sửa các lỗi nguy hiểm ảnh hưởng đến hệ thống, nâng cao cảnh giác hơn về bảo mật hệ thống của sân bay, nơi lưu trữ thông tin hàng ngàn lượt khách trong và ngoài nước đi lại mỗi ngày.
Kiểu tấn công: SQL Injection.
Giao diện Website tại sân bay Rạch Giá (Ảnh: Vietnam+)
Cảnh báo, hướng dẫn sửa lỗi và lời xin lỗi từ WhiteHat Dominic Haxor
File fix lỗi từ Dominic Haxor
Tham khảo:
https://passionery.blogspot.com/2014...xss-la-gi.html
https://www.hackingloops.com/6-ways-...bsites-online/
http://securitydaily.net/tan-cong-file-inclusion/
http://wiki.matbao.net/Tan-cong-Defa...khac-phuc.ashx
Chỉnh sửa lần cuối bởi người điều hành: