Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Scripting para Pentesters v1.0

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Nächste SlideShare
Mile2 top10latam
Mile2 top10latam
Wird geladen in …3
×

Hier ansehen

1 von 25 Anzeige

Weitere Verwandte Inhalte

Ähnlich wie Scripting para Pentesters v1.0 (20)

Anzeige

Aktuellste (20)

Scripting para Pentesters v1.0

  1. 1. www.Open-Sec.com
  2. 2. Scripting Para Pentesters : Tercer Grado de Primaria Walter Cuestas Agramonte C)PTE, C|EH, GPEN wcuestas@open-sec.com http://ehopen-sec.blogspot.com http://www.open-sec.com www.Open-Sec.com
  3. 3. Quiénes somos ? •Un Equipo de Consultores con experiencia en organizaciones 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. 4. Los consultores... www.Open-Sec.com
  5. 5. Principales Clientes de Open-Sec www.Open-Sec.com
  6. 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. 7. Shell Scripting Qué es un shell ? Qué es un script ? www.Open-Sec.com
  8. 8. Empecemos con algo simple en la 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. 9. Empecemos con algo simple en la 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. 10. Empecemos con algo simple en la 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. 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. 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. 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. 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. 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:username write-output "El usuario con el que esta ejecutando es $whoami" $processes = Get-Process switch -regex ($processes){ "winword" {write-output "Microsoft Word corriendo"} "explorer" {write-output "Explorer corriendo"} "firefox" {write-output "Firefox corriendo"} } www.Open-Sec.com
  16. 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 path Rule line Allow=1 /...../...../..... robot.entries Disallow=0 www.Open-Sec.com
  17. 17. Un poco de Python...en la búsqueda del robots.txt #!/usr/bin/python import robotparser webs = ['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. 18. Servidores y Clientes : Usemos Ruby require 'socket' # Invoca a la libreria socket hostname = 'localhost' port = 2000 s = TCPSocket.open(hostname, port) #Conexion a servidor while line = s.gets # Lee del socket puts line.chomp # Imprime lo leido eliminando CR+LF end s.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. 19. Más Ruby : Pidamos por HTTP require 'net/http' def 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] end if ARGV.size <= 0 || ARGV.size > 2 print "Uso: #{$0} Web [Puerto]n" exit end server, 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. 20. Mile2 Course Road Map www.Open-Sec.com
  21. 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 redes CPTE – Certified Pen Testing Engineer™ Conocimientos técnicos de TCP/IP CEH – Certified Ethical Hacker™ Conocimiento de software de Microsoft CPEH – Certified Professional Hacker™ Network+, Microsoft, Security+ Conocimiento básico de Linux es esencial www.Open-Sec.com
  22. 22. RESUMEN DEL CURSO El curso de CPTEngineer presenta la información basado en 5 Elementos Clave del Pen Testing : Obtención de Información, Escaneo, Enumeración, Explotación y Reporte www.Open-Sec.com
  23. 23. Mile2 Kit www.Open-Sec.com
  24. 24. Exámenes Mile2 1.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 examen 2.Precio para retomar el examen $150 US 3.Los estudiantes pueden comprar los exámenes a través de la tienda de mile2.com 4.Los exámenes se toman en línea después de clases o cuando lo solicite el estudiante. 5.Los exámenes en línea también están disponibles para: C)PTE - C)ISSO - C)PTC - C)DFE - C)SWAE - C)SLO - C)IHE www.Open-Sec.com
  25. 25. Preguntas ? Open-Sec = Ethical Hacking www.Open-Sec.com

×