Updated Plugins (markdown)

Tib3rius 2022-05-08 00:18:27 -04:00
parent 87bdcc079e
commit 587605e6bc
1 changed files with 6 additions and 8 deletions

@ -1,17 +1,15 @@
# Plugins
AutoRecon uses a plugin system to perform all port and service scanning. By default, plugins are located in the "plugins" directory. All plugins must be contained within files that have a .py extension. If a plugin file starts with an underscore, it will not get loaded by AutoRecon, making it easy to disable certain plugin files.
AutoRecon uses a plugin system to perform all port and service scanning. By default, plugins are located in the "plugins" directory. All plugins must be contained within files that have a .py extension. If a plugin file starts with an underscore, it will not get loaded by AutoRecon, making it easy to disable certain plugin files. Each plugin file can contain multiple plugins, though by default, all plugins that come with AutoRecon have separate files.
Each plugin file can contain multiple plugins, and the plugin set which comes with AutoRecon groups plugins into files based on the service they run against (e.g. all the HTTP plugins are in plugins/http.py).
There are two types of plugin that AutoRecon supports: PortScan and ServiceScan. PortScan plugins are provided a Target object which represents a target being scanned by AutoRecon (e.g. 127.0.0.1). They are expected to perform a port / service identification scan and return a list of Service objects which represents the services running on the target. ServiceScan plugins are provided with a Service object and are expected to perform further service enumeration scans.
There are three types of plugin that AutoRecon supports: PortScan, ServiceScan, and Report. PortScan plugins are provided a Target object which represents a target being scanned by AutoRecon (e.g. 127.0.0.1). They are expected to perform a port / service identification scan and return a list of Service objects which represents the services running on the target. ServiceScan plugins are provided with a Service object and are expected to perform further service enumeration scans. Report plugins are provided with a list of Target objects at the end of the entire scan, and can extract information about the commands run against each in order to create a report.
## PortScan Plugin
The following is an example PortScan plugin that scans the top 1000 TCP ports:
```python
from autorecon import PortScan
from autorecon.plugins import PortScan
class QuickTCPPortScan(PortScan):
@ -38,7 +36,7 @@ class QuickTCPPortScan(PortScan):
Here is a breakdown:
```python
from autorecon import PortScan
from autorecon.plugins import PortScan
```
This simply imports the PortScan class from AutoRecon, something that is required to write a valid PortScan plugin.
@ -93,7 +91,7 @@ For this example, you do not need to worry about the Process object or stderr. I
The following is an example ServiceScan plugin which performs a simple Curl request to a website:
```python
from autorecon import ServiceScan
from autorecon.plugins import ServiceScan
class Curl(ServiceScan):
@ -116,7 +114,7 @@ class Curl(ServiceScan):
Here is a breakdown:
```python
from autorecon import ServiceScan
from autorecon.plugins import ServiceScan
```
This simply imports the ServiceScan class from AutoRecon, something that is required to write a valid ServiceScan plugin.