Bhunter - ботнет түйіндерін бұзу

Вирус талдаушылары мен компьютерлік қауіпсіздікті зерттеушілер жаңа ботнеттердің мүмкіндігінше көп үлгілерін жинау үшін жарысуда. Олар бал құмыраларын өз мақсаттары үшін пайдаланады... Бірақ егер сіз зиянды бағдарламаны нақты жағдайда байқағыңыз келсе ше? Серверіңізді немесе маршрутизаторыңызды тәуекелге ұшыратасыз ба? Сәйкес құрылғы болмаса ше? Дәл осы сұрақтар мені ботнет түйіндеріне қол жеткізу құралы болып табылатын bhunter құруға итермеледі.

Bhunter - ботнет түйіндерін бұзу

Негізгі идея

Ботнеттерді кеңейту үшін зиянды бағдарламаларды таратудың көптеген жолдары бар: фишингтен 0 күндік осалдықтарды пайдалануға дейін. Бірақ ең көп таралған әдіс әлі де SSH құпия сөздерін дөрекі түрде мәжбүрлеу болып табылады.

Идея өте қарапайым. Егер қандай да бір ботнет түйіні сіздің серверіңіз үшін құпия сөздерді дөрекі түрде қолдануға әрекеттенсе, бұл түйіннің өзі қарапайым құпия сөздерді дөрекі түрде басып алған болуы мүмкін. Бұл оған қол жеткізу үшін сізге тек өзара әрекет ету керек дегенді білдіреді.

Бхантер дәл осылай жұмыс істейді. 22 портты (SSH қызметі) тыңдайды және олар оған қосылуға тырысатын барлық логиндер мен құпия сөздерді жинайды. Содан кейін жиналған құпия сөздерді пайдаланып, ол шабуылдаушы түйіндерге қосылуға тырысады.

Жұмыс алгоритмі

Бағдарламаны 2 негізгі бөлікке бөлуге болады, олар жеке ағындарда жұмыс істейді. Біріншісі - бал құмырасы. Жүйеге кіру әрекеттерін өңдейді, бірегей логиндер мен парольдерді жинайды (бұл жағдайда логин + пароль жұбы біртұтас ретінде қарастырылады), сонымен қатар одан әрі шабуыл үшін кезекке қосылуға тырысқан IP мекенжайларын қосады.

Екінші бөлік шабуылға тікелей жауапты. Сонымен қатар, шабуыл екі режимде жүзеге асырылады: BurstAttack (жарқын шабуыл) - жалпы тізімдегі дөрекі күш логиндері мен құпия сөздері және SingleShotAttack (бір ату шабуылы) - шабуылға ұшыраған түйін пайдаланған, бірақ әлі қолданылмаған дөрекі күш құпия сөздері. жалпы тізімге қосылды.

Іске қосылғаннан кейін бірден логиндер мен құпия сөздердің кем дегенде кейбір дерекқорына ие болу үшін bhunter /etc/bhunter/defaultLoginPairs файлындағы тізіммен инициализацияланады.

интерфейс

Bhunter іске қосудың бірнеше жолы бар:

Тек команда ретінде

sudo bhunter

Осы іске қосу арқылы bhunter-ді оның мәтіндік мәзірі арқылы басқаруға болады: шабуыл үшін логиндер мен құпия сөздерді қосыңыз, логиндер мен құпия сөздердің дерекқорын экспорттаңыз, шабуылдың нысанасын көрсетіңіз. Барлық бұзылған түйіндерді /var/log/bhunter/hacked.log файлында көруге болады

tmux пайдалану

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

Tmux - терминалды мультиплексор, өте ыңғайлы құрал. Бір терминал ішінде бірнеше терезе жасауға және терезелерді панельдерге бөлуге мүмкіндік береді. Оны пайдалану арқылы терминалдан шығып, жұмыс істеп тұрған процестерді тоқтатпай жүйеге кіруге болады.

bhunter-ts сценарийі tmux сеансын жасайды және терезені үш панельге бөледі. Бірінші, ең үлкен, мәтіндік мәзірді қамтиды. Жоғарғы оң жақта бал құмырасы журналдары бар, мұнда сіз бал құмырасына кіру әрекеттері туралы хабарларды көре аласыз. Төменгі оң жақ панель ботнет түйіндеріне жасалған шабуылдың барысы және сәтті бұзулар туралы ақпаратты көрсетеді.

Бұл әдістің біріншіден артықшылығы - біз терминалды қауіпсіз жауып, кейінірек оның жұмысын тоқтатпай-ақ қайта аламыз. tmux-пен аз таныстар үшін мен ұсынамын бұл алдау парағы.

Қызмет ретінде

systemctl enable bhunter
systemctl start bhunter

Бұл жағдайда жүйені іске қосу кезінде bhunter автоқосылуын қосамыз. Бұл әдісте bhunter-мен өзара әрекеттесу қамтамасыз етілмейді және бұзылған түйіндердің тізімін /var/log/bhunter/hacked.log сайтынан алуға болады.

Тиімділігі

Bhunter-де жұмыс істей отырып, мен мүлдем басқа құрылғыларды тауып, оларға қол жеткізе алдым: таңқурай пи, маршрутизаторлар (әсіресе микротик), веб-серверлер және бір кездері тау-кен фермасы (өкінішке орай, оған қол жеткізу күндіз болды, сондықтан қызық болмады. оқиға ). Міне, бірнеше күндік жұмыстан кейін бұзылған түйіндердің тізімін көрсететін бағдарламаның скриншоты:

Bhunter - ботнет түйіндерін бұзу

Өкінішке орай, бұл құралдың тиімділігі менің күткеніме жетпеді: bhunter түйіндерге құпия сөздерді бірнеше күн бойы сәтті қолданып көруі мүмкін және бірнеше сағат ішінде бірнеше нысананы бұза алады. Бірақ бұл жаңа ботнет үлгілерінің тұрақты ағыны үшін жеткілікті.

Тиімділікке келесідей параметрлер әсер етеді: bhunter сервері орналасқан ел, хостинг және IP мекенжайы бөлінген ауқым. Менің тәжірибемде бір хосттен екі виртуалды серверді жалға алған жағдай болды, олардың біреуіне ботнеттер 2 есе жиі шабуыл жасады.

Мен әлі түзетпеген қателер

Вирус жұқтырған хосттарға шабуыл жасағанда, кейбір жағдайларда пароль дұрыс немесе дұрыс емес екенін біржақты анықтау мүмкін емес. Мұндай жағдайлар /var/log/debug.log файлында тіркеледі.

SSH-мен жұмыс істеу үшін қолданылатын Paramiko модулі кейде дұрыс емес әрекет етеді: ол оған қосылуға әрекеттенген кезде хосттан жауап күтеді. Мен таймерлермен тәжірибе жасадым, бірақ қажетті нәтиже алмадым

Тағы немен жұмыс істеу керек?

Қызмет атауы

RFC-4253 сәйкес клиент пен сервер орнату алдында SSH протоколын жүзеге асыратын қызметтердің атауларымен алмасады. Бұл атау «ҚЫЗМЕТ АТЫ» өрісінде, клиент тарапынан сұрауда да, сервер тарапынан жауапта да қамтылған. Өріс жол болып табылады және оның мәнін wireshark немесе nmap көмегімен табуға болады. Мұнда OpenSSH үлгісі берілген:

$ 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

Дегенмен, Paramiko жағдайында бұл өрісте «Paramiko Python sshd 2.4.2» сияқты жол бар, ол тұзақтарды «болдырмауға» арналған ботнеттерді қорқытады. Сондықтан бұл сызықты бейтарап нәрсеге ауыстыру қажет деп ойлаймын.

Басқа векторлар

SSH қашықтан басқарудың жалғыз құралы емес. Сондай-ақ telnet, rdp бар. Оларды мұқият қарастырған жөн.

кеңейту

Әртүрлі елдерде бірнеше тұзақтардың болуы және олардан логиндерді, парольдерді және бұзылған түйіндерді ортақ дерекқорға орталықтандырып жинау тамаша болар еді.

Қайдан жүктеп алуға болады?

Жазу кезінде тек сынақ нұсқасы дайын, оны жүктеп алуға болады Github репозиторийі.

Ақпарат көзі: www.habr.com

пікір қалдыру