https://github.com/nickrabbott/Nessus-Exporter
Automate the export of Nessus information
https://github.com/nickrabbott/Nessus-Exporter
automation cybersecurity data-analytics elasticsearch kibana nessus-scanner
Last synced: 4 months ago
JSON representation
Automate the export of Nessus information
- Host: GitHub
- URL: https://github.com/nickrabbott/Nessus-Exporter
- Owner: nickrabbott
- License: mit
- Created: 2022-03-06T18:28:45.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2022-05-17T23:05:35.000Z (over 3 years ago)
- Last Synced: 2024-11-21T18:39:32.697Z (12 months ago)
- Topics: automation, cybersecurity, data-analytics, elasticsearch, kibana, nessus-scanner
- Language: Python
- Homepage:
- Size: 29.3 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-hacking-lists - nickrabbott/Nessus-Exporter - Automate the export of Nessus information (Python)
README
# Nessus Exporter
Nessus Exporter is an automation tool in Python that automates the export of [Nessus Vulnerability Scans](https://www.tenable.com/) to be imported into an Analytics Platform. Currently, this works with [Elastic Search](https://www.elastic.co/) and [MongoDB Atlas](https://www.mongodb.com/atlas/database), but I may extend functionality with other NoSQL platforms such as [Splunk](https://www.splunk.com/) or [DynamoDB](https://aws.amazon.com/dynamodb/).
## Installation
Use the package manager [pip](https://pip.pypa.io/en/stable/) to install the following packages.
```bash
pip install simplejson
pip install pandas
```
For systemd based systems, clone the repo under /etc
```bash
git clone git@github.com:nickrabbott/Nessus-Exporter.git
or
git clone https://github.com/nickrabbott/Nessus-Exporter.git
```
Fill in the appropriate values in /config/config.ini. Polling_Interval is in seconds.
```ini
[DEFAULT]
[Exporter]
Polling_Interval = 86400
[NESSUS]
Protocol = https
IP = 0.0.0.0
Port = 8834
Secret_Key = nessus_secret_key
Access_Key = nessus_access_key
[ELK]
Protocol = https
IP = 0.0.0.0
Port = 9201
Auth = Basic_Auth
[Mongo]
URL = "mongodb atlas url"
```
Modify the systemd unit file under /config to store the appropriate values and remove the .sample extension.
```ini
[Unit]
Description=Nessus Exporter Service
After=network.target
After=elasticsearch.service
After=kibana.service
After=nessusd.service
[Service]
WorkingDirectory=/etc/nessus-exporter/src/
User=nick
Type=simple
ExecStart=/usr/bin/python3 -u /etc/nessus-exporter/src/nessusexporter.py
[Install]
WantedBy=multi-user.target
```
Create a symbolic link to the unit file in /etc/systemd/system
```
sudo ln -s /etc/systemd/nessus-exporter.service /etc/nessus-exporter/config/nessus-exporter.service
```
## Usage
Make systemd aware of the new unit file
```bash
sudo systemctl daemon-reload
```
Start the service
```bash
sudo systemctl start nessus-exporter.service
```
Check the status of the service
```bash
sudo systemctl status nessus-exporter.service
● nessus-exporter.service - Nessus Exporter Service
Loaded: loaded (/etc/nessus-exporter/config/nessus-exporter.service; linked; vendor preset: enabled)
Active: active (running) since Wed 2022-03-16 00:41:01 UTC; 39min ago
Main PID: 21837 (python3)
Tasks: 1 (limit: 4656)
CGroup: /system.slice/nessus-exporter.service
└─21837 /usr/bin/python3 -u /etc/nessus-exporter/src/nessusexporter.py
```
View the logs associated with the service
```bash
sudo journalctl -u nessus-exporter.service
```
## Contributing
Feel free to fork this repo or submit a pull request
## License
[MIT](LICENSE)