Mindannyiunknak megvannak a kedvenc jelszavai. Ezek a legfontosabb védelmi vonalak közé tartoznak az online éltünkhöz hozzáférni próbáló támadók ellen. Nem is beszélve arról, ha egy rendszergazdáról van szó, akiknek a privilegizált jelszavaival akár egy teljes céget meg lehet bénítani, vagy túszul lehet ejteni. Sajnos, amint azt mindannyian nagyon jól tudjuk, a jelszavaink állapota és erőssége nincs a megfelelő szinten, és túl gyakran hallunk egyszerű, gyári beállítású, vagy rosszul kezelt jelszavakból eredő visszaélésekről.
Kiberbiztonsági cégként időnként arra kérnek bennünket, hogy álljunk át a „sötét oldalra”, annak érdekében, hogy jobban felkészítsük magunkat és ügyfeleinket azokra a támadásokra, amelyekre a való világban számíthatnak. Ez természetesen egy előre egyeztetett, a legmesszebb menőkig jóváhagyott behatolási tesztelést jelent.
Megvizsgáltuk a távoli adminisztrációhoz használt legnépszerűbb protokollokat, (SSH, RDP, telnet stb.), hogy képet kapjunk arról, hogyan használhatják ki a támadók a gyenge jelszókezelés előnyeit a rendszerekhez való hozzáférésre. Amit találtunk, sok szempontból megerősítették feltételezéseinket.
Az ebben a cikkben részletezett a jelentéshez egy specializált szoftvereszközt használtuk az elérhető portok tesztelésére. A tesztben „beégetett” jelszavakat, gyári jelszavakat, a vállalatok kezdeti (iniciális) jelszavainak struktúráját, illetve részben a „rockyou.txt” listát használtuk, hogy meghatározzuk, hány esetben tudunk hozzáférést szerezni.
A rockyou.txt fájlban eredetileg 8,4 milliárd jelszó található, de ezt ehhez a teszthez szűkítettük és egy sima szótár fájlt használtunk, amiben csak értelmes szavak és nevek voltak. Mérete így sem volt kicsi, a tesztelt munkakörnyezetekhez igazodva összesen kb. 500.000 magyar-angol és német szót tartalmazott. A gyári jelszólistánk mérete sem volt csekély. Illetve, ha az adott cég valamilyen logika alapján generálja le a kezdeti jelszavakat, akkor ezek a listák is tetemes lehetséges jelszót tartalmaznak.
A legnépszerűbb felhasználónevek:
És az ezekhez tartozó leggyakoribb jelszavak, amivel sikeresen authentikáltuk magunkat:
Mint láthatjuk ezekben az esetekben semmiféle speciális módszert sem kellett a sikerhez, nem láttuk el a tesztelt jelszavakat joker, vagy speciális karakterekkel, kizárólag a szótárfájlokat használtuk, és a jelszavak mögé csak számokat pörgettünk be, 1-töl 9999-ig.
Ha bármely rendszerünk „sérülékeny” a brute-forcingra, vagy csak simán ignoráljuk az erre utaló logbejegyzéseket, akkor ezeket a jelszavakat átlag ennyi idő alatt lehet kipörgetni egy teljesen alap brute-force támadás során:
A gyakorlat viszont azt sugallja, hogy nem túl nehéz elkerülni az ilyen típusú támadásokat. Még csak nem is kell különösebben erős jelszót használni ahhoz, hogy megnehezítsük a támadók dolgát. Elegendő csak:
- egy teljesen véletlenszerű jelszó
- ebbe helyezzünk el néhány furcsa karaktert
- ne használjuk újra ugyanazt a jelszót
- minden bejelentkezés kapjon egyedi jelszót
- és ha lehetséges akkor egyedi felhasználónevet is
- és mindenekelőtt ne használjunk alapértelmezett gyári jelszavakat
A teljesen véletlenszerű, több mint tíz karakteres (kis- és nagybetű, + speciális karakter és számok) jelszavak előnyét nem részletezném, brute-force technikával a visszafejtése már annyit időt vehet igénybe, amennyit idő alatt már vagy felfedezik a kísérleteket, vagy pedig egyszerűen nem éri meg a befektetett energia. Viszont, ha elkezdünk játszani a fenti teszt kedvenc jelszavával,
Igen, teljesen igaz, ezek fejbentartása nem egyszerű, de egy jó jelszókezelő szolgáltatás használata segítségünkre lehet.