вторник, 28 сентября 2010 г.

Скрипты прокси ТИ 2.0

Выгрузка групп/пользователей/аттрибутов -
------------------------------------------------------
Set Args = WScript.Arguments.Unnamed
If Args.Count <> 2 Then
WScript.Echo "??? usage: cscript.exe unload.vbs AdmID AdmPass /sn:ServerName"
WScript.Quit
End If

AdmID = Args(0)
AdmPass = Args(1)

If WScript.Arguments.Named.Exists("sn") Then
ServName = WScript.Arguments.Named.Item("sn")
Set Srv = CreateObject("TrafInsp.TrafInspAdmin", ServName)
Else
Set Srv = CreateObject("TrafInsp.TrafInspAdmin")
End If

Set Perm = Srv.QueryPermissions()

Result = Perm.DoSharedLogon(AdmID,AdmPass,"Script")
If Result <> 0 Then
WScript.Echo "Logon error !!!"
WScript.Quit
End If

Set UserDom = WScript.CreateObject("Msxml2.DOMDocument.4.0")
UserDom.async = false
UserDom.loadXML(Srv.GetList(3,null,null,5))
UserDom.save("TrafInsp2_Users.xml")
WScript.Quit

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

Пример создания одного пользователя

------------------------------------------------------
Set Args = WScript.Arguments.Unnamed
If Args.Count <> 2 Then
WScript.Echo "??? usage: cscript.exe loaduser.vbs AdmID AdmPass /sn:ServerName"
WScript.Quit
End If

AdmID = Args(0)
AdmPass = Args(1)

If WScript.Arguments.Named.Exists("sn") Then
ServName = WScript.Arguments.Named.Item("sn")
Set Srv = CreateObject("TrafInsp.TrafInspAdmin", ServName)
Else
Set Srv = CreateObject("TrafInsp.TrafInspAdmin")
End If

Set Perm = Srv.QueryPermissions()

Result = Perm.DoSharedLogon(AdmID,AdmPass,"Script")
If Result <> 0 Then
WScript.Echo "Logon error !!!"
WScript.Quit
End If

Set UserDom = WScript.CreateObject("Msxml2.DOMDocument.4.0")

UserDom.load("test.xml")

Srv.InsertList 3,null,UserDom.xml

WScript.Quit
------------------------------------------------------
Аттрибуты юзера в test.xml, GIUD и прочие пропишуться по дефолту:


GroupDisplayName="VIP"
UserIPAddr="192.168.0.50" UserMAC="11-11-11-11-11-11"
BillMode="2" BlockReason="0" LogonType="3">


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

Дефолтный виндовы админ назначенный в ТИ незахотел логиниться создал в самом ТИ еще одного все ок стало.

суббота, 25 сентября 2010 г.

Криптография Win, обход сертификатов безопасности с любым крипто ключом ( в данном случае был с RSA 1024 bit).

Есть положим сертификат на софт - файл  mykey.cer, в котором прописан длинный хитро ключ типа контрольной суммы и любое изменение данного файла вызовет ошибку.

Также в нем есть открытые нешифрованные параметры - время работы, количество клиентов и прочее...

Истекло действие ключа, нужен новый...

Смысл хака в подмене стандартной крипто библиотеки crypt32.dll, на свою с патченной функцией CryptVerifyCertificateSignatureEx, внутри которой вызывается функция CryptVerifySignatureA. Так вот как раз это место и пропатчено, что бы не вернула  CryptVerifySignatureA, сертификат внутри CryptVerifyCertificateSignatureEx всегда признается валидным.

Наша и исходная библиотека crypt32.dll , WinXP SP3 RUS.



Думаю на других версиях аналогично.

Естественно нашу crypt32.dll ложим в каталог с софтом и правим реестр см. предидущий пост. 

Что это дает?

Теперь мы можем изменять параметры в сертификате как душе угодно и он будет валидным.

Например дата действия ключа:
0x66 "3"
0x67 "3"
 = 2033.

Подмена стандартных dll Windows

Чтобы софт не брал из %WINDIR%\system32 стандратные dll,  ложим нашу в каталог с софтом, создаем  в реестре  -


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager 

мультистроковой параметр

ExcludeFromKnownDlls 

и добавляем туда например MSASN1.DLL.
 
Готовый reg на msasn1.dll crypt32.dll :

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager]
"ExcludeFromKnownDlls"=hex(7):6d,00,73,00,61,00,73,00,6e,00,31,00,2e,00,64,00,\
6c,00,6c,00,00,00,63,00,72,00,79,00,70,00,74,00,33,00,32,00,2e,00,64,00,6c,\
00,6c,00,00,00,00,00


 

пятница, 10 сентября 2010 г.

Миграция, восстановление WINXP.

Век живи, век учись, дураком помрешь )

Столько времени тратил на миграцию на новую систему и установку бухам ихнего п.о., а все намного проще и давно придумано.

1) Грузимся с чистой WINXP CD-DVD. 
Zver сборки тоже можно, выбираем пункт 2 "установка вручную", переписываем выданный им серийник в процессе. Думаю зверь более предпочительней т.к. включает все дрова, апдейты и т.п.  
 
2) Первое предложение о восстановлении игнорируем. А вот второе, когда она найдет уже установленную версию и предложит ее восстановить, тогда говорим - R !
 
3) Видим привычные экраны и давим привычные кнопки.

В результате этой процедуры установщик сносит старые системные файлы и драйвера и устанавливает новые. При этом все настройки всех программ сохраняются и винда остается на 100% рабочей.