Bhunter – robotvõrgu sõlmede häkkimine

Viiruseanalüütikud ja arvutiturbeuurijad võistlevad selle nimel, et koguda võimalikult palju uutest robotvõrkudest näidiseid. Nad kasutavad meepotte omal otstarbel... Aga mis siis, kui soovite pahavara reaalsetes tingimustes jälgida? Kas seadsite oma serveri või ruuteri ohtu? Mis siis, kui sobivat seadet pole? Just need küsimused ajendasid mind looma bhunteri, tööriista robotivõrgu sõlmedele juurdepääsu saamiseks.

Bhunter – robotvõrgu sõlmede häkkimine

keskne idee

Pahavara levitamiseks botnettide laiendamiseks on palju viise: andmepüügist kuni 0-päevaste turvaaukude ärakasutamiseni. Kuid kõige levinum meetod on endiselt SSH-paroolide jõhker sundimine.

Idee on väga lihtne. Kui mõni botneti sõlm üritab teie serveri paroole jämedalt sundida, jäädvustati see sõlm ise tõenäoliselt jõhkralt sundivate lihtsate paroolidega. See tähendab, et sellele juurdepääsu saamiseks peate lihtsalt vastama.

Täpselt nii bhunter töötab. Kuulab porti 22 (SSH-teenus) ja kogub kõik sisselogimised ja paroolid, millega nad üritavad sellega ühendust luua. Seejärel proovib see kogutud paroolide abil luua ühenduse ründavate sõlmedega.

Töö algoritm

Programmi saab jagada 2 põhiosaks, mis töötavad eraldi lõimedes. Esimene on meepott. Töötleb sisselogimiskatseid, kogub unikaalseid sisselogimisi ja paroole (sel juhul loetakse sisselogimis- ja paroolipaari üheks tervikuks) ning lisab ka IP-aadressid, mis üritasid edasiseks rünnakuks järjekorda ühendust saada.

Teine osa vastutab otseselt rünnaku eest. Veelgi enam, rünnak viiakse läbi kahes režiimis: BurstAttack (purskerünnak) - jõhkra jõu sisselogimised ja paroolid üldloendist ning SingleShotAttack (ühe löögi rünnak) - jõhkra jõu paroolid, mida rünnatav sõlm kasutas, kuid mida pole veel kasutatud. lisati üldnimekirja.

Selleks, et kohe pärast käivitamist oleks vähemalt osa sisselogimiste ja paroolide andmebaas, lähtestatakse bhunter loendiga failist /etc/bhunter/defaultLoginPairs.

liides

Bhunteri käivitamiseks on mitu võimalust:

Just meeskonnana

sudo bhunter

Selle käivitamisega on võimalik juhtida bhunterit selle tekstimenüü kaudu: lisada rünnaku sisselogimisnimesid ja paroole, eksportida sisselogimiste ja paroolide andmebaasi, määrata rünnaku sihtmärk. Kõik häkitud sõlmed on näha failis /var/log/bhunter/hacked.log

tmuxi kasutamine

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

Tmux on terminali multiplekser, väga mugav tööriist. Võimaldab luua ühes terminalis mitu akent ja jagada aknad paneelideks. Seda kasutades saate terminalist väljuda ja seejärel sisse logida ilma töötavaid protsesse katkestamata.

Skript bhunter-ts loob tmuxi seansi ja jagab akna kolmeks paneeliks. Esimene, suurim, sisaldab tekstimenüüd. Paremal ülaservas on meepoti logid, siit näed teateid meepotti sisselogimiskatsete kohta. Paremal alumisel paneelil kuvatakse teave botneti sõlmede rünnaku edenemise ja edukate häkkimiste kohta.

Selle meetodi eeliseks esimese ees on see, et saame terminali turvaliselt sulgeda ja selle juurde hiljem naasta, ilma et bhunter selle tööd peataks. Neile, kes tmuxiga vähe kursis on, soovitan see petuleht.

Teenusena

systemctl enable bhunter
systemctl start bhunter

Sel juhul lubame süsteemi käivitamisel bhunteri automaatse käivituse. Selle meetodi puhul ei pakuta suhtlust bhunteriga ja häkitud sõlmede loendi leiate saidilt /var/log/bhunter/hacked.log

Efektiivsus

Bhunteri kallal töötades õnnestus mul leida ja saada ligipääs täiesti erinevatele seadmetele: raspberry pi, ruuterid (eriti mikrotik), veebiserverid ja kunagi ka kaevandusfarm (kahjuks oli juurdepääs sellele päeval, nii et huvitavat polnud lugu). Siin on programmi ekraanipilt, mis näitab pärast mitmepäevast tööd häkitud sõlmede loendit:

Bhunter – robotvõrgu sõlmede häkkimine

Kahjuks ei vastanud selle tööriista tõhusus minu ootustele: bhunter võib mitu päeva sõlmedesse paroole katsetada, edutult ja häkkida mitut sihtmärki paari tunniga. Kuid sellest piisab uute robotivõrgu näidiste regulaarseks sissevooluks.

Tõhusust mõjutavad sellised parameetrid nagu: riik, kus bhunteriga server asub, hostimine ja vahemik, kust IP-aadress eraldatakse. Minu kogemuse järgi oli juhtum, kui rentisin ühest hosterist kaks virtuaalserverit ja ühte neist ründasid botnetid 2 korda sagedamini.

Vead, mida ma pole veel parandanud

Nakatunud hoste rünnates ei ole mõnes olukorras võimalik üheselt kindlaks teha, kas parool on õige või mitte. Sellised juhtumid logitakse faili /var/log/debug.log.

SSH-ga töötamiseks kasutatav Paramiko moodul käitub mõnikord valesti: see ootab lõputult hostilt vastust, kui proovib sellega ühendust luua. Katsetasin taimeritega, kuid ei saanud soovitud tulemust

Mille kallal tuleb veel tööd teha?

Teenuse nimi

RFC-4253 kohaselt vahetavad klient ja server enne installimist SSH-protokolli rakendavate teenuste nimesid. See nimi sisaldub väljal "TEENUSE NIMI", mis sisaldub nii kliendipoolses päringus kui ka serveripoolses vastuses. Väli on string ja selle väärtuse saab leida Wiresharki või nmapi abil. Siin on näide OpenSSH kohta:

$ 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 puhul sisaldab see väli aga sellist stringi nagu “Paramiko Python sshd 2.4.2”, mis võib eemale peletada botnetid, mis on loodud lõksude “vältimiseks”. Seetõttu arvan, et see rida on vaja asendada millegi neutraalsemaga.

Muud vektorid

SSH ei ole ainus kaughalduse vahend. Samuti on olemas telnet, rdp. Tasub neid lähemalt uurida.

laiendamine

Oleks tore, kui erinevates riikides oleks mitu lõksu ja kogutaks neist tsentraalselt sisselogimised, paroolid ja häkitud sõlmed ühisesse andmebaasi

Kust ma saan alla laadida?

Kirjutamise hetkel on valmis ainult testversioon, mille saab alla laadida hoidla Githubis.

Allikas: www.habr.com

Lisa kommentaar