elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Mensajes
Páginas: [1]
1  Programación / Scripting / Eventos del sistema de hoy en: 28 Septiembre 2011, 16:15 pm
Hola amigos!!
estoy buscando una forma simple de poder filtrar con un script de vbs, algunos eventos de seguridad de hoy.
es posible eso?
Mil Gracias!!!

Código:
Set colEvents = objWMIService.ExecQuery _
    ("Select * from Win32_NTLogEvent Where LogFile='Security' AND (EventCode=624 or EventCode=630 or EventCode=642 or EventCode=628)")
2  Programación / Scripting / Re: sacar permisos de un share en: 7 Julio 2011, 20:13 pm
perdon. es vbs, el script me da los permisos de una carpeta y sus subdirectorios, el error me lo da en un directorio que tiene "." "C:\Windows\CSC\v2.0.6" para el script.
Muchas gracias!!!
3  Programación / Scripting / Re: sacar permisos de un share en: 7 Julio 2011, 18:55 pm
buenas gente:
encontre uno mejor
pero me da el siguiente error.

C:\acl.vbs(86, 2) SWbemServicesEx: Ruta de acceso del objeto no válida

me dan una mano?
gracias!!!

Código
  1. Option Explicit
  2.  
  3. Dim str_CarpetaOrigen    
  4. Dim obj_ServicioWMI        
  5. Dim obj_EntradasDeSeguridadDeCarpeta
  6. Dim obj_DescriptorDeSeguridad    
  7. Dim int_Devolucion                
  8. Dim int_FlagsDeControl            
  9. Dim arr_ACEs                        
  10. Dim obj_ACE                      
  11. Dim obj_FileSystemObject            
  12.  
  13.  
  14. Const SE_DACL_PRESENT = &h4
  15. Const ACCESS_ALLOWED_ACE_TYPE = &h0
  16. Const ACCESS_DENIED_ACE_TYPE  = &h1
  17. Const FILE_ALL_ACCESS         = &h1f01ff
  18. Const FOLDER_ADD_SUBDIRECTORY = &h000004
  19. Const FILE_DELETE             = &h010000
  20. Const FILE_DELETE_CHILD       = &h000040
  21. Const FOLDER_TRAVERSE         = &h000020
  22. Const FILE_READ_ATTRIBUTES    = &h000080
  23. Const FILE_READ_CONTROL       = &h020000
  24. Const FOLDER_LIST_DIRECTORY   = &h000001
  25. Const FILE_READ_EA            = &h000008
  26. Const FILE_SYNCHRONIZE        = &h100000
  27. Const FILE_WRITE_ATTRIBUTES   = &h000100
  28. Const FILE_WRITE_DAC          = &h040000
  29. Const FOLDER_ADD_FILE         = &h000002
  30. Const FILE_WRITE_EA           = &h000010
  31. Const FILE_WRITE_OWNER        = &h080000
  32. Const WBEM_RETURN_IMMEDIATELY = &h10
  33. Const WBEM_FORWARD_ONLY = &h20
  34.  
  35.  
  36. 'la carpea que pasamos como parametro, sino la actual
  37. If Wscript.Arguments.Count = 0 Then
  38.  
  39.    str_CarpetaOrigen = "."
  40.  
  41. Else
  42.  
  43.    str_CarpetaOrigen = Wscript.Arguments(0)
  44.  
  45. End If
  46.  
  47. 'Creamos el objeto FileSystem
  48. Set obj_FileSystemObject = CreateObject("Scripting.FileSystemObject")
  49.  
  50. 'Llamamos a la rutina que obtiene las ACLs
  51. Call s_Muestra_ACLs(obj_FileSystemObject.GetFolder(str_CarpetaOrigen))
  52.  
  53. Sub s_Muestra_ACLs(obj_Carpeta)
  54.  
  55.    Dim obj_SubCarpeta 'Objeto que albergará cada carpeta contenida en la
  56.                    'carpeta obj_Carpeta
  57.  
  58.    'ruta de la carpeta en la que estamos
  59. WScript.StdOut.Write  vbCrLf & obj_Carpeta.Path
  60.  
  61. 'Creamos un objeto del servicio WMI
  62. Set obj_ServicioWMI = GetObject("winmgmts:")
  63.  
  64. 'Creamos un objeto con las entradas de seguridad de la carpeta
  65. Set obj_EntradasDeSeguridadDeCarpeta = _
  66.                obj_ServicioWMI.Get _
  67.       ( _
  68.        "Win32_LogicalFileSecuritySetting='" & _
  69.     obj_Carpeta.Path & "'" _
  70.     )
  71.  
  72. 'Creamos un objeto descriptor de seguridad
  73. int_Devolucion = _
  74.         obj_EntradasDeSeguridadDeCarpeta.GetSecurityDescriptor _
  75.                        (obj_DescriptorDeSeguridad)
  76.  
  77. 'Almacenamos los flags de control del descriptor de seguridad
  78. int_FlagsDeControl = obj_DescriptorDeSeguridad.ControlFlags
  79.  
  80. 'revisamos los flags
  81. If (int_FlagsDeControl AND SE_DACL_PRESENT) _
  82.           = SE_DACL_PRESENT Then
  83.    arr_ACEs = obj_DescriptorDeSeguridad.DACL
  84.  
  85.    For Each obj_ACE in arr_ACEs
  86.  
  87.        WScript.StdOut.Write "\" & obj_ACE.Trustee.Domain & "\" & obj_ACE.Trustee.Name & " "
  88.  
  89.        If (obj_ACE.AceType = ACCESS_ALLOWED_ACE_TYPE) _
  90.           = ACCESS_ALLOWED_ACE_TYPE Then
  91.            WScript.StdOut.Write "P: "
  92.  
  93.        ElseIf (obj_ACE.AceType = ACCESS_DENIED_ACE_TYPE) _
  94.           = ACCESS_DENIED_ACE_TYPE Then
  95.  
  96.            WScript.StdOut.Write "D: "
  97.  
  98.        End If
  99.  
  100.        If (obj_ACE.AccessMask AND FILE_ALL_ACCESS) _
  101.           = FILE_ALL_ACCESS Then
  102.  
  103.            WScript.StdOut.Write "FAA "
  104.  
  105.        End If
  106.  
  107.        If (obj_ACE.AccessMask AND FOLDER_ADD_SUBDIRECTORY) _
  108.           = FOLDER_ADD_SUBDIRECTORY Then
  109.  
  110.            WScript.StdOut.Write "FAS "
  111.  
  112.        End If
  113.  
  114.        If (obj_ACE.AccessMask AND FILE_DELETE) _
  115.           = FILE_DELETE Then
  116.  
  117.            WScript.StdOut.Write "FD "
  118.  
  119.        End If
  120.  
  121.        If (obj_ACE.AccessMask AND FILE_DELETE_CHILD) _
  122.           = FILE_DELETE_CHILD Then
  123.  
  124.            WScript.StdOut.Write "FDC "
  125.  
  126.        End If
  127.  
  128.        If (obj_ACE.AccessMask AND FOLDER_TRAVERSE) _
  129.           = FOLDER_TRAVERSE Then
  130.  
  131.            WScript.StdOut.Write "FT "
  132.  
  133.        End If
  134.  
  135.        If (obj_ACE.AccessMask AND FILE_READ_ATTRIBUTES) _
  136.           = FILE_READ_ATTRIBUTES Then
  137.  
  138.            WScript.StdOut.Write "FRA "
  139.  
  140.        End If
  141.  
  142.        If (obj_ACE.AccessMask AND FILE_READ_CONTROL) _
  143.           = FILE_READ_CONTROL Then
  144.  
  145.            WScript.StdOut.Write "FRC "
  146.  
  147.        End If
  148.  
  149.        If (obj_ACE.AccessMask AND FOLDER_LIST_DIRECTORY) _
  150.           = FOLDER_LIST_DIRECTORY Then
  151.  
  152.            WScript.StdOut.Write "FLD "
  153.  
  154.        End If
  155.  
  156.        If (obj_ACE.AccessMask AND FILE_READ_EA) _
  157.           = FILE_READ_EA Then
  158.  
  159.            WScript.StdOut.Write "FREA "
  160.  
  161.        End If
  162.  
  163.        If (obj_ACE.AccessMask AND FILE_SYNCHRONIZE) _
  164.           = FILE_SYNCHRONIZE Then
  165.  
  166.            WScript.StdOut.Write "FS "
  167.  
  168.        End If
  169.  
  170.        If (obj_ACE.AccessMask AND FILE_WRITE_ATTRIBUTES) _
  171.           = FILE_WRITE_ATTRIBUTES Then
  172.  
  173.            WScript.StdOut.Write "FWA "
  174.  
  175.        End If
  176.  
  177.        If (obj_ACE.AccessMask AND FILE_WRITE_DAC) _
  178.           = FILE_WRITE_DAC Then
  179.  
  180.            WScript.StdOut.Write "FWD "
  181.  
  182.        End If
  183.  
  184.        If (obj_ACE.AccessMask AND FOLDER_ADD_FILE) _
  185.           = FOLDER_ADD_FILE Then
  186.  
  187.            WScript.StdOut.Write "FAF "
  188.  
  189.        End If
  190.  
  191.        If (obj_ACE.AccessMask AND FILE_WRITE_EA) _
  192.           = FILE_WRITE_EA Then
  193.  
  194.            WScript.StdOut.Write "FWEA "
  195.  
  196.        End If
  197.  
  198.        If (obj_ACE.AccessMask AND FILE_WRITE_OWNER) _
  199.           = FILE_WRITE_OWNER Then
  200.  
  201.            WScript.StdOut.Write "FWO "
  202.  
  203.        End If
  204.  
  205.    Next
  206.  
  207. Else
  208.  
  209.    WScript.StdOut.Write "NACL"
  210.  
  211. End If
  212.  
  213. 'Realizamos una llamada recursiva en cada una de las carpetas contenidas en la carpeta recibida como parámetro.
  214. For Each obj_SubCarpeta In obj_Carpeta.SubFolders
  215.  
  216.     Call s_Muestra_ACLs(obj_Subcarpeta)
  217.  
  218. Next
  219.  
  220. End Sub
4  Programación / Scripting / sacar permisos de un share en: 14 Junio 2011, 23:06 pm
Bunenas tardes amigos:

me darian una mano para hacer que este script sea recursivo y que busque en todas las carpetas.

un abrazo y como siempre mil gracias!!!

Option Explicit
 
Const SE_DACL_PRESENT = &h4
Const ACCESS_ALLOWED_ACE_TYPE = &h0
Const ACCESS_DENIED_ACE_TYPE  = &h1
Const FILE_ALL_ACCESS = &h1f01ff
Const FOLDER_ADD_SUBDIRECTORY = &h000004
Const FILE_DELETE = &h010000
Const FILE_DELETE_CHILD = &h000040
Const FOLDER_TRAVERSE = &h000020
Const FILE_READ_ATTRIBUTES = &h000080
Const FILE_READ_CONTROL = &h020000
Const FOLDER_LIST_DIRECTORY = &h000001
Const FILE_READ_EA = &h000008
Const FILE_SYNCHRONIZE = &h100000
Const FILE_WRITE_ATTRIBUTES = &h000100
Const FILE_WRITE_DAC = &h040000
Const FOLDER_ADD_FILE = &h000002
Const FILE_WRITE_EA = &h000010
Const FILE_WRITE_OWNER = &h080000
Const WBEM_RETURN_IMMEDIATELY = &h10
Const WBEM_FORWARD_ONLY = &h20
 
Dim objWMIService, objItem
Dim strComputer
Dim arrComputers
Dim colItems
 
Sub ReadDescriptor(strPath)
        Dim objFolderSecuritySettings, objSD, objACE
        Dim arrACEs
        Dim intControlFlags
       
        Set objFolderSecuritySettings = objWMIService.Get("Win32_LogicalFileSecuritySetting='" & strPath & "'")
        objFolderSecuritySettings.GetSecurityDescriptor objSD
       
        intControlFlags = objSD.ControlFlags
       
                If intControlFlags AND SE_DACL_PRESENT Then
                        arrACEs = objSD.DACL
                For Each objACE in arrACEs
                        WScript.StdOut.Write  "\" & objACE.Trustee.Domain & "\" & objACE.Trustee.Name

                If objACE.AccessMask AND FILE_ALL_ACCESS Then
                        WScript.StdOut.Write " FILE_ALL_ACCESS "   
         End If
                If objACE.AccessMask AND FOLDER_ADD_SUBDIRECTORY Then
                         WScript.StdOut.Write "FOLDER_ADD_SUBDIRECTORY "
                End If
                If objACE.AccessMask AND FILE_DELETE Then                       
         WScript.StdOut.Write "FILE_DELETE "                 
      End If               
      If objACE.AccessMask AND FILE_DELETE_CHILD Then                       
         WScript.StdOut.Write "FILE_DELETE_CHILD "                 
      End If               
      If objACE.AccessMask AND FOLDER_TRAVERSE Then                       
         WScript.StdOut.Write "FOLDER_TRAVERSE "
                End If
                If objACE.AccessMask AND FILE_READ_ATTRIBUTES Then
                        WScript.StdOut.Write  "FILE_READ_ATTRIBUTES "
                End If
                If objACE.AccessMask AND FILE_READ_CONTROL Then
                        WScript.StdOut.Write "FILE_READ_CONTROL "
                End If
                If objACE.AccessMask AND FOLDER_LIST_DIRECTORY Then
                        WScript.StdOut.Write "FOLDER_LIST_DIRECTORY "
                End If
                If objACE.AccessMask AND FILE_READ_EA Then
                        WScript.StdOut.Write "FILE_READ_EA "
                End If
                If objACE.AccessMask AND FILE_SYNCHRONIZE Then
                        WScript.StdOut.Write "FILE_SYNCHRONIZE "
                End If
                If objACE.AccessMask AND FILE_WRITE_ATTRIBUTES Then
                        WScript.StdOut.Write"FILE_WRITE_ATTRIBUTES "
                End If
                If objACE.AccessMask AND FILE_WRITE_DAC Then
                        WScript.StdOut.Write "FILE_WRITE_DAC "
                End If
                If objACE.AccessMask AND FOLDER_ADD_FILE Then
                        WScript.StdOut.Write "FOLDER_ADD_FILE "
                End If
                If objACE.AccessMask AND FILE_WRITE_EA Then
                        WScript.StdOut.Write "FILE_WRITE_EA "
                End If
                If objACE.AccessMask AND FILE_WRITE_OWNER Then
                        WScript.StdOut.Write "FILE_WRITE_OWNER "
                End If
                next
                Else
                        WScript.StdOut.Write "No DACL present in security descriptor" & vbCrLf
                End If
         
End Sub
 
'
' Main Code
'
Const INPUT_FILE_NAME = "C:\tools\Computers.txt"
Const FOR_READING = 1
Dim objFSO
Dim objFile
        Set objFSO = CreateObject("Scripting.FileSystemObject")
        Set objFile = objFSO.OpenTextFile(INPUT_FILE_NAME, FOR_READING)
                strComputer = objFile.ReadAll
                objFile.Close
                arrComputers = Split(strComputer, vbCrLf)
                        For Each strComputer In arrComputers                       
                        WScript.Echo strComputer
                                On Error Resume Next
                                Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\CIMV2")
                                Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_Share WHERE Type=0", "WQL",_
                                WBEM_RETURN_IMMEDIATELY + WBEM_FORWARD_ONLY)
                               
                        For Each objItem in colItems
                                WScript.StdOut.Write objItem.Path & " "
                                ReadDescriptor objItem.Path
            WScript.Echo
                        Next
                        Set objWMIService = Nothing
                        On Error Goto 0
                Next
5  Programación / Scripting / Re: VBS no funciona guarda eventos en: 22 Febrero 2011, 02:09 am
 :laugh: ;-) ;-) ;-) ;-) ;-)
Muchisimas Gracias!!!
me acabas de resolver un problema enorme, ya tenia quemada la cabeza!!!
6  Programación / Scripting / Re: VBS no funciona guarda eventos en: 21 Febrero 2011, 17:35 pm
Muchas Gracias Por tu pronta respuesta. como podria hacer esta verificacion. soy nuevo en esto y hace dias que me estoy rompiendo la cabeza!!!
mil gracias!!!
7  Programación / Scripting / VBS no funciona guarda eventos en: 16 Febrero 2011, 15:53 pm
Hola Amigos:

Tengo el siguiente problema con este script.
me funciona la parte de buscar y guardar un evento, pero cuando no se encuentran eventos deberia guardar en el archivo la leyenda "No se encontraron eventos." pero no lo hace, que estoy haciendo mail?

muchas Gracias!!!  :laugh:


Código
  1. 'Busca el nombre de la Pc local, de aca sacamos los eventos
  2.  
  3. Set wshShell = WScript.CreateObject( "WScript.Shell" )
  4. strComputer = wshShell.ExpandEnvironmentStrings( "%COMPUTERNAME%" )
  5.  
  6.  
  7. 'conectamos
  8.  
  9. Set objWMIService = GetObject("winmgmts:" _
  10. & "{impersonationLevel=impersonate, (Backup, Security)}!\\" _
  11. & strComputer & "\root\cimv2")
  12.  
  13. ' definimos que buscar
  14.  
  15. Set colEvents = objWMIService.ExecQuery _
  16.    ("Select * from Win32_NTLogEvent Where LogFile='Security' AND (EventCode=528 or EventCode=540)")
  17.  
  18. 'creamos el archivo que contendra el log filtrado
  19.  
  20. Set objFSO = CreateObject("Scripting.FileSystemObject")
  21. Set objFile = objFSO.CreateTextFile("C:\backup_evt\" & Day(Date) & "-" & Month(Date) & "-" & Year(Date) & ".cvs")
  22.  
  23. 'le decimos que mostrar y en que orden
  24.  
  25. For Each objEvent in colEvents
  26.    strTimeWritten = objEvent.TimeWritten
  27.  
  28.    dtmTimeWritten = CDate(Mid(strTimeWritten, 5, 2) & "/" & _
  29.        Mid(strTimeWritten, 7, 2) & "/" & Left(strTimeWritten, 4) _
  30.            & " " & Mid (strTimeWritten, 9, 2) & ":" & _
  31.                Mid(strTimeWritten, 11, 2) & ":" & Mid(strTimeWritten, 13, 2))
  32.  
  33.    dtmDate = FormatDateTime(dtmTimeWritten, vbShortDate)
  34.    dtmTime = FormatDateTime(dtmTimeWritten, vbLongTime)
  35.  
  36.    strEvent = dtmDate & vbTab
  37.    strEvent = strEvent & dtmTime & vbTab
  38.    strEvent = strEvent & objEvent.SourceName & vbTab 'nombre
  39.    strEvent = strEvent & objEvent.Type & vbTab   'Error
  40.    strEvent = strEvent & objEvent.Category & vbTab 'categoria
  41.    strEvent = strEvent & objEvent.EventCode & vbTab 'codigo
  42.    strEvent = strEvent & objEvent.User & vbTab 'usuario
  43.    strEvent = strEvent & objEvent.ComputerName & vbTab 'maquina
  44.  
  45.  
  46. 'mensaje que avisa que no se encontraron eventos no funca
  47.  
  48.  
  49.    strDescription = objEvent.Message
  50.    If IsNull(strDescription) Then
  51.        strDescription = "No se encontraron eventos."
  52.    End If
  53.    strDescription = Replace(strDescription, vbCrLf, " ")
  54.    strEvent = strEvent & strDescription
  55.  
  56.    objFile.WriteLine strEvent
  57. Next
  58.  
  59. objFile.Close
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines