![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Esto me huele a capturar lo que se escribe en el messenger
![]() ![]() , vaya habria muchas utilidades que se podrian crear![]() .Pero temo que sobrepasa mi precario conocimiento, no sabes como admiro que "juegues" con todo esto. Pues nada, solo es un poco de envidia (de la buena ).Salud OS.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney |
|
#2
|
||||
|
||||
|
Cita:
Y ya que estamos, si cambiamos las siguientes funciones, tendremos una visión un poco mas clara de lo que esta pasando, eliminando los caracteres no imprimibles o extraños:
|
|
#3
|
|||
|
|||
|
Grande....
Primero que nada, mi admiración y respeto.
Me da una idea lo que comentas en tu post, pero para ser sincero viendo el codigo que pusiste, no tengo ni idea de lo que hiciste; me pregunto cuanto fue lo que dedicaste en tiempo y esfuerzo para llegar a dominar tal nivel dentro de la programación, mi admiración mas sincera y mi envidia mas sana de la que pueda hacer gala, al igual que a otros de los compañeros del club que no los menciono puesto que podria no nombrar a alguno y no sería correcto pero que muchos sabemos quienes son. Gracias por su apoyo y enseñanza. Un saludo y abrazo a todos ustedes que hacen posible este gran espacio. |
|
#4
|
||||
|
||||
|
¿Nadie se anima a "meter el dedo" en el código?
Bueno, yo sigo dándole un lavado de cara, quitando algunas cosas que sobraban y añadiendo algunas otras. Ahora el objetivo es el FileZilla, es interesante ver como en una conexión FTP todo, incluso las contraseñas, se envían sin cifrar, mientras que usando FTPS todo se vuelve un revoltijo de bytes sin sentido. El código de la dll:
Y por si alguien tiene curiosidad sobre lo que comentaba del ftp: FTP normal: Código:
00000000 0.00000000 [3420] send: Hookeado 00000001 0.00014471 [3420] send: Hookeado 00000002 0.00025730 [3420] recv: Hookeado 00000003 0.00033300 [3420] recv: Hookeado 00000004 0.00044000 [3420] WSASend: Hookeado 00000005 0.00054169 [3420] WSARecv: Hookeado 00000006 0.01691332 [3420] WSARecv: Hookeado 00000007 6.09645510 [3420] Recv(472): 220---------- Welcome to Pure-FTPd [TLS] ----------..220-You are user number 10 of 100 allowed...220-Local time is now 11:57. Server port: 21...220-This is a private system - No anonymous login..220 You will be disconnected after 15 minutes of inactivity... 00000008 6.10500622 [3420] Send(472): USER usuario.. 00000009 6.20800686 [3420] Recv(472): 331 User usuario OK. Password required.. 00000010 6.21136618 [3420] Send(472): PASS password.. 00000011 7.68974400 [3420] Recv(472): 230-User usuario has group access to: usuario ..230 OK. Current restricted directory is /.. 00000012 7.69142294 [3420] Send(472): SYST.. 00000013 7.79814720 [3420] Recv(472): 215 UNIX Type: L8.. 00000014 7.79918385 [3420] Send(472): FEAT.. 00000015 7.90416002 [3420] Recv(472): 211-Extensions supported:.. EPRT.. IDLE.. MDTM.. SIZE.. REST STREAM.. MLST type*;size*;sizd*;modify*;UNIX.mode*;UNIX.uid*;UNIX.gid*;unique*;.. MLSD.. ESTP.. PASV.. EPSV.. SPSV.. ESTA.. AUTH TLS.. PBSZ.. PROT..211 End... 00000016 7.92951632 [3420] Send(472): PWD.. 00000017 8.03565025 [3420] Recv(472): 257 "/" is your current location.. 00000018 8.03662586 [3420] Send(472): TYPE A.. 00000019 8.14296532 [3420] Recv(472): 200 TYPE is now ASCII.. 00000020 8.14391899 [3420] Send(472): PASV.. 00000021 8.25138378 [3420] Recv(472): 227 Entering Passive Mode (86,109,99,252,148,1).. 00000022 8.25234795 [3420] Send(472): LIST.. Código:
00000000 0.00000000 [3444] send: Hookeado 00000001 0.00014499 [3444] send: Hookeado 00000002 0.00025925 [3444] recv: Hookeado 00000003 0.00033663 [3444] recv: Hookeado 00000004 0.00044447 [3444] WSASend: Hookeado 00000005 0.00057186 [3444] WSARecv: Hookeado 00000006 0.01196353 [3444] WSARecv: Hookeado 00000007 8.25035477 [3444] Recv(472): 220 Indy FTP Server ready... 00000008 8.25047493 [3444] Send(472): AUTH SSL.. 00000009 8.27392101 [3444] Recv(472): 234 AUTH Command OK. Initializing SSL.. 00000010 8.51114845 [3444] Send(472): .j....Q......9..8..5..............3..2../.............................@.....................>^...z....T..).Q 00000011 8.51255322 [3444] Recv(472): ._....../....0..+0...............j...0...*.H........0E1.0...U....AU1.0...U....Some-State1!0...U....Internet Widgits Pty Ltd0...070709185831Z..100708185831Z0E1.0...U....AU1.0...U....Some-State1!0...U....Internet Widgits Pty Ltd0\0...*.H.........K.0H.A...#...-..tyv.o....w....u.BC......:....&....}.P.":....9.2VI.X.s..........0..0...U......$.*$B...4.P.%..[.pHJ0u..U.#.n0l..$.*$B...4.P.%..[.pHJ.I.G0E1.0...U....AU1.0...U....Some-State1!0...U....Internet Widgits Pty Ltd.......j...0...U....0....0...*.H.........A.........'DQ....2..K..<.h|.*.8QT]..x<.... v.?...5d..0B..m.[[email protected]#..UWB..-..0.E 00000012 8.51360226 [3444] Send(472): .R.......@...<.#$./d.!..Ji....C......+{}$....`..~.M.....\(.."...u%J..L...Uh.2N.....O.(........g..diz...?nsN.LgOS...9.B...<Z.... 00000013 8.51596642 [3444] Recv(472): .(..R.....B..h+.Cx..(..../....S..V..z#......(.t....l.,....)P.....c.Ky$K.....5.Z.T..K8. Última edición por seoane fecha: 18-07-2007 a las 20:49:19. |
|
#5
|
||||
|
||||
|
Pues yo sigo jugando, así que probé a inyectarme en el Opera, Firebird y IExplorer. Los resultados no fueron los que esperaba, solo tuve éxito en el firebird.
Ejemplo de llamada a google desde firebird: Código:
00000000 0.00000000 [1612] send: Hookeado
00000001 0.00023970 [1612] send: Hookeado
00000002 0.00030451 [1612] send: Hookeado
00000003 0.00040508 [1612] recv: Hookeado
00000004 0.00055957 [1612] recv: Hookeado
00000005 0.00061293 [1612] recv: Hookeado
00000006 0.00079116 [1612] WSARecv: Hookeado
00000007 0.01721001 [1612] WSARecv: Hookeado
00000008 3.87779331 [1612] Send(424): 8
00000009 3.87790227 [1612] Recv(400): 8
00000010 7.33975983 [1612] Send(424): 8
00000011 7.36298990 [1612] Recv(400): 8
00000012 7.36321735 [1612] Send(760): GET /search?q=hola&ie=utf-8&oe=utf-8&aq=t (... continua ...)
00000013 7.50138474 [1612] Send(424): 8
00000014 7.50156593 [1612] Recv(760): HTTP/1.1 302 Found..Location: http://www.google.es/search?q=hola (... continua ...)
00000015 7.50168085 [1612] Send(424): 8
00000016 7.50173950 [1612] Recv(400): 88
00000017 7.51233768 [1612] Send(424): 8
00000018 7.51238394 [1612] Recv(400): 8
00000019 7.51343203 [1612] Send(424): 8
00000020 7.51364422 [1612] Send(792): GET /search?q=hola&ie=utf-8&oe=utf-8&aq=t (... continua ...)
00000021 7.51375008 [1612] Recv(400): 8
00000022 7.66461515 [1612] Send(424): 8
00000023 7.66482592 [1612] Recv(792): HTTP/1.1 200 OK..Cache-Control: private..Content-Type: text/html; (... continua ...)
00000024 7.66492271 [1612] Recv(400): 8
00000025 7.69945812 [1612] Send(424): 8
00000026 7.69976521 [1612] Recv(400): 8
00000027 7.74328566 [1612] Send(808): GET /images/nav_logo3.png HTTP/1.1..Host: www.google.es..User-Agent: Mozilla/5.0 (... continua ...)
00000028 7.76948357 [1612] Recv(792): 585...\.R.H......*L.b;..a+.......B`k.jImYXR;-...\.>......V.r.w.&.${NK.._ .. (... continua ...)
00000030 7.79967022 [1612] Send(424): 8
00000031 7.85533857 [1612] Send(424): 8
00000032 7.85574055 [1612] Send(424): 8
00000033 7.86081028 [1612] Recv(808): HTTP/1.1 200 OK..Content-Type: image/png..Last-Modified: (... continua ...)
00000036 7.86227322 [1612] Recv(400): 888
00000037 7.86240196 [1612] Send(424): 8
00000038 7.86249828 [1612] Send(424): 8
00000039 7.86318731 [1612] Recv(400): 88
00000040 7.93753862 [1612] Recv(808): >.0.K..NA......LZ.d......k.Q.e?j0R...X.l...{.C....... ..' (... continua ...)
00000042 7.94816399 [1612] Send(424): 8
00000043 7.94913769 [1612] Recv(400): 8
00000044 7.96834993 [1612] Send(424): 8
00000045 7.96871567 [1612] Recv(400): 8
00000046 8.02914429 [1612] Send(736): GET / HTTP/1.1..Host: www.hola.com..User-Agent: Mozilla/5.0 (... continua ...)
00000047 8.11064625 [1612] Recv(736): HTTP/1.1 200 OK..Server: Apache..Pragma: no-cache..Last-Modified: (... continua ...)
00000048 8.11452866 [1612] Send(424): 8
00000049 8.11458588 [1612] Recv(400): 8
00000050 18.88658333 [1612] Send(424): 8
00000051 18.88676453 [1612] Recv(400): 8
00000052 33.90203857 [1612] Send(424): 8
00000053 33.90223312 [1612] Recv(400): 8
00000054 48.91870117 [1612] Send(424): 8
00000055 48.91886902 [1612] Recv(400): 8
00000056 64.33921051 [1612] Send(424): 8
00000057 64.34007263 [1612] Recv(400): 8
Lo que me tiene extrañado es por que Opera e IExplorer son inmunes. Ahora estoy interceptando las llamada send, recv, wsasend, wsarecv así que supongo que estos dos no utilizan estas funciones, y me pregunto cuales usaran. O acaso están protegidos contra las inyecciones de código. Seguiré investigando, es decir jugando ![]() |
|
#6
|
|||
|
|||
|
Hooks a nivel de sistema
Que tal
Esta muy interesante el codigo (ojala lo pudieramos ir documentando) sobre todo cuando haces el inject con WriteProcessMemory Estuve haciendo unas pruebas pero al principio no veia nada en el debug View, asi que modifique la dll del hook para que escribiera a un archivo de .log y al poco tiempo empezo a mostrarse tambien en el debug viewer, algunas veces parece que no logra hacer el hook hasta despues de varios intentos. Crees que se podria hacer estos hooks de winsock a nivel de sistema, que sirviera para monitorear la red o hacer algo como un firewall? |
|
#7
|
||||
|
||||
|
Estoy un poco lerdo... se me están pasando mensajes que no se me deberían pasar...
Excelente seoane, si ya por de sí es difícil andar jugando con sockets, parece aún mas parchear las propias funciones de estos. Muy original lo de OutputDebugString, En todo caso "recuerda" que también es posible interceptar el puerto en cuestión... y ahí seguro que ni el Opera ni nadie se resiste.Una más para tu repositorio... ![]()
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO |
|
#8
|
|||||||
|
|||||||
|
Hola cheke, me alegro de que alguien se animara a revisar el código.
Cita:
Lo siento, es una costumbre muy fea que tengo, nunca documento el código. Intentare documentar esa función.Cita:
Cita:
Otra opción interesante es utilizar para inyectarnos la función SetWindowsHookEx, usando la librería como un hook de windows. Así seria el propio windows el encargado de inyectarnos en todos los procesos que tuvieran ventanas, una solución bastante cómoda. Aunque no controlaríamos las aplicaciones de consola. Yo por ahora el código lo veo mas como un juguete para ver como funcionan los programas "por dentro", que como una herramienta de seguridad. Pero nada impide evolucionarlo un poquito mas, es decir, afinando el proceso de inyección y hook de las apis, interceptando las llamadas a las apis que crean procesos y cargan librerías (para así reajustar los hooks), interceptando mas apis del winsock, etc ... Hola Ardilla, Cita:
Cita:
En cuanto a la función OutputDebugString, desde que la descubrí hace un par de años, es una de mis funciones preferidas. Utilisima y muy recomendable, sobre todo cuando estas escribiendo código que no tiene una salida por pantalla. Cita:
Yo todavía estoy esperando un ejemplo completo, ya sabes, bajar el archivo zip, descomprimir, compilar y ver los resultados. Lo demás es teorizar Cita:
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| delphi y ms messenger `````` | alejo000 | Internet | 9 | 16-02-2009 19:16:02 |
| Grabar Messenger | Avellas | Internet | 15 | 29-06-2007 01:14:47 |
| Jugando con los numeros | seoane | La Taberna | 3 | 14-01-2007 15:34:15 |
| messenger por comandos | Cosgaya | Varios | 0 | 01-02-2006 12:58:17 |
| Jugando Al Golf | Bicho | Humor | 0 | 19-01-2006 11:51:52 |
|