Вот руководство по использованию cntlm
Что такое cntlm?
cntlm - это HTTP-прокси-сервер аутентификации NTLM / NTLMv2
Он принимает адрес прокси-сервераи открывает прослушивающий сокет, перенаправляя каждый запрос на родительский прокси
Почему cntlm?
Используя cntlm, мы позволяем запускать такие инструменты, как choro, pip3, apt-get
, из командной строки
pip3 install requests
choco install git
Основным преимуществом cntlm является защита паролем.
С помощью cntlm вы можете использовать хэши паролей.
То есть NO PLAINTEXT PASSWORD in %HTTP_PROXY%
и %HTTPS_PROXY%
переменные окружения
Установить cntlm
Вы можете получить последнюю версию cntlm из sourceforge
Примечание!Имя пользователя и домен
Мое имя пользователя zezulinsky
Мой домен local
Когда я запускаю команды, я использую zezulinsky@local
Поместите свойимя пользователя при запуске команд
Создание хэша пароля
Запуск команды
cntlm -u zezulinsky@local -H
Введите пароль:
Password:
В результате выПолучение хешированного пароля:
PassLM AB7D42F42QQQQ407552C4BCA4AEBFB11
PassNT PE78D847E35FA7FA59710D1231AAAF99
PassNTLMv2 46738B2E607F9093296AA4C319C3A259
Убедитесь, что ваш сгенерированный хеш действителен
Запустите команду
cntlm -u zezulinsky@local -M http://google.com
Введите свой пароль
Password:
вывод результата
Config profile 1/4... OK (HTTP code: 301)
----------------------------[ Profile 0 ]------
Auth NTLMv2
PassNTLMv2 46738B2E607F9093296AA4C319C3A259
------------------------------------------------
Примечание!убедитесь, что PassNTLMv2 хэш одинаков. Полученный хеш одинаков для обеих команд
PassNTLMv2 46738B2E607F9093296AA4C319C3A259
Изменить файл конфигурации
Поместить сгенерированные хэши в файл конфигурации cntlm.ini
C:\Program Files (x86)\Cntlm\cntlm.ini
Вот как должен выглядеть ваш cntlm.ini
Username zezulinsky
Domain local
PassLM AB7D42F42QQQQ407552C4BCA4AEBFB11
PassNT PE78D847E35FA7FA59710D1231AAAF99
PassNTLMv2 46738B2E607F9093296AA4C319C3A259
Proxy PROXYSERVER:8080
NoProxy localhost, 127.0.0.*
Listen 3128
Примечание!символ новой строки в конце файла cntlm.ini
Важно добавить символ новой строки в конце cntlm.ini
файла конфигурации
Установить переменные среды
HTTPS_PROXY=http://localhost:3128
HTTP_PROXY=http://localhost:3128
Убедитесь, что ваш cntlm работает
Остановите все процессы с именем cntlm.exe
с помощью проводника процессов
Запустите команду
cntlm -u zezulinsky@local -H
Вывод выглядит как
cygwin warning:
MS-DOS style path detected: C:\Program Files (x86)\Cntlm\cntlm.ini
Preferred POSIX equivalent is: /Cntlm/cntlm.ini
CYGWIN environment variable option "nodosfilewarning" turns off this warning.
Consult the user's guide for more details about POSIX paths:
http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
section: local, Username = 'zezulinsky'
section: local, Domain = 'local'
section: local, PassLM = 'AB7D42F42QQQQ407552C4BCA4AEBFB11'
section: local, PassNT = 'PE78D847E35FA7FA59710D1231AAAF99'
section: local, PassNTLMv2 = '46738B2E607F9093296AA4C319C3A259'
section: local, Proxy = 'PROXYSERVER:8080'
section: local, NoProxy = 'localhost, 10.*, 127.0.0.*
section: local, Listen = '3128'
Default config file opened successfully
cntlm: Proxy listening on 127.0.0.1:3128
Adding no-proxy for: 'localhost'
Adding no-proxy for: '10.*'
Adding no-proxy for: '127.0.0.*'
cntlm: Workstation name used: MYWORKSTATION
cntlm: Using following NTLM hashes: NTLMv2(1) NT(0) LM(0)
cntlm: PID 1234: Cntlm ready, staying in the foreground
Откройте новый cmd и выполните команду:
pip3 install requests
У вас должны быть установлены пакеты python запросов
Перезагрузите компьютер
Поздравляем, теперь у вас установлен cntlmи настроил