Metasploit architecture is composed of many important components. To fully use the power of Metasploit, many components are needed:
- Tools: This is a set of useful utilities
- Plugins: These are loadable extensions at runtime
- Libraries: These are useful Ruby libraries
- Interfaces: These give users the ability to access Metasploit in different ways (CLI and web for instance)
- Modules: These are components that perform specific tasks
This diagram illustrates the architecture of Metasploit framework: