Взлом сервера centos через уязвимость bash shellshock

Тестовый стенд

Так как продукт коммерческий, простого докер-контейнера в этот раз не будет. Самый легкий способ поднять стенд — это скачать тридцатидневную пробную версию BIG-IP VE (Virtual Edition). Для этого нужен аккаунт, который можно создать на сайте F5. После подтверждения можно будет переходить в раздел загрузок.

Нам нужна последняя уязвимая версия, это — 15.1.0.3. BIG-IP распространяется в нескольких вариантах, нас интересует образ виртуальной машины в формате OVA. Перед загрузкой предложат выбрать удобное зеркало.

Страница загрузки виртуальной машины BIG-IP в формате OVA

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

После этого импортируем скачанный образ в свою программу виртуализации. Я буду использовать VMware, но и VirtualBox отлично с этим справится.

После успешного импорта загружаем виртуалку. Через некоторое время видим приглашение для авторизации.

Авторизация в виртуальной машине BIG-IP

По дефолту пароль для суперпользователя — (тебе сразу предложат его сменить). Теперь можно посмотреть IP-адрес виртуалки.

IP-адрес виртуальной машины BIG-IP

Открываем браузер и переходим на этот IP. Видим форму авторизации Traffic Management User Interface.

Форма авторизации BIG-IP Configuration Utility

Стенд готов.

Shellshock – обновляйте ваш bash, джентельмены

Последнее время были отмечены несколько серьезных уязвимостей популярных операционных систем.

Достаточно вспомнить Heartbleed (уязвимость OpenSSL), которая затронула большинство систем, были опубликованы описания ошибок в сетевом стэке FreeBSD и возможности эскалации привилегий в определенных версиях ядра Linux.

Сравнительно недавно появилось описание ошибки в популярной, можно сказать – стандартной в большинстве случаев оболочке bash. Эта уязвимость получила название Shellshock (CVE-2014-6271, CVE-2014-7169).

Опасность данной ошибки в том, что произвольный код может быть передан множеством способов – в cookie, в заголовках http-запроса, в локальных переменных и так далее. Уязвимости подвержены все версии bash от 1.14 до 4.

3, а в группу риска попадают не только традиционные вэб-серверы, но и множество устройств – домашние роутеры, принтсерверы и даже смартфоны.

Проверить уязвимость можно простой командой:

env x='() { :;}; echo vulnerable’ bash -c “echo this is a test”

Если после выполнения команды будет выдан текст vulnerable, то используемая версия bash уязвима:

# env x='() { :;}; echo vulnerable’ bash -c “echo this is a test”

vulnerable

this is a test

#

А в том случае, если результатом выполнения команд будет только надпись ‘this is a test’, ваша система уже обновлена и использует актуальную, исправленную версию bash:

# env x='() { :;}; echo vulnerable’ bash -c “echo this is a test”

this is a test

#

Если после проверки оказалось, что на сервере используется устаревшая и уязвимая версия bash, следует ее незамедлительно обновить.

Debian, Ubuntu

Все современные версии Debian/Ubuntu могут быть легко обновлены с помощью пакетного менеджера apt-get. Выполните следующие команды для того, чтобы обновить bash:

apt-get update

apt-get install –only-upgrade bash

Если используются устаревшие версии Debian или Ubuntu, то наиболее правильным способом будет обновить систему в целом. Обычно это делается с помощью команды do-release-upgrade.

Будьте внимательны и сделайте резервные копии ваших данных и настроек, предупредите пользователей о предстоящих работах, а также изучите соответствующую документацию – обновление системы и используемого программного обеспечения может потребовать коррекции конфигурационных файлов, настроек CMS и так далее.

FreeBSD

В качестве основной оболочки в FreeBSD используется tcsh, однако иногда дополнительно устанавливается bash – например, для работы определенных скриптов. В современных версиях FreeBSD обновление bash может быть выполнено с помощью пакетного менеджера pkg:

Если используется старая версия FreeBSD, где программное обеспечение устанавливается из /usr/ports, обновите дерево ports, а затем скомпилируйте и установите обновленную версию оболочки:

cd /usr/ports/shell/bash

make BATCH=yes build

make BATCH=yes deinstall

make BATCH=yes reinstall

Дополнительно рекомендуем:

RCE через HyperSQL

В BIG-IP используется база данных HyperSQL. Запросы к сервлету, который с ней работает, проксируют по URI .

/etc/httpd/conf.d/proxy_ajp.conf

Конечно же, этот адрес доступен только после авторизации, но ты уже знаешь, как это обойти.

Обход авторизации для доступа к HSQLDB

HyperSQL позволяет работать с базой данных по протоколу HTTP(S). Подключение . По дефолту используется пользователь SA и пустой пароль.

Теперь давай накидаем PoC, который будет делать какие-нибудь простые запросы к БД. Для начала нужно скачать правильную библиотеку HSQLDB (ZIP). Затем пропишем в hosts строку

Разумеется, IP должен быть твоей виртуалки! Это нужно, чтобы не возиться с SSL-сертификатами в Java. Далее в качестве URL для коннекта к базе данных указываем адрес с байпасом авторизации.

Теперь имя пользователя и пароль.

Подключаемся к БД.

Теперь выполняем простенький запрос

Получаем результат и выводим в консоль.

Выполнение запроса к БД HyperSQL через обход авторизации в BIG-IP

Если внимательно просмотреть документацию к базе данных, то можно обнаружить любопытную функцию , которая позволяет вызывать внешние функции Java.

Сначала проверим — пути, откуда подгружаются библиотеки:

Получение classpath через HSQLDB в BIG-IP

Аналогичные пути использует Tomcat. Это хорошо, так как список потенциально опасных методов довольно обширен. Среди этого многообразия нужно найти метод с модификатором , то есть тот, который можно вызывать без создания объекта класса. Михаил обнаружил подходящий:

Он находится в файле , который мы уже декомпилировали.

WEB-INF/lib/tmui.jar/com/f5/view/web/pagedefinition/shuffler/Scripting.java

Этот метод выполняет код Jython и возвращает объект типа org.python.core.PyObject. Jython — это реализация языка Python на Java, поэтому нужно использовать его конструкции. Будем выполнять код при помощи . Для нашего удобства в BIG-IP по дефолту установлен netcat с поддержкой флага . Делаем через него бэкконнект.

Проверка предварительных требований

Вам нужно убедиться, что вы установили Xcode и согласились с условиями Apple. Для старых компьютеров Mac вам также необходимо убедиться, что у вас есть все инструменты командной строки.

Вы можете бесплатно загрузить Xcode из Mac App Store.

Если вы используете более старую версию Mac OS X и Xcode недоступен для вас в Mac App Store, вы можете загрузить более старые версии, выполнив поиск нужного номера версии после входа на портал разработчиков Apple здесь со своим Apple ID. Если вы используете Mac OS X 10.7 или 10.8, найдите «Xcode 4.6.3» в поле поиска «Загрузки для разработчиков Apple» в левой части страницы.

После установки Xcode, запустите его из папки Applications и согласитесь с лицензионным соглашением Apple (первоначальный запуск может занять некоторое время). После этого вы захотите подтвердить, что у вас есть все инструменты командной строки.. Для этого сделайте следующее:

  1. В открытом Xcode щелкните меню Xcode в верхней строке меню.
  2. Щелкните Настройки .
  3. Щелкните вкладку Загрузки .
  4. Щелкните Установить рядом с Инструменты командной строки в списке загрузок.

Примечание. Если вы не видите «Инструменты командной строки» на вкладке загрузок, это означает, что они у вас уже есть и готовы к работе!

Уязвимость ShellShock или Bash

В этом разделе рассказывается о том, что именно представляет собой уязвимость в UNIX, которая вызывает у отрасли чувство угрозы. Обычно в командной строке происходит много вещей. Например, передаются значения различных параметров, которые обрабатываются компьютером без проверки источника значений. Каждая команда имеет имя команды, параметры и параметры команды. Как, например, в команде MS DOS Type, у вас есть синтаксис команды:

Здесь filename.txt и textfile.txt являются параметрами, которые определяют, какой файл просматривать или распечатывать. Или сохранить вывод в textfile.txt. Команды похожи в UNIX в том смысле, что они тоже имеют параметры, и UNIX не заботится о том, откуда берутся параметры, если синтаксис правильный. То же относится и к любым программам интерфейса командной строки и операционных систем.

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

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

Будучи частью самой оболочки, эта уязвимость также называется Shellshock и с ней трудно справиться. Я не уверен, как различные компании, использующие UNIX, должны устранить эту уязвимость, поскольку она основана на огромной слабости. Потребуется много думать и, возможно, сканировать каждую команду (что может замедлить работу системы).

ShellShock Сканер уязвимостей

Запустите этот сканер по требованию из TrendMicro в своих системах Linux, чтобы определить, является ли резидентным вредоносное ПО BashLite. Просканируйте свой веб-сайт, чтобы определить, уязвим ли он для уязвимости ShellShock или Bash.

Патчи для уязвимости Bash

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

Как мне обновить?

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

SN Bulletin утверждает, что были выпущены новые версии для Ubuntu 14.04 Trusty Tahr, 12.04 Precise Pangolin и 10.04 Lucid Lynx. Если вы не пользуетесь одной из этих версий LTS, но пользуетесь достаточно свежей версией, вы, скорее всего, сможете найти пропатченный пакет.

Во-первых, проверьте, если вы

Если вы уязвимы, вы должны сначала получить новейшие списки пакетов:

Первая команда гарантирует, что у вас есть список новейших пакетов, который включает в себя фиксированную версию, а вторая команда устанавливает самую новую (фиксированную) версию bash.

Несмотря на то, что ошибка появляется только при появлении bash, все же рекомендуется перезагрузить компьютер немедленно, если это возможно.

1. Dirty COW

Первой в нашем списке будет свежая уязвимость, которая была обнаружена этой осенью. Название Dirty COW расшифровывается как Copy on Write. Ошибка возникает в файловой системе во время копирования при записи. Это локальная уязвимость, которая позволяет получить полный доступ к системе любому непривилегированному пользователю.

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

Уязвимость была в ядре около 10 лет, но после обнаружения была быстро устранена, хотя остались еще миллионы устройств Andoid в которых ядро не обновлялось и не думает и где эту уязвимость можно эксплуатировать. Уязвимость получила код CVE-2016-5195.

https://youtube.com/watch?v=b6PGynVqkAY

Уязвимость bash (Shellshock/Bashdoor)

Некоторое время назад стало известно об уязвимости, которая получила сразу два имени: Shellshock и Bashdoor.

Данная уязвимость затрагивает такую популярную разновидность командной оболочки UNIX как bash. Чаще всего bash используется в качестве предустановленной командной оболочки Linux.

Согласно источникам сети интернет Shellshock теоритически может позволить злоумышленнику получить контроль над системой.

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

Решение проблемы CVE-2014-6271 для RedhatCentos

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

yum update bashyum update bash-4.1.2-15.el6_5.1

Затем необходимо выполнить перезагрузку системы.

Решение проблемы CVE-2014-6271 для DebianUbuntu

Необходимо подключиться к серверу по SSH и проверить версию пакета bash установленного в системе.

Для этого выполните следующую команду:,/

dpkg -s bash | grep Version

Далее обновите версию bash:

sudo apt-get update && sudo apt-get install bash

Также, проверить обновление версии bash до неуязвимой Вы можете, воспользовавшись командой в консоли:

env X=”() { :;} ; echo Bash is vulnerable” bash -c “echo Bash is OK”

Если вывод покажет “Bash is OK” — значит оболочка обновилась успешно, при выводе “Bash is vulnerable” — bash все еще уязвим.

Обновление CentOS

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

yum update

Затем необходимо выполнить перезагрузку системы.

Обновление DebianUbuntu

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

sudo apt-get updatesudo apt-get upgrade

Затем необходимо выполнить перезагрузку системы.

Версии, содержащие уязвимость:

В дистрибутивах Red Hat:

  • bash-3.0-27.el4.2
  • bash-3.2-32.el5_9.2
  • bash-3.2-24.el5_6.1
  • bash-3.2-33.el5_11.1.sjis.1
  • bash-3.2-33.el5.1
  • bash-4.1.2-15.el6_4.1
  • bash-4.1.2-9.el6_2.1
  • bash-4.1.2-15.el6_5.1.sjis.1
  • bash-4.1.2-15.el6_5.1
  • bash-4.2.45-5.el7_0.2

Сами дистрибутивы, в которых есть уязвимый bash:

  • Red Hat Enterprise Linux 7
  • Red Hat Enterprise Linux 6
  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 4

Также уязвимы все версии CentOS начиная с 4-ой.

Если у Вас возникнут вопросы по обновлению — напишите, пожалуйста, письмо в наш технический отдел на [email protected]

Как подвиг влияет на меня?

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

Атакующий может установить эту переменную среды несколькими способами:

  • Удаленно подключитесь к службе, такой как SSH, с определенной настройкой, такой как git over ssh. Как предупреждает Митр, использование опции sshd является вектором атаки. Аккаунты, Shell которых не является bash, не затрагиваются.
  • Обманывают вас в установке переменной окружения.
  • Вызывает другую программу, чтобы установить переменную окружения, чтобы иметь это созданное значение. Например, у вас может быть веб-сервер и сценарий, которым необходимо установить переменную среды с определенным пользовательским содержимым. Даже если этот скрипт создает свой собственный и не затрагивает другие переменные окружения, этого достаточно. Для успеха эксплойта достаточно одной переменной среды с любым именем и созданным значением .
  • Другие способы я не упомянул здесь.

Как только они установят эту переменную, в следующий раз, когда откроется по любой причине, код вашего злоумышленника будет запущен. Это особенно страшно с , поскольку он порождает bash как суперпользователь (административное пользовательское правило, которое имеет полный контроль над данными и программами вашего компьютера) , Даже если вы запускаете bash только как обычный пользователь, файлы этого пользователя могут быть удалены.

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

Однако в Ubuntu не является bash, поэтому затрагиваются только те программы, которые явно вызывают bash, а не сценарий по умолчанию.

По словам Митры:

Обнаружена критическая уязвимость в оболочке Bash

В командном интерпретаторе Bash, известном также как Bourne-Again Shell, обнаружена опасная уязвимость (CVE-2014-6271), которая предоставляет возможность организовать выполнение кода в контексте другого сеанса bash. Данная уязвимость может обернуться большими проблемами для многих веб-серверов на базе Unix или Linux.

По мнению Роберта Грэма из консалтинговой компании Errata Security, уязвимость в командной оболочке Bash существует уже много лет и может привести к более серьезным последствиям по сравнению с уязвимостью Heartbleed в протоколе шифрования OpenSSL, обнаруженной весной этого года.

Брешь в Bash касается процесса оценки командной оболочкой переменных окружений. Злоумышленники могут использовать эту уязвимость для выполнения команд оболочки с помощью специально созданных переменных окружений. Это, в свою очередь, может сделать сервер уязвимым перед серьезными хакерскими атаками.

Как отмечает источник, это один из тех изъянов в системе безопасности, где злоумышленнику нужно заручиться высоким уровнем доступа к системе, чтобы нанести вред. К сожалению, как сообщают обнаружившие уязвимость специалисты компании Red Hat, некоторые службы и приложения позволяют злоумышленникам создавать переменные окружения и использовать уязвимость командной оболочки Bash.

По словам главы службы информационной безопасности компании Akamai Technologies Энди Эллиса, эта уязвимость может затронуть множество приложений, которые считывают введенные пользователем команды и вызывают другие приложения с помощью оболочки. Больше всего проблем может возникнуть, если скрипт подается на выполнение с правами суперпользователя. В этом случае злоумышленник может избежать наказания за взлом сервера.

Атакованы могут быть не только приложения, но и CGI-скрипты, dhclient, CUPS и конфигурации OpenSSH. В случае с OpenSSH атака может быть проведена через подстановку переменной окружения SSH_ORIGINAL_COMMAND и TERM.

Данная уязвимость свойственна всем версиям Bash, включая bash-3.0. В определенных кругах ее прозвали «Bashdoor», другие пользователи окрестили ее shellshock.

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

Shellshock Check

Flector 5

Несколько дней назад была обнаружена серьезная уязвимость в командном интерпретаторе Bash. Этой уязвимости дали название Shellshock, присвоив ей наивысший 10-ый уровень опасности.

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

Плагин Shellshock Check не закроет эту уязвимость, но проверит на нее ваш сервер и сообщит вам обнаруженные им результаты.

1 Распаковываем архив.

3 Заходим в админку блога на вкладку “Плагины” и активируем плагин.

Для проверки вашего сервера вы должны нажать на кнопку “Run Test” на странице “НастройкиShellshock“:

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

В противном случае вы получите сообщение:

Сразу должен предупредить всех тех, кто надеется на различные плагины безопасности для WordPress. Данная уязвимость позволит злоумышленникам взломать сразу весь сервер, никакие ваши плагины для движка не помогут. 

Единственный способ исправить Shellshock-уязвимость – это обновить Bash. Если вы сами администрируете свой сервер (то есть у вас свой собственный VDS), то обновление Bash займет у вас лишь пару минут. К примеру, на Debian 7 надо выполнить по SSH следующие команды:

apt-get update apt-get install bash

apt-get update apt-get install bash

На CentOS (все версии) обновление Bash делается командой:

yum update bash

Для каждой OS обновление Bash делается по своему, и я не могу привести примеры для каждой из существующих OS. Но вы без проблем найдете решение в Гугле, так как эта уязвимость очень серьезная.

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

И не откладывайте это дело, так как ваш сервер могут взламывать прямо сейчас.

Shellshock CheckАвтор плагина: ManageWP

Рассматриваемая версия: 1.1.0 от 30.09.2014

Текущая версия: 1.1.0

Как была найдена уязвимость Shellshock Bash?

Чтобы успокоить несколько, я не нашел ошибку, наблюдая подвиги, я никаких оснований полагать, что это было использовано перед тем, как раскрываются (хотя, конечно, я не могу исключить его). Я не нашел его на , глядя на код bash.

Я не могу сказать, что я точно помню свой поход мыслей в то время.

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

В этом случае, я отражал на общей конфигурации SSH, что позволяет проходящим переменные среды unsanitised от клиент условия, что их имя начинается с LC_.

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

Хорошая идея, пока вы не начнете рассматривать , насколько сложна обработка локализации, особенно когда UTF-8 имеет значение , приведенное в уравнение (и видя, насколько сильно его обрабатывает во многих приложениях).

Я думал, что это было, вероятно, плохая идея использовать bash в качестве оболочки пользователей, предлагающих услуги через SSH Логин , учитывая, что это довольно сложная оболочка (когда все, что вам нужно это просто синтаксический анализ очень простой командной строки) и унаследовал большинство ошибок в ksh. Поскольку я уже определил несколько проблем с bash, использующими в этом контексте (для интерпретации ssh ForceCommand s), я был , задаваясь вопросом, было ли там потенциально больше.

AcceptEnv LC_* позволяет любому переменный, чье имя начинается с LC_ и я имел смутное воспоминание, что bashэкспортироваться ФУНКЦИИ (а опасного хотя во время полезной функции) было с помощью переменных окружения, имя которых было что-то вроде myfunction() и было интересно, не было ли чего-то интересным посмотреть там.

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

A:

$env -i bash -c ‘zzz(){ :;}; export -f zzz; env’ zzz=(){ : }

показал, что мое воспоминание было неправильно в том, что переменные не назывались myfunction() но myfunction (и это значение , который начинается с ()).

И быстрый тест:

$ env ‘true;echo test; f=() { :;}’ bash -c : test bash: error importing function definition for ‘true;echo test; f’

подтвердил мое подозрение, что имя переменной не продезинфицировать, и код оценивали при запуске.

хуже, намного хуже, значениене продезинфицировать либо:

$ env ‘foo=() { :;}; echo test’ bash -c : test

Это означает, что любая переменная среда может быть вектором.

Вот когда я понял, что масштабы этой проблемы, подтвердил, что он был годным для использования через HTTP, а также (HTTP_xxx/QUERYSTRING … окр вары), другие из них, как услуги по обработке почты, а затем DHCP (и, возможно, длинный список) и сообщили об этом (тщательно).

Эксплуатация уязвимости Linux Shell Shock и реальные бои

http-equiv=»Content-Type» content=»text/html;charset=UTF-8″>yle=»margin-bottom:5px;»>Теги:  кибербезопасность

Введение уязвимости:

Shellshock, также известный как Bashdoor, представляет собой уязвимость в оболочке Bash, широко используемую в Unix, о которой впервые было сообщено 24 сентября 2014 года. Многие демоны Интернета, например веб-серверы, используют bash для обработки определенных команд, что позволяет злоумышленникам выполнять произвольный код в уязвимых версиях Bash. Это позволяет злоумышленнику получить доступ к компьютерной системе без авторизации. -Из Википедии

Построение среды эксперимента по уязвимости:

1. Установите версию 4.1 bansh с правами root. ссылка на скачивание:http://labfile.oss.aliyuncs.com/bash-4.1.tar.gz 2. Установка:

3. Ссылка:

4. Проверьте, существует ли уязвимость:

5. Если результат предыдущего шага уязвим, пусть / bin / sh указывает на / bin / bash.

Sudo ln -sf /bin/bash /bin/sh

Уязвимость появляется снова:

Bash считывает переменную окружения и после определения foo напрямую вызывает следующую функцию: После вызова bash непосредственно запускается пользовательский оператор.

  1. Атакуйте программу Set-UID. Мы знаем, что функция system () вызовет «/ bin / sh -c» для выполнения указанной команды, что также означает, что будет вызван / bin / bash. Можете ли вы использовать уязвимости shellshock для получения доступа? Сначала убедитесь, что вы установили версию bash с уязвимой версией, и сделайте так, чтобы / bin / sh указывал на / bin / bash

Отредактируйте следующий код C: и дайте ему разрешение SUID. Успешно получены права root:

Ключевая функция все еще находится в коде Csetuid(geteuid()); Можно попробовать, если этот код удалить, то эскалация не удастся.

Принцип анализа:

Причина, по которой мы используем здесь это утверждение, — надеятьсяread uid = effective uid Это означает, что если реальный uid и эффективный uid совпадают, содержимое, определенное в переменной среды, по-прежнему действует в программе, но если два uid различны, переменная среды становится недействительной и не может Атака была запущена, что подтверждается исходным кодом bash.

Интеллектуальная рекомендация

Глава первая: Причина В большинстве анекдотов в Интернете говорится, что программисты относительно тупые, плохие слова и в основном мужчины. Я один из тысяч программистов. Обычно я не знаю, как правил…

Всегда был спрос, надеясь увидеть в реальном времени рейтинг моего сайта в Baidu Я использовал некоторые инструменты, либо медленный ответ, либо результаты не точные или в режиме реального времени Поэ…

Алгоритм обнаружения характерных точек Обнаружение угла Харриса                                 Обнаружение функции SIFT…

По просьбе пользователей сети напишите пример использования Selenium Grid для управления несколькими системами и несколькими браузерами для параллельного выполнения тестов. Поскольку у меня здесь две …

Эта проблема возникает, когда используется openrowset. Просто выполните следующий код:           http://www.cnblogs.com/wayne-ivan/archive/2008/01/07/1028759.html…

Вам также может понравиться

В проекте .net я часто сталкиваюсь с необходимостью автоматически делать скриншот кадра после загрузки видео. Вот метод использования ffmpeg для автоматического создания скриншота Сначала загрузите фа…

Ленивая загрузка не удалась, потому что @Responsebobode JSON преобразует Getroles по умолчанию, которая заканчивается пользователем, поэтому ленивая загрузка недействительна. Если вы предоставляете TO…

virtualenv установка Основное использование Создайте виртуальную среду для проекта: virtualenv venv создаст папку в текущем каталоге, содержащую исполняемые файлы Python и копию библиотеки pip, чтобы …

Java.io.fileNotfoundException: файл: \ d: \ Code \ xml-load \ target \ xx.jar! \ Xxx (имя файла, имя каталога или синтаксис громкости неверно.) 1. При использовании Spring Boot для применения к JAR не…

Недавно я попытался установить MySQL под Windows, ссылаясь на документацию в Интернете, но я также сказал, что столкнулся с некоторыми проблемами во время реальной работы. Пожалуйста, запишите здесь д…

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Техноарена
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: