Tutoriales

Biblioteca de desarrollo de malware de Golang 2021

ColdFire ofrece varios métodos que son útiles para el desarrollo de malware en Golang.

La mayoría de las funciones son compatibles con los sistemas operativos Linux y Windows.

instalación

Vaya a github.com/redcode-labs/ColdFire

Tipos de funciones incluidas

  • Inicio sesión
  • Auxiliar
  • iluminación
  • Evadir
  • administración
  • Detección de caja de arena
  • Molesto

documentación

Funciones de registro

func F (s cadena, arg… interfaz ) cadena
Alias ​​de fmt.Sprintf
func PrintGood (cadena de mensaje)
Imprimir mensaje de buen estado
func PrintInfo (cadena de mensaje)
Imprimir mensaje de estado de información
func PrintError (msg-String)
Imprimir mensaje de estado de error
func PrintWarning (cadena de mensaje)
Imprimir mensaje de estado de advertencia

Funciones adicionales

func FileToSlice (cadena de archivo) []línea
Leer del archivo y devolver el segmento con líneas separadas por líneas nuevas.
func Contiene (s interfaz , elem interfaz ) bool
Compruebe si el tipo de interfaz contiene un tipo de interfaz diferente.
func StrToInt (string_integer string) int
Convierta la cadena en int.
func IntToStr (i int) cadena
Convierte int en string.
func IntervalToSeconds (cadena de intervalo) int
Convierte el intervalo de tiempo especificado en segundos.
func RandomInt (min int, max int) int
Devuelve un int aleatorio del rango.
func RandomSelectStr (lista []Cadena) cadena
Devuelve una selección aleatoria de un trozo de cuerdas.
func RandomSelectInt (lista []int) int
Devuelve una selección aleatoria de Slice of Ints.
func RandomSelectStrNested (lista [][]Línea) []línea
Devuelve una selección aleatoria de un segmento de cadena anidado.
func RemoveNewlines (s cadena) cadena
Elimina los caracteres » n» y » r» de la cadena.
func FullRemove (str cadena, to_remove string) cadena
Elimina todas las apariciones de subcadenas.
func RemoveDuplicatesStr (segmento []Línea) []línea
Elimina los duplicados del segmento de cadena.
func RemoveDuplicatesInt (segmento []En t) []En t
Elimina los duplicados del segmento int.
func Contiene Any (str cadena, elementos []String) bool
Devuelve verdadero si Slice contiene una cadena.
func cadena RandomString (n int)
Genera una cadena aleatoria de longitud [n]func ExitOnError (e error)
Manejar errores
func Md5Hash (cadena str)
Devuelve la suma de comprobación MD5 de una cadena.
func MakeZip (cadena de zip_file, archivos []String) error
Crea un archivo zip a partir de una lista de archivos
func ReadFile (nombre de archivo-cadena) (cadena, error)
Leer el contenido de un archivo.
func WriteFile (cadena de nombre de archivo) error
Escribe contenido en un archivo.
func B64d (cadena str)
Devuelve una cadena decodificada en base64
func B64e (cadena str)
Devuelve una cadena codificada en base64
func FileExists (cadena de archivo) bool
Compruebe si el archivo existe.
func ParseCidr (cidr-String) ([]Cadena, error)
Devuelve un segmento que contiene todas las direcciones IP posibles en el rango especificado.
.

Funciones de reconocimiento

func GetLocalIp () cadena
Devuelve una dirección IP local del dispositivo.
func GetGlobalIp () cadena
Devuelve una dirección IP global del dispositivo.
func IsRoot () bool
Compruebe que el usuario tenga derechos de administrador.
procesos func () (tarjeta ([int]Cadena, error)
Devuelve los PID de todos los procesos y sus nombres correspondientes.
func Iface () cadena, cadena
Devuelve el nombre de la interfaz inalámbrica actualmente en uso y su dirección MAC.
Símbolos de radio () []línea
Devuelve un segmento que contiene los nombres de todas las interfaces locales.
func discos duros () ([]Cadena, error)
Enumera los dispositivos de almacenamiento local.
func-usuario () []Cadena, um
Devuelve una lista de usuarios conocidos.
Función de tarjeta de información ()[string]línea
Devuelve información básica del sistema.
Campos posibles: nombre de usuario, nombre de host, go_os, os,
Plataforma, número de cpu, kernel, kernel, local_IP, ap_ip, global_ip, mac.
Si el campo no se puede resolver, el valor «N / A» se utiliza por defecto.
func DnsLookup (cadena de nombre de host) ([]Cadena, error)
Realiza una búsqueda de DNS
func RdnsLookup (cadena ip) ([]Cadena, error)
Realiza una búsqueda de DNS inversa
func HostsPassive (cadena de intervalo) []Cadena, um
Detecta hosts pasivamente activos en una red mediante la supervisión de ARP.
El tiempo de determinación se puede cambiar con argumentos.
func FilePermissions (cadena de nombre de archivo) (bool, bool)
Verifica que el archivo tenga permisos de lectura y escritura.
func Portscan (cadena de destino, tiempo de espera, subprocesos int) []En t
Devuelve una lista de los puertos abiertos en el destino.
func PortscanSingle (cadena de destino, puerto int) bool
Devuelve verdadero si el puerto seleccionado está abierto.
func BannerGrab (cadena de destino, puerto int) (cadena, error)
Recupera una cadena de banner de servicio de un puerto específico.
func networks () ([]Cadena, error)
Devuelve una lista de redes inalámbricas cercanas.

Funciones administrativas

func CmdOut (cadena de comandos) cadena, error
Ejecute un comando y devuelva su salida.
func CmdOutPlatform (mapa de comandos[string]Cadena) (cadena, error)
Ejecuta comandos en modo compatible con la plataforma.
Por ejemplo, si pasa «windows»: «dir», «linux»: «ls», se ejecutará otro comando,
basado en la plataforma en la que se insertó el implante.
func CmdRun (cadena de comando)
A diferencia de cmd_out (), cmd_run no devuelve nada y envía salidas y errores a STDOUT.
func CmdDir (mapa dirs_cmd[string]Cuerda) ([]Cadena, error)
Ejecuta comandos en modo de reconocimiento de directorios.
Por ejemplo, si pasa “/ etc”: “ls”, el comando “ls” se ejecuta en el directorio / etc.
func CmdBlind (cadena de comando)
Ejecutar comando sin supervisión, no imprimir ninguna salida.
func CreateUser (nombre de usuario, cadena de contraseña) error
Crea un nuevo usuario en el sistema.
func bind (puerto int)
Ejecute un bind shell en un puerto específico.
func reverse (cadena de host, puerto int)
Ejecute un shell inverso.
func SendDataTcp (cadena de host, puerto int, cadena de datos) error
Envía una cadena a un host remoto usando el protocolo TCP.
func SendDataUdp (cadena de host, puerto int, cadena de datos) error
Envía una cadena a un host remoto usando el protocolo UDP.
error de descarga de func (cadena de URL)
Descarga un archivo de la URL y lo guarda con el mismo nombre.
Func CopyFile (cadena src, cadena dst) error
Copiar un archivo de una ubicación a otra
func CurrentDirFiles () []Cadena, error
Devuelve una lista de archivos en el directorio actual.

Funciones evasivas

error de func PkillPid (pid int)
Matar proceso por PID.
error de func PkillName (cadena de nombre)
Mata todos los procesos que lo contienen [name].
func PkillAv () err
Termine con los procesos AV más comunes.
func Wait (cadena de intervalo)
No hace nada durante un intervalo de tiempo específico.
Eliminar función ()
Elimina el binario del host.
func SetTtl (cadena de intervalo)
Establezca la vida útil del archivo binario.
Debería iniciarse como una gorutina.
error de func ClearLogs ()
Borra la mayoría de los registros del sistema.

Capacidades de detección de espacio aislado

func SandboxFilepath () bool
Detecte sandbox buscando rutas de archivo comunes de sandbox.
Compatible solo con Windows.
func SandboxProc () bool
Detecte sandbox buscando procesos comunes de sandbox.
func SandboxSleep () bool
Reconozca la caja de arena buscando un mecanismo de aceleración del sueño.
func SandboxDisk (tamaño int) bool
Detecte sandbox buscando discos duros inusualmente pequeños.
func SandboxCpu (cores int) bool
Detecte sandbox buscando una cantidad inusualmente pequeña de núcleos de CPU.
func SandboxRam (ram_mb int) bool
Detecte sandbox buscando cantidades inusualmente pequeñas de RAM.
func SandboxMac () bool
Detecte la caja de arena buscando la dirección MAC específica de la caja de arena del localhost.
func SandboxUtc () bool
Detecte la zona de pruebas buscando la zona horaria UTC configurada correctamente.
func SandboxProcnum (proc_num int) bool
Sandbox detecta cuando se está ejecutando una pequeña cantidad de procesos
func SandboxTmp (entradas int) bool
Detecta entornos sandbox cuando hay una pequeña cantidad de entradas en el directorio temporal
func SandboxAll () bool
Detecte sandbox utilizando cualquier método de detección de sandbox.
Devuelve verdadero si algún método de detección de espacio aislado devuelve verdadero.
func SandboxAll_n (num int) bool
Detecte sandbox utilizando cualquier método de detección de sandbox.
Devuelve verdadero si al menos uno de los métodos de detección devuelve verdadero.

Funciones perturbadoras

func WifiDisconnect () error
Se desconecta del punto de acceso inalámbrico
error de func Wipe ()
Borra todo el sistema de archivos.
func EraseMbr (cadena de dispositivo, partition_table bool) error
Borra el sector MBR de un dispositivo.
Si es verdadero, también borra la tabla de particiones.
func fork bomb ()
Ejecuta una bomba de horquilla.
Func Shutdown () error
Reinicie la máquina.

requisito

«Github.com/google/gopacket»
«Github.com/google/gopacket/layers»
«Github.com/google/gopacket/pcap»
«Github.com/robfig/cron»
«Github.com/anvie/port-scanner»
«github.com/matishsiao/goInfo»
«Github.com/fatih/color»
«Github.com/minio/minio/pkg/disk»
«Github.com/dustin/go-humanize»
«Github.com/mitchellh/go-ps»

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