Bhunter - botnet qovşaqlarının sındırılması

Virus analitikləri və kompüter təhlükəsizliyi tədqiqatçıları mümkün qədər çox yeni botnet nümunələri toplamaq üçün yarışırlar. Bal qablarından öz məqsədləri üçün istifadə edirlər... Bəs zərərli proqramı real şəraitdə müşahidə etmək istəsəniz necə? Serverinizi və ya marşrutlaşdırıcınızı riskə atırsınız? Bəs uyğun cihaz yoxdursa? Məhz bu suallar məni botnet qovşaqlarına giriş əldə etmək üçün alət olan bhunter yaratmağa vadar etdi.

Bhunter - botnet qovşaqlarının sındırılması

mərkəzi ideyası

Botnetləri genişləndirmək üçün zərərli proqramların yayılmasının bir çox yolu var: fişinqdən tutmuş 0 günlük zəifliklərin istismarına qədər. Ancaq ən çox yayılmış üsul hələ də SSH parollarını kobud şəkildə zorlamaqdır.

Fikir çox sadədir. Əgər bəzi botnet nodu serveriniz üçün parolları kobud şəkildə tətbiq etməyə çalışırsa, çox güman ki, bu qovşaq özü sadə parollar tərəfindən ələ keçirilib. Bu o deməkdir ki, ona giriş əldə etmək üçün sadəcə qarşılıq vermək lazımdır.

Bhunter məhz belə işləyir. 22-ci portu (SSH xidməti) dinləyir və ona qoşulmağa çalışdıqları bütün giriş və parolları toplayır. Sonra toplanmış parollardan istifadə edərək hücum edən qovşaqlara qoşulmağa çalışır.

İş alqoritmi

Proqramı ayrı-ayrı mövzularda işləyən 2 əsas hissəyə bölmək olar. Birincisi bal qabıdır. Giriş cəhdlərini emal edir, unikal login və parolları toplayır (bu halda login + parol cütü vahid bütöv hesab olunur), həmçinin növbəti hücum üçün növbəyə qoşulmağa çalışan IP ünvanlarını əlavə edir.

İkinci hissə birbaşa hücuma görə məsuliyyət daşıyır. Üstəlik, hücum iki rejimdə həyata keçirilir: BurstAttack (burst hücum) - ümumi siyahıdan kobud güc girişləri və parolları və SingleShotAttack (bir atışlı hücum) - hücuma məruz qalan node tərəfindən istifadə edilmiş, lakin hələ də istifadə olunmamış kobud güc parolları ümumi siyahıya əlavə edildi.

Başladıqdan dərhal sonra ən azı bir neçə login və parol verilənlər bazasına sahib olmaq üçün bhunter /etc/bhunter/defaultLoginPairs faylının siyahısı ilə işə salınır.

interface

Bhunter-i işə salmağın bir neçə yolu var:

Sadəcə komanda olaraq

sudo bhunter

Bu işə salınma ilə bhunter-i mətn menyusu vasitəsilə idarə etmək mümkündür: hücum üçün login və parollar əlavə etmək, login və parollar bazasını ixrac etmək, hücum üçün hədəfi müəyyənləşdirmək. Bütün sındırılmış qovşaqları /var/log/bhunter/hacked.log faylında görmək olar

tmux istifadə edərək

sudo bhunter-ts # команда запуска bhunter через tmux  
sudo tmux attach -t bhunter # подключаемся к сессии, в которой запущен bhunter

Tmux terminal multipleksorudur, çox rahat vasitədir. Bir terminal daxilində bir neçə pəncərə yaratmağa və pəncərələri panellərə bölməyə imkan verir. Bundan istifadə edərək, siz terminaldan çıxa və sonra işləyən prosesləri dayandırmadan daxil ola bilərsiniz.

Bhunter-ts skripti tmux sessiyası yaradır və pəncərəni üç panelə bölür. Birinci, ən böyük, mətn menyusundan ibarətdir. Yuxarı sağda bal küpü qeydləri var, burada siz bal qabına daxil olmaq cəhdləri haqqında mesajları görə bilərsiniz. Aşağı sağ paneldə botnet qovşaqlarına hücumun gedişi və uğurlu sındırmalar haqqında məlumatlar göstərilir.

Bu metodun birincidən üstünlüyü ondan ibarətdir ki, biz terminalı təhlükəsiz şəkildə bağlaya bilərik və daha sonra bhunter işini dayandırmadan ona qayıda bilərik. Tmux ilə az tanış olanlar üçün təklif edirəm bu fırıldaqçı vərəq.

Xidmət olaraq

systemctl enable bhunter
systemctl start bhunter

Bu halda, biz sistemin işə salınması zamanı bhunter autostartını işə salırıq. Bu üsulda bhunter ilə qarşılıqlı əlaqə təmin edilmir və sındırılmış qovşaqların siyahısını /var/log/bhunter/hacked.log saytından əldə etmək olar.

Effektivlik

Bhunter üzərində işləyərkən tamamilə fərqli cihazları tapıb əldə edə bildim: moruq pi, marşrutlaşdırıcılar (xüsusilə mikrotik), veb serverlər və bir dəfə mədənçilik ferması (təəssüf ki, ona giriş gün ərzində idi, ona görə də maraqlı olmadı. hekayə). Budur, bir neçə günlük işdən sonra sındırılmış qovşaqların siyahısını göstərən proqramın ekran görüntüsü:

Bhunter - botnet qovşaqlarının sındırılması

Təəssüf ki, bu alətin effektivliyi gözləntilərimə çatmadı: bhunter qovşaqlara parolları bir neçə gün ərzində uğursuz cəhd edə bilər və bir neçə saat ərzində bir neçə hədəfi sındıra bilər. Ancaq bu, yeni botnet nümunələrinin müntəzəm axını üçün kifayətdir.

Effektivliyə aşağıdakı parametrlər təsir edir: bhunter ilə serverin yerləşdiyi ölkə, hostinq və IP ünvanının ayrıldığı diapazon. Təcrübəmə görə, bir hosterdən iki virtual server icarəyə götürdüyüm və onlardan birinə botnetlərin hücumuna 2 dəfə tez-tez məruz qaldığım bir hadisə oldu.

Hələ düzəltmədiyim səhvlər

Yoluxmuş hostlara hücum edərkən, bəzi hallarda parolun düzgün olub-olmadığını birmənalı şəkildə müəyyən etmək mümkün deyil. Belə hallar /var/log/debug.log faylında qeyd olunur.

SSH ilə işləmək üçün istifadə edilən Paramiko modulu bəzən özünü düzgün aparmır: ona qoşulmaq istəyəndə o, sonsuz olaraq hostdan cavab gözləyir. Taymerlərlə sınaqdan keçirdim, lakin istədiyiniz nəticəni almadım

Başqa nə üzərində işləmək lazımdır?

Xidmət adı

RFC-4253-ə əsasən, müştəri və server quraşdırmadan əvvəl SSH protokolunu həyata keçirən xidmətlərin adlarını mübadilə edirlər. Bu ad həm müştəri tərəfindən sorğuda, həm də server tərəfindən verilən cavabda olan “XİDMƏT ADI” sahəsindədir. Sahə sətirdir və onun dəyərini wireshark və ya nmap istifadə edərək tapmaq olar. OpenSSH üçün bir nümunə:

$ nmap -p 22 ***.**.***.** -sV
Starting Nmap ...
PORT   STATE SERVICE VERSION
22/tcp open  ssh     <b>OpenSSH 7.9p1 Debian 10+deb10u2</b> (protocol 2.0)
Nmap done: 1 IP address (1 host up) scanned in 0.47 seconds

Bununla belə, Paramiko vəziyyətində, bu sahədə “Paramiko Python sshd 2.4.2” kimi bir sətir var ki, bu da tələlərin “qarşısını almaq” üçün hazırlanmış botnetləri qorxuda bilər. Ona görə də hesab edirəm ki, bu xətti daha neytral bir şeylə əvəz etmək lazımdır.

Digər vektorlar

SSH uzaqdan idarəetmənin yeganə vasitəsi deyil. Telnet, rdp də var. Onlara daha yaxından nəzər salmağa dəyər.

artırma

Müxtəlif ölkələrdə bir neçə tələnin olması və onlardan loginləri, parolları və sındırılmış qovşaqları mərkəzləşdirilmiş şəkildə ümumi verilənlər bazasına toplamaq əla olardı.

Haradan yükləyə bilərəm?

Yazı zamanı yalnız bir sınaq versiyası hazırdır, onu yükləyə bilərsiniz Github-da depo.

Mənbə: www.habr.com

Добавить комментарий