Как я могу узнать * КАК * мой сайт был взломан? Как мне найти уязвимости сайта? - PullRequest
19 голосов
/ 21 ноября 2008

Один из моих специально разработанных ASP.NET сайтов был взломан сегодня: "Взломан Лебедем (Пожалуйста, прекратите войны! ..)" Он использует ASP.NET и SQL Server 2005, а также IIS 6.0 и сервер Windows 2003. Я не использую Ajax, и я думаю, что я использую хранимые процедуры везде, где я подключаюсь к базе данных, поэтому я не думаю, что это SQL-инъекция . Теперь я удалил разрешение на запись в папки.

Как я могу узнать, что они сделали для взлома сайта и что нужно сделать, чтобы он не повторился?

На сервере установлены все обновления Windows.

Они загрузили 6 файлов (index.asp, index.html, index.htm, ...) в главный каталог веб-сайта.

Какие файлы журналов я должен загрузить? У меня есть файлы журнала для IIS из этой папки: c:\winnt\system32\LogFiles\W3SVC1. Я хочу показать это некоторым из вас, но не думаю, что это хорошо, чтобы публиковать в Интернете. Кто-нибудь хочет взглянуть на это?

Я уже искал в Google, но единственное, что я обнаружил, это другие сайты, которые были взломаны - я не смог увидеть ни одного обсуждения по этому поводу.

Я знаю, что это не строго связано с программированием, но это все еще важная вещь для программистов, и многие программисты были взломаны подобным образом.

Ответы [ 8 ]

13 голосов
/ 21 ноября 2008

Похоже, что атака на ваш сайт была частью массового искажения, проведенного SWAN 21 ноября 2008 года против блоков Windows 2003 и Windows 2000 с IIS 6.0. Другие здесь предложили несколько вещей. Я бы только добавил, что всякий раз, когда вы решите открыть сайт, отформатируйте коробку и переустановите ее с нуля. Если коробка скомпрометирована, ей вообще нельзя доверять, как бы вы ее ни чистили.

5 голосов
/ 21 ноября 2008

Процесс IIS

Убедитесь, что у вашего процесса ASPNET нет привилегий для записи файлов на сервер. Если вам нужно, чтобы у процесса были разрешения на запись, разрешите им делать это только в определенной папке и запретите выполнение этих папок для всех учетных записей пользователей.

SQL-инъекция

Чтобы увидеть людей, ищущих уязвимости SQL, просмотрите в ваших файлах журнала следующий текст: «CAST (».

Есть ли у вас места, где вы собираете SQL в коде для запроса к базе данных? Они могут быть подвержены атакам SQL-инъекций. Заменив код, подобный следующему, вы будете в большей безопасности.

Dim strSQL As String = "Select * FROM USERS Where name = '" & Response.Querystring("name") "'"

затем рассмотрите альтернативу, подобную следующей.

Dim strSQL As String = "Select * FROM USERS Where name = @name"

и добавление соответствующего параметра SQL PArameter в команду sql.

2 голосов
/ 21 ноября 2008

Надеюсь, у вас включены лог-файлы IIS, и, надеюсь, хакер не удалил их. По умолчанию они расположены здесь: c: \ winnt \ system32 \ LogFiles \ W3SVC1 и, как правило, будут названы после даты.

Тогда, вероятно, полезно выяснить, как использовать парсер журналов (от Microsoft), который является бесплатным. Затем используйте это руководство , чтобы помочь вам с криминалистической проверкой ваших лог-файлов. У вас есть брандмауэр, потому что его системные журналы могут быть полезны.

Еще один полезный инструмент, который поможет вам найти проблемы с внедрением SQL-кода, - сюда и загрузку Scrawlr HP.

Если у вас есть еще вопросы о том, что вы нашли, вернитесь и спросите.

2 голосов
/ 21 ноября 2008

Ну, для начала:

  • Вы исправили свой сервер?
  • Есть ли у вас остатки таких вещей, как Серверные расширения FrontPage , Расширения Office для Интернета и т. Д .?
  • Вы убедились, что у вас нет уязвимостей SQL-инъекций?
  • Вы гуглили этот текст "Взломан лебедем"? Хитов много, возможно, один из них определил свой вход

Если у вас есть или вы не уверены, есть ли у вас проблемы с SQL-инъекцией или нет, вы можете задать этот вопрос здесь, но в противном случае я бы попросил некоторых экспертов по безопасности помочь вам.

Это действительно сайт программирования, поэтому, если ваша проблема не связана с программированием, он, скорее всего, снова закроется.

1 голос
/ 21 ноября 2008

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

Кроме того, пожалуйста, оставьте свои файлы журналов, если они не изменены.

0 голосов
/ 19 марта 2010

Включен ли FTP?

Однажды у меня был клиент, который по какой-то причине оставил свой FTP включенным, и хакер только что запустил бота, пробуя случайные / общие комбинации пользователя и пароля. Этот хак был хуже вашего, потому что не показывался на веб-страницах, но пытался установить ActiveX ...

Итак, вы можете проверить свой журнал FTP.

0 голосов
/ 19 марта 2010

Настройте Google Analytics и просмотрите все запросы, сделанные на ваш сайт. Если вы имеете дело с внедрением SQL через строку запроса, вы легко узнаете, что они сделали, и как они обнаружили ваши уязвимости.

0 голосов
/ 21 ноября 2008

Первое, что вы должны сделать, это проверить файлы журналов. Вы можете вставить их сюда, и мы сообщим вам, распознаем ли мы атаку.

...