Forum

Local Admin Parolan...
 
Bildirimler
Hepsini Temizle

Local Admin Parolanın Sürekli Değiştirilmesi

4 Yazılar
3 Üyeler
0 Reactions
540 Görüntüleme
(@FatihGOKTAS)
Gönderiler: 33
Trusted Member
Konu başlatıcı
 

Arkadaşlar merhaba,


       Networkteki makinelerde oluşturulan local admin hesaplarının, bir gpo yada 3rd party bir program ile sürekli değişmesini ve büyük küçük harf oluşturacak şekilde kombinasyon oluşturmasını istiyorum. Bunu genellikle bankalar kullanıyor. Makine her açılışta local admin password ü örnek olarak: "A23eR5gJK" gibi değişebiliyor. Aradım ama bulmak nasip olmadı. Acaba böyle bir programı bileniniz var mı? Hatta bu parolaları, başka bir makinede monitör de edebiliyor ve tüm makinelerin local admin parolalarını merkezi bir yerden görebiliyorsunuz. (Script ler ile olsun istemiyorum. Ben tüm makinelerde parolalar ayrı ve rastgele atılsın istiyorum)


       Şimdiden teşekkür ederim. 


  


 

 
Gönderildi : 12/05/2009 23:44

(@evrenyeniev)
Gönderiler: 87
Trusted Member
 

Script istememişsin ama istediğini bulamazsan işine yarar.

 

''''''''''''''''''''''''''''''''''''''''''''''''''''

'                                                  '

'               Mail göndermek için                '

'    gerekli sabit ve değişkenleri tanımlayalım.   '

'                                                  '

''''''''''''''''''''''''''''''''''''''''''''''''''''

Const ADMIN_EMAIL "yö[email protected]"

Const SMTP_SERVER "smtp_sunucumuz"

Const SMTP_PORT 25 

Const USE_AUTHENTICATION False

Const SMTP_USER "smtp_kullanıcı_adımız"

Const SMTP_PASS "parolamız"

Const SMTP_SSL False

Const ENABLE_DEBUGGING False

Set objNetwork = CreateObject("Wscript.Network")
strComputer = objNetwork.ComputerName
Set colAccounts = GetObject("WinNT://" & strComputer & "")
colAccounts.Filter = Array("user")
LocalAdminAdi="admin"
RastgeleParola=Rastgele (7, 14)
dteTime = FormatDateTime(Time(),4)
dteDate = FormatDateTime(Date(),1)
LocalAdminVarmi=False

For Each objUser In colAccounts
    If lcase(objUser.Name)=lcase(LocalAdminAdi) Then
        LocalAdminVarmi=True
    Else
        Set objUser = GetObject("WinNT://" & strComputer & "/" & objUser.Name)
        objUser.AccountDisabled = True
        objUser.SetInfo
    End If
Next

strMessage="<html><head><meta http-equiv=""Content-Type"" content=""text/html; charset=UTF-8"" /></head><body>" _
    & "<b>" & strComputer & "</b>  bilgisayarindan <b>" & AccountName & "</b> kullanici adi ile sisteme giris yapildi. Detaylar asagidaki sekildedir. :<br><br>" _
    & "Oturum acma tarihi: " & dteDate & "<br>" _
    & "Oturum acma saati: " & dteTime & "<br>" _
    & "IP Adresi: " & LAN_IP & "<br>" _

If LocalAdminVarmi=False Then
    result = CreateUser (LocalAdminAdi, RastgeleParola)
    strMessage = strMessage  & "<b>" & LocalAdminAdi & "</b> kullanicisi yoktu. Biz onu olusturduk ve ona <b>" & RastgeleParola & "</b> parolasini atadik."
Else
    Set objUser = GetObject("WinNT://" & strComputer & "/" & LocalAdminAdi & ", user")
    objUser.SetPassword RastgeleParola
    objUser.SetInfo
    strMessage = strMessage  & "<b>" & LocalAdminAdi & "</b> kullanicisi vardi. Biz ona <b>" & RastgeleParola & "</b> parolasini atadik."
End If

On Error Resume Next
result = MemberOfAdmin(LocalAdminAdi)

strMessage = strMessage  & "</body></html>"

SendMail(strMessage)

Set colAccounts=Nothing
Set objNetwork=Nothing
Set objUser=Nothing

Function CreateUser(Username, Password)
    Set objNet = WScript.CreateObject( "WScript.Network" )
    strComputer = objNet.ComputerName
    Set colAccounts = GetObject("WinNT://" & strComputer & "")
    Set objUser = colAccounts.Create("user", Username)
    objUser.SetPassword Password
    objUser.SetInfo
End Function

Function MemberOfAdmin (Username)
    Set objNet = WScript.CreateObject( "WScript.Network" )
    strComputer = objNet.ComputerName
    Set objLocalUser = GetObject("WinNT://" & strComputer & "/" & Username)
    Set objLocalAdmGroup = GetObject("WinNT://" & strComputer & "/Administrators,group")
    objLocalAdmGroup.Add(objLocalUser.AdsPath)
End Function

Function Rastgele (intLowerLimit, intUpperLimit)
    Randomize 
    intCharacters = Int(((intUpperLimit - intLowerLimit + 1) * Rnd) + intUpperLimit)
    intUpperLimit = 126
    intLowerLimit = 33
    For i = 1 to intCharacters
        Randomize
        intASCIIValue = Int(((intUpperLimit - intLowerLimit + 1) * Rnd) + intLowerLimit) 
        strPassword = strPassword & Chr(intASCIIValue)
    Next
    Rastgele=strPassword
End Function

Function SendMail(strBody)
    Set objEmail = CreateObject("CDO.Message")
    With objEmail
        .From = ADMIN_EMAIL
        .To = ADMIN_EMAIL
        .Subject = "Local Kullanici Parola Islemleri"
        .HTMLBody = strBody
        .Configuration.Fields.Item _
            ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        .Configuration.Fields.Item _
            ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = SMTP_SERVER
        .Configuration.Fields.Item _
            ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = SMTP_PORT
        If USE_AUTHENTICATION Then
            .Configuration.Fields.Item _
                ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
            .Configuration.Fields.Item _
                ("http://schemas.microsoft.com/cdo/configuration/sendusername") = SMTP_USER
            .Configuration.Fields.Item _
                ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = SMTP_PASS
        End If
        If SMTP_SSL Then
            .Configuration.Fields.Item _
                ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
        End If
        .Configuration.Fields.Update
        On Error Resume Next
        Err.Clear
        .Send
        If Err.number <> 0 Then
            SendMail = Err.Description
        Else
            SendMail = "Mail gönderirken herhangi bir hata oluşmadı."
        End If
        On Error Goto 0
    End With
End Function

Function LAN_IP
    strComputer = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
    Set colItems = objWMIService.ExecQuery("Select IPAddress from Win32_NetworkAdapterConfiguration WHERE IPEnabled=TRUE",,48)
    For Each objItem In colItems
        If Not IsNull(objItem.IPAddress) Then
            LAN_IP = objItem.IPAddress(0)
            Exit For
        End If
    Next
End Function

Function AccountName
    Set WshNetwork = CreateObject("WScript.Network")
    AccountName = WshNetwork.UserName
End Function

Bütün local kullanıcıları pasif hale getirip senin istediğin bir kullanıcı yok ise oluşturuyor. Var ise de parolasını değiştiriyor. Yaptığı işlemleri de sana mail olarak atıyor.

 
Gönderildi : 13/05/2009 19:02

(@FatihGOKTAS)
Gönderiler: 33
Trusted Member
Konu başlatıcı
 

İlgin için çok teşekkkür ederim. Her ne kadar program arıyor olsam da yinede arşivimde bulunması bana yararlı olacaktır. Çözüm için teşekkürler.

 
Gönderildi : 14/05/2009 01:17

(@serhatakinci)
Gönderiler: 4117
Famed Member
 

Selam

Otomatik passwd üreten, uzaktan tüm makinelerin local adm. passwd'lerini değiştirebilen ve değiştirdiği passwd'leri size raporlayan bir araç:

http://www.absolutedynamics.com/cpwd/download.htm

Ben bu aracı hiç kullanmadım ama incelemenizi öneririm. Belki ihtiyacınızı karşılar.

 
Gönderildi : 14/05/2009 02:27

Paylaş: