Çfarë duhet të dini për botnet-ët

Postuar nga Dardan Krasniqi on Jul 07, 2010 | 1 Koment


Fjala bot është shkurtesë për fjalën robot. Robotët (programet e automatizuara, jo robotët aktual fizik) përdoren shpesh në botën e Internetit. Merimangat e përdorura nga makinat e kërkimit për të krijuar hartat e ueb faqeve dhe softuerët që përgjigjen ndaj kërkesave në IRC janë robot. Programet të cilat përgjigjen në mënyrë autonome ndaj ngjarjeve të caktuara të jashtme janë robot, gjithashtu. Në vazhdim do të përshkruajmë një lloj special të robotit, apo të bot-it – IRC bot-in. Ai përdor rrjetat IRC si kanal të komunikimit në mënyrë që të pranoj komandat nga shfrytëzuesi në distancë. Në këtë rast që do të ekzaminojmë shfrytëzues është sulmuesi ndërsa bot është një kali trojan. Një programues shumë thjeshtë mund të krijoj një bot të vetin, apo të kustomizoj një bot ekzistues. Kjo do të mund ti ndihmonte të fsheh bot-in nga sistemet elementare të sigurisë, dhe ta lë të shpërhapet me lehtësi.

IRC
IRC është shkurtesë për Internet Relay Chat. Ky është një protokoll i dizajnuar për komunikim përmes chat-it (sipas RFC 1459, i freskuar me RFT 2810, 2811, 2812,2813), dhe i bazuar në arkitekturën klient-server. Shumica e serverëve IRC lejojnë qasje të papenguar për këdo. IRC është një protokoll i rrjetës së hapur i bazuar në TCP-në (Transmission Control Protocol), nganjëherë i avancuar përmes SSL-së (Secure Socket Layer).
Një server IRC lidhet me IRC serverët tjerë në të njëjtën rrjetë. Shfrytëzuesit e IRC-së mund të komunikojnë në mënyrë publike (në të ashtuquajturat kanale) apo në mënyrë private (njëri me tjetrin). Janë dy nivele kryesore të qasjes në kanalet IRC: shfrytëzuesit dhe operatorët. Shfrytëzuesi i cili krijon një kanal bëhet operatorë. Një operatorë ka më shumë privilegje (varësisht nga modulet e aktivizuara nga operatori fillestar) nga shfrytëzuesi i zakonshëm.
IRC bot-ët nuk trajtohen ndryshe nga shfrytëzuesit e zakonshëm (apo operatorët). Ata janë procese demon, të cilët mund të ekzekutojnë një numër të operacioneve automatike. Kontrolli mbi këta bot zakonisht është i bazuar mbi dërgimin e komandave për kanalin e nisur nga sulmuesi, të mbushur me bot-ë. Natyrisht, administrimi i bot-ëve kërkon autentikim dhe autorizim, ashtu që vetëm pronari i tyre të mund ti përdor ata.
Një funksion i rëndësishëm i bot-ëve të këtillë është fakti se ata janë në gjendje të shpërndahet me shpejtësi nëpër kompjuterët tjerë. Planifikimi i kujdesshëm i procesit të infektimit ndihmon në arritjen e rezultateve më të mira në kohën më të shkurtër (pra në më shumë hosta të komprometuar). Një numër n i bot-ëve të lidhur në një kanal të vetëm të cilët janë duke pritur komandat quhet botnet.
Në të kaluarën rrjetat zombie (një emër tjetër për kompjuterët e bot-infektuar) ishin të kontrolluara me përdorimin e veglave të posaçme, të zhvilluara qëllimisht nga vet cracker-ët. Përvoja ka bërë që të eksperimentohet me metodat e reja të kontrollimit nga largësia. IRC konsiderohet të jetë mënyrë më e mirë për të nisur sulmet, për shkak se është fleksibil, i lehtë për tu përdorur dhe veçanërisht për shkak se serverët publik mund të përdoren si medium për komunikim. IRC ofron një metodë të thjeshtë për të kontrolluar qindra apo madje edhe mijëra bot përnjëherë në një mënyrë mjaftë të lehtë. Ai gjithashtu ia mundëson sulmuesve të fshehin identitetin me përdorimin e dredhive të thjeshta siç janë proxy-t anonime apo IP adresat e rreme. Duke iu falënderuar këtyre, administratorët e serverëve kanë shumë pak shanse për të gjetur origjinën e sulmit të kontrolluar në këtë mënyrë.
Në shumicën e rasteve bot-ët infektojnë PC-të e njerëzve të thjeshtë, serverët e universiteteve apo rrjetat e kompanive të vogla. Kjo për shkak se makinat e tilla nuk monitorohen në mënyrë të rreptë, dhe shpesh janë krejtësisht të pambrojtur. Arsyeja për këtë është në veçanti mungesa e politikave të vërteta të sigurisë, por në pjesën më të madhe kontribuon edhe fakti se shfrytëzuesit e PC-ve që përdorin lidhjet ADSL janë krejtësisht të painformuar për rreziqet ndaj të cilave i nënshtrohen, dhe nuk përdorin softuer mbrojtës siç janë mjetet antiviruse apo firewall-ët personal.

Bot-ët dhe përdorimi i tyre

Mundësia e përdorimit të hosteve të komprometuara varet vetëm nga imagjinata dhe aftësitë e sulmuesit. Të shohim disa nga përdorimet më të shpeshta të bot-ëve.
DDoS
Botnetët shpesh përdoren për sulmet DDoS (Distributed Denial of Service attack). Një sulmues mund të përdor një numër të madh të hosteve të komprometuar nga një kompjuterë në largësi, duke shfrytëzuar brezin e tyre të internetit dhe duke dërguar kërkesa për lidhje për cakun e sulmit. Shumë rrjeta kanë vuajtur nga sulmet e këtilla, dhe në disa raste shenjat e ndryshme janë gjetur në mesin e kompanive konkurrente (siç ishte rasti me luftërat e dot-com-ëve).
DoS sulmet e shpërndara (DDoX)
Një sulm DDoS është një variacion i sulmit Flooding DoS; qëllimi i të cilit është të ngulfatet rrjeta e cila është cak, duke e përdorur të gjithë brezin që ajo ka në dispozicion. Me këto që thamë, dhe nëse supozojmë se sulmuesi duhet të ketë sa më shumë brez në mënyrë që të ngulfat rrjetën që ka cak të sulmit, atëherë bëhet e qartë se mënyra më e mirë është që ky lloj i sulmit të bëhet me sa më shumë hosta nën kontrollin e sulmuesit. Secili host ka brezin e vet që mund të përdor (p.sh. ndonjë shfrytëzues i ADSL-it), dhe ata përdoren të gjithë njëkohësisht, duke shpërndarë kështu sulmin në faqen e cila është cak. Një nga sulmet më të popullarizuara që kryhet me përdorimin e protokollit TCP (një protokoll që është i orientuar në lidhje në mes të hosteve), quhet TCP syn flooding. Ai funksionon ashtu që bëhet dërgimi i një numri të madh të kërkesave për TCP lidhje për të njëjtin server (apo për cilindo lloj tjetër të shërbimit), duke bërë kështu mbingarkimin e resurseve të serverit dhe duke shkaktuar kështu që ai të ngulfatet, duke parandaluar njëkohësisht shfrytëzuesit (e vërtetë) nga hapja e lidhjeve apo kyçja në server. Sa e thjeshtë dhe sa e rrezikshme! E njëjta gjë mund të arrihet edhe me përdorimin e protokollit UDP (një protokoll që nuk kërkon krijim të lidhjes).
Sulmuesit kanë shpenzuar shumë kohë dhe mund në përmirësimin e sulmeve të këtilla. Në kohët e fundit gjithnjë e më shumë mund të hasen teknikat edhe më të mira, të cilat janë të ndryshme nga DDoS sulmet tradicionale. Këto sulme mundësojnë shfrytëzuesit keqdashës të marrin kontrollin mbi një numër të madh të hosteve zombie nga një kompjuter në largësi, me përdorimin e, për shembull, protokollit IRC.
Spamming-u
Botnetët janë një medium ideal për spammer-ët. Ata mund të përdoren, dhe në të vërtetë përdoren, si për shkëmbimin e email adresave të mbledhura dhe për kontrollimin e damarëve të spamit në të njëjtën mënyrë sikurse që kryhen edhe sulmet DDoS. Një mesazh i vetëm spam mund të dërgohet në botnet dhe pastaj të shpërndahet nëpër të gjithë bot-ët, që dërgojnë spam. Dërguesi i spamm-it mbetet anonim dhe i tërë faji i lihet kompjuterëve të infektuar.

Sniffing & Keylogging
Bot-ët mund të përdoren në mënyrë efektive për të avancuar artin antik të sniffing-ut (nuhatjes). Observimi i trafikut të informatave mund të dërgoj në zbulimin e një sasie të jashtëzakonshme të informatave. Këtu janë të përfshira zakonet, ngarkesat e TCP pakove të cilat mund të përmbajnë informata interesante (siç janë fjalëkalimet për shembull). E njëjta vlen edhe për keylogging – që është zënia e të gjitha informatave të shkruara nga shfrytëzuesi (emili, fjalëkalimi, të dhënat bankare, informata për llogarinë pranë PayPall etj.).
Vjedhja e identitetit
Metodat e lartpërmendura lejojnë sulmuesin që kontrollon botnetin të mbledh një sasi tepër të madhe të informatave personale. Të dhënat e këtilla mund të përdoren për të ndërtuar identitete të rreme, të cilat në anën tjetër mund të përdoren për të mundësuar qasjen në llogaritë personale apo të mundësojnë veprimet e ndryshme (duke përfshirë këtu edhe sulmet tjera) për të cilat do të fajësohet tjetër kush.
Hostingu i softuerit ilegal
Për fund, por jo me më pak rëndësi, kompjuterët e komprometuar me bot mund të përdoren si depo dinamike e materialeve ilegale (softuerit pirat, pornografisë, etj.). Të dhënat ruhen në diskun e ADSL shfrytëzuesit i cili as që di se çfarë është duke ndodhur.
Mund të kalojmë orë të tëra duke folur për përdorimet e mundshme të botnetëve (për shembull abuzimet me paguaj-për-clikim, phishing, kidnapimi i lidhjeve HTTP/ HTTPS etj.). Bot-ët janë vetëm vegla, të cilat shumë lehtë mund të adaptohen për cilindo veprim i cili kërkon një numër të madh të hostëve nën një kontroll të vetme.

Llojet e ndryshme të bot-ëve

Shumë lloje të bot-ëve të gatshëm janë në dispozicion për shkarkim nga Interneti. Secili nga ata ka funksionet e veta speciale. Të shohim disa nga bot-ët më të popullarizuar, duke cekuar funksionet më të përgjithshme si dhe elementet dalluese.
GT-Bot
Të gjithë botët GT (Global Threat) janë të bazuar në IRC klientin e popullarizuar për Windows të quajtur mIRC. Thelbi i këtyre bot-ëve është i përbërë nga një grup i skripteve për mIRC, të cilat përdoren për kontrollimin e aktivitetit të sistemit në largësi. Ky lloj i bot-it nis një instancë të klientit të përparuar përmes skripteve të kontrollit dhe që zakonisht përdorë një aplikacion të dytë, zakonisht atë HideWindow, për të bërë mIRC-in të padukshëm për shfrytëzuesin e kompjuterit host. Një DLL fajll shtesë shton funksionet e rinj ndaj mIRC-it në mënyrë ë skriptet të jenë në gjendje të ndikojnë aspektet e ndryshme të hostit të kontrolluar.
Agobot
Agobot është sipas të gjitha gjasave një nga bot-ët më të popullarizuar që përdoret nga crack-erët. Është i shkruar në C++ dhe i lëshuar nën licencën GPL. Gjëja më interesante rreth Agobotit është kodi i tij burimor. Jashtëzakonisht modular, e bën të thjeshtë shtimin e funksioneve të reja. Agobot ka shumë mekanizma për të fshehur prezencën e vet në kompjuterin host. Aty përfshihen: NTFS Alternate Data Stream, Antivirus Killer si dhe Polymorphic Encryptor Engine. Agobot ofron nuhatje të trafikut si dhe funksionin e sortimit.
Edhe protokollet tjera përveç atij IRC mund të përdoren për të bërë kontrollimin e këtij bot-i.
DSNX
ashtuquajturi Dataspy Network X bot është gjithashtu i shkruar në C++ dhe kodi i tij burimor është gjithashtu në dispozicion nën licencën GPL. Shtimi i funksionaliteteve shtesë në këtë bot është gjithashtu mjaftë i thjeshtë duke iu falënderuar arkitekturës së thjeshtë plug-in që ai ka.

SDBot
SDBot është i shkruar në C dhe është gjithashtu në dispozicion nën licencën GPL. Për ndryshim nga Agobot, kodi i këtij nuk është mjaftë i qartë dhe vetë softueri vjen me një numër të kufizuar të funksioneve. Për më shumë, ai është ende mjaftë i popullarizuar dhe në dispozicion në shumë variante të ndryshme.

Elementet e një sulmi

Në figurën më poshtë shihet një strukturë e zakonshme e një botneti:

•    Sulmuesi së pari shpërndan në kali trojan, i cili infekton hoste të ndryshme. Këto hoste bëhen zombie dhe lidhen me IRC serverin në mënyrë që të dëgjojnë për komandat e mëtutjeshme.
•    IRC serveri mund të jetë ose një makinë publike në ndonjërën nga IRC rrjetat apo ai mund të jetë një server i dedikuar i instaluar nga sulmuesi në ndonjërin nga hostet e komprometuar.
•    Bot-ët ekzekutohen në kompjuterët e komprometuar, duke krijuar kështu një bonet.

Një shembull praktik

Aktiviteti i sulmuesit mund të ndahet në katër etapa të ndryshme:
•    Krijimi
•    Konfigurimi
•    Infektimi
•    Kontrollimi
Etapa e krijimit në pjesën më të madhe varet nga shkathtësitë dhe kërkesat e sulmuesit. Një craker mund të vendos qoftë për të shkruar vet bot kodin apo thjeshtë të zgjeroj apo të kustomizoj një kod ekzistues. Një varg i gjerë i bot-ëve të gatshëm është në dispozicion dhe ata janë mjaftë të konfigurueshëm. Kjo bëhet edhe më e lehtë përmes një ndërfaqe grafike. Nuk çudit fakti se ky opsion më së shpeshti përdoret nga të ashtuquajturit skript kiddies (fëmijët e skripteve).
Etapa e konfigurimit përfshin caktimin e IRC serverit dhe informatave për kanalin. Kur të instalohet në makinën e komprometuar, bot-i do të kyçet për hostin e përzgjedhur. Sulmuesi së pari fut të dhënat që nevojiten për të kufizuar qasjen ndaj bot-it, siguron kanalin dhe përfundimisht bën listën e shfrytëzuesve të autorizuar (të cilët do të jenë në gjendje të kontrollojnë bot-in). Në këtë etapë bot-i mund të kustomizohet edhe më tutje, për shembull duke përkufizuar cakun dhe metodën e sulmit.
Etapa e infektimit përfshin përdorimin e teknikave të ndryshme për të shpërndarë bot-in – të drejtpërdrejta dhe të tërthorta. Teknikat e drejtpërdrejta përfshijnë eksploatimin e lëshimeve në sistemet operative apo shërbimet. Sulmet e tërthorta vejnë në punë softuer të tjerë për të bërë punën e pistë – aty përfshihen fajllat HTML të konfiguruar për të bërë eksploatimin e lëshimeve në Internet Explorer, apo përdorimi i malware-ve të tjerë të shpërndarë përmes rrjetave peer-to-peer apo përmes shkëmbimit të fajllave DCC (Direct Client-to-Client) në IRC. Sulmet e drejtpërdrejta zakonisht janë të automatizuara me përdorimin e krimbave. Krejt çfarë duhet të bëjnë krimbat është të kërkojnë nën-rrjetat për sistemet e lëndueshëm dhe të injektojnë bot-kodin. Secili sistem i infektuar pastaj vazhdon procesin e infektimit, duke ia lejuar sulmuesit të ketë ri-siguri dhe i jap atij mjaftë kohë për të kërkuar për viktimat tjera.
Mekanizmat që përdoren për të shpërndarë bot-ët janë një nga arsyet kryesore për të ashtuquajturën – zhurmë e prapavijës në Internet. Portet kryesore janë ato të përdorura nga Windows, në veçanti të Windows 2000 dhe XP SP1 (shiko tabelën më poshtë). Ata duket të jenë caqet e preferuara të sulmuesve, për shkak se është lehtë të gjenden kompjuterët e pa-arnuar me Windows apo ata të cilët nuk kanë firewall. Shpesh ndodh që PC shfrytëzuesit shtëpiak dhe ata në bizneset e vogla, të cilët nuk i japin fort rëndësi sigurisë të kenë një lidhje broadband që është gjithmonë duke u përdorur.

Porti    Shërbimi
42    WINS (Host Name Server)
80    HTTP (IIS or Apache vulnerability)
135    RPC (Remote Procedure Call)
137    NetBIOS Name Service
139    NetBIOS Session Service
445    Microsoft–DS–Service
1025    Windows Messenger
1433    Microsoft–SQL–Server
2745     Bagle worm backdoor
3127     MyDoom worm backdoor
3306    MySQL UDF (User Definable Functions)
5000    UPnP (Universal Plug and Play)
Etapa e kontrollit përfshin veprimet pasi që bot-i të jetë instaluar në hostin cak në një direktorium të përzgjedhur. Në mënyrë që të filloj nga Windows, ai së pari azhurnon çelësat e regjistrit të Windowsit, zakonisht atë HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\. Gjëja e parë që bën bot-i pasi të jetë instaluar me sukses është kyçja në serverin IRC dhe bashkëngjitja në kanalin e kontrollimit me përdorimin e fjalëkalimit përkatës. Nickname në IRC gjenerohet sipas nevojës. Bot-i është i gatshëm të pranoj komandat nga aplikacioni master. Sulmuesi duhet të përdorë gjithashtu edhe fjalëkalimin për tu lidhur në botet. Kjo është më se e nevojshme, ashtu që askush tjetër të mos ketë mundësinë e përdorimit të botnetit.


IRC jo vetëm se mundëson mjetet për kontrollimin e qindra të bot-ëve, por gjithashtu ia lajon sulmuesve të përdor teknika të ndryshme në mënyrë që të fsheh identitetin e vërtetë. Kjo e bën të vështirë përgjigjen ndaj sulmeve. Fatmirësisht botnetët, për nga natyra, gjenerojnë trafik të dyshimtë, i cili mund të zbulohet lehtë për shkak të shablloneve të cilat janë të njohura. Kjo i ndihmon IRC administratorët në zbulimin dhe intervenim, duke ia mundësuar atyre që të shuajnë botnetët dhe të raportojnë abuzimet.
Sulmuesit janë të detyruar të bëjnë rafinimin e teknikave C&C (Control and Command), që qon në vështirë sim të botnetit. Bot-ët prandaj shpesh konfigurohen të kyçen në server të caktuar duke përdorur hostname me hartim dinamik. Kështu sulmuesi me lehtësi mund të lëviz bot-ët në serverë të rinj, duke i mbajtur ata në kontroll edhe pas zbulimit. DNS shërbimet dinamike siç është dyndns.com apo no-ip.com përdoren për këtë qëllim.

Dynamic DNS
DNS dinamik (RFC 2136) është sistemi i cili lidh emrin e domenit me një IP adresë. Shfrytëzuesit që lidhen në Internet përmes modemeve, ADSL-së apo kabllos zakonisht nuk kanë IP adresë fikse. Kur një shfrytëzues i këtillë kyçet në Internet, ISP-ja ia cakton një IP adresë të papërdorur të zgjedhur sipas rastësisë. Kjo adresë zakonisht përdoret për sa zgjat një lidhje specifike.
Ky mekanizëm i ndihmon ISP-të të përdorin në maksimum IP adresat që kanë në dispozicion, por njëkohësisht dënon shfrytëzuesit të cilët kanë nevojë që shërbimet e veta të vejnë në dispozicion në Internet në mënyrë të përhershme, por që nuk kanë mundësi të blejnë një IP adresë statike. Në mënyrë që të zgjidhet ky problem, është krijuar DNS dinamike. Ofruesit e shërbimeve të këtilla përdorin programe të dedikuara, të cilat sinjalizojnë bazën e të dhënave DNS sa herë që ndryshohet IP adresa e shfrytëzuesit.

C & C në praktikë – Agobot

Të shohim tani një skenar të thjeshtë, i cili do të na mundësoj të shohim për së afërmi procesin command and control. Dy kompjuterë janë përdorur për këtë detyrë. I pari ekzekuton një IRC server të bazuar në UnrealIRCd 3.2.3 dhe dy makina virtuale Windows XP SP1 të bazuara në VMware Workstation (dy caqe potenciale të infektimit). I dyti ishte përdorur nga masteri për të kontrolluar botnetin përmes Irssi-së, që është një IRC klient tekstual.
Për të vështirësuar sa më shumë procesin “reverse engineering”, Agobot bën implementimin e rutinave për tu mbrojtur nga përdorimi i debugger-ëve siç janë SoftICE apo OllyDbg, dhe nga përdorimi i makinave virtuale siç janë VMware dhe Virtual PC. Prandaj ishte e duhur të bëhej hack i kodit burimor në mënyrë që të anashkalohet mbrojtja e VMware-it, para se bot-i të mund të instalohet në sistemet virtuale testuese.
Konfigurimi
Hapi i parë është konfigurimi i bot-it me përdorimin e një ndërfaqes së thjeshtë grafike. Informatat e futura përfshijnë emrin dhe portin e IRC serverit, emri i kanalit, listën e shfrytëzuesve me fjalëkalimin master, dhe përfundimisht – emrin e fajllit dhe direktoriumin në të cilin bot-i duhet të instalohet. Plugin-ët gjithashtu janë të aktivizuar duke ofruar funksionin për nuhatje dhe makinën polimorfike. Rezultati kësaj etape ishte një fajll config.h, i cili është elementar për kompilimin e bot-it.

Command and Control
Pasi bot-i të jetë kompajluar, dy sistemet tjera janë infektuar në mënyrë manuale. Kompjuteri master është lidhur në IRC server  dhe i është bashkangjitur kanalit në mënyrë që të jetë në gjendje të kontrolloj dhe komandoj bot-in.

Në mënyrë që të marr kontrollin mbi bot-ët, duhet bërë autentikimin. Kjo është bërë duke dërguar një komandë të thjeshtë për kanalin (.login FaDe dune).

Pastaj bot-i i parë është pyetur për listën e të gjitha proceseve aktive në kompjuterin e infektuar (/msg FakeBot–wszyzc .pctrl.list).

Bot-i i dytë pyetet për informatat e sistemit dhe cdkey-ët e aplikacioneve të instaluara (/msg FakeBot2–emcdnj .bot.sysinfo, /msg FakeBot2–emcdnj .harvest.cdkeys).

Në tabelën më poshtë ndodhen disa funksione të thjeshta që janë përdorur në këtë shembull, por Agobot ka një grup mjaftë të pasur të komandave dhe funksioneve.
Komanda             Përshkrimi
command.list Shfaq listën e të gjitha komandave në dispozicion
bot.dns Zgjidh një IP/hostname
bot.execute Ekzekuton një .exe fajll në kompjtuerin e infektuar
bot.open Bën hapjen e fajllit në kompjuterin e infektuar
bot.command Ekzekuton një komandë me system()
irc.server Kyçet në një IRC server
irc.join Hyn në një kanal specifik
irc.privmsg Dërgon mesazh privat për shfrytëzuesin
http.execute Shkarkon dhe ekzekuton një fajll përmes HTTP-së/cyber-ks/albtech/

1 koment

  1. nderim says:

    kete program aka link download per kete program na jep linkun

Dergo nje koment

'Ne kemi te drejten te editojm dhe t'i fshijm komentet tuaja, nese ju ne koment perdorni fjale banale fyerje, sharje, diskriminim racor.'

Relama

Abonohu

Nese deshironi te jeni te informuar ne qdo koh, ateher vetem vendose email adresen tuaj dhe kliko Abonohu pastaj aktivizoje abonimin permes email adreses tende.