Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #36, НОЯБРЬ 2003 г.

Найди и поимей!

Докучаев Дмитрий aka Forb

Спецвыпуск Xakep, номер #036, стр. 036-090-4


mysql -u carder -pcarderbaze -e 'select * from table_name limit 1' name_db

дает такой же результат, что и в предыдущем случае.

Наряду с mySQL существуют другие СУБД, такие, как PostgreSQL, Oracle и др. Вряд ли ты с ними столкнешься, но не вредно знать, что в PostgreSQL базы узнаются командой "select * from postgres_db", а таблицы "select * from postgres_tables". Остальные запросы полностью совпадают с синтаксисом mySQL.

Бэкапим и забираем

После того как взломщик убедился, что информация действительно находится на сервере и доступна для чтения, ее необходимо извлечь, заархивировать и отправить в безопасное место для дальнейшего изучения =).

Казалось бы, все просто, и описывать процедуру архивирования бессмысленно, но на самом деле тут тоже существуют свои подводные камни, избежать которых помогут мои советы.

Во-первых, следует извлечь данные из нужной SQL таблицы. Для этого вовсе не обязательно выполнять команду через параметр -e и перенаправлять ее вывод в файл. Если действовать таким способом, есть вероятность потерять значительную часть большой базы. В пакете mysql существует утилита mysqldump, предназначенная как раз для решения поставленной задачи. Синтаксис ее практически не отличается от обычного клиента, поэтому команда

mysqldump -u carder -pcarderbaze name_db table_name > cc_baze

запишет структуру таблицы table_name в файл cc_baze.

Разумеется, закидывать базу данных несколькими десятками (а то и сотнями) мегабайт нерационально без архивации. Поэтому сожмем файл bzip'ом (он лучше gzip в плане компрессии). Для этого пишем:

tar jcf cc_baze.tar.bz2 cc_baze

А теперь самое сложное. Необходимо в срочном порядке выкачать архив с территории взломанного сервера. Если у хакера имеется root-доступ, то задача проста - ему надо скопировать архив в любую папку web-сервера. Но это не всегда так. Под nobody (да и другими) правами подобное редко когда можно осуществить, разве что в случае, если на каталоге стоят права на запись. В большинстве ситуаций приходится использовать утилиту ftp. Вот тут-то и всплывают всякие мелочи.

Помнишь, я говорил про интерактивный шелл? Без псевдотерминала обмен данными между юзером и командой ftp будет очень глючным. Точнее, все запросы, которые будет выдавать бинарник, взломщик увидит лишь после команды quit. Но это не означает, что залить файл через ftp невозможно. Если воспользоваться сценарием, совсем не нужно контролировать ход соединения.

Для справки: сценарий - небольшой файл, в котором содержится список команд для /usr/bin/ftp. Затем этот файл подставляется в строку запуска, и хакеру остается лишь дождаться завершения работы клиента. Единственное неудобство - это создание сценария. Команды придется дозаписывать в файл при помощи команды echo.

Назад на стр. 036-090-3  Содержание  Вперед на стр. 036-090-5