From 359ba43456360afe98fed0ab38e60d863fcfd277 Mon Sep 17 00:00:00 2001 From: vandanrohatgi Date: Thu, 1 Sep 2022 19:02:45 +0530 Subject: [PATCH] Update README.md with GSoC report moved data from install.md to readme instead. --- README.md | 130 ++++++++++++++++++++++++++++++++++++++++----- images/compare.png | Bin 0 -> 86427 bytes images/slack.png | Bin 0 -> 20516 bytes install.md | 62 --------------------- 4 files changed, 117 insertions(+), 75 deletions(-) create mode 100644 images/compare.png create mode 100644 images/slack.png delete mode 100644 install.md diff --git a/README.md b/README.md index 91eca09..08560ab 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,15 @@ Decided to move the project and components to CRS org. After which testing is ne Tasks for the week: -1. Work on GSoC work report +1. ~~Work on GSoC work report~~ 2. Fix / improve any code or documentation as needed 3. Test working of the project after switching the project to CRS org +doubts: +- remove uneeded files like map.md, docker-compose.yml? +- Need Github access toekn to perform testing +- Dedicated slack channel for reports + Notes: To find unique tags in nuclei templates: @@ -17,17 +22,21 @@ To find unique tags in nuclei templates: Nuclei identifies HTTP based CVEs using the `requests` keyword in the templates. -# Project Seaweed - -![](/images/seaweed.png 250x250) +

+Project Seaweed +
+Seaweed +

image: Flaticon.com +[![Tests](https://github.com/coreruleset/Project-Seaweed/workflows/Tests/badge.svg)](https://github.com/coreruleset/Project-Seaweed/actions?workflow=Tests) + Project Seaweed is a part of **Google Summer of Code 2022** under the OWASP Foundation Core Rule Set team. Under the guidance of [Felipe Zipitría](https://github.com/fzipi). -Seaweed is fully customizable CI/CD friendly tool created to automate the testing of web application firewalls against various CVE(s) so that you don't have to. +Seaweed is fully customizable CI/CD friendly tool created to automate the testing of web application firewalls against various CVE(s). -It does so by utilising the PoCs provided by nuclei-templates from team Project Discovery. Using these beautifully formatted yaml templates we can test firewalls as well as generate metadata for the firewall testing process. At the end of testing we receive a small summary notification in the form of a slack message. +It does so by utilising the PoCs provided by [nuclei-templates](https://github.com/projectdiscovery/nuclei-templates) from team [Project Discovery](https://github.com/projectdiscovery). Using these beautifully formatted yaml templates we can test firewalls as well as generate metadata for the firewall testing process. At the end of testing we receive a small summary notification in the form of a slack message. ## Features @@ -35,9 +44,11 @@ It does so by utilising the PoCs provided by nuclei-templates from team Project There are two ways to modify the tool behaviour. You can either use the CLI flags or specify environment variables. +**CLI:** + ![](images/cli.png) -### Environment variables +**Environment variables:** Variable | Default | Description ---|---|--- @@ -57,6 +68,11 @@ TAG | None | Attack types to test (XSS, SQLi, RCE ...) FORMAT | json | Report format REPO_OWNER | None | Needed for working in a CI/CD environment +Commits: +- 6a1010eaad469a7992f119046fdf5561d98eba53 +- f19772a72f35eda2728979d37361353729e2376c +- fd729f9838fd1d5590858c1bc04f4467e6869236 + 2. **Docker Setup** By default, a docker setup containing of Modsec-CRS reverse proxy container (Firewall) and an apache web server container is created and both the containers are attached to a network. This was done to have a local firewall setup. This has 2 advantages: @@ -64,10 +80,16 @@ By default, a docker setup containing of Modsec-CRS reverse proxy container (Fir - Removes network latency and hence quicker testing - Doesn't disturb the remote firewall -Ofcourse, this behaviour can be changed and you can specify a remote URL and avaoid setting up the local docker setup. +Ofcourse, this behaviour can be changed and you can specify a remote URL and avoid setting up the local docker setup. This feature was achieved using docker-python SDK. +Commits: +- f0bfb2b54a886cfdd438427f6b342a31159601ef +- f19772a72f35eda2728979d37361353729e2376c +- af5848e5dfa96f943e93a6812a070ae72357c7e5 + + 3. **Report generation** After Nuclei has finished launching the attacks on the firewall, we store the requests and responses that were made. You can specify a directory if you want to see this raw data, otherwise it is stored inside a temporary directory. @@ -78,17 +100,28 @@ You can specify the report format to be either `csv` or `json`. ![](/images/report.png) +Commits: +- 6162174081bb9fda1b8a5947ae33114e5f3c038a +- 400307edcad3505671ea7182249299aeb25a0a2c +- a45ec2cc116c6529e77046c0798dee82e05164f4 + 4. **Testing analysis** Throughout the whole process a `yaml` file is maintained which records various metrics and metadata such as blocked CVE(s), version of firewall used, environment variables etc. This file is then later used for comparing the results of two various scans. ![](/images/analysis.png) + +Commits: +- 4695e817cc33ff67d3b746b236a838cb1e700088 +- 9567995277f4c028059d40900eb0b0fd9fd2c6bb + + 5. **Scan History** -If you're using the tool in a CI/CD environment like Github Actions, a repository named `seaweed-reports` is needed which records all the past scans and their respective artifacts. The github action tests varous types of common web CVE(s) such as xss, rce, sqli etc. along with a full test of all the available CVE(s) in the nuclei templates. You can modify this behaviour according to the needs by changing the matrix of Github Action. +If you're using the tool in a CI/CD environment like Github Actions, a repository named `seaweed-reports` is needed which records all the past scans and their respective artifacts. The github action tests various types of common web CVE(s) such as xss, rce, sqli etc. along with a full test of all the available CVE(s) in the nuclei templates. You can modify this behaviour according to the needs by changing the matrix of Github Action. -The Directory structure looks like this: +The directory structure looks like this: ``` Seaweed-Reports/ @@ -111,16 +144,46 @@ Seaweed-Reports/ └── latest.txt ``` +Commits: +- f2ffc7687c27b5eb21cfb557fb30890195293369 +- 3bcc3d13fb87dfeeacc5342caa04b3d5b94566da + 6. **Slack integration** -After the testing is finished, a message is sent to the defined channelon slack with a small summary. +After the testing is finished, a message is sent to the defined channel on slack with a small summary. + +![](/images/slack.png) + +Commits: +- 7fdfac397e9ba5e6925577264c5cffcc9106fc20 +- 973cf52b3830e6c85d2e46a884a34dac9c62350f 7. **Report comparison** +If running this tool in a local environment, you can use this feature to compare two different reports. + +![](/images/compare.png) + +Commits: +- 4695e817cc33ff67d3b746b236a838cb1e700088 +- 7fef82af890818a09239f02c910c42365761fa14 + 8. **Fetching testing logs** -To gain a deeper insight, we also fetch the logs from the firewall. We do this by copying the audit.log file from modsec-crs container. +This project does not provide the functionality to automatically fetch the logs from CRS container. However, you can use the `--keep-setup` flag to prevent auto-removal of the docker setup (crs container, apache container and docker network). After that, you can fetch the audit logs using the following command. + +`docker cp crs-waf:/root/audit.log ` + +**Caveat**: If you specify `--keep-setup`, you are responsible for performing the cleanup activity. To do that, just enter the following commands. + +`docker stop crs-waf` + +`docker stop httpd-server` + +`docker network rm seaweed-network` +Commits: +- 64a8aefae60232bc6843a52abfd261b1ab78a721 ## Post GSoC work @@ -128,4 +191,45 @@ To gain a deeper insight, we also fetch the logs from the firewall. We do this b 2. More test coverage. Currently at 90%. -3. Improve documentation and fix code (bugs) as needed. \ No newline at end of file +3. Improve documentation and fix code (bugs) as needed. + +## Usage + +**Installation** + +1. **Clone the repository** + +`git clone https://github.com/coreruleset/Project-Seaweed.git` + +2. **Install poetry** + +Poetry is a tool for dependency management and packaging in Python. + +[https://python-poetry.org/docs/#installation](https://python-poetry.org/docs/#installation) + +3. **Install docker** + +This project needs docker to setup a local web server, web application firewall. If you're using a custom waf URL for testing, then docker is not needed. + +[https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/) + +5. **Install Nuclei** + +The program uses Nuclei to launch attacks. Make sure nuclei is in the path and nuclei templates are installed in the home directory and not a custom directory. Install from here: [https://nuclei.projectdiscovery.io/nuclei/get-started/#nuclei-installation](https://nuclei.projectdiscovery.io/nuclei/get-started/#nuclei-installation) + + +6. **Install the project** + +`poetry install` + +7. **Finally run the project** + +`poetry run project-seaweed` + +8. **Get help** + +`poetry run project-seaweed --help` + +For command specific help + +`poetry run project-seaweed tester --help` diff --git a/images/compare.png b/images/compare.png new file mode 100644 index 0000000000000000000000000000000000000000..1d11a5b46cf448fe65619d6e68fe5ee267f22253 GIT binary patch literal 86427 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 literal 0 HcmV?d00001 diff --git a/images/slack.png b/images/slack.png new file mode 100644 index 0000000000000000000000000000000000000000..bb1b3197135437f3bc977f90902ae6f7ae29a905 GIT binary patch literal 20516 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 B7+U}U literal 0 HcmV?d00001 diff --git a/install.md b/install.md deleted file mode 100644 index 099562e..0000000 --- a/install.md +++ /dev/null @@ -1,62 +0,0 @@ -# Project Seaweed - -[![Tests](https://github.com/coreruleset/Project-Seaweed/workflows/Tests/badge.svg)](https://github.com/coreruleset/Project-Seaweed/actions?workflow=Tests) - - -## Fetching CRS logs from the container - -This project does not provide the functionality to fetch the logs from CRS container. However, you can use the `--keep-setup` flag to prevent auto-removal of the docker setup (crs container, apache container and docker network). After that, you can fetch the audit logs using the following command. - -`docker cp crs-waf:/root/audit.log ` - -**Caveat**: If you specify `--keep-setup`, you are responsible for performing the cleanup activity. To do that, just enter the following commands. - -`docker stop crs-waf` - -`docker stop httpd-server` - -`docker network rm seaweed-network` - -## Installation - -1. **Clone the repository** - -`git clone https://github.com/coreruleset/Project-Seaweed.git` - -2. **Install poetry** - -Poetry is a tool for dependency management and packaging in Python. - -[https://python-poetry.org/docs/#installation](https://python-poetry.org/docs/#installation) - -3. **Install docker** - -This project needs docker to setup a local web server, web application firewall. If you're using a custom waf URL for testing, then docker is not needed. - -[https://docs.docker.com/engine/install/](https://docs.docker.com/engine/install/) - -5. **Install Nuclei** - -The program uses Nuclei to launch attacks. Make sure nuclei is in the path and nuclei templates are installed in the home directory and not a custom directory. Install from here: [https://nuclei.projectdiscovery.io/nuclei/get-started/#nuclei-installation](https://nuclei.projectdiscovery.io/nuclei/get-started/#nuclei-installation) - -6. **Select Python version** - -The project is tested on Python `3.9.13`. If you have multiple python versions installed, use the following command: - -`poetry env use 3.9` - -7. **Install the project** - -`poetry install` - -8. **Finally run the project** - -`poetry run project-seaweed` - -9. **Get help** - -`poetry run project-seaweed --help` - -For command specific help - -`poetry run project-seaweed tester --help`