DIA#11-Ethical Hacking Tools (Metasploit- Modules e Locations & Object Model & Mixins e Pluggins)

    Hoje continuei com o tutorial da Offensive Security de ontem, tendo retomado na parte a mencionar os módulos existentes e a sua localização.
    O tutorial começa por informar que a maioria das interações existentes serão feitas através dos módulos, módulos estes que o Metasploit procura em "/usr/share/metasploit-framework/modules/" e sob a diretoria home em "~/.msf4/modules/" onde são guardados os custom modules.
    Cada tipo de module é separado em diferentes directorias consoante a sua utilidade estando separados em:
  • exploits: módulos que usam exploits;
  • auxiliary: módulos que incluem port scanners, fuzzers(é uma técnica de software testing Black Box [não se sabe o que se encontra dentro do sistema testado] que encontra bugs através do envio de data aleatória), sniffer (permite monitorizar o trafego de internet em tempo real), etc;
  • payloads: pedaços de código que correm remotamente;
  • encoders: usados de modo a que o codigo dos payloads cheguem à sua destinação intactos;
  • nops: mantém o tamanho dos payloads consistentes entre as tentativas de uso dos payloads.
    É possível carregar novos módulos tanto em runtime (quando o programa esta  a correr) ou após a msfconsole ter começado através do uso da opção "-m", por exemplo "root@kali:~# msfconsole -m ~/secret-modules/". Se quiser fazer load de módulos adicionais a partir da msfconsole usa-se o comando "loadpath", por exemplo:"msf > loadpath /usr/share/metasploit-framework/modules/".

    Passando para o object model do Metasploit informa-se que todos os modules são Ruby classes, em que se herda através de classes type-specific, sendo estas herdadas a partir do Msf::Module class. Entre módulos existe uma API comum partilhada. Em relação aos payloads, estes são criados em runtime a partir de diversos componentes.

    Em relação aos mixins(contém métodos usados por outras classes) e plugins(programa usado para fornecer funções extra  outro) do Metasploit. Começa-se por informar que em Ruby:
  • Cada class tem apenas um parent;
  • Uma class pode incluir vários modules;
  • Módulos podem adicionar novos methods;
  • É possível fazer overload de methods (permite que numa class existam vários mathods com o mesmo nome);
  • Os modules do Metasploit herdam Msf::Module e incluem mixins para adicionar features.
    De seguida menciona-se os mixins do Metasploit, que têm como função incluir uma class noutra, que é tanto similar como diferente da herança. Os mixins podem fazer override de métodos de uma class. 
    Em relação aos plugins do Metasploit, estes funcionam directamente com a API, manipulando a framework no seu conjunto. Os plugins ligam-se ao event subsystem, podendo automar determinadas tarefas. Apesar de tudo isto os plugins funcionam apenas na msfconsole, podendo adicionar novos comandos à consola de modo a aumentar a funcionalidade da framework.  

  


  

Comentários

Mensagens populares deste blogue

DIA#36-OverTheWire-Bandit (LVL 2)

DIA#45-OverTheWire-Bandit (LVL 11)

DIA#52-OverTheWire-Bandit (LVL 18)