sentinel-scanner 2.4.1 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.cspell.json +19 -51
- package/.github/ISSUE_TEMPLATE/config.yml +1 -1
- package/.github/PULL_REQUEST_TEMPLATE.md +2 -2
- package/.github/workflows/stale.yaml +20 -0
- package/.github/workflows/webapp-scanner.yml +31 -19
- package/.github/workflows/welcome.yaml +9 -55
- package/.husky/pre-commit +35 -0
- package/.vscode/extensions.json +7 -0
- package/.vscode/launch.json +20 -0
- package/.vscode/settings.json +32 -0
- package/.vscode/tasks.json +24 -0
- package/CHANGELOG.md +7 -3
- package/CODE_OF_CONDUCT.md +4 -1
- package/CONTRIBUTING.md +2 -2
- package/README.md +5 -0
- package/api-extractor.json +30 -30
- package/biome.json +6 -32
- package/build/index.d.ts +0 -147
- package/build/index.js +111 -2633
- package/package.json +69 -102
- package/scripts/build.ts +68 -78
- package/scripts/test.ts +55 -0
- package/src/__tests__/spider.test.ts +44 -0
- package/src/commands/spider.ts +61 -126
- package/src/index.ts +23 -26
- package/src/spider/index.ts +345 -0
- package/src/spider/types/index.ts +21 -0
- package/src/spider/types/schema.ts +54 -0
- package/src/utils/index.ts +199 -3
- package/tsconfig.json +19 -18
- package/.github/assets/header.png +0 -0
- package/.github/dependabot.yml +0 -11
- package/.github/workflows/pr.yaml +0 -64
- package/.nsprc +0 -3
- package/build/bin.js +0 -2679
- package/build/xhr-sync-worker.js +0 -59
- package/docs/CNAME +0 -1
- package/docs/disclaimer.md +0 -68
- package/docs/headers/details.md +0 -114
- package/docs/headers/index.md +0 -73
- package/docs/index.md +0 -82
- package/docs/ports/index.md +0 -86
- package/docs/scoring.md +0 -91
- package/docs/spider/index.md +0 -61
- package/docs/sql-injection/details.md +0 -109
- package/docs/sql-injection/index.md +0 -73
- package/docs/xss/details.md +0 -92
- package/docs/xss/index.md +0 -73
- package/scripts/extras/document-shim.js +0 -4
- package/src/bin.ts +0 -29
- package/src/commands/header.ts +0 -150
- package/src/commands/ports.ts +0 -175
- package/src/commands/sqli.ts +0 -150
- package/src/commands/xss.ts +0 -149
- package/src/modules/headers/headers.ts +0 -161
- package/src/modules/headers/index.ts +0 -179
- package/src/modules/ports/index.ts +0 -311
- package/src/modules/spider/index.ts +0 -178
- package/src/modules/sqli/index.ts +0 -486
- package/src/modules/sqli/payloads.json +0 -156
- package/src/modules/xss/index.ts +0 -401
- package/src/modules/xss/payloads.json +0 -2692
- package/src/utils/types.ts +0 -7
package/build/xhr-sync-worker.js
DELETED
@@ -1,59 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
const util = require("util");
|
3
|
-
const { JSDOM } = require("../../../..");
|
4
|
-
const { READY_STATES } = require("./xhr-utils");
|
5
|
-
const idlUtils = require("../generated/utils");
|
6
|
-
const tough = require("tough-cookie");
|
7
|
-
|
8
|
-
const dom = new JSDOM();
|
9
|
-
const xhr = new dom.window.XMLHttpRequest();
|
10
|
-
const xhrImpl = idlUtils.implForWrapper(xhr);
|
11
|
-
|
12
|
-
const chunks = [];
|
13
|
-
|
14
|
-
process.stdin.on("data", chunk => {
|
15
|
-
chunks.push(chunk);
|
16
|
-
});
|
17
|
-
|
18
|
-
process.stdin.on("end", () => {
|
19
|
-
const buffer = Buffer.concat(chunks);
|
20
|
-
|
21
|
-
const flag = JSON.parse(buffer.toString());
|
22
|
-
if (flag.body && flag.body.type === "Buffer" && flag.body.data) {
|
23
|
-
flag.body = Buffer.from(flag.body.data);
|
24
|
-
}
|
25
|
-
if (flag.cookieJar) {
|
26
|
-
flag.cookieJar = tough.CookieJar.fromJSON(flag.cookieJar);
|
27
|
-
}
|
28
|
-
|
29
|
-
flag.synchronous = false;
|
30
|
-
Object.assign(xhrImpl.flag, flag);
|
31
|
-
const { properties } = xhrImpl;
|
32
|
-
xhrImpl.readyState = READY_STATES.OPENED;
|
33
|
-
try {
|
34
|
-
xhr.addEventListener("loadend", () => {
|
35
|
-
if (properties.error) {
|
36
|
-
properties.error = properties.error.stack || util.inspect(properties.error);
|
37
|
-
}
|
38
|
-
process.stdout.write(JSON.stringify({
|
39
|
-
responseURL: xhrImpl.responseURL,
|
40
|
-
status: xhrImpl.status,
|
41
|
-
statusText: xhrImpl.statusText,
|
42
|
-
properties
|
43
|
-
}), () => {
|
44
|
-
process.exit(0);
|
45
|
-
});
|
46
|
-
}, false);
|
47
|
-
xhr.send(flag.body);
|
48
|
-
} catch (error) {
|
49
|
-
properties.error += error.stack || util.inspect(error);
|
50
|
-
process.stdout.write(JSON.stringify({
|
51
|
-
responseURL: xhrImpl.responseURL,
|
52
|
-
status: xhrImpl.status,
|
53
|
-
statusText: xhrImpl.statusText,
|
54
|
-
properties
|
55
|
-
}), () => {
|
56
|
-
process.exit(0);
|
57
|
-
});
|
58
|
-
}
|
59
|
-
});
|
package/docs/CNAME
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
oss.rebackk.xyz
|
package/docs/disclaimer.md
DELETED
@@ -1,68 +0,0 @@
|
|
1
|
-
---
|
2
|
-
layout: default
|
3
|
-
title: Sentinel by Rebackk | Disclaimer
|
4
|
-
---
|
5
|
-
# DISCLAIMER
|
6
|
-
|
7
|
-
Last Updated: **10/11/2024**
|
8
|
-
|
9
|
-
### 1. General Information
|
10
|
-
|
11
|
-
This web vulnerability scanner (“the Tool”) is provided by Esportzvio Private Limited (“the Company”) under the product name Sentinel. The Tool is designed to identify potential security vulnerabilities in web applications and APIs. It is intended solely for educational and informational purposes to help enhance cybersecurity. By using this Tool, you acknowledge that you have read, understood, and agreed to the terms of this Disclaimer.
|
12
|
-
|
13
|
-
### 2. No Guarantee of Security
|
14
|
-
|
15
|
-
The Tool is designed to detect certain security vulnerabilities; however, it does not guarantee that your website, application, or network will be free from security threats or that all vulnerabilities will be detected. The Company makes no representations or warranties regarding the completeness, accuracy, or effectiveness of the Tool’s scanning capabilities. Security is a complex field, and this Tool should be used as part of a broader security strategy.
|
16
|
-
|
17
|
-
### 3. Use at Your Own Risk
|
18
|
-
|
19
|
-
By using the Tool, you acknowledge that you do so at your own risk. The Company is not responsible for any direct, indirect, incidental, special, or consequential damages, losses, or liabilities resulting from the use of the Tool, including but not limited to data loss, system downtime, unauthorized access, security breaches, or legal implications. It is strongly recommended that you use the Tool only on non-production environments or systems where you have full ownership and authorization.
|
20
|
-
|
21
|
-
### 4. Authorization to Scan
|
22
|
-
|
23
|
-
You must obtain explicit written permission from the website, application, or network owner before using the Tool to scan any system. Unauthorized use of this Tool on systems that you do not own or have explicit permission to test is strictly prohibited and may be illegal, potentially resulting in civil, criminal, or regulatory penalties. The Company disclaims all responsibility for any misuse of the Tool, including any legal consequences that may arise from unauthorized usage.
|
24
|
-
|
25
|
-
### 5. Ethical Usage Clause
|
26
|
-
|
27
|
-
The Tool is intended solely for ethical security testing purposes. By using this Tool, you agree to:
|
28
|
-
- Only scan systems for which you have obtained explicit written consent from the system owner.
|
29
|
-
- Not use the Tool for any illegal, unethical, or malicious activities, including but not limited to unauthorized hacking, data theft, denial of service attacks, or any form of exploitation.
|
30
|
-
- Ensure compliance with all applicable local, national, and international laws and regulations related to cybersecurity, data protection, and privacy.
|
31
|
-
- Refrain from sharing, distributing, or using the Tool for purposes that could harm, disrupt, or compromise any system without proper authorization.
|
32
|
-
|
33
|
-
Any misuse of this Tool for malicious purposes, unethical hacking, or unauthorized access to systems is strictly prohibited and will result in immediate termination of your access to the Tool, along with potential legal action by the Company.
|
34
|
-
|
35
|
-
### 6. No Legal or Professional Advice
|
36
|
-
|
37
|
-
The results and outputs of the Tool are provided for informational purposes only and should not be considered a substitute for professional cybersecurity advice. The Company is not liable for any decisions or actions taken based on the Tool’s findings. Always consult with a qualified cybersecurity professional before implementing any security measures based on the Tool’s results.
|
38
|
-
|
39
|
-
### 7. Limitation of Liability
|
40
|
-
|
41
|
-
To the fullest extent permitted by law, the Company, its affiliates, partners, and licensors shall not be liable for any direct, indirect, incidental, special, consequential, or punitive damages, including but not limited to loss of profits, revenue, data, or other intangible losses arising from or in connection with your use or misuse of the Tool, regardless of whether the Company has been advised of the possibility of such damages.
|
42
|
-
|
43
|
-
### 8. Indemnification
|
44
|
-
|
45
|
-
You agree to indemnify, defend, and hold harmless the Company, its officers, directors, employees, agents, and affiliates from any and all claims, liabilities, damages, losses, or expenses, including reasonable attorneys’ fees, arising out of or in any way connected with:
|
46
|
-
- Your access to or use of the Tool.
|
47
|
-
- Your violation of any terms of this Disclaimer.
|
48
|
-
- Your violation of any rights of a third party, including intellectual property rights.
|
49
|
-
- Your violation of any applicable laws or regulations.
|
50
|
-
|
51
|
-
### 9. Compliance with Laws
|
52
|
-
|
53
|
-
By using this Tool, you agree to comply with all applicable laws, regulations, and guidelines, including but not limited to data protection laws, cybersecurity laws, and any other regulations relevant to your jurisdiction. The Company is not responsible for any violations of the law resulting from your use of the Tool.
|
54
|
-
|
55
|
-
### 10. Changes to This Disclaimer
|
56
|
-
|
57
|
-
The Company reserves the right to modify, update, or change this Disclaimer at any time without prior notice. Your continued use of the Tool after any changes are made constitutes your acceptance of the revised Disclaimer. It is your responsibility to review this Disclaimer periodically for updates.
|
58
|
-
|
59
|
-
### 11. Governing Law and Jurisdiction
|
60
|
-
|
61
|
-
This Disclaimer shall be governed by and construed in accordance with the laws of India, without regard to its conflict of laws principles. Any disputes arising out of or related to this Disclaimer or your use of the Tool shall be subject to the exclusive jurisdiction of the courts located in Muzaffarpur, Bihar, India.
|
62
|
-
|
63
|
-
### 12. Contact Information
|
64
|
-
|
65
|
-
If you have any questions, concerns, or require further clarification regarding this Disclaimer, please contact us at:
|
66
|
-
|
67
|
-
- Email: **legal@esportzvio.com**
|
68
|
-
- Address: **Esportzvio Private Limited, Muzaffarpur, Bihar, 842001, India.**
|
package/docs/headers/details.md
DELETED
@@ -1,114 +0,0 @@
|
|
1
|
-
---
|
2
|
-
layout: default
|
3
|
-
title: Sentinel by Rebackk | Header Scanner Details
|
4
|
-
---
|
5
|
-
|
6
|
-
### **Understanding Header Security: Enhancing Your Web Application's Safety**
|
7
|
-
|
8
|
-
#### **Introduction**
|
9
|
-
As web applications grow increasingly complex, security becomes a paramount concern. One of the foundational layers of web security is ensuring that HTTP headers are correctly implemented. Misconfigured or missing security headers can make applications vulnerable to a wide range of attacks. In this guide, we'll explore the importance of security headers, common issues detected by Rebackk's Sentinel tool, and how you can enhance your web application's security.
|
10
|
-
|
11
|
-
---
|
12
|
-
|
13
|
-
### **What are HTTP Headers?**
|
14
|
-
HTTP headers are metadata sent between the client and the server, providing essential information about the request and response. Some headers are used to secure your application against common vulnerabilities, while others provide additional information that may be useful but could potentially leak sensitive details.
|
15
|
-
|
16
|
-
#### **Types of HTTP Headers**
|
17
|
-
|
18
|
-
1. **Security Headers**: These headers help protect your application from various attacks such as clickjacking, XSS, and downgrade attacks. Common security headers include `Strict-Transport-Security`, `X-Content-Type-Options`, and `Content-Security-Policy`.
|
19
|
-
|
20
|
-
2. **Informational Headers**: These headers provide metadata about the server and the application but can reveal critical details that attackers may exploit. For example, headers like `Server`, `X-Powered-By`, and `X-AspNet-Version` can give away information about the technology stack behind your web application.
|
21
|
-
|
22
|
-
---
|
23
|
-
|
24
|
-
### **Security Headers to Use**
|
25
|
-
|
26
|
-
1. **X-Content-Type-Options**
|
27
|
-
- **Description**: Prevents MIME-type sniffing by forcing the browser to respect the declared content type.
|
28
|
-
- **Recommendation**: `nosniff`
|
29
|
-
- **Why It Matters**: Ensures browsers interpret content as the type declared by the server and avoid potential vulnerabilities due to content type mismatches.
|
30
|
-
- **Example**:
|
31
|
-
```plaintext
|
32
|
-
X-Content-Type-Options: nosniff
|
33
|
-
```
|
34
|
-
|
35
|
-
2. **X-Frame-Options**
|
36
|
-
- **Description**: Mitigates clickjacking attacks by preventing the page from being embedded in an iframe.
|
37
|
-
- **Recommendation**: `DENY` or `SAMEORIGIN`
|
38
|
-
- **Why It Matters**: Prevents attackers from embedding your site in a malicious iframe and deceiving users into interacting with hidden UI elements.
|
39
|
-
- **Example**:
|
40
|
-
```plaintext
|
41
|
-
X-Frame-Options: DENY
|
42
|
-
```
|
43
|
-
|
44
|
-
3. **Strict-Transport-Security**
|
45
|
-
- **Description**: Enforces HTTPS and prevents downgrade attacks.
|
46
|
-
- **Recommendation**: `max-age=31536000; includeSubDomains; preload`
|
47
|
-
- **Why It Matters**: Ensures that browsers only communicate with your server over HTTPS, reducing the risk of man-in-the-middle attacks.
|
48
|
-
- **Example**:
|
49
|
-
```plaintext
|
50
|
-
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
|
51
|
-
```
|
52
|
-
|
53
|
-
4. **Content-Security-Policy (CSP)**
|
54
|
-
- **Description**: Prevents cross-site scripting (XSS) and data injection attacks.
|
55
|
-
- **Recommendation**: `script-src 'self'; object-src 'none'`
|
56
|
-
- **Why It Matters**: CSP allows you to specify trusted sources for content, mitigating risks from malicious third-party content.
|
57
|
-
- **Example**:
|
58
|
-
```plaintext
|
59
|
-
Content-Security-Policy: script-src 'self'; object-src 'none'
|
60
|
-
```
|
61
|
-
|
62
|
-
---
|
63
|
-
|
64
|
-
### **Informational Headers to Avoid**
|
65
|
-
|
66
|
-
1. **Server**
|
67
|
-
- **Description**: Reveals server software information.
|
68
|
-
- **Recommendation**: Remove or obfuscate this header.
|
69
|
-
- **Why It Matters**: Exposing the server's software details can help attackers tailor their attacks based on known vulnerabilities of specific technologies.
|
70
|
-
- **Example**:
|
71
|
-
```plaintext
|
72
|
-
Server: (Remove this header)
|
73
|
-
```
|
74
|
-
|
75
|
-
2. **X-Powered-By**
|
76
|
-
- **Description**: Reveals information about the framework (e.g., Express, PHP).
|
77
|
-
- **Recommendation**: Remove or set to a generic value.
|
78
|
-
- **Why It Matters**: Similar to the `Server` header, exposing framework details can make your application a target for attacks.
|
79
|
-
- **Example**:
|
80
|
-
```plaintext
|
81
|
-
X-Powered-By: (Remove or set to generic)
|
82
|
-
```
|
83
|
-
|
84
|
-
3. **X-AspNet-Version**
|
85
|
-
- **Description**: Reveals ASP.NET version.
|
86
|
-
- **Recommendation**: Remove this header.
|
87
|
-
- **Why It Matters**: Knowing the version of ASP.NET running on the server can provide attackers with the necessary details to exploit specific vulnerabilities.
|
88
|
-
- **Example**:
|
89
|
-
```plaintext
|
90
|
-
X-AspNet-Version: (Remove this header)
|
91
|
-
```
|
92
|
-
|
93
|
-
4. **X-Drupal-Dynamic-Cache**
|
94
|
-
- **Description**: Reveals Drupal cache status.
|
95
|
-
- **Recommendation**: Remove this header.
|
96
|
-
- **Why It Matters**: Information about your CMS or cache status could be used in crafting targeted attacks against specific vulnerabilities in those systems.
|
97
|
-
- **Example**:
|
98
|
-
```plaintext
|
99
|
-
X-Drupal-Dynamic-Cache: (Remove this header)
|
100
|
-
```
|
101
|
-
|
102
|
-
---
|
103
|
-
|
104
|
-
### **How Sentinel by Rebackk Helps**
|
105
|
-
|
106
|
-
Rebackk’s **Sentinel** tool scans your web application for misconfigured or missing headers and provides actionable recommendations for improvement. By automating header checks, Sentinel helps ensure that your web application follows security best practices and minimizes information leakage risks.
|
107
|
-
|
108
|
-
---
|
109
|
-
|
110
|
-
### **Conclusion**
|
111
|
-
|
112
|
-
Security headers play a crucial role in safeguarding your web applications from a variety of attacks. By ensuring that security headers are properly configured and informational headers are removed, you can enhance the overall security posture of your application. Sentinel by Rebackk helps automate this process, making it easier to maintain a secure web environment.
|
113
|
-
|
114
|
-
Start your journey towards a secure web experience by trying **Sentinel for free** today. Visit [Rebackk](https://rebackk.xyz) to learn more.
|
package/docs/headers/index.md
DELETED
@@ -1,73 +0,0 @@
|
|
1
|
-
---
|
2
|
-
layout: default
|
3
|
-
title: Sentinel by Rebackk | Header Scanner
|
4
|
-
---
|
5
|
-
## Sentinel by Rebackk | Header Scanner Intro
|
6
|
-
|
7
|
-
# 🛡️ Header Scanner
|
8
|
-
|
9
|
-
A robust Header vulnerability scanner that utilizes the output from the Spider crawler to check websites for missing or misconfigured security headers, which can lead to security risks and information leaks. The scanner supports concurrency, retries, and customizable timeouts, ensuring an efficient and thorough scan.
|
10
|
-
|
11
|
-
## Features
|
12
|
-
|
13
|
-
- **Leverages Spider Results**: Uses URLs collected by the Spider tool to perform targeted header vulnerability scanning.
|
14
|
-
- **Customizable Concurrency**: Supports multiple requests in parallel to speed up the scanning process.
|
15
|
-
- **Retries on Failure**: Automatically retries failed requests to enhance reliability.
|
16
|
-
- **Timeout Handling**: Configurable timeout for each request to handle slow responses.
|
17
|
-
- **Output in JSON Format**: Saves the scan results in a detailed JSON file.
|
18
|
-
- **Command Line Interface (CLI)**: Provides a simple and powerful CLI for quick scans.
|
19
|
-
|
20
|
-
## Installation and Usage
|
21
|
-
|
22
|
-
### Using NPM Exec
|
23
|
-
|
24
|
-
- Install the `sentinel-scanner` globally:
|
25
|
-
```bash
|
26
|
-
npm install -g sentinel-scanner
|
27
|
-
```
|
28
|
-
|
29
|
-
- Run the **Header Scanner** using the Spider results:
|
30
|
-
```bash
|
31
|
-
npx sentinel-scanner header -s <path_to_spider_results>
|
32
|
-
```
|
33
|
-
|
34
|
-
## Using PreBuilt Releases
|
35
|
-
|
36
|
-
- Download the [Latest Release](https://github.com/RebackkHQ/webapp-scanner/releases/latest).
|
37
|
-
- Extract the files.
|
38
|
-
- Run the Header Scanner from the command line:
|
39
|
-
```bash
|
40
|
-
npx . header -s <path_to_spider_results>
|
41
|
-
```
|
42
|
-
|
43
|
-
## Parameters
|
44
|
-
|
45
|
-
### Options
|
46
|
-
|
47
|
-
| Option | Alias | Type | Default | Description |
|
48
|
-
|--------------------|-------|----------|----------------------------------------------|------------------------------------------------------------------|
|
49
|
-
| `--spiderResults` | `-s` | `string` | - | Path to the spider results file (**required**). |
|
50
|
-
| `--output` | `-o` | `string` | `sentinel_output/headerResults_<timestamp>.json` | Path to save the output JSON file. |
|
51
|
-
| `--concurrency` | `-c` | `number` | 10 | Number of concurrent requests (range: 1-20). |
|
52
|
-
| `--timeout` | `-t` | `number` | 5000 (ms) | Timeout for each request in milliseconds (range: 0-25,000). |
|
53
|
-
| `--retries` | `-r` | `number` | 3 | Number of retries for each request (range: 0-10). |
|
54
|
-
|
55
|
-
## Example Commands
|
56
|
-
|
57
|
-
### Basic Scan
|
58
|
-
To scan for header vulnerabilities using Spider results:
|
59
|
-
```bash
|
60
|
-
npx sentinel-scanner header -s spiderResults.json
|
61
|
-
```
|
62
|
-
|
63
|
-
### Advanced Scan with Custom Output and Concurrency
|
64
|
-
To scan with custom concurrency, timeout, and output path:
|
65
|
-
```bash
|
66
|
-
npx sentinel-scanner header -s spiderResults.json -c 15 -t 8000 -o ./output/headerScanResults.json
|
67
|
-
```
|
68
|
-
|
69
|
-
### Default Output Path
|
70
|
-
If the `--output` option is not specified, the results will be saved to:
|
71
|
-
```
|
72
|
-
sentinel_output/headerResults_<timestamp>.json
|
73
|
-
```
|
package/docs/index.md
DELETED
@@ -1,82 +0,0 @@
|
|
1
|
-
---
|
2
|
-
layout: default
|
3
|
-
title: Sentinel by Rebackk
|
4
|
-
---
|
5
|
-
|
6
|
-
<div align="center" style="margin-top: 20px;">
|
7
|
-
<h1>Sentinel by Rebackk 🛡️</h1>
|
8
|
-
<p><em>(Work in Progress)</em></p>
|
9
|
-
<a href="https://www.sentinel.rebackk.xyz">
|
10
|
-
<img src='https://raw.githubusercontent.com/RebackkHQ/webapp-scanner/main/.github/assets/header.png' alt="Sentinel Logo" style="max-width: 100%; height: auto;">
|
11
|
-
</a>
|
12
|
-
</div>
|
13
|
-
|
14
|
-
<div align="center">
|
15
|
-
<h2>Open Source Web App Vulnerability Scanner</h2>
|
16
|
-
<p>
|
17
|
-
Helping developers and security teams detect critical vulnerabilities effortlessly.
|
18
|
-
</p>
|
19
|
-
<a href="https://www.sentinel.rebackk.xyz" class="btn btn-primary">Learn More »</a>
|
20
|
-
</div>
|
21
|
-
|
22
|
-
---
|
23
|
-
|
24
|
-
## 🔓 Try the Free Version, Upgrade for More
|
25
|
-
|
26
|
-
Sentinel is an open-source web app vulnerability scanner developed by [Rebackk](https://rebackk.xyz). The open-source edition provides essential security scanning capabilities, while our subscription plans unlock advanced features tailored for robust security.
|
27
|
-
|
28
|
-
<div style="padding: 20px; border-radius: 8px;">
|
29
|
-
<h3>Why Upgrade?</h3>
|
30
|
-
<ul>
|
31
|
-
<li><strong>Enhanced Vulnerability Coverage:</strong> Access to advanced checks for deeper scans.</li>
|
32
|
-
<li><strong>Automated Scanning:</strong> Schedule scans to maintain your app’s security posture.</li>
|
33
|
-
<li><strong>Premium Support:</strong> Priority assistance from our expert team.</li>
|
34
|
-
<li><strong>Advanced Reporting:</strong> Gain in-depth insights into potential risks.</li>
|
35
|
-
<li><strong>Integration Options:</strong> Connect with CI/CD pipelines, DevOps tools, and cloud services.</li>
|
36
|
-
</ul>
|
37
|
-
<a href="https://sentinel.rebackk.xyz" class="btn btn-success">Explore Paid Plans »</a>
|
38
|
-
</div>
|
39
|
-
|
40
|
-
---
|
41
|
-
|
42
|
-
## 🌟 Community & Support
|
43
|
-
<div align="center">
|
44
|
-
<a href="https://discord.gg/dCkyNUFm">Join our Discord</a> ·
|
45
|
-
<a href="https://www.sentinel.rebackk.xyz?ref=SentinelGithub">Visit Website</a> ·
|
46
|
-
<a href="https://github.com/RebackkHQ/webapp-scanner/issues">Report Issues</a>
|
47
|
-
</div>
|
48
|
-
|
49
|
-
---
|
50
|
-
|
51
|
-
## Contributing 🤝
|
52
|
-
|
53
|
-
We welcome contributions! If you want to help us build the best web vulnerability scanner, check our [contributing guidelines](https://github.com/RebackkHQ/webapp-scanner?tab=coc-ov-file). Feel free to submit issues and pull requests.
|
54
|
-
|
55
|
-
## Disclaimer
|
56
|
-
|
57
|
-
By using Sentinel, you agree to our [DISCLAIMER]({{ site.url }}{{ site.baseurl }}/disclaimer). Please read it carefully before using the tool.
|
58
|
-
|
59
|
-
**Key points:**
|
60
|
-
- Scan only systems you have explicit permission to test.
|
61
|
-
- The tool is provided "as-is" without any warranties.
|
62
|
-
- We are not liable for misuse, damages, or legal issues arising from using this tool.
|
63
|
-
|
64
|
-
---
|
65
|
-
|
66
|
-
## 📄 Detailed Documentation
|
67
|
-
|
68
|
-
- [Introduction]({{ site.url }}{{ site.baseurl }})
|
69
|
-
- [Spider Scanner]({{ site.url }}{{ site.baseurl }}/spider/)
|
70
|
-
- [XSS Scanner]({{ site.url }}{{ site.baseurl }}/xss/)
|
71
|
-
- [Vulnerability Details]({{ site.url }}{{ site.baseurl }}/xss/details)
|
72
|
-
- [HTTP Headers Scanner]({{ site.url }}{{ site.baseurl }}/headers/)
|
73
|
-
- [Vulnerability Details]({{ site.url }}{{ site.baseurl }}/headers/details)
|
74
|
-
- [SQL Injection Scanner]({{ site.url }}{{ site.baseurl }}/sql-injection/)
|
75
|
-
- [Vulnerability Details]({{ site.url }}{{ site.baseurl }}/sql-injection/details)
|
76
|
-
- [Ports Scanning]({{ site.url }}{{ site.baseurl }}/ports/)
|
77
|
-
- [Scoring]({{ site.url }}{{ site.baseurl }}/scoring/)
|
78
|
-
- [Disclaimer]({{ site.url }}{{ site.baseurl }}/disclaimer)
|
79
|
-
|
80
|
-
<div align="center">
|
81
|
-
<a href="https://www.sentinel.rebackk.xyz" class="btn btn-primary">Get Started »</a>
|
82
|
-
</div>
|
package/docs/ports/index.md
DELETED
@@ -1,86 +0,0 @@
|
|
1
|
-
---
|
2
|
-
layout: default
|
3
|
-
title: Sentinel by Rebackk | Ports Scanner
|
4
|
-
---
|
5
|
-
|
6
|
-
## Sentinel by Rebackk | Ports Scanner Intro
|
7
|
-
|
8
|
-
# 🛡️ Ports Scanner
|
9
|
-
|
10
|
-
The **Ports Scanner** is a powerful tool designed to identify open ports on a target website, leveraging the results of a Spider crawl. It provides customizable settings such as port ranges, concurrency, and timeouts, ensuring efficient and thorough scanning for open ports.
|
11
|
-
|
12
|
-
## Features
|
13
|
-
|
14
|
-
- **Leverages Spider Results**: Uses URLs from the Spider tool to perform port scanning on relevant website endpoints.
|
15
|
-
- **Customizable Port Range**: Scan for open ports within a specified range or across a wide range (1-65535).
|
16
|
-
- **Concurrency Support**: Perform multiple scans simultaneously to speed up the process.
|
17
|
-
- **Timeout Handling**: Configurable timeout for each request to manage slow or unresponsive services.
|
18
|
-
- **Allow List**: Option to scan specific ports or allow certain ports to be skipped.
|
19
|
-
- **Output in JSON Format**: Stores scan results in an easy-to-use JSON file for further analysis.
|
20
|
-
- **Command Line Interface (CLI)**: Simple and flexible CLI for on-the-go scanning.
|
21
|
-
|
22
|
-
## Installation and Usage
|
23
|
-
|
24
|
-
### Using NPM Exec
|
25
|
-
|
26
|
-
- Install the `sentinel-scanner` globally:
|
27
|
-
```bash
|
28
|
-
npm install -g sentinel-scanner
|
29
|
-
```
|
30
|
-
|
31
|
-
- Run the **Ports Scanner** using Spider results:
|
32
|
-
```bash
|
33
|
-
npx sentinel-scanner ports -s <path_to_spider_results>
|
34
|
-
```
|
35
|
-
|
36
|
-
## Using PreBuilt Releases
|
37
|
-
|
38
|
-
- Download the [Latest Release](https://github.com/RebackkHQ/webapp-scanner/releases/latest).
|
39
|
-
- Extract the files.
|
40
|
-
- Run the Ports Scanner from the command line:
|
41
|
-
```bash
|
42
|
-
npx . ports -s <path_to_spider_results>
|
43
|
-
```
|
44
|
-
|
45
|
-
## Parameters
|
46
|
-
|
47
|
-
### Options
|
48
|
-
|
49
|
-
| Option | Alias | Type | Default | Description |
|
50
|
-
|--------------------|-------|----------|------------------------------------------------|-------------------------------------------------------------------|
|
51
|
-
| `--spiderResults` | `-s` | `string` | - | Path to the spider results file (**required**). |
|
52
|
-
| `--output` | `-o` | `string` | `sentinel_output/portsResults_<timestamp>.json` | Path to save the output JSON file. |
|
53
|
-
| `--concurrency` | `-c` | `number` | 10 | Number of concurrent requests (range: 1-20). |
|
54
|
-
| `--timeout` | `-t` | `number` | 5000 (ms) | Timeout for each request in milliseconds (range: 0-25,000). |
|
55
|
-
| `--fromPort` | `-fp` | `number` | 1 | Starting port to scan (range: 1-65535). |
|
56
|
-
| `--toPort` | `-tp` | `number` | 8080 | Ending port to scan (range: 1-65535). |
|
57
|
-
| `--allowList` | `-al` | `array` | [22, 80, 443] | List of ports to allow (will not be scanned). |
|
58
|
-
|
59
|
-
## Example Commands
|
60
|
-
|
61
|
-
### Basic Scan
|
62
|
-
To scan for open ports using Spider results:
|
63
|
-
```bash
|
64
|
-
npx sentinel-scanner ports -s spiderResults.json
|
65
|
-
```
|
66
|
-
|
67
|
-
### Advanced Scan with Custom Output and Concurrency
|
68
|
-
To scan with custom concurrency, timeout, and output path:
|
69
|
-
```bash
|
70
|
-
npx sentinel-scanner ports -s spiderResults.json -c 15 -t 8000 -o ./output/portsScanResults.json
|
71
|
-
```
|
72
|
-
|
73
|
-
### Default Output Path
|
74
|
-
If the `--output` option is not specified, the results will be saved to:
|
75
|
-
```
|
76
|
-
sentinel_output/portsResults_<timestamp>.json
|
77
|
-
```
|
78
|
-
|
79
|
-
## Example Output
|
80
|
-
|
81
|
-
The Ports Scanner will generate a JSON file that contains detailed results about each scanned port, including:
|
82
|
-
|
83
|
-
- **Port Number**: The port that was scanned.
|
84
|
-
- **Status**: Whether the port is open or closed.
|
85
|
-
- **Target URL**: The URL that was scanned.
|
86
|
-
- **Error Message**: If any error occurred during the scan.
|
package/docs/scoring.md
DELETED
@@ -1,91 +0,0 @@
|
|
1
|
-
---
|
2
|
-
layout: default
|
3
|
-
title: Sentinel by Rebackk | Scoring System
|
4
|
-
---
|
5
|
-
|
6
|
-
# Sentinel Vulnerability Scoring System
|
7
|
-
|
8
|
-
The Sentinel vulnerability scoring system is built to help security analysts and engineers understand the severity of potential vulnerabilities within their systems. By leveraging the Common Vulnerability Scoring System (CVSS) standards, our system calculates a score between **0.1** and **10.0**, categorizing vulnerabilities into different severity levels. This ensures that organizations can prioritize their remediation efforts effectively.
|
9
|
-
|
10
|
-
## Understanding the CVSS Score
|
11
|
-
|
12
|
-
The **CVSS score** is generated based on multiple factors such as attack vector, access complexity, privileges required, and user interaction. Our scoring function uses CVSS v3.1 guidelines to provide a reliable assessment. The scoring mechanism is as follows:
|
13
|
-
|
14
|
-
### CVSS Metrics
|
15
|
-
|
16
|
-
- **Access Vector (AV)**:
|
17
|
-
- `N` (Network): The attacker can exploit the vulnerability remotely.
|
18
|
-
- `A` (Adjacent): The attacker needs to be on the same network segment as the target.
|
19
|
-
- `L` (Local): The attacker requires local access to the target.
|
20
|
-
- `P` (Physical): The attacker needs physical access to the system.
|
21
|
-
|
22
|
-
- **Access Complexity (AC)**:
|
23
|
-
- `L` (Low): The attack does not require special conditions.
|
24
|
-
- `H` (High): The attack requires special conditions or circumstances.
|
25
|
-
|
26
|
-
- **Privileges Required (PR)**:
|
27
|
-
- `N` (None): The attacker does not need any privileges.
|
28
|
-
- `L` (Low): The attacker needs basic user privileges.
|
29
|
-
- `H` (High): The attacker needs elevated privileges.
|
30
|
-
|
31
|
-
- **User Interaction (UI)**:
|
32
|
-
- `N` (None): No user interaction is needed.
|
33
|
-
- `P` (Passive): User interaction is necessary but the attack is passive.
|
34
|
-
- `A` (Active): Active user interaction is required.
|
35
|
-
|
36
|
-
- **Scope (S)**:
|
37
|
-
- `N` (None): No impact beyond the vulnerable system.
|
38
|
-
- `C` (Changed): Exploitation of the vulnerability can affect other systems.
|
39
|
-
|
40
|
-
- **Confidentiality Impact (C)**:
|
41
|
-
- `N` (None): No impact on confidentiality.
|
42
|
-
- `L` (Low): Partial impact on confidentiality.
|
43
|
-
- `H` (High): Complete impact on confidentiality.
|
44
|
-
|
45
|
-
- **Integrity Impact (I)**:
|
46
|
-
- `N` (None): No impact on integrity.
|
47
|
-
- `L` (Low): Partial impact on integrity.
|
48
|
-
- `H` (High): Complete impact on integrity.
|
49
|
-
|
50
|
-
- **Availability Impact (A)**:
|
51
|
-
- `N` (None): No impact on availability.
|
52
|
-
- `L` (Low): Partial impact on availability.
|
53
|
-
- `H` (High): Complete impact on availability.
|
54
|
-
|
55
|
-
## Severity Levels
|
56
|
-
|
57
|
-
Sentinel uses the following classification based on the CVSS score to determine the severity level:
|
58
|
-
|
59
|
-
| **CVSS v3 Score Range** | **Severity Level** |
|
60
|
-
|-------------------------|--------------------|
|
61
|
-
| **0.1 - 3.9** | Low |
|
62
|
-
| **4.0 - 6.9** | Medium |
|
63
|
-
| **7.0 - 8.9** | High |
|
64
|
-
| **9.0 - 10.0** | Critical |
|
65
|
-
| **0.0** | Info |
|
66
|
-
|
67
|
-
## Detailed Definitions of Severity Levels
|
68
|
-
|
69
|
-
### Critical
|
70
|
-
- **Score**: 9.0 - 10.0
|
71
|
-
- **Description**: Vulnerabilities classified as critical are likely to result in a complete compromise of servers or infrastructure. These attacks are typically straightforward, requiring no special privileges, authentication, or social engineering. Exploitation often results in root-level access or control over infrastructure components.
|
72
|
-
|
73
|
-
### High
|
74
|
-
- **Score**: 7.0 - 8.9
|
75
|
-
- **Description**: These vulnerabilities allow attackers to compromise the confidentiality, integrity, or availability of the system. No specialized access or user interaction is needed, and exploitation may lead to lateral movement within the network. Though difficult to exploit, successful attacks can result in significant data breaches or elevated privileges.
|
76
|
-
|
77
|
-
### Medium
|
78
|
-
- **Score**: 4.0 - 6.9
|
79
|
-
- **Description**: Medium-severity vulnerabilities require some level of specialized access or user interaction. Exploitation may provide partial access to systems or be used in conjunction with other vulnerabilities to escalate attacks. These vulnerabilities often require social engineering or presence on the same local network.
|
80
|
-
|
81
|
-
### Low
|
82
|
-
- **Score**: 0.1 - 3.9
|
83
|
-
- **Description**: Low-severity vulnerabilities present limited risk to confidentiality, integrity, or availability. Successful exploitation may require complex conditions, specialized access, or chaining with other vulnerabilities. Typically, these are not critical to immediate operations but should be addressed over time.
|
84
|
-
|
85
|
-
### Info
|
86
|
-
- **Score**: 0.0
|
87
|
-
- **Description**: These are not true vulnerabilities but may indicate potential weaknesses. They provide information that could be used in future attacks, such as system configuration details or application behaviors. It's recommended to minimize information disclosure wherever possible.
|
88
|
-
|
89
|
-
## Conclusion
|
90
|
-
|
91
|
-
Understanding the severity of vulnerabilities is essential to protecting your systems. The Sentinel Scoring System provides a robust way to assess risks and prioritize remediation efforts, helping you focus on what matters most to your organization's security.
|
package/docs/spider/index.md
DELETED
@@ -1,61 +0,0 @@
|
|
1
|
-
---
|
2
|
-
layout: default
|
3
|
-
title: Sentinel by Rebackk | Spider Intro
|
4
|
-
---
|
5
|
-
# 🕷️ Spider
|
6
|
-
|
7
|
-
A powerful and customizable web crawler designed to scan websites and extract internal links. This tool is capable of handling concurrency, retries, and timeouts while providing detailed logging for each step. It can be easily used via a CLI command.
|
8
|
-
|
9
|
-
## Features
|
10
|
-
- **Customizable Crawl Depth**: Define how deep the scanner should go within the site structure.
|
11
|
-
|
12
|
-
- **Concurrency Support**: Perform multiple requests in parallel to speed up crawling.
|
13
|
-
|
14
|
-
- **Retries on Failure**: Automatically retries fetching URLs on failure.
|
15
|
-
|
16
|
-
- **Timeout Handling**: Configurable timeout for each request.
|
17
|
-
|
18
|
-
- **User-Agent Rotation**: Randomly rotates User-Agent strings for each request to avoid detection.
|
19
|
-
|
20
|
-
- **Extracts Internal Links**: Filters out external links and assets, focusing on internal links.
|
21
|
-
|
22
|
-
- **Command Line Interface (CLI)**: Easy-to-use CLI for quick scans.
|
23
|
-
|
24
|
-
|
25
|
-
## Installation and Usage
|
26
|
-
|
27
|
-
### Using NPM Exec
|
28
|
-
|
29
|
-
- Install The `sentinel-scanner` globally
|
30
|
-
> ```bash
|
31
|
-
> npm install -g sentinel-scanner
|
32
|
-
> ```
|
33
|
-
|
34
|
-
- You Can Start The **Spider** Crawler Now
|
35
|
-
> ```bash
|
36
|
-
> npx sentinel-scanner spider -u <url_to_scan>
|
37
|
-
> ```
|
38
|
-
|
39
|
-
## Using PreBuilt Releases
|
40
|
-
|
41
|
-
- Download The [Latest Release](https://github.com/RebackkHQ/webapp-scanner/releases/latest)
|
42
|
-
|
43
|
-
- Extract The Code
|
44
|
-
|
45
|
-
- Run The CLI Tool Using Command Line
|
46
|
-
> ```bash
|
47
|
-
> npx . spider -u <url_to_scan>
|
48
|
-
> ```
|
49
|
-
|
50
|
-
## Parameters
|
51
|
-
|
52
|
-
### Options
|
53
|
-
|
54
|
-
| Option | Alias | Type | Default | Description |
|
55
|
-
|------------------|-------|----------|------------------|-------------------------------------------|
|
56
|
-
| `--url` | `-u` | `string` | - | The URL of the website to scan (**required**). |
|
57
|
-
| `--depth` | `-d` | `number` | 250 | Maximum depth to crawl. |
|
58
|
-
| `--concurrency` | `-c` | `number` | 10 | Number of concurrent requests. |
|
59
|
-
| `--timeout` | `-t` | `number` | 5000 (ms) | Timeout for each request in milliseconds. |
|
60
|
-
| `--retries` | `-r` | `number` | 3 | Number of retries for each request. |
|
61
|
-
| `--output` | `-o` | `string` | `sentinel_output/spider_<timestamp>.json` | Output file to save results in JSON format. |
|