Environment configuration Run&Go
This project aims to avoid cumbersome configurations when working in a new environment.
These instructions will get you a copy of the environment configuration up and running on your local machine.
git clone https://github.com/CarlesLlobet/dotfiles.git
To apply this configurations you'll just need one of the following systems:
- MacOSX (Still under construction, not tested)
- Linux
You can configure the basic profile by executing:
sudo setup.sh
Select specific profiles or silent mode with parameters:
Usage: setup.sh [-h | --help] [-y | --yes] [-p | --profile <profile>]
Profiles:
[b | basic] (default)
[f | full]
[d | developer]
[p | pentester]
[s | server]
To customize this dotfiles with your own tools, you just have to add/remove APT packages in the packagelists of each profile, and/or copy installscripts for manual installation/building of tools into the proper installscripts profile folder.
This specific package is always installed in Linux (if not in Kali distribution) from the setup script in order to add repositories easily.
- software-properties-common (APT) - Useful to add and remove PPAs (repositories) to apt
Basic packages needed in any environment.
- android-platform-tools (Brew) - To have ADB
- bash (Brew) - The GNU Project's shell—the Bourne Again SHell
- bash-completion (Brew) - a collection of command line command completions for the Bash shell
- curl (Brew) - To make requests from command line
- Docker (Brew) - Application virtualization software
- flameshot (Brew) - Powerful, yet simple to use open-source screenshot software.
- iterm2 (Brew) - Terminal Emulator for macOS that does amazing things
- gnupg2 (Brew) - OpenPGP implementation to cypher and decypher
- htop (Brew) - Interactive Process Viewer
- pandoc (Brew) - Converting Markup files to other formats (docx, ppt, etc.)
- python3-pip (Brew) - Package Installer for Python
- ranger (Brew) - Filemanager from Console, inspired in Vim
- thefuck (Brew) - Command line Typo Autocorrector
- tiles (Brew) - The window manager for macOS
- tmux (Brew) - Terminal Multiplexer
- vim (Brew) - The Text Editor
- xclip (Brew) - Copy/Paste from Command line
Specific packages for developers.
- autoconf (Brew) - Required by automake (below)
- automake (Brew) - To generate Makefiles regardless of the environment (Linux dist, installed packages,...)
- cscope (Brew) - Browse C Source Code (even C++ and Java)
- ctags (Brew) - Multilanguage implementation of Ctags to identify functions
- libc6-dev (Brew) - GNU C development library
Specific packages for cybersecurity engineers.
- assetfinder (Go) - Find domains and subdomains potentially related to a given domain
- binwalk (Brew) - RE tool to analyze and extract firmware images
- cherrytree (Brew) - A hierarchical note taking application
- cscope (APT) - Browse C Source Code (even C++ and Java)
- dalfox (Go) - A powerful open-source XSS scanner
- dnsx (Go) - A fast and multi-purpose DNS toolkit designed for running DNS queries
- feroxbuster (Brew) - A simple, fast, recursive content discovery tool written in Rust
- ffuf (Go) - A fast web fuzzer written in Go
- getallurls (Go) - fetches known URLs from AlienVault's Open Threat Exchange, the Wayback Machine, Common Crawl, and URLScan for any given domain
- gobuster (Go) - Gobuster is a tool used to brute-force URIs, DNS subdomains, Virtual Host names, S3 buckets, and many more
- hakrawler (Go) - Fast golang web crawler for gathering URLs and JavaScript file locations
- kxss (Go) - Checks URL params for returned data to look for XSS
- nmap (Brew) - Network Discovery Scanner
- nuclei (Go) - Fast and customizable vulnerability scanner based on YAML templates
- shuffledns (Go) - wrapper around massdns to enumerate valid subdomains using active bruteforce
- subjack (Go) - Subdomain Takeover tool
- SynackAPI (Pip) - A Python Library designed to facilitate interaction with Synack's undocumented API endpoints
- qemu (Brew) - Virtual Machine Manager
- virt-manager (Brew) - Desktop GUI to manage VMs
- virt-viewer (Brew) - Desktop GUI to view VM guests
- waybackurls (Go) - Fetch all the URLs that the Wayback Machine knows about for a domain
- whireshark (Brew) - Network protocol analyzer
Specific packages for servers.
- net-tools (Brew) - Collection of network utilities for Linux
All of the packets from profiles mentioned above.
This specific package is always installed in Linux (if not in Kali distribution) from the setup script in order to add repositories easily.
- software-properties-common (APT) - Useful to add and remove PPAs (repositories) to apt
Basic packages needed in any environment.
- apt-transport-https (APT) - To download from APT via HTTPS
- bash (APT) - The GNU Project's shell—the Bourne Again SHell
- bash-completion (APT) - a collection of command line command completions for the Bash shell
- build-essential (APT) - C and C++ compilers, with libc and dpkg-dev, make, etc.
- ca-certificates (APT) - To use CA Certificates
- curl (APT) - To make requests from command line
direnv (APT) - Loads different ENV variables depending on the PWD automatically- dos2unix (APT) - DOS/MAC to UNIX text file format converter
- flameshot (Snap) - Powerful, yet simple to use open-source screenshot software.
- git (APT) - The only VCS that really matters
- golang-go (APT) - The Go Programming Language
- gom (APT) - The Go Manager
- gnupg2 (APT) - OpenPGP implementation to cypher and decypher
- gnutls-bin (APT) - TLS SSL and DTLS to do secure communications
- htop (APT) - Interactive Process Viewer
- libssl-dev (APT) - Dependency for OpenSSL
- openjdk-17-jdk (APT) - Java Development Kit to have JRE for Java based applications
- pandoc (APT) - Converting Markup files to other formats (docx, ppt, etc.)
- python-pygments (APT) - Python syntax highlighter
- python3-pip (APT) - Package Installer for Python
- ranger (APT) - Filemanager from Console, inspired in Vim
- snap (APT) - The app store for Linux
- tar (APT) - GZip / BZip2 / XZ Compression utility
- thefuck (APT) - Command line Typo Autocorrector
- tmux (APT) - Terminal Multiplexer
- unzip (APT) - ZIP Compression utility
- vim (APT) - The Text Editor
- xclip (APT) - Copy/Paste from Command line
Specific packages for developers.
- autotools-dev (APT) - Required by automake (below)
- automake (APT) - To generate Makefiles regardless of the environment (Linux dist, installed packages,...)
- cscope - Browse C Source Code (even C++ and Java)
- exuberant-ctags (APT) - Multilanguage implementation of Ctags to identify functions
- guake (APT) - Top-down terminal for Gnome
- libc6-dev (APT) - GNU C development library
- libpoppler-glib-dev (APT) - To render PDF from console
- qemu-kvm (APT)- To use CPU extensions (HVM) instead of native Qemu using emulation
- qemu (APT) - Virtual Machine Manager
- scrot (APT) - SCReen shOT utility from command line
- virt-manager (APT) - Desktop GUI to manage VMs
- virt-viewer (APT) - Desktop GUI to view VM guests
Specific packages for cybersecurity engineers.
- afl-triforce (Script) - AFL/QEMU fuzzer with full-system emulation
- assetfinder (Go) - Find domains and subdomains potentially related to a given domain
- binwalk (APT) - RE tool to analyze and extract firmware images
- ccpchecker (Script) - Tool for Source Code Review (Static analysis of code)
- cscope (APT) - Browse C Source Code (even C++ and Java)
- dalfox (Go) - A powerful open-source XSS scanner
- dnsx (Go) - A fast and multi-purpose DNS toolkit designed for running DNS queries
- exuberant-ctags (APT) - Multilanguage implementation of Ctags to identify functions
- feroxbuster (Script) - A simple, fast, recursive content discovery tool written in Rust
- ffuf (Go) - A fast web fuzzer written in Go
- flawfinder (Pip) - C/C++ source code analyzer
- getallurls (Go) - fetches known URLs from AlienVault's Open Threat Exchange, the Wayback Machine, Common Crawl, and URLScan for any given domain
- gef (Script) - GDB Plugin with extended features
- ghidra (Script) - RE suite (Disassembler, Decompiler, ...)
- gobuster (Go) - Gobuster is a tool used to brute-force URIs, DNS subdomains, Virtual Host names, S3 buckets, and many more
- hakrawler (Go) - Fast golang web crawler for gathering URLs and JavaScript file locations
- katoolin (Script) - To install automatically Kali Linux Tools
- kxss (Go) - Checks URL params for returned data to look for XSS
- masscan (APT) - Internet-scale port scanner
- nmap (APT) - Network Discovery Scanner
- nuclei (Go) - Fast and customizable vulnerability scanner based on YAML templates
- radamsa (Script) - General purpose Fuzzer
- radare2 (Script) - RE suite (Disassembler, Decompiler, Debugger, ...)
- ropper (Pip) - Display useful info to find ROP chains
- sandmap (Script) - tool supporting network and system reconnaissance using the massive Nmap engine
- shuffledns (Go) - wrapper around massdns to enumerate valid subdomains using active bruteforce
- sqlmap (Script) - Database Pentest tool
- subjack (Go) - Subdomain Takeover tool
- SynackAPI (Pip) - A Python Library designed to facilitate interaction with Synack's undocumented API endpoints
- waybackurls (Go) - Fetch all the URLs that the Wayback Machine knows about for a domain
- whireshark (APT) - Network protocol analyzer
- z3 (Script) - Solver for Symbolic Execution
Specific packages for servers.
- Docker (Script) - Application virtualization software
- net-tools (APT) - Collection of network utilities for Linux
- openssh-server (APT) - To create an SSH Server
All of the packets from profiles mentioned above.
- Bash - The Bourne Again SHell
- Carles Llobet - Complete work - Github
See also the list of contributors who participated in this project.
- Project inspired by https://github.com/rayenok/dotfiles
- Project inspired by https://github.com/bketelsen/dotfiles