Thứ Bảy, 23 tháng 7, 2016

Giới thiệu về web-shells

Web-shells là scripts độc hại được attacker sử dụng với mục đích tấn công leo thang hoặc duy trì truy cập vào website đã bị tấn công.
Web-shells là giai đoạn 2 của 1 cuộc tấn công, sau khi khai thác các lỗ hổng phổ biến như SQL injection, remote file inclusion (RFI), FTP, hoặc thậm chí sử dụng cross-site scripting (XSS) để chiếm phiên truy cập, attacker sẽ upload script độc hại lên. Các chức năng chủ yếu của web-shells bao gồm shell thực thi lệnh, thực thi mã code, dò mật khẩu database, kết nối database, và quản lý file
Hacker sử dụng web-shells để làm gì ?

  • Duy trì truy cập từ xa:

Một web-shells thường chứa 1 cổng sau(backdoor) để attacker có thể truy cập từ xa và có thể là cả điều khiển server bất cứ lúc nào. Mỗi lần truy cập attacker sẽ không phải khai thác lại lỗ hổng một lần nữa. Một số attacker có thể chọn vá lỗ hổng lại để không cho ai khác có thể khai thác lại lỗ hổng một lần nữa. Một vài web-shells phổ biến sử dụng xác thực mật khẩu và một vài kỹ thuật khác(như tùy chỉnh HTTP header,một giá trị cookies cụ thể,một IP cụ thể hoặc kết hợp các cách trên) nhằm đảm bảo chỉ có attacker tải các web-shells lên mới có thể truy cập vào nó.

  • Tấn công leo thang đặc quyền

Trừ khi máy chủ bị cấu hình sai, bình thường web-shells sẽ chạy dưới quyền của web users(apache, nginx hoặc www-data...) với quyền truy cập rất hạn chế. Bằng việc sử dụng web-shells, attacker có thể thử tấn công leo thang đặc quyền bằng cách khai thác lỗ hổng local trên hệ thống để chiếm quyền root hoặc "super-user"
Với quyền root, attacker có thể làm mọi thứ với hệ thống như cài đặt phần mềm, thay đổi quyền truy cập, thêm hoặc xóa người dùng, trộm mật khẩu, đọc email, xóa dữ liệu ...

  • Làm bàn đạp và phát động một cuộc tấn công khác.

Web-shells có thể được sử dụng làm bàn đạp để tấn công bên trong hoặc bên ngoài mạng. Attacker có thể theo dõi(sniff) traffic mạng trên hệ thống, quét mạng nội bộ để xem host nào hoạt động, tấn công vào firewall hoặc router từ bên trong mạng.Quá trình này có thể mất nhiều ngày hoặc lâu hơn vì attacker cố gắng để lại dấu vết ít nhất có thể để tránh bị phát hiện. Các hệ thống bị tấn công cũng có thể được sử dụng để quét các mục tiêu ở bên ngoài mạng. Attacker có thể tunnel qua nhiều hệ thống để ẩn danh tránh bị phát hiện

  • Làm zombie

Một số khác attacker sử dụng web-shells làm cho máy chủ trở thành một phần của mạng botnet.các web-shells hoặc backdoor kết nối đến C&C server để nhận lệnh điều khiển tấn công. Các thiết lập này thường được sử dụng trong tấn công DDOS. Trong trường hợp này , attacker thường không làm hại đến hệ thống hoặc ăn cắp dữ liệu của hệ thống mà web-shells được tải lên. Họ chỉ quan tâm đến tài nguyên hệ thống RAM,CPU,đặc biệt là  Bandwidth sẽ được sử dụng khi cần đến.
Read More