Bhunter - hacio nodau botnet

Mae dadansoddwyr firws ac ymchwilwyr diogelwch cyfrifiadurol yn rasio i gasglu cymaint o samplau o botnets newydd â phosib. Maen nhw'n defnyddio potiau mêl at eu dibenion eu hunain... Ond beth os ydych chi am arsylwi ar y drwgwedd mewn amodau real? Rhoi eich gweinydd neu lwybrydd mewn perygl? Beth os nad oes dyfais addas? Y cwestiynau hyn a'm hysgogodd i greu Bunter, offeryn ar gyfer cael mynediad at nodau botnet.

Bhunter - hacio nodau botnet

Prif syniad

Mae yna lawer o ffyrdd o ledaenu malware i ehangu botnets: o we-rwydo i fanteisio ar wendidau 0-diwrnod. Ond y dull mwyaf cyffredin o hyd yw cyfrineiriau SSH sy'n cael eu gorfodi'n ysbeidiol.

Mae'r syniad yn syml iawn. Os yw rhyw nod botnet yn ceisio grymuso cyfrineiriau ar gyfer eich gweinydd, yna yn fwyaf tebygol, mae'r nod hwn ei hun wedi'i ddal gan gyfrineiriau syml a oedd yn cael eu gorfodi'n ysbeidiol. Mae hyn yn golygu, er mwyn cael mynediad iddo, y cyfan sydd angen i chi ei wneud yw dychwelyd.

Dyma'n union sut mae Bunter yn gweithio. Yn gwrando ar borth 22 (gwasanaeth SSH) ac yn casglu'r holl fewngofnodi a chyfrineiriau y maent yn ceisio cysylltu ag ef. Yna, gan ddefnyddio'r cyfrineiriau a gasglwyd, mae'n ceisio cysylltu â nodau ymosod.

Algorithm gwaith

Gellir rhannu'r rhaglen yn 2 brif ran, sy'n gweithio mewn edafedd ar wahân. Y cyntaf yw pot mêl. Prosesu ymdrechion mewngofnodi, casglu mewngofnodi a chyfrineiriau unigryw (yn yr achos hwn, mae'r pâr mewngofnodi + cyfrinair yn cael ei ystyried yn un cyfanwaith), a hefyd yn ychwanegu cyfeiriadau IP a geisiodd gysylltu â'r ciw ar gyfer ymosodiad pellach.

Mae'r ail ran yn uniongyrchol gyfrifol am yr ymosodiad. Ar ben hynny, mae'r ymosodiad yn cael ei wneud mewn dau fodd: BurstAttack (ymosodiad byrstio) - mewngofnodi grym 'n ysgrublaidd a chyfrineiriau o'r rhestr gyffredinol a SingleShotAttack (ymosodiad ergyd sengl) - cyfrineiriau grym 'n ysgrublaidd a ddefnyddiwyd gan y nod yr ymosodwyd arno, ond nad ydynt wedi'u defnyddio eto. ychwanegu at y rhestr gyffredinol.

Er mwyn cael o leiaf rhywfaint o gronfa ddata o fewngofnodi a chyfrineiriau yn syth ar ôl ei lansio, mae Bunter yn cael ei gychwyn gyda rhestr o'r ffeil /etc/bhunter/defaultLoginPairs.

rhyngwyneb

Mae yna sawl ffordd i lansio bunter:

Yn union fel tîm

sudo bhunter

Gyda'r lansiad hwn, mae'n bosibl rheoli Bunter trwy ei ddewislen testun: ychwanegu mewngofnodi a chyfrineiriau ar gyfer ymosodiad, allforio cronfa ddata o fewngofnodi a chyfrineiriau, nodi targed ar gyfer ymosodiad. Gellir gweld yr holl nodau wedi'u hacio yn y ffeil /var/log/bhunter/hacked.log

Gan ddefnyddio tmux

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

Mae Tmux yn amlblecsydd terfynell, sy'n offeryn cyfleus iawn. Yn caniatáu ichi greu sawl ffenestr o fewn un derfynell, a rhannu'r ffenestri yn baneli. Gan ei ddefnyddio, gallwch chi adael y derfynell ac yna mewngofnodi heb dorri ar draws prosesau rhedeg.

Mae'r sgript bunter-ts yn creu sesiwn tmux ac yn rhannu'r ffenestr yn dri phanel. Mae'r cyntaf, mwyaf, yn cynnwys dewislen testun. Mae'r un dde uchaf yn cynnwys logiau pot mêl, yma gallwch weld negeseuon am ymdrechion i fewngofnodi i'r pot mêl. Mae'r panel dde isaf yn dangos gwybodaeth am gynnydd yr ymosodiad ar nodau botnet ac am haciau llwyddiannus.

Mantais y dull hwn dros y cyntaf yw y gallwn gau'r derfynell yn ddiogel a dychwelyd ato'n ddiweddarach, heb i bunter atal ei waith. I'r rhai sydd fawr ddim yn gyfarwydd â tmux, dwi'n awgrymu y daflen twyllo hon.

Fel gwasanaeth

systemctl enable bhunter
systemctl start bhunter

Yn yr achos hwn, rydym yn galluogi cychwynnol autostart ar gychwyn system. Yn y dull hwn, ni ddarperir rhyngweithio â bunter, a gellir cael y rhestr o nodau wedi'u hacio o /var/log/bhunter/hacked.log

Effeithiolrwydd

Wrth weithio ar bunter, llwyddais i ddod o hyd i ddyfeisiau hollol wahanol a chael mynediad iddynt: raspberry pi, llwybryddion (yn enwedig mikrotik), gweinyddwyr gwe, ac unwaith yn fferm mwyngloddio (yn anffodus, roedd mynediad iddo yn ystod y dydd, felly nid oedd unrhyw ddiddorol stori ). Dyma lun o'r rhaglen, sy'n dangos rhestr o nodau wedi'u hacio ar ôl sawl diwrnod o waith:

Bhunter - hacio nodau botnet

Yn anffodus, ni chyrhaeddodd effeithiolrwydd yr offeryn hwn fy nisgwyliadau: gall bunter roi cynnig ar gyfrineiriau i nodau am sawl diwrnod heb lwyddiant, a gall hacio sawl targed mewn cwpl o oriau. Ond mae hyn yn ddigon ar gyfer mewnlifiad rheolaidd o samplau botnet newydd.

Mae'r effeithiolrwydd yn cael ei ddylanwadu gan baramedrau o'r fath fel: y wlad y mae'r gweinydd gyda bunter wedi'i leoli ynddi, y lletywr, a'r ystod y dyrennir y cyfeiriad IP ohoni. Yn fy mhrofiad i, roedd achos pan oeddwn yn rhentu dau weinydd rhithwir o un hoster, ac ymosodwyd ar un ohonynt gan botnets 2 gwaith yn amlach.

Bygiau nad wyf wedi'u trwsio eto

Wrth ymosod ar westeion heintiedig, mewn rhai sefyllfaoedd nid yw'n bosibl pennu'n ddiamwys a yw'r cyfrinair yn gywir ai peidio. Mae achosion o'r fath yn cael eu cofnodi yn y ffeil /var/log/debug.log.

Mae'r modiwl Paramiko, a ddefnyddir i weithio gyda SSH, weithiau'n ymddwyn yn anghywir: mae'n aros yn ddiddiwedd am ymateb gan y gwesteiwr pan fydd yn ceisio cysylltu ag ef. Arbrofais gydag amseryddion, ond ni chefais y canlyniad a ddymunir

Beth arall sydd angen gweithio arno?

Enw'r gwasanaeth

Yn ôl RFC-4253, mae'r cleient a'r gweinydd yn cyfnewid enwau gwasanaethau sy'n gweithredu'r protocol SSH cyn gosod. Mae'r enw hwn wedi'i gynnwys yn y maes “SERVICE ENW”, a gynhwysir yn y cais gan ochr y cleient ac yn yr ymateb gan ochr y gweinydd. Llinyn yw'r cae, a gellir canfod ei werth gan ddefnyddio wireshark neu nmap. Dyma enghraifft ar gyfer 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

Fodd bynnag, yn achos Paramiko, mae'r maes hwn yn cynnwys llinyn fel “Paramiko Python sshd 2.4.2”, a all ddychryn botnets sydd wedi'u cynllunio i “osgoi” trapiau. Felly, rwy’n meddwl bod angen disodli’r llinell hon â rhywbeth mwy niwtral.

Fectorau eraill

Nid SSH yw'r unig ffordd o reoli o bell. Ceir hefyd telnet, rdp. Mae'n werth edrych yn agosach arnyn nhw.

estyniad

Byddai'n wych cael sawl trap mewn gwahanol wledydd a chasglu mewngofnodiadau, cyfrineiriau a nodau wedi'u hacio oddi wrthynt i gronfa ddata gyffredin.

Ble alla i lawrlwytho?

Ar adeg ysgrifennu, dim ond fersiwn prawf sy'n barod, y gellir ei lawrlwytho o ystorfa ar Github.

Ffynhonnell: hab.com

Ychwanegu sylw