Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/homjxi0e/cve-2017-1000367
Повышение привилегийАнализ уязвимостейЭксплуатацияТестирование на ПроникновениеRed TeamingЭксплуатация Бинарных Файлов
GitHubhomjxi0e/cve-2017-1000367

CVE-2017-1000367

Эксплойт-доказательство концепции для CVE-2017-1000367, уязвимости локального повышения привилегий в get_process_ttyname() Sudo в Linux, позволяющей перезапись любого файла через манипуляцию номером tty-устройства.

Репозиторий
1619 лет назадЕщё не проверено

Популярное

Смотреть все →

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

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2017-1000367

Мы обнаружили уязвимость в функции get_process_ttyname() из Sudo для Linux: эта функция открывает «/proc/[pid]/stat» (man proc) и читает номер устройства tty из поля 7 (tty_nr). К сожалению, эти поля разделены пробелами, и поле 2 (comm, имя файла команды) может содержать пробелы (CVE-2017-1000367).

Например, если мы выполняем Sudo через симлинк «./ 1 », get_process_ttyname() вызывает sudo_ttyname_dev() для поиска несуществующего номера устройства tty «1» во встроенном search_devs[].

Затем sudo_ttyname_dev() вызывает функцию sudo_ttyname_scan() для поиска этого несуществующего номера устройства tty «1» при обходе «/dev» в ширину.

Наконец, мы эксплуатируем эту функцию во время её обхода доступного для записи всем каталога «/dev/shm»: через эту уязвимость локальный пользователь может притвориться, что его tty — любое символьное устройство в файловой системе, и после двух состояний гонки — что его tty — любой файл в файловой системе.

В системе с включённым SELinux, если пользователь является Sudoer для команды, которая не даёт ему полных root-привилегий, он может перезаписать любой файл в файловой системе (включая файлы, принадлежащие root) выводом своей команды, поскольку relabel_tty() (в src/selinux.c) вызывает open(O_RDWR|O_NONBLOCK) на его tty и с помощью dup2() подключает его к stdin, stdout и stderr команды. Это позволяет любому пользователю Sudoer получить полные root-привилегии.

Red Hat Enterprise Linux 6 (sudo) | ✅ |

Red Hat Enterprise Linux 7 (sudo) | ✅ |

Red Hat Enterprise Linux Server (v. 5 ELS) (sudo) | ✅ |

Oracle Enterprise Linux 6 | ✅ |

Oracle Enterprise Linux 7 | ✅ |

Oracle Enterprise Linux Server 5 | ✅ |

CentOS Linux 6 (sudo) | ✅ |

CentOS Linux 7 (sudo) | ✅ |

Debian wheezy | ✅ |

Debian jessie | ✅ |

Debian stretch | ✅ |

Debian sid | ✅ |

Ubuntu 17.04 | ✅ |

Ubuntu 16.10 | ✅ |

Ubuntu 16.04 LTS | ✅ |

Ubuntu 14.04 LTS | ✅ |

SUSE Linux Enterprise Software Development Kit 12-SP2 | ✅ |

SUSE Linux Enterprise Server for Raspberry Pi 12-SP2 | ✅ |

SUSE Linux Enterprise Server 12-SP2 | ✅ |

SUSE Linux Enterprise Desktop 12-SP2 | ✅ |

OpenSuse, Slackware, and Gentoo Linux | ✅ |

Как пропатчить sudo на сервере CentOS/RHEL/Scientific/Oracle Linux? ✅ |

Терминал:> sudo yum update

Как пропатчить sudo на сервере Fedora Linux?

Терминал:> sudo dnf update

Как пропатчить sudo на сервере Suse/OpenSUSE Linux? ✅ |

Терминал:> sudo zypper update

Как пропатчить sudo на сервере Arch Linux? ✅ |

Терминал:> sudo pacman -Syu

Как пропатчить sudo на сервере Alpine Linux? ✅ |

Терминал:> apk update && apk upgrade

Как пропатчить sudo на сервере Slackware Linux? ✅ |

upgradepkg sudo-1.8.20p1-i586-1_slack14.2.txz

Как пропатчить sudo на сервере Gentoo Linux? ✅ |

Терминал:> emerge --sync

Терминал:> emerge --ask --oneshot --verbose ">=app-admin/sudo-1.8.20_p1"

Скачать инструмент