Войти

Показать полную графическую версию : [решено] Проверить какая УЗ подходит к компьютеру вне домена


Страниц : [1] 2

HFShak
11-09-2014, 17:37
Добрый день!
Есть много компьютеров вне домена и так же есть много административных УЗ и много паролей к ним.
Можно ли как нибудь проверить на соответствие, к какому компьютеру какая УЗ подходит?

Вот начал делать , не знаю что дальше, не могу найти какую-либо функцию для проверки авторизации:


#include <Array.au3>

Local $avArrayAccaunt[6] = ["Администратор", "Admin", "Admin1", "User", "Adm", "TEMP"]
Local $avArrayPassword[4] = ["12345", "54321", "qwerty", "12345678"]
Local $ASum = UBound($avArrayAccaunt)
Local $PSum = UBound($avArrayPassword)

For $i=0 To $ASum-1
For $j=0 To $PSum-1
ConsoleWrite($avArrayAccaunt[$i] & $avArrayPassword[$j] & @CRLF)
...
Next
Next

Iska
11-09-2014, 17:49
Зачем это Вам?

HFShak
11-09-2014, 18:07
Затем, чтобы на всех компьютерах создать одну административную УЗ и далее работать с ними под ней

Iska
11-09-2014, 19:17
HFShak, Вы меня не поняли. Каким образом могло произойти такое, как потеря паролей от учётной записи администратора, на куче машин?

HFShak
12-09-2014, 10:10
В компании нет домена, около 100 ПК, какой специалисты придумали пароль такой и ставили, нет какой-то централизации. Оставили много паролей и УЗ.
Хочу завести одну УЗ, массово переименовать, кое-что разлить на них, собрать информацию и т.п. Работать с перебором паролей очень сложно.

Iska
12-09-2014, 10:57
Работать с перебором паролей очень сложно. »
Именно. Посему берёте болванку/флэшку с каким-нибудь приличным загрузочным образом сбрасывания пароля Администратора и проходите по всем машинам, задавая следом единый пароль. Затем начинаете со своей машины «рулить» удалённо, решая все прочие проблемы вида:
много паролей и УЗ. »
Совсем было бы хорошо завести себе домен.

HFShak
12-09-2014, 11:12
А почему нельзя сменить или добавить УЗ с помощью net user , тем более, что все пароли известны?
А ходить по всем компам и их перезагружать займет уйму времени.

Проще даже проверить УЗ через psexec -u ..., но хотелось бы сделать в autoit

Совсем было бы хорошо завести себе домен. »

А потом вгонять по одной машине в домен, можно сделать и скриптовыми методами...

Есть ли в autoit функция в которую можно вписать конкретного пользователя? Что то типо RegRead для удаленной машины

Iska
12-09-2014, 11:41
тем более, что все пароли известны? »
Это точно? Вы же сами написали — перебирать надо, нет? Поясните ещё раз.

HFShak
12-09-2014, 11:43
Это точно? Вы же сами написали — перебирать надо, нет? Поясните ещё раз. »
Скажем так, есть коло 6 разных УЗ (admin, админстратор, adminstrator, и т.п.) и есть пароли их тоже около 6 (они все известны), но какой пароль был установлен на какую УЗ неизвестно.

Iska
12-09-2014, 20:34
HFShak, теперь примерно ясно. То есть, нам надо перебрать весь массив машин, последовательно подставляя для соединения к ним каждую пару логин/пароль комбинированного множества, составленного из набора учётных записей и набора возможных паролей — так?

HFShak
13-09-2014, 10:27
HFShak, теперь примерно ясно. То есть, нам надо перебрать весь массив машин, последовательно подставляя для соединения к ним каждую пару логин/пароль комбинированного множества, составленного из набора учётных записей и набора возможных паролей — так? »
Да, надо к каждой машине перебрать пару логин/пароль (получился около 30 пар) и понять, какая пара является правильной.

Iska
16-09-2014, 14:23
HFShak, на WSH:
Option Explicit

Dim arrResources
Dim arrLogins
Dim arrPasswords

Dim strResource
Dim strLogin
Dim strPassword

Dim objWshNetwork


arrResources = Array("\\machine01\c$", "\\machine02\c$", "\\machine03\d$")
arrLogins = Array("Админ", "Администратор", "Administrator")
arrPasswords = Array("123", "111", "qwerty")


Set objWshNetwork = WScript.CreateObject("WScript.Network")

For Each strResource In arrResources
WScript.Echo strResource
WScript.Echo "----------------------"

For Each strLogin In arrLogins
For Each strPassword In arrPasswords
On Error Resume Next
objWshNetwork.MapNetworkDrive "", strResource, False, strLogin, strPassword

If Err.Number = 0 Then
Err.Clear
On Error Goto 0

WScript.Echo "+", strLogin, vbTab, strPassword
objWshNetwork.RemoveNetworkDrive strResource, True, False
Else
If Err.Number = &H8007052E Then
WScript.Echo "-", strLogin, vbTab, strPassword
Else
WScript.Echo "Unknown error: ", Hex(Err.Number), Err.Description
End If

On Error Goto 0
End If
Next
Next

WScript.Echo "----------------------"
WScript.Echo
Next

Set objWshNetwork = Nothing

WScript.Quit 0

Если очень принципиально надо на AutoIt — перепишу. Обратите внимание: если у Вас установлена политика блокировки учётных записей при вводе нескольких неправильных паролей — скрипт наверняка не отработает до конца корректно.

HFShak
16-09-2014, 15:00
На autoit очень желательно, если это не сложно, т.к. мне не понятен синтаксис WSH.
Надо, чтобы в нормальном виде записывал, я потом сам доделаю, просто как на autoit сделать переход на \\pc\C$ ?

Ну вроде работает работает:
C:\Users\User\Desktop>cscript 1.vbs
Сервер сценариев Windows (Microsoft ®) версия 5.8
© Корпорация Майкрософт (Microsoft Corp.), 1996-2001. Все права защищены.

\\192.168.1.60\c$
----------------------
Unknown error: 80070035 Не найден сетевой путь.

Unknown error: 80070035 Не найден сетевой путь.

Unknown error: 80070035 Не найден сетевой путь.

Unknown error: 80070035 Не найден сетевой путь.

Unknown error: 80070035 Не найден сетевой путь.

Unknown error: 80070035 Не найден сетевой путь.

Unknown error: 80070035 Не найден сетевой путь.

Unknown error: 80070035 Не найден сетевой путь.

Unknown error: 80070035 Не найден сетевой путь.

----------------------

\\192.168.1.68\c$
----------------------
Unknown error: 80070005 Отказано в доступе.

Unknown error: 80070005 Отказано в доступе.

Unknown error: 80070005 Отказано в доступе.

Unknown error: 80070056 Сетевой пароль указан неверно.

+ Администратор Adm1n123!
Unknown error: 80070056 Сетевой пароль указан неверно.

Unknown error: 80070005 Отказано в доступе.

Unknown error: 80070005 Отказано в доступе.

Unknown error: 80070005 Отказано в доступе.

----------------------


C:\Users\User\Desktop>

Iska
16-09-2014, 15:59
На autoit очень желательно, если это не сложно, т.к. мне не понятен синтаксис WSH. »
Очень неохота делать ;(. Может, будет достаточно и WSH?

Ну вроде работает работает:
« скрыть
C:\Users\User\Desktop>cscript 1.vbs

\\192.168.1.60\c$
----------------------
Unknown error: 80070035 Не найден сетевой путь. »
«192.168.1.60» был отключён/недоступен/не настроен для доступа?

HFShak
16-09-2014, 16:22
«192.168.1.60» был отключён/недоступен/не настроен для доступа? »
Да, он просто выключен. Спасибо!
А можно вывести запись в файл, а не в консоль?
Так, а как на автоите сделать переход на \\pc\C$ ? Какой функцией? DriveMapAdd?

Iska
16-09-2014, 17:08
А можно вывести запись в файл, а не в консоль? »
cscript.exe //nologo "1.vbs" >"c:\Мой путь\file.txt"

Так, а как на автоите сделать переход на \\pc\C$ ? Какой функцией? »
Либо той же — если использовать «ObjCreate("WScript.Network")», либо родной «DriveMapAdd()», а затем анализировать ошибку, если функция вернула «0».

HFShak
17-09-2014, 10:49
Добрый день!
На autoit получается выглядит вот так?:

#include <Array.au3>

_CheckAdministration()

Func _CheckAdministration()
Local $avArrayAccaunt[3] = ["Администратор", "Administrator", "Admin"]
Local $avArrayPassword[5] = ["1234", "4321", "qwerty", "Admin123!"]
Local $sAccauntSum = UBound($avArrayAccaunt)
Local $sPasswordSum = UBound($avArrayPassword)
Local $sFilePC = FileOpen(@ScriptDir & "\pc.txt")

While 1
$sLine = FileReadLine($sFilePC)
If @error = -1 Then ExitLoop
For $i=0 To $sAccauntSum-1
For $j=0 To $sPasswordSum-1
$objNet = DriveMapAdd("", "\\" & $sLine & "\C$", 0, $sLine & "\" & $avArrayAccaunt[$i], $avArrayPassword[$j])
If $objNet = 1 Then
ConsoleWrite($sLine & @TAB & $avArrayAccaunt[$i] & @TAB & $avArrayPassword[$j] & @CRLF)
Else
ConsoleWrite("Error = " & $objNet & @CRLF)
EndIf
DriveMapDel("\\" & $sLine & "\C$")
Next
Next
WEnd
FileClose($sFilePC)
EndFunc

Iska
17-09-2014, 12:07
На autoit получается выглядит вот так?: »
Если код работает (и работает корректно) — то так ;).

HFShak
22-09-2014, 10:11
Если код работает (и работает корректно) — то так . »
Да, работает вроде корректно.
Скажите, а если в пароле русские буквы, drivemapadd отработает?

Iska
22-09-2014, 14:36
Скажите, а если в пароле русские буквы, drivemapadd отработает? »
Не проверял, но, полагаю, должно отработать. Впрочем, Вы ведь сами вполне можете проверить на какой-нибудь тестовой машине, а затем отписаться сюда по результатам.




© OSzone.net 2001-2012