Jako tým etických hackerů jsme za léta provedli stovky penetračních testů napříč různými organizacemi, od malých firem po velké korporace. Ačkoliv se technologie neustále vyvíjejí a útočníci přicházejí s novými technikami, překvapivě často narážíme na stále stejné bezpečnostní nedostatky. V tomto článku se s vámi podělíme o deset nejčastějších slabin, které při penetračních testech pravidelně odhalujeme, a ukážeme vám i jejich reálné dopady na vaši organizaci.
Shrnutí pro ty, kteří nemají čas číst celý článek
- Slabá hesla a špatná správa přístupových údajů představují nejčastější způsob, jak se hackeři dostanou do firemních systémů.
- Neaktualizovaný software a operační systémy nechávají ve firmách otevřené bezpečnostní díry, o kterých hackeři moc dobře vědí.
- Špatně zabezpečená webová rozhraní a aplikace umožňují útočníkům získat přístup k firemním datům nebo je poškodit.
- Nedostatečné oddělení různých částí firemní sítě znamená, že když se hacker dostane do jednoho počítače, může se volně pohybovat po celé firmě.
- Zaměstnanci, kteří klikají na podvodné e-maily nebo posílají hesla po telefonu, zůstávají největší bezpečnostní hrozbou.
1. Slabá hesla a špatná správa přístupových údajů
Přestože firmy už roky školí zaměstnance o bezpečných heslech, stále je to největší problém, který při penetračních testech objevujeme. Nejde přitom jen o to, že lidé používají slabá hesla, problém je v tom, jak firmy celkově pracují s přihlašovacími údaji a jak kontrolují, kdo má k čemu přístup.
Na co narážíme:
- Předvídatelná hesla jako „Firma123”, „Heslo123” nebo „Praha2025”.
- Sdílené účty používané více zaměstnanci.
- Výchozí přihlašovací údaje, které nikdo nezměnil (admin/admin).
- Stejné heslo používané napříč různými systémy.
- Přístupové údaje bývalých zaměstnanců, které nebyly deaktivovány.

Reálný dopad:
Během jednoho penetračního testu jsme zjistili, že IT administrátor používá stejné heslo pro svůj pracovní e-mail i pro přístup k hlavním firemním serverům. Stejné heslo jsme navíc našli v seznamu ukradených hesel z jiné firmy, který koluje po internetu. Hacker by tak mohl tohle heslo vzít, vyzkoušet ho na všech firemních systémech a během několika minut by získal úplnou kontrolu nad celou firmou (mohl by číst e-maily, mazat data nebo zastavit všechny systémy).
Jak se chránit:
- Implementujte vícefaktorovou autentizaci všude, kde je to možné (kromě hesla vyžadujte ještě potvrzení přes aplikaci v telefonu).
- Používejte správce hesel pro generování a ukládání silných, unikátních hesel.
- Zaveďte pravidelné audity účtů a automatické deaktivace nepoužívaných přístupů.
- Školte zaměstnance o správných postupech při tvorbě a správě hesel.
Přečtěte si, co to jsou penetrační testy a proč je vaše firma potřebuje.
2. Neaktualizovaný software a operační systémy
Druhým nejčastějším problémem je zastaralý software a chybějící aktualizace. Když výrobce softwaru objeví bezpečnostní díru, vydá opravu (záplatu). Pokud ji nenainstalujete, hackeři přesně vědí, kde je slabé místo a jak se dostat dovnitř.
Na co narážíme:
- Operační systémy bez důležitých bezpečnostních oprav.
- Webové servery ve verzích, o kterých je známo, že mají bezpečnostní díry.
- Staré databáze, které nikdo neaktualizuje.
- Zastaralé systémy pro správu webových stránek (WordPress, Joomla, Drupal).
- Systémy tak staré, že je výrobce už vůbec nepodporuje a nevydává k nim opravy.
Reálný dopad:
Při testování středně velké výrobní společnosti jsme našli server s operačním systémem Windows Server 2008. Tento server byl stále připojený k firemní síti a měl známou bezpečnostní díru, kterou Microsoft opravil už před lety, jenže na tomto serveru oprava nebyla. Stačilo nám pár minut, abychom server ovládli, a odtud jsme se dostali do celé firemní sítě včetně systémů řídících výrobu. Skutečný hacker by tak mohl zastavit celou výrobu nebo ukrást výrobní postupy a firemní tajemství.
Jak se chránit:
- Nastavte pravidelné aktualizace všech počítačů a serverů.
- Veďte si přehled o všech zařízeních a programech ve firmě (abyste na žádný nezapomněli).
- Plánujte dopředu výměnu starých systémů, které přestanou mít brzy podporu.
- Používejte programy, které automaticky kontrolují, jestli nemáte zastaralý software.
3. SQL Injection: Útok na databáze přes webové stránky
I když by se mohlo zdát, že tento typ útoku už dávno nikdo nepoužívá, opak je pravdou. SQL Injection funguje tak, že hacker do běžného pole na webu (třeba do vyhledávání) napíše místo normálního textu speciální příkazy pro databázi. Pokud web není správně zabezpečený, tyto příkazy se provedou a hacker získá přístup ke všem datům. Stále je to jedna z nejčastějších slabin, které penetrační testy webových aplikací odhalují.
Na co narážíme:
- Formuláře a vyhledávací pole, které nekontrolují zadaný text. Můžete tam napsat databázové příkazy místo běžných slov.
- Vyhledávání na webech, které není zabezpečené proti těmto útokům.
- Části webové adresy, které lze zneužít k zadání škodlivých příkazů.
- Staré webové aplikace vytvořené v době, kdy se na bezpečnost tolik nemyslelo.
- Firemní aplikace, kde programátoři předpokládali, že se k nim nikdo zvenčí nedostane.

Reálný dopad:
Při testování e-shopu jednoho klienta jsme tuto slabinu našli ve vyhledávacím poli. Místo názvu produktu jsme napsali speciální databázové příkazy. Výsledek byl alarmující, získali jsme:
- Kompletní seznam všech zákazníků včetně jejich adres, telefonů a e-mailů,
- hesla správců e-shopu, která jsme dokázali prolomit,
- možnost přihlásit se jako administrátor a ovládat celý e-shop,
- schopnost změnit bankovní účet, kam jdou platby od zákazníků.
To vše kvůli jedinému nezabezpečenému vyhledávacímu poli na webu.
Jak se chránit:
- Zajistěte, aby každý formulář na vašem webu kontroloval, jestli někdo nezadává nebezpečné příkazy místo normálního textu.
- Nastavte databázi tak, aby webová aplikace mohla dělat jen to nejnutnější (ne mazat nebo měnit důležitá data).
- Pravidelně nechávejte testovat své webové stránky na bezpečnostní díry.
- Najměte si odborníky na penetrační testy, kteří tyto slabiny umí najít.
4. Cross-Site Scripting (XSS): Vkládání škodlivého kódu do stránek
Cross-Site Scripting (XSS) funguje tak, že hacker vloží škodlivý kód do webové stránky, například do komentáře nebo formuláře. Když si pak tuto stránku otevře jiný uživatel, škodlivý kód se spustí v jeho prohlížeči a může ukrást jeho přihlašovací údaje nebo provést akce jeho jménem. Web přitom vypadá úplně normálně, takže oběť nic netuší.
Na co narážíme:
- Komentářové sekce a diskuzní fóra, kam lze místo normálního textu vložit škodlivý kód.
- Kontaktní formuláře, které nekontrolují, co do nich lidé píšou.
- Místa, kde web zobrazuje to, co zadali uživatelé (jména, zprávy, profily), aniž by to kontroloval.
- Chybějící bezpečnostní nastavení, které by blokovalo spuštění nebezpečného kódu.
- Webové stránky, které prostě věří všemu, co uživatel zadá.
Reálný dopad:
Při testování intranetového portálu jedné finanční instituce jsme našli XSS slabinu v systému firemních oznámení. Do oznámení jsme vložili škodlivý kód, který vypadal jako normální text. Když si oznámení otevřeli zaměstnanci, stalo se následující:
- Kód automaticky odeslal jejich přihlašovací údaje na náš server (zaměstnanci o tom neměli tušení),
- Získali jsme přístupy k účtům vedoucích pracovníků včetně finančního ředitele,
- Viděli jsme důvěrné finanční dokumenty ještě před jejich zveřejněním.
Skutečný útočník by mohl tyto informace zneužít k nelegálnímu obchodování nebo je prodat konkurenci.
Jak se chránit:
- Každý text, který někdo zadá na váš web, musí projít kontrolou (nesmí obsahovat programový kód).
- Nastavte webový server tak, aby blokoval spouštění nebezpečného kódu.
- Používejte moderní programovací nástroje, které automaticky odfiltrují nebezpečné vstupy.
- Nastavte cookies (soubory s přihlašovacími údaji) tak, aby k nim škodlivé skripty neměly přístup.
Mohlo by vás zajímat: Typy penetračních testů
5. Nedostatečné oddělení částí firemní sítě
Spousta firem dobře zabezpečí přístup zvenčí, ale uvnitř firemní sítě nemají žádné bariéry. Když se hacker jednou dostane do jednoho počítače, může se volně pohybovat po celé síti, z účetního oddělení se dostane k výrobním systémům, z recepce k tajným dokumentům vedení.
Na co narážíme:
- Všechny počítače a servery jsou propojené v jedné velké síti (z každého počítače se dá dostat kamkoli).
- Účetní oddělení může přistupovat k systémům IT oddělení a naopak.
- Výrobní linky jsou ve stejné síti jako kancelářské počítače.
- Chytré tiskárny, kamery a další zařízení jsou připojené stejně jako důležité servery.
- Neexistují žádná pravidla, která by omezovala, kdo se může připojit kam.

Reálný dopad:
Při testování ve výrobní společnosti jsme prostřednictvím podvodného e-mailu (phishingu) úspěšně získali přístup k počítači jednoho ze zaměstnanců v kanceláři. Protože neexistovalo žádné oddělení sítě, stačilo nám pár hodin a měli jsme přístup úplně všude:
- Viděli jsme všechny počítače, servery a zařízení ve firmě.
- Dostali jsme se do systémů, které řídí výrobní linky.
- Mohli jsme sledovat firemní kamery.
- Četli jsme dokumenty všech oddělení včetně těch tajných.
Skutečný útočník by mohl zastavit výrobu, změnit výrobní postupy nebo ukrást kompletní firemní know-how a prodat ho konkurenci.
Jak se chránit:
- Rozdělte firemní síť na oddělené části. Účetní nemají co dělat ve výrobních systémech a naopak.
- Nastavte pravidla, která určují, kdo se může připojit kam.
- Důležité systémy (výroba, finance) musí být oddělené od běžných kancelářských počítačů.
- Pravidelně kontrolujte a aktualizujte, kdo má přístup k jakým systémům.
6. Chybějící nebo nedostatečné logování a monitoring
„Co nevidíte, nemůžete chránit.” Překvapivě často penetrační testy odhalí, že firmy vůbec nevědí, co se v jejich počítačových systémech děje. Nemají žádné záznamy o tom, kdo se kdy přihlásil, odkud, nebo co dělal. Když se pak stane bezpečnostní incident, nemají jak zjistit, co se vlastně stalo.
Na co narážíme:
- Žádné záznamy o tom, kdo se přihlašuje do systémů a co v nich dělá.
- Nikdo nesleduje, co se děje na důležitých serverech.
- Když už nějaké záznamy existují, chybí v nich důležité informace (odkud se někdo přihlásil, v kolik hodin).
- Systém nikoho neupozorní, když se děje něco podezřelého.
- Záznamy se mažou už po měsíci. Když pak něco vyšetřujete, už není co zkoumat.
Reálný dopad:
V rámci Red Team cvičení jsme získali přístup k několika firemním systémům a dva týdny jsme se volně pohybovali po jejich síti. Dělali jsme všechno, co by dělal skutečný hacker, ale IT oddělení si ničeho nevšimlo:
- Neměli žádný systém, který by sbíral a vyhodnocoval, co se děje.
- Nikdo si nevšiml, že se někdo přihlašuje v noci nebo z ciziny.
- Nesledovali, že někdo prohledává jejich síť a kopíruje data.
- Systém je na nic neupozornil, protože žádná upozornění nebyla nastavená.
Skutečný hacker by mohl zůstat ve firmě měsíce nebo roky, postupně krást data, měnit dokumenty nebo připravovat sabotáž, a nikdo by o tom nevěděl.
Jak se chránit:
- Zaveďte systém, který sbírá všechny důležité záznamy na jedno místo (odborně se tomu říká SIEM).
- Nastavte automatická upozornění. Když se někdo přihlásí v nezvyklou dobu nebo z neznámého místa, systém vás upozorní.
- Uchovávejte záznamy minimálně 6 měsíců. Budete je potřebovat při vyšetřování incidentů.
- Pravidelně kontrolujte, jestli váš monitorovací systém funguje správně.
7. Zranitelné API a nedostatečná autentizace
API je způsob, jak si spolu různé programy vyměňují data. Třeba když mobilní aplikace banky potřebuje zjistit zůstatek na vašem účtu, pošle požadavek na server. Problém nastává, když programátoři nezabezpečí tato rozhraní správně. Předpokládají, že je bude používat jen jejich aplikace, ale hacker může posílat požadavky přímo, bez aplikace.
Na co narážíme:
- Rozhraní nekontroluje, kdo se ptá na data. Kdokoli může požádat o cizí informace.
- Stačí změnit číslo v požadavku a získáte data jiného uživatele.
- Server posílá víc informací, než je potřeba (třeba i rodné číslo, když chcete jen jméno).
- Není omezený počet pokusů. Hacker může zkoušet tisíce hesel za minutu.
- Systém nekontroluje, jaká data mu posíláte.
Reálný dopad:
Při testování webové aplikace jsme zjistili, že server vůbec nekontroluje, čí data posílá. Stačilo nám:
- Vytvořit jednoduchý skript, který obcházel klientskou aplikaci.
- Změnit číslo účtu v požadavku a viděli jsme zůstatky všech klientů.
- Stáhnout seznam všech uživatelů včetně osobních údajů.
- Měnit údaje o platbách a transakcích.
Nepotřebovali jsme žádné hackerské nástroje. Stačil běžný prohlížeč a základní znalost, jak funguje internet.
Jak se chránit:
- Každý požadavek musí ověřit, kdo o data žádá a jestli k nim má právo.
- Používejte osvědčené bezpečnostní standardy, ne vlastní vymyšlené řešení.
- Posílejte jen nezbytná data, nic navíc.
- Omezte počet požadavků za minutu a sledujte podezřelé chování.
8. Náchylnost k sociálnímu inženýrství
Lidský faktor zůstává nejzranitelnějším článkem firemní bezpečnosti. Skrze phishingové kampaně pravidelně zjišťujeme, že i firmy s výborným technickým zabezpečením padnou kvůli neopatrnému zaměstnanci.
Na co narážíme:
- Zaměstnanci klikají na odkazy v podezřelých e-mailech.
- Ochotně sdělují hesla nebo důvěrné informace po telefonu neznámým lidem.
- Do budovy se dostane kdokoli, kdo vypadá, že tam patří.
- Kolegové si mezi sebou půjčují hesla.
- Lidé nechávají důležité dokumenty na stole nebo hesla na monitoru.
Reálný dopad:
Během jednoho phishingového testu jsme provedli simulovanou kampaň (falešný e-mail) zaměřenou na finanční oddělení. Výsledky byly alarmující:
- Téměř polovina (47 %) klikla na náš podvodný odkaz.
- Čtvrtina zaměstnanců zadala své firemní heslo na naší falešné stránce.
- 12 % si stáhlo „důležitou aktualizaci”, která byla ve skutečnosti virus.
- 3 zaměstnanci dokonce provedli požadované finanční transakce.
Skutečný podvodník by takto mohl ukrást miliony nebo získat přístup do všech firemních systémů.
Jak se chránit:
- Školte zaměstnance, jak poznat podvodný e-mail nebo telefonát.
- Provádějte simulované phishingové kampaně a fyzické penetrační testy.
- Nastavte jasná pravidla. Nikdy nesdělovat hesla po telefonu, vždy ověřit identitu volajícího.
- Používejte technologie, které rozpoznají a zablokují podvodné e-maily.
TIP: Automatizovaný scan zranitelností vs. manuální penetrační test
9. Chybějící šifrování citlivých dat
V době GDPR a přísných pravidel ochrany dat je zarážející, kolik firem stále nepoužívá šifrování. Jejich data putují internetem v čitelné podobě, kdokoli, kdo je zachytí, si je může přečíst.
Na co narážíme:
- Data se posílají nešifrovaně (hesla, osobní údaje, platební informace).
- Hesla jsou uložená jako obyčejný text, ne jako nečitelný kód.
- Databáze s osobními údaji nejsou šifrované.
- Používají se zastaralé šifrovací metody, které umí hackeři prolomit.
- Šifrovací klíče jsou špatně uložené.

Reálný dopad:
Při penetračním testování zdravotnického systému jsme zjistili, že:
- Zdravotní záznamy se posílaly nešifrovaně, kdokoli na síti je mohl číst.
- Hesla doktorů byla uložená tak, že jsme je snadno prolomili.
- Zálohy s daty pacientů byly uloženy nešifrovaně na síťovém úložišti.
- SSL certifikáty používaly zastaralý a zranitelný algoritmus.
Únik těchto dat by znamenal porušení lékařského tajemství tisíců pacientů a pokuty v milionech korun.
Jak se chránit:
- Všechna citlivá data musí být šifrovaná (při ukládání i posílání).
- Používejte moderní šifrovací metody, ne zastaralé.
- Šifrovací klíče uchovávejte v bezpečí (ideálně ve speciálním hardwaru).
- Pravidelně aktualizujte šifrovací technologie.
10. Zranitelné třetí strany a dodavatelský řetězec
Moderní firmy používají desítky externích služeb a dodavatelů: účetní software, cloudové úložiště, platební brány. Každý dodavatel představuje potenciální zadní vrátka do vaší firmy. Pokud hackeři napadnou vašeho dodavatele, dostanou se i k vám.
Na co narážíme:
- Dodavatelé mají přístup do firemních systémů, ale jejich zabezpečení nikdo nekontroluje.
- Firmy používají externí služby, aniž by prověřily jejich bezpečnost.
- Software obsahuje staré komponenty se známými dírami.
- Nikdo neaktualizuje použité knihovny a nástroje.
- Chybí proces kontroly bezpečnosti dodavatelů.
Reálný dopad:
Během penetračního testování jsme identifikovali, že klient měl aktivní servisní účet dodavatele se slabým heslem a administrátorskými právy. Přes něj jsme:
- Získali kontrolu nad serverem.
- Dostali se do firemní sítě.
- Mohli číst všechny firemní dokumenty.
Podobný scénář se odehrál při útoku na SolarWinds, kdy kompromitace jednoho dodavatele vedla k narušení bezpečnosti tisíců organizací včetně vládních agentur.
Jak se chránit:
- Prověřte bezpečnost všech dodavatelů předtím, než jim dáte přístup.
- Vytvořte proces kontroly bezpečnostních rizik externích partnerů.
- Pravidelně kontrolujte, jestli váš software neobsahuje známé díry.
- Dejte dodavatelům jen minimální nutná oprávnění, nic navíc.
Zjistili jste, že se vaše firma potýká s některými z výše popsaných slabin? Nebo si prostě nejste jisti, jak na tom s bezpečností jste? Profesionální penetrační testy odhalí skutečný stav vašich systémů ještě předtím, než to za vás udělají skuteční útočníci. Neváhejte a kontaktujte nás. Rádi vám s prevencí hackerských útoků pomůžeme.
Často kladené dotazy
Proč jsou slabá hesla tak častým problémem?
Etický hacker je často schopen získat přístup do systémů právě díky předvídatelným nebo sdíleným heslům. Pomůže zavedení vícefaktorové autentizace, správy hesel a pravidelných auditů účtů.
Jaký dopad může mít neaktualizovaný software?
Neaktualizované systémy obsahují známé zranitelnosti, které hackeři aktivně vyhledávají. Penetrační testy pravidelně odhalují staré servery nebo aplikace, přes které by se útočník dostal do celé sítě.
Co je SQL Injection a jak se proti ní bránit?
SQL Injection je útok na databázi přes webové formuláře. Prevence zahrnuje kontrolu uživatelských vstupů, správné nastavení práv v databázi a pravidelné penetrační testy webových aplikací.
Jak funguje útok Cross-Site Scripting (XSS)?
XSS umožňuje vložit škodlivý kód do webu, který pak útočník spustí v prohlížeči oběti. Ochrana spočívá ve filtrování uživatelských vstupů a nastavení bezpečnostních hlaviček a cookies.