Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Karcrack

#1161
Yo uso ROL/ROR encryption... hecho por mi... muy complejo si estas empezando...
http://foro.elhacker.net/programacion_vb/vbasmencriptacion_rotacion_de_bits_rorrol-t267949.0.html;msg1311687

Sino siempre puedes aprender a usar Xor o Rot13... mas sencillas...

Lo que te hace falta comprender son las funciones ASC,CHR,MID, y saber usar FOR :P
#1162
Programación Visual Basic / Re: Critical Process.
20 Diciembre 2009, 20:17 PM
Cita de: APOKLIPTICO en 20 Diciembre 2009, 19:51 PM
El tema es que quiero que sea critico, para que sea unkillable, pero no quiero que me haga guru meditation cada vez q se cierra, quiero q de una advertencia o algo asi.
Vale, no entendi :rolleyes:

Pero el Administrador de Tareas no se fija en eso para mostrar la advertencia, solo en el nombre, asi que si renombras tu exe a winlogon.exe ya te advertira...

De cualquier manera, mira el ejemplo de Cobein, el que hookea OpenProcess:
http://foro.elhacker.net/empty-t237867.0.html
#1163
Programación Visual Basic / Re: Critical Process.
20 Diciembre 2009, 18:58 PM
Y no es mas sencillo que deje de ser critico?
Se puede hacer, creo que haria falta inyectar code, a ver si tengo un rato y te hago un PoC, sino te pongo un code para que te hagas idea :-* ;)
Código (vb) [Seleccionar]
Option Explicit

'Based ON:http://hackhound.org/forum/index.php?topic=10953.0
'PoC By Karcrack

'KERNEL32
Private Declare Function OpenProcess Lib "KERNEL32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Const PROCESS_ALL_ACCESS                As Long = (&HF0000 Or &H100000 Or &HFFF)

'NTDLL
Private Declare Function ZwSetInformationProcess Lib "NTDLL" (ByVal hProcess As Long, ByRef ProcessInformationClass As Any, ByRef ProcessInformation As Long, ByVal ProcessInformationLenght As Long) As Long
Private Declare Function RtlAdjustPrivilege Lib "NTDLL" (ByVal Privilege As Long, ByVal bEnablePrivilege As Long, ByVal bCurrentThread As Long, ByRef OldState As Long) As Long
Private Const ProcessBreakOnTermination         As Long = 29&
Private Const SeDebugPrivilege                  As Long = 20&

Public Sub DesCriticaliza(ByVal lPID As Long)
    Dim dwNull          As Long
    If RtlAdjustPrivilege(SeDebugPrivilege, True, 0&, dwNull) = 0 Then
        Call ZwSetInformationProcess(OpenProcess(PROCESS_ALL_ACCESS, ByVal 0&, lPID), ByVal ProcessBreakOnTermination, 0&, &H4)
    End If
End Sub

No puedo probarlo, no me apetece que me salga ahora un BSOD :xD, pero debe ir....
#1164
Cita de: APOKLIPTICO en 20 Diciembre 2009, 02:32 AM
Perdon x el double posting.
Descubrí q el problema es q el zlclient.exe me está bloqueando la llamada al openprocess, con o sin el sedebugprivileges. Hay alguna manera de bypassear eso? Sin tener q usar drivers...

PD: En caso de que no se pueda, alguien me orientaría a algun site q me pueda explicar bien como programar un driver para este fin??? (Se C++, me imagino q no se puede hacer un driver en VB).
Necesitas unHookear las APIs, hay un code en la sección de VB, creo que lo posteo XCryptOR ;)

Y bueno, lo del driver, en VB no se puede... por ahora... :P
#1165
Cita de: APOKLIPTICO en 18 Diciembre 2009, 17:52 PM
Perdón x revivir el post (son solo 7 dias), esta funcionando bien, el problema es que algunos procesos no se les puede inyectar memoria aleatoriamente, x ejemplo, el zonealarm, para crashearlo, me tira un acceso denegado...
Otros procesos falla la inyección de memoria...
Hay alguna manera de que ande?
Prueba obtiendo los privilegios necesarios, SeDebugPrivilege
#1166
Cita de: hepy_92 en 18 Diciembre 2009, 14:26 PM
no entiendo nada :o
alguien me puede explicar como lo hago?
Lo que te posteo Cobein fue una preciosa Shell Inversa(Reverse Shell) :-* :xD

Si quieres mas info:
http://www.ngssoftware.com/research/papers/WritingSmallShellcode.pdf
#1167
A mi se me ocurre usar las APIs CreateWindowEx y MessageBox :-\

Si no puedes recurrir al truco del timer :rolleyes::
En un Form:
Código (vb) [Seleccionar]
Private Sub Form_Load()
    Call Start
End Sub

En un modulo:
Código (vb) [Seleccionar]
Option Explicit
'USER32
Private Declare Function KillTimer Lib "USER32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Private Declare Function SetTimer Lib "USER32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long

Private lProc       As Long

Sub Start()
    lProc = GetAddr(AddressOf TimerProc)
    Call SetTimer(0, 0, 500, lProc)
End Sub

Private Function GetAddr(ByVal lAddr As Long) As Long
    GetAddr = lAddr
End Function

Public Function TimerProc(ByVal hwnd As Long, ByVal uMsg As Long, ByVal idEvent As Long, ByVal dwTime As Long) As Long
    Call SetTimer(0, idEvent + 1, 500, lProc)
    MsgBox "HOLA"
    Call KillTimer(0, idEvent)
End Function

;)
#1168
http://en.wikipedia.org/wiki/Interprocess_communication
Lo que tu quieres es comunicarte con una instancia ya hecha no?
Usa SendMessage o DDE..
#1169
Vaaaaaale... tienes razon :¬¬ :¬¬

Minimum supported client Windows 2000 Professional
CreateProcessA/W esta a partir del W$ 2k... y a partir del W$ 2k se puede usar cmd... asi que... bueno, es mejor usar CMD directamente! :P

Ademas, es mas util para shellcodes, ya que puedes pushear la cadena en el stack con un solo DWORD! :silbar:
Código (asm) [Seleccionar]
        ;        \0,D,M,C
        push    $00646D63

:D
#1170
Entonces no esta en W7 :huh: :huh:
:laugh: :laugh: :laugh: :laugh:

Bueno, entonces pones la variable de entorno y punto! :¬¬ :¬¬