Pentesting PowerShell and Python
Pentesting PowerShell and Python
En el mundo globalizado actual, las empresas manejan una gran cantidad de información y
se enfrentan a nuevos riesgos para su seguridad. Los ciberdelincuentes buscan nuevas
maneras de infectar o acceder a sus sistemas con el objetivo de robar datos confidenciales o
hacer un uso ilícito de la información.
Caja negra: Si no dispone de información sobre los sistemas, en este caso, se simula lo que
haría un ciberdelincuente ajeno a la organización
1. Burp suite
Es un software que es utilizado para interpretar y manipular el tráfico web, además
puede mapear objetivos y escanear debilidades
2. NMAP
Este permite la ejecución de scripts personalizados que permitan la identificación de
informaciones específicas. Este opera realizando un escaneo de los objetivos, los
cuales pueden ser redes y hosts que se encuentren abiertos a internet o no
3. Metasploit
Es una herramienta con versión open-source, esta cuenta con un conjunto de
módulos para investigar y explorar debilidades en innumerables sistemas y
aplicaciones
4. Hydra
Es una herramienta que se utiliza para realizar ataques de fuerza bruta en un
determinado servicio.
Está basada en ataques de diccionario en modo online, ejecutados en hosts remotos
¿Qué es PowerShell?
Es una interfaz de línea de comandos que tiene la posibilidad de ejecutar scripts y que
facilita la configuración, administración y automatización de tareas multiplataformas,
además dispone de un lenguaje de scripting.
1.- Valida si la postura de seguridad corporativa es adecuada para hacer frente a las
amenazas actuales.
Cada año, los departamentos de seguridad informática revisan sus estrategias y
presupuestos para brindar el nivel de seguridad adecuado a la organización. Sin embargo,
las amenazas evolucionan constantemente. ¿Cómo saber si la estrategia definida, las
soluciones elegidas y los procesos implementados son adecuados? El test de penetración es
un camino.
Pentestin pondrá a prueba sus defensas en todos los aspectos: tecnología, procesos y
personas, y cuando se haga bien, utilizará técnicas de ataque avanzadas como lo harían los
crackers. Así, pone realmente a prueba la seguridad y descubre las brechas más ocultas.
2.- Brinda al CEO de la empresa la experiencia real de lidiar con una intrusión
4 – Los resultados del Pentesting ayudan a los desarrolladores a cometer menos errores
Si los desarrolladores pueden ver y comprender cómo un intruso externo irrumpió en un
sistema o parte de un sistema que desarrollaron, estarán más motivados para mejorar su
capacitación en seguridad informática para evitar errores similares en el futuro.
Los presupuestos de seguridad informática crecen año tras año. Defender el presupuesto de
seguridad es cada vez más difícil. A menudo, al analizar el panorama de amenazas, los
gerentes se dan cuenta de que necesitan invertir en otras áreas de seguridad informática,
pero convencer a la alta gerencia es un gran desafío.
Versiones
PowerShell 1.0
Se lanzó en noviembre de 2006 para Windows XP SP2, Windows Server 2003 SP1 y
Windows Vista. Es un componente opcional de Windows Server 2008.4
PowerShell 2.0
PowerShell 3.0
Está integrado con Windows 8 y con Windows Server 2012. Microsoft Tambien ha
puesto a disposición PowerShell 3.0 para Windows 7 con Service Pack 1, para
Windows Server 2008 con Service Pack 1 y para Windows Server 2008 R2 con Service
Pack 1.6
PowerShell 4.0
Está integrado con Windows 8.1 y con Windows Server 2012 R2. Microsoft también
ha hecho que PowerShell 4.0 esté disponible para Windows 7 SP1, Windows Server
2008 R2 SP1 y Windows Server 2012.8.
Se anunció por primera vez el 18 de agosto de 2016, cuando Microsoft dio a conocer
PowerShell Core y su decisión de hacer que el producto sea multiplataforma,
independiente de Windows, de código libre y abierto.
PowerShell 7
Es el producto de reemplazo para los productos PowerShell Core 6.x y para Windows
PowerShell 5.1, que es la última versión de Windows PowerShell soportada.14 Para
que PowerShell 7 sea un reemplazo viable para Windows PowerShell 5.1 debe tener
casi paridad con Windows PowerShell en términos de compatibilidad con los módulos
que se envían con Windows.
Módulos de PowerShell
Ventajas
Script seguro
Desventajas
Una de las posibles desventajas del uso de Windows PowerShell es que está basado en
objetos. Con la mayoría de los depósitos, que se basan en comandos basados en texto
para hacer el trabajo al escribir scripts. Si cambia a Windows PowerShell de algún otro
tipo de Shell, tendrá que acostumbrarse a una manera diferente de pensar sobre las
cosas. Esto puede ser un problema que necesita algún tiempo para conseguir más allá de
algunos usuarios.
Riesgos de seguridad
Otra desventaja potencial del uso de Windows PowerShell es que se puede crear un
potencial los riesgos de seguridad. Muchos profesionales de TI utilizan como una manera
de conectarse remotamente a otros ordenadores y servidores. Al participar en este proceso,
PowerShell puede dejar algunos huecos abiertos por infracciones de seguridad. Esto crea un
potencial de virus, malware y otros programas dañinos que se instalen en el servidor. Si
alguien que sabe de Windows PowerShell se involucra, podría causar problemas.
Web Servidor
Otro problema con Windows PowerShell es que se requiere que se ejecute un servidor Web
en el servidor cuando se utiliza la funcionalidad de control remoto. Esto ocupa espacio
adicional en el servidor. En muchos casos, las empresas no quieren tener más espacio y
designar más recursos a este en sus propios servidores. Si usted es un profesional que
trabaja para una empresa de TI, puede que tenga que obtener la aprobación de un superior
antes de que esto está permitido.
Este nos devuelve información de ayuda para comandos, cmdlests, funciones etc.
Get-Command
Este comando nos despliega una lista de todos los cmdlests, funciones etc.
Get-host
Este comando nos indica que versión de power shell está corriendo en nuestro sistema.
Get- history
Get-Process
Get-Location
Get-Childltem
Get-Content
Set-Location
Get-Ítem
Una de las tareas de soporte más comunes cuando falla una conexión o hay algún tipo
de interferencia, esto se debe a que los puertos permiten la comunicación con los
servicios y procesos para que todo funcione como se espera, Windows tiene miles de
puertos.
Este programa antes mencionado viene preinstalo en Windows, este permite hacer bypass
de virus. En el punto de vista de la seguridad es una herramienta poderosa por los diversos
tipos de herramientas que los desarrolladores han ido sacando.
Tomado en cuenta otro punto de vista se mencionan las fases de hacking ético o fases de
pesteting como son el reconocimiento activo el reconocimiento pasivo, análisis de
vulnerabilidades, explotación de vulnerabilidades y recolección de evidencias e informes y
el uso de escáner de puertos con PowerShell.
¿Qué es Python?
Scapy
Esta librería sirve para realizar diversos tipos de manipulaciones de paquetes, dando
posibilidad a realizar escaneos de red, descubrir los hosts que están circulando y falsificar o
decodificar información en una variedad de conexiones a través de puertos lógicos.
Requests
Es posible realizar solicitudes HTTP/HTTPS usando requests. Esta herramienta sirve para
realizar interacciones con sitios web de todo tipo. Esto es fundamental para el Pentesting,
ya que se requiere cierta conexión con servidores para verificar usuarios conectados o
vulnerabilidades que se puedan subsanar.
Beautiful Soup
Esta librería de Python que nos permite extraer información de contenido de sitios web ya
sea en formato HTML o XML, logrando de esta manera ver cada uno de los elementos de
un documento o página web, tal y como si lo estuviéramos haciendo con el Inspector del
Browser.
Python-nmap
Esta librería sirve para hacer escaneo de puertos en Linux y Nmap. Esta se ocupa para
descubrir equipos y servicios disponibles dentro de una red, logrando obtener una enorme
cantidad de información, como, por ejemplo, sistema operativo, versión del servicio
instalado y vulnerabilidad que puede presentar dicha versión.
Casi todos los usuarios y administradores de Linux han ejecutado un script .py. Python
también está disponible en código abierto en su forma binaria. El nivel de sus
características se incluye que es orientado a objetos. Una de sus ventajas a diferencia de los
demás lenguajes de programación es que la declaración de variables y argumentos no es
necesaria, por lo tanto, la programación es rápida.
PowerShell actúa como la interfaz central en la línea de comandos para todos los sistemas
basados en Windows. Esto se lanzó como una característica de Windows en Windows 8 y
se integró algunos otros productos, por ejemplo, Cloud Applications y Exchange Server
centrados en Office 365 y Azure. PowerShell es la línea de comando predeterminada
presente en el menú de encendido versiones más recientes como Windows 10.
PowerShell vs Python
Python es un lenguaje de programación de alto nivel interpretado, mientras que PowerShell
proporciona un entorno de script de Shell para Windows y es más adecuado si elige
automatizar tareas en la plataforma de Windows. Elegir entre estos depende del tipo de
entorno que esté utilizando, ya que con Python obtendrá un soporte atractivo para trabajar
en el sistema operativo Windows.