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

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderador: fary)
| | |-+  Problema con Heuristica: Gen:Trojan.Heur.VB.Em0@cWrJA@H
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Problema con Heuristica: Gen:Trojan.Heur.VB.Em0@cWrJA@H  (Leído 10,153 veces)
50l3r


Desconectado Desconectado

Mensajes: 784


Solo se que se algo pero no me acuerdo


Ver Perfil WWW
Problema con Heuristica: Gen:Trojan.Heur.VB.Em0@cWrJA@H
« en: 4 Mayo 2010, 23:19 pm »

Estoy realizando un software de control del sistema, como aplicaciones al inicio y demas

El problema es que me es detectado por el bitdefender como

Gen:Trojan.Heur.VB.Em0@cWrJA@H


Nose a que puede deberse, podriais darme alguna pista?

el programa toca cosas del servicio, registro...
En línea

skapunky
Electronik Engineer &
Colaborador
***
Desconectado Desconectado

Mensajes: 3.667


www.killtrojan.net


Ver Perfil WWW
Re: Problema con Heuristica: Gen:Trojan.Heur.VB.Em0@cWrJA@H
« Respuesta #1 en: 4 Mayo 2010, 23:43 pm »

Imagino que lo habras hecho por modulos/funciones....saca uno por uno y comprueva cual es la parte que da problemas. Es la unica solucion que se me ocurre sin ver el codigo, por otra parte si has sacado parte del codigo de internet es lo mas normal, todos los programadores de malware acostumbran a coger esas partes para añadirla a sus bichos.
En línea

Killtrojan Syslog v1.44: ENTRAR
50l3r


Desconectado Desconectado

Mensajes: 784


Solo se que se algo pero no me acuerdo


Ver Perfil WWW
Re: Problema con Heuristica: Gen:Trojan.Heur.VB.Em0@cWrJA@H
« Respuesta #2 en: 5 Mayo 2010, 08:20 am »

te comento

no tiene modulos, solo usa funciones privadas
no es un malware, es un gestor del arranque, como un msconfig

tiene trozos que he tenido que sacar de internet si, como todo jeje, luego lo he puesto a mi manera

mira, os dejo el codiugo fuente, haber si veis algo

Código
  1. Option Explicit
  2.  
  3. Const HKEY_CLASSES_ROOT = &H80000000
  4. Const HKEY_CURRENT_USER = &H80000001
  5. Const HKEY_LOCAL_MACHINE = &H80000002
  6. Const HKEY_USERS = &H80000003
  7. Const HKEY_CURRENT_CONFIG = &H80000005
  8.  
  9. Const REG_SZ = 1
  10. Const REG_EXPAND_SZ = 2
  11. Const REG_BINARY = 3
  12. Const REG_DWORD = 4
  13. Const REG_MULTI_SZ = 7
  14.  
  15. Public carpeta As String
  16.  
  17.  
  18.  
  19.  
  20. Private Sub Form_Initialize()
  21.    If App.PrevInstance = True Then
  22.        MsgBox "La aplicacion ya esta siendo ejecutada", vbInformation
  23.        End
  24.    End If
  25.    App.TaskVisible = True
  26. End Sub
  27.  
  28. Private Sub Form_Load()
  29.  
  30.    carpeta = Environ("PROGRAMFILES") & "\InfoBugs"
  31.  
  32.    Call Ficheros_programa
  33.    Call lblinicio_Click
  34. End Sub
  35.  
  36.  
  37. '------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  38. 'FUNCIONES
  39. '------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  40.  
  41. Private Function listado_servicios() 'FUNCION DE LISTADO DE SERVICIOS
  42. On Error GoTo error
  43.    Dim objwmiservice As Object
  44.    Dim colListOfServices, objservice
  45.    Dim lisitems As ListItem
  46.    Dim estado As String
  47.  
  48.    LV3.ListItems.Clear
  49.  
  50.    Set objwmiservice = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
  51.    Set colListOfServices = objwmiservice.ExecQuery("Select * from Win32_Service")
  52.  
  53.    For Each objservice In colListOfServices
  54.  
  55.        If objservice.state = "Running" Then Set lisitems = LV3.ListItems.Add(, , , , "service-on") Else Set lisitems = LV3.ListItems.Add(, , , , "service-off")
  56.        If objservice.state = "Running" Then estado = "Iniciado" Else estado = "Parado"
  57.  
  58.            lisitems.SubItems(1) = objservice.DisplayName
  59.            lisitems.SubItems(2) = objservice.Description
  60.            lisitems.SubItems(3) = estado
  61.            lisitems.SubItems(4) = objservice.Name
  62.    Next
  63. error:
  64. End Function
  65.  
  66.  
  67. Private Function Listado(ByVal path As String) 'FUNCION DE LISTADO DE CARPETAS
  68. On Error GoTo error
  69.    Dim raiz As Folder
  70.    Dim carpetas As Folder
  71.    Dim archivo As File
  72.  
  73.    Dim FSO As FileSystemObject
  74.  
  75.    Set FSO = New FileSystemObject
  76.    Set raiz = FSO.GetFolder(path)
  77.  
  78.    Screen.MousePointer = vbHourglass
  79.  
  80.    For Each carpetas In raiz.SubFolders
  81.        LV.ListItems.Add(, , carpetas.Name, , "carpeta").SubItems(1) = raiz.path
  82.    Next
  83.  
  84.    For Each archivo In raiz.Files
  85.        LV.ListItems.Add(, , archivo.Name, , "archivo").SubItems(1) = archivo.path
  86.    Next
  87.  
  88.    Screen.MousePointer = vbDefault
  89.  
  90.    Set FSO = Nothing
  91.  
  92.    Set raiz = Nothing
  93. error:
  94. End Function
  95.  
  96.  
  97. Private Sub Image4_Click()
  98. On Error GoTo error
  99.    Shell "netsh firewall set opmode mode = ENABLE", vbHide
  100.    imgfirewallno.Visible = False
  101.    imgfirewallsi.Visible = True
  102.    Exit Sub
  103. error:
  104.    imgfirewallno.Visible = True
  105.    imgfirewallsi.Visible = False
  106. End Sub
  107.  
  108. Private Sub Image7_Click()
  109. On Error GoTo error
  110.    Shell "reg add HKLM\System\CurrentControlSet\Services\Tcpip\Parameters /f /v SynAttackProtect /d 2 /t reg_dword", vbHide
  111.    imgsynfloodsi.Visible = True
  112.    imgsynfloodno.Visible = False
  113.    Exit Sub
  114. error:
  115.    imgsynfloodsi.Visible = False
  116.    imgsynfloodno.Visible = True
  117. End Sub
  118.  
  119. Private Sub imgbackupreg_Click() 'FUNCION PARA BACKUP DEL REGISTRO
  120.    Dim fecha As String
  121.  
  122.    fecha = Date$ & " " & Time$
  123.    fecha = Replace(fecha, ":", " ")
  124.  
  125.    If MsgBox("¿Esta seguro de querer realizar un backup del registro?", vbQuestion + vbYesNo, "Advertencia") = vbYes Then
  126.  
  127.        Me.MousePointer = vbHourglass
  128.  
  129.        Call Ficheros_programa
  130.  
  131.        Shell "regedit /e " & Chr(34) & carpeta & "\Registro\" & fecha & ".reg" & Chr(34)
  132.  
  133.        If Len(Dir(carpeta & "\Registro\" & fecha & ".reg")) Then MsgBox "Backup del Registro Completado Satisfactoriamente", vbInformation Else MsgBox "Backup del Registro Fallido, Comprueba Permisos", vbCritical
  134.  
  135.        Me.MousePointer = vbNormal
  136.  
  137.    End If
  138. End Sub
  139.  
  140. Private Sub imgbackdoor_Click() 'COMPROBANDO SI HAY UNA BACKDOOR TRASERA
  141. On Error GoTo error
  142.    Dim sethc As Long, cmd As Long, taskmgr As Long
  143.  
  144.    cmd = FileLen("c:\windows\system32\cmd.exe")
  145.    sethc = FileLen("c:\windows\system32\sethc.exe")
  146.    taskmgr = FileLen("c:\windows\system32\taskmgr.exe")
  147.  
  148.    Select Case cmd
  149.        Case sethc
  150.            backno.Visible = True
  151.            backyes.Visible = False
  152.        Case taskmgr
  153.            backno.Visible = True
  154.            backyes.Visible = False
  155.        Case Else
  156.            backyes.Visible = True
  157.            backno.Visible = False
  158.    End Select
  159.    Exit Sub
  160. error:
  161.    backyes.Visible = False
  162.    backno.Visible = True
  163. End Sub
  164.  
  165.  
  166. Private Function Registro_dir(ByVal raiz As String, ByVal ruta As String, ByVal origen As String) 'EXAMINANDO LOS VALORES DEL REGISTRO
  167.    On Error GoTo error
  168.    Dim oreg As Object
  169.    Dim Nombre_pc, respuesta, valor As String
  170.    Dim lisitems As ListItem
  171.    Dim arrvaluenames(), arrvaluetypes() As String
  172.    Dim i As Integer
  173.  
  174.    Screen.MousePointer = vbHourglass
  175.  
  176.    Nombre_pc = "."
  177.  
  178.    Set oreg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & Nombre_pc & "\root\default:StdRegProv")
  179.  
  180.    Select Case raiz
  181.        Case "hklm"
  182.  
  183.            respuesta = oreg.EnumValues(HKEY_LOCAL_MACHINE, ruta, arrvaluenames, arrvaluetypes)
  184.        Case "hkcu"
  185.            respuesta = oreg.EnumValues(HKEY_CURRENT_USER, ruta, arrvaluenames, arrvaluetypes)
  186.        Case "hku"
  187.            respuesta = oreg.EnumValues(HKEY_USERS, ruta, arrvaluenames, arrvaluetypes)
  188.        Case "hkcr"
  189.            respuesta = oreg.EnumValues(HKEY_CLASSES_ROOT, ruta, arrvaluenames, arrvaluetypes)
  190.        Case "hkcc"
  191.            respuesta = oreg.EnumValues(HKEY_CURRENT_CONFIG, ruta, arrvaluenames, arrvaluetypes)
  192.    End Select
  193.  
  194.        For i = 0 To UBound(arrvaluenames)
  195.            Select Case raiz
  196.                Case "hklm"
  197.                    oreg.GetStringValue HKEY_LOCAL_MACHINE, ruta & "\", arrvaluenames(i), valor
  198.                    raiz = "HKEY_LOCAL_MACHINE"
  199.                Case "hkcu"
  200.                    oreg.GetStringValue HKEY_CURRENT_USER, ruta & "\", arrvaluenames(i), valor
  201.                    raiz = "HKEY_CURRENT_USER"
  202.                Case "hku"
  203.                    oreg.GetStringValue HKEY_USERS, ruta & "\", arrvaluenames(i), valor
  204.                    raiz = "HKEY_USERS"
  205.                Case "hkcr"
  206.                    oreg.GetStringValue HKEY_CLASSES_ROOT, ruta & "\", arrvaluenames(i), valor
  207.                    raiz = "HKEY_CLASSES_ROOT"
  208.                Case "hkcc"
  209.                    oreg.GetStringValue HKEY_CURRENT_CONFIG, ruta & "\", arrvaluenames(i), valor
  210.                    raiz = "HKEY_CURRENT_CONFIG"
  211.            End Select
  212.  
  213.            Set lisitems = LV2.ListItems.Add(, , origen)
  214.  
  215.            lisitems.SubItems(1) = arrvaluenames(i)
  216.            lisitems.SubItems(2) = valor
  217.            lisitems.SubItems(3) = raiz & "\" & ruta
  218.        Next
  219.  
  220. error:
  221.        Screen.MousePointer = vbNormal
  222.  
  223. End Function
  224.  
  225. Private Function Ficheros_programa() 'VERIFICANDO INSTALACION DEL PROGRAMA
  226.    If Len(Dir(carpeta, vbDirectory)) = 0 Then
  227.        MkDir carpeta
  228.        Open carpeta & "\carpetas.ibgs" For Output As #1
  229.        Close #1
  230.        Open carpeta & "\registros.ibgs" For Output As #1
  231.        Close #1
  232.        MkDir carpeta & "\Registro"
  233.    Else
  234.        If Len(Dir(carpeta & "\Registro", vbDirectory)) = 0 Then MkDir carpeta & "\Registro"
  235.  
  236.        If Len(Dir(carpeta & "\carpetas.ibgs", vbArchive)) = 0 Then
  237.            Open carpeta & "\carpetas.ibgs" For Output As #1
  238.            Close #1
  239.        End If
  240.  
  241.        If Len(Dir(carpeta & "\registros.ibgs", vbArchive)) = 0 Then
  242.            Open carpeta & "\registros.ibgs" For Output As #1
  243.            Close #1
  244.        End If
  245.    End If
  246. End Function
  247.  
  248.  
  249. '------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  250. 'DESCRIPCIONES
  251. '------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  252.  
  253. Private Sub LV_Click() 'CAMPOS DE DESCRIPCION DEL VALOR
  254.    lblnombreini.Caption = "Nombre: " & LV.SelectedItem.Text
  255.    lblvalorini.Caption = "Ruta: " & LV.SelectedItem.SubItems(1)
  256.  
  257.    If Len(lblvalorini) >= 129 Then lblvalorini.Caption = Mid(lblvalorini, 1, 126) & "..."
  258.    If Len(lblnombreini) >= 129 Then lblnombreini.Caption = Mid(lblnombreini, 1, 126) & "..."
  259. End Sub
  260.  
  261. Private Sub LV2_Click() 'CAMPOS DE DESCRIPCION DEL VALOR
  262.    Dim raiz() As String
  263.  
  264.    raiz = Split(LV2.SelectedItem.SubItems(3), "\")
  265.  
  266.    lblraizreg.Caption = "Raiz: " & raiz(0)
  267.    lblorigenreg.Caption = "Descripcion: " & Left(LV2.SelectedItem.Text, 15)
  268.    lblnombrereg.Caption = "Nombre: " & LV2.SelectedItem.SubItems(1)
  269.    lblvalorreg.Caption = "Valor: " & LV2.SelectedItem.SubItems(2)
  270.  
  271.    If Len(lblvalorreg) >= 129 Then lblvalorreg.Caption = Mid(lblvalorreg, 1, 129) & "..."
  272.    If Len(lblnombrereg) >= 129 Then lblnombrereg.Caption = Mid(lblnombrereg, 1, 129) & "..."
  273.  
  274. End Sub
  275.  
  276. Private Sub LV3_Click()
  277.    lblestadoservice.Caption = "Estado: " & LV3.SelectedItem.SubItems(3)
  278.    lblnombreservice.Caption = "Nombre: " & LV3.SelectedItem.SubItems(1)
  279.    lbldescripcionservice.Caption = "Descripcion: " & LV3.SelectedItem.SubItems(2)
  280.  
  281.    If Len(lbldescripcionservice) >= 110 Then lbldescripcionservice.Caption = Mid(lbldescripcionservice, 1, 107) & "..."
  282.  
  283. End Sub
  284.  
  285. '------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  286. 'MENUS
  287. '------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  288.  
  289. Private Sub lblregistro_Click() 'COMPROBANDO LOS REGISTROS
  290. On Error GoTo error
  291.    Dim lugar As String
  292.    Dim partes() As String
  293.  
  294.    frameregistro.Visible = True
  295.    frameinicio.Visible = False
  296.    frameotros.Visible = False
  297.    frameservicios.Visible = False
  298.    lblinicio.BackColor = &H6E6E6E
  299.    lblregistro.BackColor = &H7E7E7E
  300.    lblotros.BackColor = &H6E6E6E
  301.    lblservicios.BackColor = &H6E6E6E
  302.  
  303.    LV2.ListItems.Clear
  304.    Screen.MousePointer = vbHourglass
  305.    Registro_dir "hklm", "SOFTWARE\Microsoft\Windows\Currentversion\run", "Run HKLM"
  306.    Registro_dir "hkcu", "SOFTWARE\Microsoft\Windows\Currentversion\run", "Run HKCU"
  307.  
  308.    Registro_dir "hklm", "SOFTWARE\Microsoft\Windows\Currentversion\runonce", "RunOnce HKLM"
  309.    Registro_dir "hkcu", "SOFTWARE\Microsoft\Windows\Currentversion\runonce", "RunOnce HKCU"
  310.  
  311.    Registro_dir "hklm", "SOFTWARE\Microsoft\Windows\Currentversion\runonceex", "RunOnceEx HKLM"
  312.    Registro_dir "hkcu", "SOFTWARE\Microsoft\Windows\Currentversion\runonceex", "RunOnceEx HKCU"
  313.  
  314.    Registro_dir "hkcu", "Software\Microsoft\Windows NT\CurrentVersion\Windows\run", "Run HKCU WinNT"
  315.    Registro_dir "hkcu", "Software\Microsoft\Windows NT\CurrentVersion\Windows\load", "Load HKCU WinNT"
  316.  
  317.    Registro_dir "hklm", "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", "Shell HKLM"
  318.  
  319.    Registro_dir "hklm", "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\UserInit", "UserInit HKLM"
  320.  
  321.    Registro_dir "hklm", "SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\Run", "Policies HKLM"
  322.    Registro_dir "hkcu", "SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\Run", "Policies HKCU"
  323.  
  324.    Registro_dir "hklm", "SOFTWARE\Policies\Microsoft\Windows\System\Scripts", "Scripts HKLM"
  325.    Registro_dir "hklm", "SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine\Scripts", "Scripts HKLM"
  326.  
  327.    Call Ficheros_programa
  328.  
  329.    Open carpeta & "\registros.ibgs" For Input As #2
  330.        Do While Not EOF(2)
  331.            Line Input #2, lugar
  332.            partes = Split(lugar, "<>")
  333.            Registro_dir partes(1), partes(2), partes(0)
  334.        Loop
  335.    Close #2
  336.  
  337.    Screen.MousePointer = vbDefault
  338. error:
  339. End Sub
  340.  
  341. Private Sub lblinicio_Click()
  342. On Error GoTo error
  343.    Dim wscript As Object
  344.    Dim pathinicio As String, carpeta_especificada As String
  345.  
  346.    frameinicio.Visible = True
  347.    frameregistro.Visible = False
  348.    frameotros.Visible = False
  349.    frameservicios.Visible = False
  350.    lblregistro.BackColor = &H6E6E6E
  351.    lblinicio.BackColor = &H7E7E7E
  352.    lblotros.BackColor = &H6E6E6E
  353.    lblservicios.BackColor = &H6E6E6E
  354.  
  355.    Set wscript = CreateObject("Wscript.Shell")
  356.    pathinicio = wscript.specialfolders("Startup")
  357.  
  358.    LV.ListItems.Clear
  359.  
  360.    Call Listado(pathinicio)
  361.  
  362.    Call Ficheros_programa
  363.  
  364.    Open carpeta & "\carpetas.ibgs" For Input As #1
  365.        Do While Not EOF(1)
  366.            Line Input #1, carpeta_especificada
  367.            Call Listado(carpeta_especificada)
  368.        Loop
  369.    Close #1
  370.  
  371.    Set wscript = Nothing
  372.  
  373. error:
  374.  
  375. End Sub
  376.  
  377. Private Sub lblotros_Click()
  378.    frameinicio.Visible = False
  379.    frameregistro.Visible = False
  380.    frameotros.Visible = True
  381.    frameservicios.Visible = False
  382.    lblregistro.BackColor = &H6E6E6E
  383.    lblinicio.BackColor = &H6E6E6E
  384.    lblotros.BackColor = &H7E7E7E
  385.    lblservicios.BackColor = &H6E6E6E
  386. End Sub
  387.  
  388. Private Sub lblservicios_Click()
  389.    frameinicio.Visible = False
  390.    frameregistro.Visible = False
  391.    frameotros.Visible = False
  392.    frameservicios.Visible = True
  393.    lblregistro.BackColor = &H6E6E6E
  394.    lblinicio.BackColor = &H6E6E6E
  395.    lblotros.BackColor = &H6E6E6E
  396.    lblservicios.BackColor = &H7E7E7E
  397.  
  398.    listado_servicios
  399. End Sub
  400.  
  401. '------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  402. 'LLAMADAS A MENUS CONTEXTUALES
  403. '------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  404.  
  405. Private Sub LV_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
  406.    If Button = vbRightButton Then
  407.      Me.PopupMenu mnucontextual, , , , mnueliminar
  408.    End If
  409. End Sub
  410.  
  411. Private Sub LV2_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
  412.    If Button = vbRightButton Then
  413.        Me.PopupMenu mnuregistro, , , , mnueliminarreg
  414.    End If
  415. End Sub
  416.  
  417. Private Sub LV3_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
  418.  
  419.    If Button = vbRightButton Then
  420.        If LV3.SelectedItem.SubItems(3) = "Iniciado" Then
  421.            mnudetenerservice.Enabled = True
  422.            mnuiniciarservice.Enabled = False
  423.            Me.PopupMenu mnuservicios, , , , mnudetenerservice
  424.        Else
  425.            mnuiniciarservice.Enabled = True
  426.            mnudetenerservice.Enabled = False
  427.            Me.PopupMenu mnuservicios, , , , mnuiniciarservice
  428.        End If
  429.  
  430.    End If
  431. End Sub
  432.  
  433.  
  434.  
  435. '------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  436. 'MENUS CONTEXTUALES
  437. '------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  438.  
  439. Private Sub mnueliminar_Click()
  440. On Error GoTo error
  441.    If LV.SelectedItem <> "" Then
  442.        If MsgBox("Estas seguro de querer eliminar" & LV.SelectedItem & " ?", vbQuestion + vbYesNo, "Advertencia") = vbYes Then
  443.            Kill LV.SelectedItem.SubItems(1)
  444.            If Len(Dir(LV.SelectedItem.SubItems(1))) = 0 Then MsgBox "Archivo Eliminado Correctamente", vbInformation Else MsgBox "No se pudo Eliminar el archivo, puede estar en proceso o que no tengas permisos", vbCritical
  445.            Call lblinicio_Click
  446.        End If
  447.    End If
  448. error:
  449. End Sub
  450.  
  451. Private Sub mnueliminarreg_Click()
  452. On Error GoTo error
  453.    If LV2.SelectedItem <> "" Then
  454.        If MsgBox("Estas seguro de querer eliminar el valor: " & LV2.SelectedItem.SubItems(1) & " ?", vbQuestion + vbYesNo, "Advertencia") = vbYes Then
  455.            Dim regedit As Object
  456.  
  457.            Set regedit = CreateObject("Wscript.Shell")
  458.            regedit.regdelete (LV2.SelectedItem.SubItems(3) & "\" & LV2.SelectedItem.SubItems(1))
  459.            Call lblregistro_Click
  460.            Set regedit = Nothing
  461.  
  462.        End If
  463.    End If
  464. error:
  465. End Sub
  466.  
  467. Private Sub mnuinformacion_Click()
  468. On Error GoTo error
  469.    If LV.SelectedItem <> "" Then
  470.        Dim atributo As Long, atributos As String
  471.  
  472.        atributo = GetAttr(LV.SelectedItem.SubItems(1))
  473.  
  474.        If atributo And vbReadOnly Then atributos = atributos & " R -"
  475.        If atributo And vbHidden Then atributos = atributos & " H -"
  476.        If atributo And vbSystem Then atributos = atributos & " S -"
  477.        If atributo And vbDirectory Then atributos = atributos & " D"
  478.  
  479.        atributos = Trim(atributos)
  480.  
  481.        If InStr(Len(atributos) - 1, atributos, "-") Then atributos = Left(atributos, Len(atributos) - 1)
  482.  
  483.        If atributo And vbDirectory Then
  484.            MsgBox "Nombre: " & LV.SelectedItem & vbCrLf & vbCrLf & "Ruta: " & LV.SelectedItem.SubItems(1) & vbCrLf & vbCrLf & "Atributos: " & atributos, , "Informacion"
  485.        Else
  486.            MsgBox "Nombre: " & LV.SelectedItem & vbCrLf & vbCrLf & "Ruta: " & LV.SelectedItem.SubItems(1) & vbCrLf & vbCrLf & "Atributos: " & atributos & vbCrLf & vbCrLf & "Tamaño: " & FileLen(LV.SelectedItem.SubItems(1)) / 1024 & " MBytes", , "Informacion"
  487.        End If
  488.    End If
  489. error:
  490. End Sub
  491.  
  492. Private Sub mnuinformacionreg_Click()
  493. On Error GoTo error
  494.    If LV2.SelectedItem <> "" Then
  495.        MsgBox "Descripcion: " & LV2.SelectedItem & vbCrLf & vbCrLf & "Ruta: " & LV2.SelectedItem.SubItems(3) & vbCrLf & vbCrLf & "Nombre: " & LV2.SelectedItem.SubItems(1) & vbCrLf & vbCrLf & "Valor: " & LV2.SelectedItem.SubItems(2)
  496.    End If
  497. error:
  498. End Sub
  499.  
  500.  
  501. Private Sub mnuinfoservice_Click()
  502. On Error GoTo error
  503.    If LV3.SelectedItem.SubItems(1) <> "" Then
  504.        MsgBox "Nombre: " & LV3.SelectedItem.SubItems(1) & vbCrLf & vbCrLf & _
  505.                "Nombre del Servicio: " & LV3.SelectedItem.SubItems(4) & vbCrLf & vbCrLf & _
  506.                "Estado: " & LV3.SelectedItem.SubItems(3) & vbCrLf & vbCrLf & _
  507.                "____________________________________________________" & vbCrLf & _
  508.                "Descripcion: " & LV3.SelectedItem.SubItems(2)
  509.    End If
  510. error:
  511. End Sub
  512.  
  513. Private Sub mnudetenerservice_Click()
  514. On Error GoTo error
  515.    Dim wmi As Object
  516.    Dim sentencia As Object
  517.    Dim servicio As Object
  518.  
  519.  
  520.  
  521.    If LV3.SelectedItem.SubItems(1) <> "" Then
  522.        Screen.MousePointer = vbHourglass
  523.        Set wmi = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
  524.        Set sentencia = wmi.ExecQuery("Select * from Win32_Service Where Name ='" & LV3.SelectedItem.SubItems(1) & "'")
  525.        For Each servicio In sentencia
  526.            servicio.stopservice
  527.            MsgBox "Se Detuvo el Servicio " & LV3.SelectedItem.SubItems(1), vbInformation
  528.        Next
  529.        Call lblservicios_Click
  530.        Screen.MousePointer = vbNormal
  531.    End If
  532. error:
  533. End Sub
  534.  
  535. Private Sub mnuiniciarservice_Click()
  536. On Error GoTo error
  537.    Dim wmi As Object
  538.    Dim sentencia As Object
  539.    Dim servicio As Object
  540.  
  541.    If LV3.SelectedItem.SubItems(1) <> "" Then
  542.        Screen.MousePointer = vbHourglass
  543.        Set wmi = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
  544.        Set sentencia = wmi.ExecQuery("Select * from Win32_Service Where Name ='" & LV3.SelectedItem.SubItems(1) & "'")
  545.        For Each servicio In sentencia
  546.            servicio.startservice
  547.            MsgBox "Se Inicio el Servicio " & LV3.SelectedItem.SubItems(1), vbInformation
  548.        Next
  549.        Call lblservicios_Click
  550.        Screen.MousePointer = vbNormal
  551.    End If
  552. error:
  553. End Sub
  554.  
En línea

bizco


Desconectado Desconectado

Mensajes: 698


Ver Perfil
Re: Problema con Heuristica: Gen:Trojan.Heur.VB.Em0@cWrJA@H
« Respuesta #3 en: 5 Mayo 2010, 11:01 am »

mi consejo, usa la api y no uses:

Set FSO = New FileSystemObject
Set wscript = CreateObject("Wscript.Shell")

por ejemplo para listar archivos y directorios, del propio vb usa Dir.
En línea

XcryptOR

Desconectado Desconectado

Mensajes: 228



Ver Perfil
Re: Problema con Heuristica: Gen:Trojan.Heur.VB.Em0@cWrJA@H
« Respuesta #4 en: 5 Mayo 2010, 17:27 pm »

mucho código: objetos, ... , etc .... usa las Apis

Este código se puede reducir y optimizar bastante.

PD: Me encanta el minimalismo de karcrack, quizas te de unos tips  ;D
En línea



skapunky
Electronik Engineer &
Colaborador
***
Desconectado Desconectado

Mensajes: 3.667


www.killtrojan.net


Ver Perfil WWW
Re: Problema con Heuristica: Gen:Trojan.Heur.VB.Em0@cWrJA@H
« Respuesta #5 en: 5 Mayo 2010, 18:05 pm »

Con lo de modulos y funciones es justamente lo que te decia...en tu caso lo has hecho con funciónes pero es lo mismo, coges el codigo y sacas una funcion y compilas, si no salta heuristica la vuelves a poner y sacas otra funcion compilas y compruebas...Así hasta que la heurística no salte. Esto muchas veces es efectivo.

Una vez tienes la función que hace saltar la heurística la programas de otra forma o le haces las modificaciónes oportunas y la vuelves a poner en tu codigo y compruevas que no salte el AV.

La idea es esa.

Citar
no es un malware, es un gestor del arranque, como un msconfig

Si, eso me lo he imaginado  ;) pero eso no quita que cualquier malware por ejemplo haga una lista de claves del registro o que liste los procesos del sistema, y por eso puede ser que tu codigo se asemeje mucho a un codigo de un malware.
En línea

Killtrojan Syslog v1.44: ENTRAR
50l3r


Desconectado Desconectado

Mensajes: 784


Solo se que se algo pero no me acuerdo


Ver Perfil WWW
Re: Problema con Heuristica: Gen:Trojan.Heur.VB.Em0@cWrJA@H
« Respuesta #6 en: 5 Mayo 2010, 18:57 pm »

gracias skapunky, probare como tu dices

es lo que me fastidia de la heuristica, suele ser efectiva pero joroba
En línea

50l3r


Desconectado Desconectado

Mensajes: 784


Solo se que se algo pero no me acuerdo


Ver Perfil WWW
Re: Problema con Heuristica: Gen:Trojan.Heur.VB.Em0@cWrJA@H
« Respuesta #7 en: 5 Mayo 2010, 23:05 pm »

he quitado todo el codigo, e includo si quito cierta parte me lo detecta otro antivirus

el mundo es una locura jeje

que peude pasar?
En línea

burbu_1

Desconectado Desconectado

Mensajes: 159


hamen gaoz


Ver Perfil
Re: Problema con Heuristica: Gen:Trojan.Heur.VB.Em0@cWrJA@H
« Respuesta #8 en: 5 Mayo 2010, 23:31 pm »

yo probaría primero a cifrar todos los strings, especialmente las claves de registro... :rolleyes:

hay para vb un programa de Karcrack que lo hace automáticamente

http://foro.elhacker.net/analisis_y_diseno_de_malware/karcrack_project_crypter_v21_kpc-t256127.0.html;msg1292641
En línea

skapunky
Electronik Engineer &
Colaborador
***
Desconectado Desconectado

Mensajes: 3.667


www.killtrojan.net


Ver Perfil WWW
Re: Problema con Heuristica: Gen:Trojan.Heur.VB.Em0@cWrJA@H
« Respuesta #9 en: 5 Mayo 2010, 23:57 pm »

he quitado todo el codigo, e includo si quito cierta parte me lo detecta otro antivirus

el mundo es una locura jeje

que peude pasar?

Es normal eso, no todos los antivirus tienen las mismas firmas, quizá uno detecte una funcion y otro otra función, se trata de ir jugando para que tu aplicacion no la detecten los AV's. De todas formas siempre puedes utilizar programas como el Armadillo o uno de esos haber si eludes así los AV's.
En línea

Killtrojan Syslog v1.44: ENTRAR
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
TR/Reveton Trojan y otro problema.
Seguridad
Firos 1 3,155 Último mensaje 18 Marzo 2012, 07:14 am
por r32
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines