08. 01. 2010. | #1 |
novi član
Datum učlanjenja: 08.01.2010
Poruke: 3
Hvala: 0
4 "Hvala" u 1 poruci
|
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$ Kôd:
WARNING: /opt/lampp/htdocs/c99shell.php ... File: /opt/lampp/htdocs/c99shell.php ... Line: 2440 | eval($eval); ... 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 |
4 članova zahvaljuje milos.z za poruku: |
08. 01. 2010. | #2 |
Psychedelictrance freak
Wrote a book
|
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.
__________________
Testiranje bezbednosti web aplikacija |
10. 01. 2010. | #3 |
profesionalac
Qualified
Datum učlanjenja: 17.03.2006
Poruke: 109
Hvala: 9
15 "Hvala" u 10 poruka
|
Nice, samo napravi citanje definicija iz eksternog fajla, i da skenira JS/HTML code za poznate dosadne namete
|
11. 01. 2010. | #4 |
novi član
Datum učlanjenja: 08.01.2010
Poruke: 3
Hvala: 0
4 "Hvala" u 1 poruci
|
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. |
11. 01. 2010. | #5 |
profesionalac
Qualified
Datum učlanjenja: 17.03.2006
Poruke: 109
Hvala: 9
15 "Hvala" u 10 poruka
|
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. |
11. 01. 2010. | #6 |
novi član
Datum učlanjenja: 08.01.2010
Poruke: 3
Hvala: 0
4 "Hvala" u 1 poruci
|
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. |
11. 01. 2010. | #7 |
profesionalac
Qualified
Datum učlanjenja: 17.03.2006
Poruke: 109
Hvala: 9
15 "Hvala" u 10 poruka
|
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. |
11. 01. 2010. | #8 |
branislav mandic mando
Wrote a book
Datum učlanjenja: 30.10.2009
Lokacija: NS
Poruke: 1.241
Hvala: 261
486 "Hvala" u 189 poruka
|
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. |
11. 01. 2010. | #9 |
emperor Selassie
Grand Master
|
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 :/) |
11. 01. 2010. | #10 |
nobody
Expert
Datum učlanjenja: 19.04.2007
Poruke: 537
Hvala: 14
705 "Hvala" u 106 poruka
|
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 Poslednja izmena od nn.nn : 11. 01. 2010. u 21:45. Razlog: benchmark :) |
3 članova zahvaljuje nn.nn za poruku: |
|
|