Herramientas de Scripts en Python
Herramientas de Scripts en Python
Herramientas de Scripts en Python
TABLA DE CONTENIDOS
MÓDULO II ................................................................................................................................................. 3
9. BIBLIOGRFIA ....................................................................................................................... 15
2
MÓDULO II
2. METODOLOGIA DE PENTESTING
Primero debemos de recordar que el pentesting es una prueba de seguri dad que
simula un ciberataque en un entorno controlado, teniendo como objetivo identificar
las brechas de seguridad, para así las empresas puedan remediar estas
vulnerabilidades encontradas.
Conceptos:
Análisis de Vulnerabilidades: Identificación de vulnerabilidades.
Ethical Hacking: Explotar las vulnerabilidades.
Pentesting: Obtener toda la información después de explotar la vulnerabilidad
para: elevar privilegios, lateralizar, pivitong y en general ganar acceso a OTROS
SISTEMAS.
Red/Blue Team: Ejercicios "inopinados" y lo más real posible.
Red Team: Es el equipo que ataca la infraestructura.
Blue Team: Es el equipo que defiende
Tipos De Prueba
Caja negra: Consisten en no tener conocimiento de la infraestructura en un
cliente
3
Caja blanca: Consiste en que previamente la entidad nos brindó credenciales,
código fuente, arquitectura y otros
Caja gris: Se dispone de cierto tipo de información como: usuario, SS ID.
3. METODOLOGIAS DE PENTESTING
• Seguridad de la información .
• Seguridad de los procesos .
• Seguridad en las tecnologías de internet .
• Seguridad en las comunicaciones .
• Seguridades inalámbricas.
• Seguridad física.
4
A2: Fallos criptográficos: Podemos encontrar diversas vertientes, debilidades en
cifrados de datos fácilmente calculables por parte de los atacantes, errores en
cifrado que dejan en limpio la lectura de los datos y finalmente, la exposición de
los datos dadas determinadas operaciones de tránsito entre distintas entidades o
personas.
A3: Inyección: Ataques a Bases de Datos a través de inclusión de un comando o
consultas ejecutadas en el intérprete, como resultado obtenemos la extracción de
resultados y exposición de datos que no deberían ser públicos ni visibles al
exterior.
A4: Diseño inseguro: Diseños de arquitec turas e infraestructuras inadecuadas a
nivel de hardware, posible generación de túneles directos a las redes internas.
A5: Desconfiguración de la seguridad: la no correcta configuración de políticas
de permisos conlleva la exposición de ventanas y registro s de información al
exterior.
A6: Componentes Vulnerables y Obsoletos: es recomendable conocer si hay
actualizaciones de nuestros dispositivos electrónicos para solventar posibles
brechas genéricas que pueden ser fácilmente corregidas si se mantiene una po lítica
de actualizaciones de software y firmware al día.
A7: Fallos de identificación y autenticación: dentro de esta categoría que está
relacionada directamente con criptografía A2, podemos incluir ataques
automatizados de fuerza bruta por diccionario, ex posición de contraseñas por su
debilidad morfológica y fallos por no implementar factores de doble autenticación.
A8: Fallos de integridad de Software y Datos: incluimos dentro de estos fallos,
aplicaciones o páginas web que no utilizan certificados oficia les o bien no han sido
aprobadas por empresas certificadoras oficiales, se debe establecer una cadena
de integridad del producto que permita desde la primera ejecución de una
aplicación o código la imposibilidad de ejecución de malware o scripts en segundo
plano.
A9: Fallos en el registro y supervisión de la seguridad: escalamos dentro de
esta categoría la no detección mediante políticas y herramientas preventivas a nivel
interno que permitan monitorizar vulnerabilidades dentro de una organización o
empresa.
A10: Server-Side Request Forgey: estas amenazas son factibles debido a la no
utilización de protocolos HTTPS, DNS y URLS no seguras (incluyendo URLS
acortadas), su mitigación es posible desde la capa de red mediante políticas
correctas en el firewall.
5
Propone cinco fases para la realización de un completo Test de penetración
• Fase I Planeamiento
• Fase II Evaluación
• Fase III Tratamiento
• Fase IV Acreditación
• Fase V Mantenimiento
Metodología ec-council
Es una metodología de prueba de seguridad desarrollada por el International
Council of Electronic Commerce Consultants (EC -Council)
• Reconnaissance
• Scanning
• Gaining Access
• Maintaing Access
• Clearing Tracks
Durante todo el proceso de pentesting se usan las siguientes herramientas:
• Nmap.
• Nessus.
• Metasploit.
• Burp suite.
• Hydra.
• John the Ripper.
• NetCat.
6
Fig 2.2 Funcionalidades de scapy
APLICACIÓN
TRANSPORTE
INTERNET
ACCESO A LA RED
Donde:
Acceso a la red: Es responsable de la colocación de paquetes TCP/IP en la red y
de la recepción de paquetes TCP/IP de fuera la red
Internet: Es responsable de las funciones de direccionamiento, empaquetado y
enrutamiento
Transporte: Es responsable de proporcionar a la cap a de aplicación, servicios de
sesión y de comunicación de datagramas
Aplicación: La capa de aplicación proporciona a las aplicaciones la capacidad de
acceder a los servicios de las demás capas y define los protocolos que utilizan las
aplicaciones para intercambiar datos
7
Los paquetes ip tienes los siguientes campos:
Uso de scapy
pkt = Ether()/IP()/TCP()
8
Creando un ICMP (ping)
sudo scapy
pkt= IP(dst="10.10.10.2")/ICMP()
pkt
pkt.show()
send(pkt)
9
Se puede hacer capturas usando un analizador de protocolos, interceptando y viendo el
paquete generado por el scapy.
##Script en python:
from scapy.all import *
pkt=IP(dst="10.10.10.2")/ICMP()
send(pkt)
10
5. IMPACKET: ELABORAR Y DECODIFICAR PAQUETE
las contraseñas están hasheadas , por lo que podríamos usar herramientas como
hashcat o herramientas online como: https://www.onlinehashcrack.com/
11
Cesar FUNCION FG12GT1U
HASH HASH
WFuzz puede ser usado para buscar contenido oculto, como archivos y directorios
dentro de un servidor WEB.
Uso de WFUZZ
Para poder ver la ayuda podemos usar el comando
wfuzz –help
12
wfuzz -w wordlist/general/common.txt --hc 404 http://testphp.vulnweb.com/FUZZ
AES
Incluye tres bloques de cifrado
• AES-128
• AES-192
• AES-256
Metodos HTTP
13
POST: El método POST se utiliza para enviar una entidad a un recurso en
específico, causando a menudo un cambio en el estado o efectos secundarios en
el servidor.
import requests
api_url = "https://jsonplaceholder.typicode.com/todos/1"
response = requests.get(api_url)
response.json()
import requests
from bs4 import BeautifulSoup
r = requests.get('http://mipagina.pe')
soup = BeautifulSoup(r.text, 'lxml')
14
9. BIBLIOGRFIA
https://www.networkacademy.io/ccna/ipv6/ipv4-vs-ipv6
https://owasp.org/www-project-top-ten/
https://www.isecom.org/OSSTMM.3.pdf
https://scapy.net/
https://github.com/secdev/scapy
https://scapy.readthedocs.io/en/latest/introduction.html#about-scapy
https://github.com/xmendez/wfuzz
https://pypi.org/project/pycrypto/
15
16