Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

phpAV v1.1 (php-cli)

[es] :: PHP :: phpAV v1.1 (php-cli)

[ Pregleda: 5361 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

milos.z

Član broj: 246338
Poruke: 59
109.106.249.*

Sajt: chaossecurity.wordpress.c..


+3 Profil

icon phpAV v1.1 (php-cli)08.01.2010. u 16:07 - pre 173 meseci
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:
Code:

user@host:~/Desktop$ ./phpAV-v1.1.php /opt/lampp/htdocs/
phpAV-v1.1
Milos Zivanovic [[email protected]]
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:
Code:

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: http://www.packetstormsecurity.org/web/phpav-1.1.txt

pomoc, saveti, problemi: postujte u ovom thread-u ili saljite privatnu poruku
Free your mind and the ass will follow!
Chaos Security | Exploits | phpAV-v1.1
Prikačeni fajlovi
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
93.87.169.*

Sajt: https://avramovic.info


+46 Profil

icon Re: phpAV v1.1 (php-cli)08.01.2010. u 16:20 - pre 173 meseci
Skorije sam imao problem sa nekim s*anjem što mi je ubacilo maliciozni JS kod u fajlove na sajtu pa sam imao ideju da se napravi nešto ovako slično (samo da radi i iz browsera, ako može). Tako da eto saveta i za pretragu sumnjivih JS kodova.

Konkretno, mene je napalo ovo:

Code:
http://seoforums.org/site-optimization/118-script-gnu-gpl-try-window-onload-function-var.html


pažnja: Neki antivirusi mogu da blokiraju otvaranje gornjeg linka jer sadrži problematičan kod na stranici (iako je link potpuno bezbedan)
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

milos.z

Član broj: 246338
Poruke: 59
109.106.249.*

Sajt: chaossecurity.wordpress.c..


+3 Profil

icon Re: phpAV v1.1 (php-cli)08.01.2010. u 16:40 - pre 173 meseci
hmm

da bi ti neko ubacio to u fajlove verovatno je preko ranjivosti na sajtu uploadovao prvo php shell, pa koristeci to procackao malo, drugi nacin je da je imao cpanel/ftp password pa preko toga editovao, mada vece su sanse da je ono prvo. moja skripta bi detektovala taj shell verovatno.

e sad sto se tice malicioznog javascript-a tesko da to moze da se prepoznaje po funkcijama, tagovima, il sta vec. kod ubacivanja JS-a ima 2 mogucnosti:
- preko nevidljivog iframe-a
+koriscenje iframe-a (sto se koristi i u normalnim javascript skriptama pa je tesko detektovati preko toga)
+koriscenje eval() funkcije i hex zapisa npr (moja skripta bi ovo detektovala)
- ceo source na licu mesta
e sad kod ove varijante ceo source na licu mesta, kako detektovati maliciozni javascript kod?
u vecini slucajeva taj kod ce biti obfuscated (zamrljan, unakazen i sve sto moze samo da ne bude citljiv, ali funkcionalan) i koristice 'normalne' funkcije

ova skripta kojom si ti bio zarazen koristi funkcije createElement, setAttribute, appendChild i sl.
u koliko ne hostujes sajtove koji sadrze ove funkcije, dodaj ih u niz opasnih funkcija u mojoj skripti i takodje dodaj samo js ekstenziju u file types
Free your mind and the ass will follow!
Chaos Security | Exploits | phpAV-v1.1
 
Odgovor na temu

Ivan.Markovic

Član broj: 97763
Poruke: 330

Sajt: security-net.biz


+19 Profil

icon Re: phpAV v1.1 (php-cli)09.01.2010. u 20:38 - pre 173 meseci
Odlicno, ovakav skript u cron-u + email/sms obavestenje moze prilicno da doprinese brzom otkrivanju napada.
“If you think you are too small to make a difference, try sleeping with a mosquito.” - Dalai Lama
XIV
 
Odgovor na temu

MilosDj
Milos Djuric
Belgrade

Član broj: 14174
Poruke: 307
109.93.20.*



+4 Profil

icon Re: phpAV v1.1 (php-cli)19.01.2010. u 00:11 - pre 173 meseci
Svaka cast za trud!
Ja sam vezbe radi poceo da pravim white list klasu. Isto skenira sve u diru i prijavi izmenjene fajlove. Ali tvoja skripta je za stepen bolja jer javlja line gde je izvrsena izmena! To stvarno ubrzava brisanje 'dodataka'!
I'm not in this world to live up to your expectations and you're not in this world to live up to mine.
 
Odgovor na temu

peromalosutra
Ivan Rajkovic
Software engineer
Luxoft
Berlin

Član broj: 54774
Poruke: 871
*.customer.blic.net.



+148 Profil

icon Re: phpAV v1.1 (php-cli)20.01.2010. u 18:10 - pre 173 meseci
Pohvale autoru, skripta je stvarno super.

Imao sam priliku da ju prakticno upotrijebim na jednom zarazenom sajtu. Mislim da bi naglasak u razvoju skripte trebalo staviti na neku vrstu sintaksne analize koda, pored redovnog dodavanja novih malicioznih skripti u neku centralizovanu bazu. Na primjer, pretrazujuci za upotrebom eval() funkcije nasao sam nekih 10-ak backdoor-ova tipa:
Code:

if (isset($_POST['code']))
   eval($_POST['code']);


razbacanih sirom sajta. Isto se naravno moglo postici i sa grep "eval" -R . ali bolje je imati sve ove stvari na jednom mjestu.

Takodje, prijedlog je da se omoguci da skripta pozove base64_decode() kada naidje na enkodovan tekst, jer se maliciozne skripte cesto enkoduju da bi ih se teze naslo obicnim tekstualnim pretrazivanjem.

U svakom, dobra ideja i nadam se da ce se razvoj nastaviti.



 
Odgovor na temu

milos.z

Član broj: 246338
Poruke: 59
*.opera-mini.net.

Sajt: chaossecurity.wordpress.c..


+3 Profil

icon Re: phpAV v1.1 (php-cli)20.01.2010. u 20:23 - pre 173 meseci
Drago mi je da je skripta nekome pomogla :)
U planu je nova verzija, malo uproscena i neke stvari izostavljene. Planiram da izbacim traganje za semama u imenima fajlova jer smatram da je nepotrebno jer se svaki fajl otvara i pretrazuje iznutra.

Sto se tice tih backdoor-ova koje si nasao, phpAV je pravljen za jurenje upravo takvih kodova.

Sto se tice predloga za dekodovanje base64 enkodovanog koda, mislim da je nepotrebno, a evo i razloga
maliciozni kod se enkoduje i dobije se base64 kod, kako se onda skripta pokrece
eval(base64_decode(KOD_OVDE));
koriscena je funkcija eval, za kojom traga moja skripta, tako da, znaces gde se izvrsava enkodovani kod, a ako te bas zanima sta taj kod radi, mozes lako da umesto eval, napises echo ili da upises u neki fajl i vidis sta tacno taj kod radi :)

Sumnjam da ce ne-maliciozna skripta da izvrsava enkodovani (skriveni) kod, tako da ako naidjete na ovo, verovatno je backdoor.

Otvoren sam za ideje i predloge/savete.

Inace, u pripremi je jos jedan program za pomaganje u cuvanju bezbednosti web servera i fajlova na njma
Free your mind and the ass will follow!
Chaos Security | Exploits | phpAV-v1.1
 
Odgovor na temu

SETI_explorer
Vladimir Stamenković
Wordpress Developer
Vukojebina

Član broj: 128574
Poruke: 29
109.93.29.*

Sajt: www.pentesting-rs.org


Profil

icon Re: phpAV v1.1 (php-cli)24.01.2010. u 12:10 - pre 173 meseci
Hmm...

Struktura skripte me nekako previse podseca na skriptu koja se jos pre pojavila na Internetu kao Anti-Gumblar skripta. Ona je trazila fajlove inficirane JS kodom (ovo se pominjalo u predjasnjim postovima), sto zapravo predstavlja Gumblar napad (kradja FTP lozinki i automatsko upload-ovanje malicioznog koda na sajt kojem zrtva ima pristup...

Anyway, pohvale za ulozeni trud. Ovde bih jos dodao Email upozorenje administratora servera, kao i automatsko brisanje zarazenog fajla i vracanje backup-a istog (ako postoji naravno). Moglo bi se dodati i skreniranje antivirusnim Linux software-om kao sto je clamscan.
 
Odgovor na temu

milos.z

Član broj: 246338
Poruke: 59
109.106.244.*

Sajt: chaossecurity.wordpress.c..


+3 Profil

icon Re: phpAV v1.1 (php-cli)25.01.2010. u 00:37 - pre 173 meseci
hvala na pohvalama

planiram da dodam slanje loga na email i belezenje vremena i datuma zadnjeg menjanja skripte (modify time) u sledecoj verziji (koja ce verovatno biti poslednja)

u koliko admin poseduje malo znanja, moze lako da razlikuje backdoor od obicne skripte potrebne za rad nekog cms-a il foruma il neceg treceg, tako da mislim da je skeniranje AV-om nepotrebno(ako neko nije siguran, moze da skenira fajl zasebno). takodje nisam za brisanje fajla jer, npr phpBB forum skripta koristi system ili shell_exec funckiju (nisam siguran), moja ideja je bila da samo prikazem korisniku info pa da on sam proceni sta dalje treba da radi.
Free your mind and the ass will follow!
Chaos Security | Exploits | phpAV-v1.1
 
Odgovor na temu

Nemke_BG

Član broj: 163822
Poruke: 341
*.static.sbb.rs.

Jabber: Nemke_BG@elitesecurity.org
Sajt: https://www.nmdesign.rs


+45 Profil

icon Re: phpAV v1.1 (php-cli)25.01.2010. u 11:20 - pre 173 meseci
@milos samo jedna sitnica ovo sto si gore napisao da sve te funkcije moraju na kraju da zovu eval i base64_decode je samo delimicno tacno......jer sreca pa je eval "language constuctor" a ne klasicna funkcija inace bi moglo na primer ovo

Code:

$x = strrev('edoced_46esab');
$y = strrev('lave')
$y($x('neki php kod'));


ali kazem sreca pa je eval "language constructor" pa moraju ovako da pisu(sto sam i video u nekim od tih skripti)...

Code:

$x = strrev('edoced_46esab');
eval($x('neki php kod'));


ovo ti samo kazem da bi imao u vidu i ovakve probleme, mada resenje za isti mi trenutno ne pada na pamet...
...
 
Odgovor na temu

mikikg
System administrator
Srbija

Član broj: 3779
Poruke: 5059
79.101.222.*

Sajt: yu3ma.net


+505 Profil

icon Re: phpAV v1.1 (php-cli)03.02.2010. u 07:25 - pre 172 meseci
Fina skriptica ...

Ja sam napravio slicnu u web varijanti sa preg_match_all funkcijom (jeste sporija al' me bas briga) koja i vrati sumljivo parce code-a pa lakse mogu da uocim problematicnu skriptu.

Evo paterne koju mozes da implementiras u svoj skript za trazenje malware html/js code-a:

"try{window.onload(.*)",
"setAttribute\(\'defer\'(.*)",
...

PS: Skeniraj dodatno exksenzije .gif i .jpg, i tu znaju da se sakriju!

Site about Software Defined Radio – SDR
http://yu3ma.net/
https://github.com/yu3ma
On-line LM317 kalkulator
 
Odgovor na temu

jorganwd
Muris Kurgaš
/dev/null

Član broj: 65537
Poruke: 779

Sajt: www.remote-exploit.org


+34 Profil

icon Re: phpAV v1.1 (php-cli)04.02.2010. u 14:06 - pre 172 meseci
Svaka cast za autora. :)
 
Odgovor na temu

Darklord
Linux System Administrator
Subotica

Član broj: 30588
Poruke: 559
*.adsl-1.sezampro.yu.



+46 Profil

icon Re: phpAV v1.1 (php-cli)25.02.2010. u 09:28 - pre 172 meseci
Napravio si par gresaka sa komentarima verovatno u dok si radio update pa nisi ni primetio. Dakle linija 38 i 70

Kako dekodirati pa potom skenirati mnoge skripte se koriste zanimljivim nacinim "zastite" od skenera evo primer jednog

eval("?>".gzuncompress(base64_decode("KOD")));
http://www.adiswitch.com/
---------------------------------------
Na društvenim mrežama.
http://www.facebook.com/adiswitchdoo
https://twitter.com/#!/adiswitch
---------------------------------------
 
Odgovor na temu

milos.z

Član broj: 246338
Poruke: 59
91.148.81.*

Sajt: chaossecurity.wordpress.c..


+3 Profil

icon Re: phpAV v1.1 (php-cli)26.02.2010. u 13:06 - pre 172 meseci
@mikikg: bice dodato, hvala

@jorganwd: hvala

@Darklord: nisu to moje greske u komentarima, vec lose formatiranje pa su neki komentari presli u red ispod, bez znaka za komentar. evo verzije sa normalnim formatiranjem: http://pastebin.com/5stwsDzP (verzija skripte je 1.1)

a sto se tice skrivanja koda, tvoj primer nece zaobici moj skener jer ce detektovati eval() funkciju. ti sa malicioznim kodom mozes da uradis sta hoces (kompresije, enkodovanja, 'igranje' sa stringovima...) ali da bi on radio moras da ga ubacis u eval() funnkciju, a tu te moja skripta ceka :)
Free your mind and the ass will follow!
Chaos Security | Exploits | phpAV-v1.1
 
Odgovor na temu

[es] :: PHP :: phpAV v1.1 (php-cli)

[ Pregleda: 5361 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.