Korisnički alati

Site alati


studenti:zad_deljkic:badusb_dnevnik

Razlike

Slijede razlike između dviju inačica stranice

Poveznica na ovu usporedbu

Starije izmjene na obje strane Starija izmjena
Novija izmjena
Starija izmjena
studenti:zad_deljkic:badusb_dnevnik [2016/04/15 20:54]
zdeljkic
studenti:zad_deljkic:badusb_dnevnik [2023/06/19 16:21] (trenutno)
Redak 44: Redak 44:
 Pročitao sam literaturu, organizirao ju te napisao bilješke o bitnim dijelovima (sve je u Zotero grupi). Pročitao sam literaturu, organizirao ju te napisao bilješke o bitnim dijelovima (sve je u Zotero grupi).
  
-Postoji velika količina radova ​koji se bave USB +Postoji velika količina ​relevantnih ​radova ​te je dosta toga već istraženo, uključujući i USB napade sa Androida te fingerprintanje OS-a preko USB-a, čak i sa Androida (u svrhe forenzike). 
 + 
 +No ne postoji nikakvo rješenje sa već objavljenim source kodom za fingerprintanje OS-a, niti neko rješenje koje integrira više koraka napada, primjerice detekcija OS-a te napad ovisno o rezultatu detekcije (no spominje se).
  
 == Daljnji koraci == == Daljnji koraci ==
  
-Pročitati odrediti koja je literatura najrelevantnija, te ovisno o postojećim radovima ​odrediti daljnji smjer ovog rada kako bi se napravilo ​nešto ​novo.+Ja mislim da najviše ima smisla fokusirati daljni smjer rada na sljedeće točke te izrada aplikacije/​jednostavnog frameworka za Android USB napade u tom duhu: 
 + 
 +  * USB napadi imaju neke velike prednosti - zaobilaze sve sadašnje forme zaštite, pod pretpostavkom da uspijemo uštekati ili nekoga navesti da ušteka naš zlonamjerni uređaj 
 +  * Android smartphone je odlična platforma za USB napade jer: 
 +    * Relativno lagano ga je reprogramirati da radi što želimo 
 +    * Ima //​izrazito//​ puno mogućnosti,​ potpuno neusporedivo sa drugim uređajima za USB napade: 
 +      * Moguće je koristiti ogroman broj alata razvijenih za linux, npr. sa Kali NetHunterom imamo pristup svim alatima pakiranim u Kali Linux-u (nmap, čak metasploit, itd.) 
 +        * Jedna velika prednost korištenja takvih postojećih popularnih alata je što nije potrebno izrađivati/​održavati vlastite alate, npr. nmap OS scan će samo postajati bolji s vremenom, detektirati će nove OS-ove kako se pojavljuju itd., dok drugi pristupi za detektiranje OS-a s Androida zahtjevaju određenu količinu posla i inicijalno i za održavanje 
 +      * Uz USB, obično imamo 3G, wifi, bluetooth, mikrofon... 
 +        * Mogu se koristiti kao kanali za eksfiltraciju podataka neovisni o situaciji 
 +        * Općenito, vlastiti pristup internetu otvara velike mogućnosti (npr. command&​control server) 
 +      * Snažne performanse 
 +    * Široko su dostupni, često ih nije potrebno kupiti već ih gotovo svatko posjeduje (gotovo svi imaju smartphone, Android ima ~80% market share) 
 +      * Ali opet u pitanje dolazi koliko tih mobitela ​je moguće rootati, te za koliko njih su podržani neki alati relevantni ovom radu (primjerice kernel patch za HID napade ili cijeli Kali NetHunter) 
 +    * Uvijek ih nosimo sa sobom što je praktično te smo uvijek "​spremni",​ za razliku od raznih USB rubber duckya i sličnih rješenja, jer smartphone-i imaju i izrazito korisnu svrhu osim USB napada 
 +      * Uz USB napade, moguće je sa Androida lansirati razne druge napade pa je takav mobitel praktičan kao općenito platforma za napade 
 +    * Nije "​sumnjiv",​ tj. često je korišten kao primjerice i USB memory stick-ovi te postoje legitimni razlozi zašto ga uštekati u PC 
 +      * Uštekava se u PC između ostaloga za prijenos podataka i punjenje baterije, tako da nije sumnjivo vidjeti ga uštekanog 
 +      * "​Možeš li staviti moj mobitel na punjenje na tvoj PC?" 
 + 
 +U raznim ​radovima ​su već predložene neke zanimljive ideje, no nigdje to nije skupljeno i implementirano. 
 + 
 +Funkcionalnosti koje su potrebne za efektivan napad bi bile: 
 + 
 +  * Način detektiranja kada korisnik nije za računalom, ​kako bi se tada izvršio napad koji bi korisnik inače primijetio 
 +  * Detektiranje OS-a (ili čak i detaljnije fingerprintanje PC-a) kako bi se napad mogao prilagoditi 
 +  * Razni načini napadanja PC-a 
 + 
 +Zato sam mislio kako bi bilo dobro pretvoriti aplikaciju koju radim u nekakav framework za USB napade, koji bi podijelio otprilike ovako: 
 + 
 +  * **Trigger** - okidači za započinjanje napada (prvenstveno kako ih korisnik ne bi primijetio),​ npr.: 
 +    * Čekanje fiksne količine vremena - npr. pričekaj 5min 
 +      * I ako se nešto ​dogodi na računalo što korisnik primijeti, ako je prošlo neko vrijeme od uštekavanja uređaja manje će sumnjati da je on to uzrokovao  
 +    * Čekanje određenog vremena - npr. napadni u 22:00 
 +      * Ako se primjerice uređaj ušteka u računalo u nekoj firmi gdje ga nitko ne dira (npr. svi misle da je nečiji tuđi), moguće mu je reći da pričeka 22:00 kada nikoga više neće biti tamo te da pokrene napad - tada nitko neće moći vidjeti kako se napad odvija niti vjerojatno reagirati do jutra 
 +    * Čekaj naredbu za napad - npr. napadni kada ti preko interneta C&C server to kaže 
 +      * "​Možeš li uštekati ovaj mobitel na punjenje u neko računalo?"​ te kada napadač primijeti da nitko nije oko računala, preko interneta (ili na neki drugi način) pošalje naredbu da mobitel izvrši napad 
 +    * Čekaj dok korisnik ne ode od računala - potencijalni načini implementacije:​ 
 +      * mobitel MITM-a internet promet od računala - po prometu može saznati otprilike je li korisnik aktivan (barem na internetu) - čak nije potrebno sav promet MITM-at, može se samo mobitel zadati kao DNS server preko DHCP-a no ne i default gateway, te pratiti DNS promet 
 +      * bilokoji USB uređaj može sniffati promet poslan sa PC-a drugim uređajima na istom hub-u - npr. ako korisnik prebacuje nešto na USB drive, uređaj uštekan u isti hub može vidjeti to i pretpostavit da je korisnik aktivan 
 +  * **Scan** - skeniranje računala 
 +    * Raspoznavanje OS-a po razlikama na razini USB protokola (postoje radovi o tome) 
 +    * Povezivanje mobitela i računala na istu mrežu + mrežno skeniranje (npr. nmap) 
 +      * Spomenuto je u jednom radu no ne i implementirano (u mojoj aplikaciji već je) 
 +  * **Attack** - razne implementacije USB napada, prilagođene ovisno o rezultatu skeniranja 
 +    * HID napad (simuliranje tipkovnice, miša, joysticka) 
 +    * MITM - simuliranje USB ethernet adaptera, preusmjeravanje svog internet prometa preko uređaja ili samo DNS-a 
 +    * Razno exploitanje:​ 
 +      * Exploitanje USB driver-a 
 +      * Exploitanje koda koji parse-a filesystem na USB drive-u 
 +      * Exploitanje koda koji prikazuje thumbnailove/​ikone datoteka na USB drive-u 
 +      * Zločudni office dokumenti, pdf-ovi, bilošta što će korisnik potencijalno otvoriti... 
 + 
 +Naravno ne bih implementirao sve ovo, no velik dio toga je moguće lagano implementirati. 
 + 
 +Sama aplikacija bi bila izrazito jednostavna - u njoj bi bilo moguće podesiti koje shell skripte treba pokrenuti pri sljedećem USB spajanju na PC, te bi se glavna funkcionalnost implementirala u njima (tako više manje za sad i funkcionira). 
 + 
 +=== Period međuispita + 4. tjedan (9.5.2016. - 15.5.2016.) === 
 + 
 +== Dosadašnji rad == 
 + 
 +Napisao sam početnu verziju seminara od 10-ak strana u skladu sa smjerom određenim u 3. tjednu, posalo sam ju na mail mentorima za povratne informacije. 
 + 
 +Dalje razvijam i restrukturiram aplikaciju kako bi kod bio pregledniji jer bi aplikacija trebala prijeći iz prototipa u nešto što će se objaviti  
 + 
 +== Daljnji koraci ==
  
-Za sada okvirnim pregledom svih radova nisam naišao na ništa slično aplikaciji koju sam razviotako da mi se čini da bi nastavak ​tom smjeru bio dobar.+Kad dobim povratne informacije u vezi seminaradalje ga pisati ​skladu s njima te dalje razvijati aplikaciju.
  
 ~~NOTOC~~ ~~NOTOC~~
  
studenti/zad_deljkic/badusb_dnevnik.1460753686.txt.gz · Zadnja izmjena: 2023/06/19 16:20 (vanjsko uređivanje)