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

#31
Scripting / Expresiones Regulares y wordlist.
5 Junio 2018, 04:06 AM
Analizando y leyendo sobre el tema de fuerza bruta y cediendo al final como muchos cuando se entiende las limitantes para contraseñas a partir de los 8 caracteres con 10 numeros+26minusculas+26mayusculas+33caracteres especiales opto por pasar mejor a diccionarios o los conocidos wordlist  ;D.  Donde me encuentro 2 claros problemas entre muchos, la mayoría de las contraseñas contenida en los wordlist corresponde al ingles por lo que aplicarlo a contraseñas pensadas en español lo convierten en algo inútil, segundo al irnos a las innumerable fuentes de Internet la cantidad de contraseñas a manipular es tan grande como deseemos  y contener gran cantidad de repetidas es algo que reduce la eficiencia aunque en estadísticas sirve para organizar por frecuencia de uso.
Por dicho motivo he decidido fragmentar y filtrar la información ya que trabajar con grandes ficheros de contraseñas q no es algo que este muy difundido en Internet o al menos no encuentro nada relacionado.

Sin dudas python es la herramienta ideal para gestionar esta big data.
Comparto parte de mi código con el objetivo que algunos de los cerebros que andan en este foro sugieran modificaciones para hacerlo mas eficiente ya que eso de un for dentro de otro y asi no creo que sea la mejor forma aunque de momento medio funciona.

Estoy claro que es algo muy básico y no hace ni la mitad de lo que debería pero de comienzo se me ocurre clasificar todo en alphanumericos, symbols para los caracteres especiales y numeros para las contraseñas de solo números.

Sin mas aqui una version muy alpha de lo que quiero

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import re

#Criterio de fragmentacion.
#0 1 2 3 4 5 6 7 8 9

#a b c d e f g h i j
#k l m n o p q r s t
#u v w x y z

#A B C D E F G H I J
#K L M N O P Q R S T
#U V W X Y Z

#! " # $ % & ' ( ) *
#+ , - . / : ; < = >
#? @  [ \ ] ^ _ ` { |
#} ~

#FIX
#\$ \' \( \) \* \+ \. \? \[ \\\\ \^ \|

char = ['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','!','"','#','\$','%','&','\'','\(','\)','\*','\+',',','-','\.','/',':',';','<','=','>','\?','@','\[','\\\\',']','\^','_','`','{','\|','}','~', ' ']



#Solicitud de wordlist a fragmentar segun criterio de fragmentacion.
v = raw_input('Introduce el fichero a procesar: ')
f = open(v,'r')
lineas = f.readlines()
f.close()

i=0
d=0

#Eliminar lineas en blanco en el fichero a fragmentar.
f = open(v,'w')

for linea in lineas:
if len(linea) > 1:
f.write(linea)

#Eliminar duplicado en el fichero a fragmentar.
content = open(v,'r').readlines()
content_set = set (content)
cleandata = open (v,'w')

for line in content_set:
cleandata.write(line)

cleandata.close()

f = open(v,'r')
lineas = f.readlines()
f.close()

#Clasificar en (Numeros [0-9],26 minusculas [a-z], 26 mayusculas [A-Z],Symbols 33 caracteres especiales [!- ]).
for i in range (95):
patterns = [char[i]]
for pattern in patterns:
for linea in lineas:
if re.match(pattern,  linea):
if i > 36:
if i < 62:
fn = open(char[i]+'_','a')
fn.writelines(linea)
else:
f = open('Symbols','a')
f.writelines(linea)
else:
f = open(char[i],'a')
f.writelines(linea)
else:
d=d+1


Igual lo iré mejorando ya que la idea es irle pasando wordlist y que se fragmente organizadamente para posterior uso en los diferentes programas de fuerza bruta. Evitar duplicados, poder buscar si contienen una contraseña en especifico sino agregarla etc. Como pueden ver no solo necesito mejoras de programación sino ademas mejoras de ideas para finalmente hacernos de nuestro potente wordlist.

Saludos.



#32
Ya tienes el interés eso es importante ahora solo te falta la constancia e ir trazando metas a cumplir.
Lenguajes de programación hay muchísimos así como de distintos niveles.
Es muy raro una persona que sepa un solo lenguaje como creo que tampoco existe ese lenguaje absoluto que buscas. En lo particular he ido viendo todo los lenguajes que he podido y lo cierto es que muchas cosas ya a la vez que dominas un lenguaje empiezas a entender mas rápido los otros. Ejemplo creo que en casi todos los lenguajes de programación existen variables, sentencias if, else, for, while, comparaciones >= etc.
En el mundo de la informática se vale todo yo tengo la base de muchos sistemas de programación pero al mismo tiempo ando en un nivel muy básico ;D.
Cualquiera de esto que domines te servirá un mundo.
c, c++ ,c#
Visual Basic, .Net
visualbasicscript vbs
bat
python
perl
ruby
java
php
html
AutoHotKeys
matlab

Aunque después de haber visto tantos principios porque ojo quizás ni soy el mas indicado para recomendarte ya que aquí hay gente de muchísimo nivel. Empieza con Python y trata de ir llevando lo aprendido al mundo de la seguridad informática.

Puedes aprender solo existe muchísimo material gratis en Internet, así como muchísimos lugares para aclarar dudas. 

Que puedes aprender solo, si es verdad, pero te faltara cosas como metodología, experiencia, pedagogía y exámenes que mida el contenido aprendido, estas cosas no menos importantes las garantiza creo que solo un profesor. Así que dentro de tus posibilidades localiza un buen profesor q se ajuste a tu presupuesto y ponle todo el interés yendo mas allá de lo que te enseñaran en clase.

Espero te sirva de algo mi respuesta.
Saludos y bienvenido.

PD: Siempre antes de preguntar busca, seguro ya la duda la tuvo otro y así evitas los duplicados estoy segurisimo mas de uno aquí a preguntado eso, por lo que te recomiendo busques dudas similares en el foro para que encuentre quizás mejores respuestas que esta.



#33
No se si es la mejor forma pero resolví con algo como esto y separe en dos txt el contenido para no perder nada y ver que quedaba por fuera.

pattern = '([\w+a-zA-Z0-9\/\'\%\;\,\"\$\.\-\+\_\!\*\#\?\&\[\]\s\t\r\n\v\f\)\(\=\^\>\<\`\{\}\ñ\Ñ\~]{8,16})$'
#34
trabajando un wordlist contenido en un fichero txt, me quedan muchas lineas que contienen caracteres rusos, asi como caracteres no imprimibles.
Alguna sugerencia de como me puedo deshacer de estos mediante el uso de expresiones regulares en python.

Saludos y gracias por leer.

Pequeña muestra del fichero

aleks san
лиля1111
таня1993
0987654321_
07728891
ЙФЯЧВУ
campari
erdons2
генрик
ze7ery9y
cachorrito
#35
WarZone / Hack-Web_EAS
31 Octubre 2017, 13:12 PM
Hola a todos, sirdarckcat,  el tema es bien sencillo. Es solo para saber si la prueba Hack-Web_EAS del warzone esta funcional puesto que cuando se entra con el usuario sugerido AL1954 contend81 dice que el enlace fue movido y al seguirlo nos tira hacia el blog. ¿Es esto normal?


<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>302 Found</title>
</head><body>
<h1>Found</h1>
<p>The document has moved <a href="http://blog.elhacker.net">here</a>.</p>
</body></html>
#36
Scripting / Re: Wordlist Pyhon
8 Octubre 2017, 22:00 PM
Listo, me dejan sin palabras, muchas gracias quedo asi. Cualquier otra optimizacion pensada en la salida y en condiciones poco probables es bienvenida.

#Wordlist Alpha desarrollado en Python by AngelFire
#-----------------------Caracteristicas--------------------------------------------------
#Genera salida de 8 caracteres.
#Se ignoran las combinaciones:
# -que terminan en b,c,f,g,h,j,k,m,p,q,t,v,w,x.
# -de 2 caracteres repetidos continuos; exclusiones
#   a considerar(rr, ll, 11, 22, 33, 44, 55, 66, 77, 88, 99, 00)
# -de 4 caracteres consonantes continuos; exclusiones
#   a considerar en 3 caracteres(palabras que terminan en consonante
#   y su adyacente comienza por 2 consonantes)
import re
#Cantidad de constantes que no se desean continuas. En este caso 4.
patron = ".*[bcdfghjklmnpqrstvwxyz]{4,}.*"
#Considerar sustituciones de tipos:
#a=@ or A=4, e=3, i=1, o=0, s=5, a la hora de crear el char.
#Sustituir en char los caracteres a combinar.
char = 'abcdefghijklmnopqrstuvwxyz'
a = 0
b = 0
c = 0
d = 0
e = 0
f = 0
g = 0
h = 0
i = 0
#abcdefgh ---> 8 CARACTERES
for a in range(len(char)):
#bcdefgh  ---> 7 CARACTERES
for b in range(len(char)):
if char[a]!=char[b]:
#cdefgh   ---> 6 CARACTERES
for c in range(len(char)):
if char[b]!=char[c]:
#defgh    ---> 5 CARACTERES
for d in range(len(char)):
if char[c]!=char[d]:
#efgh     ---> 4 CARACTERES
for e in range(len(char)):
if char[d]!=char[e]:
#fgh      ---> 3 CARACTERES
for f in range(len(char)):
if char[e]!=char[f]:
#gh       ---> 2 CARACTERES
for g in range(len(char)):
if char[f]!=char[g]:
#h        ---> 1 CARACTERES
for h in range(len(char)):
low = char[a]+char[b]+char[c]+char[d]+char[e]+char[f]+char[g]+char[h]
if char[g]!=char[h]:
if char[h]!= 'b':
if char[h]!= 'c':
if char[h]!= 'f':
if char[h]!= 'g':
if char[h]!= 'h':
if char[h]!= 'j':
if char[h]!= 'k':
if char[h]!= 'm':
if char[h]!= 'p':
if char[h]!= 'q':
if char[h]!= 't':
if char[h]!= 'v':
if char[h]!= 'w':
if char[h]!= 'x':
if re.match(patron, low):
  i=i+1
else:
print (low)

#37
Scripting / Wordlist Pyhon
8 Octubre 2017, 07:57 AM
Alguien me ayuda en el siguiente codigo creado en python a eliminar salidas de 5 consonantes [bcdfghjklmnpqrstvwxyz] continuas, asi como cualquier otra optimizacion basica que consideren enfocado a fuerza bruta pero no tan bruta ya que  se intenta excluir las combinaciones poco probables, de repeticiones tipo aaaaaaaa o 5 a mas consonantes continuas.

Saludos

Lo necesito para luego hacer algo como:
#python wordlist.py | aircrack-ng -a 2 -e AP AP-01.cap -w -

#Wordlist Alpha desarrollado en Python by AngelFire
#-----------------------Caracteristicas--------------------------------------------------
#Genera salida de 8 caracteres.
#Se ignoran las combinaciones:
# -que terminan en b,c,f,g,h,j,k,m,p,q,t,v,w,x.
# -de 2 caracteres repetidos continuos; exclusiones
#   a considerar(rr, ll, 11, 22, 33, 44, 55, 66, 77, 88, 99, 00)
#Considerar sustituciones de tipos:
#a=@ or A=4
#e=3
#i=1
#o=0
#s=5
#a la hora de crear el char.
#Sustituir en char los caracteres a combinar.
char = 'abcdefghijklmnopqrstuvwxyz'
a = 0
b = 0
c = 0
d = 0
e = 0
f = 0
g = 0
h = 0
#abcdefgh ---> 8 CARACTERES
for a in range(len(char)):
#bcdefgh  ---> 7 CARACTERES
for b in range(len(char)):
if char[a]!=char[b]:
#cdefgh   ---> 6 CARACTERES
for c in range(len(char)):
if char[b]!=char[c]:
#defgh    ---> 5 CARACTERES
for d in range(len(char)):
if char[c]!=char[d]:
#efgh     ---> 4 CARACTERES
for e in range(len(char)):
if char[d]!=char[e]:
#fgh      ---> 3 CARACTERES
for f in range(len(char)):
if char[e]!=char[f]:
#gh       ---> 2 CARACTERES
for g in range(len(char)):
if char[f]!=char[g]:
#h        ---> 1 CARACTERES
for h in range(len(char)):
low = char[a]+char[b]+char[c]+char[d]+char[e]+char[f]+char[g]+char[h]
if char[g]!=char[h]:
if char[h]!= 'b':
if char[h]!= 'c':
if char[h]!= 'f':
if char[h]!= 'g':
if char[h]!= 'h':
if char[h]!= 'j':
if char[h]!= 'k':
if char[h]!= 'm':
if char[h]!= 'p':
if char[h]!= 'q':
if char[h]!= 't':
if char[h]!= 'v':
if char[h]!= 'w':
if char[h]!= 'x':
print (low)


#38
Scripting / Brute Force en Python hacia un DMG
21 Febrero 2017, 09:59 AM
Buenas, sin saber mucho de python se me ha ocurrido hacer este script para sacar la key de un fichero .dmg (058-07911-219.dmg) contenido en un fichero .ipsw (iPad2,1_9.0_13A344_Restore.ipsw). Algo que según tengo entendido por la cantidad combinaciones es imposible de romper en la actualidad ya que hablamos de una longitud de 72 caracteres en formato hexadecimal. Por lo cual he tomado un random en el incremento del conteo para poder jugar con el factor suerte que no esta de nuestro lado  ;D si nos vamos a probabilidades.

Evidentemente la key de ese fichero no se obtuvo mediante fuerza bruta.

La duda:
¿Si por casualidad de la vida se generará la key valida de 72 caracteres en formato hexdecimal (f44e1a776ad2f2f2d8ecc2befee610ea4536a37713a83db0396835c74c1b2af3343fd433), como notificar o detener el script?

Código (Python) [Seleccionar]
import time
import os
import random

def gen_all_hex():
   i = 0
   while i < 16**72:
       yield "{:072X}".format(i)
       #i += 1
       i += random.randint(1, 1)
       time.sleep(.1) # Wait 100ms
               

for s in gen_all_hex():
   print (s)
   os.system('%s %s' % ('dmg.exe extract 058-07911-219.dmg 058-07911-219d.dmg -k', s))
   #os.system('dmg.exe extract 058-07911-219.dmg 058-07911-219d.dmg -k f44e1a776ad2f2f2d8ecc2befee610ea4536a37713a83db0396835c74c1b2af3343fd433')


Para mas información sobre lo que intento con mi absurdo script pueden referirse a https://www.theiphonewiki.com/wiki/Firmware_Keys/9.x

Gracias por leer y cualquier comentario o contribución es bienvenida. :rolleyes:
#39
Redes / Duda con ip estático.
6 Junio 2016, 02:54 AM
No consigo una ip estatica en mi ISP.
Uso windows 10 x64bit y si activo DHCP, el cliente conecta sin problema me asigna todo los datos de red:
IP
Mascara
Puerta de enlace
DNS 1
DNS 2

Pero si pongo esos mismo valores no consigo que se conecte y quedarme con esos valores estaticos.
Alguien tiene la mas minima idea de porque no puedo entrar los valores manuales y no funciona incluso cuando pongo los mismos que me asigna el DHCP del ISP.

Saludos

AngelFire
#40
Scripting / Re: Simplificar javascript
10 Marzo 2016, 00:03 AM
Las funciones las llamo mediante onchange="mult2(); cost()"