elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 [8] 9
71  Programación / Programación Visual Basic / Re: Jugando con el protocolo HTTP. Cliente/Servidor. en: 7 Mayo 2008, 20:29 pm
Yo sinceramente no entiendo del todo que es lo que quieres hacer, pero eso de hacer una especie de Cliente/Servidor por http no es tan complicado. De hecho, yo he hecho algo parecido con algunos de mis programas y lo único que he hecho es un archivo PHP alojado en mi servidor web que recoge todo lo que se le envía por post y lo almacena en un txt. El cliente manda las órdenes por post a ese archivo y el server simplemente lee el archivo generado y realiza la orden que le ha mandado el cliente. Es sencillo de hacer y funciona perfectamente. Al usar el protocolo HTTP con GET y POST no hay ningún tipo de problema con firewalls, proxys ni nada por el estilo...

La verdad es que no sé muy bien que es lo que quieres hacer tú, pero si pretendes algo así... comunicar un cliente y un server vía web yo así fue como lo plantee y me pareció la manera más fácil de hacerlo. Si es eso lo que tú pretendes hacer puedo subirte un ejemplo de como lo hice yo aunque no creo que tengas muchos problemas para hacerlo... si es otra cosa lo que tú quieres hacer es que yo no te he entendido bien...

Saludos!

Vaya te lo pongo un poco practico, OJO que no es este mi mensaje..

Supongamos que tienes echo un TROYANO "no importa que sea conexion inversa o directa da igual para este ejemplo" y lo queres meter en una empresa, pero chocas con el inconveniente que esa empresa tienen montado proxy que nada mas permiten trafico por el 80 ni siquiera 443, que te parece, ese troyano se vuelve inutil, pues con lo que explique en mi tema, si hacemos del troyano un arma poderosa ya que logramos simular la conexion directa...  :)

Espero que me hallas entiendido...

Alguien saber pq el proxy me corta el contenido del mensaje cuando modifico la cabecera....

GRx saludos

Vale si me podes enviar el proyecto no esta demas quizas haya codigo que me guste y lo use.. grx
72  Programación / Programación Visual Basic / Jugando con el protocolo HTTP. Cliente/Servidor. en: 7 Mayo 2008, 10:09 am
Bueno la idea surge un poco a lo loco, soñando con hacking un poco de ganarme la vida otro poco como desafio entre otras mas... ;-)

Desde hace tiempo me revoleteava por la cabeza la idea de hacer un programa con el cual pudiera "por decir de alguna forma controlar el trafico HTTP, ojo es una forma de decir, usd le pueden poner nombre cientifico despues si quieren" enviar datos usando el protocolo HTTP como si fuese una "conexion directa", veran, todos sabemos que este protocolo es "sin estado" o sea que tu pides por ejemplo www.yahoo.es se te da la pagina y muere esa conexión, hasta ahi todo bien.

Bien pero si se ponen a pensar muchas empresas de hoy en dia incluyendo la mia tienen configurado sus proxys para no permitir conexiones directas mas bien para que puedan nada mas abrir WEB puerto 80 a full, asi no se desvinculan del trabajo tampoco puedan aprovecharse de la muy buena banda ancha, ;-) bla bla bla... asi que me dije bueno pq no utilizar el protocolo que gobierna mundialmente y del que nadie se espera casi nada para poder aprovecharlo empleandolos en troyanos. ;-) eso ultimo da aliento al hacking y no es mi meta asi que tachenlo...

Cual es la idea para mantener una conexion HTTP "con estado" usando los metodos GET y POST para ello? Facilito...usando a nuestros ingeniosos cezudos cerebros del foro, perdon a nuestro ingenioso, cezudo cerebro.. ;-)

Sabemos que el metodo POST te permite enviar informacion hacia los servidores Web, como por ejemplo cuando llenas un formulario para hacerte un correo, registrarte en este maravilloso Foro, cuando adjuntas las fotos que te sacastes para tu DNI para enviarselas a mama, etc.. y el GET es cuando solicitas una web... por poner un ejemplo rapido..

Recomiendo que veais el tema de Hades asi me ahorran escribir...este es el link

http://foro.elhacker.net/programacion_vb/winsock_protocolos_mas_usados_version_1_http-t186798.0.html

tengo otro link con un ejemplo muy bueno vere como hago para hacerselos llegar pues aqui parecen que ya borraron el tema..si se sigue el hilo del tema claro esta lo pongo..

Pues la idea es "simular" con el POST como que envias un archivo "X" y con el GET pues como si estuvieras leyendo una pagina o descargando un archivo, "aqui se torna un poco engorroso entenderlo, vere si me sale bien la explicación".

Como bien vieron en la explicacion de Hades pudieron apreciar un ejemplo parecido a este..del metodo POST es el que me interesa por ahora..

POST http://HTTP://www.tupagina.com/script.php HTTP/1.1
Host: www.tupagina.com
Content-Type: multipart/form-data, boundary=34COFsReezG0JfuyhtcpgzrMLg2c4NV9
Content-Length: 45242

--34COFsReezG0JfuyhtcpgzrMLg2c4NV9
Content-Disposition: form-data; name="archivo"; filename="JuanK.exe"
Content-Type: application/octet-stream

Contenido del archivo....

--34COFsReezG0JfuyhtcpgzrMLg2c4NV9--

Mirando este ejemplo vemos que el contenido del archivo pesa cerca de 45 Kb, lo que necesitamos es simular que enviamos un archivo mas grande asi hacemos como una especie de buffer "recuerden que no vamos a enviar ningun archivo esto es para engañar al proxy y utilizar esa conexion que es directa para enviar los datos que nos de la gana" para almacenar todo lo que vamos a solicitar, por ejemplo, una pagina web restringida, conectarme a mi casa via ssh, en fin usd me entienden, todo esos deseos dependeran del tamaño que le pongamos al archivo "buffer" ya que si por ejemplo le dijimos que ibamos a enviar 2 MB y mientras estamos navegando chateando y vacialando la buena vida hacemos un consumo de 5 MB eso da ERROR y se cae la conexion no hay que ser genio para darse cuenta de eso..."al menos eso creo"...espero que me hallan entendido mas o menos...ah y una cosita que no se si decirlo aqui pero bueno, esta conexion como bien dijimos hay que mantenerla directa, esto es lo que les quiero decir, supongamos que pedimos una pagina web "X" esa solicitud se guarda en el buffer y es transferida como si fuera el archivo "X" que estamos enviando hasta aqui bien, recivimos la pagina y nos ponemos a leerla, OJO que dejamos de enviar solicitudes y si no hacemos algo se cae la conexion porque el proxy se imagina que tuvistes algun problema enviando el archivo y tumba la conexion eso no lo queremos, pues tenemos que crear una funcion que nos detecte cuando el buffer esta vacio, cuando se cumpla eso, que se envie un RELLENO por ejemplo "sigo aqui no tumbes la conexion" y asi no se caera nunca... por lo menos no a causa de un error nuestro.. joder como he escrito. espero que me hallan entendido...si no cuando empieze el pregunteo, ojala y lo hagan asi se que al menos alguien se leyo esto..

Bueno llegado a aqui lo que hace falta es modificar la cabecera Content-Length que como ven y saben ella recoje el tamaño completo del archivo que se envia y se lo pasa al proxy y este al servidor, yo trate poniendole una cifra elevada como 15 MB y como el contenido es aleatorio, coji y invite a un Timer a que se una a esta conquista con el objetivo de que administrara el famoso RELLENO y mis solicitudes, esto lo trate de hacer pero me sucede que cuando modifico la dicha cabecera y comienzo a enviar datos el proxy no me entrega el contenido del archivo "mis solicitudes", me lo corta aqui...

POST http://HTTP://www.tupagina.com/script.php HTTP/1.1
Host: www.tupagina.com
Content-Type: multipart/form-data, boundary=34COFsReezG0JfuyhtcpgzrMLg2c4NV9
Content-Length: 45242

--34COFsReezG0JfuyhtcpgzrMLg2c4NV9
Content-Disposition: form-data; name="archivo"; filename="JuanK.exe"
Content-Type: application/octet-stream

Bueno ya no voy a decir mas nada, basta decir que si alguien sabe porque me sucede esto, OJO que no hay que leerse todo eso para ayudarme con mi problema, lo que quisiera es debatir y ver si juntos o ayudarme a mi con ideas, materiales, usd entienden conformar el proyecto que creo no tiene mala pinta, y tambien espero que esto abra horizontes..

PD: Disculpen si esta demasiado estenso y bueno usd nada mas queria ver mi problematica, es que no encontre otra manera de explicarla ruego perdones de nuevo..alguien interesado...
73  Programación / Programación Visual Basic / Problemas para enviar un archivo a traves de un proxy!! Ta weno esto!! en: 14 Abril 2008, 05:07 am
Este codigo es de HADES que conste, lo que lo he echo algunas modificaciones para ver si logro el resultado..

CODIGO ORIGINAL                AGREGENLE un BOTON, Winsock y un ComonDialog

Const Host = "www.tupagina.com" 'acá metes tu página, a la que queres mandar el archivo
Const Puerto = 80 'el puerto de conexión
 
Private Sub Abrir_Click()
Dim x 'declaramos variable
CD.CancelError = False 'hacemos que no tire error al darle en cancelar
CD.ShowOpen 'mostramos el diálogo para abrir el archivo
x = MsgBox("Esta seguro de enviar el archivo?", vbYesNo + vbCritical, ":P") 'damos a x el valor de lo que escogimos: "sí" , "no"
If x = vbYes Then
    UploadRequest (CD.FileName) 'Si es sí, entonces llamamos a esta función con la ruta del archivo
Else
    MsgBox "Lastima :("
End If
End Sub
 
Public Sub UploadRequest(Archivo$) 'Este es el sub principal, para construir la petición y mandar el archivo, recibe parámetro del archivo
Dim CodigoA$, CuerpoM$, CuerpoN$, Contenido$, LongitudR# 'Variables
Contenido = AbrirArch(Archivo) 'Llamamos a la función AbrirArch (para continuar mirar más abajo)
If Contenido <> "" Then
    CodigoA = AlphaMix 'generamos el código especificado más arriba
    CuerpoM = "--" & CodigoA & vbCrLf & _
              "Content-Disposition: form-data; name=""archivo""; filename=""" & CD.FileTitle & """" & vbCrLf & _
              "Content-Type: application/octet-stream" & vbCrLf & vbCrLf & Contenido & vbCrLf & _
              "--" & CodigoA & "--" 'empezamos a armar la cabecera, en estos momentos queda esta parte
'(codigo) (crlf)
'(Content-Disposition)(:) (datos) (crlf)
'(Content-Type)(:) (Tipo archivo) (crlf)
'(crlf)
'(contenido archivo) (crlf)
'(codigo)
 
    LongitudR = Len(CuerpoM) 'la longitud para el content-length
 
    CuerpoN = "POST /script.php HTTP/1.1" & vbCrLf & _
              "Host: " & Host & vbCrLf & _
              "Content-Type: multipart/form-data, boundary=" & CodigoA & vbCrLf & _
              "Content-Length: " & LongitudR & vbCrLf & vbCrLf & CuerpoM 'armamos la otra cabecera...
'quedaría:
'POST (Recurso) (Versión protocolo) (crlf)
'(Content-Type)(:) (Tipo de contenido)(,) (boundary)(=)(codigo) (crlf)
'(Content-Length)(:) (Longitud de datos del cuerpo del mensaje) (crlf)
'(crlf) + el contenido del archivo con sus respectivos códigos
 
 Ws.Connect Host, Puerto 'conectamos al host
 
repetir:
    Do While Ws.State <> sckConnected
        DoEvents
        GoTo repetir
    Loop
 
    Ws.SendData CuerpoN 'mandamos archivo
 
End If
 End Sub
 
Public Function AlphaMix() As String 'este es el generados del código que delimita los post
Dim CodigoA$, x&, W&
    For x = 0 To 31
        W = Random(0, 2)
        Select Case Val(W)
        Case 0
            CodigoA = CodigoA & Chr$(Random(48, 57))
        Case 1
            CodigoA = CodigoA & Chr$(Random(65, 90))
        Case 2
            CodigoA = CodigoA & Chr$(Random(97, 122))
        End Select
    Next x
AlphaMix = CodigoA
End Function
 
Private Function AbrirArch(RutaArchivo$) As String 'recibimos la ruta
Dim Retorno$, Longitud# 'declaramos variables
Longitud = FileLen(RutaArchivo) 'miramos la longitud de ese archivo
Retorno = String$(Longitud, Chr(0)) 'hacemos el buffer con la longitud
 
On Error GoTo ErrH
Open RutaArchivo For Binary As #1 'abrimos el archivo en modo binari0
Get #1, , Retorno 'obtenemos el contenido del archivo y lo guardamos en el buffer
Close #1 'cerramos canal
AbrirArch = Retorno 'retornamos el archivo
ErrH:
If Err.Description <> "" Then 'si ocurre algún error, la función devuelve un nulo
    AbrirArch = ""
    Err.Clear
End If
End Function
 
Private Function Random(ByVal Menor As Variant, ByVal Mayor As Variant) As Single 'función para retornar un número aleatorio
Randomize
Random = (Mayor - Menor + 1) * Rnd + Menor
If Random > Mayor Then Random = Mayor
End Function

CODIGO MODIFICADO          AGREGENLE un BOTON, TEXTBOX, Winsock y un ComonDialog

Const Host = "10.10.10.1" 'aqui sustitui la direccion de la pag por mi proxy
Const Puerto = 3128 'el puerto del proxy
Dim sendtext As String, first As Byte, CodigoA$

Private Sub Abrir_Click()
'Dim x 'declaramos variable
'CD.CancelError = False 'hacemos que no tire error al darle en cancelar
'CD.ShowOpen 'mostramos el diálogo para abrir el archivo
'x = MsgBox("Esta seguro de enviar el archivo?", vbYesNo + vbCritical, ":P") 'damos a x el valor de lo que escogimos: "sí" , "no"
'If x = vbYes Then
'    UploadRequest (CD.FileName) 'Si es sí, entonces llamamos a esta función con la ruta del archivo
'Else
'    MsgBox "Lastima :("
'End If

UploadRequest

End Sub
 
Public Sub UploadRequest() '(Archivo$) 'Este es el sub principal, para construir la petición y mandar el archivo, recibe parámetro del archivo

Dim CodigoA$, CuerpoM$, CuerpoN$, Contenido$, LongitudR# 'Variables

If first <> 1 Then    'Para chequear si ya se envio la instruccion por 1era vez de ser asi envio entonces el texto del TXT como tal y ya

'Contenido = AbrirArch(Archivo) 'Llamamos a la función AbrirArch (para continuar mirar más abajo)
'If Contenido <> "" Then
    CodigoA = AlphaMix 'generamos el código especificado más arriba
    CuerpoM = "--" & CodigoA & vbCrLf & _
              "Content-Disposition: form-data; name=""archivo""; filename=""log.txt""" & vbCrLf & _
              "Content-Type: application/octet-stream" & vbCrLf & vbCrLf & Text1 & vbCrLf '& _
              "--" & CodigoA & "--" 'empezamos a armar la cabecera, en estos momentos queda esta parte
 
    'LongitudR = Len(CuerpoM) 'la longitud para el content-length
 
    CuerpoN = "POST http://Http://localhost/script.php HTTP/1.1" & vbCrLf & _
              "Host: " & "localhost" & vbCrLf & _
              "Content-Type: multipart/form-data, boundary=" & CodigoA & vbCrLf & _
              "Content-Length: " & LongitudR & vbCrLf & vbCrLf & CuerpoM 'armamos la otra cabecera...

 Ws.Connect Host, Puerto 'conectamos al host
 
repetir:
    Do While Ws.State <> sckConnected
        DoEvents
        GoTo repetir
    Loop
   
    Ws.SendData CuerpoN 'mandamos archivo
    first = 1
    Timer1.Enabled = True
Else
    Ws.SendData Text1
End If
 
'End If
 End Sub
 
Public Function AlphaMix() As String 'este es el generados del código que delimita los post
Dim CodigoA$, x&, W&
    For x = 0 To 31
        W = Random(0, 2)
        Select Case Val(W)
        Case 0
            CodigoA = CodigoA & Chr$(Random(48, 57))
        Case 1
            CodigoA = CodigoA & Chr$(Random(65, 90))
        Case 2
            CodigoA = CodigoA & Chr$(Random(97, 122))
        End Select
    Next x
AlphaMix = CodigoA
End Function
 
Private Function AbrirArch(RutaArchivo$) As String 'recibimos la ruta
Dim Retorno$, Longitud# 'declaramos variables
Longitud = FileLen(RutaArchivo) 'miramos la longitud de ese archivo
Retorno = String$(Longitud, Chr(0)) 'hacemos el buffer con la longitud
 
On Error GoTo ErrH
Open RutaArchivo For Binary As #1 'abrimos el archivo en modo binari0
Get #1, , Retorno 'obtenemos el contenido del archivo y lo guardamos en el buffer
Close #1 'cerramos canal
AbrirArch = Retorno 'retornamos el archivo
ErrH:
If Err.Description <> "" Then 'si ocurre algún error, la función devuelve un nulo
    AbrirArch = ""
    Err.Clear
End If
End Function
 
Private Function Random(ByVal Menor As Variant, ByVal Mayor As Variant) As Single 'función para retornar un número aleatorio
Randomize
Random = (Mayor - Menor + 1) * Rnd + Menor
If Random > Mayor Then Random = Mayor
End Function


La cosa es la siguiente...lo que quiero es simular como que envio un archivo, pero cuando modifico la cabecera

"Content-Length: " & LongitudR & vbCrLf & vbCrLf & CuerpoM

por      "Content-Length: " & "1000" & vbCrLf & vbCrLf & CuerpoM

se me fastidia, pues el proxy me lo filtra y me llega la peticion incompleta, pq me puede estar pasando esto... si el lo que necesita saber es que yo lo que voy a enviar no puede excederse o mas bien TENDRA UN TAMAÑO DE de 1 MB..

Saludos y gracias
74  Programación / Programación Visual Basic / Minibrowser duda!! en: 11 Abril 2008, 18:04 pm
Necesito que este soft que esta entre los proyectos anidado aqui en el foro me haga la peticion de la web a traves de mi SQUID asi que lo unico que modifique fue que se conectara al proxy le lanzara la peticion, cuando quiere me dice 400 Bad Request otras veces se me queda en blanco y nunca llega nada, le he modificado cosas pensando haber y nada si alguien pudiera testearlo y decirme que puedo estar haciendo mall

Este es el projecto

http://foro.elhacker.net/index.php?action=dlattach;topic=186798.0;attach=2162

Salu2
75  Programación / .NET (C#, VB.NET, ASP) / Re: Conectarme a traves de mi proxy!! en: 30 Marzo 2008, 19:25 pm
la verdad que no entiendo lo que quieres haces, podría explicarlo mejor?'' cual seria la utilidad de tu programa, que es lo que quieres lograr.

Haber como habia dicho tengo una programa en VB.Net que me permite conectarme con mi servidor SSH "hasta ahi bien" el problemita que tengo es que en mi RED yo hago las conexiones a traves de un proxy y ese programa no trae la opcion para poder acceder via proxy, so preguntaba de alguna forma para poder agregarle esa funcion al soft para que funcione detras de mi proxy HTTP con autentificacion...

Salu2
76  Programación / .NET (C#, VB.NET, ASP) / Conectarme a traves de mi proxy!! en: 30 Marzo 2008, 04:26 am
Salu2 por aka, nunca he posteado aqui pero ya hare mis precencias pues empeze con el .NET... a lo que voy, tengo una aplicacion con la cual me conecto a mi servidor SSH, lo que sucede es que yo no puedo hacer directas mas bien a traves de un proxy quisiera saber si alguien tiene alguna clase o me dice de que manera puedo yo desde mi mismo programa hacer que pase por mi proxy....ah y tiene autentificacion...por supuesto supongo que tendre que agregarle codigo, jejeje...

Salu2
77  Programación / Programación Visual Basic / Re: Capturar lo que sea!!! en: 26 Marzo 2008, 05:32 am
Sí, se puede. Se llama Port Sniffing o Port Monitors o simplemente Sniffers. Hay mucho ejemplos en VB. Si te molestas en buscar (aunque solo sea un poquito) verás como encuentras ejemplos:

http://pscode.com/vb/scripts/ShowCode.asp?txtCodeId=46567&lngWId=1

Lo próxima vez no te lo pondré tan facil.

Por dios MadAntrax si te hice enorjar, socio es que no sabia el nombre tecnico de lo que buscaba en si por eso la pregunta, lo otro era que supuse que era Sniffiando pero es que en si esa tecnica es para capturar datos "aleatorios" que circulan a traves de tu tarjeta de red "creo que es eso lo que entiendo por sniffear", por eso aclaraba q' mas bien es para capturar cualquier dato que me llegara y por el puerto que fuera...

Muchas gracias y disculpa la molestia...

Salu2 desde cuba
78  Programación / Programación Visual Basic / Capturar lo que sea!!! en: 26 Marzo 2008, 00:09 am
Veran yo necesito capturar cualquier paquete que me llegue al PC por mi conexion..

No se si me entenderan, cualquier peticion que se haga poderla capturar, o sea la cosa viene como para estar vigilando todos los puertos, es algo como la defensa proactiva del KASPERSKY, pero para poder ver todas las peticiones que me hagan...

Salu2

Es posible esto, supongo que creado un bucle que chekee los puertos o alguna api que se dispare en cuanto traten de establecer alguna conexion, por X puerto...

SAlu2
79  Programación / Programación Visual Basic / Alguien que me explique que es el "STUB"?? en: 6 Marzo 2008, 07:03 am
Disculpen la pregunta quizas no sea aqui si pueden moverlo se los agradecere, la hago aqui pq vi varios temas donde se toca esta palabrita por asi deci...

Que es, en si?

Cuando hablan de modificar, que es eso, como se puede hacer??...

Salu2
80  Programación / Programación Visual Basic / Re: Haber si alguien tiene alguna informacion o se embulla a hacerla!! en: 5 Marzo 2008, 01:44 am
Muchisimas grx por tu respuesta, pero el mensaje en si no era el de que me buscaran las cosas y me las plasmaran, aqui, mas bien si alguien tenia conocimiento de algun manual que explicara el FSO y bueno nunca estaba de mas algun ejemplo, pq ejemplos si encontre...Pero vamos q grx por tu respuesta...

Agrego esto que grx a ti vi...

Salu2   http://www.recursosvisualbasic.com.ar/htm/tutoriales/fso.htm
Páginas: 1 2 3 4 5 6 7 [8] 9
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines