Logo CyberJutsu
Về chúng tôi
Học thử

Webshell là gì? Các Loại Backdoor và Phòng Chống

Technical Writer
WebshellBackdoorPenetration TestingMã độc
Webshell là gì? Các Loại Backdoor và Phòng Chống
Trong thế giới an ninh mạng, Webshell và Backdoor là hai khái niệm không còn xa lạ với các kỹ sư bảo mật. Những "cửa hậu" này cho phép kẻ tấn công duy trì quyền truy cập trái phép vào hệ thống, thực hiện các thao tác từ xa mà không cần khai thác lỗ hổng lại từ đầu. Tuy nhiên, nhiều người vẫn thường nhầm lẫn giữa Webshell và Backdoor, cũng như chưa nắm rõ cách thức phát hiện và phòng chống chúng hiệu quả.

Bài viết này sẽ giúp bạn:

  • Hiểu rõ bản chất của Webshell và Backdoor, phân biệt sự khác nhau giữa chúng
  • Khám phá các loại Webshell và Backdoor phổ biến đang tồn tại
  • Các loại Webshell phổ biến theo ngôn ngữ lập trình
  • Nắm vững kỹ thuật phát hiện hiện đại theo cách của các chuyên gia hàng đầu
  • Áp dụng các biện pháp phòng chống chủ động để bảo vệ hệ thống

Backdoor là gì?

Backdoor (cửa hậu) trong an ninh mạng là một cơ chế ẩn được cài đặt sau khi hệ thống bị xâm nhập, nhằm giúp kẻ tấn công dễ dàng truy cập từ xa trở lại mà bỏ qua các cơ chế bảo mật thông thường. Về bản chất, backdoor cho phép kẻ tấn công chiếm quyền điều khiển từ xa hệ thống bị nhiễm, tương tự như các công cụ quản trị hợp pháp nhưng phục vụ mục đích xấu.

Thông qua backdoor, hacker có thể làm bất cứ gì trên máy nạn nhân: gửi/nhận tệp, thực thi hoặc xóa file, đánh cắp dữ liệu, cài thêm malware, thậm chí điều khiển nhiều máy thành mạng botnet phục vụ tấn công khác.

Backdoor có thể tồn tại dưới nhiều hình thức. Ví dụ, kẻ tấn công có thể tạo một tài khoản quản trị ẩn dành riêng cho mình, hoặc cài một chương trình độc hại âm thầm chờ nhận lệnh điều khiển từ máy chủ của hacker. Backdoor cũng có thể do chính nhà phát triển cố ý hoặc vô tình tích hợp vào phần mềm/hệ thống (chẳng hạn một tài khoản mặc định hoặc đoạn mã bí mật còn sót lại).

Một ví dụ tiêu biểu là backdoor SUPERNOVA – một webshell được cấy vào phần mềm SolarWinds Orion qua chuỗi cung ứng, cho phép hacker thực thi mã từ xa bên trong hệ thống Orion. Điều này cho thấy backdoor có thể xuất hiện ngay cả trong các sản phẩm phần mềm hợp lệ nếu quy trình phát triển hoặc phân phối bị xâm phạm.

Webshell là gì?

Webshell là một dạng backdoor đặc thù được triển khai dưới dạng tập tin kịch bản (script) trên máy chủ web. Webshell thường là một file mã độc (ví dụ .php, .asp, .jsp...) được cài lên máy chủ và kẻ tấn công có thể kích hoạt nó bằng cách truy cập qua giao diện web (HTTP(S)). Khi webshell được thực thi, nó cho phép hacker gửi các lệnh hệ thống tùy ý thông qua trình duyệt, giống như việc thực hiện các thao tác trên một "shell" từ xa.

Về bản chất, webshell chính là một giao diện web đơn giản phục vụ mục đích quản trị hệ thống: cho phép quản lý file, thực thi lệnh, quản lý cơ sở dữ liệu, thậm chí thêm/sửa/xóa tài khoản người dùng... từ xa. Ban đầu, một số công cụ webshell được tạo ra cho quản trị viên hợp pháp nhằm tương tác với máy chủ web dễ dàng (ví dụ: các web-based file manager). Tuy nhiên sau đó, tin tặc đã lợi dụng những công cụ này hoặc tự viết webshell cho mục đích xấu.

Hiện nay có rất nhiều biến thể webshell khác nhau, từ đơn giản vài dòng mã đến phức tạp. Một số webshell phổ biến thường được giới hacker sử dụng gồm: WebAdmin shell, r57 shell, c99 shell – đây là các webshell PHP nổi tiếng giúp thực thi lệnh và quản lý server từ xa. Ngoài ra còn có các webshell nâng cao như b374k, cung cấp giao diện đồ họa trên web kèm nhiều tiện ích (terminal, quản lý database, gửi mail, v.v.) để kiểm soát hệ thống mục tiêu.

Phân biệt giữa Webshell và Backdoor

Webshell thực chất là một dạng cụ thể của backdoor tập trung vào môi trường web. Nói cách khác, mọi webshell đều có thể xem là backdoor, nhưng không phải backdoor nào cũng là webshell. Sự khác biệt chính nằm ở phương thức và phạm vi hoạt động:

  • Phạm vi & Cách thức hoạt động: Backdoor là khái niệm rộng, bao gồm mọi phương thức giúp truy cập trái phép vào hệ thống (cấp hệ điều hành, ứng dụng, mạng, firmware thiết bị...). Trong khi đó, webshell chỉ giới hạn trên máy chủ web và được kích hoạt qua giao thức HTTP/HTTPS. Một backdoor thông thường (ví dụ Trojan) có thể chạy như một tiến trình hệ thống hoặc dịch vụ mạng, lắng nghe kết nối hoặc chủ động kết nối ra ngoài. Ngược lại, webshell thụ động hơn: nó tồn tại dưới dạng file trên server và chỉ chạy khi có request HTTP phù hợp gửi tới.
  • Vị trí & Môi trường: Webshell luôn được cài vào thư mục web (web directory) của một ứng dụng web, như một thành phần của website. Còn backdoor có thể nằm ở nhiều nơi – một chương trình trên máy, một dịch vụ Windows (dạng DLL dịch vụ chạy ngầm), một tài khoản ẩn trong cơ sở dữ liệu, v.v.
  • Mức độ truy cập: Thông thường, webshell chạy dưới quyền của tiến trình web (user privileges), ban đầu có thể bị giới hạn quyền. Kẻ tấn công thường cố gắng leo thang đặc quyền từ webshell (ví dụ khai thác lỗ hổng hệ điều hành để lên quyền root/Administrator). Ngược lại, nhiều backdoor khác khi được cài (ví dụ backdoor qua Trojan) đã chạy sẵn với quyền cao hoặc như một dịch vụ hệ thống, cho phép hacker can thiệp sâu mà không cần leo thang thêm.

Tuy khác nhau về phương thức, mục đích cuối cùng của webshell và backdoor đều giống nhau: mở một "cửa hậu" bí mật giúp kẻ tấn công duy trì quyền truy cập. Trong thực tế, kẻ tấn công thường kết hợp cả webshell và các backdoor khác để tối đa hiệu quả.

🔍 Các loại Webshell phổ biến

Có rất nhiều biến thể webshell tùy theo ngôn ngữ lập trình web và mức độ phức tạp. Dưới đây là một số loại webshell thường gặp:

  • Webshell theo ngôn ngữ lập trình: Phổ biến nhất là webshell viết bằng PHP (do nhiều website sử dụng PHP). Bên cạnh đó còn có webshell viết bằng ASP/ASPX (chạy trên IIS của Microsoft), webshell JSP/Servlet (trên các máy chủ Java), webshell viết bằng Python, Node.js... Bất kỳ môi trường nào cho phép upload hoặc chèn mã script phía server đều có thể xuất hiện webshell. Ví dụ, China Chopper là một webshell ASPX/PHP rất nhỏ gọn (~4KB) được phát hiện từ 2012, thường được các nhóm APT Trung Quốc sử dụng để điều khiển máy chủ web từ xa. Thậm chí trong chiến dịch tấn công ProxyLogon vào Microsoft Exchange năm 2021, nhóm Hafnium đã sử dụng biến thể China Chopper viết bằng JScript để cài webshell vào Exchange và thực thi lệnh quản trị với quyền SYSTEM.
  • Webshell đơn giản vs. phức tạp: Nhiều webshell chỉ là một đoạn mã ngắn (vài dòng) thực hiện chức năng tối thiểu như nhận và thực thi trực tiếp lệnh hệ thống. Chúng thường sử dụng các hàm nguy hiểm như eval() hoặc ```` (backtick) trong PHP để thực thi lệnh OS từ tham số đầu vào. Những webshell "đơn giản" này dễ dàng được tùy biến, thêm mã hóa, làm rối mã để né tránh chữ ký nhận diện cố định. Ngược lại, cũng có những webshell phức tạp được phát triển thành bộ công cụ hoàn chỉnh, có phần máy chủ (script cài trên server) và phần máy khách (một chương trình điều khiển có giao diện cho hacker). Ví dụ, China Chopper đề cập ở trên gồm hai thành phần: file webshell trên server và một chương trình client GUI để hacker gửi lệnh và nhận kết quả một cách thuận tiện. Tương tự, cộng đồng hacker còn có các framework webshell mạnh mẽ như Behinder (Biến Hình) hay Godzilla do tác giả Trung Quốc phát triển. Những webshell dạng này tích hợp cơ chế mã hóa thông tin liên lạc (ví dụ AES) giữa server và hacker, và có thể hoạt động hoàn toàn trong bộ nhớ (fileless) mà không để lại nhiều dấu vết trên đĩa.
  • Webshell tích hợp sẵn trong mã nguồn hợp pháp: Một số malware và hacker có thủ đoạn cài webshell vào trong mã nguồn ứng dụng hợp lệ hoặc plugin mở rộng. Khi đó webshell trông như một phần của ứng dụng, khó bị phát hiện hơn. Trường hợp backdoor SUPERNOVA là một ví dụ: file webshell được ngụy trang thành thư viện .NET hợp lệ trong phần mềm SolarWinds Orion, đã chỉnh sửa tinh vi để tránh các cơ chế bảo mật và chống mã độc.

🔒 Các loại Backdoor phổ biến

Backdoor có phạm vi rộng hơn webshell và xuất hiện dưới nhiều hình thức trong các giai đoạn tấn công khác nhau. Dưới đây là các loại backdoor thường gặp trong thực tế:

  • Trojan/RAT (Remote Access Trojan): Đây là loại backdoor phổ biến dưới dạng một chương trình malware giả mạo phần mềm hợp lệ. Khi được cài lên máy nạn nhân, trojan sẽ mở một kênh liên lạc bí mật ra ngoài internet (ví dụ kết nối tới máy chủ C2 của hacker) hoặc lắng nghe trên cổng mạng để chờ hacker điều khiển. RAT cho phép kẻ tấn công điều khiển máy từ xa, thu thập thông tin, ghi lại bàn phím, bật webcam, v.v.
  • Webshell: Như đã phân tích, webshell cũng là một dạng backdoor nhưng chuyên biệt cho máy chủ web. Sau khi chiếm được quyền truy cập ban đầu (ví dụ upload file lên web do lỗ hổng), hacker có thể cài webshell để duy trì quyền điều khiển website và từ đó xâm nhập tiếp mạng nội bộ. Webshell thường là bước đầu trong chuỗi backdoor của các cuộc tấn công vào ứng dụng web hoặc hệ thống Cloud.
  • Backdoor tích hợp sẵn (built-in): Đây là những cửa hậu được cố ý hoặc vô tình gài vào trong phần mềm/hệ thống ngay từ đầu. Ví dụ: một tài khoản quản trị mặc định với mật khẩu cố định (hard-coded) trong firmware thiết bị mạng, một đoạn mã "cổng hậu" do lập trình viên để lại nhằm truy cập bảo trì sản phẩm, v.v. Nếu kẻ tấn công khám phá hoặc biết được những backdoor này, họ có thể lợi dụng để truy cập hệ thống mà không cần khai thác lỗ hổng nào.
  • Backdoor qua chuỗi cung ứng (supply chain exploit): Đây là kiểu backdoor rất nguy hiểm, khi kẻ tấn công chèn mã độc vào một thành phần phần mềm trước khi phần mềm đó đến tay người dùng cuối. Nạn nhân cài phần mềm "hợp lệ" nhưng thực chất đã bị cài cắm cửa hậu. Trường hợp SolarWinds Orion với backdoor SunBurst (liên quan vụ tấn công FireEye và nhiều cơ quan Mỹ năm 2020) là ví dụ nổi tiếng: mã độc được chèn vào bản cập nhật phần mềm Orion, tạo cửa hậu cho hacker truy cập hàng loạt hệ thống của khách hàng SolarWinds.
  • Backdoor ở cấp hệ điều hành (OS rootkit): Đây là dạng backdoor nâng cao, khi hacker đã có quyền hệ thống và cài các công cụ sâu vào nhân (kernel) của hệ điều hành. Rootkit có thể thay đổi/hook các chức năng hệ thống để mở cửa hậu và ẩn mình khỏi sự kiểm tra của phần mềm bảo mật. Ví dụ, rootkit có thể cài một dịch vụ lắng nghe cổng ẩn, hoặc chèn mã vào tiến trình hợp lệ (process injection) để duy trì kết nối ra ngoài.

Tóm lại, các loại backdoor phổ biến gồm Trojan (ngụy trang thành phần mềm hợp lệ để cài mã độc điều khiển từ xa), webshell (script web cung cấp truy cập quản trị trái phép), backdoor tích hợp sẵn trong phần cứng/phần mềm, và backdoor cấy qua chuỗi cung ứng phần mềm. Hiểu rõ các dạng backdoor giúp chúng ta đề ra biện pháp phù hợp để phát hiện và phòng thủ.

Các loại Webshell phổ biến theo ngôn ngữ lập trình

Mỗi nền tảng web server hỗ trợ các ngôn ngữ lập trình khác nhau, và mỗi ngôn ngữ này đều có các biến thể webshell riêng với đặc điểm kỹ thuật đặc trưng. Dưới đây là chi tiết về các loại webshell phổ biến theo từng ngôn ngữ:

  • PHP Webshell: Đây là loại webshell phổ biến nhất do PHP được sử dụng rộng rãi trên các máy chủ web. PHP webshell thường sử dụng các hàm nguy hiểm như system(), shell_exec(), exec(), passthru(), eval(), hoặc assert(). Ví dụ đơn giản: <?php system($_GET["cmd"]); ?> hoặc <?php eval($_POST["cmd"]); ?>. Kho lưu trữ như JohnTroony/php-webshellsdrag0s/php-webshell cung cấp nhiều PHP webshell đơn giản và hiệu quả cho nghiên cứu bảo mật.
  • JSP Webshell (Java Webshell): Sử dụng trên các máy chủ Java như Tomcat, JBoss hoặc WebLogic. JSP webshell thường tận dụng các API Java để thực thi lệnh hệ thống. Ví dụ cơ bản: <% Runtime.getRuntime().exec(request.getParameter("cmd")); %> hoặc sử dụng EL (Expression Language): ${Runtime.getRuntime().exec(param.cmd)}. Kho threedr3am/JSP-Webshells cung cấp nhiều mẫu JSP webshell đa dạng, bao gồm cả webshell không hiển thị kết quả (no echo) và webshell sử dụng Unicode để tránh phát hiện.
  • ASP/ASPX Webshell: Hai loại này chạy trên máy chủ Windows IIS. ASP classic (.asp) thường sử dụng VBScript với các lệnh như eval request() hoặc response.write, trong khi ASPX (.aspx) sử dụng C# hoặc VB.NET. Một ví dụ ASP webshell điển hình từ tennc/webshell sử dụng Set oScript = Server.CreateObject("WSCRIPT.SHELL") để thực thi lệnh. ASPX webshell thường phức tạp hơn, có thể tận dụng tính năng của .NET Framework như trong xl7dev/WebShell với giao diện điều hướng thư mục và thực thi lệnh.
Các kho lưu trữ như Web-CTF-Cheatsheettennc/webshell cung cấp bộ sưu tập đa dạng webshell cho tất cả các ngôn ngữ này, giúp các nhà nghiên cứu bảo mật có nguồn tài liệu phong phú cho việc kiểm thử xâm nhập hoặc trong các cuộc thi CTF. Nhớ rằng chỉ sử dụng các công cụ này trong môi trường được phép và cho mục đích nghiên cứu hợp pháp.

🕵️ Kỹ thuật phát hiện Webshell hiện đại

Phát hiện webshell là một thách thức vì hacker thường sử dụng kỹ thuật ẩn mã, mã hóa và ngụy trang để qua mặt các biện pháp bảo mật. Tuy nhiên, nhờ kết hợp nhiều phương pháp, quản trị viên có thể nhận biết sự hiện diện của webshell. Dưới đây là các kỹ thuật phát hiện webshell hiện đại hiệu quả:

  • So sánh tệp tin (File Integrity Monitoring): Phương pháp hiệu quả nhất để phát hiện webshell là so sánh các tệp trên máy chủ web với bộ tệp gốc ban đầu của ứng dụng. Bất kỳ file nào bị thêm mới hoặc chỉnh sửa mà không nằm trong bản phân phối chính thức đều đáng ngờ. Quản trị viên nên duy trì một bản sao sạch của mã nguồn (hoặc checksum whitelist) và định kỳ so sánh với tệp trên server để phát hiện file lạ.
  • Phân tích log truy cập web: Dựa vào log HTTP của web server, có thể tìm các dấu hiệu truy cập bất thường liên quan đến webshell. Những truy vấn do hacker gửi tới webshell thường có đặc điểm dị thường: Bằng cách tìm các URL được truy cập bởi rất ít User-Agent hoặc rất ít địa chỉ IP, quản trị viên có thể khoanh vùng các endpoint khả nghi.
    • User-Agent hiếm gặp: Hacker có thể dùng custom tool với User-Agent lạ, không phổ biến như trình duyệt thông thường.
    • Thiếu Referrer: Thông thường, các request hợp lệ đến ứng dụng web có trường Referrer (để chỉ nguồn trang trước đó). Request tới webshell có thể không có Referrer hoặc Referrer trống.
    • Địa chỉ IP bất thường: Nếu website chủ yếu được truy cập bởi người dùng nội bộ hoặc từ một vài vùng địa lý, mà log xuất hiện request từ một IP khác thường, đặc biệt nếu IP đó chỉ truy cập một URL đặc biệt (webshell), thì rất đáng nghi.
  • Tìm mẫu dấu hiệu mã độc (Signature/YARA): Trong một số trường hợp, webshell có thể bị phát hiện qua dấu hiệu nhận dạng sẵn có. Các mẫu webshell thông dụng như r57, C99, China Chopper... thường bị các giải pháp bảo mật lập chữ ký. Quản trị viên có thể sử dụng các quy tắc YARA hoặc bộ lọc IDS/IPS để quét mã nguồn web, tìm kiếm chuỗi hoặc cấu trúc nghi vấn (ví dụ chuỗi "eval(base64_decode(" trong file PHP là đáng ngờ).
  • Phân tích hành vi trên mạng (Network & Anomaly Detection): Do webshell giao tiếp qua giao thức HTTP/HTTPS, việc giám sát lưu lượng mạng có thể cung cấp manh mối. Thay vào đó, kỹ thuật phát hiện bất thường (anomaly detection) hữu ích: Xây dựng baseline hành vi truy cập bình thường vào website (các URL thường được gọi, tần suất, kích thước gói tin, thời gian truy cập, v.v) rồi phát hiện những điểm bất thường so với đường baseline.
  • Giám sát tiến trình máy chủ (EDR/HIDS): Webshell suy cho cùng sẽ thực thi các lệnh hệ thống thông qua tiến trình máy chủ web (vd: apache, nginx hoặc w3wp.exe của IIS). Do đó, một kỹ thuật mạnh để phát hiện webshell là dùng các giải pháp Endpoint Detection & Response (EDR) hoặc các agent giám sát host như Sysmon, OSSEC... để theo dõi hoạt động của tiến trình web. Bất kỳ hành vi nào dị thường của tiến trình web có thể là dấu hiệu của webshell.

Điểm mấu chốt trong phát hiện webshell là kết hợp đa tầng các kỹ thuật trên. Webshell có thể trốn tránh một lớp phòng thủ (ví dụ mã hóa để qua mắt signature, hoặc ẩn trong lưu lượng HTTPS để né IDS), nhưng khó có thể đồng thời qua mặt tất cả.

Ở CyberJutsu Academy, chúng tôi đào tạo chi tiết về kỹ thuật phát hiện webshell trong khóa học Red Team 2025. Với 70 giờ thực hành, bạn sẽ được học cách định dạng, phát hiện và phân tích webshell cũng như các kỹ thuật xâm nhập nâng cao khác của Red Team.

🔍 Kỹ thuật phát hiện Backdoor hiện đại

Việc phát hiện backdoor tổng quát (không chỉ webshell) cũng đòi hỏi sự kết hợp nhiều phương pháp và công cụ, do backdoor có thể ẩn náu ở nhiều lớp khác nhau trong hệ thống. Một số kỹ thuật hiện đại để nhận diện backdoor bao gồm:

  • Phân tích lưu lượng mạng: Giám sát lưu lượng mạng để phát hiện hoạt động bất thường có thể là chìa khóa tìm ra backdoor. Ví dụ, nếu một máy chủ nội bộ không phải là server quan trọng nhưng lại thường xuyên kết nối đến địa chỉ IP lạ ở nước ngoài vào nửa đêm, đó có thể là Trojan đang beacon (gửi tín hiệu) về cho hacker.
  • Kiểm tra nhật ký hệ thống và ứng dụng: Phân tích log đăng nhập, log hệ điều hành, log ứng dụng có thể lộ diện các hành vi đáng ngờ. Ví dụ, log Windows Event cho thấy có dịch vụ lạ được cài đặt, hoặc có sự thay đổi cấu hình hệ thống (Registry) mở cổng network mới.
  • Quét mã nguồn và cấu hình: Đối với backdoor nằm trong mã ứng dụng hoặc scripts, phương pháp hiệu quả là code review (kiểm tra mã) để tìm điểm bất thường. Chẳng hạn, tìm xem có tài khoản mặc định/hardcode nào trong code hay không, có đoạn mã nào mở cổng debug, hoặc đoạn mã chỉ chạy khi nhận input đặc biệt (dấu hiệu cửa hậu logic).
  • Sử dụng công cụ quét bảo mật tự động: Nhiều giải pháp antivirus/anti-malware hiện đại tích hợp khả năng phát hiện backdoor dựa trên dấu hiệu nhận biết (signature) và phân tích hành vi. Quản trị viên nên định kỳ chạy quét hệ thống bằng các công cụ uy tín để tìm malware backdoor đã biết.
  • Giám sát tiến trình và file hệ thống: Tương tự phát hiện webshell, đối với backdoor trên host, giải pháp EDR và HIDS có vai trò quan trọng. EDR có thể phát hiện khi một tiến trình hợp lệ bỗng tạo kết nối mạng lạ hoặc tải mô-đun không bình thường.
  • Phân tích memory và forensic: Với những backdoor tinh vi (fileless malware, chỉ hoạt động trong RAM hoặc ẩn trong firmware), việc phát hiện đòi hỏi kỹ thuật cao hơn như phân tích bộ nhớ (memory forensic) hoặc giám sát hệ thống ở mức low-level.

Tựu trung, để phát hiện backdoor, cần triển khai chiến lược phòng thủ nhiều lớp và giám sát liên tục. Các tổ chức lớn thường xây dựng đội Threat Hunting chuyên săn tìm dấu hiệu xâm nhập ẩn (bao gồm backdoor) trong hệ thống một cách chủ động, thay vì chờ báo động thụ động.

🛡️ Phòng chống Webshell

Để phòng chống webshell, mục tiêu chính là ngăn chặn hacker tải lên hoặc chèn được webshell vào ứng dụng web, đồng thời triển khai các biện pháp giảm thiểu thiệt hại nếu webshell có xuất hiện. Các kỹ thuật và best practice bao gồm:

  • Cập nhật và vá lỗ hổng kịp thời: Phần lớn webshell được cài cắm thông qua việc khai thác lỗ hổng bảo mật của ứng dụng web hoặc CMS. Do đó, yếu tố tiên quyết là luôn cập nhật bản vá cho hệ quản trị nội dung (WordPress, Joomla,...), framework web, và cả máy chủ dịch vụ (Apache, Nginx, IIS, v.v) ngay khi có bản vá.
  • Cấu hình chặt chẽ việc upload và quyền file: Nếu website có chức năng upload file (cho phép người dùng đăng ảnh, tài liệu...), hãy giới hạn loại file được phép một cách nghiêm ngặt. Tuyệt đối không cho upload các loại script như .php, .aspx, .jsp... vào thư mục có thể thực thi.
  • Lập trình an toàn, kiểm soát input chặt chẽ: Thực hành Secure Coding giúp giảm nguy cơ xuất hiện lỗ hổng cho phép chèn webshell. Cụ thể, lập trình viên nên tránh sử dụng các hàm thực thi lệnh hệ thống (exec(), eval(), ````...) trên đầu vào người dùng cung cấp.
  • Sử dụng tường lửa ứng dụng web (WAF): Triển khai WAF có thể giúp chặn một số kiểu tấn công dẫn đến cài webshell. WAF hoạt động như lá chắn lọc các request HTTP đến máy chủ web, tự động ngăn chặn các payload độc hại đã biết (SQL injection, Local File Inclusion, etc.).
  • Giám sát và kiểm tra thường xuyên: Phòng hơn chữa, nhưng cũng cần giám sát liên tục để phát hiện sớm nếu có webshell lọt qua. Triển khai các biện pháp phát hiện đã nêu (FIM, phân tích log, EDR…) như trên chính là một phần của phòng chống chủ động.

Tất cả các biện pháp trên nhằm mục tiêu khiến hacker khó cài được webshell và ngay cả nếu cài được thì nhanh chóng phát hiện và loại bỏ.

🔐 Phòng chống Backdoor

Phòng chống backdoor đòi hỏi cách tiếp cận toàn diện trên nhiều khía cạnh của an ninh hệ thống. Mục tiêu là ngăn kẻ tấn công tạo được cửa hậu, đồng thời giảm thiểu khả năng khai thác của cửa hậu nếu nó tồn tại. Dưới đây là các chiến lược phòng chống backdoor quan trọng:

  • Giữ hệ thống và phần mềm luôn cập nhật: Tương tự webshell, rất nhiều backdoor (đặc biệt là trojan) xâm nhập được là do hệ thống có lỗ hổng chưa vá. Do đó, luôn cập nhật hệ điều hành, phần mềm máy chủ, ứng dụng lên phiên bản mới nhất.
  • Kiểm tra bảo mật định kỳ và kỹ lưỡng: Thực hiện quét bảo mật và đánh giá lỗ hổng định kỳ để phát hiện điểm yếu có thể bị cài backdoor. Đồng thời tiến hành kiểm toán cấu hình hệ thống: kiểm tra danh sách user trên server, kiểm tra quyền trên tài khoản, dò tìm xem có tài khoản hoặc nhóm người dùng nào lạ xuất hiện không.
  • Thực hiện nguyên tắc an ninh Zero Trust: Mô hình Zero Trust (Không tin tưởng mặc định) giúp giảm thiểu tác hại của backdoor. Thay vì cho rằng mạng nội bộ là an toàn, hãy thiết lập kiểm soát truy cập chặt chẽ ở mọi lớp.
  • Hạn chế quyền và cô lập dịch vụ: Thực hiện nguyên tắc Least Privilege triệt để trên toàn hệ thống. Mỗi dịch vụ chỉ nên chạy với quyền thấp nhất cần thiết. Không dùng chung tài khoản admin cho nhiều dịch vụ.
  • Bảo vệ thông tin xác thực và khóa bí mật: Nhiều backdoor lợi dụng thông tin xác thực bị lộ (như mật khẩu quản trị mặc định, khóa API, token truy cập...). Do đó, quản trị cần đảm bảo đổi tất cả mật khẩu mặc định, sử dụng mật khẩu mạnh và quản lý chúng an toàn (qua vault).
  • Dùng giải pháp bảo mật nâng cao: Sử dụng các bộ Endpoint Security (EDR, antivirus thế hệ mới) trên máy trạm và máy chủ để kịp thời chặn đứng malware cài backdoor.
  • Thực thi quy trình phát triển phần mềm an toàn: Đối với các nhà phát triển phần mềm, cần tuân thủ quy trình Secure SDLC để tránh vô tình tạo backdoor.
  • Kiểm soát chặt chẽ chuỗi cung ứng: Các doanh nghiệp cần đánh giá độ tin cậy của nhà cung cấp phần mềm, phần cứng. Đòi hỏi cam kết không có backdoor (ví dụ yêu cầu xem xét mã nguồn, hoặc chứng nhận an ninh).

Cuối cùng, một lời khuyên tổng quát: Để giảm thiểu rủi ro backdoor, doanh nghiệp cần giữ phần mềm cập nhật, tiến hành kiểm tra bảo mật thường xuyên, tuân thủ thực hành phát triển an toàn và áp dụng cơ chế kiểm soát truy cập nghiêm ngặt. Backdoor, dù dưới dạng nào, cũng lợi dụng sự lỏng lẻo trong quản trị hệ thống.

Kết luận

Webshell và Backdoor là những mối đe dọa dai dẳng trong an ninh mạng hiện đại, thường được tin tặc sử dụng để duy trì quyền truy cập trái phép và thực hiện các hành vi xâm nhập sâu hơn. Sự khác biệt giữa chúng nằm ở cách thức và môi trường hoạt động, nhưng cả hai đều có thể gây hậu quả nghiêm trọng như đánh cắp dữ liệu, phá hoại hệ thống hoặc tạo bàn đạp cho các cuộc tấn công tiếp theo.

Việc hiểu rõ khái niệm và phân biệt webshell với backdoor giúp chúng ta nhận thức đúng mức độ nguy hiểm của từng loại. Quan trọng hơn, nắm vững các kỹ thuật phát hiện sẽ cho phép đội ngũ an ninh phát hiện sớm dấu hiệu bất thường, từ đó phản ứng kịp thời trước khi thiệt hại lan rộng. Đồng thời, triển khai đồng bộ các biện pháp phòng chống chủ động – từ vá lỗ hổng, cấu hình hệ thống an toàn, đến giám sát nhiều lớp – sẽ giảm thiểu khả năng kẻ tấn công thành công trong việc cài cắm backdoor/webshell ngay từ đầu.

Tại CyberJutsu, chúng tôi luôn nhấn mạnh rằng: "Học bằng cách phá – Phá để hiểu". Thông qua khóa học Web Pentest 2025, chúng tôi giúp bạn hiểu sâu sắc về các lỗ hổng web, bao gồm những lỗ hổng dẫn đến việc upload webshell, để từ đó biết cách bảo vệ hệ thống của mình tốt hơn. Hãy trang bị kiến thức để không trở thành nạn nhân của các cuộc tấn công phức tạp này.

An ninh mạng là cuộc chơi "mèo vờn chuột" không ngừng nghỉ. Kẻ tấn công luôn tìm cách tạo ra webshell/backdoor mới tinh vi hơn (như webshell fileless, backdoor 0-day trong chuỗi cung ứng), thì người bảo vệ cũng cần liên tục cập nhật kiến thức, công nghệ để nâng cao khả năng phòng thủ.

Tài liệu tham khảo

  1. Pavle Culum, Roman Kroshinsky – Investigating Web Shells (Gigamon Blog, 2022)
  2. Trung Nguyen – Backdoor là gì? Webshell nguy hiểm đến mức nào? (CyStack, 2023)
  3. NCC Group – NoEscape Ransomware analysis (2023)
  4. WhiteHat.vn – Phát hiện và phòng ngừa WebShells theo cách của NSA (2020)
  5. National Security Agency – Cybersecurity Information: Detect and Prevent Web Shell Malware (2020)
  6. Trend Micro – Godzilla Webshell Backdoor Analysis (2024)
  7. Wikipedia – China Chopper Web shell
  8. Imperva – What is a Web Shell (Detection & Protection)
  9. Twingate – What is Backdoor? (2024)
  10. Quantrimang.com – Phát hiện backdoor SUPERNOVA (SolarWinds Orion)

Albert Einstein

"Education is not the learning of facts,
but the training of the mind to think"


CÔNG TY CỔ PHẦN CYBER JUTSU

Số 3 Nguyễn Xuân Ôn, Phường 2, Quận Bình Thạnh, TP Hồ Chí Minh

Mã số thuế: 0314377455

Hotline: 0906622416

Phản ánh chất lượng dịch vụ: 0906622416

Email liên hệ: contact@cyberjutsu.io

Chịu trách nhiệm nội dung: Nguyễn Mạnh Luật

Khóa học

Web Penetration Testing

Red Team - Exploit 101

1DAY ANALYSIS

Lộ trình học tập

Road Map

Tất cả khóa học

Cộng đồng

Blog

Videos

Cảm nhận học viên

Hall of Fame

Kiểm tra kiến thức

Liên hệ

Chính sách

Lớp học Live Online

Flipped Classroom

Chương trình giới thiệu

Xem tất cả chính sách

Copyright © 2025 CyberJutsu JSC. All Rights Reserved.