Mostrando entradas con la etiqueta Scripts. Mostrar todas las entradas
Mostrando entradas con la etiqueta Scripts. Mostrar todas las entradas

20 jul. 2012

[Script] Actualiza automáticamente tus Exploits en Backtrack

Hoy les traigo un pequeño script muy básico para mantener actualizado los Exploits que se encuentran en /pentest/exploits/exploitdb en Bactrack, pero la mayor utilidad que hay por detrás de este Script es poder usar searchsploit (que se encuentra en /pentest/exploits/exploitdb también) para encontrar los exploits que necesitemos en nuestras auditorías.

Para ésto creamos nuestro script con el nombre que deseemos, yo lo llamé update.sh:
#!/bin/bash
# http://www.blackploit.com/
cd /pentest/exploits/exploitdb
wget http://www.exploit-db.com/archive.tar.bz2
tar -xvvf archive.tar.bz2
rm -R archive.tar.bz2

Le damos privilegios al script y lo ejecutamos:
chmod a+x update.sh
./update.sh

4 jul. 2012

[G00rec0n] Herramienta de Gathering para encontrar Sub-Dominios & Emails

En la etapa de recopilación de información de un pentest, por lo general nos interesa encontrar los diferentes sub-dominios del dominio que tenemos en la mira. Eso se puede lograr con consultas a servidores DNS que utilizan las solicitudes de transferencia de zona o utilizando fuerza bruta, es un buen comienzo, pero puede que se escapen algunos sub-dominios. Otra forma de averiguar los sub-dominios es consultar en Google y comprobar si en su amplios resultados de búsqueda hay Sub-domios. Goorecon es una herramienta que automatiza ese proceso tedioso y además te los enumera con sus respectivas IPs.

Goorecon está desarrollado en ruby y necesita la librería httpclient para funcionar, en la mayoría de los casos ya viene instalada, pero si no:
gem install httpclient

9 oct. 2010

[Wifite] Ataca múltiples redes WEP y WAP al mismo tiempo

Wifite es una herramienta diseñada para Backtrack4 RC1 (distribución de Ubuntu). Wifite Solamente cuenta con soporte para Linux  y no lo tiene para Windows o Osx.

El propósito de esta herramienta es atacar multiples  redes WEP y WAP al mismo tiempo, automatizandola con pocos argumentos para que trabaje sola.
Modo Gui
Las principales características son que trae numerosos filtros para especificar exactamente qué atacar (WEP/WPA/both, por encima de ciertas intensidad de señal, por canales, etc), se puede personalizar tiempo de espera, paquetes/segundos, ignorar fake-auth.


Trae una opción anonymous que cambia la MAC al azar antes de atacar, y cuando termina de atacar se vuelve a cambiar.

Se hace un backup con todos los handshakes captados en un archivo en el directorio donde se encuentra wifite.py aparte que se guardan todas las contraseñas crackeadas en el archivo log.txt.

Wifite viene en version GUI y versión consola:
Modo consola
Algunos ejemplos en el modo consola son:

Crackear todos los puntos WEP:
./wifite.py -all -nowpa

Crackear todos los puntos WEP con señal mejor que (o igual que) 50 dB:
./wifite.py -p 50 -nowpa

Atacar todos lo puntos de acceso, usando 'darkc0de.lst' para crackear los handshakes WPA:
./wifite.py -all --dict /pentest/passwords/wordlists/darkc0de.lst

Atacar todos los puntos WAP, pero no crackearlos (los handshakes se guardan automáticamente):
./wifite.py -all -nowpa --dict none

Crackear todos los puntos WEP con señal mejor que (o igual que) 50 dB, dando 15 minutos para cada método de ataque WEP, y enviando 600 paquetes/sec:
./wifite.py --power 50 -wepw 15 -pps 600

Para tratar de romper la red "2WIRE752" encriptada en WEP, sin detenerse hasta que sea crackeada o interrumpida por el usuario con CONTROL + C:
./wifite.py -e "2WIRE752" -wepw 0

Descarga de wifite.py

Más Información y web del proyecto es: http://code.google.com/p/wifite/

Eso sería...
[+] Salu2
[+] ZioneR

4 sept. 2010

[Joomla Scan] Scanner para encontrar la versión de Joomla y posibles vulnerabilidades

Hace poco pepelux realizó un Scanner para revisar remotamente la versión de Joomla de alguna web y posibles vulnerabilidades para explotarlas con sus respectivos exploits.
El método usado consiste en comprobar una serie de ficheros que varían de una versión a otra, así como otros que contienen el ID de la última revisión. En resumen, ralizando muchas verificaciones en varios ficheros se llega a acortar el margen entre versiones hasta dar con la exacta.
Interesante aplicación que sin duda utilizaría si dentro de mis objetivos esta una web Joomla. Además que el autor asegura que se actualiza.
El programa al arrancarse comprueba si hay nuevas versiones o actualizaciones de la base de datos, de manera que cada vez que suba un nuevo bug se actualizará sólo.









Descarga de Joomla Scan v1.2

Fuente y web del autor: http://blog.pepelux.org/

También pepelux realizó una versión en perl de esta herramienta para los amantes de la consola o para los usuarios de GNU/Linux, también dispone con actualizaciones.






Descarga de Joomla Scan v1.1 en perl

Fuente: http://blog.pepelux.org/

26 sept. 2009

Encontrar Admin de una Web (2 métodos)

De la mano de hacking-avanzado.blogspot.com nos enseña como encontrar la página del administrador de una web usando el script admin-scan.py ya posteado anteriormente aquí, pero lo interesente no es ese método sino el segundo, el de encontrar el admin por medio de robots.txt que yo por lo menos no conocía.

PEN-TESTING: ENCONTRAR LA PAGINA DE ADMINISTRACIÓN DE UNA WEB

Algunas veces sucede que podemos encontrar una vulnerabilidad de sql-injection y, a simple vista, no hay quien vea dónde se encuentra la página de loggin del admin, por lo que no podemos terminar de reventar la página. Es aquí donde el siguiente script, bajado de darkc0de, resulta útil:


#/usr/bin/python
import sys, os, time, httplib

if sys.platform == 'linux' or sys.platform == 'linux2':
clearing = 'clear'
else:
clearing = 'cls'
os.system(clearing)


if len(sys.argv) != 2:
print "\n|---------------------------------------------------------------|"
print "| b4ltazar[@]gmail[dot]com                                      |"
print "|   03/2009     Admin login finder     v2.0                     |"
print "| Help: admin-find.py -h                                        |"
print "| Visit www.darkc0de.com and www.ljuska.org                     |"
print "|---------------------------------------------------------------|\n"
sys.exit(1)

for arg in sys.argv:
if arg == '-h':
print "\n|-------------------------------------------------------------------------------|"
print "| b4ltazar[@]gmail[dot]com                                                      |"
print "|   03/2009      Admin login finder     v2.0                                    |"
print "| Usage: admin-find.py www.site.com                                             |"
print "| Example: admin-find.py site.com                                               |"
print "| Visit www.darkc0de.com and www.ljuska.org                                     |"
print "|-------------------------------------------------------------------------------|\n"
sys.exit(1)



site = sys.argv[1].replace("http://","").rsplit("/",1)[0] 
site = site.lower()

admin_path = ['admin.php','admin/','administrator/','moderator/','webadmin/','adminarea/','bb-admin/','adminLogin/','admin_area/','panel-administracion/','instadmin/','memberadmin/','administratorlogin/','adm/','admin/account.php','admin/index.php','admin/login.php','admin/admin.php','admin/account.php','joomla/administrator','login.php',
'admin_area/admin.php','admin_area/login.php','siteadmin/login.php','siteadmin/index.php','siteadmin/login.html','admin/account.html','admin/index.html','admin/login.html','admin/admin.html','admin_area/index.php','bb-admin/index.php','bb-admin/login.php','bb-admin/admin.php','admin/home.php','admin_area/login.html','admin_area/index.html','admin/controlpanel.php','admincp/index.asp','admincp/login.asp','admincp/index.html','admin/account.html','adminpanel.html','webadmin.html','webadmin/index.html','webadmin/admin.html','webadmin/login.html','admin/admin_login.html','admin_login.html','panel-administracion/login.html','admin/cp.php','cp.php','administrator/index.php','administrator/login.php','nsw/admin/login.php','webadmin/login.php','admin/admin_login.php','admin_login.php','administrator/account.php','administrator.php','admin_area/admin.html','pages/admin/admin-login.php','admin/admin-login.php','admin-login.php','bb-admin/index.html','bb-admin/login.html','bb-admin/admin.html','admin/home.html','modelsearch/login.php','moderator.php','moderator/login.php','moderator/admin.php','account.php','pages/admin/admin-login.html','admin/admin-login.html','admin-login.html','controlpanel.php','admincontrol.php',
'admin/adminLogin.html','adminLogin.html','admin/adminLogin.html','home.html','rcjakar/admin/login.php','adminarea/index.html','adminarea/admin.html','webadmin.php','webadmin/index.php','webadmin/admin.php','admin/controlpanel.html','admin.html','admin/cp.html','cp.html','adminpanel.php','moderator.html','administrator/index.html','administrator/login.html','user.html','administrator/account.html','administrator.html','login.html','modelsearch/login.html','moderator/login.html','adminarea/login.html','panel-administracion/index.html','panel-administracion/admin.html','modelsearch/index.html','modelsearch/admin.html','admincontrol/login.html','adm/index.html','adm.html','moderator/admin.html','user.php','account.html','controlpanel.html','admincontrol.html','panel-administracion/login.php','wp-login.php','adminLogin.php','admin/adminLogin.php','home.php','adminarea/index.php','adminarea/admin.php','adminarea/login.php','panel-administracion/index.php','panel-administracion/admin.php','modelsearch/index.php','modelsearch/admin.php','admincontrol/login.php','adm/admloginuser.php','admloginuser.php','admin2.php','admin2/login.php','admin2/index.php','adm/index.php','adm.php','affiliate.php','adm_auth.php','memberadmin.php','administratorlogin.php','administrador/']


print "\n|---------------------------------------------------------------|"
print "| b4ltazar[@]gmail[dot]com                                      |"
print "|   03/2009      Admin login finder     v2.0                    |"
print "| Visit www.darkc0de.com and www.ljuska.org                     |"
print "|---------------------------------------------------------------|\n"
print "\n[-] %s" % time.strftime("%X")

print "[+] Target:",site
print "[+] Checking paths..."
print


try:
for admin in admin_path:
admin = admin.replace("\n","")
admin = "/" + admin
connection = httplib.HTTPConnection(site)
connection.request("GET",admin)
response = connection.getresponse()
print "%s %s %s" % (admin, response.status, response.reason)
except(KeyboardInterrupt,SystemExit):
raise
except:
pass 


El script lo único que hace es pedir un montón de páginas que podrían ser la que buscamos, por ejemplo /admin/ y /administrador/ y sacar el return code. Si vemos un 200 es que hemos encontrado lo que buscamos. Un poco primitivo, pero eficiente. Al final de la lista de url's a intentar, he añadido "administrador", porque estos scripts suelen obviar el idioma español.

Lo ejecutamos así:
python adminfinder.py http://www.victima.es/ |grep -v 404

Y el resultado es éste:

Todos los NOT FOUND han sido redirigidos a la página de error, por eso da un 301. Pero, si os fijáis, ha encontrado /administrator/, que es la página de loggin del admin.

Además de este script, y como un recurso adicional, podemos echarle un ojo al archivo robots.txt, porque a veces los admins se olvidan de borrar los directorios que aparecen por defecto.En este caso, si vemos robots.txt nos encontramos esto:

User-agent: * Disallow: /administrator/ Disallow: /cache/ Disallow: /components/ [...]

Entre los directorios listados podemos encontrar de nuevo /administrator/

Script original aquí.

Fuente: http://hacking-avanzado.blogspot.com/

15 sept. 2009

GeoLocalización IP

Vamos a ver como localizar la IP de un computador.

Hagamos de cuenta y caso que soy un un investigador. tengo una IP de una persona a la que quiero localizar geograficamente para averiguar de donde viene. asi que manos a la obra.

Primero vajamos una herramienta que nos automatize el trabajo. de www.edge-security.com bajamos la herramienta Geoedge.

Descarga Original
[Mirror]

Código Geoedge.py:
#!/usr/bin/env python
#Geoedge v0.1
#Coded by laramies
#cmartorella@edge-security.com
#Remember that maxmind allows just 25 queries per day. Don't abuse ;)

import sys
import re
import httplib

def banner():
 print "*************************************"
        print "*Geoedge         v0.1               *"
        print "*Coded by Laramies                  *"
        print "*cmartorella@edge-security.com      *"
        print "*************************************"
 
def usage():
 banner()
        print "\n"
        print "Usage:"
        print "       python geoedge.py host/ip\n"
        return

if len(sys.argv) < 2:
        usage()
        sys.exit()

host=sys.argv[1]
cmd=sys.argv[1]

banner()
body="ips="+host
print "\nSearching in Maxmind....\n"
try:
 h = httplib.HTTP("www.maxmind.com")
 h.putrequest('POST',"/app/locate_ip" )
 h.putheader('content-type',"application/x-www-form-urlencoded")
 h.putheader('content-length', str(len(body)))
 h.endheaders()
 h.send(body)
 errcode, errmsg, headers = h.getreply()
 response=h.file.read()

 limit=re.compile("reached.*")
 if limit.findall(response)!=[]:
  print "Limit reached in maxmind :(\n"
 else:
  res=re.compile("<td><font size=\"-1\">.*</font>")
  results=res.findall(response)
  res=[]
  for x in results:
   x=x.replace("<td><font size=\"-1\">","")
   x=x.replace("</font>","")
   res.append(x)

  print "Information for "+host+ " by Maxmind"
  print "===========================================\n"
  print "IP/Host: "+res[0]
  country=re.sub("<.*nk>\">","",res[1])
  country2=country.replace("</a>","")
  country=re.sub("<.*middle\" >","",country2)
  print "Country: " +country  +","+res[2]
  print "City: " + res[4] +","+res[5]
  print "Coordinates: "+ res[7] + "," + res[8]
  print "Provider: "+ res[9] + "," + res[10]
  print "\n"
except:
 print "Connection error...\n"

print "Searching in Geoiptool....\n"
try:

 h = httplib.HTTP("www.geoiptool.com")
 h.putrequest('GET',"/es/?IP="+host )
 h.putheader('Host', 'www.geoiptool.com')
 h.putheader('User-agent', 'Internet Explorer 6.0 ')
 h.endheaders()
 returncode, returnmsg, headers = h.getreply()
 response=h.file.read()

 res=re.compile("<td align=\"left\" class=\"arial_bold\">.*</td>")
 results=res.findall(response)
 res=[]

 for x in results:
  x=x.replace("<td align=\"left\" class=\"arial_bold\">","")
  x=x.replace("</td>","")
  res.append(x)

 print "Information by Geoiptool"
 print "============================\n"
 country=re.sub("<.*nk\">","",res[1])
 country=country.replace("</a>","")
 country=re.sub("<.*middle\" >","",country)
 print "Country: " + country + ","+ res[2]
 city=re.sub("<.*nk\">","",res[3])
 city=city.replace("</a>","")
 print "City: " + city + ","+ res[4]
 print "Coordinates: " + res[8] + ","+res[7]
except:
 print "Connection error..\n"


Ahora vamos a la Terminal/Command Prompt ejecutamos el archivo con las siguientes instrucciones:
En Windows:
>Geoedge.py HOST
En Linux:
~$Python geoedge.py HOST

Como en el ejemplo:



Ahora que tenemos las coordenadas procedemos a ir a google maps, y escribimos ahi las cordenadas dadas por la herramienta. de esta manera:


Le damos en  “Search…” y nos guiara al destino:


Por esto sabemos que el host esta ubicado en Managua, Nicaragua. en las calles descritas por google maps. el host que localize es de una universidad. queria saber si el servidor (uca.edu.ni=165.98.12.3) estaba en la mima universidad. pero averigue que no. si asi fuera entonces me hubiera colado en el sistema con mas facilidad. si queremos ver el edificio en si. entonces cambiamos por modo “Satelite” y veremos el edificio:


y listo. ahora solo me queda averiguar que cual es la instalacion en cualquier bus de managua y usar ingenieria social para obtener informacion. Buena suerte ; ).

Fuente: http://kernelerror.net/

29 ago. 2009

Scripts en Perl y Python para buscar mediante fuerza bruta páginas de login

Scripts escritos en Python y Perl para realizar ataques de fuerza bruta con el objetivo de averiguar las URL de acceso al panel de administración de un determinado sitio web (Admin Page Finder).

Servicios en Linea:
http://mormoroth.net/af/
http://4dm1n.houbysoft.com/ (Código fuente disponible)

Script en Python

Descargar Admin-scan.py

Sintaxis de uso:
$ python admin-scan.py IP/Dcominio


Ejemplo:
/wp-login.php 404 Not Found
/admin.php 200 OK <------------------- 
/admin/ 404 Not Found 
/administrator/ 404 Not Found 
/moderator/ 404 Not Found


NOTA: Para personalizar la lista de rutas que utiliza el script debemos editar la variable "admin_path" del script.

Script en Perl

El script "Jasakomtool.pl" además de ataques de fuerza bruta para conseguir ubicar la página de acceso a la administración de una determinada web, permite realizar sencillos escaneos de puerto y obtener información mediante "banner grabbing" de los servicios Ftp,Ssh, Telnet, Smtp,Http,Pop3 y Mysql.

Descargar Jasakomtool.pl

Búsqueda mediante fuerza bruta la página de administración de la web (Login page)

Se debe tener en la misma ruta del script un fichero "admin.txt" con las rutas que nos interese.

Sintaxis:
$ perl jasakomtool.pl -admin Dominio/IP Puerto_inicial Puerto_final


Ejemplo:
$ perl jasakomtool.pl -admin http://www.dominio.com

Guessing Admin login page of http://www.dominio.com:
-----------------------------------------
Testing for url:http://www.dominio.com/admin1.php Result:404 Not Found
Testing for url:http://www.dominio.com/admin1.html Result:404 Not Found
Testing for url:http://www.dominio.com/admin2.php Result:404 Not Found
Testing for url:http://www.dominio.com/admin2.html Result:404 Not Found
Testing for url:http://www.dominio.com/wp-login.php Result:200 OK <------------------ ## :-)
Testing for url:http://www.dominio.com/yonetim.php Result:404 Not Found
Testing for url:http://www.dominio.com/yonetim.html Result:404 Not Found
Testing for url:http://www.dominio.com/yonetici.php Result:404 Not Found


Escaneo de puertos:

Sintaxis:
$ perl jasakomtool.pl -portscan Dominio/IP Puerto_inicial Puerto_final


Ejemplo:
$ perl jasakomtool.pl -portscan www.dominio.com 21 110

Scanning open ports on www.dominio.com from port 21 s/d 110
____________________________________________________________________
Port 21 on www.dominio.com is open !!! w00t !
Port 22 on www.dominio.com is open !!! w00t !
Port 25 on www.dominio.com is open !!! w00t !
Port 53 on www.dominio.com is open !!! w00t !
Port 80 on www.dominio.com is open !!! w00t !
Port 106 on www.dominio.com is open !!! w00t !
Port 110 on www.dominio.com is open !!! w00t !
____________________________________________________________________
Not Shown: 82 closed ports on www.dominio.com from port 21 until 110


Obteniendo información (Banner grabbing)

Busca las versiones de las aplicaciones Ftp,Ssh, Telnet, Smtp,Http,Pop3 y Mysql mediante Banner grabbing (Conectando al puerto y obteniendo el banner que muestre el servicio). Podemos usar la IP o el dominio del servidor a escanear.

Sintaxis / Ejemplo:
$ perl jasakomtool.pl -getinfo www.dominio.com
Daemon informations from common ports: 21,22,23,25,80,110 and 3306:

Daemon response (info) from port 21 (ftp daemon):
220 ProFTPD 1.3.1 Server (ProFTPD) [89.18.229.113]
_______________________________________________
Daemon response (info) from port 22 (ssh daemon):
SSH-2.0-OpenSSH_4.3
_______________________________________________
Daemon response (info) from port 25 (smtp daemon):
220 srv01.seidonet.com ESMTP
_______________________________________________
Daemon response (info) from port 80 (httpd):
Apache/2.2.3 (CentOS) Server at default Port 80

Important! You can see informations such as: web server version,ssl version,php version,perl version
_______________________________________________
Daemon response (info) from port 110 (pop3 server):
+OK Hello there. <30240.1246322027@localhost.localdomain>
_______________________________________________
Daemon response (info) from port 3306 (mysql daemon):
4
5.0.22FKZE)=7:^K,<*]w]NLt#OFN


Fichero: admin.txt
admin1.php
admin1.html
admin2.php
admin2.html
yonetim.php
yonetim.html
yonetici.php
yonetici.html
ccms/
ccms/login.php
ccms/index.php
maintenance/
webmaster/
adm/
configuration/
configure/
websvn/
admin/
admin/account.php
admin/account.html
admin/index.php
admin/index.html
admin/login.php
admin/login.html
admin/home.php
admin/controlpanel.html
admin/controlpanel.php
admin.php
admin.html
admin/cp.php
admin/cp.html
cp.php
cp.html
administrator/
administrator/index.html
administrator/index.php
administrator/login.html
administrator/login.php
administrator/account.html
administrator/account.php
administrator.php
administrator.html
login.php
login.html
modelsearch/login.php
moderator.php
moderator.html
moderator/login.php
moderator/login.html
moderator/admin.php
moderator/admin.html
moderator/
account.php
account.html
controlpanel/
controlpanel.php
controlpanel.html
admincontrol.php
admincontrol.html
adminpanel.php
adminpanel.html
admin1.asp
admin2.asp
yonetim.asp
yonetici.asp
admin/account.asp
admin/index.asp
admin/login.asp
admin/home.asp
admin/controlpanel.asp
admin.asp
admin/cp.asp
cp.asp
administrator/index.asp
administrator/login.asp
administrator/account.asp
administrator.asp
login.asp
modelsearch/login.asp
moderator.asp
moderator/login.asp
moderator/admin.asp
account.asp
controlpanel.asp
admincontrol.asp
adminpanel.asp
fileadmin/
fileadmin.php
fileadmin.asp
fileadmin.html
administration/
administration.php
administration.html
sysadmin.php
sysadmin.html
phpmyadmin/
myadmin/
sysadmin.asp
sysadmin/
ur-admin.asp
ur-admin.php
ur-admin.html
ur-admin/
Server.php
Server.html
Server.asp
Server/
wp-admin/
administr8.php
administr8.html
administr8/
administr8.asp
webadmin/
webadmin.php
webadmin.asp
webadmin.html
administratie/
admins/
admins.php
admins.asp
admins.html
administrivia/
Database_Administration/
WebAdmin/
useradmin/
sysadmins/
admin1/
system-administration/
administrators/
pgadmin/
directadmin/
staradmin/
ServerAdministrator/
SysAdmin/
administer/
LiveUser_Admin/
sys-admin/
typo3/
panel/
cpanel/
cPanel/
cpanel_file/
platz_login/
rcLogin/
blogindex/
formslogin/
autologin/
support_login/
meta_login/
manuallogin/
simpleLogin/
loginflat/
utility_login/
showlogin/
memlogin/
members/
login-redirect/
sub-login/
wp-login/
login1/
dir-login/
login_db/
xlogin/
smblogin/
customer_login/
UserLogin/
login-us/
acct_login/
admin_area/
bigadmin/
project-admins/
phppgadmin/
pureadmin/
sql-admin/
radmind/
openvpnadmin/
wizmysqladmin/
vadmind/
ezsqliteadmin/
hpwebjetadmin/
newsadmin/
adminpro/
Lotus_Domino_Admin/
bbadmin/
vmailadmin/
Indy_admin/
ccp14admin/
irc-macadmin/
banneradmin/
sshadmin/
phpldapadmin/
macadmin/
administratoraccounts/
admin4_account/
admin4_colon/
radmind-1/
Super-Admin/
AdminTools/
cmsadmin/
SysAdmin2/
globes_admin/
cadmins/
phpSQLiteAdmin/
navSiteAdmin/
server_admin_small/
logo_sysadmin/
server/
database_administration/
power_user/
system_administration/
ss_vms_admin_sm/


Fuente: http://www.busindre.com/