Как заполнить информацию о прокси в конфигурационном файле cntlm? - PullRequest
75 голосов
/ 07 февраля 2012

Cntlm - это HTTP-прокси NTLM / NTLM Session Response / NTLMv2, предназначенный для того, чтобы помочь вам вырваться из цепочек проприетарного мира Microsoft.

У меня есть мой прокси-URL в следующем формате:

http://user:passwords@my_proxy_server.com:80

И я должен предоставить эту информацию cntlm.Его конфигурационный файл cntlm.ini имеет следующую структуру и параметры:

Username 
Domain
Password    
Proxy   

Я не уверен, как разбить мое исходное свойство прокси, чтобы заполнить эти четыре параметра?

Ответы [ 8 ]

100 голосов
/ 10 февраля 2012

Обновите информацию о пользователе, домене и прокси в cntlm.ini, затем протестируйте свой прокси с помощью этой команды (запустите в папке установки Cntlm):

cntlm -c cntlm.ini -I -M http://google.ro

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

Sample cntlm.ini:

Username            user
Domain              domain

# provide actual value if autodetection fails
# Workstation         pc-name

Proxy               my_proxy_server.com:80
NoProxy             127.0.0.*, 192.168.*

Listen              127.0.0.1:54321
Listen              192.168.1.42:8080
Gateway             no

SOCKS5Proxy         5000
# provide socks auth info if you want it
# SOCKS5User          socks-user:socks-password

# printed authentication info from the previous step
Auth            NTLMv2
PassNTLMv2      98D6986BCFA9886E41698C1686B58A09

Примечание: в linux файл конфигурацииcntlm.conf

52 голосов
/ 15 марта 2013

Решение состоит из двух шагов!

Сначала заполните поля user, domain и proxy в cntlm.ini. Возможно, имя пользователя и домен должны совпадать с тем, что вы используете для входа в Windows в вашем офисе, например.

Username            employee1730
Domain              corporate
Proxy               proxy.infosys.corp:8080

Затем протестируйте cntlm с помощью команды, такой как

cntlm.exe -c cntlm.ini -I -M http://www.bbc.co.uk

Он запросит ваш пароль (опять же, все, что вы используете для входа в Windows_). Надеемся, что он напечатает «http 200 ok» где-нибудь, и распечатает некоторую загадочную информацию для аутентификации токенов. Теперь добавьте эти к cntlm.ini, например:

Auth            NTLM
PassNT          A2A7104B1CE00000000000000007E1E1
PassLM          C66000000000000000000000008060C8

Наконец, установите переменную среды http_proxy в Windows (при условии, что вы не изменили с полем Listen, которое по умолчанию установлено на 3128), следующее значение

http://localhost:3128
15 голосов
/ 17 мая 2014

http://forum.kde.org/viewtopic.php?f=83&t=119352

Вот, пожалуйста, моя собственная тема. Я четко показал там.

Я ничего не могу там изменить, я больше не могу получить доступ к своей учетной записи, ну почему, но когда вы устанавливаете все в файле cntlm.conf (пароль не требуется указывать там) - сохраните файл и перейдите в torminal. введите команду:

cntlm -H

и введите свой пароль прокси. затем он напечатает для вас 3 строки хешей - скопируйте их все и вставьте в файл cntlm.conf вместо строки «password».

Таким образом, у вас будет зашифрованный пароль, и пользователи не смогут его найти с помощью ettercap;)

10 голосов
/ 29 мая 2017

Без какой-либо конфигурации вы можете просто выполнить следующую команду (изменив myusername и mydomain своей собственной информацией):

cntlm -u myusername -d mydomain -H

или

cntlm -u myusername@mydomain -H

Он спросит у вас пароль myusername и выдаст следующий вывод:

PassLM          1AD35398BE6565DDB5C4EF70C0593492
PassNT          77B9081511704EE852F94227CF48A793
PassNTLMv2      A8FC9092D566461E6BEA971931EF1AEC    # Only for user 'myusername', domain 'mydomain'

Затем создайте файл cntlm.ini (или cntlm.conf в Linux, используя путь по умолчанию) со следующим содержимым (заменив myusername, mydomain и A8FC9092D566461E6BEA971931EF1AEC вашей информацией и результатом предыдущей команды) :

Username    myusername
Domain      mydomain

Proxy       my_proxy_server.com:80
NoProxy     127.0.0.*, 192.168.*

Listen      127.0.0.1:5865
Gateway     yes

SOCKS5Proxy 5866

Auth        NTLMv2
PassNTLMv2  A8FC9092D566461E6BEA971931EF1AEC

Тогда у вас будет локальный открытый прокси на локальном порту 5865 и еще один, понимающий протокол SOCKS5 на локальном порту 5866.

2 голосов
/ 07 февраля 2019

Вот руководство по использованию 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и настроил

1 голос
/ 21 ноября 2016

Просто добавьте, если вы выполняете операцию "pip", вам может потребоваться добавить и дополнительный "--proxy = localhost: номер_порта"

например, pip install --proxy=localhost:3128 matplotlib

Visitэто ссылка чтобы увидеть полную информацию.

0 голосов
/ 23 января 2018

После того, как вы сгенерировали файл и изменили свой пароль, вы можете запустить, как показано ниже,

cntlm -H

Имя пользователя будет таким же.он запросит пароль, передаст его, затем скопируйте PassNTLMv2, отредактируйте cntlm.ini, а затем просто выполните следующую команду:

cntlm -v
0 голосов
/ 01 февраля 2017

Для меня просто использование cntlm -H не сгенерировало правильный хеш, но с помощью команды ниже, предоставляющей имя пользователя.

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

$ cntlm -u test -H
Password: 
PassLM          D2AABAF8828482D5552C4BCA4AEBFB11
PassNT          83AC305A1582F064C469755F04AE5C0A
PassNTLMv2      4B80D9370D353EE006D714E39715A5CB    # Only for user 'test', domain ''
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...