0% encontró este documento útil (0 votos)
182 vistas14 páginas

Pentesting PowerShell and Python

El documento habla sobre pentesting o pruebas de penetración, que implican simular ataques a un sistema para detectar vulnerabilidades. Explica que existen tres tipos de pruebas (caja blanca, gris y negra) y menciona algunas herramientas comunes como Burp Suite, Nmap, Metasploit y Hydra. También describe brevemente a PowerShell, su historia y versiones, así como sus ventajas y desventajas para la automatización y administración de sistemas.

Cargado por

josue gomez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
182 vistas14 páginas

Pentesting PowerShell and Python

El documento habla sobre pentesting o pruebas de penetración, que implican simular ataques a un sistema para detectar vulnerabilidades. Explica que existen tres tipos de pruebas (caja blanca, gris y negra) y menciona algunas herramientas comunes como Burp Suite, Nmap, Metasploit y Hydra. También describe brevemente a PowerShell, su historia y versiones, así como sus ventajas y desventajas para la automatización y administración de sistemas.

Cargado por

josue gomez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 14

¿Qué es pentesting?

Es un conjunto de ataques simulados dirigidos a un sistema informático con la finalidad de


detectar posibles vulnerabilidades para que sean corregidas y no pueden ser explotadas, es
decir se simulan ataques tal y como los llevaría a cabo un ciberdelincuente, de esta manera
se puede determinar si el sistema informático es vulnerable o no, también evalúa si las
defensas con las que cuenta son suficientes y eficaces.

¿Para qué sirven los test de penetración?

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.

El objetivo del pentesting es detectar las vulnerabilidades de un sistema para que la


empresa pueda comprender los peligros a los que se enfrenta en su día a día. Estos ataques
organizados sirven para saber cuáles son los fallos de seguridad de la empresa y permiten
poner en marcha acciones para estar prevenido antes estos riesgos.

Tipos de pruebas de penetración

Caja blanca: Si disponen de toda la información sobre los sistemas, aplicaciones e


infraestructura, pudiendo simular que el ataque se realiza por alguien que conoce la
empresa y sus sistemas

Caja gris: Si dispone de poca 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

Herramientas de pentest más usadas por el mercado

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.

Para que sirve

Sirve para facilitar a los administradores de sistemas de tareas la automatización,


administración y configuración de sistemas Windows. También sirve para ejecutar
programas de Microsoft como SQL server, Exchange o IIS.

El test de penetración implica un ataque controlado a los protocolos de defensa de un


sistema para determinar sus vulnerabilidades y establecer correcciones preventivas. Aquí 5
de sus beneficios el ejecutarlo:

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

Se puede realizar una prueba de penetración sin informar al personal de seguridad


informática. Esto le permite a la compañía probar realmente si los controles implementados
brindan protección y, en caso de filtración, comprobar si los protocolos son los más
adecuados y si la respuesta ante incidentes funciona correctamente.

3.- Da retroalimentación sobre las rutas con mayor riesgo de la organización

El Pentesting, intentará ingresar a su sistema por cualquier medio posible, reproduciendo


las acciones de un cracker. Esto podría revelar muchas de las vulnerabilidades clave que su
equipo de seguridad informática nunca consideró. Los informes generados por las pruebas
de penetración dejan pautas claras sobre la priorización de cualquier inversión futura en
seguridad informática, algunas de las cuales quizá deban hacerse de inmediato.

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.

5 – Ayuda a obtener más presupuesto

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

Windows PowerShell ISE v2.0 en Windows 7, un entorno de desarrollo integrado para


los scripts de PowerShell.

 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.

 PowerShell Core 6.0

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 Core 6.1

Las nuevas características de PowerShell Core 6.1 incluyen:12.

 PowerShell Core 6.2

Este lanzamiento está enfocado principalmente en mejoras de rendimiento, corrección


de errores, y mejoras menores de cmdlet/idioma que mejoran la calidad de vida de los
usuarios

 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

Es un conjunto de funcionalidades de Windows PowerShell relacionados, agrupados juntos


como una unidad conveniente.
Son un directorio que contiene un conjunto de archivos scripts, ensamblajes y recursos
relacionados, como un módulo, se puede hacer referencia, cargar, habilitar persistencia, y
compartir su código mucho más fácil que haciéndolo de otra manera.

Ventajas y desventajas del uso de PowerShell

Ventajas

 Trabajo en segundo plano

Powershell ayuda a manejar el script o pipeline de forma asincrónica. Se pueden ejecutar


trabajos en la máquina local o en varias máquinas operadas de forma remota.

 Script seguro

Ofrece soporte a scripts firmados con base en certificados y, de forma predeterminada,


su funcionamiento es muy estricto.

 Diferentes tipos de comandos:

Algunos de ellos te ayudan a escuchar, reenviar y actuar en eventos de gestión y


sistema.

 Transferencia de archivos de red

Ofrece soporte nativo para la transferencia de archivos priorizada, asincrónica y


acelerada entre máquinas, utilizando la tecnología Background Intelligent Transfer
Service (BITS).

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.

Considerando que, aunque Windows PowerShell hace tiene algunos inconvenientes


potenciales, también tiene algunas ventajas. Por ejemplo, ya que es desarrollado por
Microsoft, que se está integrando cada vez más en los productos y servicios de Microsoft.
Windows PowerShell también es versátil y fácil de administrar una vez que aprenda los
conceptos básicos del lenguaje de scripting. También le da la capacidad de ejecutar
comandos específicos que están diseñados para funcionar sólo en redes locales si está
utilizando la función de conexión remota.

Comandos utilizados en PowerShell

Algunos comandos básicos de power Shell:


 Get-Help

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

Este comando nos devuelve el historial de comandos que hemos utilizado.

 Get-Process

Este sirve para ver la lista de procesos de nuestra máquina

 Get-Location

Estenos permite ver en qué ruta estamos ubicados

 Get-Childltem

Sirve para ver el contenido de un directorio

 Get-Content

Este comando sirve para ver contenidos de un fichero

 Set-Location

Este comando nos ayuda a cambiar de directorios

 Get-Ítem

Este comando nos permite conocer la información de un elemento en particular en


cualquier ubicación, y así entre muchos otros comandos más que posee esta poderosa
herramienta.

Formas de ejecutar power shell


1- Desde el menú ejecutar.
2- Invocándolo desde el Cmd.
3- Ejecutando Código etc.

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.

Ciclo pentest con PowerShell

Pentesting con PowerShell

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?

Es un lenguaje de programación de alto nivel que se utiliza para desarrollar aplicaciones,


además es un lenguaje multiplataforma de código abierto esto permite desarrollar softwares
sin límites. Además, es posibles trabajar con inteligencia artificial, big data, machine
learning y data science

Pentesting con Python

Librerías de Python para Pentesting

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.

Diferencias clave entre PowerShell y Python

Powershell se puede utilizar en CentOS y Ubuntu, Mac OS X y RedHat Linux. Se pueden


realizar las mismas acciones utilizando Python o PowerShell. Algunas funciones de
Powershell solo sirven en Windows. PowerShell no es el único lenguaje de secuencias de
comandos también existe Python que está agarrando terreno en esta área.

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.

El código escrito en Python es altamente legible y eficiente, por lo tanto, es reciclable, a


diferencia de muchos otros idiomas de programación que utiliza corchetes y punto y coma.

PowerShell y su característica relacionada con la orientación a objetos también es común.


Es posible conectar comandos, de tal manera que la salida de uno pase a ser la entrada del
otro, esto se denomina tubería. Su uso orientado a objetos abre una gran cantidad de
posibilidades. Por ejemplo, cmdlet Get-Service obtiene objetos que representan los
servicios en un equipo local o en un equipo remoto, incluidos los servicios en ejecución y
los detenidos. Facilita la forma en que los profesionales de TI automatizan la tarea en su
sistema Windows.

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.

Comparación entre PowerShell y Python

También podría gustarte