У меня довольно стандартный VPS под управлением Ubuntu 8.1, Apache 2.2, PHP 5 и т. Д. - стандартный стек ламп. Я использую suhosin и изо всех сил стараюсь подключить очевидные вещи, поскольку я единственный пользователь - нет доступа по SSH, кроме как через pubkey на нестандартном порту, нет корневого доступа по SSH, нет запущенного FTP-сервера, iptables настроен на то, чтобы отбрасывать все, что находится за пределами порта 80 или моего порта SSH (нет почтового сервера или чего-либо еще).
Однако я все еще был скомпрометирован (насколько я могу судить, неплохо), вероятно, с помощью SQL-инъекции. Я заблокировал пользователя SQL (есть только один вне root, и у него ограниченные права, нет файла и т. Д.)
Итак, я запустил nikto, чтобы увидеть, что я делаю не так, и есть список вещей, которые я никогда не видел и не могу найти с помощью "find" или любого другого известного мне метода. Увидеть ниже:
+ /autologon.html?10514: Remotely Anywhere 5.10.415 is vulnerable to XSS attacks that can lead to cookie theft or privilege escalation. This is typically found on port 2000.
+ /servlet/webacc?User.html=noexist: Netware web access may reveal full path of the web server. Apply vendor patch or upgrade.
+ OSVDB-35878: /modules.php?name=Members_List&letter='%20OR%20pass%20LIKE%20'a%25'/*: PHP Nuke module allows user names and passwords to be viewed.
+ OSVDB-3092: /sitemap.xml: This gives a nice listing of the site content.
+ OSVDB-12184: /index.php?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000: PHP reveals potentially sensitive information via certain HTTP requests which contain specific QUERY strings.
+ OSVDB-12184: /some.php?=PHPE9568F36-D428-11d2-A769-00AA001ACF42: PHP reveals potentially sensitive information via certain HTTP requests which contain specific QUERY strings.
+ OSVDB-12184: /some.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42: PHP reveals potentially sensitive information via certain HTTP requests which contain specific QUERY strings.
+ OSVDB-12184: /some.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42: PHP reveals potentially sensitive information via certain HTTP requests which contain specific QUERY strings.
+ OSVDB-3092: /administrator/: This might be interesting...
+ OSVDB-3092: /Agent/: This might be interesting...
+ OSVDB-3092: /includes/: This might be interesting...
+ OSVDB-3092: /logs/: This might be interesting...
+ OSVDB-3092: /tmp/: This might be interesting...
+ ERROR: /servlet/Counter returned an error: error reading HTTP response
+ OSVDB-3268: /icons/: Directory indexing is enabled: /icons
+ OSVDB-3268: /images/: Directory indexing is enabled: /images
+ OSVDB-3299: /forumscalendar.php?calbirthdays=1&action=getday&day=2001-8-15&comma=%22;echo%20'';%20echo%20%60id%20%60;die();echo%22: Vbulletin allows remote command execution. See link
+ OSVDB-3299: /forumzcalendar.php?calbirthdays=1&action=getday&day=2001-8-15&comma=%22;echo%20'';%20echo%20%60id%20%60;die();echo%22: Vbulletin allows remote command execution. See link
+ OSVDB-3299: /htforumcalendar.php?calbirthdays=1&action=getday&day=2001-8-15&comma=%22;echo%20'';%20echo%20%60id%20%60;die();echo%22: Vbulletin allows remote command execution. See link
+ OSVDB-3299: /vbcalendar.php?calbirthdays=1&action=getday&day=2001-8-15&comma=%22;echo%20'';%20echo%20%60id%20%60;die();echo%22: Vbulletin allows remote command execution. See link
+ OSVDB-3299: /vbulletincalendar.php?calbirthdays=1&action=getday&day=2001-8-15&comma=%22;echo%20'';%20echo%20%60id%20%60;die();echo%22: Vbulletin allows remote command execution. See link
+ OSVDB-6659: /kCKAowoWuZkKCUPH7Mr675ILd9hFg1lnyc1tWUuEbkYkFCpCdEnCKkkd9L0bY34tIf9l6t2owkUp9nI5PIDmQzMokDbp71QFTZGxdnZhTUIzxVrQhVgwmPYsMK7g34DURzeiy3nyd4ezX5NtUozTGqMkxDrLheQmx4dDYlRx0vKaX41JX40GEMf21TKWxHAZSUxjgXUnIlKav58GZQ5LNAwSAn13l0w<font%20size=50>DEFACED<!--//--: MyWebServer 1.0.2 is vulnerable to HTML injection. Upgrade to a later version.
Я понимаю насчет трассировки и индекса, но как насчет vbulletin и autologin? Я искал и не могу найти на сервере подобных файлов. Я понятия не имею о «MyWebServer», PHP Nuke или о Netware / сервлетах - на сервере нет ничего, кроме довольно стандартного сайта Joomla (обновленного до последней версии).
Мы очень ценим любую помощь с этими сообщениями и / или то, что я делаю неправильно.
Nikto выдает много ложных срабатываний. Большинство опубликованных вами результатов могут быть или не быть проблемой, и для этого требуется проверка вручную.
Подобные предупреждения Nikto вызваны тем, что у вас включен список каталогов.
OSVDB-3092: /logs/: This might be interesting...
Это считается незначительной уязвимостью раскрытия информации. Чтобы исправить эту уязвимость, вы можете изменить конфигурацию apache:
Options -Indexes
Другой патч - поместить в эти папки пустые страницы index.html.
Nikto также говорит, что вы, возможно, используете PHP-Nuke и Vbulletin. В этих приложениях были обнаружены уязвимости, и вы может быть уязвим. Если вы используете эти приложения, убедитесь, что они полностью обновлены.
Вот еще несколько вещей, которые вам следует сделать:
1) Очень рекомендую установить mod_security, наборы правил по умолчанию достаточно хороши для предотвращения эксплуатации.
2) Убедитесь, что у ваших веб-приложений PHP есть собственная ограниченная учетная запись пользователя MySQL. Удостовериться file_priv
был отозван в этом аккаунте. Привилегии MySQL File - одна из худших вещей, которые вы можете дать веб-приложению. Вы также должны убедиться, что у него есть доступ только к тем базам данных, которые необходимы для работы. Например, было бы ошибкой предоставить учетной записи пользователя доступ к mysql.user.
3) Беги PHPSecInfo и соответствующим образом измените файл php.ini. КРАСНЫХ ошибок быть не должно.
4) Беги OpenVAS это более свободная версия nessus. OpenVAS будет запускать Nikto вместе с кучей других тестов.