
Un Gopher Assassin de terceros para el Havoc Framework.
Un Asesino Gopher de terceros para el Framework Havoc
es como el videojuego :D
Este es un agente de terceros para el C2 Havoc escrito en Golang, principalmente escrito como proyecto de aprendizaje, pero estoy seguro de que sigue siendo útil.
Para cuando esto salga, podrás leer más sobre qué y por qué es esto en mi blog: aquí
¡Las contribuciones son bienvenidas! No planeo actualizar esto con demasiada regularidad, pero si me divierte crearlo, quizás agregue más cosas con el tiempo.
| Comando | Descripción | Ejemplo |
|---|---|---|
checkin | Devuelve información básica del sistema | checkin |
shell | Ejecuta un comando (ejecutado a través de os/exec de Go) | shell netstat -ano |
kill | Mata un proceso por PID | kill 31337 |
ls | Lista los archivos en un directorio determinado | ls C:\Users\Administrator\Desktop |
ps | Lista los procesos actualmente en ejecución | ps |
upload | Sube un archivo a una ruta remota | upload /opt/chisel.exe C:\Windows\Temp\Bruh.exe |
download | Descarga un archivo remoto a la carpeta de botín | download C:\passwords.txt pwd.txt |
portscan | Escaneo de puertos TCP sobre un único objetivo. | portscan common 192.168.13.37 4 |
shellcode | Carga shellcode en el proceso del implante usando CreateThread | shellcode 9090ccc3 |
execute-assembly | Ejecuta ensamblados .NET en memoria | execute-assembly /opt/tools/Seatbelt.exe -group=user -q |
o7 | El gopher muere :( | o7 |
Una vez que tengas tu teamserver en marcha, es tan simple como ejecutar lo siguiente:
python handler.py./gopher47Puedes usar la GUI de Havoc para compilarlo, o simplemente editar el código fuente como quieras y jugar con el Makefile; no hay mucho más que eso.
Solo quería tener un proyecto real en Golang armado al que pueda señalar. Pero también, Golang es excelente para la compilación cruzada, tiene un buen ecosistema de desarrollo y es mucho más fácil de escribir que C/C++.
no sé, pero madura. Ofúscalo y personalízalo tú mismo, deja de ser un bebé.
Golang, junto con Rust y otros lenguajes, compilan estáticamente, lo que significa que todas las librerías necesarias para ejecutar el ejecutable están incrustadas en el binario, lo cual se acumula. Si quieres reducir el tamaño, no lo haré por defecto, pero mira este enlace para algunos consejos. ACTUALIZACIÓN: agregué una opción para hacer algo de esto, pero estoy seguro de que podrías hacer más personalización :/
Mala pregunta, si lees el código encontrarás una serie de cosas que no son ideales. Si de verdad te preocupara el OPSEC, ya habrías empezado a leer el código y a hacer correcciones donde haga falta.
Por ahora, realmente no. La API actual de Havoc solo permite que un handler sea manejado por un agente, y realmente no hay una forma buena y limpia de tener varios activos al mismo tiempo. Hay reestructuraciones en progreso, pero por ahora, solo puede haber un Gopher47.
No. A partir de la versión 0.4 de Havoc, no hay forma de hacer un intercambio seguro de claves sin comprometer las claves directamente. Una vez que el sistema sea reestructurado en la interfaz havoc-py, lo haré. POR LO TANTO ESTO NO ES SEGURO PARA OPSEC por favor no seas estúpido y no uses esto en un ejercicio real, los CTFs/laboratorios están bien
HTTPS proporcionará cifrado, pero úsalo bajo tu propio riesgo.
Photoshopeé una pistola en la mano del gopher de Golang para esto a la 1:00 AM.
No hay forma de hacer una herramienta de investigación relevante para seguridad ofensiva y publicarla como código abierto sin la posibilidad de que caiga en manos equivocadas. Esta herramienta solo debe utilizarse con fines legales y éticos, incluyendo, entre otros, investigación, evaluación de seguridad y educación.
TL;DR: Manténganlo legal, gente.