DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   Web Hosting, web serveri i operativni sistemi (http://www.devprotalk.com/forumdisplay.php?f=11)
-   -   Kako otkriti kako je neko provalio u sajt (http://www.devprotalk.com/showthread.php?t=4798)

Aleksandar.Ilic 26. 02. 2008. 12:15

Kako otkriti kako je neko provalio u sajt
 
Pozdrav
imam jedan problem. A to je da mi neko stalno hakuje jedan SMF forum (1.1.4) na serveru. I to brise malo po malo, svaki dan, i onda mi je bekap beskoristan jer kasno otkrijemo brisanje.

E sad, ovi na smf sajtu, kazu da 1.1.4 nema nijedan poznati exploit, a forum je cak hakovan 2 dana nakon sto sam instalirao 1.1.4 :(

Dislocirao sam skoro sav php kod van web stabla, stavio readonly dozvole na fajlove, cak sam sifru za mysql ubacio negde bezveze u kod, i u settings.php stavio laznu sifru... menjam sifru za mysql cesto, i moderatore teram da menjaju svoje.. I apsolutno nista ne pomaze.

Pretpostavljam da je neki drugi sajt provaljen. Ali imam oko 300 sajtova, svaki ima svoj apache log, jako mi je tesko da analiziram logove.

Pretpostavljam da nije nista na nivou servera, da je on kompromitovan, jer cisto sumljam da ovi sada to ne bi iskoristili (ostavali su poruku da su siptari i sl) i pobrisali sve zivo na serveru ili nesto slicno :(

Jel ima neko ideju sta mogu da uradim da saznam kuda provaljuje:please:. Ja cu lako da zapusim rupu, samo ne znam gde je...

Ivan 26. 02. 2008. 13:10

Citat:

Originalno napisao Aleksandar.Ilic
Pozdrav
imam jedan problem. A to je da mi neko stalno hakuje jedan SMF forum (1.1.4) na serveru. I to brise malo po malo, svaki dan, i onda mi je bekap beskoristan jer kasno otkrijemo brisanje.

Sta tacno brise ? Postove, fajlove ? Samo na tom domenu ?

misk0 26. 02. 2008. 13:15

ako su samo postovi u pitanju - pogledaj mySQL ili ako ga nemas ukljuci ga pa prati kad je ko obrisao, prati vrijeme pa onda idi gledaj apache logove u to vrijeme i gledaj sta se tamo desava.

ivanhoe 26. 02. 2008. 13:22

pa ako nije uhakovana masina, onda mora da postoji u apache logu podatak o tim akcijama.. ili to ili ti hakuje bazu direktno, sto je mnogo manje verovatno (naravno, pretpostavljam da si vec promenio sve sifre na serveru?)

mozes da koristis auto-prepend u php.ini-ju da ubacis na pocetak svake skripte neko logovanje po zelji u neki svoj "tajni" log fajl, ako sumnjas da access.log ne sadrzi sve podatke...

Aleksandar.Ilic 26. 02. 2008. 13:38

Citat:

Originalno napisao Ivan (Napišite 51832)
Sta tacno brise ? Postove, fajlove ? Samo na tom domenu ?

Postove, korisnike. Pre neki dan je obrisao celu bazu. Ja imam bekap na svakih pola sata, ali dzaba mi ako on malo malo pa nesto obrise, sto se kasno primeti... kad vec prodje par dana, i onda moras da iz jedno 200 bekapa izvlacis podatke, sto je nezgodno

conica 26. 02. 2008. 13:42

mozda zvuci kao bezveze pitanje - ali da li ti je klijent mashina cista?
Ovo zvuci kao da te neko targetira namerno, a do sifara moze da dodje ako imas trojanca ili neki key logger na racunaru.
Mislim zaista treba posvetiti vremena, imati strpljenja i biti resen da nekome brises bazu, menjas postove itd.

Aleksandar.Ilic 26. 02. 2008. 13:44

pratio sam sve logove od tog domena.
Imam i mysql logove, ali on daje logove za sve baze, imam vise SMF foruma. Nemam iskustva toliko u ovome, i maltene mi je ne moguce da analiziram toliki log.
Pada mi na pamet da dignem jos jedan mysq server samo za taj smf...

@ivanhoe: to imam vec uradjeno za ovaj domen, mada nisam primetio nista slicno. Trenutno mi ne pada na pamet, koje podatke da logujem da navatam odakle dolazi.
I imam jak utisak da hakuje direktno bazu, a i ovi sa SMF sajat, ko papagaji ponavljaju da ne znaju ni za jedan exploit za smf-1.1.4

Aleksandar.Ilic 26. 02. 2008. 13:54

Citat:

Originalno napisao conica (Napišite 51839)
mozda zvuci kao bezveze pitanje - ali da li ti je klijent mashina cista?

Ovo ne znam, nije kod mene klijent. Pre par meseci smo imali hakera koji jd poznavao sve admine (ali ne i oni njega), i koji je ladno provalio u gmail naloge svih admina i nekih modova :1092: . I onda je radio pass recovery na forumu i control panelu i tako ulazio u forum i bazu...

Al sada vise nije on u pitanju. Znamo... on je bio sadista, i svaki put je na druaciji nacin ulazio. I trebalo je dosta vremena se skonta, da ima gmail naloge.

Cartman 26. 02. 2008. 20:49

To za gmail je jednostavno, dovoljno da se koristi nesiguran bezicni, ucini ce hijack sesije tako sto uhvati cookie.

Aleksandar.Ilic 27. 02. 2008. 00:36

ne verujem da je 3-4 coveka na taj nacin navatao. A za jednog znam da ne koristi WiFI...

ivanhoe 27. 02. 2008. 01:35

Citat:

Originalno napisao Cartman (Napišite 51853)
To za gmail je jednostavno, dovoljno da se koristi nesiguran bezicni, ucini ce hijack sesije tako sto uhvati cookie.

hmm,zar ne ide gmail ide preko SSL konekcije?

Ivan 27. 02. 2008. 10:45

Aleksandre, rekao si da nije brisao fajlove sto vrlo verovatno znaci da nema pristup file sistemu, orjentisi se na mysql bazu i to za tog usera. Ja bih pre svega, za svaki slucaj, isparsovao apache log za nekim cudnim upitima tragajuci za backdorom, kljucne reci npr: root, include, r57, c99, ...

@ivanhoe, gmail ne ide uvek preko SSL-a imas vise ovde.

ivanhoe 27. 02. 2008. 12:55

meni vala ide :)

proverio sam sad iz drugog browsera i stvarno prebacuje na http://, ali ja u firefoxu koristim https:// link i sve radi normalno, tako da eto, koristite https sta da vam kazem...

Cartman 27. 02. 2008. 14:07

Nema veze sto koristi ssl jer tada nece moci da se direktno uhvate podaci konekcije,
ali ako se sniff-uje saobracaj moze cookie da pokupi, i posle moze napadac da udje u gmail, hotmail, yahoo, proverio sam ih na sopstvenoj kucnoj mrezi.
Pa posle sve zavisi na sta nailazi, mozda postoji neki mail registracije negde, ista sifra itd.
Valja paziti :)

hint: creepy

Aleksandar.Ilic 27. 02. 2008. 14:47

Citat:

Originalno napisao Ivan (Napišite 51884)
Aleksandre, rekao si da nije brisao fajlove sto vrlo verovatno znaci da nema pristup file sistemu, orjentisi se na mysql bazu i to za tog usera. Ja bih pre svega, za svaki slucaj, isparsovao apache log za nekim cudnim upitima tragajuci za backdorom, kljucne reci npr: root, include, r57, c99, ...
.

da li ima slucajno neki dobar parser za apache log ili da idem rucno ?

ivanhoe 27. 02. 2008. 14:55

obican grep ti radi posao, samo potrazi ove keyworde sto ti je spomenuo Ivan, takodje trazi cudne url_enkodovane stringove, znaci kobasice sa puno %xxxx

U php skriptama loguj $_REQUEST varijable, pa onda taj log fajl grep-uj da vidis da li ti se negde pojavljuje neka SQL komanda ili neki sumnjivi paramtri, za slucaj da ima neki SQL injection propust..

i ako mozes, upgrejduj apache i mysql na serveru na poslednje verzije...

Aleksandar.Ilic 02. 03. 2008. 11:43

naravno i dalje ne znam sta se desavalo sa ovim sajtom, ali sam u medjuvremenu otkrio druge probleme. PhpMyAdmin (ceo dir sa fajlovima) je imao za vlasnika httpd usera (tako da mi je neko tamo stavio C99 root shell ).
I iskljucio sam url_fopen. I samo cu da iskljucim jos sve system exec funkcije. Ako korisnici ne mogu da paze na svoje skripte, ja nemam izbora :(

Ivan 02. 03. 2008. 12:19

Nisam ga updejtovao odavno ali moze da pomogne u nekim situacijama: PHP Security Info ;)

Vace 17. 03. 2008. 14:46

Obavezno odradi i http://rootkit.nl/projects/rootkit_hunter.html

Svojevremeno sam ga cesto koristio ... evo ti moj script sa starom verzijom rkhunter-a:

Kôd:

cd /usr/local/src/
wget http://downloads.rootkit.nl/rkhunter-1.2.8.tar.gz
tar zxf rkhunter-1.2.8.tar.gz
cd rkhunter

./installer.sh
/usr/local/bin/rkhunter --checkall --quiet --createlogfile

cat /var/log/rkhunter.log | more

Srećno.

Vace 17. 03. 2008. 15:45

Citat:

Originalno napisao Aleksandar.Ilic (Napišite 52161)
PhpMyAdmin (ceo dir sa fajlovima) je imao za vlasnika httpd usera (tako da mi je neko tamo stavio C99 root shell ).

Auuu ... to baš i nije tako dobro.

Koje još open source aplikacije imaš na serveru ? Starije verzije Horde Webmail imaju žešći bug.

cvele 17. 03. 2008. 15:59

mogao bi za pocetak da chrootujes korisnike...

Aleksandar.Ilic 17. 03. 2008. 16:09

malo je nezgodno zbog kontrol panela koji koristim. Mada su u novoj verziji ubacili to kao opciju, al je verzija jos beta...

Vace 17. 03. 2008. 17:12

Malo je nezgodno jer svi mi ovde više manje pogađamo šta bi moglo da bude a - da se razumemo - može da bude sve i svašta.

Ja sam godinu dana bio administrator za jedan američki datacentar i na svakih 10-15 dana sam radio to što ti radiš sada. I skoro svaki put je bilo drugačije.

Prvo pusti rkhunter da odradi svoje pa čitaj šta će da ti kaže. Ako je haker bio pravi i ubacio svoje fajlove, može lako da se desi da ćeš morati da uzmeš drugi server. Ja sam to imao u 10-15% slučajeva.

Onda pregledaj log file-ove za sve korisnike. Ne mislim ručno, ali možeš da grepuješ sve log file-ove samo jednom komandom ... sve zavisi od putanje do korisničkih naloga. Pregledaj i sve log file-ove koje ti generiše HSphere. Traži gde se pojavljuje znak % ili tgz, pa ako imaš sreće isplivaće na videlo.

Proveri sve user-e na serveru koji imaju ssh ili ftp pristup. Pogledaj .bash_history file-ove da vidiš šta je ko radio na serveru. Pogledaj ko se sve i odakle logovao. Redovno proveravaj server load, aktivne procese i konekcije na serveru.

...

Narodski rečeno, ima da rodiš mečku ako ti je to prvi put da juriš hakera sa komandne linije. Moj server je isto pod HSphere kontrolnim panelom tako da znam šta pričam.

Uostalom, jesi li pokušao da kontaktiraš admina u datacentru ? Ako ti je HSphere-a legalna, možeš da kontaktiraš i njih (nekad PSoft pa Comodo pa Parallel) i zatražiš pomoć.

cvele 17. 03. 2008. 18:43

Citat:

Originalno napisao Aleksandar.Ilic (Napišite 52741)
malo je nezgodno zbog kontrol panela koji koristim. Mada su u novoj verziji ubacili to kao opciju, al je verzija jos beta...

Batke da se mi razumemo :) radi ti sta oces... al ako drzis PHP kao modul, safe mode off (a po svemu procitanom 101% sam siguran da je tako)... mozes slobodno da se poceses :) jerbo ce svako iole inteligentan da radi sta i kako hoce sa svim fajlovima drugih korisnika... (hint: svi fajlovi imaju istu grupu i istog vlasnika... isti taj vlasnik/clan grupe ih izvrsava... guess what... isti on moze sa svima da radi sta hoce)

Neko reko Verat i Dizajn Zona ?

nixa 17. 03. 2008. 19:15

^ spank !

Aleksandar.Ilic 17. 03. 2008. 23:05

Citat:

Originalno napisao cvele (Napišite 52749)
Batke da se mi razumemo :) r (hint: svi fajlovi imaju istu grupu i istog vlasnika... isti taj vlasnik/clan grupe ih izvrsava... guess what... isti on moze sa svima da radi sta hoce)

Gresis :) U HSphere svaki korisnik se kreira kao systemski korisnik i svi njegovi domeni su njegovo vlasnistvo. Tako da nijedan korisnik ne moze da cacka tudje fajlove, sem ako tudji fajlovi nemaju pogresne dozvole... a to mi se mnogo cesto desava jer korisnici ne znaju mnogo toga :(

ivanhoe 18. 03. 2008. 00:30

mislim da cvele prica o tome da apache mora da ima pristup tim fajlovima, a to znaci da svaki korisnik moze svojim skriptama (koje izvrsava apache) da menja tudje fajlove..

Aleksandar.Ilic 18. 03. 2008. 09:00

mora da ima read pristup, ne i write...

A kod mene je najverovatnije i jeste slucaj da negde postoje write privilegije. Ja sam vec navatao jedan propust kroz logove, ali ima jos negde :( jer su mi skoro hakovali jedan SMF.

Inace imam rkhunter i logwatch koji rade, mada je skoro svaki put neki drugi haker u pitanju, tako da sumljam da mi je provaljen sam OS.

Niko sem root-a i jos jednog sistemskog naloga nema shell.
A izgleda cu morati da pravim skriptu za parsiranje logova :( , jer su za svaki domen na razlicitim lokacijama.

Vace 18. 03. 2008. 18:05

Citat:

Originalno napisao Aleksandar.Ilic (Napišite 52763)
A izgleda cu morati da pravim skriptu za parsiranje logova :( , jer su za svaki domen na razlicitim lokacijama.

Polako ... kod mene su log file-ovi za domen {domain} kod korisnika {user} u sledecem folderu:

Kôd:

/hsphere/local/home/{user}/logs/{domain}/
Ako je tako (ili slicno) kod tebe, probaj sledece:

Kôd:

grep "neki_text" /hsphere/local/home/*/logs/*/*
Probaj da pretrazis po .tgz, .txt, passthru, itd. Ja obicno redirektujem izlaz u neki fajl koji posle natenane analiziram.

Vace 18. 03. 2008. 18:22

Citat:

Originalno napisao ivanhoe (Napišite 52759)
mislim da cvele prica o tome da apache mora da ima pristup tim fajlovima, a to znaci da svaki korisnik moze svojim skriptama (koje izvrsava apache) da menja tudje fajlove..

Netacno.

Saki korisnik je 'owner' svojih file-ove i samo ih on moze menjati. Apache ili bilo koja scripta koja radi na web serveru ne moze menjati ove file-ove jer web server radi kao user httpd.

Problem nastaje sa korisnicima koji odredjenim folderima setuju permissions 777 i time dozvole upis/editovanje file-ova scriptama sa web servera.

ivanhoe 18. 03. 2008. 19:42

Ajd posto ste krenuli da mi drzite vakelu, da se "preciznijem izrazim":

Problem 1: Bilo koji web sajt koji ima cache ili menja neke fajlove (tokom instalacije, snima config fajlove, menja .htaccess), mora da da apachu +w privilegiju na tom diru/fajlu (obicno se user apache doda u user group). To automatski znaci da svaki korisnik moze da pise tamo. Ovo izmedju ostalog pogadja vecinu Wordpress konfiguracija sa default setinzima i ukljucenim cachom (sto mislim da vise nije po defaultu, ali bilo je dugo vremena)..

Problem 2: U setupu koji ne ukljucuje chroot, apache mora da ima read pristup svim fajlovima koji se koriste iz php-a, sto znaci da svaki korisnik na sistemu moze da procita koj vam je sifra za DB, samo ako zna gde da pogleda

Na sistemima sa vise korisnika chroot je obavezna stvar, to je bila poenta...

cvele 18. 03. 2008. 19:54

posto me vecina nije razumela, vako :)

PHP se moze postaviti na dva osnovna nacina, kao modul i kao cgi (posle dolaze razne varijacije na temu...fast cgi isl). Kada je php instaliran kao modul Apache je vlasnik falova i on ih izvrsava.
Kada je php instaliran kao cgi, khm sad dodje deo u kome cu morati da se potrudim da nekoga ne uvredim :D... Korisnik koji je vlasnik fajla izvrsava php skript, apache nema nista sa time (nikakav read ili write, vec samo fizicki sistemski korisnik). CGI ima jos jednu zackolicu :) a to je da php fajlovi, da bi se mogli izvrsiti, moraju imati permisije (max) 644, a folderi 755, u suprotnom dobices jedan lep http ISE 500.

Sad, tvoja situacija je verovatno vaka:
PHP instaliran kao modul, korisnici su vlasnici svojih fajlova ali fajlovi imaju perimisije setovane tako da svi mogu da ih citaju i izvrsavaju. Samim tim ti dozvoljavas svima da citaju tudje falove prostim include.

Ako vec kazes da *nemozes* da chrootujes korisnike (sto se rucno da iz shell-a uraditi za koji min, cak je bc ostavljao neki bash skript za to na starom default sajtu), onda setuj php da radi u safe mode i lisices sebe nepotrebnih glavobolja.

tol'ko

andrejpav 19. 03. 2008. 16:34

Mozes da namestis mod_security Apache modulu, pa da pregledas te logove.

Drugo vidi u koje vreme su brisani podatci iz baze. To bi trebao da mozes da vidis u query log-u. Onda pogledaj apache access logs i vidi koji su IP-evi bili aktivni u to vreme pa mozda mozes barem te IP-eve da blokiras privremeno.

Na kraju ako imas te IP-eve, mozes da pogledas na kojim su sve stranicama bili i mozda ces moci da provalis kojim putem upadnu u tvoj server.

bofh 20. 03. 2008. 11:18

slepo nagađanje i bockanje šta-bi-bilo-kada-bih-mogao-trt-mrt je totalno pointless.

nazovi tehničku podršku provajdera gde hostuješ sajt i traži im da urade istragu povodom upada na isti.

ne vidim zašto bi se smarao (grepovao-jebao-skenirao) kada to može da uradi neko drugi za tebe (a još je i plaćen za to)

što se tiče sigurnosti php-a i ostalih sranja vezano za njegov security (server side)....... pa gospodo php je jedan od najpopularnijih i najjednostavnijih (!!!lol!) skripting jezika out there. popularnost ide sa podilaženjem korisnicima istog.
a to je obrnuto proporcionalno tamo nekakvoj sigurnosti i dizajnerskom konceptu.

http://www.bitstorm.org/edwin/en/php/

nixa 20. 03. 2008. 13:42

^ a zar ne vidis da je server u njegovom vlasnistvu i to "sta-bi-bilo-trt-mrt" njemu treba i nikome drugom

cvele 20. 03. 2008. 14:41

da je u njegovom vlasnistvu ne bi imao ogranicenje zvano "neki tamo cp" :)
bar meni tako deluje

Aleksandar.Ilic 21. 03. 2008. 00:31

server jeste moj, ceo :). A CP mi pravi problem jer i nisam bas neki extra strucnjak za administraciju, i nisam bas rad da kastomizujem sam CP, jer je posle nezgodno kad radim update.
Javio se jedan od clanova foruma da mi licno pomogne, pa se nadam da cemo nesto navatati.

Cvele, jel imas lepo uputstvo za chroot apache-a? PHP ne zelim da prebacujem u safe mod, taj server meni sluzi za moje projekte, i uzasno me nervira safe mod.

LiquidBrain 21. 03. 2008. 12:42

Shto se tiche apache chroot-a ovde imash uputstvo: http://www.linux.com/feature/36331
ali to nece da pomogne u ovoj situaciji jer tebi nije sam httpd daemon kompromisovan vec neka od aplikacija...

cvele 21. 03. 2008. 14:33

zasto mislis da mu je neka aplikacija kompromitovana? mozda jednostavno covek ima interes da ceprka po toj aplikaciji... a da je dosao do pristupa preko mysql lozinke... ima hiljadu scenarija.

btw chroot ce spreciti razne korisnike servera da izlaze iz svog prostora i onemoguciti ih da ceprkaju po drugim fajlovima

cvele 21. 03. 2008. 14:35

eve izvukoh iz naftalina nesh:
Citat:

Originalno napisao bofh
Ok, this was and still is hell to setup in real circumstances.
Main goal is to restrict users to their home directory, making them as less as possible dangerous for system security.

The idea is coming from standard chroot(8) command:
Kôd:

/usr/sbin/chroot /d1/chroot /bin/bash
Now we have a start. However we cannot use /d1/chroot directory for all users, we want to chroot them in their own directory. So we need to substitute /d1/chroot with user's home dir, for example if we want to chroot user "mohican" we're getting to this:
Kôd:

/usr/sbin/chroot /home/users/mohican /bin/bash
Ok, this is for only one user. To automaticaly chroot user "mohican" to his own home dir we put that in a shell script to look something like this:
Kôd:

slash:~# cat /usr/local/bin/chrootsh
#!/bin/sh
exec usr/sbin/chroot /home/users/mohican /bin/bash

Now we can register that /usr/local/bin/chrootsh in global shells file /etc/shells.
So, mohican dude is chrooted, but hey, why not chroot and the others?



Vreme je GMT +2. Trenutno vreme je 04:46.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.