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/
Fuck off.
ResponderEliminarThis is awesome.
This page rocks.
Thanks dude.
Thank you for comment =D
ResponderEliminarhi
ResponderEliminar