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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


  Mostrar Temas
Páginas: [1] 2 3
1  Sistemas Operativos / GNU/Linux / Problema pendrive en: 13 Abril 2013, 23:39 pm
Un amigo me trajo un pendrive USB 3.0, 64 GB :o. Sucede que lo conecto y no lo monta. Para mi amigo es muy importante recuperar los archivos ... Intente varias cosas en internet pero nose que hacer. Lo conecte a linux y intente un par de cosas.
Pongo un poco de información:

Citar
~$ dmesg
[  291.029707] usb 2-1.1: new high-speed USB device number 7 using ehci_hcd
[  291.138884] usb 2-1.1: New USB device found, idVendor=1516, idProduct=6221
[  291.138893] usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  291.138899] usb 2-1.1: Product: USB Drive
[  291.138904] usb 2-1.1: Manufacturer: SKYMEDI
[  291.139680] scsi7 : usb-storage 2-1.1:1.0
[  292.136385] scsi 7:0:0:0: Direct-Access     SKYMEDI  USB Drive        1.00 PQ: 0 ANSI: 6
[  292.138018] sd 7:0:0:0: Attached scsi generic sg2 type 0
[  292.140805] sd 7:0:0:0: [sdb] Attached SCSI removable disk
[  381.243485] usb 2-1.1: USB disconnect, device number 7
[  393.699047] usb 2-1.1: new high-speed USB device number 8 using ehci_hcd
[  393.808768] usb 2-1.1: New USB device found, idVendor=1516, idProduct=6221
[  393.808776] usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  393.808780] usb 2-1.1: Product: USB Drive
[  393.808783] usb 2-1.1: Manufacturer: SKYMEDI
[  393.809416] scsi8 : usb-storage 2-1.1:1.0
[  394.806134] scsi 8:0:0:0: Direct-Access     SKYMEDI  USB Drive        1.00 PQ: 0 ANSI: 6
[  394.807812] sd 8:0:0:0: Attached scsi generic sg2 type 0
[  394.811736] sd 8:0:0:0: [sdb] Attached SCSI removable disk

Trate de montar /dev/sdb pero me dice que no encuentra el dispositivo (¿?). Use el programa "Discos" de ubuntu, y me muestra el pendrive pero no me da ninguna acción a realizar. No aparece en los dispositivos montados pero cuando lo conecta al notebook este suena, reconociendo el nuevo dispositivo .... Intente realizar esta guia pero como no esta montado no puedo hacer mucho..

Gracias de antemano :)


 
2  Seguridad Informática / Wireless en Linux / Problema conexion cierta red en: 3 Marzo 2013, 22:26 pm
Hace tiempo no ocupaba mi notebook (ultimo Ubuntu con Gnome 3), lo inicio y me conecto a la red wifi de mi casa sin problemas, instalo actualizaciones y todo perfecto. Al otro dia lo prendo y no logro conectarme a mi wifi. La clave esta correcta, logro conectarme a otros wifi y otros equipos si pueden conectarse a mi wifi. Parece ser que el unico problema es de Mi notebook con Mi wifi, demora mucho y manda un mensaje que no pudo conectarse. No encontré nada raro en la configuración del router, procedí a ver el log de network manager --> /var/log/syslog
Encontré esto...

Citar
Mar  3 18:18:41 multivac dhclient: DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 10
Mar  3 18:18:43 multivac NetworkManager[945]: <warn> (eth1): DHCPv4 request timed out.
Mar  3 18:18:43 multivac NetworkManager[945]: <info> (eth1): canceled DHCP transaction, DHCP client pid 11966
Mar  3 18:18:43 multivac NetworkManager[945]: <info> Activation (eth1) Stage 4 of 5 (IPv4 Configure Timeout) scheduled...
Mar  3 18:18:43 multivac NetworkManager[945]: <info> Activation (eth1) Stage 4 of 5 (IPv4 Configure Timeout) started...
Mar  3 18:18:43 multivac NetworkManager[945]: <info> (eth1): device state change: ip-config -> failed (reason 'ip-config-unavailable') [70 120 5]
Mar  3 18:18:43 multivac NetworkManager[945]: <warn> Activation (eth1) failed for access point (Wi-fi Correa)
Mar  3 18:18:43 multivac NetworkManager[945]: <warn> Activation (eth1) failed.
Mar  3 18:18:43 multivac NetworkManager[945]: <info> Activation (eth1) Stage 4 of 5 (IPv4 Configure Timeout) complete.
Mar  3 18:18:43 multivac NetworkManager[945]: <info> (eth1): device state change: failed -> disconnected (reason 'none') [120 30 0]
Mar  3 18:18:43 multivac NetworkManager[945]: <info> (eth1): deactivating device (reason 'none')
Mar  3 18:18:43 multivac NetworkManager[945]: <info> Policy set 'Conexión cableada 2' (usb0) as default for IPv4 routing and DNS.

Al final 'Conexión cableada 2' es mi celular conectado al pc para tener internet.
Reinicie el router, el notebook, los servicios, cambie la clave, el essid, de wep a wpa. Puse el mac del pc en el router para "Static DHCP Leases Table" pero no sirvio. La configuración del servidor DHCP parece funcionar bien. Puse "olvidar red" y tampoco.

Gracias de antemano.
3  Sistemas Operativos / GNU/Linux / Problema Particiones en: 2 Septiembre 2012, 03:22 am
Tengo instalado en un notebook windows 7 y fedora. Antes estaba con w7 y ubuntu. Luego de bastante tiempo usando fedora preferi volver a ubuntu pero al ingresar el live cd me dio el error "Unable to find a medium containing a live file system". Busque un poco y creo que es problema de como tengo el disco duro partido. Los discos me estaban dando problema hace tiempo, les dejo una imagen de Gparted.

4  Programación / Scripting / [Python] Elephant BS [Bug Searcher] V 1.0 Beta en: 19 Septiembre 2011, 23:41 pm
En un post en mi blog hablaba sobre este script en python que estaba preparando. Elephant BS sirve para encontrar errores php en carpetas de scripts webs y funciona principalmente con expresiones regulares (Regex), muchas veces no encuentra el problema tal cual pero nos ayuda mucho a ahorrar tiempo para investigarlo. Libero el código para que puedan verlo un poco, acepto (y deseo) sugerencias… Les recomiendo usar la opción -he

Citar
  • Changelog
    1.0 Beta 19/09/2011
    - Funcionando con 8 expresiones regulares
    - Búsqueda recursiva de archivos
    - Añadidos opción varias extensiones
    - Añadido opción heurística (agarra variables)

Yo les pregunto:

¿Algún mejor nombre para la opción heurística? (No se me ocurrió nada)

Código Fuente:

Captura:


Favor de sugerir y ayudar!
5  Seguridad Informática / Hacking / DNS Spoofing - Otro Método... en: 23 Enero 2011, 23:39 pm
DNS Spoofing - Otro Método...

Tutorial en PDF (online y descarga):
http://www.scribd.com/doc/47406004
Paquete para tutorial: Paquete suplantación DNS v 0.1 [2.21 mb]


Uno muchas veces tiene acceso a una red y su router (por que el 90% de los casos el usuario y contraseña es admin) pero uno no sabe cómo aprovecharse de esto.
El DNS Spoofing es una técnica muy poderosa, pero por el método típico de ARP Spoofing es un poco lento y notorio. Para resolver esto vamos a hacer lo siguiente, en la configuración de los routers es posible especificar un servidor DNS primario y secundario para resolver las páginas de Internet (el servidor DNS es el encargado de decirte que google.com es en realidad 190.96.87.19), muchas veces para no depender de el servidor DNS utilizado por tu ISP. Entonces lo que haremos será especificar un servidor DNS nuestro como primario y como secundario utilizaremos un servidor DNS común y muy usado que es el de google (8.8.8.8 y 8.8.4.4), así cuando algún usuario dentro de la red quiera meterse a gmail.com, primero se resuelva la dirección a través de nuestro servidor DNS (y lo dirigiríamos a una IP nuestra jijiji) y sino google se encargara de resolver a la verdadera IP y así no será notorio el ataque.


Manos a la obra ¿Que necesitamos?:

  • Verificar que podemos entrar a la configuración del router (Mediante web o telnet, lo haremos por la primera) o la configuración de internet de la victima (por acceso físico a la computador o un batch).
  • Un servidor DNS (En este caso usaremos BIND, que ya viene configurado en el paquete de abajo para el fake de gmail.com).
  • Alguna web objetivo y su correspondiente fake (en este caso usare gmail.com, y en el paquete más abajo viene listo).

Para explotar esto hice un paquete, al cual le introduje un poco de batch y PHP para hacer más sencillo todo esto y este se puede descargar aquí.
El paquete incluye 3 cosas:

  • BIND: con el software del mismo nombre, BIND es el servidor DNS más utilizado en el mundo, viene configurado y listo para explotar www.gmail.com.
  • htdocs: que tiene un sistema para facilitar la gestión de fakes y la recopilación de contraseñas, como ahora intento solo mostrar esto, solo viene el fake de www.gmail.com, pero hice cosas para facilitar la creación de otros.
  • Start.bat: un sencillo script batch para iniciar el servidor BIND.

Poner Fake online

Lo primero es poner la carpeta htdocs de manera que este online, esto tiene que ser en el mismo servidor que el servidor DNS (así está configurado este último, para apuntar a sí mismo, pero esto se puede cambiar), para esto lo que yo recomiendo es usar XAMPP (www.apachefriends.org/es/xampp.html) y dentro de la carpeta instalada meten los archivos de htdocs en la carpeta htdocs del servidor XAMPP.

Iniciando Servidor DNS

Lo primera es iniciar BIND, para esto solo tenemos que apretar Start.bat que está en la carpeta principal del paquete. Se nos abrirán dos consolas, una que inicia el servidor BIND, en la cual si al final sale “running”, estamos al otro lado...

Configurar Router o Computadora

Tenemos dos posibles formas de suplantar en la víctima al servidor DNS.
La primera seria cambiar la configuración de su conexión, pero para eso necesitamos acceso al PC de la víctima o que esta inicie un batch nuestro o algo. Para hacer esto nos dirigimos a “Panel de control” ?”Conexiones de red” luego ponemos las propiedades de la conexión buscada, seleccionamos “Protocolo Internet (TCP/IP)” y sus propiedades, luego “Usar las siguientes direcciones de servidor DNS” y como primaria escribimos la IP del servidor DNS (en este caso 192.168.1.104, nuestra computadora, no necesita necesariamente ser interno de la red) y luego como servidor secundario pondremos al servidor DNS de google (8.8.8.8 o 8.8.4.4)


Para la opción de configurar el router, debemos tener acceso a este, como normalmente la IP es 192.168.1.1, el usuario “admin” y contraseña “admin” casi siempre es sencillo entrar. Debemos buscar alguna parte donde se configure el servidor DNS (Normalmente en la sección WAN), si hay alguna opción disable ponerla enabled, y tenemos que poner lo mismo que antes (servidor primario: la IP del servidor DNS nuestro y el servidor secundario usaremos google 8.8.8.8 o 8.8.4.4)


Esperando Victimas
Luego solo nos toca esperar, puede ser que el ataque demore por varias razones, en primer lugar la víctima puede no visitar la web... o el cache del DNS se demora mucho en refrescar y el ataque no tiene efecto hasta un par de horas (se puede solucionar si reiniciamos el router), el ataque se vería así.


Al acceder a gmail, nuestro servidor DNS resuelve www.gmail.com en nuestra IP especificada (por ejemplo 192.168.1.104), al ingresar a esta index.php verifica cual es el la dirección por la que llego la victima (en este caso gmail.com), y luego pone el fake correspondiente a el dominio suplantado, el usuario escribe su email y contraseña y cuando pone enviar, se envía a login.php que guarda esto en log.txt (en la carpeta htdocs) y luego redirecciona a la victima a mail.google.com (donde puede logearse con facilidad)


Nos vamos a la carpeta htdocs de XAMPP, y luego abrimos el archivo log.txt, y WALA! el usuario y contraseña buscados

Por favor cualquier error, avisarme :)

6  Seguridad Informática / Seguridad / [Bug] Escondiendo Programa en Autorun en: 16 Noviembre 2010, 02:15 am
Escondiendo Programa en Autorun

Hace poco estaba trabajando en un keylogger (muy chido), y cuando le agrege la función para iniciarse con el sistema, todo funciono perfectamente, el keylogger se iniciaba cuando iniciaba session.
Luego inicie el programa System Explorer para ver los runs o claves de registro que habían:


Extrañamente me fije que no estaba el keylogger... ¿Extraño no?, mejor veamos msconfig


¿WTF? y como se prende el programa?? revise las claves del registro...


Hay esta..... y por que no lo muestra??? Respuesta: fijense que el nombre del valor es (Predeterminado) (no literalmente, en realidad no tiene nombre) y por eso no lo muestra
En fin hice un programa para mostrar esto:


El codigo hecho en C# es algo así:

Código
  1. RegistryKey reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true);
  2. reg.SetValue("", textBox1.Text);

Posibilidades?? existen muchas claves de registro para iniciar programas y buscar en cada una es algo largo, por lo que casi todos usan y confían en programas que, como yo les demuestro, no funcionan, así se pueden esconder programas espías, virus, etc.
Citar
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\RunServices
HKCU\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServices
HKLM\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit

Probado en Windows XP, ¿quiere probarlo alguno? ¿Alguien lo conocía?


7  Sistemas Operativos / GNU/Linux / Error desaparece Titulo de ventana en: 7 Junio 2010, 01:34 am
Hola estoy usando Ubuntu 10.04 LTS y me sucede que desde que lo instale paso unos 20-30 minutos en mi sesión y repentinamente desaparecen las barras de arriba, es decir, donde están el titulo de la ventana y los botones para minimizar, cerrar, etc. por lo que tengo que reiniciar
¿Alguna idea?
gracias de antemano
8  Programación / Scripting / Buscador Exploit-Db V1.0 [Python] en: 9 Mayo 2010, 04:51 am
Un buscador que hice en python, gracias a la idea de otro post de este foro
Con este script puedes facilmente navegar/descargar y ejecutar exploit de exploit-db
Creo que todavia le queda mucho por mejorar.
Para  linux y windows
Pastebin: http://isseu.pastebin.com/G9xh7XDV
Download: http://isseu.pastebin.com/download.php?i=G9xh7XDV

Searchedb.PY
Código
  1. #!/usr/bin/env python
  2. import urllib2
  3. import re
  4. import os
  5. import string
  6.  
  7. def Verde(a):
  8. if os.name=="posix": #linux
  9. return "\033[32m"+a+"\033[0m"
  10. else:
  11. return a
  12. def Rojo(a):
  13. if os.name=="posix": #linux
  14. return "\33[31m"+a+"\033[0m"
  15. else:
  16. return a
  17. def Limpiar():
  18. if os.name=="posix":
  19. os.system("clear") #linux
  20. else:
  21. os.system("cls") #windows
  22. def sisalir(a):
  23. if string.upper(input) =="QUIT":
  24. exit(0)
  25. def GetWeb(web):
  26. source=string
  27. try:
  28.     source=urllib2.urlopen(web)
  29. except urllib2.HTTPError, e:  
  30.     print Rojo("[!] Error HTTP")
  31.     print Rojo(e.code)
  32.     exit(0)  
  33. except urllib2.URLError, e:  
  34.     print Rojo("[!] Error URL")
  35.     print Rojo(e.reason)
  36.     exit(0)
  37. return source.read()
  38. def extension(archivo):
  39. return archivo[archivo.rfind(".")+1:len(archivo)]
  40. def Ejecutar(path):
  41. print "";
  42. type=extension(path)
  43. if type=="py":
  44. print Rojo("[#] system(\"python "+path+")\"")
  45. os.system("python "+path);
  46. print Rojo("[#] Finish")
  47. if type=="pl":
  48. print Rojo("[#] system(\"perl "+path+")\"")
  49. os.system("perl "+path);
  50. print Rojo("[#] Finish")
  51. print ""
  52. def FileType(web):
  53. try:
  54.     web=urllib2.urlopen(urllib2.Request(web))
  55. except urllib2.HTTPError, e:  
  56.     print Rojo("[!] Error HTTP")
  57.     print Rojo(e.code)
  58.     exit(0)  
  59. except urllib2.URLError, e:  
  60.     print Rojo("[!] Error URL")
  61.     print Rojo(e.reason)
  62.     exit(0)
  63. info=str(web.info())
  64. info=re.search("filename=\d+\.(txt|py|pl|cpp|c|jar)",info).group()
  65. info=re.search("txt|py|pl|cpp|c|jar",info).group()
  66. return info
  67. def ExploitDB(input,page=0):
  68. print "";
  69. sitio = "http://www.exploit-db.com/list.php?page="+str(page)+"&description="+input+"&author=&platform=&type=&port=&osvdb=&cve="
  70. source = GetWeb(sitio)
  71. urls=re.findall("href=\'/exploits/\d+",source)
  72. numerop=re.findall("href='/list.php?page=\d+&description="+input+"&platform=&type=&port=&author=&osvdb=&cve='>\d+</a>",source)
  73. names=re.findall("target=_blank>.*</a>",source)
  74. print Verde("[+]")+" Hay "+str(len(names))+" Resultados (+"+Verde(str(len(numerop)))+" paginas):"
  75. print "";
  76. if len(names)>=1:
  77. for i in range(len(names)):
  78. name=names[i]
  79. name=name[14:len(name)-4]
  80. print "["+str(i+1)+"] "+name
  81. valor=raw_input(Verde("[?]")+" Ingrese Id exploit a ver (0 = Siguiente pagina; -1= Buscar Otra Cosa)\n-->")
  82. sisalir(valor);
  83. if string.atoi(valor)<=0:
  84. if string.atoi(valor)==0:
  85. ExploitDB(input,(page+1))
  86. if string.atoi(valor)==2:
  87. return;
  88. else:
  89. subs=urls[string.atoi(valor)-1]
  90. subs=subs[16:len(subs)]
  91. sitio="http://www.exploit-db.com/download/"+subs;
  92. tipo=FileType(sitio)
  93. name=names[i]
  94. name=name[14:len(name)-4]
  95. print "";
  96. print Verde("[+]")+" Exploit Seleccionado:";
  97. print "[ID] #" + subs + ":"
  98. print "[Nombre] " + name
  99. print "[Url] " + sitio
  100. print "[Leng] " + tipo
  101. descargado=False
  102. while (True) or ((string.atoi(valor) > 0) and (string.atoi(valor) < 4)):
  103. if descargado:
  104. valor=raw_input(Verde("[?]")+"Opciones: (1) Ver (2) Descargar (3) Volver Atras (4) Ejecutar\n-->")
  105. else:
  106. valor=raw_input(Verde("[?]")+"Opciones: (1) Ver (2) Descargar (3) Volver Atras\n-->")
  107. sisalir(input);
  108. if string.atoi(valor)==1:
  109. print ""
  110. print "";
  111. source = GetWeb(sitio)
  112. print source;
  113. if string.atoi(valor)==2:
  114. print ""
  115. source = GetWeb(sitio)
  116. subs=subs+"."+FileType(sitio)
  117. FILE = open(subs,"w")
  118. FILE.write(source);
  119. FILE.close();
  120. print Verde("[+]")+" Guardado Como: "+os.curdir+"/"+subs
  121. if (extension(subs)=="pl") or (extension(subs)=="py"):
  122. descargado=True
  123. if string.atoi(valor)==3:
  124. ExploitDB(input,page)
  125. break;
  126. if (string.atoi(valor)==4) and (descargado==True):
  127. Ejecutar(subs)
  128. break;
  129. else:
  130. print Rojo("[!]")+" No hay Resultados Para mostrar"
  131.  
  132.  
  133. if __name__ == "__main__":
  134. Limpiar()
  135. print "   ########################"
  136. print "   # "+Rojo("Buscador De Exploits")+" #"
  137. print "   # "+Rojo("De Exploit-db.com")+" ####"
  138. print "   # "+Rojo("Por Isseu")+" ############"
  139. print "   ################# "+Verde("V1.0")+" #"
  140. print ""
  141. while True:
  142. input = raw_input(Verde("[?]")+" Ingrese Nombre de la Aplicacion a Buscar ("+Rojo("Quit")+" para salir)\n-->");
  143. sisalir(input);
  144. print Verde("[+]")+" Buscando "+input+" en ExploitDB [...]";
  145. ExploitDB(input)
  146.  
  147.  
  148.  
9  Programación / Scripting / Funcion Ip Publica [Perl] en: 19 Abril 2010, 03:55 am
Una funcion que hice para probar un poco de "regex", usando la web http://ip.interchile.com/ devuelve tu ip publica como string,
Código
  1. #!/usr/bin/perl
  2. $ip=GetPublicIp();
  3. if($ip ne "Error"){
  4. print $ip;
  5. }else{
  6. print "Error";
  7. }
  8.  
  9. sub GetPublicIp{
  10. #Funcion Por Isseu
  11. use LWP::Simple;
  12. use LWP::UserAgent;
  13. use HTTP::Request;
  14. use HTTP::Response;
  15. $URL="http://ip.interchile.com/";
  16. $browser = LWP::UserAgent->new();
  17. $browser->timeout(5);
  18. my $request = HTTP::Request->new(GET => $URL);
  19. my $response = $browser->request($request);
  20. if(!$response->is_error()){
  21. $data=$response->content();
  22. $data=substr($data,630,50);
  23. if($data=~/<font size=7>(.+\..+\..+\..+)<\/font>/){
  24.    return $1;
  25.    }else{
  26. print "Error";
  27. }
  28.  
  29.  
  30. }else{
  31. print "Error";
  32. }
  33. }


10  Programación / .NET (C#, VB.NET, ASP) / abrir ventana al apretar teclas?? en: 17 Diciembre 2009, 13:00 pm
Como puedo hacer que al apretar cierto conjunto de teclas, se habra una form??, estoy usando GetAsyncKeyState() del api de windows, pero lo estoy usando de esta forma (en un timer claro):
Código
  1.                if (GetAsyncKeyState(0x46) == -32767)
  2.                {
  3.                    if (GetAsyncKeyState(0xA2) == -32767 || GetAsyncKeyState(0xA3) == -32767)
  4.                    {
  5.                        this.Visible = true;
  6.                    }
  7.                }
  8.  
0x46=f
0xA2 y 0xA3 son ambos ctrl
Sucede que para que se habra hay que apretar ambos al mismo tiempo con poca diferencia de tiempo, ¿que otra manera mejor existe?
Páginas: [1] 2 3
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines