Wednesday 29 May 2013

Vyatta and IPSEC - dynamic peers

If you ever have issues with site-to-site IPSEC vpn with Vyatta, where one of the peers is on a dynamic IP address, in addition to DPD, you need to add:

set vpn ipsec auto-update 30

where master ipsec daemon re-reads configuration files for changes and informs pluto daemon about changes. If there are IP address changes pluto daemon will be informed about the changes for effected tunnels. 

Monday 12 November 2012

Crypto I class at Coursera

In August/Spetember I attended the free Crypto I class at Coursera. It's a class about modern cryptography thought by professor Dan Boneh from Stanford University.
It requires some knowledge of discrete probability but even for me who had last math lectures around 10 years ago it wasn't a big issue.

Course lasts about 6 weeks and classes are presented as video lectures. After each class there is a required homework and optional programming homework. I would suggest to everyone to do the programming part also because after theorising you get to see the practical part too. Programming assignments were a little difficult for me as I started programming in python just recently but they were solvable.


Topics included are stream ciphers, block ciphers, message integrity, basic key exchange, public key encryption and more.

If you solve enough homeworks you will get a statement of acomplishment that looks something like this:



Overall, I was very impressed by the course and have gained new knowledge about the topics covered in the course. I would recommend the course to anyone learning about security. As not everything was covered in this class, Crypto II will begin in January on Coursera. Can't wait!


Wednesday 25 July 2012

Skype prisluškivanje

U zadnjih tjedan ili više, počelo se pričati o tome da Skype sa novim promjenama u infrastrukturi olakšava mogućnost prisluškivanja od (američkih) vladinih agencija. Da li je to istina?

Skype je od početaka bio peer-to-peer mreža korisnika gdje su korisnici sa dovoljno jakim računalima i koji nisu bili iza NAT-a postajali tzv. supernodovi. Svaki klijent, da bi mogao komunicirati kroz Skype mrežu mora biti spojen na supernode. Supernodovi su jedna vrsta baze registracija korisnika (ako ih usporedimo sa SIP-om, kao popularnim VoIP protokolom) gdje vaš klijent ako ne zna gdje se neki korisnik nalazi pita supernode. Supernodovi odrađuju i određen dio signalizacije oko uspostavljanja poziva te navodno i u nekim slučajevima služe za relaying poziva, npr. u slučaju da su korisnici koji žele pričati iza NAT-a (u SIP-u ovu funkcionalnost imaju STUN serveri koji ne rade relaying već gledaju otvorene portove).

Skype arhitektura je zapravo vrlo slična SIP arhitekturi s razlikom da Skype nema jedan ili nekoliko centralnih servera, već desetke tisuća distribuiranih "servera" među samim korisnicima.
Za razliku od nekih početnih postavki u SIP-u, sva komunikacija je enkriptirana što je odlično ako ne želite biti žrtva legalnog ili nelegalnog prisluškivanja. To predstavlja velik problem svim policijskim (a i drugim) agancijama u svijetu zbog širenja smatphonova, gdje svatko može koristiti skype i izvan svog doma te ne može biti prisluškivan (kriminalci i slično).

Problem nastaje početkom godine kada je Skype zamjenio korisničke supernodove sa svojim supernodovima koji se nalaze u njihovim datacentrima. To omogućava puno lakši pristup signalizaciji koja se koristi za uspostavljanje poziva između korisnika pošto skype ima sve enkripcijske ključeve i trivijalno je dekriptirati komunikaciju. Ista stvar je sa samim razgovorima, trivijalno je ubaciti dio koda koji će za specifični username komunikaciju forsirati kroz supernode gdje se on opet može capturirati i dekriptirati.

Na sličan način funkcioniraju i legalni Lawful Intercept sustavi koje telekom operateri moraju imati zbog raznih državnih agencija te mislim da nema sumnje da sada i Skype ima istu funkcionalnost. Priznati neće vjerovatno nikada no ni vaš telekom ne oglašava činjenicu da na nalog policije vaš broj može biti prisluškivan. Također, sumnjam da će itko drugi osim Amerikanaca koristiti tu Skype funkcionalnost (tj. neće ju skype dati ikome drugome) tako da su ostali ljudi relativno sigurni i dalje što se tiče komunkacije kroz Skype.


Tuesday 24 July 2012

WPA/WPA2 PSK bruteforcing

WPA ili Wifi Protected Access je sigurnosni protokol koji je nadogradnja WEP-a nakon što su u njemu otkrivene slabosti. Također, većina uređaja je dobila WPA samo softverskom nadogradnjom. WPA koristi TKIP enkripcijski algoritam dok WPA2 koji je nadogradnja na WPA koristi AES-CCMP koji je jači i robustniji nego TKIP.

No WPA/WPA2 protokoli su ranjivi na bruteforce dictionary napade jer napadač koji sluša razgovor između Access Pointa i klijenta može saznati sve podatke koji su mu potrebni za bruteforcanje PSK-a (WPA handshake, SSID, authenticator nounce, supplicant nounce, authenticator MAC, supplicant MAC)

Za demonstraciju napada pripremljen je AP s jednostavnim passwordom i SSID-em PENtestLAB.

Na omiljenoj pentest distribuciji moramo prvo pokrenuti airmon:
 airmon-ng start wlan0
NAkon toga sve radimo sa interfaceom mon0. Pokrećemo airodump da nadjemo podatke o našem SSID-u koji ćemo napasti:

 airodump-ng mon0

Nakon što smo saznali BSSID, pokrećemo airodump tako da monitorira kanal na kojem je naš AP:
airodump-ng –bssid 62:A6:D9:99:F3:7f --channel 2 -w pentestlab mon0

Sada je potrebno pričekati dok se neki klijent ne spoji ili ako je klijent već spojen, možemo ga prisiliti da se odspoji:
  aireplay-ng -0 5 -a 62:A6:D9:99:F3:7f mon0
Uhvatili smo WPA handshake:


Sada možemo krenuti u probijanje PSK-a sa aircrackom:
aircrack-ng pentestlab-01.cap -w /media/test/passuniq.txt
 I ukoliko nam se PSK poklapa s nekim iz našeg riječnika, dobiti ćemo key:


Nadam se da ovaj tutorial demonstrira zašto je potrebno koristiti duge i komplicirane passworde kod štićenja bežičnih mreža.

Tuesday 17 July 2012

Nvidia lagala korisnicima? Nvidia forum hack

Prije nekoliko dana Nvidia je poslala mail korisnicima svog foruma mail u kojem kazu da su uočili hack i da privremeno suspendiraju rad foruma. Zanimljivi dio maila je u onaj u kojem tvrde da su hackeri došli do salted hasheva passworda što bi značilo da ih se ne može dictionary napadom pretvoriti u passworde:
 Our investigation has identified that unauthorized third parties gained access to some user information, including:

    •  username
    •  email address
    •  hashed passwords with random salt value
    •  public-facing “About Me” profile information
No pojavio se sljedeći pastebin http://pastebin.com/G21ytATD u kojem imamo oko 800 hashiranih passworda pa možemo lagano provjeriti da li su paswordi saltani ili ne.

Pošto iz nedavnog yahoo hacka imamo manju (350k jedinstvenih) bazu passworda možemo ju hashirati i usporediti hasheve. md5sum je linux utility koji će nam pomoći u tome. Ako ste lijeni, izgenerirani file (napravio yours truly) možete skinuti s 4shareda: md5 hashes of yahoo passwords File je u formatu hash password.

Nakon toga cemo grepati hasheve s pastebina u tom fileu, da vidimo da li možemo naći koji:



Nažalost po NVidiju, nekoliko hasheva se poklapa te to znači da su lijepo lagali korisnicima da se njihovi passwordi saltaju.

Saturday 14 July 2012

Zaštita wirelessa - WPA/WPA2 Enterprise - PEAP

Kao što je pokazano u prijašnjem blog postu WPA/WPA2-PSK infrastruktura je ranjiva na napade, da li korištenjem kratkih (tj. loših) passphraseova (što će biti demonstrirano u nekom budućem blogu)  ili ranjivostima u samim Access Pointovima. Rješenje je izbjegavanje korištenja Pre Shared Keyeva (PSK) te korištenje WPA/WPA2-Enterprisea.

WPA Enterprise ili WPA-802.1X je dizajniran za veće mreže te zahtjeva korištenje Radius autentifikacijskog servera što je kompliciranije rješenje ali i sigurnije. PEAP se koristi za autentifikaciju korisnika.

Protected Extensible Authentication Protocol ili u našem slučaju PEAPv0/EAP-MSCHAPv2 je protokol koji enkapsulira EAP unutar enkriptiranog TLS tunela. MSCHAPv2 je unutarnji autentifikacijski protokol. Za one koji žele znati više: PEAP na wikipediji.

Za demonstraciju ovakve infrastrukture potreban nam je prvo Access Point koji podržava ovaj tip autentifikacije klijenata što nije problem jer bi ga trebao podržavati svaki AP. Ja ću koristiti Siemenes Gigaset sx763.

Za podizanje Radius servera iskoristit ćemo Zeroshell, malu embedded network distribuciju linuxa kojoj je jedan od mnogih featurea i ugrađeni Radius Server. Pošto je distribucija multifunkcionalna sigurno ću ju spominjati i u daljnjim postovima. Bootati ćemo ju u omiljenom virtualizacijskom softveru.

Konfiguracija infrastrukture

Nakon bootanja dočekati će nas ekran preko kojeg možemo konfigurirati osnovne postavke kao IP adresu, password itd:


Nakon podešavanja IP adrese ako nam ne paše defaultni spojimo se na web sučelje na definiranoj IP adresi sa usernameom admin i passwordom zeroshell.

 Zanima nas prvo Radius dio gdje moramo pokrenuti Radius server:












Nakon toga potrebno je autorizirati Access point sa njegovim shared secretom:




















Nakon toga potrebno je reći Zeroshellu gdje se nalazi Active Directory sa kojim se može syncati ili pošto ga nemamo, dodati cemo ručno jednog usera:


Gdje je bitno da ostavimo kvačicu kod RADIUS kućice.

Zatim podešavamo Access Point:

Potrebno je odabrati WPA2/WPA security, upisati IP adresu Radius servera (naš Zeroshell) te key koji podesili u Radius konfiguraciji. S time smo završili konfiguraciju infrastrukture te prelazimo na klijente.

Konfiguracija klijenata

Za primjer konfiguracije klijenata koristiti ćemo Iphone no konfiguracija ostalih klijenata ili računala se sastoji od istih koraka.

Prvo pronalazimo mrežu na koju se želimo spojiti:


U našem slučaju je to mreža starhawk. Kod pokušaja spajanja biti ćemo upitani za username i password:


Nakon točno upisanog passworda moramo prihvatiti certifikat:


Nakon čega se uspješno spajamo:


I to je to, WiFi infrastruktura nam je sigurnija nego prije :)

Friday 13 July 2012

Yahoo hack - kratka analiza domena

Svi su krenuli analizirati passworde iz Yahoo hacka, pa ako ste zainteresirani za detaljniju analizu, po duljini passworda itd. click here.

Što se tiče domena, najpopularnije su standardne:
 135599 yahoo.com
 106185 gmail.com
  54393 hotmail.com
  24677 aol.com
   8422 comcast.net
   6282 msn.com
 što nije iznenadjujuće.

Pošto je ovo blog na hrvatskom, bacimo pogled na hr domene:
     27 net.hr
      5 zg.t-com.hr
      2 sk.t-com.hr
      1 zg.htnet.hr
      1 trgonom.hr
      1 tehnogips.hr
      1 st.t-com.hr
      1 sinj.com.hr
      1 optinet.hr
      1 net.amis.hr
      1 molnar.hr
      1 magdalena.hr
      1 inet.hr
      1 globalnet.hr
      1 akd.hr
passwordi nisu puno bolji nego oni spomenuti u prijašnjem postu ali ima i dobrih.

Američka vojska je dosta zastupljena :) :

 160 us.army.mil
     28 navy.mil
     18 usmc.mil
     11 gimail.af.mil
     10 marauder.millersville.edu
      8 med.navy.mil
      6 dfas.mil
      5 eglin.af.mil
      3 langley.af.mil
      3 cvn76.navy.mil
      3 beale.af.mil
      3 alumnae.mills.edu
      2 wpafb.af.mil
      2 uscg.mil
      2 us.af.mil
      2 travis.af.mil
      2 scott.af.mil
      2 mcchord.af.mil
      2 keesler.af.mil
      2 cvn69.navy.mil
      2 buckley.af.mil
Gdje sam izostavio one koji su samo s jednim mailom po domeni ali ima nekoliko nosača aviona, krstarica, razarača i fregata.

I još da vidimo .gov domene:
      5 education.nsw.gov.au
      3 utah.gov
      3 usdoj.gov
      3 ssa.gov
      3 schools.nyc.gov
      3 ky.gov
      3 irs.gov
      3 gsa.gov
      3 dc.gov
      2 va.gov
      2 usps.gov
      2 tucsonaz.gov
      2 salemct.gov
      2 police.vic.gov.au
      2 okc.gov
      2 nasa.gov
      2 mt.gov
      2 med.va.gov
      2 hud.gov
      2 ed.gov
      2 dmh.mo.gov
      2 dhs.gov
      2 cdc.gov
      2 bop.gov
Gdje isto ima zanimljivih, DoJ = Department of Justice, IRS = Internal Ravenue Service, DHS = Department of Homeland Security a i nesto Australskih :)