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 - ~~

#681
Citarno esperes k te salga bien tu primero troyano, el secreto es seguir haciendo mas y mas y mas, vas a notar mejoras en cada uno k haces.

AMEN

Weno, mi consejo es q leas algunos manuales de como funciona un troyano y de winsock antes de nada, para luego saber q hacer. Te dejo algunos:

Cita de: NekroByte en 29 Marzo 2007, 01:18 AM
Sockets

Introducción al control Winsock en Visual Basic
http://foro.elhacker.net/index.php/topic,17665.msg233177.html#msg233177

ME URGE MANUAL WINSOCK :/
http://foro.elhacker.net/index.php/topic,22027.msg112656.html#msg112656

Winsock: el cliente recibe un archivo mayor del que le envian, ¿por qué?
http://foro.elhacker.net/index.php/topic,63330.0.html

API de Winsock para VB (Completa)
http://foro.elhacker.net/index.php/topic,62753.0.html

Un troyano fácil con Winsock
http://foro.elhacker.net/index.php/topic,6666.msg35679.html

Usando Winsock para enviar HTTP
http://www.fpress.com/revista/Num0701/art.htm

¿Cómo enviar Struct con control winsock en Visual Basic?
http://foro.elhacker.net/index.php/topic,67408.0.html

Enviar Archivos grandes con Winsock
http://www.kizar.net/foro/index.php?topic=617.0

Winsock y cadenas Hexadecimales
http://foro.elhacker.net/index.php/topic,69812.0.html

Para hacer la conexion inversa busca un paper de WarGhost por el foro de troyanos y virus y para el edit server pues lo mismo del mismo autor  :P

#682
No se muy bien si te refieres a estom pero mira un ejemplillo de la api guide:

Código (vb) [Seleccionar]
'Redirects output from console program to textbox.
'Requires two textboxes and one command button.
'Set MultiLine property of Text2 to true.
'
'Original bcx version of this program was made by
' dl <dl@tks.cjb.net>
'VB port was made by Jernej Simoncic <jernej@isg.si>
'Visit Jernejs site at http://www2.arnes.si/~sopjsimo/
'
'Note: don't run plain DOS programs with this example
'under Windows 95,98 and ME, as the program freezes when
'execution of program is finnished.

Option Explicit
Private Declare Function CreatePipe Lib "kernel32" (phReadPipe As Long, phWritePipe As Long, lpPipeAttributes As SECURITY_ATTRIBUTES, ByVal nSize As Long) As Long
Private Declare Sub GetStartupInfo Lib "kernel32" Alias "GetStartupInfoA" (lpStartupInfo As STARTUPINFO)
Private Declare Function CreateProcess Lib "kernel32" Alias "CreateProcessA" (ByVal lpApplicationName As String, ByVal lpCommandLine As String, lpProcessAttributes As Any, lpThreadAttributes As Any, ByVal bInheritHandles As Long, ByVal dwCreationFlags As Long, lpEnvironment As Any, ByVal lpCurrentDriectory As String, lpStartupInfo As STARTUPINFO, lpProcessInformation As PROCESS_INFORMATION) As Long
Private Declare Function SetWindowText Lib "user32" Alias "SetWindowTextA" (ByVal hwnd As Long, ByVal lpString As String) As Long
Private Declare Function ReadFile Lib "kernel32" (ByVal hFile As Long, lpBuffer As Any, ByVal nNumberOfBytesToRead As Long, lpNumberOfBytesRead As Long, lpOverlapped As Any) As Long
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long

Private Type SECURITY_ATTRIBUTES
  nLength As Long
  lpSecurityDescriptor As Long
  bInheritHandle As Long
End Type

Private Type PROCESS_INFORMATION
  hProcess As Long
  hThread As Long
  dwProcessId As Long
  dwThreadId As Long
End Type

Private Type STARTUPINFO
  cb As Long
  lpReserved As Long
  lpDesktop As Long
  lpTitle As Long
  dwX As Long
  dwY As Long
  dwXSize As Long
  dwYSize As Long
  dwXCountChars As Long
  dwYCountChars As Long
  dwFillAttribute As Long
  dwFlags As Long
  wShowWindow As Integer
  cbReserved2 As Integer
  lpReserved2 As Byte
  hStdInput As Long
  hStdOutput As Long
  hStdError As Long
End Type

Private Type OVERLAPPED
    ternal As Long
    ternalHigh As Long
    offset As Long
    OffsetHigh As Long
    hEvent As Long
End Type

Private Const STARTF_USESHOWWINDOW = &H1
Private Const STARTF_USESTDHANDLES = &H100
Private Const SW_HIDE = 0
Private Const EM_SETSEL = &HB1
Private Const EM_REPLACESEL = &HC2

Private Sub Command1_Click()
  Command1.Enabled = False
  Redirect Text1.Text, Text2
  Command1.Enabled = True
End Sub
Private Sub Form_Load()
    Text1.Text = "ping"
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
  If Command1.Enabled = False Then Cancel = True
End Sub

Sub Redirect(cmdLine As String, objTarget As Object)
  Dim i%, t$
  Dim pa As SECURITY_ATTRIBUTES
  Dim pra As SECURITY_ATTRIBUTES
  Dim tra As SECURITY_ATTRIBUTES
  Dim pi As PROCESS_INFORMATION
  Dim sui As STARTUPINFO
  Dim hRead As Long
  Dim hWrite As Long
  Dim bRead As Long
  Dim lpBuffer(1024) As Byte
  pa.nLength = Len(pa)
  pa.lpSecurityDescriptor = 0
  pa.bInheritHandle = True
 
  pra.nLength = Len(pra)
  tra.nLength = Len(tra)

  If CreatePipe(hRead, hWrite, pa, 0) <> 0 Then
    sui.cb = Len(sui)
    GetStartupInfo sui
    sui.hStdOutput = hWrite
    sui.hStdError = hWrite
    sui.dwFlags = STARTF_USESHOWWINDOW Or STARTF_USESTDHANDLES
    sui.wShowWindow = SW_HIDE
    If CreateProcess(vbNullString, cmdLine, pra, tra, True, 0, Null, vbNullString, sui, pi) <> 0 Then
      SetWindowText objTarget.hwnd, ""
      Do
        Erase lpBuffer()
        If ReadFile(hRead, lpBuffer(0), 1023, bRead, ByVal 0&) Then
          SendMessage objTarget.hwnd, EM_SETSEL, -1, 0
          SendMessage objTarget.hwnd, EM_REPLACESEL, False, lpBuffer(0)
          DoEvents
        Else
          CloseHandle pi.hThread
          CloseHandle pi.hProcess
          Exit Do
        End If
        CloseHandle hWrite
      Loop
      CloseHandle hRead
    End If
  End If
End Sub
#683
Veamos

Si tu tienes un Pc detras de un modem, ese Pc es accesible con una ip publica y unica.
Ahora supongamos q tenemos 20 pcs detras de un router. A todos ellos les corresponde una sola Ip publica, entonces como acceder a ellos?weno pues desde la red local deberias acceder al router y enrutar un puerto hacia el pc. Me explico, supongamos q en la lan tienes los 20 pcs q hemos dicho y tu desde el exterior kieres accerder a  uno de ellos por el puerto 1500. Lo q debes hacer es entrar en la configuracion del router y abrir el puerto 1500mirando hacia la ip local del Pc deseado. La ip local varia dependiendo de la lan, pero la forma mas comun es 192.168.1.*
Esto se puede saber usando ipconfig desde ms-dos:

CitarC:\>ipconfig

Configuración IP de Windows


Adaptador Ethernet Conexiones de red inalámbricas 5

        Sufijo de conexión específica DNS :
        Dirección IP. . . . . . . . . . . : 192.168.1.50
        Máscara de subred . . . . . . . . : 255.255.255.0
        Puerta de enlace predeterminada   : 192.168.1.1

direccion ip es la ip local de mi pc. mascara de subred es la forma q tienen las ip locales de mi red/subred el 255 significan q no cambia y el 0 q si, q es variable. Y la puerta de enlace predeterminada es la ip de acceso al router.

Asi q para acceder desde internet a mi pc tendria q abrir el puerto 1500 mirando hacia mi ip local, la 192.168.1.50  :P

Para mas info:
http://es.wikipedia.org/wiki/TCP/IP
#684
El archivo de texto daria igual donde lo pusieras, pero si lo kieres poner en los temporales utiliza

Código (vb) [Seleccionar]
environ ("TMP")
#685
Para meter el exe dentro de tu ejecutable puedes usar un joiner, crearte un mini-joiner para ti mismo o añadirlo como recurso ;)
#687
Weno, lo primero q necesitas para hacer api hooking es crearte un dll e inyectarsela al ejecutable deseado. Lo q es inyectar la dll se puede hacer en VB:

http://foro.elhacker.net/index.php/topic,168272.0.html
Logicamente para inyectar una dll necesitas crearte una dll  :xD el VB no genera dll's como tal, pero con unos cuantos lios podras crearte una dll:

http://www.elguille.info/vb/avanzado/crear_dll_windows_con_vb6_explicado.htm

Ahora el problema viene dado por el codigo q hay q meterle a esa dll y por lo q yop creo q en VB no se va a poder (aunke e de decir q en VB nunca lo  e intentado, prefiero C).
Fijate en el source de la dll d ejemplo q a puesto MazarD:

*Buffer=0xE9;
Buffer++;


Creo yo q en VB eso no se va  apoder hacer  :xD :xD :xD asi q no os va a kedar mas remedio q programar, por lo menos la dll en C....




Cambiando de tema, has intentado usar la api del messenger para hacer eso lipman_dj?  no estoy 100% seguro de si se podrá, pero por provar...
#688
Pues si kereis ver un tuto q hizo el propio MazarD sobre api hooking:

http://mz rd.mar tes13.net/tu tos/apihooking.pdf

PD - Kitale los espacios al enlace ;)
#689
Weno, yo creo q tanto como programacion avanzada no es..

Lo primero q necesitas es crearte un servidor, q deberia estar alojado en un Pc y funcionando todo el dia... y despues diversos clientes q se puedan conectar a ese servidor. A partir de ahí todo es imaginacion  :P

Me explico.
El servidor estaria a la escucha en un determinado puerto. Para q se puedan conetar varios clientes necesitarias crear un matriz de winsock:

http://foro.elhacker.net/index.php/topic,129870.0.html

Cada vez q un cliente estableciera conexion deberia enviar algun dato clave q le identificara, por ej una direccion de correo (server@VB.com) cualkier otra cosa valdria. Ese dato deberia enviarse en una cadena q el servidor partiria por cierto caracter, por ejemplo supongamos q se envia "new|server@VB.com".

Gracias a la palabra new el servidor sabre q tiene q añadir una nueva conexion y asociarle ese correo para identificarla.
Una vez hecho esto, para hablar con otra persona harimos click en su contacto, nos saldria una ventana y todo eso, q es lo de menos... lo importante ahí seria tomar el nombre el contacto con el q estamos hablando. De esta manera cada vez q le enviemos un texto enviariamos "hablar|amigo@VB.com|hola q tal tio?" asi el servidor sabria tres cosas, q keremos hablar, con kien keremos hablar y lo q keremos decir, y enviaria el texto deseado a la conexion elejida.

Ya esta, basicamente asi se puede crear un "messenger" de lo mas basico con un protocolo tb de lo mas basico.
Posiblemnete el servidor se petaria, pero es q estamos haciendo un servidor en VB!!!  :xD :xD :xD
#690
Eso te iba a decir, lo mejor para saber por q detecta la euristica de un AV tu troyano es ir poniendo y kitando funciones y escaneando ;)

Tambien hay una serie de acciones q el AV detecta como sospechosas como que el ejecutable se nada mas iniciarse.
Para eludir la euristia en vez de poner esta funcion en el form_load (no se si la tendrás ahí puesta) podrias ponerla en un timer con intervalo 20 o asi y el AV no debería cantar..
Si aun asi sigue cantando prueva a cifrar cadenas y demas