Your SlideShare is downloading. ×
Scripting para Pentesters v1.0
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Scripting para Pentesters v1.0

2,492
views

Published on

Published in: Technology

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,492
On Slideshare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
1
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. www.Open-Sec.com
  • 2. Scripting Para Pentesters : Tercer Grado de PrimariaWalter Cuestas AgramonteC)PTE, C|EH, GPENwcuestas@open-sec.comhttp://ehopen-sec.blogspot.comhttp://www.open-sec.com www.Open-Sec.com
  • 3. Quiénes somos ?•Un Equipo de Consultores con experiencia enorganizaciones corporativas, estatales y privadas en : ● Ethical Hacking ● Análisis de Incidentes de Seguridad ● Computación Forense ● Cobertura : Perú, Ecuador, Panamá, Estados Unidos. www.Open-Sec.com
  • 4. Los consultores... www.Open-Sec.com
  • 5. Principales Clientes de Open-Sec www.Open-Sec.com
  • 6. La educación “escolar”• Pre-escolar : networking, base de datos, sistemas operativos• Primaria :• 1-Uso de Google, servicios DNS, nmap, Nessus• 2-Uso de herramientas especializadas en vulnerabilidades web• 3-Desarrollo de scripts• 4-Hacking de Wi-Fi y VoIP• 5-Corrección y personalización de herramientas de hacking• 6-Desarrollo de exploits• Secundaria :• 1-Desarrollo de exploits evadiendo protecciones• 2-Desarrollo de exploits multiplataforma• 3-Ingeniería reversa para desarrollar exploits• 4-Desarrollo de 0days• 5-Ejecución de ataques APT www.Open-Sec.com
  • 7. Shell ScriptingQué es un shell ? Qué es un script ? www.Open-Sec.com
  • 8. Empecemos con algo simple enla LAN : ping y direcciones MAC #|/bin/bash She bang fping -g $1 $2 > fping_lista.txt 2>/dev/null Parámetros grep "is alive" fping_lista.txt > activos.txt echo "Lista de Direcciones IP Activas" echo "-------------------------------" for host in `cat activos.txt | cut -d " " -f 1` do echo $host Loop “for” done arp -an | grep ether www.Open-Sec.com
  • 9. Empecemos con algo simple enla LAN : ping y direcciones MAC fping -g $1 $2 > fping_lista.txt 2>/dev/null Salida y Error Estándar : – 0 Entrada – 1 Salida – 2 Error Parámetros : – $0 el programa mismo – Los demás, del $1 en adelante www.Open-Sec.com
  • 10. Empecemos con algo simple enla LAN : ping y direcciones MAC for host in `cat activos.txt | cut -d " " -f 1` • For basado en una lista • La lista se construye a partir de las entradas de un archivo, en este caso... • Fijarse en las tíldes invertidas ` – Se ejecuta todo lo que esta dentro de las tíldes invertidas – Eso devuelve la lista que requiere el For www.Open-Sec.com
  • 11. Pasemos a MS Windows• Acabamos de penetrar un host MS Windows y veo que puedo alcanzar otros hosts de la red – Quiero escanear puertos ? • Instalo nmap ? • Puedo usar copy con ? • Puedo mandarlo con msf ! – En realidad es acerca de scripting, así que veamos uno que escanea puertos www.Open-Sec.com
  • 12. Loop For + ftp = port_ scanner.bat @echo off • for /L %%p in (20,1,82) do echo Chequeando Puerto %%p: >> puertos.txt & echo open 192.168.1.171 %%p > comftp.txt & echo quit >> comftp.txt & echo quit >> comftp.txt & ftp -s:comftp.txt 2>> puertos.txt • Wtf ?! www.Open-Sec.com
  • 13. Loop For + ftp = port_ scanner.bat for /L %%p in (20,1,82) do .... • Loop basado en contador (/L) • (inicio, incremento, fin) • %%p ira tomando los valores : el contador www.Open-Sec.com
  • 14. Loop For + ftp = port_ scanner.bat echo Chequeando Puerto %%p: >> puertos.txt & echo open 192.168.1.171 %%p > comftp.txt & echo quit >> comftp.txt & echo quit >> comftp.txt & ftp -s:comftp.txt 2>> puertos.txt • & ejecuta comando tras comando • En puertos.txt estará el reporte • En comftp.txt estarán las instrucciones que usará ftp para INTENTAR abrir una conexión • (doble quit para prevenir servicios que reciben el comando, lo encuentran válido o errado y se quedan esperando otro comando) open 192.168.1.171 28 comftp.txt quit quit www.Open-Sec.com
  • 15. Un poco de shell potente : Powershell• Viene en MS Windows 7 y MS Windows 2008 y posteriores...• Se requiere por lo menos MS Windows XP SP2• Set-ExecutionPolicy RemoteSigned – Por default en Restricted• Un ejemplo :$whoami = $env:usernamewrite-output "El usuario con el que esta ejecutando es $whoami"$processes = Get-Processswitch -regex ($processes){"winword" {write-output "Microsoft Word corriendo"}"explorer" {write-output "Explorer corriendo"}"firefox" {write-output "Firefox corriendo"}} www.Open-Sec.com
  • 16. Un poco de Python...en la búsqueda del robots.txt• Primero el módulo que hace la chamba : robotparser• Luego, la estructura que devuelve : allowance pathRule line Allow=1 /...../...../..... robot.entries Disallow=0 www.Open-Sec.com
  • 17. Un poco de Python...en la búsqueda del robots.txt#!/usr/bin/pythonimport robotparserwebs = [www.google.com,www.yahoo.com]def getDisallow(web): rutas = [] robot = robotparser.RobotFileParser() robot.set_url("http://"+web+"/robots.txt") robot.read() for cadaweb in robot.entries: for cadalinea in cadaweb.rulelines: not cadalinea.allowance and rutas.append(cadalinea.path) return set(rutas)for web in webs: print "Las rutas que no quieren que veas de " + web print "t" + "nt".join(getDisallow(web)) www.Open-Sec.com
  • 18. Servidores y Clientes : Usemos Rubyrequire socket # Invoca a la libreria sockethostname = localhostport = 2000s = TCPSocket.open(hostname, port) #Conexion a servidorwhile line = s.gets # Lee del socket puts line.chomp # Imprime lo leido eliminando CR+LFends.close # Cierra el socket cliente require socket # Invoca a la librería socket server = TCPServer.open(2000) # Abre un socket en el puerto 2000 loop { # El servidor correra eternamente client = server.accept # Espera por conexion cliente client.puts(Time.now.ctime) # Envia la hora al cliente client.puts "Closing the connection. Bye!" client.close # Desconecta al cliente } www.Open-Sec.com
  • 19. Más Ruby : Pidamos por HTTPrequire net/httpdef obtenerHeader(web,puerto = nil) puerto = puerto || 80 Net::HTTP .start(web.to_s,puerto) do |http| handler = http.head(/) return [handler[server].to_s ,handler[x-powered-by].to_s ,handler[last- modified].to_s] end return [nil,nil]endif ARGV.size <= 0 || ARGV.size > 2 print "Uso: #{$0} Web [Puerto]n" exitendserver, modulos, ultima_mod = obtenerHeader(ARGV[0],ARGV[1])print "Software de Web : #{server}nModulos Enlazados : #{modulos}nUltima Modificacion : #{ultima_mod}n" www.Open-Sec.com
  • 20. Mile2 Course Road Map www.Open-Sec.com
  • 21. BENEFICIOS DEL CURSO Aquellos que finalicen satisfactoriamente el curso de Certified ) Penetration Testing Engineer habrán obtenido el conocimiento de la seguridad en el mundo real que les permitirá reconocer vulnerabilidades, explotar las debilidades en los sistemas y ayudar a protegerse de las amenazas. Los graduados del curso habrán aprendido el arte del Ethical Hacking, pero, con el nivel profesional (Penetration Testing). Duración: 5 días Pre requisitos:Examen de Certificación : Un mínimo de 12 meses de experiencia en redesCPTE – Certified Pen Testing Engineer™ Conocimientos técnicos de TCP/IPCEH – Certified Ethical Hacker™ Conocimiento de software de MicrosoftCPEH – Certified Professional Hacker™ Network+, Microsoft, Security+ Conocimiento básico de Linux es esencial www.Open-Sec.com
  • 22. RESUMEN DEL CURSOEl curso de CPTEngineer presentala información basado en 5Elementos Clave del Pen Testing :Obtención de Información,Escaneo, Enumeración,Explotación y Reporte www.Open-Sec.com
  • 23. Mile2 Kit www.Open-Sec.com
  • 24. Exámenes Mile21.Descripción del examen a. Son 100 preguntas extraídas de un banco grande de preguntas y respuestas que son seleccionadas en forma aleatoria, cada examen es diferente. b. 2 horas de duración c. Se requiere un 75% de aprobación para alcanzar el nivel de certificación. d. $250 US por examen2.Precio para retomar el examen $150 US3.Los estudiantes pueden comprar los exámenes através de la tienda de mile2.com4.Los exámenes se toman en línea después de claseso cuando lo solicite el estudiante.5.Los exámenes en línea también están disponiblespara:C)PTE - C)ISSO - C)PTC - C)DFE - C)SWAE - C)SLO -C)IHE www.Open-Sec.com
  • 25. Preguntas ?Open-Sec = Ethical Hacking www.Open-Sec.com