<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>PowerShell on Adrián Lois</title><link>https://adrianlois.com/tags/powershell/</link><description>Recent content in PowerShell on Adrián Lois</description><generator>Hugo</generator><language>es</language><lastBuildDate>Mon, 05 Aug 2024 20:05:00 +0000</lastBuildDate><atom:link href="https://adrianlois.com/tags/powershell/index.xml" rel="self" type="application/rss+xml"/><item><title>Análisis y detección de Hoaxshell: ¿una shell indetectable?</title><link>https://adrianlois.com/posts/analisis-deteccion-hoaxshell-shell-indetectable/</link><pubDate>Wed, 31 Aug 2022 08:08:00 +0000</pubDate><guid>https://adrianlois.com/posts/analisis-deteccion-hoaxshell-shell-indetectable/</guid><description>&lt;p&gt;&lt;a href="https://github.com/t3l3machus/hoaxshell" target="_blank" rel="noopener"&gt;Hoaxshell&lt;/a&gt; proporciona de forma client-side una shell inversa que por el momento Microsoft Defender y posiblemente otros motores de AVs no están detectando ya que se basa únicamente en el tráfico http y https, según nos comenta su desarrollador. Aunque más adelante veremos como esto puede ser detectado a nivel de eventos de Windows y no por eventos producidos en la red.&lt;/p&gt;
&lt;h2 id="hoaxshell-obteniendo-una-shell-remota"&gt;
 Hoaxshell: obteniendo una shell remota
 &lt;a class="heading-link" href="#hoaxshell-obteniendo-una-shell-remota"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Nos descargamos el repositorio e instalamos el requirements.txt de python.&lt;/p&gt;</description></item><item><title>Firmar scripts PowerShell [Parte 2 de 2]: hardening con CA ADCS y despliegue por GPO</title><link>https://adrianlois.com/posts/firmar-scripts-powershell-parte-2-hardening-ca-adcs-gpo/</link><pubDate>Thu, 25 Mar 2021 19:02:00 +0000</pubDate><guid>https://adrianlois.com/posts/firmar-scripts-powershell-parte-2-hardening-ca-adcs-gpo/</guid><description>&lt;h3 id="firmar-scripts-powershell"&gt;
 Firmar scripts PowerShell
 &lt;a class="heading-link" href="#firmar-scripts-powershell"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.zonasystem.com/2021/02/firmar-scripts-powershell.html" target="_blank" rel="noopener"&gt;[Parte 1 de 2]: Hardening en la política de ejecución&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.zonasystem.com/2021/03/firmar-scripts-powershell-entidad-certificacion-ca-despliegue-certificado-gpo-integridad-firma.html" target="_blank" rel="noopener"&gt;[Parte 2 de 2]: Entidad de certificación CA (ADCS), despliegue de certificado vía GPO e integridad de firma&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Continuando con el artículo sobre cómo &lt;a href="https://www.zonasystem.com/2021/02/firmar-scripts-powershell.html" target="_blank" rel="noopener"&gt;firmar scripts PowerShell&lt;/a&gt; estableciendo una política de ejecución &lt;em&gt;AllSigned&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;En este post comentaré cómo hacer uso de las plantillas de certificados para el propósito de &amp;ldquo;Firma de código&amp;rdquo; emitidas por una Entidad de certificación CA implementada en un entorno de dominio haciendo uso del servicio &lt;a href="https://docs.microsoft.com/es-es/windows-server/networking/core-network-guide/cncg/server-certs/install-the-certification-authority" target="_blank" rel="noopener"&gt;ADCS&lt;/a&gt; &lt;em&gt;(Active Directory Certificate Services)&lt;/em&gt;, desplegando el certificado vía GPO y finalmente realizar una comprobación de integridad del script PowerShell firmado.&lt;/p&gt;</description></item><item><title>Firmar scripts PowerShell [Parte 1 de 2]: hardening de ExecutionPolicy</title><link>https://adrianlois.com/posts/firmar-scripts-powershell-1-hardening-executionpolicy/</link><pubDate>Tue, 09 Feb 2021 16:49:00 +0000</pubDate><guid>https://adrianlois.com/posts/firmar-scripts-powershell-1-hardening-executionpolicy/</guid><description>&lt;h3 id="firmar-scripts-powershell"&gt;
 Firmar scripts PowerShell
 &lt;a class="heading-link" href="#firmar-scripts-powershell"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.zonasystem.com/2021/02/firmar-scripts-powershell.html" target="_blank" rel="noopener"&gt;[Parte 1 de 2]: Hardening en la política de ejecución&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.zonasystem.com/2021/03/firmar-scripts-powershell-entidad-certificacion-ca-despliegue-certificado-gpo-integridad-firma.html" target="_blank" rel="noopener"&gt;[Parte 2 de 2]: Entidad de certificación CA (ADCS), despliegue de certificado vía GPO e integridad de firma&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Por motivos de seguridad Windows PowerShell establece unas políticas de ejecución de scripts. Con el fin de evitar posibles ejecuciones de scripts no deseadas. Para poder ejecutar scripts en PowerShell sin problemas, se tendrá que cambiar la política de ejecución (ExecutionPolicy). Por defecto no están definidas y vienen deshabilitadas (Restricted) para todos los scopes.&lt;/p&gt;</description></item><item><title>Fingerprinting con PowerShell + exfiltración a FTP (Vídeo PoC)</title><link>https://adrianlois.com/posts/fingerprinting-powershell-exfiltracion-ftp-poc/</link><pubDate>Fri, 08 May 2020 09:51:00 +0000</pubDate><guid>https://adrianlois.com/posts/fingerprinting-powershell-exfiltracion-ftp-poc/</guid><description>&lt;p&gt;En un pentesting interno a sistemas, después de la fase de enumeración y poder comprometer una máquina Windows, es fundamental intentar recopilar la máxima información posible sobre dicha máquina, lo que se conoce como la fase de &lt;strong&gt;fingerprinting&lt;/strong&gt; dentro de una post-explotación.&lt;/p&gt;
&lt;p&gt;El uso de Powershell nos ayuda principalmente en las fases de post-explotación y fingerprinting para la recolección de información del sistema, usuarios y grupos locales, parches instalados, procesos en ejecución, servicios activos, etc.&lt;/p&gt;</description></item><item><title>Auditar inicios de sesión erróneos (ID 4625) y notificar vía email</title><link>https://adrianlois.com/posts/auditar-inicios-sesion-erroneos-id-4625-email/</link><pubDate>Sat, 18 Jan 2020 09:30:00 +0000</pubDate><guid>https://adrianlois.com/posts/auditar-inicios-sesion-erroneos-id-4625-email/</guid><description>&lt;p&gt;Una forma de auditar los errores de accesos de inicio de sesión o login a un sistema Windows ya sean accesos físicos, en remoto mediante RDP, recursos compartidos CIFS o llamadas a procedimientos remotos RPC como pueden ser el acceso a consolas msc de equipos remotos. Se considerarán inicios de sesión en una máquina Windows.&lt;/p&gt;
&lt;p&gt;Este artículo se centrará en la auditoría de todos los accesos erróneos de login a un sistema pero en especial irá enfocado a los intentos de inicios de sesión RDP desde equipos remotos y la notificación de este evento vía un mensaje de correo electrónico de forma automática.&lt;/p&gt;</description></item><item><title>Backups locales a Amazon S3 con AWSCLI (PowerShell y Bash)</title><link>https://adrianlois.com/posts/backups-amazon-s3-awscli-powershell-bash/</link><pubDate>Sat, 28 Sep 2019 10:35:00 +0000</pubDate><guid>https://adrianlois.com/posts/backups-amazon-s3-awscli-powershell-bash/</guid><description>&lt;p&gt;Hace tiempo que vengo usando este método de realizar mis backups personales, aunque siendo correctos, por definición no se trata realmente del concepto de &amp;ldquo;Backups&amp;rdquo; sino de un sistema de sincronización.&lt;/p&gt;
&lt;p&gt;Si usando el mismo método almacenara copias durante un periodo de tiempo determinado con una autoeliminación de los backups más viejos, es decir una &lt;em&gt;política de retención&lt;/em&gt; donde haya la posibilidad de disponer de puntos de restauración dentro de las fechas establecidas en la política de retención, así como la posibilidad de almacenar un histórico de copias en frío en fechas más viejas.&lt;/p&gt;</description></item><item><title>Cifrar passwords con PowerShell</title><link>https://adrianlois.com/posts/cifrar-passwords-con-powershell/</link><pubDate>Fri, 18 Jan 2019 19:30:00 +0000</pubDate><guid>https://adrianlois.com/posts/cifrar-passwords-con-powershell/</guid><description>&lt;p&gt;Con PowerShell podemos generar o almacenar &lt;strong&gt;contraseñas simétricas, secretos (tipo API Key o Access Token) o simplemente cadenas de texto&lt;/strong&gt; y guardarlas cifradas de forma segura en ficheros de scripts Powershell.&lt;/p&gt;
&lt;p&gt;En un caso práctico este método lo llevo utilizando ya un tiempo para almacenar las contraseñas necesarias que se usan en scripts automatizados para realizar en este caso copias de seguridad.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/adrianlois/Automatizar-Backups-FTP-PowerShell" target="_blank" rel="noopener"&gt;https://github.com/adrianlois/Automatizar-Backups-FTP-PowerShell&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="crear-passwords-cifradas-con-powershell-para-usar-desde-el-mismo-usuario"&gt;
 Crear passwords cifradas con PowerShell para usar desde el mismo usuario
 &lt;a class="heading-link" href="#crear-passwords-cifradas-con-powershell-para-usar-desde-el-mismo-usuario"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Cuando establecemos una password en Powershell y la volcamos en un fichero, el fichero que contiene la password cifrada &lt;strong&gt;solo se podría usar desde el mismo usuario que la estableció&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Automatizar backups FTPS con WinSCP, Batch, PowerShell y 7zip</title><link>https://adrianlois.com/posts/automatizar-backups-ftps-winscp-batch-powershell-7zip/</link><pubDate>Tue, 18 Jul 2017 08:00:00 +0000</pubDate><guid>https://adrianlois.com/posts/automatizar-backups-ftps-winscp-batch-powershell-7zip/</guid><description>&lt;p&gt;Hace tiempo que quería comentar el tema de como hago mis copias de seguridad de la información personal. Intentaré explicar de forma detallada y clara todo el proceso.&lt;/p&gt;
&lt;p&gt;Repositorios Github:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/adrianlois/Backups-FTPES-WinSCP-7Zip-Batchfile" target="_blank" rel="noopener"&gt;https://github.com/adrianlois/Backups-FTPES-WinSCP-7Zip-Batchfile&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/adrianlois/Backups-FTP-WinSCP-7Zip-PowerShell" target="_blank" rel="noopener"&gt;https://github.com/adrianlois/Backups-FTP-WinSCP-7Zip-PowerShell&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;iframe allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/R8tstuRbMto" width="560"&gt;&lt;/iframe&gt;
&lt;p&gt;Se pueden realizar copias de seguridad de una manera u otra. Ya sea copiando directamente la información a algún medio extraíble, subiéndola a algún servicio de almacenamiento cloud, copias redundantes en ambos medios, etc. A su vez, cuantas más medidas de seguridad se tomen para cada una de estas técnicas, más segura estará la información, pero también más &amp;ldquo;pasos&amp;rdquo; habrá que desencadenar para llegar a ella.&lt;/p&gt;</description></item></channel></rss>