The goal of Pown.js is to rapidly create information security tools and develop new security testing and detection techniques by taking advantage of the vast JavaScript software eco-system.
The only prerequisite is Node. Install pown the same way all other global modules are installed.
$ npm install -g pown@latest
We are constantly releasing new features. The following command will help you update.
$ pown update
$ pown modules update
@pdp: Pown.js was started in early 2017 as a collection of scripts to scratch a personal itch. At that time I was busy with setting up SecApps and I had a lot of useful snippets all over the code-base which I wanted to share as an opensource code. So Pown.js was born.
While the project started in 2017, versions ~0 and ~1 don't have much to show for. The tooling was sort of integrated with the capabilities of SecApps and as a result, it appeared more of extension to a commercial penetration testing software then an opensource project with a life of its own. In Late 2018 and early 2019, the project took a completely different direction with version ~2. Pown is now a lot more independent and set for success.
While you may find that Pown is covering areas already covered by other tools, the goal is not to just recreate them in JavaScript but to make them better by improving performance, and more importantly, by adding additional features. The goal is rapid prototyping.
The main philosophy behind Pown.js is that everything must run independently as much as possible so that code can be used outside of Pown itself. This anti-framework approach if you like. In fact, you can build your own tool in JavaScript and then add a single line to your
package.json
file with reference to your command line options to make it available in pown. Pown will do the rest.
- 2x Fury - rapid, breaking changes
- 1x Proto - largely experimental
- 0x Alpha - the beginnings
Feel free to use the following logos as you see fit.
88888b. .d88b. 888 888 888 88888b.
888 "88b d88""88b 888 888 888 888 "88b
888 888 888 888 888 888 888 888 888
888 d88P Y88..88P Y88b 888 d88P 888 888
88888P" "Y88P" "Y8888888P" 888 888
888
888 JS
888
+----------------------------------------------+
| |
| 88888b. .d88b. 888 888 888 88888b. |
| 888 "88b d88""88b 888 888 888 888 "88b |
| 888 888 888 888 888 888 888 888 888 |
| 888 d88P Y88..88P Y88b 888 d88P 888 888 |
| 88888P" "Y88P" "Y8888888P" 888 888 |
| 888 d8b |
| 888 Y8P |
| 888 |
| 8888 .d8888b |
| "888 88K |
| 888 "Y8888b. |
| 888 X88 |
| 888 88888P' |
| 888 |
| d88P |
| 888P" |
| |
+----------------------------------------------+
___ ___ ___ _ ___ ___ ___
/ __| __/ __| /_\ | _ \ _ \/ __|
\__ \ _| (__ / _ \| _/ _/\__ \
|___/___\___/_/ \_\_| |_| |___/
https://secapps.com
All modules are published under the MIT license.
MIT License
Copyright (c) 2017-2022 pownjs
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Replace COMMAND
with the correct command name.
## Quickstart
This tool is meant to be used as part of [Pown.js](https://github.com/pownjs/pown) but it can be invoked separately as an independent tool.
Install Pown first as usual:
```sh
$ npm install -g pown@latest
```
Invoke directly from Pown:
```sh
$ pown COMMAND
```
### Library Use
Install this module locally from the root of your project:
```sh
$ npm install @pown/COMMAND --save
```
Once done, invoke pown cli:
```sh
$ POWN_ROOT=. ./node_modules/.bin/pown-cli COMMAND
```
You can also use the global pown to invoke the tool locally:
```sh
$ POWN_ROOT=. pown COMMAND
```