2009. január 22., csütörtök

Stratis IT-security blog abstract

Abstract of selected entries
  • Domain Hijack and Control Protocol. DHCP is widely used in various network environments. Its design and the steps of the configuration protocol lack any kind of security considerations therefore DHCP can be a serious attack vector against not only hosts in the attacker's subnet but the network infrastructure itself. The post summarizes attacks against DHCP as well as security considerations and actions that can be taken in order to prevent DHCP abuse.
  • iPhone forensics. The study summarizes the steps and methods to be performed in order to evaluate user activtiy history concerning an iPhone device. Topics of the study include hardware components, operating system, disk partitions of the device as well as places in the file system based on which user activity timeline can be constructed: sent and received SMS messages, call history, extensive browing history etc. can be used during the forensic analysis.
  • Typical vulnerabilites of web applications (I-XI). Having performed several web application penetration tests for our clients, we found that there are certain fields of web application development, which are often problematic in a security point of view. In this series of multiple entries, we summarize the most common mistakes in configuration, design and implementation of complex, multi-layered web applications. The series covers the following topics:
  1. Session handling
  2. Authentication
  3. Error and exception handling, error message engineering
  4. Client-based input validation controls
  5. SQL injection
  6. Cross-site Scripting et al.
  7. HTTP header injection
  8. Vulnerabilites in the application logic
  9. Server-side input validation controls
  10. Compiled applications
  11. Vulnerabilites in the "file upload" function implementation
  • Forensic methods and tools(I-V). Many (network/penetration) security experts are surprisingly uninformed regarding forensic issues. In this series of multiple entries, we cover several topics of forensic examinations and show tools used during forensic examinations.
  1. The Root of All Evil - Forensic analysis of the Windows Registry
  2. Forensic analysis of USB data storage devices
  3. Methods for data hiding in Windows and NTFS
  4. Big Brother is Watching - Traces of user activity in Windows
  5. Time stamps and file signatures
  • Network Access Control solutions - more problems than solutions? This entry is about an assignment in which we have tested the Network Access Control solution deployed at the client's office building. Notably, the applied policy was so strict and the IPS system was so aggressive that the defense actions could be turned against the network itself, resulting serious risks of Denial of Service attacks carried out by the deployed firewall system.
  • VLAN security. VLANs are widely used in extent networks and their main purpose is logical network segmentation. However, we have found that there are issues regarding VLAN implementation that can easily undermine the separation of different segments. In the entry, we summarize certain key points of misconfiguration and design flaws that can be often used to compromise the security and integrity of network traffic.
  • DNS cache poisoning resulting in DoS. We had an assignment in which the client's main web application cluster was under a heavy DoS attack. As part of the incident response team, we have found that the reason of the attack was the DNS poisoning of a medium-sized Hungarian ISP. According to their main DNS server, the address of google.com was the same IP as of the client's main web server. Presumably, the main reason behind the bogus HTTP requests was a "bailiwicked" attack carried out against the ISP's DNS server. In the post, we describe the methods that were performed in order to mitigate the attack.
  • WPA cracking. This entry summarizes the methods that can be used against WPA/WPA2 networks - the topic of wireless security has been again in the centre of interest since cowpatty4.5, which can crack the PSK key based on the first two message of the 802.1x 4-way handshake mechanism.
  • Hacking printers. When talking about corporate IT security, network printers are often missing from the equation, and in network penetration frameworks and methodologies, not much effort is devoted to their vulnerability assessment. The entry summarizes tools and methods that can be used to gain information from HP/Xerox printers and gives a quick overview of the attacker's opportunities, having already pwned a printer.

2009. január 21., szerda

Az MD5-tel készült tanúsítványhashekről és a phishingről

Még az index.hu-n is helyet kapott az a december végén napvilágra került sebezhetőség, amelynek publikálói használható algoritmust adtak arra, hogy hogyan lehetséges md5 használatával készült certificate fingerprinthez hamis szerveroldali “titkot” előállítani, ezáltal az md5-tel aláírt tanúsítványú oldalak ellen nagyon nehezen észlelhető phishing támadásokat indítani.

Az MD5 hashről fokozatosan kerültek napvilágra problémák 2005. után. Az első publikált sebezhetőségét egy kínai kutatócsoport publikálta: algoritmust adtak azonos md5 hash-ű adathalmazok prefixek hozzáadásával történő előállítására. Az ott leírt alogritmust többen implementálták: 2006-tól letölthető eszközök jelentek meg, különféle típusú fájlokhoz. Az egyik legjobban használható eszköz futtatható állományokat változtat meg oly módon, hogy a lenyomatuk egyezzen meg valamely tetszőleges értékkel, viszont továbbra is futtathatóak maradjanak.

A publikált támadás sémája pofonegyszerű: a támadó keres egy bankot, amelyik tanúsítványának hitelességről a felhasználó böngészője md5 hash használatával győződik meg. Letölti a legitim tanúsítványt, majd a publikált algoritmus alkalmazásával nem túl hosszú idő alatt előállít egy hamis szerveroldali titkot, amellyel a böngészők számára érzékelhetetlenül személyesíti meg az adott webhelyet. Ennyi természetesen nem elég: a felhasználót rá is kell venni, hogy látogassa meg a támadó által felállított phishing szervert – ennek kivitelezésére több lehetőség is van, de jelen írásunk szempontjából a konkrét módszer lényegtelen. A felhasználó kattint, beírja az azonosítási adatait, és már be is gyűjtötte a támadó a banki oldal által kért adatokat. A felhasználók nagy része még akkor sem fog gyanút, amikor esetleg nem tökéletesen ugyanúgy történik az azonosítás, mint azt megszokta (pl. bejelentkezésnél az egész ügyfélkódot kéri az oldal, nem csak a harmadik, hatodik és nyolcadik karakterét). Még ha biztonságtudatos is a felhasználó és megnézi a tanúsítványt, látja, hogy pl. a VeriSign írta alá – ez pedig minden kételyét eloszlatja.

Az publikáló kutatók is felismerték a probléma súlyát, ezért mielőtt a berlini 25th Annual Chaos Conference-en ismertették volna az algoritmust, felvették a kapcsolatot a tanúsítványkiadókkal, hogy változtassák meg az általuk md5-tel aláírt tanúsítványokat. Mindenképp becsülendő az igyekezet, viszont a kivitelezés már sajnos meglehetősen felemásra sikeredett: a VeriSign ingyenesen kibocsátotta újra a tanúsítványait SHA1-es lenyomattal, viszont nem minden tanúsítványkiadó tett így. A metasploit framework trunk-verziójában található olyan modul, amely md5-tel aláírt tanúsítványokat keres ipari méretekben – várhatóan a közeljövőben számos sikeres phishing támadás fog napvilágra kerülni.

Mindazonáltal a fent leírt sebezhetőség csak akkor jelent kritikus veszélyt (kritikus alatt azt értjük, hogy a gyanútlan felhasználó bankszámláját/hitelkártyáját stb. megcsapolják, tehát közvetlen anyagi kára származik), ha az azonosítási séma egyfaktoros és a tanúsítvány MD5 lenyomatát hash-sel készítették. Például azokkal a netbank alkalmazásokkal szemben, amelyek megfelelően implementált SMS-es megerősítést is kérnek egyszer használatos SMS-kódokkal, nem nyújt újabb támadási vektort a publikált sebezhetőség. Sokkal inkább azokat a weboldalakat fenyegeti veszély, amelyek hitelkártyás fizetés ellenében tesznek elérhetővé tartalmakat (pl. pornóoldalak, webshopok).

A széles körben publikált, nagy publicitást kapott sebezhetőségek esetében mindig felmerül a kérdés, hogy indokolt-e a publicitás nyomán bekövetkező pánik. Jelen esetben (a fenti okfejtés alapján) azt mondhatjuk, hogy nem: az Internet Explorer másfél hétig kijavítatlan (és szintén indexet is megjárt) karácsony előtti sebezhetősége sokkal komolyabb támadási vektort jelent.

2009. január 20., kedd

Pendrive-ok, adatszivárgás

A pendrive-okat azért szeretjük, mert kicsik, gyorsak, okosak és elképesztően sok adatot lehet tárolni rajtuk.

A pendrive-okat azért nem szeretjük, mert bár kicsik, gyorsak, okosak és elképesztően sok adatot lehet tárolni rajtuk, nagyon könnyű elveszíteni őket. Ha pedig elveszett, nem is magának a hardvernek az ára fáj, hanem a tárolt adatok elvesztése.

Mennyi adatról lehet szó? Egy 1 GB-os meghajtóra ráfér nagyjából-egészéből egymillió dokumentum, ez pedig elképzelhetetlenül nagy mennyiségű érzékeny információt jelent, ha valaki van olyan naiv, hogy minden tojását ugyanabba a kosárba teszi. Márpedig akad: ilyen kosarak gyakran (túl gyakran...) vesznek el, vessünk csak egy pillantást a beszédes nevű Data Loss Database weboldalára. Az igazán szaftos európai adat(el)vesztések kategóriájában egyértelműen a brit adóhivatal hivatal kapja meg az arany málnát a maga 25.000.000 elvesztett adatrekordjával. Végigbogarászva a top10 adatvesztési esettel kapcsolatos sajtómegjelenéseket, meglepően szűkszavú beszámolókat találunk arra vonatkozóan, hogy pontosan mi is vezetett ekkora adatmennyiség kompromittálódásához. Az említett brit adóhivatal esetében egyes források szerint egy pendrive, mások szerint egy CD volt az események középpontjában.

Egy pendrive.

A pendrive-okkal kapcsolatos biztonsági problémák abból fakadnak, hogy az eszközök kicsik, nagy a kapacitásuk és egyszerűen is használhatók, viszont a rájuk másolt adatoktól kimondottan nehéz megszabadulni. Sajnos nem segít, ha tisztára töröljük őket egy erőteljes shift-delete-tel, ugyanis az oprendszer a fájlrendszerből eltávolítja a törölt állományokra vonatkozó bejegyzéseket, viszont fizikailag továbbra is ott maradnak a meghajtón.

A törölt fájlok visszaállítására számtalan eszköz rendelkezésre áll: a véletlenül törlő “naiv felhasználó” next-next-finish-örül szintjétől a forensic nyomozók által használt, pilótavizsgás eszközökig (EnCase, Forensic Toolkit stb.) széles a kínálat. Ezek az eszközök úgy működnek, hogy nem az operációs rendszer API-ja által biztosított “fopen-szerű” hívásokkal operálnak, hanem közvetlenül az adathordozó szektorszintű feltérképezésével végzik a dolgukat. A fájlok nevei nagy valószínűséggel elvesznek a visszaállítás során, viszont a tartalmuk nem: a visszaállító eszköz a fájl első néhány bájtjából megállapítja a szignatúrát, amiből az adott fájl típusára következtet. A fenti eljárást akkor is lehet használni, ha a fájlrendszer sérül jóvátehetetlenül, és elveszik a lelkét képező index tábla, amely megmondja, hogy melyik fájl a hordozó melyik részén található fizikailag.

Lássunk egy konkrét példát arra, hogy hogy érdemes használni open-source forensic eszközöket egy pendrive-on! Alapszabály, hogy a fizikai adathordozóval történő interakciót a minimumra kell szorítani, tehát magát a visszaállítási műveletet nem magán a pendrive-on hajtjuk végre (bár az eszközök támogatják), hanem előtte egy image-et készítünk, ami bitről bitre történő végigtapogatását jelenti az eszköznek.

root@jester:/home/zsombor# dd if=/dev/sdb of=pendrive.iso

A dd helyett természetesen használható bármelyik hasonló eszköz, pl. sérült meghajtók mentésére szolgál a ddrescue.

A művelet eredményeképp létrejön a pendrive.iso, amely bitszinten pontos képe a fizikai eszközünknek. Ezek után már csak végig kell nézni fájlok után: az egyik legjobb ilyen célú, ingyenes eszköz a photorec.

zsombor@jester:~$ photorec pendrive.iso

Néhány opció megadása után a kiválasztott könyvtárba másolja azokat az állományokat, amelyek az “üres”, felülírható részben találhatóak. A kiterjesztéseket a fájlok típusa alapján egészíti ki a photorec. A photorec indítható úgy is, hogy magát a meghajtót nézi végig – ehhez viszont Windows alatt lokáladminnak kell lenni.

Nagyon tanulságos először meglepődni azon, hogy milyen régi fájlokat is vissza lehet hozni...