Existe um arquivo de log para conexões RDP (com system-name)

5

Existe alguma maneira possível de saber o nome do sistema que levou o sistema remotamente? A partir dos registros, podemos saber o nome de usuário (mas estes são IDs de login genéricos) e o IP (mas estamos usando o DHCP, esses estão mudando dia a dia).

Na árvore do Visualizador de eventos no lado esquerdo sob Logs de aplicativos e serviços - > Windows - > Serviços de Terminal - * , onde * são todos os logs lá. No log operacional do Gerenciador de sessão local do Terminal Service, estamos obtendo os detalhes de apenas o endereço IP e o nome de usuário.

Existe algum log onde possamos encontrar o nome do sistema também?

    
por user280724 10.12.2013 / 15:47

1 resposta

7

Bem, aqui vai ... (isso não vai ser fácil;)

Primeiro, habilite a auditoria em secpol.msc .
Achei que isso é necessário porque os outros eventos foram acionados cedo demais para obter o nome do host.

  • Clique em Iniciar, digite secpol.msc e, em seguida, pressione enter .
    a janela Política de Segurança Local será exibida
  • agora navegue até Local Policy > Audit Policy
    e clique com o botão direito na opção Audit account logon events policy e escolha Properties .
  • Agora, verifique a caixa Success (tentativas malsucedidas não serão registradas dessa maneira)
  • Sair de secpol.msc

Agora crie um arquivo VBScript (por exemplo, chamado c:\temp\log.vbs ):
(também edite a localização do arquivo de log desejado, aqui c:\temp\rdp.log )

Function sessionNumber
 Dim oShell, oExec, sOutput, iUserPos, iUserLen, iStatePos
 Set oShell = CreateObject("WScript.Shell")
 Set oExec = oShell.Exec("query session %username%")
 sOutput = LCase(oExec.StdOut.ReadAll)
 iUserPos = InStr(sOutput,LCase(oShell.ExpandEnvironmentStrings("%username%")))
 iStatePos = InStr(sOutput,"active")
 iUserLen = Len(oShell.ExpandEnvironmentStrings("%username%"))
 sessionNumber = CInt(Trim(Mid(sOutput,iUserPos+iUserLen,iStatePos-iUserPos-iUserLen)))
End Function

Function clientName
 Dim oShell
 Set oShell = CreateObject("WScript.Shell")
 On Error Resume Next
 clientName = LCase(oShell.RegRead("HKCU\Volatile Environment\"&sessionNumber&"\CLIENTNAME"))
 If Err.Number<>0 Then
 clientName =  "unknown"
 End If
End Function

outFile="c:\temp\rdp.log"

Const ForAppending = 8

Set objFSO=CreateObject("Scripting.FileSystemObject")
Set objFile=objFSO.OpenTextFile(outFile,ForAppending,True)
objFile.Write now() & " ; " & clientName & vbCrLf
objFile.Close

Agora, para a última parte, crie uma tarefa agendada para iniciar este script.

  • Clique em Iniciar, digite taskschd.msc e, em seguida, pressione enter .
  • Escolha Create Task no painel direito
  • Nomeie-o como Logon RDP ou algo
  • Na guia Trigger, escolha Novo e escolha "Iniciar a tarefa" On an event
  • Em "Log", escolha Security e em "ID do evento" digite 4624
  • Clique em Ok
  • Na aba Ação, escolha Novo e escolha "Iniciar um programa"
  • No tipo de programa cscript.exe e em Adicionar tipo de argumento c:\temp\log.vbs
  • Pressione Ok duas vezes

Agora, quando alguém faz login via RDP, seu nome de host é registrado em c:\temp\rdp.log

Note que também logins locais serão registrados (eu não testei isso ainda porque estou em um controle remoto :)
mas eu acho que isso não é um problema.

Você poderia, é claro, adaptar o log.vbs para incluir nome de usuário, ip remoto ... etc.

(pfew, o Windows XP foi muito mais fácil. Esse apenas registra o nome do host no evento)
Talvez alguém possa encontrar uma solução mais fácil:)

Editar:

Tambémdescobrique,nologdeeventosdesegurança,háasIDsdeeventos4624.ProcureaquelascomLogonType:3.EledeveconteroWorkstationNamedamáquinaqueefetuouloginviaRDP.

Anaccountwassuccessfullyloggedon.Subject:SecurityID:NULLSIDAccountName:-AccountDomain:-LogonID:0x0LogonType:3NewLogon:SecurityID:User-PC\UserAccountName:UserAccountDomain:User-PCLogonID:0xcd5c10LogonGUID:{00000000-0000-0000-0000-000000000000}ProcessInformation:ProcessID:0x0ProcessName:-NetworkInformation:WorkstationName:XPS8500SourceNetworkAddress:-SourcePort:-

Editar#2

IstoédeumainstalaçãodoWindows7completamentelimpa.
(AmáquinaprincipaléTest-pceamáquinacomaqualeufizlogonéXPS8500):

    
por 10.12.2013 / 23:37