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

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  Overwrite Technique In The Registry[Dirigido A Expertos Del VBS].
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Overwrite Technique In The Registry[Dirigido A Expertos Del VBS].  (Leído 2,468 veces)
Leminy

Desconectado Desconectado

Mensajes: 12


"La Información Es Saber Y El Saber Es Poder"...


Ver Perfil
Overwrite Technique In The Registry[Dirigido A Expertos Del VBS].
« en: 20 Septiembre 2011, 03:59 am »

Hola A Todos, Hoy Quiero Compartirles Una "Tecnica" Que Estuve Intentando Sacar Desde Hace Ya Varios Meses.

Una Vez Pense Que, En Lo Que Respecta Windows Vista y Windows 7, No Se Puede Escribir En El Registro(Regedit/Regedt32) Mediante Batch ó VBS Si No Se Le Dan Los Permisos Necesarios Al Programa("BAT,CMD,VBS,VBE"), Simplemente No Te Lo Dejara Hacer, Asi Que Debia Haber Algun Metodo... Asi Que Me Puse A Penser Durante Meses(Obvio No Todo El Dia, Tenia Que Ir A Clases y Demas):
"¿Como Se Puede Escribir Una Valor En El Registro Sin Los Permisos Necesarios Para El Programa?", Hasta Que Se Me Ocurrio Esto:

1; Necesitaba Una Referencia De, Por Ejemplo, Todos Los Valores Que Existen Dentro De La Subclave "Run".

2; Necesitaba Listarlo... ¿Pero Como?, Si Ni En BATCH ó VBS Existe Una Función Asi.

Entonces Haciendo Uso De La Combinación De Los Lenguajes, Obtuve Algo Como Lo Que Uds. Podran Obtener Si Prestan Atención:

1; Copien El Codigo BATCH Siguiente En Un Archivo y Ese Mismo Ponganlo En Un Lugar Donde Pueda Crear Archivos.
(Ejemplo:"%Temp%\Su_Carpeta\ACA_El_BAT.BAT" ó "%Desk%\Su_Carpeta\ACA_El_BAT.BAT").
Nota: %Temp%="C:\Users\Nombre_De_Usuario\AppData\Local\Temp"
Nota: %Desk%="C:\Users\Nombre_De_Usuario\Desk"

Código:
1; @ECHO OFF
2; REG EXPORT HKLM\Software\Microsoft\Windows\CurrentVersion\Run GL.TXT /y
3; TYPE GL.TXT>LS.TXT
4; DEL /F /Q GL.TXT
5; @EXIT

Explico... La 2° Linea Sirve Para Exportar Los Valores y Las Subclaves Dentro de "Run"(Solo Nos Importa Los Valores En Si) Al Archivo: "GL.TXT".
Como Todos Sabran En VBS "No Deja Leer Lineas" De Archivos UNICODE y Para Mala Suerte En Ese Formato Nos Arrojan "GL.TXT", Para Lo Cual Recurrimos A La 3° Linea: Se "Leera" El Contenido De "GL.TXT" Y Lo Pasara Al Archivo "LS.TXT" En Formato ANSI! - La 4° Linea Es Solo Para Borrar El Archivo "UNICODE" No Legible Para VBS.

Asi Es Como Se Veria El Archivo: "LS.TXT":

Código:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
"egui"="\"C:\\Program Files\\ESET\\ESET Smart Security\\egui.exe\" /hide /waitservice" rem Salta Hasta Esta Linea.
"vmware-tray"="\"C:\\Program Files\\VMware\\VMware Workstation\\vmware-tray.exe\""
"BCSSync"="\"C:\\Programs\\Microsoft Office\\Office14\\BCSSync.exe\" /DelayServices"
"RTHDVCPL"="C:\\Program Files\\Realtek\\Audio\\HDA\\RtHDVCpl.exe -s"
"NeroFilterCheck"="C:\\Program Files\\Common Files\\Ahead\\Lib\\NeroCheck.exe" rem Llega A Esta Linea[Antes Del Espacio En Blanco].

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\OptionalComponents]
@=""

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\OptionalComponents\IMAIL]
"Installed"="1"
@=""

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\OptionalComponents\MAPI]
"NoChange"="1"
"Installed"="1"
@=""

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\OptionalComponents\MSFS]
"Installed"="1"
@=""

Nota: Varia Dependiendo De Sus Programas Instalados.

Ya Obtenido El Archivo "LS.TXT", Proseguimos A "Leerlo", Para Ello Es El Siguiente Script(Archivo.vbs), Que Debe De Ser Creado Junto Al Archivo: "LS.TXT"(Deben Estar En La Misma Carpeta).

Código:
On Error Resume Next
Dim LOCKUP()
ReDim LOCKUP(256)
Set shell = CreateObject("Wscript.Shell")
Set fso = CreateObject("Scripting.Filesystemobject")
LOCAL = fso.GetAbsolutePathName(".\")
Set HD = fso.OpenTextFile(LOCAL & "\" & "LS.TXT",1,True)
r = 0
While(r < 3)
TADM = HD.SkipLine
r = r + 1
Wend
Do
TADM = HD.ReadLine
VAR = Len(TADM)
If VAR<>0 Then
If Err.Number=0 Then
LOCKUP(c) = TADM
c = c + 1
Else
Err.Clear
Exit Do
End If
Else
Exit Do
End If
Loop
e = c
u = c * 2
ua = u
For i=0 To c-1 Step 1
FS = InStr(1,LOCKUP(i),"=")
LOCKUP(e) = FS - 3
AX = Mid(LOCKUP(i),2,LOCKUP(e))
LOCKUP(u) = AX
u = u + 1
e = e + 1
Next
For t=ua To u-1 Step 1
EAV = shell.RegRead("HKLM\Software\Microsoft\Windows\CurrentVersion\Run\" & LOCKUP(t))
MsgBox EAV,vbOKOnly+vbInformation,LOCKUP(t)
Next
HD.Close
On Error GoTo 0

Explicación:
1; Lo Que Se Hace Es Abrir El Archivo "LS.TXT" En Modo Lectura.
2; Despues Salta Tres Lineas Del Archivo("LS.TXT").
3; Usa Una Tecnica Para "Saber Cuando Terminar Las Lineas Importantes".
4; Mientras No Encuentre Una Linea En Blanco Seguira Leyendo.
5; Al Encontrarla Sale Del: "Do" Y ¡Empieza Lo Interesante!.
6; Se Inicia Un "For" Que Contara Hasta El Numero De Lineas Que Se Leyó Antes De Encontrar Una Linea En Blanco.
Dentro De Ese "For" Se Buscara El Caracter "=" Que Indica Que Hasta Alli Llega La Lectura De La Linea "1" De "c-1" Lineas Que Se Leyeron.
7; Ahora, Se Le Restan 3 Espacios A La Variable "FS" Mientras Se Guarda En "LOCKUP(e)" Ya Que No Queremos Contar Los Caracteres (=) & ("), También Se Empezara A Leer Desde El 2° Caracter De Cada Linea Por La Misma Razon.
8; Por Ende En LOCKUP(u) Se Escribira La Variable Que Almacena La Parte De La Linea Que Se Leyó(Ejemplo ---> Se Tenia: ""egui"=...." - Al Solo Leer Desde El 2° Caracter Y Restar Los 3 Espacios Desde "=", Solo Se Alamacenara: "egui" En LOCKUP(u), Sin Doble Comillado) Y Asi Lo Hara Para Cada Linea Que Se Extrajo Del Archivo: "LS.TXT".

Ahora... Si Ejecutan El "Script" Les Saldran En Un "MsgBox": 1; El Nombre De Los "Valores" Como Titulo. - 2; Su Valor En Si Como El Mensaje.

Ya Saben, Podran Tomar Los Valores Que Tenga LOCKUP(u), Haciendo Referencia Que "u" Son Las Ultimas Posiciónes Donde Se Guardaron Los Nombres De Los Valores Encontrados, Para Hacer Lo Que Querais, Como Sobreescribir El Valor De, En Mi Caso, "egui" y Poner Otra Ruta.

Esta Tecnica Va Más Orientada Para Los Programadores De Malware En VBS.  :xD

Dudas Y Sugerencias, Favor De Comentar... ;D


« Última modificación: 20 Septiembre 2011, 04:17 am por Leminy » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Petitorio dirigido a El-Brujo y Staff. ;)) « 1 2 3 4 »
Foro Libre
Gabriela 33 13,721 Último mensaje 18 Octubre 2010, 19:33 pm
por sirdarckcat
Ataque de phishing dirigido a los jugadores de World of Warcraft
Noticias
wolfbcn 0 1,870 Último mensaje 26 Marzo 2011, 15:17 pm
por wolfbcn
Una compañía británica idea un videojuego dirigido por la orina
Noticias
wolfbcn 0 1,283 Último mensaje 6 Diciembre 2011, 01:16 am
por wolfbcn
Los expertos identifican un ataque dirigido a las instituciones financieras ...
Noticias
wolfbcn 0 1,435 Último mensaje 11 Septiembre 2013, 02:11 am
por wolfbcn
Ayuda tolower & overwrite c++
Programación C/C++
novatus84 1 2,008 Último mensaje 3 Diciembre 2014, 11:56 am
por avesudra
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines