DevProTalk

Forumi IT profesionalaca
web development, web design, e-business, SEO


Idite nazad   DevProTalk > Web development i web aplikacije > PHP
Želite da se reklamirate ekskluzivno na ovoj poziciji? Javite se

PHP PHP aplikacije, Smarty, PEAR

Odgovori
 
Alati teme Način prikaza
Staro 08. 01. 2010.   #1
milos.z
novi član
 
Datum učlanjenja: 08.01.2010
Poruke: 3
Hvala: 0
4 "Hvala" u 1 poruci
milos.z is on a distinguished road
Default phpAV v1.1 (php-cli)

skoro sam imao prilike da sa drugom razradjenu ideju pretvorim u delo. ta ideja je bila da se napravi php skripta koja ce brzo da skenira dati direktorijum i sve unutar njega u potrazi za opasnim funkcijama koje koriste maliciozne (uglavnom php) skripte. skripta je napravljena i sa lakocom se mogu dodavati ili oduzimati funkcije za kojima se traga kao i fajlovi koji ce biti skenirani. u sledecoj verziji (trenutnoj) dodata je i mogucnost pracenja imena fajlova u potrazi za 'sumnjivim' imenima (c99, r57, locus7...).

skripta je radjena u php-cli i zahteva pokretanje iz komandne linije gde nakon zavrsenog skeniranja ispise statistiku (broj skeniranih fajlova, broj nadjenih opasnih funkcija, vreme koliko je bilo potrebno da se odredjeni direktorijum skenira...). nakon zavrsenog skeniranja, u koliko je nadjena opasna funkcija, fajl ce se pojaviti u istom direktorijumu kao i skripta gde ce biti ispisani logovi skeniranja (u kom fajlu je opasna funkcija nadjena, koji red i ceo taj red), u koliko ne bude nadjena ni jedna opasna funkcija, nece se pojaviti log fajl.

izgled statistike:
Kôd:
user@host:~/Desktop$ ./phpAV-v1.1.php /opt/lampp/htdocs/
phpAV-v1.1
Milos Zivanovic [milosz.security@gmail.com]
Dir: 					/opt/lampp/htdocs/
Dirs scanned: 				92
Files scanned: 				371
Files with dangerous functions found: 	11
Dangerous functions detected: 		24
Suspicious files detected: 		1
Time taken: 				10.68754 seconds
user@host:~/Desktop$
izgled log fajla:
Kôd:
WARNING: /opt/lampp/htdocs/c99shell.php
...
File: /opt/lampp/htdocs/c99shell.php
...
Line: 2440 |    eval($eval);
...
skripta moze pomoci administratorima u protekciji njihovih servera, odnosno brzom skeniranju odredjenog direktorijuma u potrazi za opasinm funkcijama sto moze mnogo olaksati pronalazenje opasnih skripti na serveru.

skripta je za sad testirana samo na linuxu (ubuntu karmic koala), ali u buducem razvoju je planirano testiranje i sirenje na windows platformu

link do skripte:
Kôd:
http://www.packetstormsecurity.org/web/phpav-1.1.txt
pomoc, saveti, problemi: postujte u ovom thread-u ili saljite privatnu poruku
milos.z je offline   Odgovorite uz citat
4 članova zahvaljuje milos.z za poruku:
Staro 08. 01. 2010.   #2
Ivan
Psychedelictrance freak
Wrote a book
 
Avatar Ivan
 
Datum učlanjenja: 04.06.2006
Lokacija: Srbija, Beograd
Poruke: 1.008
Hvala: 325
933 "Hvala" u 34 poruka
Ivan će postati "faca" uskoroIvan će postati "faca" uskoroIvan će postati "faca" uskoroIvan će postati "faca" uskoroIvan će postati "faca" uskoroIvan će postati "faca" uskoroIvan će postati "faca" uskoroIvan će postati "faca" uskoro
Pošaljite poruku preko Skype™ za Ivan
Default

Odlicno, bas sam skorije sa kolegom napisao slican skript za internu upotrebu. Ovakav skript u cron-u + email/sms obavestenje moze prilicno da doprinese brzom otkrivanju napada.
Ivan je offline   Odgovorite uz citat
Staro 10. 01. 2010.   #3
zidoo
profesionalac
Qualified
 
Avatar zidoo
 
Datum učlanjenja: 17.03.2006
Poruke: 109
Hvala: 9
15 "Hvala" u 10 poruka
zidoo is on a distinguished road
Default

Nice, samo napravi citanje definicija iz eksternog fajla, i da skenira JS/HTML code za poznate dosadne namete
zidoo je offline   Odgovorite uz citat
Staro 11. 01. 2010.   #4
milos.z
novi član
 
Datum učlanjenja: 08.01.2010
Poruke: 3
Hvala: 0
4 "Hvala" u 1 poruci
milos.z is on a distinguished road
Default

ne vidim poentu citanja iz eksternog fajla jer moze da se upise u isti, bas iz razloga sto 'definicija' ima malo. skripta je prvenstveno pravljena za otkrivanje php shell-ova, a za otkrivanje istih default-na konfiguracija je dovoljna.

skripta po default-u skenira html fajlove, ali u potrazi za unutrasnjim php/perl/* kodom.
ne znam sta si ti mislio da ova skripta radi...procitaj moj prvi post jos jednom, probaj da razumes svrhu i poentu programa.
ako nije problem da mi samo obrazlozis sta su 'poznate dosadne namete' i da probas da shvatis, dok to radis, kako te gluposti dodju na to mesto.
milos.z je offline   Odgovorite uz citat
Staro 11. 01. 2010.   #5
zidoo
profesionalac
Qualified
 
Avatar zidoo
 
Datum učlanjenja: 17.03.2006
Poruke: 109
Hvala: 9
15 "Hvala" u 10 poruka
zidoo is on a distinguished road
Default

vid ja sam pokuso da ti sajvet dam, ali posto vidim da si sa balkanskih prostora shvatio si to kao napad na svoj rad.

Ako ti ovaka skripta radi kroz kron kao sto rece Ivan malo je debilno da je prepravljas svaki put kad ti treba novi chekc, posto tako mozes da napravis neki mutav syntax error, zaboravis " ili ' ili tak nesto i eto problema.

Poznati nameti su onaj mutavi PHP "virus" koji u svaku *index* *main* i *.js fajl dodaje nekakv JS code, neko je imo problem na forumu, fora je sto ta skripta uvjek dodaje jedan te isti JS CODE pa onda trazis uzorak iz tog coda. Isto to radi i za PHP fajlove, dodaje neki code u vrh.

Enivej, posto si ti tako pametan i vidim da sve radis dobro sam ja ne bi vise smeto, docu kasnje da obrisem svoje postove kad se uvjerim da si procito izvinjenje.
zidoo je offline   Odgovorite uz citat
Staro 11. 01. 2010.   #6
milos.z
novi član
 
Datum učlanjenja: 08.01.2010
Poruke: 3
Hvala: 0
4 "Hvala" u 1 poruci
milos.z is on a distinguished road
Default

predrasude?

nisam shvatio kao napad na rad, vec kao kritike koje sam spreman da saslusam i da obrazlozim zasto nisam to tako uradio. nemoj pogresno da me shvatis.

skripta je ekstremno jednostavna za editovanje i mislim da je isto dal ces da editujes samu skriptu ili konfiguracioni fajl koji bih isto napisao u php formatu pa bih include-ovao u glavnu skriptu, jer da bi definicije bile u eksternom fajlu u nekom specijalnom formatu morao bih da pisem neke funkcije za citanje tog fajla i ludila i vise bi koda bilo na citanje tog fajla nego na sam rad programa (figurativno kazem)

jos jednom da dodam, prvenstveno pisan program za jurenje php shell-ova.

e sad, jurenje malicioznih javascript kodova preko funkcija je glupost. jedina mogucnost jurenja ovoga je preko neke seme ili stringa (definicija). da bi se to izvelo, potrebno je juriti maliciozne javascript kodove, vaditi seme iz njih i ubacivati u fajl sa definicijama. s obzirom da se novi maliciozni js kodovi prave svakodnevno. nemam ni vremena ni resursa da napisem kompletno av resenje za web server. (mozda bih za odredjenu sumu novca to i radio, za dz nikako)
vecina tih malicioznih js kodova dodje tu zbog slabosti u web aplikacijama, znas kako kazu, bolje spreciti nego leciti, tako da je bolje da admini vode racuna kakve se sve skripte pokrecu na njihovim serverima, i manje ce da se ciste od malicioznih js kodova.
milos.z je offline   Odgovorite uz citat
Staro 11. 01. 2010.   #7
zidoo
profesionalac
Qualified
 
Avatar zidoo
 
Datum učlanjenja: 17.03.2006
Poruke: 109
Hvala: 9
15 "Hvala" u 10 poruka
zidoo is on a distinguished road
Default

Ha cuj da ljudi vode racuna AV software bi bio suvisan

Ja sve sto sam napiso bazirano je iskljucivo na iskustvu i na problemima sa nekim virom koji je sluso FTP saobracaj, kupio user/pass i onda editovo PHP code, a taj PHP code je onda mjenjo sve HTML fajlove koji su mu dostupni.

Enivej, mi u firmi vec imamo rjesenje koji nam radi monitoring fajlova, tako pokusavamo da uhvatimo zarazen kod u sto manjem vremenu da jelte, nasi klijenti budu ASAP obavjesteni da ih nama dragi google ne bi oznacio kao opasne (jel ak ti se to desi, stvarno si nagrabusio).

To jurenje definicija je inace poso AV kuca, zat sam i predlozio odvajanje u poseban fajl pa bi danas-sutra komjuniti odrzavo definiciju svjezom a ti ili neko deseti sam software.

Et sad kad smo ""izgladili nesporazum"", fala i zivli.
zidoo je offline   Odgovorite uz citat
Staro 11. 01. 2010.   #8
3banchi
branislav mandic mando
Wrote a book
 
Avatar 3banchi
 
Datum učlanjenja: 30.10.2009
Lokacija: NS
Poruke: 1.241
Hvala: 261
486 "Hvala" u 189 poruka
3banchi ima spektakularnu auru3banchi ima spektakularnu auru3banchi ima spektakularnu auru3banchi ima spektakularnu auru3banchi ima spektakularnu auru
Default

Nisam nesto vest u php-u...pa bi me zanimalo da li bi se ovakav skript mogao napraviti tako da upozori na "change time"...odnosno da je neki fajl izmenjen - tog dana u to i to vreme, odnosno da odmah obavesti na mail/sms.
Bilo bi korisno pogotovo za sajtove koji nemaju cestih izmena od strane administratora, a onda bi baza zlonamernog koda bila irelevantna.
__________________
...
Ej, živote, teško ovo jebote,
mani me se živote, ti ga nabijem!

Poslednja izmena od 3banchi : 11. 01. 2010. u 19:40.
3banchi je offline   Odgovorite uz citat
Staro 11. 01. 2010.   #9
Nemanja Avramović
emperor Selassie
Grand Master
 
Avatar Nemanja Avramović
 
Datum učlanjenja: 20.10.2006
Lokacija: Mladenovac
Poruke: 754
Hvala: 361
576 "Hvala" u 88 poruka
Nemanja Avramović će postati "faca" uskoroNemanja Avramović će postati "faca" uskoroNemanja Avramović će postati "faca" uskoroNemanja Avramović će postati "faca" uskoroNemanja Avramović će postati "faca" uskoroNemanja Avramović će postati "faca" uskoro
Pošaljite ICQ poruku za Nemanja Avramović Pošaljite poruku preko MSN za Nemanja Avramović Pošaljite poruku preko Yahoo za Nemanja Avramović
Default

Pisao sam na ES-u na ovu temu tako da neću da se ponavljam, ali isto sam (tamo) predložio jurenje malicioznog JS-a po fajlovima. Svestan sam ja da je problem na drugom mestu i da je bolje sprečiti nego lečiti, ali kada vam (nam ) nešto već zarazi sajt malicioznim JS-om, mnogo bi lakše bilo detektovati ga preko nekog ovakvog softvera nego otvarati i tražiti isti po svim fajlovima (PHP) aplikacije/sajta.

@3banchi: Naravno da je moguće i to, samo ne znam koliko bi se opteretio server kad bi svaki čas skripta prolazila kroz sve foldere i gledala vreme poslednje izmene fajlova. U svakom slučaju skorije mi je na jedan od sajtova upao (verovatno preko kompromitovanog FTP naloga) maliciozni JS kôd, tako da sam i ja razmišljao o pravljenju slične skripte (samo još kad bih imao vremena da se bavim time :/)
__________________
Moj portfolio sajtić | wat?
Nemanja Avramović je offline   Odgovorite uz citat
Staro 11. 01. 2010.   #10
nn.nn
nobody
Expert
 
Avatar nn.nn
 
Datum učlanjenja: 19.04.2007
Poruke: 537
Hvala: 14
705 "Hvala" u 106 poruka
nn.nn će postati "faca" uskoronn.nn će postati "faca" uskoronn.nn će postati "faca" uskoronn.nn će postati "faca" uskoronn.nn će postati "faca" uskoronn.nn će postati "faca" uskoronn.nn će postati "faca" uskoro
Default

Ako te zanima koji fajlovi su menjani:
Kôd:
nice -19 find ./ -type f -cmin -20 | mail -s "alert `date +%Y-%m-%d-%H:%M`" user@example.com
Staviš u cron da radi npr. na svakih 15 minuta i ne brineš puno o opterećenosti servera. Konkretno, na mojoj mašini ~100k fajlova za manje od sekunde.

Poslednja izmena od nn.nn : 11. 01. 2010. u 21:45. Razlog: benchmark :)
nn.nn je offline   Odgovorite uz citat
3 članova zahvaljuje nn.nn za poruku:
Odgovori



Pravila pisanja
Možete ne započinjati nove teme
Možete ne slati odgovore
Možete ne slati priloge
Možete ne izmeniti svoje poruke
vB kôd je Uključen
Smajliji su Uključen
[IMG] kod je Uključen
HTML kôd je Isključen
Pogledajte forum


Vreme je GMT +2. Trenutno vreme je 19:56.


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.