Easy HackЗадача: избежать постоянного удаления WEB-шелла со взломанного сервераРешение:При возникновении этой проблемы можно немного усложнить жизнь бдящему админу, особенно если он не до конца догоняет принципы *nix-архитектуры. Естественно, при этом мы будем заливать шелл не вручную, а автоматически. Как? Очень просто — с помощью набора cron и команды crontab. Как гласит моя давняя подруга, wikipedia.org: cron — демон-планировщик задач в UNIX-подобных операционных системах, использующийся для периодического выполнения заданий в заданное время. 1. Для начала разберем структуру команды crontab. Таблица crontab состоит из 6 колонок, разделяемых пробелами или табуляторами. Первые пять колонок задают время выполнения (Минута, Час, День, Месяц, День недели), в них может находиться число, список чисел, разделенных запятыми, диапазон чисел, разделенных тире, или символ ‘*’. 2. Вероятно, на сервере нет поддержки псевдотерминала, поэтому создадим временный файл /tmp/cmd со следующим содержимым:
3. Запускаем команду crontab /tmp/cmd. 4. Радуемся, ведь теперь в директории /var/spool/cron (может меняться в зависимости от системы) будет создан файл с именем пользователя, который будет каждый день, в 00 часов 01 минуту запускать команду wget, для скачивания нашего шелла. Задача: просмотреть в удобном виде содержимое папки на Freebsd через инклуд или SQLРешение:Ты, наверное, уже знаешь, что FreeBSD позволяет читать (при наличии прав, конечно) не только файлы, но и содержимое самих директорий. Допустим, есть локальный инклуд или читалка файлов. Если в параметре указать не файл, а директорию, то будет выведен ее листинг. 1. Предположим, у нас есть локальный инклуд. С его помощью мы можем прочитать содержимое любого каталога. Например:
2. И даже если мы имеем банальную SQL-Injection, багофича FreeBSD придет к нам на помощь. Единственный нюанс: в СУБД должны быть права на «file_priv». site.com/file.php?file=-1+union+select+1,LOAD_FILE('/ etc/'),3/* 3. Почему это происходит, задумываться не будем, ибо это тема для отдельной статьи. Для нас важно, что такая возможность существует. Плохо лишь то, что при выводе данных в браузер информация выглядит нечитабельно. К счастью для нас, эту проблему уже решил Scipio, написав скрипт, который отлично справляется с задачей, выводит файлы, папки и символические ссылки в удобном и приятном глазу виде:
Как видишь, автор просто оптимизировал вывод данных посредством анализа посторонних hex-кодов. Больше о скрипте ты можешь прочитать по ссылке https://forum.antichat.ru/threadnav55237-1-10.html. Там же находится аналогичный сценарий от oRb’а. Выбирай любой и пользуйся. Задача: закодировать\раскодировать строку или текст различными алгоритмамиРешение:Необходимость такого рода манипуляций возникает довольно часто. И по самым разным причинам. Будь то работа с базой при MK=ON, когда требуется перевести название таблиц в хекс или чар, или перевод строки в base64, при инклудах. Или банально разобрать, что за файл с крякозябрами попал в твои хакерские ручки. В общем, область применения достаточно широкая, вопросов такого плана возникает много. 1. Для решения задачи я пользуюсь отличной прогой «Штирлиц» (автор — Всеволод Лукьянин). К сожалению, оффсайт этой софтины приказал долго жить, и разработка, видимо, уже не ведется, но и имеющиеся версии обладают серьезным функционалом и работают без багов. Эта небольшая программулина (~500 Кб) имеет огромный список алгоритмов, и может не только перевести из одной в другую кодировки, но и расшифровать испорченный текст, текст, написанный с использованием нескольких кодировок и т.д. К тому же, присутствует нужный нам функционал по кодированию в base64, hex, URL-кодирование и еще куча всего. Несомненным плюсом является бесплатность. Так что качаем, ставим и наслаждаемся. 2. Если по каким-либо причинам тебе нужен онлайн-кодировщик, то вот три линка, которые решат любую задачу в этой области: Алгоритмы:
URL, Base 64, Hex Алгоритмы: Parser URL, Base 64(encode/decode), 2 => 10 сис.счис, 10 => 2 сис.счис, 10 => 8 сис.счис, 8 => 10 сис. счис, Зеркало, Soundex(encode),ASCII код, Hex(encode), URL(encode/decode), MD5 hash(encode), Crc32(encode), ROT13(encode/decode), Char(encode), Decimal encode quest.fsb-my.name/code.php ну и кухонный комбайн от BlackSun’а Список алгоритмов не пишу, он более чем внушительный. Загляни сам, думаю, найдешь все, что нужно. Задача: сохранить шелл для удаленного инклудаРешение:Я не буду описывать способы всем давно известные (можно положить на свой сервер, на народ, на залитый уже шелл), но есть способ, о котором мне еще слышать не приходилось, — он позволяет хранить шелл достаточно долго и при этом не палить свои сервера и шеллы. Заливать шелл будем на файловый хостинг, который дает прямые линки на хранимые файлы. Предложил использовать этот способ geezer_code. 1. Создаем любое изображение.
Картинка готова к загрузке. 2. Загружаем ее без ресайзинга и любых других преобразований (это важно), например, на imageshack.us. 3. Теперь можно инклудить ее по прямой ссылке с файлообменника. Задача: найти сайт, которому принадлежит случайно обнаруженная таблица с паролями при использовании SQL-инъекцииРешение:1. Сперва попытаемся извлечь контент сайта, сохраненный в базе, и попробуем однозначно идентифицировать его через поисковики (яндекс или гугл). Контентом может являться что угодно — новость, пост на форуме, запись в блоге и т.п. Для этого мы просто ищем таблицы, схожие по смыслу, например, messages, posts, news, articles, comments и извлекаем из них контент. К примеру, делаем запрос
2. Если сайт не проиндексирован гуглом, ищем ссылки в самой базе. Для этого используем следующий like-запрос.
или
и из полученных результатов выбираем локальные ссылки (наверняка, они будут). Задача: убрать повторы строк из файлаРешение:Часто возникает необходимость убрать повторы из текстовика. При сборке своего словаря, при парсинге логов, баз. В общем, думаю, ты частенько сталкивался с такого рода проблемой. Да, существует куча программ для работы со словарями, толпы написанных парсеров и т.д., но мы пойдем другим путем. 1. Решение через PHP. Создаем php-парсер без наворотов. Комментарии я привел в коде, думаю, там все понятно. Сортировка по алфавиту и удаление повторов, это то, что в 90% случаев требуется сделать.
Файл, который нужно отпарсить, может быть и удаленным, и задаваться следующим образом:
Главное, чтобы это позволили настройки PHP-интерпретатора. 2. Консольное решение. Владельцам линухов заморачиваться со скриптами вообще не требуется. Все давно реализовано в консоли: То же самое, разумеется, можно проделать в шелле, когда отпарсить файл нужно «на месте».
Задача: сделать полноценный прокси-сервер из залитого шелла на уязвимой машинеРешение:Существует несколько популярных решений подходящих для таких целей. 1. Для прокси с протоколом http я советую использовать pproxy, потому что проект обладает рядом весомых характеристик. Состоит из двух частей На удаленный веб-сервер заливается первая часть прокси, написанная на PHP — скрипт pproxy.php На локалхосте запускается вторая часть прокси, реализованная на Perl (скрипт plocal.pl), которая прослушивает порт как HTTP-прокси. На этот локальный http-прокси настраивается, например, браузер Страница релиза — forum.antichat.ru/showpost.php?p=959778&postcount=1 (либо бери с нашего DVD). 2. Для прокси с протоколом Socks5 используем легендарный Satanic Socks Server, потому как он Написан на Си Компилируется в Unix и Windows системах — я тестировал программу в различных дистрибутивах Linux и FreeBSD, а также в Windows XP (нет причин, по которым программа не должна собираться в других операционках) Не требует root-привелегий Размер бинарника в формате PE: 2,5 Кб. В формате ELF может меняться в зависимости от ОС, я получал бинарники размером от 9 до 16 Кб Поддерживается аутентификация по логину:паролю Клиент может передавать адрес сервера как в виде D/N, так и в виде IPv4 (IPv6 не поддерживается) Поддерживается только метод connect. Это объясняется тем, что я просто не знаю софт, использующий другие методы простокола Socks5. Задача: выделить наиболее полезные команды для багоискателя после заливки самопального backconnect-шеллаРешение:1. Поиск директорий, доступных на запись, относительно текущей 2. Поиск файлов с установленным SUID-битом 3. Поиск конфигурационных файлов 4. Поиск так называемых качалок 5. Качалка wget 6. Качалка curl 7. Качалка links 8. Качалка lynx 9. Качалка fetch |