mirror of
https://github.com/whoisdsmith/BOOKMRKS-MTHRFCKR.git
synced 2025-04-29 14:14:37 +02:00
3603 lines
184 KiB
Markdown
3603 lines
184 KiB
Markdown
[](https://github.com/trimstray/the-book-of-secret-knowledge)
|
||
|
||
"_Knowledge is powerful, be careful how you use it!_"
|
||
|
||
#### A collection of inspiring lists, manuals, cheatsheets, blogs, hacks, one-liners, cli/web tools, and more
|
||
|
||
___
|
||
|
||
## 📔 What is it?
|
||
|
||
This repository is a collection of various materials and tools that I use every day in my work. It contains a lot of useful information gathered in one piece. It is an invaluable source of knowledge for me that I often look back on.
|
||
|
||
## 🚻 For whom?
|
||
|
||
For everyone, really. Here everyone can find their favourite tastes. But to be perfectly honest, it is aimed towards System and Network administrators, DevOps, Pentesters, and Security Researchers.
|
||
|
||
## 📰 RSS Feed & Updates
|
||
|
||
GitHub exposes an [RSS/Atom](https://github.com/trimstray/the-book-of-secret-knowledge/commits.atom) feed of the commits, which may also be useful if you want to be kept informed about all changes.
|
||
|
||
## 💢 Table of Contents
|
||
|
||
Only main chapters:
|
||
|
||
- **[CLI Tools](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#cli-tools-toc)**
|
||
- **[GUI Tools](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#gui-tools-toc)**
|
||
- **[Web Tools](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#web-tools-toc)**
|
||
- **[Systems/Services](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#systemsservices-toc)**
|
||
- **[Networks](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#networks-toc)**
|
||
- **[Containers/Orchestration](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#containersorchestration-toc)**
|
||
- **[Manuals/Howtos/Tutorials](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#manualshowtostutorials-toc)**
|
||
- **[Inspiring Lists](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#inspiring-lists-toc)**
|
||
- **[Blogs/Podcasts/Videos](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#blogspodcastsvideos-toc)**
|
||
- **[Hacking/Penetration Testing](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#hackingpenetration-testing-toc)**
|
||
- **[Your daily knowledge and news](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#your-daily-knowledge-and-news-toc)**
|
||
- **[Other Cheat Sheets](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#other-cheat-sheets-toc)**
|
||
- **[One-liners](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#one-liners-toc)**
|
||
- **[Shell functions](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#shell-functions-toc)**
|
||
|
||
## 🔱 The Book of Secret Knowledge (Chapters)
|
||
|
||
#### CLI Tools [\[TOC\]](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#anger-table-of-contents)
|
||
|
||
##### ▪️ Shells
|
||
|
||
🔸 [**GNU Bash**](https://www.gnu.org/software/bash/) - is an sh-compatible shell that incorporates useful features from the Korn shell and C shell.
|
||
🔸 [**Zsh**](https://www.zsh.org/) - is a shell designed for interactive use, although it is also a powerful scripting language.
|
||
🔸 [**tclsh**](https://tcl-lang.org/) - is a very powerful cross-platform shell, suitable for a huge range of uses.
|
||
🔸 [**bash-it**](https://github.com/Bash-it/bash-it) - is a framework for using, developing and maintaining shell scripts and custom commands.
|
||
🔸 [**Oh My ZSH!**](https://ohmyz.sh/) - is the best framework for managing your Zsh configuration.
|
||
🔸 [**Oh My Fish**](https://github.com/oh-my-fish/oh-my-fish) - the Fishshell framework.
|
||
🔸 [**Starship**](https://github.com/starship/starship) - the cross-shell prompt written in Rust.
|
||
🔸 [**powerlevel10k**](https://github.com/romkatv/powerlevel10k) - is a fast reimplementation of Powerlevel9k ZSH theme.
|
||
|
||
##### ▪️ Shell plugins
|
||
|
||
🔸 [**z**](https://github.com/rupa/z) - tracks the folder you use the most and allow you to jump, without having to type the whole path.
|
||
🔸 [**fzf**](https://github.com/junegunn/fzf) - is a general-purpose command-line fuzzy finder.
|
||
🔸 [**zsh-autosuggestions**](https://github.com/zsh-users/zsh-autosuggestions) - Fish-like autosuggestions for Zsh.
|
||
🔸 [**zsh-syntax-highlighting**](https://github.com/zsh-users/zsh-syntax-highlighting) - Fish shell like syntax highlighting for Zsh.
|
||
🔸 [**Awesome ZSH Plugins**](https://github.com/unixorn/awesome-zsh-plugins) - A list of frameworks, plugins, themes and tutorials for ZSH.
|
||
|
||
##### ▪️ Managers
|
||
|
||
🔸 [**Midnight Commander**](https://midnight-commander.org/) - is a visual file manager, licensed under GNU General Public License.
|
||
🔸 [**ranger**](https://github.com/ranger/ranger) - is a VIM-inspired filemanager for the console.
|
||
🔸 [**nnn**](https://github.com/jarun/nnn) - is a tiny, lightning fast, feature-packed file manager.
|
||
🔸 [**screen**](https://www.gnu.org/software/screen/) - is a full-screen window manager that multiplexes a physical terminal.
|
||
🔸 [**tmux**](https://github.com/tmux/tmux/wiki) - is a terminal multiplexer, lets you switch easily between several programs in one terminal.
|
||
🔸 [**tmux-cssh**](https://github.com/peikk0/tmux-cssh) - is a tool to set comfortable and easy to use functionality, clustering and synchronizing tmux-sessions.
|
||
|
||
##### ▪️ Text editors
|
||
|
||
🔸 [**vi**](http://ex-vi.sourceforge.net/) - is one of the most common text editors on Unix.
|
||
🔸 [**vim**](https://www.vim.org/) - is a highly configurable text editor.
|
||
🔸 [**emacs**](https://www.gnu.org/software/emacs/) - is an extensible, customizable, free/libre text editor, and more.
|
||
🔸 [**micro**](https://github.com/zyedidia/micro) - is a modern and intuitive terminal-based text editor.
|
||
🔸 [**neovim**](https://neovim.io/) - is a free open source, powerful, extensible and usable code editor.
|
||
🔸 [**spacemacs**](https://www.spacemacs.org/) - a community-driven Emacs distribution.
|
||
🔸 [**spacevim**](https://spacevim.org/) - a community-driven vim distribution.
|
||
|
||
##### ▪️ Files and directories
|
||
|
||
🔸 [**fd**](https://github.com/sharkdp/fd) - is a simple, fast and user-friendly alternative to find.
|
||
🔸 [**ncdu**](https://dev.yorhel.nl/ncdu) - is an easy to use, fast disk usage analyzer.
|
||
|
||
##### ▪️ Network
|
||
|
||
🔸 [**PuTTY**](https://www.putty.org/) - is an SSH and telnet client, developed originally by Simon Tatham.
|
||
🔸 [**Mosh**](https://mosh.org/) - is a SSH wrapper designed to keep a SSH session alive over a volatile connection.
|
||
🔸 [**Eternal Terminal**](https://eternalterminal.dev/) - enables mouse-scrolling and tmux commands inside the SSH session.
|
||
🔸 [**nmap**](https://nmap.org/) - is a free and open source (license) utility for network discovery and security auditing.
|
||
🔸 [**zmap**](https://github.com/zmap/zmap) - is a fast single packet network scanner designed for Internet-wide network surveys.
|
||
🔸 [**Rust Scan**](https://github.com/RustScan/RustScan) - to find all open ports faster than Nmap.
|
||
🔸 [**masscan**](https://github.com/robertdavidgraham/masscan) - is the fastest Internet port scanner, spews SYN packets asynchronously.
|
||
🔸 [**pbscan**](https://github.com/gvb84/pbscan) - is a faster and more efficient stateless SYN scanner and banner grabber.
|
||
🔸 [**hping**](http://www.hping.org/) - is a command-line oriented TCP/IP packet assembler/analyzer.
|
||
🔸 [**mtr**](https://github.com/traviscross/mtr) - is a tool that combines the functionality of the 'traceroute' and 'ping' programs in a single tool.
|
||
🔸 [**mylg**](https://github.com/mehrdadrad/mylg) - utility which combines the functions of the different network probes in one diagnostic tool.
|
||
🔸 [**netcat**](http://netcat.sourceforge.net/) - utility which reads and writes data across network connections, using the TCP/IP protocol.
|
||
🔸 [**socat**](http://www.dest-unreach.org/socat/) - utility which transfers data between two objects.
|
||
🔸 [**tcpdump**](https://www.tcpdump.org/) - is a powerful command-line packet analyzer.
|
||
🔸 [**tshark**](https://www.wireshark.org/docs/man-pages/tshark.html) - is a tool that allows us to dump and analyze network traffic (wireshark cli).
|
||
🔸 [**Termshark**](https://termshark.io/) - is a simple terminal user-interface for tshark.
|
||
🔸 [**ngrep**](https://github.com/jpr5/ngrep) - is like GNU grep applied to the network layer.
|
||
🔸 [**netsniff-ng**](http://netsniff-ng.org/) - is a Swiss army knife for your daily Linux network plumbing if you will.
|
||
🔸 [**sockdump**](https://github.com/mechpen/sockdump) - dump unix domain socket traffic.
|
||
🔸 [**stenographer**](https://github.com/google/stenographer) - is a packet capture solution which aims to quickly spool all packets to disk.
|
||
🔸 [**tcpterm**](https://github.com/sachaos/tcpterm) - visualize packets in TUI.
|
||
🔸 [**bmon**](https://github.com/tgraf/bmon) - is a monitoring and debugging tool to capture networking related statistics and prepare them visually.
|
||
🔸 [**iptraf-ng**](http://iptraf.seul.org/2.6/manual.html#installation) - is a console-based network monitoring program for Linux that displays information about IP traffic.
|
||
🔸 [**vnstat**](https://github.com/vergoh/vnstat) - is a network traffic monitor for Linux and BSD.
|
||
🔸 [**iPerf3**](https://iperf.fr/) - is a tool for active measurements of the maximum achievable bandwidth on IP networks.
|
||
🔸 [**ethr**](https://github.com/Microsoft/Ethr) - is a Network Performance Measurement Tool for TCP, UDP & HTTP.
|
||
🔸 [**Etherate**](https://github.com/jwbensley/Etherate) - is a Linux CLI based Ethernet and MPLS traffic testing tool.
|
||
🔸 [**echoip**](https://github.com/mpolden/echoip) - is a IP address lookup service.
|
||
🔸 [**Nemesis**](https://github.com/troglobit/nemesis) - packet manipulation CLI tool; craft and inject packets of several protocols.
|
||
🔸 [**packetfu**](https://github.com/packetfu/packetfu) - a mid-level packet manipulation library for Ruby.
|
||
🔸 [**Scapy**](https://scapy.net/) - packet manipulation library; forge, send, decode, capture packets of a wide number of protocols.
|
||
🔸 [**impacket**](https://github.com/SecureAuthCorp/impacket) - is a collection of Python classes for working with network protocols.
|
||
🔸 [**ssh-audit**](https://github.com/arthepsy/ssh-audit) - is a tool for SSH server auditing.
|
||
🔸 [**aria2**](https://aria2.github.io/) - is a lightweight multi-protocol & multi-source command-line download utility.
|
||
🔸 [**iptables-tracer**](https://github.com/x-way/iptables-tracer) - observe the path of packets through the iptables chains.
|
||
🔸 [**inception**](https://github.com/proabiral/inception) - a highly configurable tool to check for whatever you like against any number of hosts.
|
||
|
||
##### ▪️ Network (DNS)
|
||
|
||
🔸 [**dnsdiag**](https://github.com/farrokhi/dnsdiag) - is a DNS diagnostics and performance measurement tools.
|
||
🔸 [**fierce**](https://github.com/mschwager/fierce) - is a DNS reconnaissance tool for locating non-contiguous IP space.
|
||
🔸 [**subfinder**](https://github.com/subfinder/subfinder) - is a subdomain discovery tool that discovers valid subdomains for websites.
|
||
🔸 [**sublist3r**](https://github.com/aboul3la/Sublist3r) - is a fast subdomains enumeration tool for penetration testers.
|
||
🔸 [**amass**](https://github.com/OWASP/Amass) - is tool that obtains subdomain names by scraping data sources, crawling web archives, and more.
|
||
🔸 [**namebench**](https://github.com/google/namebench) - provides personalized DNS server recommendations based on your browsing history.
|
||
🔸 [**massdns**](https://github.com/blechschmidt/massdns) - is a high-performance DNS stub resolver for bulk lookups and reconnaissance.
|
||
🔸 [**knock**](https://github.com/guelfoweb/knock) - is a tool to enumerate subdomains on a target domain through a wordlist.
|
||
🔸 [**dnsperf**](https://github.com/DNS-OARC/dnsperf) - DNS performance testing tools.
|
||
🔸 [**dnscrypt-proxy 2**](https://github.com/jedisct1/dnscrypt-proxy) - a flexible DNS proxy, with support for encrypted DNS protocols.
|
||
🔸 [**dnsdbq**](https://github.com/dnsdb/dnsdbq) - API client providing access to passive DNS database systems.
|
||
🔸 [**grimd**](https://github.com/looterz/grimd) - fast dns proxy, built to black-hole internet advertisements and malware servers.
|
||
|
||
##### ▪️ Network (HTTP)
|
||
|
||
🔸 [**curl**](https://curl.haxx.se/) - is a command line tool and library for transferring data with URLs.
|
||
🔸 [**kurly**](https://gitlab.com/davidjpeacock/kurly) - is an alternative to the widely popular curl program, written in Golang.
|
||
🔸 [**HTTPie**](https://github.com/jakubroztocil/httpie) - is an user-friendly HTTP client.
|
||
🔸 [**wuzz**](https://github.com/asciimoo/wuzz) - is an interactive cli tool for HTTP inspection.
|
||
🔸 [**h2spec**](https://github.com/summerwind/h2spec) - is a conformance testing tool for HTTP/2 implementation.
|
||
🔸 [**h2t**](https://github.com/gildasio/h2t) - is a simple tool to help sysadmins to hardening their websites.
|
||
🔸 [**htrace.sh**](https://github.com/trimstray/htrace.sh) - is a simple Swiss Army knife for http/https troubleshooting and profiling.
|
||
🔸 [**httpstat**](https://github.com/reorx/httpstat) - is a tool that visualizes curl statistics in a way of beauty and clarity.
|
||
🔸 [**httplab**](https://github.com/gchaincl/httplab) - is an interactive web server.
|
||
🔸 [**Lynx**](https://lynx.browser.org/) - is a text browser for the World Wide Web.
|
||
🔸 [**Browsh**](https://github.com/browsh-org/browsh/) - is a fully interactive, real-time, and modern text-based browser.
|
||
🔸 [**HeadlessBrowsers**](https://github.com/dhamaniasad/HeadlessBrowsers) - a list of (almost) all headless web browsers in existence.
|
||
🔸 [**ab**](https://httpd.apache.org/docs/2.4/programs/ab.html) - is a single-threaded command line tool for measuring the performance of HTTP web servers.
|
||
🔸 [**siege**](https://www.joedog.org/siege-home/) - is an http load testing and benchmarking utility.
|
||
🔸 [**wrk**](https://github.com/wg/wrk) - is a modern HTTP benchmarking tool capable of generating significant load.
|
||
🔸 [**wrk2**](https://github.com/giltene/wrk2) - is a constant throughput, correct latency recording variant of wrk.
|
||
🔸 [**vegeta**](https://github.com/tsenart/vegeta) - is a constant throughput, correct latency recording variant of wrk.
|
||
🔸 [**bombardier**](https://github.com/codesenberg/bombardier) - is a fast cross-platform HTTP benchmarking tool written in Go.
|
||
🔸 [**gobench**](https://github.com/cmpxchg16/gobench) - http/https load testing and benchmarking tool.
|
||
🔸 [**hey**](https://github.com/rakyll/hey) - HTTP load generator, ApacheBench (ab) replacement, formerly known as rakyll/boom.
|
||
🔸 [**boom**](https://github.com/tarekziade/boom) - is a script you can use to quickly smoke-test your web app deployment.
|
||
🔸 [**SlowHTTPTest**](https://github.com/shekyan/slowhttptest) - is a tool that simulates some Application Layer Denial of Service attacks by prolonging HTTP.
|
||
🔸 [**gobuster**](https://github.com/OJ/gobuster) - is a free and open source directory/file & DNS busting tool written in Go.
|
||
🔸 [**ssllabs-scan**](https://github.com/ssllabs/ssllabs-scan) - command-line reference-implementation client for SSL Labs APIs.
|
||
🔸 [**http-observatory**](https://github.com/mozilla/http-observatory) - Mozilla HTTP Observatory cli version.
|
||
|
||
##### ▪️ SSL
|
||
|
||
🔸 [**openssl**](https://www.openssl.org/) - is a robust, commercial-grade, and full-featured toolkit for the TLS and SSL protocols.
|
||
🔸 [**gnutls-cli**](https://gnutls.org/manual/html_node/gnutls_002dcli-Invocation.html) - client program to set up a TLS connection to some other computer.
|
||
🔸 [**sslyze**](https://github.com/nabla-c0d3/sslyze) \- fast and powerful SSL/TLS server scanning library.
|
||
🔸 [**sslscan**](https://github.com/rbsec/sslscan) - tests SSL/TLS enabled services to discover supported cipher suites.
|
||
🔸 [**testssl.sh**](https://github.com/drwetter/testssl.sh) - testing TLS/SSL encryption anywhere on any port.
|
||
🔸 [**cipherscan**](https://github.com/mozilla/cipherscan) - a very simple way to find out which SSL ciphersuites are supported by a target.
|
||
🔸 [**spiped**](http://www.tarsnap.com/spiped.html) - is a utility for creating symmetrically encrypted and authenticated pipes between socket addresses.
|
||
🔸 [**Certbot**](https://github.com/certbot/certbot) - is EFF's tool to obtain certs from Let's Encrypt and (optionally) auto-enable HTTPS on your server.
|
||
🔸 [**mkcert**](https://github.com/FiloSottile/mkcert) - simple zero-config tool to make locally trusted development certificates with any names you'd like.
|
||
🔸 [**certstrap**](https://github.com/square/certstrap) - tools to bootstrap CAs, certificate requests, and signed certificates.
|
||
🔸 [**Sublert**](https://github.com/yassineaboukir/sublert) - is a security and reconnaissance tool to automatically monitor new subdomains.
|
||
🔸 [**mkchain**](https://github.com/trimstray/mkchain) - open source tool to help you build a valid SSL certificate chain.
|
||
|
||
##### ▪️ Security
|
||
|
||
🔸 [**SELinux**](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/5/html/deployment_guide/ch-selinux) - provides a flexible Mandatory Access Control (MAC) system built into the Linux kernel.
|
||
🔸 [**AppArmor**](https://wiki.ubuntu.com/AppArmor) - proactively protects the operating system and applications from external or internal threats.
|
||
🔸 [**grapheneX**](https://github.com/grapheneX/grapheneX) - Automated System Hardening Framework.
|
||
🔸 [**DevSec Hardening Framework**](https://github.com/dev-sec/) - Security + DevOps: Automatic Server Hardening.
|
||
|
||
##### ▪️ Auditing Tools
|
||
|
||
🔸 [**ossec**](https://www.ossec.net/) - actively monitoring all aspects of system activity with file integrity monitoring.
|
||
🔸 [**auditd**](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/security_guide/chap-system_auditing) - provides a way to track security-relevant information on your system.
|
||
🔸 [**Tiger**](https://www.nongnu.org/tiger/) - is a security tool that can be use both as a security audit and intrusion detection system.
|
||
🔸 [**Lynis**](https://cisofy.com/lynis/) - battle-tested security tool for systems running Linux, macOS, or Unix-based operating system.
|
||
🔸 [**LinEnum**](https://github.com/rebootuser/LinEnum) - scripted Local Linux Enumeration & Privilege Escalation Checks.
|
||
🔸 [**Rkhunter**](https://github.com/installation/rkhunter) - scanner tool for Linux systems that scans backdoors, rootkits and local exploits on your systems.
|
||
🔸 [**PE-sieve**](https://github.com/hasherezade/pe-sieve) - is a light-weight tool that helps to detect malware running on the system.
|
||
|
||
##### ▪️ System Diagnostics/Debuggers
|
||
|
||
🔸 [**strace**](https://github.com/strace/strace) - diagnostic, debugging and instructional userspace utility for Linux.
|
||
🔸 [**DTrace**](http://dtrace.org/blogs/about/) - is a performance analysis and troubleshooting tool.
|
||
🔸 [**ltrace**](https://en.wikipedia.org/wiki/Ltrace) - is a library call tracer, used to trace calls made by programs to library functions.
|
||
🔸 [**ptrace-burrito**](https://github.com/brainsmoke/ptrace-burrito) - is a friendly wrapper around ptrace.
|
||
🔸 [**perf-tools**](https://github.com/brendangregg/perf-tools) - performance analysis tools based on Linux perf\_events (aka perf) and ftrace.
|
||
🔸 [**bpftrace**](https://github.com/iovisor/bpftrace) - high-level tracing language for Linux eBPF.
|
||
🔸 [**sysdig**](https://github.com/draios/sysdig) - system exploration and troubleshooting tool with first class support for containers.
|
||
🔸 [**Valgrind**](http://www.valgrind.org/) - is an instrumentation framework for building dynamic analysis tools.
|
||
🔸 [**gperftools**](https://github.com/gperftools/gperftools) - high-performance multi-threaded malloc() implementation, plus some performance analysis tools.
|
||
🔸 [**glances**](https://nicolargo.github.io/glances/) - cross-platform system monitoring tool written in Python.
|
||
🔸 [**htop**](https://github.com/hishamhm/htop) - interactive text-mode process viewer for Unix systems. It aims to be a better 'top'.
|
||
🔸 [**bashtop**](https://github.com/aristocratos/bashtop) - Linux resource monitor written in pure Bash.
|
||
🔸 [**nmon**](http://nmon.sourceforge.net/pmwiki.php) - a single executable for performance monitoring and data analysis.
|
||
🔸 [**atop**](https://www.atoptool.nl/) - ASCII performance monitor. Includes statistics for CPU, memory, disk, swap, network, and processes.
|
||
🔸 [**lsof**](https://en.wikipedia.org/wiki/Lsof) - displays in its output information about files that are opened by processes.
|
||
🔸 [**FlameGraph**](http://www.brendangregg.com/flamegraphs.html) - stack trace visualizer.
|
||
🔸 [**lsofgraph**](https://github.com/zevv/lsofgraph) - convert Unix lsof output to a graph showing FIFO and UNIX interprocess communication.
|
||
🔸 [**rr**](https://github.com/mozilla/rr) - is a lightweight tool for recording, replaying and debugging execution of applications.
|
||
🔸 [**Performance Co-Pilot**](https://pcp.io/index.html) - a system performance analysis toolkit.
|
||
🔸 [**hexyl**](https://github.com/sharkdp/hexyl) - a command-line hex viewer.
|
||
|
||
##### ▪️ Log Analyzers
|
||
|
||
🔸 [**angle-grinder**](https://github.com/rcoh/angle-grinder) - slice and dice log files on the command line.
|
||
🔸 [**lnav**](https://lnav.org/) - log file navigator with search and automatic refresh.
|
||
🔸 [**GoAccess**](https://goaccess.io/) - real-time web log analyzer and interactive viewer that runs in a terminal.
|
||
🔸 [**ngxtop**](https://github.com/lebinh/ngxtop) - real-time metrics for nginx server.
|
||
|
||
##### ▪️ Databases
|
||
|
||
🔸 [**usql**](https://github.com/xo/usql) - universal command-line interface for SQL databases.
|
||
🔸 [**pgcli**](https://github.com/dbcli/pgcli) - postgres CLI with autocompletion and syntax highlighting.
|
||
🔸 [**mycli**](https://github.com/dbcli/mycli) - terminal client for MySQL with autocompletion and syntax highlighting.
|
||
🔸 [**litecli**](https://github.com/dbcli/litecli) - SQLite CLI with autocompletion and syntax highlighting.
|
||
🔸 [**mssql-cli**](https://github.com/dbcli/mssql-cli) - SQL Server CLI with autocompletion and syntax highlighting.
|
||
🔸 [**OSQuery**](https://github.com/osquery/osquery) - is a SQL powered operating system instrumentation, monitoring, and analytics framework.
|
||
🔸 [**pgsync**](https://github.com/ankane/pgsync) - sync data from one Postgres database to another.
|
||
🔸 [**iredis**](https://github.com/laixintao/iredis) - a terminal client for redis with autocompletion and syntax highlighting.
|
||
|
||
##### ▪️ TOR
|
||
|
||
🔸 [**Nipe**](https://github.com/GouveaHeitor/nipe) - script to make Tor Network your default gateway.
|
||
🔸 [**multitor**](https://github.com/trimstray/multitor) - a tool that lets you create multiple TOR instances with a load-balancing.
|
||
|
||
##### ▪️ Messengers/IRC Clients
|
||
|
||
🔸 [**Irssi**](https://irssi.org/) - is a free open source terminal based IRC client.
|
||
🔸 [**WeeChat**](https://weechat.org/) - is an extremely extensible and lightweight IRC client.
|
||
|
||
##### ▪️ Productivity
|
||
|
||
🔸 [**taskwarrior**](https://taskwarrior.org/) - task management system, todo list
|
||
|
||
##### ▪️ Other
|
||
|
||
🔸 [**sysadmin-util**](https://github.com/skx/sysadmin-util) - tools for Linux/Unix sysadmins.
|
||
🔸 [**incron**](http://inotify.aiken.cz/) - is an inode-based filesystem notification technology.
|
||
🔸 [**lsyncd**](https://github.com/axkibe/lsyncd) - synchronizes local directories with remote targets (Live Syncing Daemon).
|
||
🔸 [**GRV**](https://github.com/rgburke/grv) - is a terminal based interface for viewing Git repositories.
|
||
🔸 [**Tig**](https://jonas.github.io/tig/) - text-mode interface for Git.
|
||
🔸 [**tldr**](https://github.com/tldr-pages/tldr) - simplified and community-driven man pages.
|
||
🔸 [**archiver**](https://github.com/mholt/archiver) - easily create and extract .zip, .tar, .tar.gz, .tar.bz2, .tar.xz, .tar.lz4, .tar.sz, and .rar.
|
||
🔸 [**commander.js**](https://github.com/tj/commander.js) - minimal CLI creator in JavaScript.
|
||
🔸 [**gron**](https://github.com/tomnomnom/gron) - make JSON greppable!
|
||
🔸 [**bed**](https://github.com/itchyny/bed) - binary editor written in Go.
|
||
|
||
#### GUI Tools [\[TOC\]](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#anger-table-of-contents)
|
||
|
||
##### ▪️ Terminal emulators
|
||
|
||
🔸 [**Guake**](https://github.com/Guake/guake) - is a dropdown terminal made for the GNOME desktop environment.
|
||
🔸 [**Terminator**](https://gnometerminator.blogspot.com/p/introduction.html) - is based on GNOME Terminal, useful features for sysadmins and other users.
|
||
🔸 [**Kitty**](https://sw.kovidgoyal.net/kitty/) - is a GPU based terminal emulator that supports smooth scrolling and images.
|
||
🔸 [**Alacritty**](https://github.com/alacritty/alacritty) - is a fast, cross-platform, OpenGL terminal emulator.
|
||
|
||
##### ▪️ Network
|
||
|
||
🔸 [**Wireshark**](https://www.wireshark.org/) - is the world’s foremost and widely-used network protocol analyzer.
|
||
🔸 [**Ettercap**](https://www.ettercap-project.org/) - is a comprehensive network monitor tool.
|
||
🔸 [**EtherApe**](https://etherape.sourceforge.io/) - is a graphical network monitoring solution.
|
||
🔸 [**Packet Sender**](https://packetsender.com/) - is a networking utility for packet generation and built-in UDP/TCP/SSL client and servers.
|
||
🔸 [**Ostinato**](https://ostinato.org/) - is a packet crafter and traffic generator.
|
||
🔸 [**JMeter™**](https://jmeter.apache.org/) - open source software to load test functional behavior and measure performance.
|
||
🔸 [**locust**](https://github.com/locustio/locust) - scalable user load testing tool written in Python.
|
||
|
||
##### ▪️ Browsers
|
||
|
||
🔸 [**TOR Browser**](https://www.torproject.org/) - protect your privacy and defend yourself against network surveillance and traffic analysis.
|
||
|
||
##### ▪️ Password Managers
|
||
|
||
🔸 [**KeePassXC**](https://keepassxc.org/) - store your passwords safely and auto-type them into your everyday websites and apps.
|
||
🔸 [**Bitwarden**](https://bitwarden.com/) - open source password manager with built-in sync.
|
||
|
||
##### ▪️ Messengers/IRC Clients
|
||
|
||
🔸 [**HexChat**](https://hexchat.github.io/index.html) - is an IRC client based on XChat.
|
||
🔸 [**Pidgin**](https://pidgin.im/) - is an easy to use and free chat client used by millions.
|
||
|
||
##### ▪️ Messengers (end-to-end encryption)
|
||
|
||
🔸 [**Signal**](https://www.signal.org/) - is an encrypted communications app.
|
||
🔸 [**Wire**](https://wire.com/en/) - secure messaging, file sharing, voice calls and video conferences. All protected with end-to-end encryption.
|
||
🔸 [**TorChat**](https://github.com/prof7bit/TorChat) - decentralized anonymous instant messenger on top of Tor Hidden Services.
|
||
🔸 [**Matrix**](https://matrix.org/) - an open network for secure, decentralized, real-time communication.
|
||
|
||
##### ▪️ Text editors
|
||
|
||
🔸 [**Sublime Text**](https://www.sublimetext.com/3) - is a lightweight, cross-platform code editor known for its speed, ease of use.
|
||
🔸 [**Visual Studio Code**](https://code.visualstudio.com/) - an open-source and free source code editor developed by Microsoft.
|
||
🔸 [**Atom**](https://atom.io/) - a hackable text editor for the 21st Century.
|
||
|
||
#### Web Tools [\[TOC\]](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#anger-table-of-contents)
|
||
|
||
##### ▪️ Browsers
|
||
|
||
🔸 [**SSL/TLS Capabilities of Your Browser**](https://www.ssllabs.com/ssltest/viewMyClient.html) - test your browser's SSL implementation.
|
||
🔸 [**Can I use**](https://caniuse.com/) - provides up-to-date browser support tables for support of front-end web technologies.
|
||
🔸 [**Panopticlick 3.0**](https://panopticlick.eff.org/) - is your browser safe against tracking?
|
||
🔸 [**Privacy Analyzer**](https://privacy.net/analyzer/) - see what data is exposed from your browser.
|
||
🔸 [**Web Browser Security**](https://browserleaks.com/) - it's all about Web Browser fingerprinting.
|
||
🔸 [**How's My SSL?**](https://www.howsmyssl.com/) - help a web server developer learn what real world TLS clients were capable of.
|
||
🔸 [**sslClientInfo**](https://suche.org/sslClientInfo) - client test (incl TLSv1.3 information).
|
||
|
||
##### ▪️ SSL/Security
|
||
|
||
🔸 [**SSLLabs Server Test**](https://www.ssllabs.com/ssltest/) - performs a deep analysis of the configuration of any SSL web server.
|
||
🔸 [**SSLLabs Server Test (DEV)**](https://dev.ssllabs.com/ssltest/) - performs a deep analysis of the configuration of any SSL web server.
|
||
🔸 [**ImmuniWeb® SSLScan**](https://www.immuniweb.com/ssl/) - test SSL/TLS (PCI DSS, HIPAA and NIST).
|
||
🔸 [**SSL Check**](https://www.jitbit.com/sslcheck/) - scan your website for non-secure content.
|
||
🔸 [**SSL Scanner**](http://www.ssltools.com/) - analyze website security.
|
||
🔸 [**CryptCheck**](https://cryptcheck.fr/) - test your TLS server configuration (e.g. ciphers).
|
||
🔸 [**urlscan.io**](https://urlscan.io/) - service to scan and analyse websites.
|
||
🔸 [**Report URI**](https://report-uri.com/home/tools) - monitoring security policies like CSP and HPKP.
|
||
🔸 [**CSP Evaluator**](https://csp-evaluator.withgoogle.com/) - allows developers and security experts to check if a Content Security Policy.
|
||
🔸 [**Useless CSP**](https://uselesscsp.com/) - public list about CSP in some big players (might make them care a bit more).
|
||
🔸 [**Why No HTTPS?**](https://whynohttps.com/) - top 100 websites by Alexa rank not automatically redirecting insecure requests.
|
||
🔸 [**TLS Cipher Suite Search**](https://ciphersuite.info/)\- cipher suite search engine.
|
||
🔸 [**cipherli.st**](https://github.com/RaymiiOrg/cipherli.st) - strong ciphers for Apache, Nginx, Lighttpd, and more.**\***
|
||
🔸 [**dhtool**](https://2ton.com.au/dhtool/) - public Diffie-Hellman parameter service/tool.
|
||
🔸 [**badssl.com**](https://badssl.com/) - memorable site for testing clients against bad SSL configs.
|
||
🔸 [**tlsfun.de**](https://tlsfun.de/) - registered for various tests regarding the TLS/SSL protocol.
|
||
🔸 [**CAA Record Helper**](https://sslmate.com/caa/) - generate a CAA policy.
|
||
🔸 [**Common CA Database**](https://ccadb.org/resources) - repository of information about CAs, and their root and intermediate certificates.
|
||
🔸 [**CERTSTREAM**](https://certstream.calidog.io/) - real-time certificate transparency log update stream.
|
||
🔸 [**crt.sh**](https://crt.sh/) - discovers certificates by continually monitoring all of the publicly known CT.
|
||
🔸 [**Hardenize**](https://www.hardenize.com/) - deploy the security standards.
|
||
🔸 [**Cipher suite compatibility**](https://cryptcheck.fr/suite/) - test TLS cipher suite compatibility.
|
||
🔸 [**urlvoid**](https://www.urlvoid.com/) - this service helps you detect potentially malicious websites.
|
||
🔸 [**security.txt**](https://securitytxt.org/) - a proposed standard (generator) which allows websites to define security policies.
|
||
🔸 [**ssl-config-generator**](https://github.com/mozilla/ssl-config-generator) - help you follow the Mozilla Server Side TLS configuration guidelines.
|
||
|
||
##### ▪️ HTTP Headers & Web Linters
|
||
|
||
🔸 [**Security Headers**](https://securityheaders.com/) - analyse the HTTP response headers (with rating system to the results).
|
||
🔸 [**Observatory by Mozilla**](https://observatory.mozilla.org/) - set of tools to analyze your website.
|
||
🔸 [**webhint**](https://webhint.io/) - is a linting tool that will help you with your site's accessibility, speed, security, and more.
|
||
|
||
##### ▪️ DNS
|
||
|
||
🔸 [**ViewDNS**](http://viewdns.info/) - one source for free DNS related tools and information.
|
||
🔸 [**DNSLookup**](https://dnslookup.org/) - is an advanced DNS lookup tool.
|
||
🔸 [**DNSlytics**](https://dnslytics.com/) - online DNS investigation tool.
|
||
🔸 [**DNS Spy**](https://dnsspy.io/) - monitor, validate and verify your DNS configurations.
|
||
🔸 [**Zonemaster**](https://zonemaster.iis.se/en/) - helps you to control how your DNS works.
|
||
🔸 [**Leaf DNS**](http://leafdns.com/) - comprehensive DNS tester.
|
||
🔸 [**Find subdomains online**](https://findsubdomains.com/) - find subdomains for security assessment penetration test.
|
||
🔸 [**DNSdumpster**](https://dnsdumpster.com/) - dns recon & research, find & lookup dns records.
|
||
🔸 [**DNS Table online**](https://dnstable.com/) - search for DNS records by domain, IP, CIDR, ISP.
|
||
🔸 [**intoDNS**](https://intodns.com/) - DNS and mail server health checker.
|
||
🔸 [**DNS Bajaj**](http://www.zonecut.net/dns/) - check the delegation of your domain.
|
||
🔸 [**BuddyDNS Delegation LAB**](https://www.buddyns.com/delegation-lab/) - check, trace and visualize delegation of your domain.
|
||
🔸 [**dnssec-debugger**](https://dnssec-debugger.verisignlabs.com/) - DS or DNSKEY records validator.
|
||
🔸 [**PTRarchive.com**](http://ptrarchive.com/) - this site is responsible for the safekeeping of historical reverse DNS records.
|
||
🔸 [**xip.io**](http://xip.io/) - wildcard DNS for everyone.
|
||
🔸 [**nip.io**](https://nip.io/) - dead simple wildcard DNS for any IP Address.
|
||
🔸 [**dnslookup (ceipam)**](https://ceipam.eu/en/dnslookup.php) - one of the best DNS propagation checker (and not only).
|
||
🔸 [**What's My DNS**](https://whatsmydns.com/) - DNS propagation checking tool.
|
||
🔸 [**DNSGrep**](https://blog.erbbysam.com/index.php/2019/02/09/dnsgrep/) - quickly searching large DNS datasets.
|
||
|
||
##### ▪️ Mail
|
||
|
||
🔸 [**smtp-tls-checker**](https://luxsci.com/smtp-tls-checker) - check an email domain for SMTP TLS support.
|
||
🔸 [**MX Toolbox**](https://mxtoolbox.com/SuperTool.aspx) - all of your MX record, DNS, blacklist and SMTP diagnostics in one integrated tool.
|
||
🔸 [**Secure Email**](https://www.checktls.com/index.html) - complete email test tools for email technicians.
|
||
🔸 [**blacklistalert**](http://www.blacklistalert.org/) - checks to see if your domain is on a Real Time Spam Blacklist.
|
||
🔸 [**MultiRBL**](http://multirbl.valli.org/) - complete IP check for sending Mailservers.
|
||
🔸 [**DKIM SPF & Spam Assassin Validator**](https://dkimvalidator.com/) - checks mail authentication and scores messages with Spam Assassin.
|
||
|
||
##### ▪️ Encoders/Decoders and Regex testing
|
||
|
||
🔸 [**URL Encode/Decode**](https://www.url-encode-decode.com/) - tool from above to either encode or decode a string of text.
|
||
🔸 [**Uncoder**](https://uncoder.io/) - the online translator for search queries on log data.
|
||
🔸 [**Regex101**](https://regex101.com/) - online regex tester and debugger: PHP, PCRE, Python, Golang and JavaScript.
|
||
🔸 [**RegExr**](https://regexr.com/) - online tool to learn, build, & test Regular Expressions (RegEx / RegExp).
|
||
🔸 [**RegEx Testing**](https://www.regextester.com/) - online regex testing tool.
|
||
🔸 [**RegEx Pal**](https://www.regexpal.com/) - online regex testing tool + other tools.
|
||
🔸 [**The Cyber Swiss Army Knife**](https://gchq.github.io/CyberChef/) - a web app for encryption, encoding, compression and data analysis.
|
||
|
||
##### ▪️ Net-tools
|
||
|
||
🔸 [**Netcraft**](https://toolbar.netcraft.com/site_report) - detailed report about the site, helping you to make informed choices about their integrity.**\***
|
||
🔸 [**RIPE NCC Atlas**](https://atlas.ripe.net/) - a global, open, distributed Internet measurement platform.
|
||
🔸 [**Robtex**](https://www.robtex.com/) - uses various sources to gather public information about IP numbers, domain names, host names, etc.
|
||
🔸 [**Security Trails**](https://securitytrails.com/) - APIs for Security Companies, Researchers and Teams.
|
||
🔸 [**Online Curl**](https://tools.keycdn.com/curl) - curl test, analyze HTTP Response Headers.
|
||
🔸 [**Online Tools for Developers**](https://extendsclass.com/) - HTTP API tools, testers, encoders, converters, formatters, and other tools.
|
||
🔸 [**Ping.eu**](https://ping.eu/) - online Ping, Traceroute, DNS lookup, WHOIS and others.
|
||
🔸 [**Network-Tools**](https://network-tools.com/) - network tools for webmasters, IT technicians & geeks.
|
||
🔸 [**BGPview**](https://bgpview.io/) - search for any ASN, IP, Prefix or Resource name.
|
||
🔸 [**Is BGP safe yet?**](https://isbgpsafeyet.com/) - check BGP (RPKI) security of ISPs and other major Internet players.
|
||
🔸 [**Riseup**](https://riseup.net/) - provides online communication tools for people and groups working on liberatory social change.
|
||
🔸 [**VirusTotal**](https://www.virustotal.com/gui/home/upload) - analyze suspicious files and URLs to detect types of malware.
|
||
|
||
##### ▪️ Privacy
|
||
|
||
🔸 [**privacytools.io**](https://www.privacytools.io/) - provides knowledge and tools to protect your privacy against global mass surveillance.
|
||
🔸 [**DNS Privacy Test Servers**](https://dnsprivacy.org/wiki/display/DP/DNS+Privacy+Test+Servers) - DNS privacy recursive servers list (with a 'no logging' policy).
|
||
|
||
##### ▪️ Code parsers/playgrounds
|
||
|
||
🔸 [**ShellCheck**](https://www.shellcheck.net/) - finds bugs in your shell scripts.
|
||
🔸 [**explainshell**](https://explainshell.com/) - get interactive help texts for shell commands.
|
||
🔸 [**jsbin**](https://jsbin.com/?html,output) - live pastebin for HTML, CSS & JavaScript, and more.
|
||
🔸 [**CodeSandbox**](https://codesandbox.io/) - online code editor for web application development.
|
||
🔸 [**PHP Sandbox**](http://sandbox.onlinephpfunctions.com/) - test your PHP code with this code tester.
|
||
🔸 [**Repl.it**](https://www.repl.it/) - an instant IDE to learn, build, collaborate, and host all in one place.
|
||
🔸 [**vclFiddle**](http://www.vclfiddle.net/) - is an online tool for experimenting with the Varnish Cache VCL.
|
||
|
||
##### ▪️ Performance
|
||
|
||
🔸 [**GTmetrix**](https://gtmetrix.com/) - analyze your site’s speed and make it faster.
|
||
🔸 [**Sucuri loadtimetester**](https://performance.sucuri.net/) - test here the performance of any of your sites from across the globe.
|
||
🔸 [**Pingdom Tools**](https://tools.pingdom.com/) - analyze your site’s speed around the world.
|
||
🔸 [**PingMe.io**](https://pingme.io/) - run website latency tests across multiple geographic regions.
|
||
🔸 [**PageSpeed Insights**](https://developers.google.com/speed/pagespeed/insights/) - analyze your site’s speed and make it faster.
|
||
🔸 [**web.dev**](https://web.dev/) - helps developers like you learn and apply the web's modern capabilities to your own sites and apps.
|
||
🔸 [**Lighthouse**](https://github.com/GoogleChrome/lighthouse) - automated auditing, performance metrics, and best practices for the web.
|
||
|
||
##### ▪️ Mass scanners (search engines)
|
||
|
||
🔸 [**Censys**](https://censys.io/) - platform that helps information security practitioners discover, monitor, and analyze devices.
|
||
🔸 [**Shodan**](https://www.shodan.io/) - the world's first search engine for Internet-connected devices.
|
||
🔸 [**Shodan 2000**](https://2000.shodan.io/#/) - this tool looks for randomly generated data from Shodan.
|
||
🔸 [**GreyNoise**](https://viz.greynoise.io/table) - mass scanner such as Shodan and Censys.
|
||
🔸 [**ZoomEye**](https://www.zoomeye.org/) - search engine for cyberspace that lets the user find specific network components.
|
||
🔸 [**netograph**](https://netograph.io/) - tools to monitor and understand deep structure of the web.
|
||
🔸 [**FOFA**](https://fofa.so/) - is a cyberspace search engine.
|
||
🔸 [**onyphe**](https://www.onyphe.io/) - is a search engine for open-source and cyber threat intelligence data collected.
|
||
🔸 [**IntelligenceX**](https://intelx.io/) - is a search engine and data archive.
|
||
🔸 [**binaryedge**](https://app.binaryedge.io/) - it scan the entire internet space and create real-time threat intelligence streams and reports.
|
||
🔸 [**Spyse**](https://spyse.com/) - Internet assets registry: networks, threats, web objects, etc.
|
||
🔸 [**wigle**](https://wigle.net/) - is a submission-based catalog of wireless networks. All the networks. Found by Everyone.
|
||
🔸 [**PublicWWW**](https://publicwww.com/) - find any alphanumeric snippet, signature or keyword in the web pages HTML, JS and CSS code.
|
||
🔸 [**IntelTechniques**](https://inteltechniques.com/index.html) - this repository contains hundreds of online search utilities.
|
||
🔸 [**hunter**](https://hunter.io/) - lets you find email addresses in seconds and connect with the people that matter for your business.
|
||
🔸 [**GhostProject?**](https://ghostproject.fr/) - search by full email address or username.
|
||
🔸 [**databreaches**](https://www.databreaches.live/) - was my email affected by data breach?
|
||
🔸 [**We Leak Info**](https://weleakinfo.com/) - world's fastest and largest data breach search engine.
|
||
🔸 [**Pulsedive**](https://pulsedive.com/) - scans of malicious URLs, IPs, and domains, including port scans and web requests.
|
||
🔸 [**Buckets by Grayhatwarfar**](https://buckets.grayhatwarfare.com/) - database with public search for Open Amazon S3 Buckets and their contents.
|
||
🔸 [**Vigilante.pw**](https://vigilante.pw/) - the breached database directory.
|
||
🔸 [**builtwith**](https://builtwith.com/) - find out what websites are built with.
|
||
🔸 [**NerdyData**](https://nerdydata.com/) - search the web's source code for technologies, across millions of sites.
|
||
🔸 [**zorexeye**](http://zorexeye.com/) - search for sites, images, apps, softwares & more.
|
||
🔸 [**Mamont's open FTP Index**](https://www.mmnt.net/) - if a target has an open FTP site with accessible content it will be listed here.
|
||
🔸 [**OSINT Framework**](https://osintframework.com/) - focused on gathering information from free tools or resources.
|
||
🔸 [**maltiverse**](https://www.maltiverse.com/search) - is a service oriented to cybersecurity analysts for the advanced analysis of indicators of compromise.
|
||
🔸 [**Leaked Source**](https://leakedsource.ru/main/) - is a collaboration of data found online in the form of a lookup.
|
||
🔸 [**We Leak Info**](https://search.weleakinfo.com/) - to help everyday individuals secure their online life, avoiding getting hacked.
|
||
🔸 [**pipl**](https://pipl.com/) - is the place to find the person behind the email address, social username or phone number.
|
||
🔸 [**abuse.ch**](https://abuse.ch/) - is operated by a random swiss guy fighting malware for non-profit.
|
||
🔸 [**malc0de**](http://malc0de.com/database/) - malware search engine.
|
||
🔸 [**Cybercrime Tracker**](https://cybercrime-tracker.net/index.php) - monitors and tracks various malware families that are used to perpetrate cyber crimes.
|
||
🔸 [**shhgit**](https://github.com/eth0izzle/shhgit/) - find GitHub secrets in real time.
|
||
🔸 [**searchcode**](https://searchcode.com/) - helping you find real world examples of functions, API's and libraries.
|
||
🔸 [**Insecam**](http://www.insecam.org/) - the world biggest directory of online surveillance security cameras.
|
||
🔸 [**index-of**](http://index-of.es/) - contains great stuff like: security, hacking, reverse engineering, cryptography, programming etc.
|
||
🔸 [**Rapid7 Labs Open Data**](https://opendata.rapid7.com/) - is a great resources of datasets from Project Sonar.
|
||
🔸 [**Common Response Headers**](https://webtechsurvey.com/common-response-headers) - the largest database of HTTP response headers.
|
||
|
||
##### ▪️ Generators
|
||
|
||
🔸 [**thispersondoesnotexist**](https://thispersondoesnotexist.com/) - generate fake faces in one click - endless possibilities.
|
||
🔸 [**AI Generated Photos**](https://generated.photos/) - 100.000 AI generated faces.
|
||
🔸 [**fakenamegenerator**](https://www.fakenamegenerator.com/) - your randomly generated identity.
|
||
🔸 [**Intigriti Redirector**](https://tools.intigriti.io/redirector/) - open redirect/SSRF payload generator.
|
||
|
||
##### ▪️ Passwords
|
||
|
||
🔸 [**have i been pwned?**](https://haveibeenpwned.com/) - check if you have an account that has been compromised in a data breach.
|
||
🔸 [**dehashed**](https://www.dehashed.com/) - is a hacked database search engine.
|
||
🔸 [**Leaked Source**](https://leakedsource.ru/) - is a collaboration of data found online in the form of a lookup.
|
||
|
||
##### ▪️ CVE/Exploits databases
|
||
|
||
🔸 [**CVE Mitre**](https://cve.mitre.org/) - list of publicly known cybersecurity vulnerabilities.
|
||
🔸 [**CVE Details**](https://www.cvedetails.com/) - CVE security vulnerability advanced database.
|
||
🔸 [**Exploit DB**](https://www.exploit-db.com/) - CVE compliant archive of public exploits and corresponding vulnerable software.
|
||
🔸 [**0day.today**](https://0day.today/) - exploits market provides you the possibility to buy/sell zero-day exploits.
|
||
🔸 [**sploitus**](https://sploitus.com/) - the exploit and tools database.
|
||
🔸 [**cxsecurity**](https://cxsecurity.com/exploit/) - free vulnerability database.
|
||
🔸 [**Vulncode-DB**](https://www.vulncode-db.com/) - is a database for vulnerabilities and their corresponding source code if available.
|
||
🔸 [**cveapi**](https://cveapi.com/) - free API for CVE data.
|
||
|
||
##### ▪️ Mobile apps scanners
|
||
|
||
🔸 [**ImmuniWeb® Mobile App Scanner**](https://www.immuniweb.com/mobile/) - test security and privacy of mobile apps (iOS & Android).
|
||
🔸 [**Quixxi**](https://vulnerabilitytest.quixxi.com/) - free Mobile App Vulnerability Scanner for Android & iOS.
|
||
🔸 [**Ostorlab**](https://www.ostorlab.co/scan/mobile/) - analyzes mobile application to identify vulnerabilities and potential weaknesses.
|
||
|
||
##### ▪️ Private Search Engines
|
||
|
||
🔸 [**Startpage**](https://www.startpage.com/) - the world's most private search engine.
|
||
🔸 [**searX**](https://searx.me/) - a privacy-respecting, hackable metasearch engine.
|
||
🔸 [**darksearch**](https://darksearch.io/) - the 1st real Dark Web search engine.
|
||
🔸 [**Qwant**](https://www.qwant.com/) - the search engine that respects your privacy.
|
||
🔸 [**DuckDuckGo**](https://duckduckgo.com/) - the search engine that doesn't track you.
|
||
🔸 [**Swisscows**](https://swisscows.com/) - privacy safe web search
|
||
🔸 [**Disconnect**](https://search.disconnect.me/) - the search engine that anonymizes your searches.
|
||
🔸 [**MetaGer**](https://metager.org/) - the search engine that uses anonymous proxy and hidden Tor branches.
|
||
|
||
##### ▪️ Secure Webmail Providers
|
||
|
||
🔸 [**CounterMail**](https://countermail.com/) - online email service, designed to provide maximum security and privacy.
|
||
🔸 [**Mail2Tor**](http://mail2tor.com/) - is a Tor Hidden Service that allows anyone to send and receive emails anonymously.
|
||
🔸 [**Tutanota**](https://tutanota.com/) - is the world's most secure email service and amazingly easy to use.
|
||
🔸 [**Protonmail**](https://protonmail.com/) - is the world's largest secure email service, developed by CERN and MIT scientists.
|
||
🔸 [**Startmail**](https://www.startmail.com/en/) - private & encrypted email made easy.
|
||
|
||
##### ▪️ Crypto
|
||
|
||
🔸 [**Keybase**](https://keybase.io/) - it's open source and powered by public-key cryptography.
|
||
|
||
##### ▪️ PGP Keyservers
|
||
|
||
🔸 [**SKS OpenPGP Key server**](https://keyserver.ubuntu.com/) - services for the SKS keyservers used by OpenPGP.
|
||
|
||
#### Systems/Services [\[TOC\]](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#anger-table-of-contents)
|
||
|
||
##### ▪️ Operating Systems
|
||
|
||
🔸 [**Slackware**](http://www.slackware.com/) - the most "Unix-like" Linux distribution.
|
||
🔸 [**OpenBSD**](https://www.openbsd.org/) - multi-platform 4.4BSD-based UNIX-like operating system.
|
||
🔸 [**HardenedBSD**](https://hardenedbsd.org/) - HardenedBSD aims to implement innovative exploit mitigation and security solutions.
|
||
🔸 [**Kali Linux**](https://www.kali.org/) - Linux distribution used for Penetration Testing, Ethical Hacking and network security assessments.
|
||
🔸 [**Parrot Security OS**](https://www.parrotsec.org/) - cyber security GNU/Linux environment.
|
||
🔸 [**Backbox Linux**](https://www.backbox.org/) - penetration test and security assessment oriented Ubuntu-based Linux distribution.
|
||
🔸 [**BlackArch**](https://blackarch.org/) - is an Arch Linux-based penetration testing distribution for penetration testers.
|
||
🔸 [**Pentoo**](https://www.pentoo.ch/) - is a security-focused livecd based on Gentoo.
|
||
🔸 [**Security Onion**](https://securityonion.net/) - Linux distro for intrusion detection, enterprise security monitoring, and log management.
|
||
🔸 [**Tails**](https://tails.boum.org/) - is a live system that aims to preserve your privacy and anonymity.
|
||
🔸 [**vedetta**](https://github.com/vedetta-com/vedetta) - OpenBSD router boilerplate.
|
||
🔸 [**Qubes OS**](https://www.qubes-os.org/) - is a security-oriented OS that uses Xen-based virtualization.
|
||
|
||
##### ▪️ HTTP(s) Services
|
||
|
||
🔸 [**Varnish Cache**](https://varnish-cache.org/) - HTTP accelerator designed for content-heavy dynamic web sites.
|
||
🔸 [**Nginx**](https://nginx.org/) - open source web and reverse proxy server that is similar to Apache, but very light weight.
|
||
🔸 [**OpenResty**](https://openresty.org/en/) - is a dynamic web platform based on NGINX and LuaJIT.
|
||
🔸 [**Tengine**](https://github.com/alibaba/tengine) - a distribution of Nginx with some advanced features.
|
||
🔸 [**Caddy Server**](https://caddyserver.com/) - is an open source, HTTP/2-enabled web server with HTTPS by default.
|
||
🔸 [**HAProxy**](https://www.haproxy.org/) - the reliable, high performance TCP/HTTP load balancer.
|
||
|
||
##### ▪️ DNS Services
|
||
|
||
🔸 [**Unbound**](https://nlnetlabs.nl/projects/unbound/about/) - validating, recursive, and caching DNS resolver (with TLS).
|
||
🔸 [**Knot Resolver**](https://www.knot-resolver.cz/) - caching full resolver implementation, including both a resolver library and a daemon.
|
||
🔸 [**PowerDNS**](https://www.powerdns.com/) - is an open source authoritative DNS server, written in C++ and licensed under the GPL.
|
||
|
||
##### ▪️ Other Services
|
||
|
||
🔸 [**3proxy**](https://github.com/z3APA3A/3proxy) - tiny free proxy server.
|
||
|
||
##### ▪️ Security/hardening
|
||
|
||
🔸 [**Emerald Onion**](https://twitter.com/EmeraldOnion) - is a 501(c)(3) nonprofit organization and transit internet service provider (ISP).
|
||
🔸 [**pi-hole**](https://github.com/pi-hole/pi-hole) - the Pi-hole® is a DNS sinkhole that protects your devices from unwanted content.
|
||
🔸 [**maltrail**](https://github.com/stamparm/maltrail) - malicious traffic detection system.
|
||
🔸 [**security\_monkey**](https://github.com/Netflix/security_monkey) - monitors AWS, GCP, OpenStack, and GitHub orgs for assets and their changes over time.
|
||
🔸 [**firecracker**](https://github.com/firecracker-microvm/firecracker) - secure and fast microVMs for serverless computing.
|
||
🔸 [**streisand**](https://github.com/StreisandEffect/streisand) - sets up a new server running your choice of WireGuard, OpenSSH, OpenVPN, and more.
|
||
|
||
#### Networks [\[TOC\]](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#anger-table-of-contents)
|
||
|
||
##### ▪️ Tools
|
||
|
||
🔸 [**CapAnalysis**](https://www.capanalysis.net/ca/) - web visual tool to analyze large amounts of captured network traffic (PCAP analyzer).
|
||
🔸 [**netbox**](https://github.com/digitalocean/netbox) - IP address management (IPAM) and data center infrastructure management (DCIM) tool.
|
||
|
||
##### ▪️ Labs
|
||
|
||
🔸 [**NRE Labs**](https://labs.networkreliability.engineering/) - learn automation by doing it. Right now, right here, in your browser.
|
||
|
||
##### ▪️ Other
|
||
|
||
🔸 [**LBNL's Network Research Group**](https://ee.lbl.gov/) - home page of the Network Research Group (NRG).
|
||
|
||
#### Containers/Orchestration [\[TOC\]](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#anger-table-of-contents)
|
||
|
||
##### ▪️ CLI Tools
|
||
|
||
🔸 [**gvisor**](https://github.com/google/gvisor) - container runtime sandbox.
|
||
🔸 [**ctop**](https://github.com/bcicen/ctop) - top-like interface for container metrics.
|
||
|
||
##### ▪️ Web Tools
|
||
|
||
🔸 [**Moby**](https://github.com/moby/moby) - a collaborative project for the container ecosystem to assemble container-based system.
|
||
🔸 [**Traefik**](https://traefik.io/) - open source reverse proxy/load balancer provides easier integration with Docker and Let's encrypt.
|
||
🔸 [**kong**](https://github.com/Kong/kong) - The Cloud-Native API Gateway.
|
||
🔸 [**rancher**](https://github.com/rancher/rancher) - complete container management platform.
|
||
🔸 [**portainer**](https://github.com/portainer/portainer) - making Docker management easy.
|
||
🔸 [**nginx-proxy**](https://github.com/jwilder/nginx-proxy) - automated nginx proxy for Docker containers using docker-gen.
|
||
|
||
##### ▪️ Security
|
||
|
||
🔸 [**docker-bench-security**](https://github.com/docker/docker-bench-security) - checks for dozens of common best-practices around deploying Docker.
|
||
🔸 [**trivy**](https://github.com/aquasecurity/trivy) - vulnerability scanner for containers, suitable for CI.
|
||
🔸 [**Harbor**](https://goharbor.io/) - cloud native registry project that stores, signs, and scans content.
|
||
|
||
##### ▪️ Manuals/Tutorials/Best Practices
|
||
|
||
🔸 [**docker-cheat-sheet**](https://github.com/wsargent/docker-cheat-sheet) - a quick reference cheat sheet on Docker.
|
||
🔸 [**awesome-docker**](https://github.com/veggiemonk/awesome-docker) - a curated list of Docker resources and projects.
|
||
🔸 [**docker\_practice**](https://github.com/yeasy/docker_practice) - learn and understand Docker technologies, with real DevOps practice!
|
||
🔸 [**labs**](https://github.com/docker/labs) \- is a collection of tutorials for learning how to use Docker with various tools.
|
||
🔸 [**dockerfiles**](https://github.com/jessfraz/dockerfiles) - various Dockerfiles I use on the desktop and on servers.
|
||
🔸 [**kubernetes-the-hard-way**](https://github.com/kelseyhightower/kubernetes-the-hard-way) - bootstrap Kubernetes the hard way on Google Cloud Platform. No scripts.
|
||
🔸 [**kubernetes-the-easy-way**](https://github.com/jamesward/kubernetes-the-easy-way) - bootstrap Kubernetes the easy way on Google Cloud Platform. No scripts.
|
||
🔸 [**cheatsheet-kubernetes-A4**](https://github.com/dennyzhang/cheatsheet-kubernetes-A4) - Kubernetes CheatSheets in A4.
|
||
🔸 [**k8s-security**](https://github.com/kabachook/k8s-security) - kubernetes security notes and best practices.
|
||
🔸 [**kubernetes-production-best-practices**](https://learnk8s.io/production-best-practices/) - checklists with best-practices for production-ready Kubernetes.
|
||
🔸 [**kubernetes-production-best-practices**](https://github.com/freach/kubernetes-security-best-practice) - kubernetes security - best practice guide.
|
||
🔸 [**kubernetes-failure-stories**](https://github.com/hjacobs/kubernetes-failure-stories) - is a compilation of public failure/horror stories related to Kubernetes.
|
||
|
||
#### Manuals/Howtos/Tutorials [\[TOC\]](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#anger-table-of-contents)
|
||
|
||
##### ▪️ Shell/Command line
|
||
|
||
🔸 [**pure-bash-bible**](https://github.com/dylanaraps/pure-bash-bible) - is a collection of pure bash alternatives to external processes.
|
||
🔸 [**pure-sh-bible**](https://github.com/dylanaraps/pure-sh-bible) - is a collection of pure POSIX sh alternatives to external processes.
|
||
🔸 [**bash-guide**](https://github.com/Idnan/bash-guide) - is a guide to learn bash.
|
||
🔸 [**bash-handbook**](https://github.com/denysdovhan/bash-handbook) - for those who wanna learn Bash.
|
||
🔸 [**The Bash Hackers Wiki**](https://wiki.bash-hackers.org/start) - hold documentation of any kind about GNU Bash.
|
||
🔸 [**Shell & Utilities**](http://pubs.opengroup.org/onlinepubs/9699919799/utilities/contents.html) - describes the commands offered to application programs by POSIX-conformant systems.
|
||
🔸 [**the-art-of-command-line**](https://github.com/jlevy/the-art-of-command-line) - master the command line, in one page.
|
||
🔸 [**Shell Style Guide**](https://google.github.io/styleguide/shellguide.html) - a shell style guide for Google-originated open-source projects.
|
||
|
||
##### ▪️ Text Editors
|
||
|
||
🔸 [**Vim Cheat Sheet**](https://vim.rtorr.com/) - great multi language vim guide.
|
||
|
||
##### ▪️ Python
|
||
|
||
🔸 [**Awesome Python**](https://awesome-python.com/) - a curated list of awesome Python frameworks, libraries, software and resources.
|
||
🔸 [**python-cheatsheet**](https://github.com/gto76/python-cheatsheet) - comprehensive Python cheatsheet.
|
||
🔸 [**pythoncheatsheet.org**](https://www.pythoncheatsheet.org/) - basic reference for beginner and advanced developers.
|
||
|
||
##### ▪️ Sed & Awk & Other
|
||
|
||
🔸 [**F’Awk Yeah!**](https://posts.specterops.io/fawk-yeah-advanced-sed-and-awk-usage-parsing-for-pentesters-3-e5727e11a8ad?gi=c8f9506b26b6) - advanced sed and awk usage (Parsing for Pentesters 3).
|
||
|
||
##### ▪️ \*nix & Network
|
||
|
||
🔸 [**nixCraft**](https://www.cyberciti.biz/) - linux and unix tutorials for new and seasoned sysadmin.
|
||
🔸 [**TecMint**](https://www.tecmint.com/) - the ideal Linux blog for Sysadmins & Geeks.
|
||
🔸 [**Omnisecu**](http://www.omnisecu.com/index.php) - free Networking, System Administration and Security tutorials.
|
||
🔸 [**linux-cheat**](https://github.com/cirosantilli/linux-cheat) - Linux tutorials and cheatsheets. Minimal examples. Mostly user-land CLI utilities.
|
||
🔸 [**linuxupskillchallenge**](https://github.com/snori74/linuxupskillchallenge) - learn the skills required to sysadmin.
|
||
🔸 [**Unix Toolbox**](http://cb.vu/unixtoolbox.xhtml) - Unix/Linux/BSD commands and tasks which are useful for IT work or for advanced users.
|
||
🔸 [**Linux Kernel Teaching**](https://linux-kernel-labs.github.io/refs/heads/master/index.html) - is a collection of lectures and labs Linux kernel topics.
|
||
🔸 [**htop explained**](https://peteris.rocks/blog/htop/) - explanation of everything you can see in htop/top on Linux.
|
||
🔸 [**Linux Guide and Hints**](https://linuxguideandhints.com/) - tutorials on system administration in Fedora and CentOS.
|
||
🔸 [**strace-little-book**](https://github.com/NanXiao/strace-little-book) - a little book which introduces strace.
|
||
🔸 [**linux-tracing-workshop**](https://github.com/goldshtn/linux-tracing-workshop) - examples and hands-on labs for Linux tracing tools workshops.
|
||
🔸 [**http2-explained**](https://github.com/bagder/http2-explained) - a detailed document explaining and documenting HTTP/2.
|
||
🔸 [**http3-explained**](https://github.com/bagder/http3-explained) - a document describing the HTTP/3 and QUIC protocols.
|
||
🔸 [**HTTP/2 in Action**](https://www.manning.com/books/http2-in-action) - an excellent introduction to the new HTTP/2 standard.
|
||
🔸 [**Let's code a TCP/IP stack**](https://www.saminiir.com/lets-code-tcp-ip-stack-1-ethernet-arp/) - great stuff to learn network and system programming at a deeper level.
|
||
🔸 [**Nginx Admin's Handbook**](https://github.com/trimstray/nginx-admins-handbook) - how to improve NGINX performance, security and other important things.
|
||
🔸 [**nginxconfig.io**](https://github.com/digitalocean/nginxconfig.io) - NGINX config generator on steroids.
|
||
🔸 [**openssh guideline**](https://infosec.mozilla.org/guidelines/openssh) - is to help operational teams with the configuration of OpenSSH server and client.
|
||
🔸 [**SSH Handshake Explained**](https://gravitational.com/blog/ssh-handshake-explained/) - is a relatively brief description of the SSH handshake.
|
||
🔸 [**ISC's Knowledgebase**](https://kb.isc.org/docs/using-this-knowledgebase) - you'll find some general information about BIND 9, ISC DHCP, and Kea DHCP.
|
||
🔸 [**PacketLife.net**](https://packetlife.net/) - a place to record notes while studying for Cisco's CCNP certification.
|
||
|
||
##### ▪️ Microsoft
|
||
|
||
🔸 [**AD-Attack-Defense**](https://github.com/infosecn1nja/AD-Attack-Defense) - attack and defend active directory using modern post exploitation activity.
|
||
|
||
##### ▪️ Large-scale systems
|
||
|
||
🔸 [**The System Design Primer**](https://github.com/donnemartin/system-design-primer) - learn how to design large-scale systems.
|
||
🔸 [**Awesome Scalability**](https://github.com/binhnguyennus/awesome-scalability) - best practices in building High Scalability, High Availability, High Stability, and more.
|
||
🔸 [**Web Architecture 101**](https://engineering.videoblocks.com/web-architecture-101-a3224e126947?gi=a896808d22a) - the basic architecture concepts.
|
||
|
||
##### ▪️ System hardening
|
||
|
||
🔸 [**CIS Benchmarks**](https://www.cisecurity.org/cis-benchmarks/) - secure configuration settings for over 100 technologies, available as a free PDF.
|
||
🔸 [**Security Harden CentOS 7**](https://highon.coffee/blog/security-harden-centos-7/) - this walks you through the steps required to security harden CentOS.
|
||
🔸 [**CentOS 7 Server Hardening Guide**](https://www.lisenet.com/2017/centos-7-server-hardening-guide/) - great guide for hardening CentOS; familiar with OpenSCAP.
|
||
🔸 [**awesome-security-hardening**](https://github.com/decalage2/awesome-security-hardening) - is a collection of security hardening guides, tools and other resources.
|
||
🔸 [**The Practical Linux Hardening Guide**](https://github.com/trimstray/the-practical-linux-hardening-guide) - provides a high-level overview of hardening GNU/Linux systems.
|
||
🔸 [**Linux Hardening Guide**](https://madaidans-insecurities.github.io/guides/linux-hardening.html) - how to harden Linux as much as possible for security and privacy.
|
||
|
||
##### ▪️ Security & Privacy
|
||
|
||
🔸 [**Hacking Articles**](https://www.hackingarticles.in/) - LRaj Chandel's Security & Hacking Blog.
|
||
🔸 [**AWS security tools**](https://github.com/toniblyx/my-arsenal-of-aws-security-tools) - make your AWS cloud environment more secure.
|
||
🔸 [**Rawsec's CyberSecurity Inventory**](https://inventory.rawsec.ml/index.html) - an inventory of tools and resources about CyberSecurity.
|
||
🔸 [**The Illustrated TLS Connection**](https://tls.ulfheim.net/) - every byte of a TLS connection explained and reproduced.
|
||
🔸 [**SSL Research**](https://github.com/ssllabs/research/wiki/SSL-and-TLS-Deployment-Best-Practices) - SSL and TLS Deployment Best Practices by SSL Labs.
|
||
🔸 [**SELinux Game**](http://selinuxgame.org/index.html) - learn SELinux by doing. Solve Puzzles, show skillz.
|
||
🔸 [**Certificates and PKI**](https://smallstep.com/blog/everything-pki.html) - everything you should know about certificates and PKI but are too afraid to ask.
|
||
🔸 [**The Art of Subdomain Enumeration**](https://appsecco.com/books/subdomain-enumeration/) - a reference for subdomain enumeration techniques.
|
||
🔸 [**Quitting Google**](https://lifehacker.com/the-comprehensive-guide-to-quitting-google-1830001964) - the comprehensive guide to quitting Google.
|
||
|
||
##### ▪️ Web Apps
|
||
|
||
🔸 [**OWASP**](https://www.owasp.org/index.php/Main_Page) - worldwide not-for-profit charitable organization focused on improving the security of software.
|
||
🔸 [**OWASP ASVS 3.0.1**](https://www.owasp.org/index.php/Category:OWASP_Application_Security_Verification_Standard_Project) - OWASP Application Security Verification Standard Project.
|
||
🔸 [**OWASP ASVS 3.0.1 Web App**](https://github.com/Santandersecurityresearch/asvs) - simple web app that helps developers understand the ASVS requirements.
|
||
🔸 [**OWASP ASVS 4.0**](https://github.com/OWASP/ASVS/tree/master/4.0) - is a list of application security requirements or tests.
|
||
🔸 [**OWASP Testing Guide v4**](https://www.owasp.org/index.php/OWASP_Testing_Project) - includes a "best practice" penetration testing framework.
|
||
🔸 [**OWASP Dev Guide**](https://github.com/OWASP/DevGuide) - this is the development version of the OWASP Developer Guide.
|
||
🔸 [**OWASP WSTG**](https://github.com/OWASP/wstg) - is a comprehensive open source guide to testing the security of web apps.
|
||
🔸 [**OWASP API Security Project**](https://www.owasp.org/index.php/OWASP_API_Security_Project) - focuses specifically on the top ten vulnerabilities in API security.
|
||
🔸 [**Mozilla Web Security**](https://infosec.mozilla.org/guidelines/web_security.html) - help operational teams with creating secure web applications.
|
||
🔸 [**security-bulletins**](https://github.com/Netflix/security-bulletins) - security bulletins that relate to Netflix Open Source.
|
||
🔸 [**API-Security-Checklist**](https://github.com/shieldfy/API-Security-Checklist) - security countermeasures when designing, testing, and releasing your API.
|
||
🔸 [**Enable CORS**](https://enable-cors.org/index.html) - enable cross-origin resource sharing.
|
||
🔸 [**Application Security Wiki**](https://appsecwiki.com/#/) - is an initiative to provide all application security related resources at one place.
|
||
🔸 [**Weird Proxies**](https://github.com/GrrrDog/weird_proxies/wiki) - reverse proxy related attacks; it is a result of analysis of various proxies.
|
||
🔸 [**Webshells**](https://dfir.it/blog/2015/08/12/webshell-every-time-the-same-purpose/) - great series about malicious payloads.
|
||
🔸 [**Practical Web Cache Poisoning**](https://portswigger.net/blog/practical-web-cache-poisoning) - show you how to compromise websites by using esoteric web features.
|
||
🔸 [**Hidden directories and files**](https://github.com/bl4de/research/tree/master/hidden_directories_leaks) - as a source of sensitive information about web application.
|
||
🔸 [**Explosive blog**](https://bo0om.ru/en/) - great blog about cybersec and pentests.
|
||
🔸 [**Security Cookies**](https://www.netsparker.com/security-cookies-whitepaper/) - this paper will take a close look at cookie security.
|
||
🔸 [**APISecurityBestPractices**](https://github.com/GitGuardian/APISecurityBestPractices) - help you keep secrets (API keys, db credentials, certificates) out of source code.
|
||
|
||
##### ▪️ All-in-one
|
||
|
||
🔸 [**LZone Cheat Sheets**](https://lzone.de/cheat-sheet/) - all cheat sheets.
|
||
🔸 [**Dan’s Cheat Sheets’s**](https://github.com/rstacruz/cheatsheets) - massive cheat sheets documentation.
|
||
🔸 [**Rico's cheatsheets**](https://devhints.io/) - this is a modest collection of cheatsheets.
|
||
🔸 [**DevDocs API**](https://devdocs.io/) - combines multiple API documentations in a fast, organized, and searchable interface.
|
||
🔸 [**cheat.sh**](https://cheat.sh/) - the only cheat sheet you need.
|
||
🔸 [**gnulinux.guru**](https://gnulinux.guru/) - collection of cheat sheets about bash, vim and networking.
|
||
|
||
##### ▪️ Ebooks
|
||
|
||
🔸 [**free-programming-books**](https://github.com/EbookFoundation/free-programming-books) - list of free learning resources in many languages.
|
||
|
||
##### ▪️ Other
|
||
|
||
🔸 [**CTF Series : Vulnerable Machines**](https://bitvijays.github.io/LFC-VulnerableMachines.html) - the steps below could be followed to find vulnerabilities and exploits.
|
||
🔸 [**50M\_CTF\_Writeup**](https://github.com/manoelt/50M_CTF_Writeup) - $50 million CTF from Hackerone - writeup.
|
||
🔸 [**ctf-tasks**](https://github.com/j00ru/ctf-tasks) - an archive of low-level CTF challenges developed over the years.
|
||
🔸 [**How to start RE/malware analysis?**](https://hshrzd.wordpress.com/how-to-start/) - collection of some hints and useful links for the beginners.
|
||
🔸 [**The C10K problem**](http://www.kegel.com/c10k.html) - it's time for web servers to handle ten thousand clients simultaneously, don't you think?
|
||
🔸 [**How 1500 bytes became the MTU of the internet**](https://blog.benjojo.co.uk/post/why-is-ethernet-mtu-1500) - great story about the Maximum Transmission Unit.
|
||
🔸 [**poor man's profiler**](http://poormansprofiler.org/) - like dtrace's don't really provide methods to see what programs are blocking on.
|
||
🔸 [**HTTPS on Stack Overflow**](https://nickcraver.com/blog/2017/05/22/https-on-stack-overflow/) - this is the story of a long journey regarding the implementation of SSL.
|
||
🔸 [**Julia's Drawings**](https://drawings.jvns.ca/) - some drawings about programming and unix world, zines about systems & debugging tools.
|
||
🔸 [**Hash collisions**](https://github.com/corkami/collisions) - this great repository is focused on hash collisions exploitation.
|
||
🔸 [**sha256-animation**](https://github.com/in3rsha/sha256-animation) - animation of the SHA-256 hash function in your terminal.
|
||
🔸 [**BGP Meets Cat**](https://labs.ripe.net/Members/cteusche/bgp-meets-cat) - after 3072 hours of manipulating BGP, Job Snijders has succeeded in drawing a Nyancat.
|
||
🔸 [**bgp-battleships**](https://github.com/benjojo/bgp-battleships) - playing battleships over BGP.
|
||
🔸 [**What happens when...**](https://github.com/alex/what-happens-when) - you type google.com into your browser and press enter?
|
||
🔸 [**how-web-works**](https://github.com/vasanthk/how-web-works) - based on the 'What happens when...' repository.
|
||
🔸 [**HTTPS in the real world**](https://robertheaton.com/2018/11/28/https-in-the-real-world/) - great tutorial explain how HTTPS works in the real world.
|
||
🔸 [**Gitlab and NFS bug**](https://about.gitlab.com/2018/11/14/how-we-spent-two-weeks-hunting-an-nfs-bug/) - how we spent two weeks hunting an NFS bug in the Linux kernel.
|
||
🔸 [**Gitlab melts down**](https://about.gitlab.com/2017/02/10/postmortem-of-database-outage-of-january-31/) - postmortem on the database outage of January 31 2017 with the lessons we learned.
|
||
🔸 [**How To Become A Hacker**](http://www.catb.org/esr/faqs/hacker-howto.html) - if you want to be a hacker, keep reading.
|
||
🔸 [**Operation Costs in CPU**](http://ithare.com/infographics-operation-costs-in-cpu-clock-cycles/) - should help to estimate costs of certain operations in CPU clocks.
|
||
🔸 [**Let's Build a Simple Database**](https://cstack.github.io/db_tutorial/) - writing a sqlite clone from scratch in C.
|
||
🔸 [**simple-computer**](https://djhworld.github.io/post/2019/05/21/i-dont-know-how-cpus-work-so-i-simulated-one-in-code/) - great resource to understand how computers work under the hood.
|
||
🔸 [**The story of "Have I been pwned?"**](https://www.troyhunt.com/working-with-154-million-records-on/) - working with 154 million records on Azure Table Storage.
|
||
🔸 [**TOP500 Supercomputers**](https://www.top500.org/) - shows the 500 most powerful commercially available computer systems known to us.
|
||
🔸 [**How to build a 8 GPU password cracker**](https://www.shellntel.com/blog/2017/2/8/how-to-build-a-8-gpu-password-cracker) - any "black magic" or hours of frustration like desktop components do.
|
||
🔸 [**CERN Data Centre**](https://home.cern/science/computing) - 3D visualizations of the CERN computing environments (and more).
|
||
🔸 [**How fucked is my database**](http://howfuckedismydatabase.com/) - evaluate how fucked your database is with this handy website.
|
||
🔸 [**Linux Troubleshooting 101 , 2016 Edition**](https://krisbuytaert.be/blog/linux-troubleshooting-101-2016-edition/index.html) - everything is a DNS Problem...
|
||
🔸 [**Five Whys**](https://open.buffer.com/5-whys-process/) - you know what the problem is, but you cannot solve it?
|
||
🔸 [**Maersk, me & notPetya**](https://gvnshtn.com/maersk-me-notpetya/) - how did ransomware successfully hijack hundreds of domain controllers?
|
||
🔸 [**howhttps.works**](https://howhttps.works/) - how HTTPS works ...in a comic!
|
||
🔸 [**howdns.works**](https://howdns.works/) - a fun and colorful explanation of how DNS works.
|
||
🔸 [**POSTGRESQLCO.NF**](https://postgresqlco.nf/en/doc/param/) - your postgresql.conf documentation and recommendations.
|
||
|
||
#### Inspiring Lists [\[TOC\]](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#anger-table-of-contents)
|
||
|
||
##### ▪️ SysOps/DevOps
|
||
|
||
🔸 [**Awesome Sysadmin**](https://github.com/kahun/awesome-sysadmin) - amazingly awesome open source sysadmin resources.
|
||
🔸 [**Awesome Shell**](https://github.com/alebcay/awesome-shell) - awesome command-line frameworks, toolkits, guides and gizmos.
|
||
🔸 [**Command-line-text-processing**](https://github.com/learnbyexample/Command-line-text-processing) - finding text to search and replace, sorting to beautifying, and more.
|
||
🔸 [**Awesome Pcaptools**](https://github.com/caesar0301/awesome-pcaptools) - collection of tools developed by other researchers to process network traces.
|
||
🔸 [**awesome-ebpf**](https://github.com/zoidbergwill/awesome-ebpf) - a curated list of awesome projects related to eBPF.
|
||
🔸 [**Linux Network Performance**](https://github.com/leandromoreira/linux-network-performance-parameters) - where some of the network sysctl variables fit into the Linux/Kernel network flow.
|
||
🔸 [**Awesome Postgres**](https://github.com/dhamaniasad/awesome-postgres) - list of awesome PostgreSQL software, libraries, tools and resources.
|
||
🔸 [**quick-SQL-cheatsheet**](https://github.com/enochtangg/quick-SQL-cheatsheet) - a quick reminder of all SQL queries and examples on how to use them.
|
||
🔸 [**Awesome-Selfhosted**](https://github.com/Kickball/awesome-selfhosted) - list of Free Software network services and web applications which can be hosted locally.
|
||
🔸 [**List of applications**](https://wiki.archlinux.org/index.php/List_of_applications) - huge list of apps sorted by category, as a reference for those looking for packages.
|
||
🔸 [**CS-Interview-Knowledge-Map**](https://github.com/InterviewMap/CS-Interview-Knowledge-Map) - build the best interview map.
|
||
🔸 [**DevOps-Guide**](https://github.com/Tikam02/DevOps-Guide) - DevOps Guide from basic to advanced with Interview Questions and Notes.
|
||
🔸 [**FreeBSD Journal**](https://issue.freebsdfoundation.org/publication/?m=33057&l=1&view=issuelistBrowser) - it is a great list of periodical magazines about FreeBSD and other important things.
|
||
🔸 [**devops-interview-questions**](https://github.com/bregman-arie/devops-interview-questions) - contains interview questions on various DevOps and SRE related topics.
|
||
|
||
##### ▪️ Developers
|
||
|
||
🔸 [**Web Developer Roadmap**](https://github.com/kamranahmedse/developer-roadmap) - roadmaps, articles and resources to help you choose your path, learn and improve.
|
||
🔸 [**Front-End-Checklist**](https://github.com/thedaviddias/Front-End-Checklist) - the perfect Front-End Checklist for modern websites and meticulous developers.
|
||
🔸 [**Front-End-Performance-Checklist**](https://github.com/thedaviddias/Front-End-Performance-Checklist) - Front-End Performance Checklist that runs faster than the others.
|
||
🔸 [**Python's Magic Methods**](https://rszalski.github.io/magicmethods/) - what are magic methods? They're everything in object-oriented Python.
|
||
🔸 [**wtfpython**](https://github.com/satwikkansal/wtfpython) - a collection of surprising Python snippets and lesser-known features.
|
||
🔸 [**js-dev-reads**](https://github.com/twhite96/js-dev-reads) - a list of books and articles for the discerning web developer to read.
|
||
🔸 [**Commit messages guide**](https://github.com/RomuloOliveira/commit-messages-guide) - a guide to understand the importance of commit messages.
|
||
|
||
##### ▪️ Security/Pentesting
|
||
|
||
🔸 [**Awesome Web Security**](https://github.com/qazbnm456/awesome-web-security) - a curated list of Web Security materials and resources.
|
||
🔸 [**awesome-cyber-skills**](https://github.com/joe-shenouda/awesome-cyber-skills) - a curated list of hacking environments where you can train your cyber skills.
|
||
🔸 [**awesome-devsecops**](https://github.com/devsecops/awesome-devsecops) - an authoritative list of awesome devsecops tools.
|
||
🔸 [**awesome-osint**](https://github.com/jivoi/awesome-osint) - is a curated list of amazingly awesome OSINT.
|
||
🔸 [**HolyTips**](https://github.com/HolyBugx/HolyTips) - tips and tutorials on Bug Bounty Hunting and Web App Security.
|
||
🔸 [**awesome-threat-intelligence**](https://github.com/hslatman/awesome-threat-intelligence) - a curated list of Awesome Threat Intelligence resources.
|
||
🔸 [**Red-Teaming-Toolkit**](https://github.com/infosecn1nja/Red-Teaming-Toolkit) - a collection of open source and commercial tools that aid in red team operations.
|
||
🔸 [**awesome-burp-extensions**](https://github.com/snoopysecurity/awesome-burp-extensions) - a curated list of amazingly awesome Burp Extensions.
|
||
🔸 [**Free Security eBooks**](https://github.com/Hack-with-Github/Free-Security-eBooks) - list of a Free Security and Hacking eBooks.
|
||
🔸 [**Hacking-Security-Ebooks**](https://github.com/yeahhub/Hacking-Security-Ebooks) - top 100 Hacking & Security E-Books.
|
||
🔸 [**privacy-respecting**](https://github.com/nikitavoloboev/privacy-respecting) - curated list of privacy respecting services and software.
|
||
🔸 [**reverse-engineering**](https://github.com/wtsxDev/reverse-engineering) - list of awesome reverse engineering resources.
|
||
🔸 [**linux-re-101**](https://github.com/michalmalik/linux-re-101) - a collection of resources for linux reverse engineering.
|
||
🔸 [**reverseengineering-reading-list**](https://github.com/onethawt/reverseengineering-reading-list) - a list of Reverse Engineering articles, books, and papers.
|
||
🔸 [**Awesome-WAF**](https://github.com/0xInfection/Awesome-WAF) - a curated list of awesome web-app firewall (WAF) stuff.
|
||
🔸 [**awesome-shodan-queries**](https://github.com/jakejarvis/awesome-shodan-queries) - interesting, funny, and depressing search queries to plug into shodan.io.
|
||
🔸 [**RobotsDisallowed**](https://github.com/danielmiessler/RobotsDisallowed) - a curated list of the most common and most interesting robots.txt disallowed directories.
|
||
🔸 [**HackingNeuralNetworks**](https://github.com/Kayzaks/HackingNeuralNetworks) - is a small course on exploiting and defending neural networks.
|
||
🔸 [**wildcard-certificates**](https://gist.github.com/joepie91/7e5cad8c0726fd6a5e90360a754fc568) - why you probably shouldn't use a wildcard certificate.
|
||
🔸 [**Don't use VPN services**](https://gist.github.com/joepie91/5a9909939e6ce7d09e29) - which is what every third-party "VPN provider" does.
|
||
🔸 [**awesome-yara**](https://github.com/InQuest/awesome-yara) - a curated list of awesome YARA rules, tools, and people.
|
||
🔸 [**macOS-Security-and-Privacy-Guide**](https://github.com/drduh/macOS-Security-and-Privacy-Guide) - guide to securing and improving privacy on macOS.
|
||
🔸 [**macos\_security**](https://github.com/usnistgov/macos_security) - macOS Security Compliance Project.
|
||
🔸 [**awesome-sec-talks**](https://github.com/PaulSec/awesome-sec-talks) - is a collected list of awesome security talks.
|
||
🔸 [**Movies for Hackers**](https://github.com/k4m4/movies-for-hackers) - list of movies every hacker & cyberpunk must watch.
|
||
🔸 [**Cryptography\_1**](https://github.com/danieldizzy/Cryptography_1) - materials used whilst taking Prof. Dan Boneh Stanford Crypto course.
|
||
🔸 [**Crypton**](https://github.com/ashutosh1206/Crypton) - library to learn and practice Offensive and Defensive Cryptography.
|
||
|
||
##### ▪️ Other
|
||
|
||
🔸 [**Cheatography**](https://www.cheatography.com/) - over 3,000 free cheat sheets, revision aids and quick references.
|
||
🔸 [**awesome-static-analysis**](https://github.com/mre/awesome-static-analysis) - static analysis tools for all programming languages.
|
||
🔸 [**computer-science**](https://github.com/ossu/computer-science) - path to a free self-taught education in Computer Science.
|
||
🔸 [**post-mortems**](https://github.com/danluu/post-mortems) - is a collection of postmortems (config errors, hardware failures, and more).
|
||
🔸 [**build-your-own-x**](https://github.com/danistefanovic/build-your-own-x) - build your own (insert technology here).
|
||
🔸 [**Project-Based-Tutorials-in-C**](https://github.com/rby90/Project-Based-Tutorials-in-C) - is a curated list of project-based tutorials in C.
|
||
🔸 [**The-Documentation-Compendium**](https://github.com/kylelobo/The-Documentation-Compendium) - various README templates & tips on writing high-quality documentation.
|
||
🔸 [**awesome-python-applications**](https://github.com/mahmoud/awesome-python-applications) - free software that works great, and also happens to be open-source Python.
|
||
🔸 [**awesome-public-datasets**](https://github.com/awesomedata/awesome-public-datasets) - a topic-centric list of HQ open datasets.
|
||
🔸 [**machine-learning-algorithms**](https://github.com/Sahith02/machine-learning-algorithms) - a curated list of all machine learning algorithms and concepts.
|
||
|
||
#### Blogs/Podcasts/Videos [\[TOC\]](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#anger-table-of-contents)
|
||
|
||
##### ▪️ SysOps/DevOps
|
||
|
||
🔸 [**Varnish for PHP developers**](https://www.youtube.com/watch?v=nAFpkV5-vuI) - very interesting presentation of Varnish by Mattias Geniar.
|
||
🔸 [**A Netflix Guide to Microservices**](https://www.youtube.com/watch?v=CZ3wIuvmHeM) - talks about the chaotic and vibrant world of microservices at Netflix.
|
||
|
||
##### ▪️ Developers
|
||
|
||
🔸 [**Comparing C to machine lang**](https://www.youtube.com/watch?v=yOyaJXpAYZQ) - compare a simple C app with the compiled machine code of that program.
|
||
|
||
##### ▪️ Geeky Persons
|
||
|
||
🔸 [**Brendan Gregg's Blog**](http://www.brendangregg.com/) - is an industry expert in computing performance and cloud computing.
|
||
🔸 [**Gynvael "GynDream" Coldwind**](https://gynvael.coldwind.pl/) - is a IT security engineer at Google.
|
||
🔸 [**Michał "lcamtuf" Zalewski**](http://lcamtuf.coredump.cx/) - white hat hacker, computer security expert.
|
||
🔸 [**Mattias Geniar**](https://ma.ttias.be/) - developer, sysadmin, blogger, podcaster and public speaker.
|
||
🔸 [**Nick Craver**](https://nickcraver.com/) - software developer and systems administrator for Stack Exchange.
|
||
🔸 [**Scott Helme**](https://scotthelme.co.uk/) - security researcher, speaker and founder of securityheaders.com and report-uri.com.
|
||
🔸 [**Brian Krebs**](https://krebsonsecurity.com/) - The Washington Post and now an Independent investigative journalist.
|
||
🔸 [**Bruce Schneier**](https://www.schneier.com/) - is an internationally renowned security technologist, called a "security guru".
|
||
🔸 [**Chrissy Morgan**](https://chrissymorgan.co.uk/) - advocate of practical learning, Chrissy also takes part in bug bounty programs.
|
||
🔸 [**Andy Gill**](https://blog.zsec.uk/) - is a hacker at heart who works as a senior penetration tester.
|
||
🔸 [**Daniel Miessler**](https://danielmiessler.com/) - cybersecurity expert and writer.
|
||
🔸 [**Samy Kamkar**](https://samy.pl/) - is an American privacy and security researcher, computer hacker.
|
||
🔸 [**Javvad Malik**](https://www.j4vv4d.com/) - is a security advocate at AlienVault, a blogger event speaker and industry commentator.
|
||
🔸 [**Graham Cluley**](https://www.grahamcluley.com/) - public speaker and independent computer security analyst.
|
||
🔸 [**Kacper Szurek**](https://security.szurek.pl/) - detection engineer at ESET.
|
||
🔸 [**Troy Hunt**](https://www.troyhunt.com/) - web security expert known for public education and outreach on security topics.
|
||
🔸 [**raymii.org**](https://raymii.org/s/index.html) - sysadmin specializing in building high availability cloud environments.
|
||
🔸 [**Robert Penz**](https://robert.penz.name/) - IT security expert.
|
||
|
||
##### ▪️ Geeky Blogs
|
||
|
||
🔸 [**Linux Audit**](https://linux-audit.com/) - the Linux security blog about auditing, hardening and compliance by Michael Boelen.
|
||
🔸 [**Linux Security Expert**](https://linuxsecurity.expert/) - trainings, howtos, checklists, security tools, and more.
|
||
🔸 [**The Grymoire**](http://www.grymoire.com/) - collection of useful incantations for wizards, be you computer wizards, magicians, or whatever.
|
||
🔸 [**Secjuice**](https://www.secjuice.com/) - is the only non-profit, independent and volunteer led publication in the information security space.
|
||
🔸 [**Decipher**](https://duo.com/decipher) - security news that informs and inspires.
|
||
|
||
##### ▪️ Geeky Vendor Blogs
|
||
|
||
🔸 [**Tenable Podcast**](https://www.tenable.com/podcast) - conversations and interviews related to Cyber Exposure, and more.
|
||
🔸 [**Sophos**](https://nakedsecurity.sophos.com/) - threat news room, giving you news, opinion, advice and research on computer security issues.
|
||
🔸 [**Tripwire State of Security**](https://www.tripwire.com/state-of-security/) - blog featuring the latest news, trends and insights on current security issues.
|
||
🔸 [**Malwarebytes Labs Blog**](https://blog.malwarebytes.com/) - security blog aims to provide insider news about cybersecurity.
|
||
🔸 [**TrustedSec**](https://www.trustedsec.com/category/articles/) - latest news, and trends about cybersecurity.
|
||
🔸 [**PortSwigger Web Security Blog**](https://portswigger.net/blog) - about web app security vulns and top tips from our team of web security.
|
||
🔸 [**AT&T Cybersecurity blog**](https://www.alienvault.com/blogs) - news on emerging threats and practical advice to simplify threat detection.
|
||
🔸 [**Thycotic**](https://thycotic.com/company/blog/) - where CISOs and IT Admins come to learn about industry trends, IT security, and more.
|
||
|
||
##### ▪️ Geeky Cybersecurity Podcasts
|
||
|
||
🔸 [**Risky Business**](https://risky.biz/netcasts/risky-business/) - is a weekly information security podcast featuring news and in-depth interviews.
|
||
🔸 [**Cyber, by Motherboard**](https://www.vice.com/en_us/topic/cyber) - stories, and focus on the ideas about cybersecurity.
|
||
🔸 [**Tenable Podcast**](https://www.tenable.com/podcast) - conversations and interviews related to Cyber Exposure, and more.
|
||
🔸 [**Cybercrime Investigations**](https://podcasts.apple.com/gb/podcast/cybercrime-investigations/id1428801405) - podcast by Geoff White about cybercrimes.
|
||
🔸 [**The many hats club**](https://themanyhats.club/tag/episodes/) - featuring stories from a wide range of Infosec people (Whitehat, Greyhat and Blackhat).
|
||
🔸 [**Darknet Diaries**](https://darknetdiaries.com/) - true stories from the dark side of the Internet.
|
||
🔸 [**OSINTCurious Webcasts**](https://www.youtube.com/playlist?list=PL423I_gHbWUXah3dmt_q_XNp0NlGAKjis) - is the investigative curiosity that helps people be successful in OSINT.
|
||
🔸 [**Security Weekly**](https://www.youtube.com/user/SecurityWeeklyTV) - the latest information security and hacking news.
|
||
|
||
##### ▪️ Geeky Cybersecurity Video Blogs
|
||
|
||
🔸 [**rev3rse security**](https://www.youtube.com/channel/UCzvJStjySZVvOBsPl-Vgj0g) - offensive, binary exploitation, web app security, hardening, red team, blue team.
|
||
🔸 [**LiveOverflow**](https://www.youtube.com/channel/UClcE-kVhqyiHCcjYwcpfj9w) - a lot more advanced topics than what is typically offered in paid online courses - but for free.
|
||
🔸 [**J4vv4D**](https://www.youtube.com/infoseccynic) - the important information regarding our internet security.
|
||
🔸 [**CyberTalks**](https://cybertalks.co.uk/) - talks, interviews, and article about cybersecurity.
|
||
|
||
##### ▪️ Best Personal Twitter Accounts
|
||
|
||
🔸 [**@blackroomsec**](https://twitter.com/blackroomsec) - a white-hat hacker/pentester. Intergalactic Minesweeper Champion 1990.
|
||
🔸 [**@MarcoCiappelli**](https://twitter.com/MarcoCiappelli) - Co-Founder @ITSPmagazine, at the intersection of IT security and society.
|
||
🔸 [**@binitamshah**](https://twitter.com/binitamshah) - Linux Evangelist. Malwares. Kernel Dev. Security Enthusiast.
|
||
🔸 [**@joe\_carson**](https://twitter.com/joe_carson) - an InfoSec Professional and Tech Geek.
|
||
🔸 [**@mikko**](https://twitter.com/mikko) - CRO at F-Secure, Reverse Engineer, TED Speaker, Supervillain.
|
||
🔸 [**@esrtweet**](https://twitter.com/esrtweet) - often referred to as ESR, is an American software developer, and open-source software advocate.
|
||
🔸 [**@gynvael**](https://twitter.com/gynvael) - security researcher/programmer, @DragonSectorCTF founder/player, technical streamer.
|
||
🔸 [**@x0rz**](https://twitter.com/x0rz) - Security Researcher & Cyber Observer.
|
||
🔸 [**@hasherezade**](https://twitter.com/hasherezade) - programmer, malware analyst. Author of PEbear, PEsieve, libPeConv.
|
||
🔸 [**@TinkerSec**](https://twitter.com/TinkerSec) - tinkerer, cypherpunk, hacker.
|
||
🔸 [**@alisaesage**](https://twitter.com/alisaesage) - independent hacker and researcher.
|
||
🔸 [**@SwiftOnSecurity**](https://twitter.com/SwiftOnSecurity) - systems security, industrial safety, sysadmin, author of decentsecurity.com.
|
||
🔸 [**@dakami**](https://twitter.com/dakami) - is one of just seven people with the authority to restore the DNS root keys.
|
||
🔸 [**@samykamkar**](https://twitter.com/samykamkar) - is a famous "grey hat" hacker, security researcher, creator of the MySpace "Samy" worm.
|
||
🔸 [**@securityweekly**](https://twitter.com/securityweekly) - founder & CTO of Security Weekly podcast network.
|
||
🔸 [**@jack\_daniel**](https://twitter.com/jack_daniel) - @SecurityBSides co-founder.
|
||
🔸 [**@thegrugq**](https://twitter.com/thegrugq) - Security Researcher.
|
||
🔸 [**@matthew\_d\_green**](https://twitter.com/matthew_d_green) - a cryptographer and professor at Johns Hopkins University.
|
||
|
||
##### ▪️ Best Commercial Twitter Accounts
|
||
|
||
🔸 [**@haveibeenpwned**](https://twitter.com/haveibeenpwned) - check if you have an account that has been compromised in a data breach.
|
||
🔸 [**@bugcrowd**](https://twitter.com/bugcrowd) - trusted by more of the Fortune 500 than any other crowdsourced security platform.
|
||
🔸 [**@Malwarebytes**](https://twitter.com/Malwarebytes) - most trusted security company. Unmatched threat visibility.
|
||
🔸 [**@sansforensics**](https://twitter.com/sansforensics) - the world's leading Digital Forensics and Incident Response provider.
|
||
🔸 [**@attcyber**](https://twitter.com/attcyber) - AT&T Cybersecurity’s Edge-to-Edge technologies provide threat intelligence, and more.
|
||
🔸 [**@TheManyHatsClub**](https://twitter.com/TheManyHatsClub) - an information security focused podcast and group of individuals from all walks of life.
|
||
🔸 [**@hedgehogsec**](https://twitter.com/hedgehogsec) - Hedgehog Cyber. Gibraltar and Manchester's top boutique information security firm.
|
||
🔸 [**@NCSC**](https://twitter.com/NCSC) - the National Cyber Security Centre. Helping to make the UK the safest place to live and work online.
|
||
🔸 [**@Synacktiv**](https://twitter.com/Synacktiv) - IT security experts.
|
||
|
||
##### ▪️ A piece of history
|
||
|
||
🔸 [**How to Do Things at ARL**](http://ftp.arl.army.mil/~mike/howto/) - how to configure modems, scan images, record CD-ROMs, and other.**\***
|
||
|
||
##### ▪️ Other
|
||
|
||
🔸 [**Diffie-Hellman Key Exchange (short version)**](https://www.youtube.com/watch?v=3QnD2c4Xovk) - how Diffie-Hellman Key Exchange worked.
|
||
|
||
#### Hacking/Penetration Testing [\[TOC\]](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#anger-table-of-contents)
|
||
|
||
##### ▪️ Pentesters arsenal tools
|
||
|
||
🔸 [**Sandcat Browser**](http://www.syhunt.com/sandcat/) - a penetration-oriented browser with plenty of advanced functionality already built in.
|
||
🔸 [**Metasploit**](https://www.metasploit.com/) - tool and framework for pentesting system, web and many more, contains a lot a ready to use exploit.
|
||
🔸 [**Burp Suite**](https://portswigger.net/burp) - tool for testing web app security, intercepting proxy to replay, inject, scan and fuzz.
|
||
🔸 [**OWASP Zed Attack Proxy**](https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project) - intercepting proxy to replay, inject, scan and fuzz HTTP requests.
|
||
🔸 [**w3af**](http://w3af.org/) - is a Web Application Attack and Audit Framework.
|
||
🔸 [**mitmproxy**](https://mitmproxy.org/) - an interactive TLS-capable intercepting HTTP proxy for penetration testers.
|
||
🔸 [**Nikto2**](https://cirt.net/Nikto2) - web server scanner which performs comprehensive tests against web servers for multiple items.
|
||
🔸 [**sqlmap**](http://sqlmap.org/) - tool that automates the process of detecting and exploiting SQL injection flaws.
|
||
🔸 [**Recon-ng**](https://github.com/lanmaster53/recon-ng) - is a full-featured Web Reconnaissance framework written in Python.
|
||
🔸 [**AutoRecon**](https://github.com/Tib3rius/AutoRecon) - is a network reconnaissance tool which performs automated enumeration of services.
|
||
🔸 [**Faraday**](https://www.faradaysec.com/) - an Integrated Multiuser Pentest Environment.
|
||
🔸 [**Photon**](https://github.com/s0md3v/Photon) - incredibly fast crawler designed for OSINT.
|
||
🔸 [**XSStrike**](https://github.com/s0md3v/XSStrike) - most advanced XSS detection suite.
|
||
🔸 [**Sn1per**](https://github.com/1N3/Sn1per) - automated pentest framework for offensive security experts.
|
||
🔸 [**vuls**](https://github.com/future-architect/vuls) - is an agent-less vulnerability scanner for Linux, FreeBSD, and other.
|
||
🔸 [**tsunami**](https://github.com/google/tsunami-security-scanner) - is a general purpose network security scanner with an extensible plugin system.
|
||
🔸 [**aquatone**](https://github.com/michenriksen/aquatone) - a tool for domain flyovers.
|
||
🔸 [**BillCipher**](https://github.com/GitHackTools/BillCipher) - information gathering tool for a website or IP address.
|
||
🔸 [**WhatWaf**](https://github.com/Ekultek/WhatWaf) - detect and bypass web application firewalls and protection systems.
|
||
🔸 [**Corsy**](https://github.com/s0md3v/Corsy) - CORS misconfiguration scanner.
|
||
🔸 [**Raccoon**](https://github.com/evyatarmeged/Raccoon) - is a high performance offensive security tool for reconnaissance and vulnerability scanning.
|
||
🔸 [**dirhunt**](https://github.com/Nekmo/dirhunt) - find web directories without bruteforce.
|
||
🔸 [**John The Ripper**](https://www.openwall.com/john/) - is a fast password cracker, currently available for many flavors of Unix, Windows, and other.
|
||
🔸 [**hashcat**](https://hashcat.net/hashcat/) - world's fastest and most advanced password recovery utility.
|
||
🔸 [**p0f**](http://lcamtuf.coredump.cx/p0f3/) - is a tool to identify the players behind any incidental TCP/IP communications.
|
||
🔸 [**ssh\_scan**](https://github.com/mozilla/ssh_scan) - a prototype SSH configuration and policy scanner.
|
||
🔸 [**LeakLooker**](https://github.com/woj-ciech/LeakLooker) - find open databases - powered by Binaryedge.io
|
||
🔸 [**exploitdb**](https://github.com/offensive-security/exploitdb) - searchable archive from The Exploit Database.
|
||
🔸 [**getsploit**](https://github.com/vulnersCom/getsploit) - is a command line utility for searching and downloading exploits.
|
||
🔸 [**ctf-tools**](https://github.com/zardus/ctf-tools) - some setup scripts for security research tools.
|
||
🔸 [**pwntools**](https://github.com/Gallopsled/pwntools) - CTF framework and exploit development library.
|
||
🔸 [**security-tools**](https://github.com/bl4de/security-tools) - collection of small security tools created mostly in Python. CTFs, pentests and so on.
|
||
🔸 [**pentestpackage**](https://github.com/leonteale/pentestpackage) - is a package of Pentest scripts.
|
||
🔸 [**python-pentest-tools**](https://github.com/dloss/python-pentest-tools) - python tools for penetration testers.
|
||
🔸 [**fuzzdb**](https://github.com/fuzzdb-project/fuzzdb) - dictionary of attack patterns and primitives for black-box application fault injection.
|
||
🔸 [**AFL**](https://github.com/google/AFL) - is a free software fuzzer maintained by Google.
|
||
🔸 [**AFL++**](https://github.com/AFLplusplus/AFLplusplus) - is AFL with community patches.
|
||
🔸 [**syzkaller**](https://github.com/google/syzkaller) - is an unsupervised, coverage-guided kernel fuzzer.
|
||
🔸 [**pwndbg**](https://github.com/pwndbg/pwndbg) - exploit development and reverse engineering with GDB made easy.
|
||
🔸 [**GDB PEDA**](https://github.com/longld/peda) - Python Exploit Development Assistance for GDB.
|
||
🔸 [**IDA**](https://www.hex-rays.com/products/ida/index.shtml) - multi-processor disassembler and debugger useful for reverse engineering malware.
|
||
🔸 [**radare2**](https://github.com/radare/radare2) - framework for reverse-engineering and analyzing binaries.
|
||
🔸 [**routersploit**](https://github.com/threat9/routersploit) - exploitation framework for embedded devices.
|
||
🔸 [**Ghidra**](https://github.com/NationalSecurityAgency/ghidra) - is a software reverse engineering (SRE) framework.
|
||
🔸 [**Cutter**](https://cutter.re/) - is an SRE platform integrating Ghidra's decompiler.
|
||
🔸 [**Vulnreport**](https://github.com/salesforce/vulnreport) - open-source pentesting management and automation platform by Salesforce Product Security.
|
||
🔸 [**Mentalist**](https://github.com/sc0tfree/mentalist) - is a graphical tool for custom wordlist generation.
|
||
🔸 [**archerysec**](https://github.com/archerysec/archerysec) - vulnerability assessment and management helps to perform scans and manage vulnerabilities.
|
||
🔸 [**Osmedeus**](https://github.com/j3ssie/Osmedeus) - fully automated offensive security tool for reconnaissance and vulnerability scanning.
|
||
🔸 [**beef**](https://github.com/beefproject/beef) - the browser exploitation framework project.
|
||
🔸 [**AutoSploit**](https://github.com/NullArray/AutoSploit) - automated mass exploiter.
|
||
🔸 [**SUDO\_KILLER**](https://github.com/TH3xACE/SUDO_KILLER) - is a tool to identify and exploit sudo rules' misconfigurations and vulnerabilities.
|
||
🔸 [**yara**](https://github.com/VirusTotal/yara) - the pattern matching swiss knife.
|
||
🔸 [**mimikatz**](https://github.com/gentilkiwi/mimikatz) - a little tool to play with Windows security.
|
||
🔸 [**sherlock**](https://github.com/sherlock-project/sherlock) - hunt down social media accounts by username across social networks.
|
||
🔸 [**OWASP Threat Dragon**](https://owasp.org/www-project-threat-dragon/) - is a tool used to create threat model diagrams and to record possible threats.
|
||
|
||
##### ▪️ Pentests bookmarks collection
|
||
|
||
🔸 [**PTES**](http://www.pentest-standard.org/index.php/Main_Page) - the penetration testing execution standard.
|
||
🔸 [**Pentests MindMap**](https://www.amanhardikar.com/mindmaps/Practice.html) - amazing mind map with vulnerable apps and systems.
|
||
🔸 [**WebApps Security Tests MindMap**](https://www.amanhardikar.com/mindmaps/webapptest.html) - incredible mind map for WebApps security tests.
|
||
🔸 [**Brute XSS**](https://brutelogic.com.br/blog/) - master the art of Cross Site Scripting.
|
||
🔸 [**XSS cheat sheet**](https://portswigger.net/web-security/cross-site-scripting/cheat-sheet) - contains many vectors that can help you bypass WAFs and filters.
|
||
🔸 [**Offensive Security Bookmarks**](https://jivoi.github.io/2015/07/03/offensive-security-bookmarks/) - security bookmarks collection, all things that author need to pass OSCP.
|
||
🔸 [**Awesome Pentest Cheat Sheets**](https://github.com/coreb1t/awesome-pentest-cheat-sheets) - collection of the cheat sheets useful for pentesting.
|
||
🔸 [**Awesome Hacking by HackWithGithub**](https://github.com/Hack-with-Github/Awesome-Hacking) - awesome lists for hackers, pentesters and security researchers.
|
||
🔸 [**Awesome Hacking by carpedm20**](https://github.com/carpedm20/awesome-hacking) - a curated list of awesome hacking tutorials, tools and resources.
|
||
🔸 [**Awesome Hacking Resources**](https://github.com/vitalysim/Awesome-Hacking-Resources) - collection of hacking/penetration testing resources to make you better.
|
||
🔸 [**Awesome Pentest**](https://github.com/enaqx/awesome-pentest) - collection of awesome penetration testing resources, tools and other shiny things.
|
||
🔸 [**Awesome-Hacking-Tools**](https://github.com/m4ll0k/Awesome-Hacking-Tools) - is a curated list of awesome Hacking Tools.
|
||
🔸 [**Hacking Cheat Sheet**](https://github.com/ksanchezcld/Hacking_Cheat_Sheet) - author hacking and pentesting notes.
|
||
🔸 [**blackhat-arsenal-tools**](https://github.com/toolswatch/blackhat-arsenal-tools) - official Black Hat arsenal security tools repository.
|
||
🔸 [**Penetration Testing and WebApp Cheat Sheets**](https://www.peerlyst.com/posts/the-complete-list-of-infosec-related-cheat-sheets-claus-cramon) - the complete list of Infosec related cheat sheets.
|
||
🔸 [**Cyber Security Resources**](https://github.com/The-Art-of-Hacking/h4cker) - includes thousands of cybersecurity-related references and resources.
|
||
🔸 [**Pentest Bookmarks**](https://github.com/jhaddix/pentest-bookmarks) - there are a LOT of pentesting blogs.
|
||
🔸 [**Cheatsheet-God**](https://github.com/OlivierLaflamme/Cheatsheet-God) - Penetration Testing Reference Bank - OSCP/PTP & PTX Cheatsheet.
|
||
🔸 [**ThreatHunter-Playbook**](https://github.com/Cyb3rWard0g/ThreatHunter-Playbook) - to aid the development of techniques and hypothesis for hunting campaigns.
|
||
🔸 [**Beginner-Network-Pentesting**](https://github.com/hmaverickadams/Beginner-Network-Pentesting) - notes for beginner network pentesting course.
|
||
🔸 [**OSCPRepo**](https://github.com/rewardone/OSCPRepo) - is a list of resources that author have been gathering in preparation for the OSCP.
|
||
🔸 [**PayloadsAllTheThings**](https://github.com/swisskyrepo/PayloadsAllTheThings) - a list of useful payloads and bypass for Web Application Security and Pentest/CTF.
|
||
🔸 [**payloads**](https://github.com/foospidy/payloads) - git all the Payloads! A collection of web attack payloads.
|
||
🔸 [**command-injection-payload-list**](https://github.com/payloadbox/command-injection-payload-list) - command injection payload list.
|
||
🔸 [**Awesome Shodan Search Queries**](https://github.com/jakejarvis/awesome-shodan-queries) - great search queries to plug into Shodan.
|
||
🔸 [**AwesomeXSS**](https://github.com/s0md3v/AwesomeXSS) - is a collection of Awesome XSS resources.
|
||
🔸 [**php-webshells**](https://github.com/JohnTroony/php-webshells) - common php webshells.
|
||
🔸 [**Pentesting Tools Cheat Sheet**](https://highon.coffee/blog/penetration-testing-tools-cheat-sheet/) - a quick reference high level overview for typical penetration testing.
|
||
🔸 [**OWASP Cheat Sheet Series**](https://cheatsheetseries.owasp.org/) - is a collection of high value information on specific application security topics.
|
||
🔸 [**OWASP dependency-check**](https://jeremylong.github.io/DependencyCheck/index.html) - is an open source solution the OWASP Top 10 2013 entry.
|
||
🔸 [**OWASP ProActive Controls**](https://www.owasp.org/index.php/OWASP_Proactive_Controls) - OWASP Top 10 Proactive Controls 2018.
|
||
🔸 [**PENTESTING-BIBLE**](https://github.com/blaCCkHatHacEEkr/PENTESTING-BIBLE) - hacking & penetration testing & red team & cyber security resources.
|
||
🔸 [**pentest-wiki**](https://github.com/nixawk/pentest-wiki) - is a free online security knowledge library for pentesters/researchers.
|
||
🔸 [**DEF CON Media Server**](https://media.defcon.org/) - great stuff from DEFCON.
|
||
🔸 [**Awesome Malware Analysis**](https://github.com/rshipp/awesome-malware-analysis) - a curated list of awesome malware analysis tools and resources.
|
||
🔸 [**SQL Injection Cheat Sheet**](https://www.netsparker.com/blog/web-security/sql-injection-cheat-sheet/) - detailed technical stuff about the many different variants of the SQL Injection.
|
||
🔸 [**Entersoft Knowledge Base**](http://kb.entersoft.co.in/) - great and detailed reference about vulnerabilities.
|
||
🔸 [**HTML5 Security Cheatsheet**](http://html5sec.org/) - a collection of HTML5 related XSS attack vectors.
|
||
🔸 [**XSS String Encoder**](http://evuln.com/tools/xss-encoder/) - for generating XSS code to check your input validation filters against XSS.
|
||
🔸 [**GTFOBins**](https://gtfobins.github.io/) - list of Unix binaries that can be exploited by an attacker to bypass local security restrictions.
|
||
🔸 [**Guifre Ruiz Notes**](https://guif.re/) - collection of security, system, network and pentest cheatsheets.
|
||
🔸 [**SSRF Tips**](http://blog.safebuff.com/2016/07/03/SSRF-Tips/index.html) - a collection of SSRF Tips.
|
||
🔸 [**shell-storm repo CTF**](http://shell-storm.org/repo/CTF/) - great archive of CTFs.
|
||
🔸 [**ctf**](https://github.com/bl4de/ctf) - CTF (Capture The Flag) writeups, code snippets, notes, scripts.
|
||
🔸 [**My-CTF-Web-Challenges**](https://github.com/orangetw/My-CTF-Web-Challenges) - collection of CTF Web challenges.
|
||
🔸 [**MSTG**](https://github.com/OWASP/owasp-mstg) - The Mobile Security Testing Guide (MSTG) is a comprehensive manual for mobile app security testing.
|
||
🔸 [**Internal-Pentest-Playbook**](https://github.com/sdcampbell/Internal-Pentest-Playbook) - notes on the most common things for an Internal Network Penetration Test.
|
||
🔸 [**KeyHacks**](https://github.com/streaak/keyhacks) - shows quick ways in which API keys leaked by a bug bounty program can be checked.
|
||
🔸 [**securitum/research**](https://github.com/securitum/research) - various Proof of Concepts of security research performed by Securitum.
|
||
🔸 [**public-pentesting-reports**](https://github.com/juliocesarfort/public-pentesting-reports) - is a list of public pentest reports released by several consulting security groups.
|
||
🔸 [**awesome-bug-bounty**](https://github.com/djadmin/awesome-bug-bounty) - is a comprehensive curated list of available Bug Bounty.
|
||
🔸 [**bug-bounty-reference**](https://github.com/ngalongc/bug-bounty-reference) - is a list of bug bounty write-ups.
|
||
🔸 [**Awesome-Bugbounty-Writeups**](https://github.com/devanshbatham/Awesome-Bugbounty-Writeups) - is a curated list of bugbounty writeups.
|
||
🔸 [**Bug bounty writeups**](https://pentester.land/list-of-bug-bounty-writeups.html) - list of bug bounty writeups (2012-2020).
|
||
🔸 [**hackso.me**](https://hackso.me/) - a great journey into security.
|
||
|
||
##### ▪️ Backdoors/exploits
|
||
|
||
🔸 [**PHP-backdoors**](https://github.com/bartblaze/PHP-backdoors) - a collection of PHP backdoors. For educational or testing purposes only.
|
||
|
||
##### ▪️ Wordlists and Weak passwords
|
||
|
||
🔸 [**Weakpass**](https://weakpass.com/) - for any kind of bruteforce find wordlists or unleash the power of them all at once!
|
||
🔸 [**Hashes.org**](https://hashes.org/) - is a free online hash resolving service incorporating many unparalleled techniques.
|
||
🔸 [**SecLists**](https://github.com/danielmiessler/SecLists) - collection of multiple types of lists used during security assessments, collected in one place.
|
||
🔸 [**Probable-Wordlists**](https://github.com/berzerk0/Probable-Wordlists) - sorted by probability originally created for password generation and testing.
|
||
🔸 [**skullsecurity passwords**](https://wiki.skullsecurity.org/index.php?title=Passwords) - password dictionaries and leaked passwords repository.
|
||
🔸 [**Polish PREMIUM Dictionary**](https://bezpieka.org/polski-slownik-premium-polish-wordlist) - official dictionary created by the team on the forum bezpieka.org.**\*** [1](https://sourceforge.net/projects/kali-linux/files/Wordlist/) [🔸](https://sourceforge.net/projects/kali-linux/files/Wordlist/) [**statistically-likely-usernames**](https://github.com/insidetrust/statistically-likely-usernames) - wordlists for creating statistically likely username lists.
|
||
|
||
##### ▪️ Bounty platforms
|
||
|
||
🔸 [**YesWeHack**](https://www.yeswehack.com/) - bug bounty platform with infosec jobs.
|
||
🔸 [**Openbugbounty**](https://www.openbugbounty.org/) - allows any security researcher reporting a vulnerability on any website.
|
||
🔸 [**hackerone**](https://www.hackerone.com/) - global hacker community to surface the most relevant security issues.
|
||
🔸 [**bugcrowd**](https://www.bugcrowd.com/) - crowdsourced cybersecurity for the enterprise.
|
||
🔸 [**Crowdshield**](https://crowdshield.com/) - crowdsourced security & bug bounty management.
|
||
🔸 [**Synack**](https://www.synack.com/) - crowdsourced security & bug bounty programs, crowd security intelligence platform, and more.
|
||
🔸 [**Hacktrophy**](https://hacktrophy.com/en/) - bug bounty platform.
|
||
|
||
##### ▪️ Web Training Apps (local installation)
|
||
|
||
🔸 [**OWASP-VWAD**](https://www.owasp.org/index.php/OWASP_Vulnerable_Web_Applications_Directory_Project) - comprehensive and well maintained registry of all known vulnerable web applications.
|
||
🔸 [**DVWA**](http://www.dvwa.co.uk/) - PHP/MySQL web application that is damn vulnerable.
|
||
🔸 [**metasploitable2**](https://metasploit.help.rapid7.com/docs/metasploitable-2) - vulnerable web application amongst security researchers.
|
||
🔸 [**metasploitable3**](https://github.com/rapid7/metasploitable3) - is a VM that is built from the ground up with a large amount of security vulnerabilities.
|
||
🔸 [**DSVW**](https://github.com/stamparm/DSVW) - is a deliberately vulnerable web application written in under 100 lines of code.
|
||
🔸 [**OWASP Mutillidae II**](https://sourceforge.net/projects/mutillidae/) - free, open source, deliberately vulnerable web-application.
|
||
🔸 [**OWASP Juice Shop Project**](https://www.owasp.org/index.php/OWASP_Juice_Shop_Project) - the most bug-free vulnerable application in existence.
|
||
🔸 [**OWASP Node js Goat Project**](https://www.owasp.org/index.php/Projects/OWASP_Node_js_Goat_Project) - OWASP Top 10 security risks apply to web apps developed using Node.js.
|
||
🔸 [**juicy-ctf**](https://github.com/iteratec/juicy-ctf) - run Capture the Flags and Security Trainings with OWASP Juice Shop.
|
||
🔸 [**SecurityShepherd**](https://github.com/OWASP/SecurityShepherd) - web and mobile application security training platform.
|
||
🔸 [**Security Ninjas**](https://github.com/opendns/Security_Ninjas_AppSec_Training) - open source application security training program.
|
||
🔸 [**hackazon**](https://github.com/rapid7/hackazon) - a modern vulnerable web app.
|
||
🔸 [**dvna**](https://github.com/appsecco/dvna) - damn vulnerable NodeJS application.
|
||
🔸 [**django-DefectDojo**](https://github.com/DefectDojo/django-DefectDojo) - is an open-source application vulnerability correlation and security orchestration tool.
|
||
🔸 [**Google Gruyere**](https://google-gruyere.appspot.com/) - web application exploits and defenses.
|
||
🔸 [**Bodhi**](https://github.com/amolnaik4/bodhi) - is a playground focused on learning the exploitation of client-side web vulnerabilities.
|
||
🔸 [**Websploit**](https://websploit.h4cker.org/) - single vm lab with the purpose of combining several vulnerable appliations in one environment.
|
||
🔸 [**vulhub**](https://github.com/vulhub/vulhub) - pre-built Vulnerable Environments based on docker-compose.
|
||
🔸 [**CloudGoat 2**](https://rhinosecuritylabs.com/aws/introducing-cloudgoat-2/) - the new & improved "Vulnerable by Design" AWS deployment tool.
|
||
🔸 [**secDevLabs**](https://github.com/globocom/secDevLabs) - is a laboratory for learning secure web development in a practical manner.
|
||
🔸 [**CORS-vulnerable-Lab**](https://github.com/incredibleindishell/CORS-vulnerable-Lab) - sample vulnerable code and its exploit code.
|
||
🔸 [**RootTheBox**](https://github.com/moloch--/RootTheBox) - a Game of Hackers (CTF Scoreboard & Game Manager).
|
||
🔸 [**KONTRA**](https://application.security/) - application security training (OWASP Top Web & Api).
|
||
|
||
##### ▪️ Labs (ethical hacking platforms/trainings/CTFs)
|
||
|
||
🔸 [**Offensive Security**](https://www.offensive-security.com/) - true performance-based penetration testing training for over a decade.
|
||
🔸 [**Hack The Box**](https://www.hackthebox.eu/) - online platform allowing you to test your penetration testing skills.
|
||
🔸 [**Hacking-Lab**](https://www.hacking-lab.com/index.html) - online ethical hacking, computer network and security challenge platform.
|
||
🔸 [**pwnable.kr**](http://pwnable.kr/index.php) - non-commercial wargame site which provides various pwn challenges.
|
||
🔸 [**Pwnable.tw**](https://pwnable.tw/) - is a wargame site for hackers to test and expand their binary exploiting skills.
|
||
🔸 [**picoCTF**](https://picoctf.com/) - is a free computer security game targeted at middle and high school students.
|
||
🔸 [**CTFlearn**](https://ctflearn.com/) - is an online platform built to help ethical hackers learn and practice their cybersecurity knowledge.
|
||
🔸 [**ctftime**](https://ctftime.org/) - CTF archive and a place, where you can get some another CTF-related info.
|
||
🔸 [**Silesia Security Lab**](https://silesiasecuritylab.com/) - high quality security testing services.
|
||
🔸 [**Practical Pentest Labs**](https://practicalpentestlabs.com/) - pentest lab, take your Hacking skills to the next level.
|
||
🔸 [**Root Me**](https://www.root-me.org/?lang=en) - the fast, easy, and affordable way to train your hacking skills.
|
||
🔸 [**rozwal.to**](https://rozwal.to/login) - a great platform to train your pentesting skills.
|
||
🔸 [**TryHackMe**](https://tryhackme.com/) - learning Cyber Security made easy.
|
||
🔸 [**hackxor**](https://hackxor.net/) - is a realistic web application hacking game, designed to help players of all abilities develop their skills.
|
||
🔸 [**Hack Yourself First**](http://hack-yourself-first.com/) - it's full of nasty app sec holes.
|
||
🔸 [**OverTheWire**](http://overthewire.org/wargames/) - can help you to learn and practice security concepts in the form of fun-filled games.
|
||
🔸 [**Wizard Labs**](https://labs.wizard-security.net/) - is an online Penetration Testing Lab.
|
||
🔸 [**PentesterLab**](https://pentesterlab.com/) - provides vulnerable systems that can be used to test and understand vulnerabilities.
|
||
🔸 [**RingZer0**](https://ringzer0ctf.com/) - tons of challenges designed to test and improve your hacking skills.
|
||
🔸 [**try2hack**](http://www.try2hack.nl/) - several security-oriented challenges for your entertainment.
|
||
🔸 [**Ubeeri**](https://www.ubeeri.com/preconfig-labs) - preconfigured lab environments.
|
||
🔸 [**Pentestit**](https://lab.pentestit.ru/) - emulate IT infrastructures of real companies for legal pen testing and improving pentest skills.
|
||
🔸 [**Microcorruption**](https://microcorruption.com/login) - reversal challenges done in the web interface.
|
||
🔸 [**Crackmes**](https://crackmes.one/) - download crackmes to help improve your reverse engineering skills.
|
||
🔸 [**DomGoat**](https://domgo.at/cxss/intro) - DOM XSS security learning and practicing platform.
|
||
🔸 [**Stereotyped Challenges**](https://chall.stypr.com/) - upgrade your web hacking techniques today!
|
||
🔸 [**Vulnhub**](https://www.vulnhub.com/) - allows anyone to gain practical 'hands-on' experience in digital security.
|
||
🔸 [**W3Challs**](https://w3challs.com/) - is a penetration testing training platform, which offers various computer challenges.
|
||
🔸 [**RingZer0 CTF**](https://ringzer0ctf.com/challenges) - offers you tons of challenges designed to test and improve your hacking skills.
|
||
🔸 [**Hack.me**](https://hack.me/) - a platform where you can build, host and share vulnerable web apps for educational purposes.
|
||
🔸 [**HackThis!**](https://www.hackthis.co.uk/levels/) - discover how hacks, dumps and defacements are performed and secure your website.
|
||
🔸 [**Enigma Group WebApp Training**](https://www.enigmagroup.org/#) - these challenges cover the exploits listed in the OWASP Top 10 Project.
|
||
🔸 [**Reverse Engineering Challenges**](https://challenges.re/) - challenges, exercises, problems and tasks - by level, by type, and more.
|
||
🔸 [**0x00sec**](https://0x00sec.org/) - the home of the Hacker - Malware, Reverse Engineering, and Computer Science.
|
||
🔸 [**We Chall**](https://www.wechall.net/challs) - there are exist a lots of different challenge types.
|
||
🔸 [**Hacker Gateway**](https://www.hackergateway.com/) - is the go-to place for hackers who want to test their skills.
|
||
🔸 [**Hacker101**](https://www.hacker101.com/) - is a free class for web security.
|
||
🔸 [**contained.af**](https://contained.af/) - a stupid game for learning about containers, capabilities, and syscalls.
|
||
🔸 [**flAWS challenge!**](http://flaws.cloud/) - a series of levels you'll learn about common mistakes and gotchas when using AWS.
|
||
🔸 [**CyberSec WTF**](https://cybersecurity.wtf/) - provides web hacking challenges derived from bounty write-ups.
|
||
🔸 [**CTF Challenge**](https://ctfchallenge.co.uk/login) - CTF Web App challenges.
|
||
🔸 [**gCTF**](https://capturetheflag.withgoogle.com/) - most of the challenges used in the Google CTF 2017.
|
||
🔸 [**Hack This Site**](https://www.hackthissite.org/pages/index/index.php) - is a free, safe and legal training ground for hackers.
|
||
🔸 [**Attack & Defense**](https://attackdefense.com/) - is a browser-based cloud labs.
|
||
🔸 [**Cryptohack**](https://cryptohack.org/) - a fun platform for learning modern cryptography.
|
||
🔸 [**Cryptopals**](https://cryptopals.com/) - the cryptopals crypto challenges.
|
||
|
||
##### ▪️ CTF platforms
|
||
|
||
🔸 [**fbctf**](https://github.com/facebook/fbctf) - platform to host Capture the Flag competitions.
|
||
🔸 [**ctfscoreboard**](https://github.com/google/ctfscoreboard) - scoreboard for Capture The Flag competitions.
|
||
|
||
##### ▪️ Other resources
|
||
|
||
🔸 [**Bugcrowd University**](https://github.com/bugcrowd/bugcrowd_university) - open source education content for the researcher community.
|
||
🔸 [**OSCPRepo**](https://github.com/rewardone/OSCPRepo) - a list of resources and scripts that I have been gathering in preparation for the OSCP.
|
||
🔸 [**OWASP Top 10: Real-World Examples**](https://medium.com/@cxosmo/owasp-top-10-real-world-examples-part-1-a540c4ea2df5) - test your web apps with real-world examples (two-part series).
|
||
🔸 [**phrack.org**](http://phrack.org/index.html) - an awesome collection of articles from several respected hackers and other thinkers.
|
||
🔸 [**Practical-Ethical-Hacking-Resources**](https://github.com/Gr1mmie/Practical-Ethical-Hacking-Resources) - compilation of resources from TCM's Udemy Course.
|
||
|
||
#### Your daily knowledge and news [\[TOC\]](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#anger-table-of-contents)
|
||
|
||
##### ▪️ RSS Readers
|
||
|
||
🔸 [**Feedly**](https://feedly.com/) - organize, read and share what matters to you.
|
||
🔸 [**Inoreader**](https://www.inoreader.com/) - similar to feedly with a support for filtering what you fetch from rss.
|
||
|
||
##### ▪️ IRC Channels
|
||
|
||
🔸 [**#hackerspaces**](https://wiki.hackerspaces.org/IRC_Channel) - hackerspace IRC channels.
|
||
|
||
##### ▪️ Security
|
||
|
||
🔸 [**The Hacker News**](https://thehackernews.com/) - leading news source dedicated to promoting awareness for security experts and hackers.
|
||
🔸 [**Latest Hacking News**](https://latesthackingnews.com/) - provides the latest hacking news, exploits and vulnerabilities for ethical hackers.
|
||
🔸 [**Security Newsletter**](https://securitynewsletter.co/) - security news as a weekly digest (email notifications).
|
||
🔸 [**Google Online Security Blog**](https://security.googleblog.com/) - the latest news and insights from Google on security and safety on the Internet.
|
||
🔸 [**Qualys Blog**](https://blog.qualys.com/) - expert network security guidance and news.
|
||
🔸 [**DARKReading**](https://www.darkreading.com/) - connecting the Information Security Community.
|
||
🔸 [**Darknet**](https://www.darknet.org.uk/) - latest hacking tools, hacker news, cybersecurity best practices, ethical hacking & pen-testing.
|
||
🔸 [**publiclyDisclosed**](https://twitter.com/disclosedh1) - public disclosure watcher who keeps you up to date about the recently disclosed bugs.
|
||
🔸 [**Reddit - Hacking**](https://www.reddit.com/r/hacking/) - a subreddit dedicated to hacking and hackers.
|
||
🔸 [**Packet Storm**](https://packetstormsecurity.com/) - information security services, news, files, tools, exploits, advisories and whitepapers.
|
||
🔸 [**Sekurak**](https://sekurak.pl/) - about security, penetration tests, vulnerabilities and many others (PL/EN).
|
||
🔸 [**nf.sec**](https://nfsec.pl/) - basic aspects and mechanisms of Linux operating system security (PL).
|
||
|
||
##### ▪️ Other/All-in-one
|
||
|
||
🔸 [**Changelog**](https://changelog.com/) - is a community of hackers; news & podcasts for developers and hackers.
|
||
|
||
#### Other Cheat Sheets [\[TOC\]](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#anger-table-of-contents)
|
||
|
||
###### Build your own DNS Servers
|
||
|
||
🔸 [**Unbound DNS Tutorial**](https://calomel.org/unbound_dns.html) - a validating, recursive, and caching DNS server.
|
||
🔸 [**Knot Resolver on Fedora**](https://www.ctrl.blog/entry/knot-dns-resolver-tutorial.html) - how to get faster and more secure DNS resolution with Knot Resolver on Fedora.
|
||
🔸 [**DNS-over-HTTPS**](https://www.aaflalo.me/2018/10/tutorial-setup-dns-over-https-server/) - tutorial to setup your own DNS-over-HTTPS (DoH) server.
|
||
🔸 [**dns-over-https**](https://hacks.mozilla.org/2018/05/a-cartoon-intro-to-dns-over-https/) - a cartoon intro to DNS over HTTPS.
|
||
🔸 [**DNS-over-TLS**](https://www.aaflalo.me/2019/03/dns-over-tls/) - following to your DoH server, setup your DNS-over-TLS (DoT) server.
|
||
🔸 [**DNS Servers**](https://zwischenzugs.com/2018/01/26/how-and-why-i-run-my-own-dns-servers/) - how (and why) i run my own DNS Servers.
|
||
|
||
###### Build your own Certificate Authority
|
||
|
||
🔸 [**OpenSSL Certificate Authority**](https://jamielinux.com/docs/openssl-certificate-authority/) - build your own certificate authority (CA) using the OpenSSL tools.
|
||
🔸 [**step-ca Certificate Authority**](https://github.com/smallstep/certificates) - build your own certificate authority (CA) using open source step-ca.
|
||
|
||
###### Build your own System/Virtual Machine
|
||
|
||
🔸 [**os-tutorial**](https://github.com/cfenollosa/os-tutorial) - how to create an OS from scratch.
|
||
🔸 [**Write your Own Virtual Machine**](https://justinmeiners.github.io/lc3-vm/) - how to write your own virtual machine (VM).
|
||
🔸 [**x86 Bare Metal Examples**](https://github.com/cirosantilli/x86-bare-metal-examples) - dozens of minimal operating systems to learn x86 system programming.
|
||
🔸 [**simple-computer**](https://github.com/djhworld/simple-computer) - the scott CPU from "But How Do It Know?" by J. Clark Scott.
|
||
🔸 [**littleosbook**](https://littleosbook.github.io/) - the little book about OS development.
|
||
|
||
###### DNS Servers list (privacy)
|
||
|
||
**IP**
|
||
|
||
**URL**
|
||
|
||
**`84.200.69.80`**
|
||
|
||
[dns.watch](https://dns.watch/)
|
||
|
||
**`94.247.43.254`**
|
||
|
||
[opennic.org](https://www.opennic.org/)
|
||
|
||
**`64.6.64.6`**
|
||
|
||
[verisign.com](https://www.verisign.com/en_US/security-services/public-dns/index.xhtml)
|
||
|
||
**`89.233.43.71`**
|
||
|
||
[censurfridns.dk](https://blog.uncensoreddns.org/)
|
||
|
||
**`1.1.1.1`**
|
||
|
||
[cloudflare.com](https://1.1.1.1/)
|
||
|
||
**`94.130.110.185`**
|
||
|
||
[dnsprivacy.at](https://dnsprivacy.at/)
|
||
|
||
###### TOP Browser extensions
|
||
|
||
**Extension name**
|
||
|
||
**Description**
|
||
|
||
**`IPvFoo`**
|
||
|
||
Display the server IP address and HTTPS information across all page elements.
|
||
|
||
**`FoxyProxy`**
|
||
|
||
Simplifies configuring browsers to access proxy-servers.
|
||
|
||
**`HTTPS Everywhere`**
|
||
|
||
Automatically use HTTPS security on many sites.
|
||
|
||
**`uMatrix`**
|
||
|
||
Point & click to forbid/allow any class of requests made by your browser.
|
||
|
||
**`uBlock Origin`**
|
||
|
||
An efficient blocker: easy on memory and CPU footprint.
|
||
|
||
**`Session Buddy`**
|
||
|
||
Manage browser tabs and bookmarks with ease.
|
||
|
||
**`SuperSorter`**
|
||
|
||
Sort bookmarks recursively, delete duplicates, merge folders, and more.
|
||
|
||
**`Clear Cache`**
|
||
|
||
Clear your cache and browsing data.
|
||
|
||
**`d3coder`**
|
||
|
||
Encoding/Decoding plugin for various types of encoding.
|
||
|
||
**`Web Developer`**
|
||
|
||
Adds a toolbar button with various web developer tools.
|
||
|
||
**`ThreatPinch Lookup`**
|
||
|
||
Add threat intelligence hover tool tips.
|
||
|
||
###### TOP Burp extensions
|
||
|
||
**Extension name**
|
||
|
||
**Description**
|
||
|
||
**`Active Scan++`**
|
||
|
||
Extends Burp's active and passive scanning capabilities.
|
||
|
||
**`Autorize`**
|
||
|
||
Automatically detects authorization enforcement.
|
||
|
||
**`AuthMatrix`**
|
||
|
||
A simple matrix grid to define the desired levels of access privilege.
|
||
|
||
**`Logger++`**
|
||
|
||
Logs requests and responses for all Burp tools in a sortable table.
|
||
|
||
**`Bypass WAF`**
|
||
|
||
Adds headers useful for bypassing some WAF devices.
|
||
|
||
**`JSON Beautifier`**
|
||
|
||
Beautifies JSON content in the HTTP message viewer.
|
||
|
||
**`JSON Web Tokens`**
|
||
|
||
Enables Burp to decode and manipulate JSON web tokens.
|
||
|
||
**`CSP Auditor`**
|
||
|
||
Displays CSP headers for responses, and passively reports CSP weaknesses.
|
||
|
||
**`CSP-Bypass`**
|
||
|
||
Passively scans for CSP headers that contain known bypasses.
|
||
|
||
**`Hackvertor`**
|
||
|
||
Converts data using a tag-based configuration to apply various encoding.
|
||
|
||
**`HTML5 Auditor`**
|
||
|
||
Scans for usage of risky HTML5 features.
|
||
|
||
**`Software Vulnerability Scanner`**
|
||
|
||
Vulnerability scanner based on vulners.com audit API.
|
||
|
||
**`Turbo Intruder`**
|
||
|
||
Is a powerful bruteforcing tool.
|
||
|
||
**`Upload Scanner`**
|
||
|
||
Upload a number of different file types, laced with different forms of payload.
|
||
|
||
###### Hack Mozilla Firefox address bar
|
||
|
||
In Firefox's address bar, you can limit results by typing special characters before or after your term:
|
||
|
||
- `^` - for matches in your browsing history
|
||
- `*` - for matches in your bookmarks.
|
||
- `%` - for matches in your currently open tabs.
|
||
- `#` - for matches in page titles.
|
||
- `@` - for matches in web addresses.
|
||
|
||
###### Chrome hidden commands
|
||
|
||
- `chrome://chrome-urls` - list of all commands
|
||
- `chrome://flags` - enable experiments and development features
|
||
- `chrome://interstitials` - errors and warnings
|
||
- `chrome://net-internals` - network internals (events, dns, cache)
|
||
- `chrome://network-errors` - network errors
|
||
- `chrome://net-export` - start logging future network activity to a file
|
||
- `chrome://safe-browsing` - safe browsing options
|
||
- `chrome://user-actions` - record all user actions
|
||
- `chrome://restart` - restart chrome
|
||
- `chrome://dino` - ERR\_INTERNET\_DISCONNECTED...
|
||
- `cache:<website-address>` - view the cached version of the web page
|
||
|
||
###### Bypass WAFs by Shortening IP Address (by [0xInfection](https://twitter.com/0xInfection))
|
||
|
||
IP addresses can be shortened by dropping the zeroes:
|
||
|
||
```
|
||
http://1.0.0.1 → http://1.1
|
||
http://127.0.0.1 → http://127.1
|
||
http://192.168.0.1 → http://192.168.1
|
||
|
||
http://0xC0A80001 or http://3232235521 → 192.168.0.1
|
||
http://192.168.257 → 192.168.1.1
|
||
http://192.168.516 → 192.168.2.4
|
||
```
|
||
|
||
> This bypasses WAF filters for SSRF, open-redirect, etc where any IP as input gets blacklisted.
|
||
|
||
For more information please see [How to Obscure Any URL](http://www.pc-help.org/obscure.htm) and [Magic IP Address Shortcuts](https://stuff-things.net/2014/09/25/magic-ip-address-shortcuts/).
|
||
|
||
###### Hashing, encryption and encoding (by [Michal Špaček](https://twitter.com/spazef0rze))
|
||
|
||
_Hashing_
|
||
|
||
plaintext ➡️ hash
|
||
hash ⛔ plaintext
|
||
|
||
_Symmetric encryption_
|
||
|
||
plaintext ➡️ 🔑 ➡️ ciphertext
|
||
plaintext ⬅️ 🔑 ⬅️ ciphertext
|
||
(🔑 shared key)
|
||
|
||
_Asymmetric encryption_
|
||
|
||
plaintext ➡️ 🔑 ➡️ ciphertext
|
||
plaintext ⬅️ 〽️ ⬅️ ciphertext
|
||
(🔑 public key, 〽️ private key)
|
||
|
||
_Encoding_
|
||
|
||
text ➡️ encoded
|
||
text ⬅️ encoded
|
||
|
||
#### One-liners [\[TOC\]](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#anger-table-of-contents)
|
||
|
||
##### Table of Contents
|
||
|
||
- [terminal](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-terminal)
|
||
- [busybox](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-busybox)
|
||
- [mount](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-mount)
|
||
- [fuser](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-fuser)
|
||
- [lsof](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-lsof)
|
||
- [ps](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-ps)
|
||
- [top](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-top)
|
||
- [vmstat](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-vmstat)
|
||
- [iostat](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-iostat)
|
||
- [strace](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-strace)
|
||
- [kill](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-kill)
|
||
- [find](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-find)
|
||
- [diff](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-diff)
|
||
- [vimdiff](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-vimdiff)
|
||
- [tail](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-tail)
|
||
- [cpulimit](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-cpulimit)
|
||
- [pwdx](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-pwdx)
|
||
- [tr](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-tr)
|
||
- [chmod](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-chmod)
|
||
- [who](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-who)
|
||
- [last](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-last)
|
||
- [screen](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-screen)
|
||
- [script](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-script)
|
||
- [du](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-du)
|
||
- [inotifywait](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-inotifywait)
|
||
- [openssl](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-openssl)
|
||
- [secure-delete](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-secure-delete)
|
||
- [dd](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-dd)
|
||
- [gpg](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-gpg)
|
||
- [system-other](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-system-other)
|
||
- [curl](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-curl)
|
||
- [httpie](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-httpie)
|
||
- [ssh](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-ssh)
|
||
- [linux-dev](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-linux-dev)
|
||
- [tcpdump](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-tcpdump)
|
||
- [tcpick](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-tcpick)
|
||
- [ngrep](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-ngrep)
|
||
- [hping3](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-hping3)
|
||
- [nmap](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-nmap)
|
||
- [netcat](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-netcat)
|
||
- [socat](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-socat)
|
||
- [p0f](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-p0f)
|
||
- [gnutls-cli](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-gnutls-cli)
|
||
- [netstat](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-netstat)
|
||
- [rsync](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-rsync)
|
||
- [host](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-host)
|
||
- [dig](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-dig)
|
||
- [certbot](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-certbot)
|
||
- [network-other](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-network-other)
|
||
- [git](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-git)
|
||
- [awk](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-awk)
|
||
- [sed](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-sed)
|
||
- [grep](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-grep)
|
||
- [perl](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#tool-perl)
|
||
|
||
##### Tool: [terminal](https://en.wikipedia.org/wiki/Linux_console)
|
||
|
||
###### Reload shell without exit
|
||
|
||
###### Close shell keeping all subprocess running
|
||
|
||
###### Exit without saving shell history
|
||
|
||
kill -9 $$
|
||
unset HISTFILE && exit
|
||
|
||
###### Perform a branching conditional
|
||
|
||
true && echo success
|
||
false || echo failed
|
||
|
||
###### Pipe stdout and stderr to separate commands
|
||
|
||
some\_command \> \>(/bin/cmd\_for\_stdout) 2> \>(/bin/cmd\_for\_stderr)
|
||
|
||
###### Redirect stdout and stderr each to separate files and print both to the screen
|
||
|
||
(some\_command 2>&1 1>&3 | tee errorlog ) 3>&1 1>&2 | tee stdoutlog
|
||
|
||
###### List of commands you use most often
|
||
|
||
history | \\
|
||
awk '{CMD\[$2\]++;count++;}END { for (a in CMD)print CMD\[a\] " " CMD\[a\]/count\*100 "% " a;}' | \\
|
||
grep -v "./" | \\
|
||
column -c3 -s " " -t | \\
|
||
sort -nr | nl | head -n 20
|
||
|
||
###### Sterilize bash history
|
||
|
||
function sterile() {
|
||
|
||
history | awk '$2 != "history" { $1=""; print $0 }' | egrep -vi "\\
|
||
curl\\b+.\*(-E|--cert)\\b+.\*\\b\*|\\
|
||
curl\\b+.\*--pass\\b+.\*\\b\*|\\
|
||
curl\\b+.\*(-U|--proxy-user).\*:.\*\\b\*|\\
|
||
curl\\b+.\*(-u|--user).\*:.\*\\b\*
|
||
.\*(-H|--header).\*(token|auth.\*)\\b+.\*|\\
|
||
wget\\b+.\*--.\*password\\b+.\*\\b\*|\\
|
||
http.?://.+:.+@.\*\\
|
||
" \> $HOME/histbuff; history -r $HOME/histbuff;
|
||
|
||
}
|
||
|
||
export PROMPT\_COMMAND="sterile"
|
||
|
||
> Look also: [A naive utility to censor credentials in command history](https://github.com/lbonanomi/go/blob/master/revisionist.go).
|
||
|
||
###### Quickly backup a file
|
||
|
||
###### Empty a file (truncate to 0 size)
|
||
|
||
###### Delete all files in a folder that don't match a certain file extension
|
||
|
||
###### Pass multi-line string to a file
|
||
|
||
# cat >filename ... - overwrite the file
|
||
|
||
# cat >>filename ... - append to a file
|
||
|
||
cat \> filename << \_\_EOF\_\_
|
||
data data data
|
||
\_\_EOF\_\_
|
||
|
||
###### Edit a file on a remote host using vim
|
||
|
||
vim scp://user@host//etc/fstab
|
||
|
||
###### Create a directory and change into it at the same time
|
||
|
||
mkd() { mkdir -p "$@" && cd "$@"; }
|
||
|
||
###### Convert uppercase files to lowercase files
|
||
|
||
###### Print a row of characters across the terminal
|
||
|
||
printf "%\`tput cols\`s" | tr ' ' '#'
|
||
|
||
###### Show shell history without line numbers
|
||
|
||
history | cut -c 8-
|
||
fc -l -n 1 | sed 's/^\\s\*//'
|
||
|
||
###### Run command(s) after exit session
|
||
|
||
cat \> /etc/profile << \_\_EOF\_\_
|
||
\_after\_logout() {
|
||
username=$(whoami)
|
||
for \_pid in $(ps afx | grep sshd | grep "$username" | awk '{print $1}') ; do
|
||
kill -9 $\_pid
|
||
done
|
||
}
|
||
trap \_after\_logout EXIT
|
||
\_\_EOF\_\_
|
||
|
||
###### Generate a sequence of numbers
|
||
|
||
for ((i\=1; i<=10; i+=2)) ; do echo $i ; done
|
||
|
||
# alternative: seq 1 2 10
|
||
|
||
for ((i\=5; i<=10; ++i)) ; do printf '%02d\\n' $i ; done
|
||
|
||
# alternative: seq -w 5 10
|
||
|
||
for i in {1..10} ; do echo $i ; done
|
||
|
||
###### Simple Bash filewatching
|
||
|
||
unset MAIL; export MAILCHECK=1; export MAILPATH='$FILE\_TO\_WATCH?$MESSAGE'
|
||
|
||
___
|
||
|
||
##### Tool: [busybox](https://www.busybox.net/)
|
||
|
||
###### Static HTTP web server
|
||
|
||
busybox httpd -p $PORT -h $HOME \[-c httpd.conf\]
|
||
|
||
___
|
||
|
||
##### Tool: [mount](https://en.wikipedia.org/wiki/Mount_(Unix))
|
||
|
||
###### Mount a temporary ram partition
|
||
|
||
mount -t tmpfs tmpfs /mnt -o size=64M
|
||
|
||
- `-t` - filesystem type
|
||
- `-o` - mount options
|
||
|
||
###### Remount a filesystem as read/write
|
||
|
||
___
|
||
|
||
##### Tool: [fuser](https://en.wikipedia.org/wiki/Fuser_(Unix))
|
||
|
||
###### Show which processes use the files/directories
|
||
|
||
fuser /var/log/daemon.log
|
||
fuser -v /home/supervisor
|
||
|
||
###### Kills a process that is locking a file
|
||
|
||
- `-i` - interactive option
|
||
|
||
###### Kills a process that is locking a file with specific signal
|
||
|
||
- `--list-signals` - list available signal names
|
||
|
||
###### Show what PID is listening on specific port
|
||
|
||
###### Show all processes using the named filesystems or block device
|
||
|
||
___
|
||
|
||
##### Tool: [lsof](https://en.wikipedia.org/wiki/Lsof)
|
||
|
||
###### Show process that use internet connection at the moment
|
||
|
||
###### Show process that use specific port number
|
||
|
||
###### Lists all listening ports together with the PID of the associated process
|
||
|
||
###### List all open ports and their owning executables
|
||
|
||
lsof -i -P | grep -i "listen"
|
||
|
||
###### Show all open ports
|
||
|
||
###### Show open ports (LISTEN)
|
||
|
||
lsof -Pni4 | grep LISTEN | column -t
|
||
|
||
###### List all files opened by a particular command
|
||
|
||
###### View user activity per directory
|
||
|
||
lsof -u username -a +D /etc
|
||
|
||
###### Show 10 largest open files
|
||
|
||
lsof / | \\
|
||
awk '{ if($7 > 1048576) print $7/1048576 "MB" " " $9 " " $1 }' | \\
|
||
sort -n -u | tail | column -t
|
||
|
||
###### Show current working directory of a process
|
||
|
||
___
|
||
|
||
##### Tool: [ps](https://en.wikipedia.org/wiki/Ps_(Unix))
|
||
|
||
###### Show a 4-way scrollable process tree with full details
|
||
|
||
###### Processes per user counter
|
||
|
||
ps hax -o user | sort | uniq -c | sort -r
|
||
|
||
###### Show all processes by name with main header
|
||
|
||
___
|
||
|
||
##### Tool: [find](https://en.wikipedia.org/wiki/Find_(Unix))
|
||
|
||
###### Find files that have been modified on your system in the past 60 minutes
|
||
|
||
###### Find all files larger than 20M
|
||
|
||
find / -type f -size +20M
|
||
|
||
###### Find duplicate files (based on MD5 hash)
|
||
|
||
find -type f -exec md5sum '{}' ';' | sort | uniq --all-repeated=separate -w 33
|
||
|
||
###### Change permission only for files
|
||
|
||
cd /var/www/site && find . -type f -exec chmod 766 {} \\;
|
||
cd /var/www/site && find . -type f -exec chmod 664 {} +
|
||
|
||
###### Change permission only for directories
|
||
|
||
cd /var/www/site && find . -type d -exec chmod g+x {} \\;
|
||
cd /var/www/site && find . -type d -exec chmod g+rwx {} +
|
||
|
||
###### Find files and directories for specific user/group
|
||
|
||
# User
|
||
|
||
find . -user <username\> -print
|
||
find /etc -type f -user <username\> -name "\*.conf"
|
||
|
||
# Group
|
||
|
||
find /opt -group <group\>
|
||
find /etc -type f -group <group\> -iname "\*.conf"
|
||
|
||
###### Find files and directories for all without specific user/group
|
||
|
||
# User
|
||
|
||
find . \\! -user <username\> -print
|
||
|
||
# Group
|
||
|
||
find . \\! -group <group\>
|
||
|
||
###### Looking for files/directories that only have certain permission
|
||
|
||
# User
|
||
|
||
find . -user <username\> -perm -u+rw # -rw-r--r--
|
||
find /home -user $(whoami) -perm 777 # -rwxrwxrwx
|
||
|
||
# Group
|
||
|
||
find /home -type d -group <group\> -perm 755 # -rwxr-xr-x
|
||
|
||
###### Delete older files than 60 days
|
||
|
||
find . -type f -mtime +60 -delete
|
||
|
||
###### Recursively remove all empty sub-directories from a directory
|
||
|
||
find . -depth -type d -empty -exec rmdir {} \\;
|
||
|
||
###### How to find all hard links to a file
|
||
|
||
find </path/to/dir\> -xdev -samefile filename
|
||
|
||
###### Recursively find the latest modified files
|
||
|
||
find . -type f -exec stat --format '%Y :%y %n' "{}" \\; | sort -nr | cut -d: -f2- | head
|
||
|
||
###### Recursively find/replace of a string with sed
|
||
|
||
find . -not -path '\*/\\.git\*' -type f -print0 | xargs -0 sed -i 's/foo/bar/g'
|
||
|
||
###### Recursively find/replace of a string in directories and file names
|
||
|
||
find . -depth -name '\*test\*' -execdir bash -c 'mv -v "$1" "${1//foo/bar}"' \_ {} \\;
|
||
|
||
###### Recursively find suid executables
|
||
|
||
find / \\( -perm -4000 -o -perm -2000 \\) -type f -exec ls -la {} \\;
|
||
|
||
___
|
||
|
||
##### Tool: [top](https://en.wikipedia.org/wiki/Top_(software))
|
||
|
||
###### Use top to monitor only all processes with the specific string
|
||
|
||
top -p $(pgrep -d , <str\>)
|
||
|
||
- `<str>` - process containing string (eg. nginx, worker)
|
||
|
||
___
|
||
|
||
##### Tool: [vmstat](https://en.wikipedia.org/wiki/Vmstat)
|
||
|
||
###### Show current system utilization (fields in kilobytes)
|
||
|
||
- `2` - number of times with a defined time interval (delay)
|
||
- `20` - each execution of the command (count)
|
||
- `-t` - show timestamp
|
||
- `-w` - wide output
|
||
- `-S M` - output of the fields in megabytes instead of kilobytes
|
||
|
||
###### Show current system utilization will get refreshed every 5 seconds
|
||
|
||
###### Display report a summary of disk operations
|
||
|
||
###### Display report of event counters and memory stats
|
||
|
||
###### Display report about kernel objects stored in slab layer cache
|
||
|
||
##### Tool: [iostat](https://en.wikipedia.org/wiki/Iostat)
|
||
|
||
###### Show information about the CPU usage, and I/O statistics about all the partitions
|
||
|
||
- `2` - number of times with a defined time interval (delay)
|
||
- `10` - each execution of the command (count)
|
||
- `-t` - show timestamp
|
||
- `-m` - fields in megabytes (`-k` - in kilobytes, default)
|
||
|
||
###### Show information only about the CPU utilization
|
||
|
||
###### Show information only about the disk utilization
|
||
|
||
###### Show information only about the LVM utilization
|
||
|
||
___
|
||
|
||
##### Tool: [strace](https://en.wikipedia.org/wiki/Strace)
|
||
|
||
###### Track with child processes
|
||
|
||
# 1)
|
||
|
||
strace -f -p $(pidof glusterfsd)
|
||
|
||
# 2)
|
||
|
||
strace -f $(pidof php-fpm | sed 's/\\(\[0-9\]\*\\)/\\-p \\1/g')
|
||
|
||
###### Track process with 30 seconds limit
|
||
|
||
timeout 30 strace $(< /var/run/zabbix/zabbix\_agentd.pid)
|
||
|
||
###### Track processes and redirect output to a file
|
||
|
||
ps auxw | grep '\[a\]pache' | awk '{print " -p " $2}' | \\
|
||
xargs strace -o /tmp/strace-apache-proc.out
|
||
|
||
###### Track with print time spent in each syscall and limit length of print strings
|
||
|
||
ps auxw | grep '\[i\]init\_policy' | awk '{print " -p " $2}' | \\
|
||
xargs strace -f -e trace=network -T -s 10000
|
||
|
||
###### Track the open request of a network port
|
||
|
||
strace -f -e trace=bind nc -l 80
|
||
|
||
###### Track the open request of a network port (show TCP/UDP)
|
||
|
||
strace -f -e trace=network nc -lu 80
|
||
|
||
___
|
||
|
||
##### Tool: [kill](https://en.wikipedia.org/wiki/Kill_(command))
|
||
|
||
###### Kill a process running on port
|
||
|
||
kill -9 $(lsof -i :<port\> | awk '{l=$2} END {print l}')
|
||
|
||
___
|
||
|
||
##### Tool: [diff](https://en.wikipedia.org/wiki/Diff)
|
||
|
||
###### Compare two directory trees
|
||
|
||
diff <(cd directory1 && find | sort) <(cd directory2 && find | sort)
|
||
|
||
###### Compare output of two commands
|
||
|
||
diff <(cat /etc/passwd) <(cut -f2 /etc/passwd)
|
||
|
||
___
|
||
|
||
##### Tool: [vimdiff](http://vimdoc.sourceforge.net/htmldoc/diff.html)
|
||
|
||
###### Highlight the exact differences, based on characters and words
|
||
|
||
###### Compare two JSON files
|
||
|
||
vimdiff <(jq -S . A.json) <(jq -S . B.json)
|
||
|
||
###### Compare Hex dump
|
||
|
||
d(){ vimdiff <(f $1) <(f $2);};f(){ hexdump -C $1|cut -d' ' -f3-|tr -s ' ';}; d ~/bin1 ~/bin2
|
||
|
||
###### diffchar
|
||
|
||
Save [diffchar](https://raw.githubusercontent.com/vim-scripts/diffchar.vim/master/plugin/diffchar.vim) @ `~/.vim/plugins`
|
||
|
||
Click `F7` to switch between diff modes
|
||
|
||
Usefull `vimdiff` commands:
|
||
|
||
- `qa` to exit all windows
|
||
- `:vertical resize 70` to resize window
|
||
- set window width `Ctrl+W [N columns]+(Shift+)<\>`
|
||
|
||
___
|
||
|
||
##### Tool: [tail](https://en.wikipedia.org/wiki/Tail_(Unix))
|
||
|
||
###### Annotate tail -f with timestamps
|
||
|
||
tail -f file | while read ; do echo "$(date +%T.%N) $REPLY" ; done
|
||
|
||
###### Analyse an Apache access log for the most common IP addresses
|
||
|
||
tail -10000 access\_log | awk '{print $1}' | sort | uniq -c | sort -n | tail
|
||
|
||
###### Analyse web server log and show only 5xx http codes
|
||
|
||
tail -n 100 -f /path/to/logfile | grep "HTTP/\[1-2\].\[0-1\]\\" \[5\]"
|
||
|
||
___
|
||
|
||
##### Tool: [tar](https://en.wikipedia.org/wiki/Tar_(computing))
|
||
|
||
###### System backup with exclude specific directories
|
||
|
||
cd /
|
||
tar -czvpf /mnt/system$(date +%d%m%Y%s).tgz --directory=/ \\
|
||
--exclude=proc/\* --exclude=sys/\* --exclude=dev/\* --exclude=mnt/\* .
|
||
|
||
###### System backup with exclude specific directories (pigz)
|
||
|
||
cd /
|
||
tar cvpf /backup/snapshot-$(date +%d%m%Y%s).tgz --directory=/ \\
|
||
--exclude=proc/\* --exclude=sys/\* --exclude=dev/\* \\
|
||
--exclude=mnt/\* --exclude=tmp/\* --use-compress-program=pigz .
|
||
|
||
___
|
||
|
||
##### Tool: [dump](https://en.wikipedia.org/wiki/Dump_(program))
|
||
|
||
###### System backup to file
|
||
|
||
dump -y -u -f /backup/system$(date +%d%m%Y%s).lzo /
|
||
|
||
###### Restore system from lzo file
|
||
|
||
cd /
|
||
restore -rf /backup/system$(date +%d%m%Y%s).lzo
|
||
|
||
___
|
||
|
||
##### Tool: [cpulimit](http://cpulimit.sourceforge.net/)
|
||
|
||
###### Limit the cpu usage of a process
|
||
|
||
___
|
||
|
||
##### Tool: [pwdx](https://www.cyberciti.biz/faq/unix-linux-pwdx-command-examples-usage-syntax/)
|
||
|
||
###### Show current working directory of a process
|
||
|
||
___
|
||
|
||
##### Tool: [taskset](https://www.cyberciti.biz/faq/taskset-cpu-affinity-command/)
|
||
|
||
###### Start a command on only one CPU core
|
||
|
||
___
|
||
|
||
##### Tool: [tr](https://en.wikipedia.org/wiki/Tr_(Unix))
|
||
|
||
###### Show directories in the PATH, one per line
|
||
|
||
___
|
||
|
||
##### Tool: [chmod](https://en.wikipedia.org/wiki/Chmod)
|
||
|
||
###### Remove executable bit from all files in the current directory
|
||
|
||
###### Restore permission for /bin/chmod
|
||
|
||
# 1
|
||
|
||
cp /bin/ls chmod.01
|
||
cp /bin/chmod chmod.01
|
||
./chmod.01 700 file
|
||
|
||
# 2
|
||
|
||
/bin/busybox chmod 0700 /bin/chmod
|
||
|
||
# 3
|
||
|
||
setfacl --set u::rwx,g::---,o::--- /bin/chmod
|
||
|
||
___
|
||
|
||
##### Tool: [who](https://en.wikipedia.org/wiki/Who_(Unix))
|
||
|
||
###### Find last reboot time
|
||
|
||
###### Detect a user sudo-su'd into the current shell
|
||
|
||
\[\[ $(who -m | awk '{ print $1 }') \== $(whoami) \]\] || echo "You are su-ed to $(whoami)"
|
||
|
||
___
|
||
|
||
##### Tool: [last](https://www.howtoforge.com/linux-last-command/)
|
||
|
||
###### Was the last reboot a panic?
|
||
|
||
(last -x -f $(ls -1t /var/log/wtmp\* | head -2 | tail -1); last -x -f /var/log/wtmp) | \\
|
||
grep -A1 reboot | head -2 | grep -q shutdown && echo "Expected reboot" || echo "Panic reboot"
|
||
|
||
___
|
||
|
||
##### Tool: [screen](https://en.wikipedia.org/wiki/GNU_Screen)
|
||
|
||
###### Start screen in detached mode
|
||
|
||
###### Attach to an existing screen session
|
||
|
||
___
|
||
|
||
##### Tool: [script](https://en.wikipedia.org/wiki/Script_(Unix))
|
||
|
||
###### Record and replay terminal session
|
||
|
||
# \## Record session
|
||
|
||
# 1)
|
||
|
||
script -t 2>~/session.time -a ~/session.log
|
||
|
||
# 2)
|
||
|
||
script --timing=session.time session.log
|
||
|
||
# \## Replay session
|
||
scriptreplay --timing=session.time session.log
|
||
|
||
___
|
||
|
||
##### Tool: [du](https://en.wikipedia.org/wiki/GNU_Screen)
|
||
|
||
###### Show 20 biggest directories with 'K M G'
|
||
|
||
du | \\
|
||
sort -r -n | \\
|
||
awk '{split("K M G",v); s=1; while($1>1024){$1/=1024; s++} print int($1)" "v\[s\]"\\t"$2}' | \\
|
||
head -n 20
|
||
|
||
___
|
||
|
||
##### Tool: [inotifywait](https://en.wikipedia.org/wiki/GNU_Screen)
|
||
|
||
###### Init tool everytime a file in a directory is modified
|
||
|
||
while true ; do inotifywait -r -e MODIFY dir/ && ls dir/ ; done;
|
||
|
||
___
|
||
|
||
##### Tool: [openssl](https://www.openssl.org/)
|
||
|
||
###### Testing connection to the remote host
|
||
|
||
echo | openssl s\_client -connect google.com:443 -showcerts
|
||
|
||
###### Testing connection to the remote host (debug mode)
|
||
|
||
echo | openssl s\_client -connect google.com:443 -showcerts -tlsextdebug -status
|
||
|
||
###### Testing connection to the remote host (with SNI support)
|
||
|
||
echo | openssl s\_client -showcerts -servername google.com -connect google.com:443
|
||
|
||
###### Testing connection to the remote host with specific ssl version
|
||
|
||
openssl s\_client -tls1\_2 -connect google.com:443
|
||
|
||
###### Testing connection to the remote host with specific ssl cipher
|
||
|
||
openssl s\_client -cipher 'AES128-SHA' -connect google.com:443
|
||
|
||
###### Verify 0-RTT
|
||
|
||
\_host="example.com"
|
||
|
||
cat \> req.in << \_\_EOF\_\_
|
||
HEAD / HTTP/1.1
|
||
Host: $\_host
|
||
Connection: close
|
||
\_\_EOF\_\_
|
||
|
||
openssl s\_client -connect ${\_host}:443 -tls1\_3 -sess\_out session.pem -ign\_eof < req.in
|
||
openssl s\_client -connect ${\_host}:443 -tls1\_3 -sess\_in session.pem -early\_data req.in
|
||
|
||
###### Generate private key without passphrase
|
||
|
||
# \_len: 2048, 4096
|
||
|
||
( \_fd="private.key" ; \_len="2048" ; \\
|
||
openssl genrsa -out ${\_fd} ${\_len} )
|
||
|
||
###### Generate private key with passphrase
|
||
|
||
# \_ciph: des3, aes128, aes256
|
||
|
||
# \_len: 2048, 4096
|
||
|
||
( \_ciph="aes128" ; \_fd="private.key" ; \_len="2048" ; \\
|
||
openssl genrsa -${\_ciph} -out ${\_fd} ${\_len} )
|
||
|
||
###### Remove passphrase from private key
|
||
|
||
( \_fd="private.key" ; \_fd\_unp="private\_unp.key" ; \\
|
||
openssl rsa -in ${\_fd} -out ${\_fd\_unp} )
|
||
|
||
###### Encrypt existing private key with a passphrase
|
||
|
||
# \_ciph: des3, aes128, aes256
|
||
|
||
( \_ciph="aes128" ; \_fd="private.key" ; \_fd\_pass="private\_pass.key" ; \\
|
||
openssl rsa -${\_ciph} -in ${\_fd} -out ${\_fd\_pass}
|
||
|
||
###### Check private key
|
||
|
||
( \_fd="private.key" ; \\
|
||
openssl rsa -check -in ${\_fd} )
|
||
|
||
###### Get public key from private key
|
||
|
||
( \_fd="private.key" ; \_fd\_pub="public.key" ; \\
|
||
openssl rsa -pubout -in ${\_fd} -out ${\_fd\_pub} )
|
||
|
||
###### Generate private key and CSR
|
||
|
||
( \_fd="private.key" ; \_fd\_csr="request.csr" ; \_len="2048" ; \\
|
||
openssl req -out ${\_fd\_csr} -new -newkey rsa:${\_len} -nodes -keyout ${\_fd} )
|
||
|
||
###### Generate CSR
|
||
|
||
( \_fd="private.key" ; \_fd\_csr="request.csr" ; \\
|
||
openssl req -out ${\_fd\_csr} -new -key ${\_fd} )
|
||
|
||
###### Generate CSR (metadata from existing certificate)
|
||
|
||
> Where `private.key` is the existing private key. As you can see you do not generate this CSR from your certificate (public key). Also you do not generate the "same" CSR, just a new one to request a new certificate.
|
||
|
||
( \_fd="private.key" ; \_fd\_csr="request.csr" ; \_fd\_crt="cert.crt" ; \\
|
||
openssl x509 -x509toreq -in ${\_fd\_crt} -out ${\_fd\_csr} -signkey ${\_fd} )
|
||
|
||
###### Generate CSR with -config param
|
||
|
||
( \_fd="private.key" ; \_fd\_csr="request.csr" ; \\
|
||
openssl req -new -sha256 -key ${\_fd} -out ${\_fd\_csr} \\
|
||
-config <(
|
||
cat << \_\_EOF\_\_
|
||
\[req\]
|
||
default\_bits = 2048
|
||
default\_md = sha256
|
||
prompt = no
|
||
distinguished\_name = dn
|
||
req\_extensions = req\_ext
|
||
\[ dn \]
|
||
C = "<two-letter ISO abbreviation for your country>"
|
||
ST = "<state or province where your organisation is legally located>"
|
||
L = "<city where your organisation is legally located>"
|
||
O = "<legal name of your organisation>"
|
||
OU = "<section of the organisation>"
|
||
CN = "<fully qualified domain name>"
|
||
\[ req\_ext \]
|
||
subjectAltName = @alt\_names
|
||
\[ alt\_names \]
|
||
DNS.1 = <fully qualified domain name>
|
||
DNS.2 = <next domain>
|
||
DNS.3 = <next domain>
|
||
\_\_EOF\_\_
|
||
))
|
||
|
||
Other values in `[ dn ]`:
|
||
|
||
```
|
||
countryName = "DE" # C=
|
||
stateOrProvinceName = "Hessen" # ST=
|
||
localityName = "Keller" # L=
|
||
postalCode = "424242" # L/postalcode=
|
||
postalAddress = "Keller" # L/postaladdress=
|
||
streetAddress = "Crater 1621" # L/street=
|
||
organizationName = "apfelboymschule" # O=
|
||
organizationalUnitName = "IT Department" # OU=
|
||
commonName = "example.com" # CN=
|
||
emailAddress = "webmaster@example.com" # CN/emailAddress=
|
||
```
|
||
|
||
Example of `oids` (you'll probably also have to make OpenSSL know about the new fields required for EV by adding the following under `[new_oids]`):
|
||
|
||
```
|
||
[req]
|
||
...
|
||
oid_section = new_oids
|
||
|
||
[ new_oids ]
|
||
postalCode = 2.5.4.17
|
||
streetAddress = 2.5.4.9
|
||
```
|
||
|
||
Full example:
|
||
|
||
( \_fd="private.key" ; \_fd\_csr="request.csr" ; \\
|
||
openssl req -new -sha256 -key ${\_fd} -out ${\_fd\_csr} \\
|
||
-config <(
|
||
cat << \_\_EOF\_\_
|
||
\[req\]
|
||
default\_bits = 2048
|
||
default\_md = sha256
|
||
prompt = no
|
||
distinguished\_name = dn
|
||
req\_extensions = req\_ext
|
||
oid\_section = new\_oids
|
||
\[ new\_oids \]
|
||
serialNumber = 2.5.4.5
|
||
streetAddress = 2.5.4.9
|
||
postalCode = 2.5.4.17
|
||
businessCategory = 2.5.4.15
|
||
\[ dn \]
|
||
serialNumber=00001111
|
||
businessCategory=Private Organization
|
||
jurisdictionC=DE
|
||
C=DE
|
||
ST=Hessen
|
||
L=Keller
|
||
postalCode=424242
|
||
streetAddress=Crater 1621
|
||
O=AV Company
|
||
OU=IT
|
||
CN=example.com
|
||
\[ req\_ext \]
|
||
subjectAltName = @alt\_names
|
||
\[ alt\_names \]
|
||
DNS.1 = example.com
|
||
\_\_EOF\_\_
|
||
))
|
||
|
||
For more information please look at these great explanations:
|
||
|
||
- [RFC 5280](https://tools.ietf.org/html/rfc5280)
|
||
- [How to create multidomain certificates using config files](https://apfelboymchen.net/gnu/notes/openssl%20multidomain%20with%20config%20files.html)
|
||
- [Generate a multi domains certificate using config files](https://gist.github.com/romainnorberg/464758a6620228b977212a3cf20c3e08)
|
||
- [Your OpenSSL CSR command is out of date](https://expeditedsecurity.com/blog/openssl-csr-command/)
|
||
- [OpenSSL example configuration file](https://www.tbs-certificats.com/openssl-dem-server-cert.cnf)
|
||
- [Object Identifiers (OIDs)](https://www.alvestrand.no/objectid/)
|
||
- [openssl objects.txt](https://github.com/openssl/openssl/blob/master/crypto/objects/objects.txt)
|
||
|
||
###### List available EC curves
|
||
|
||
openssl ecparam -list\_curves
|
||
|
||
###### Print ECDSA private and public keys
|
||
|
||
( \_fd="private.key" ; \\
|
||
openssl ec -in ${\_fd} -noout -text )
|
||
|
||
# For x25519 only extracting public key
|
||
|
||
( \_fd="private.key" ; \_fd\_pub="public.key" ; \\
|
||
openssl pkey -in ${\_fd} -pubout -out ${\_fd\_pub} )
|
||
|
||
###### Generate ECDSA private key
|
||
|
||
# \_curve: prime256v1, secp521r1, secp384r1
|
||
|
||
( \_fd="private.key" ; \_curve="prime256v1" ; \\
|
||
openssl ecparam -out ${\_fd} -name ${\_curve} -genkey )
|
||
|
||
# \_curve: X25519
|
||
|
||
( \_fd="private.key" ; \_curve="x25519" ; \\
|
||
openssl genpkey -algorithm ${\_curve} -out ${\_fd} )
|
||
|
||
###### Generate private key and CSR (ECC)
|
||
|
||
# \_curve: prime256v1, secp521r1, secp384r1
|
||
|
||
( \_fd="domain.com.key" ; \_fd\_csr="domain.com.csr" ; \_curve="prime256v1" ; \\
|
||
openssl ecparam -out ${\_fd} -name ${\_curve} -genkey ; \\
|
||
openssl req -new -key ${\_fd} -out ${\_fd\_csr} -sha256 )
|
||
|
||
###### Generate self-signed certificate
|
||
|
||
# \_len: 2048, 4096
|
||
|
||
( \_fd="domain.key" ; \_fd\_out="domain.crt" ; \_len="2048" ; \_days="365" ; \\
|
||
openssl req -newkey rsa:${\_len} -nodes \\
|
||
-keyout ${\_fd} -x509 -days ${\_days} -out ${\_fd\_out} )
|
||
|
||
###### Generate self-signed certificate from existing private key
|
||
|
||
# \_len: 2048, 4096
|
||
|
||
( \_fd="domain.key" ; \_fd\_out="domain.crt" ; \_days="365" ; \\
|
||
openssl req -key ${\_fd} -nodes \\
|
||
-x509 -days ${\_days} -out ${\_fd\_out} )
|
||
|
||
###### Generate self-signed certificate from existing private key and csr
|
||
|
||
# \_len: 2048, 4096
|
||
|
||
( \_fd="domain.key" ; \_fd\_csr="domain.csr" ; \_fd\_out="domain.crt" ; \_days="365" ; \\
|
||
openssl x509 -signkey ${\_fd} -nodes \\
|
||
-in ${\_fd\_csr} -req -days ${\_days} -out ${\_fd\_out} )
|
||
|
||
###### Generate DH public parameters
|
||
|
||
( \_dh\_size="2048" ; \\
|
||
openssl dhparam -out /etc/nginx/ssl/dhparam\_${\_dh\_size}.pem "$\_dh\_size" )
|
||
|
||
###### Display DH public parameters
|
||
|
||
openssl pkeyparam -in dhparam.pem -text
|
||
|
||
###### Extract private key from pfx
|
||
|
||
( \_fd\_pfx="cert.pfx" ; \_fd\_key="key.pem" ; \\
|
||
openssl pkcs12 -in ${\_fd\_pfx} -nocerts -nodes -out ${\_fd\_key} )
|
||
|
||
###### Extract private key and certs from pfx
|
||
|
||
( \_fd\_pfx="cert.pfx" ; \_fd\_pem="key\_certs.pem" ; \\
|
||
openssl pkcs12 -in ${\_fd\_pfx} -nodes -out ${\_fd\_pem} )
|
||
|
||
###### Extract certs from p7b
|
||
|
||
# PKCS#7 file doesn't include private keys
|
||
|
||
( \_fd\_p7b="cert.p7b" ; \_fd\_pem="cert.pem" ; \\
|
||
openssl pkcs7 -inform DER -outform PEM -in ${\_fd\_p7b} -print\_certs \> ${\_fd\_pem})
|
||
|
||
# or
|
||
|
||
openssl pkcs7 -print\_certs -in -in ${\_fd\_p7b} -out ${\_fd\_pem})
|
||
|
||
###### Convert DER to PEM
|
||
|
||
( \_fd\_der="cert.crt" ; \_fd\_pem="cert.pem" ; \\
|
||
openssl x509 -in ${\_fd\_der} -inform der -outform pem -out ${\_fd\_pem} )
|
||
|
||
###### Convert PEM to DER
|
||
|
||
( \_fd\_der="cert.crt" ; \_fd\_pem="cert.pem" ; \\
|
||
openssl x509 -in ${\_fd\_pem} -outform der -out ${\_fd\_der} )
|
||
|
||
###### Verification of the private key
|
||
|
||
( \_fd="private.key" ; \\
|
||
openssl rsa -noout -text -in ${\_fd} )
|
||
|
||
###### Verification of the public key
|
||
|
||
# 1)
|
||
|
||
( \_fd="public.key" ; \\
|
||
openssl pkey -noout -text -pubin -in ${\_fd} )
|
||
|
||
# 2)
|
||
|
||
( \_fd="private.key" ; \\
|
||
openssl rsa -inform PEM -noout -in ${\_fd} &\> /dev/null ; \\
|
||
if \[ $? \= 0 \] ; then echo -en "OK\\n" ; fi )
|
||
|
||
###### Verification of the certificate
|
||
|
||
( \_fd="certificate.crt" ; # format: pem, cer, crt \\
|
||
openssl x509 -noout -text -in ${\_fd} )
|
||
|
||
###### Verification of the CSR
|
||
|
||
( \_fd\_csr="request.csr" ; \\
|
||
openssl req -text -noout -in ${\_fd\_csr} )
|
||
|
||
###### Check the private key and the certificate are match
|
||
|
||
(openssl rsa -noout -modulus -in private.key | openssl md5 ; \\
|
||
openssl x509 -noout -modulus -in certificate.crt | openssl md5) | uniq
|
||
|
||
###### Check the private key and the CSR are match
|
||
|
||
(openssl rsa -noout -modulus -in private.key | openssl md5 ; \\
|
||
openssl req -noout -modulus -in request.csr | openssl md5) | uniq
|
||
|
||
___
|
||
|
||
##### Tool: [secure-delete](https://wiki.archlinux.org/index.php/Securely_wipe_disk)
|
||
|
||
###### Secure delete with shred
|
||
|
||
shred -vfuz -n 10 file
|
||
shred --verbose --random-source=/dev/urandom -n 1 /dev/sda
|
||
|
||
###### Secure delete with scrub
|
||
|
||
scrub -p dod /dev/sda
|
||
scrub -p dod -r file
|
||
|
||
###### Secure delete with badblocks
|
||
|
||
badblocks -s -w -t random -v /dev/sda
|
||
badblocks -c 10240 -s -w -t random -v /dev/sda
|
||
|
||
###### Secure delete with secure-delete
|
||
|
||
srm -vz /tmp/file
|
||
sfill -vz /local
|
||
sdmem -v
|
||
swapoff /dev/sda5 && sswap -vz /dev/sda5
|
||
|
||
___
|
||
|
||
##### Tool: [dd](https://en.wikipedia.org/wiki/Dd_(Unix))
|
||
|
||
###### Show dd status every so often
|
||
|
||
dd <dd\_params\> status=progress
|
||
watch --interval 5 killall -USR1 dd
|
||
|
||
###### Redirect output to a file with dd
|
||
|
||
echo "string" | dd of=filename
|
||
|
||
___
|
||
|
||
##### Tool: [gpg](https://www.gnupg.org/)
|
||
|
||
###### Export public key
|
||
|
||
gpg --export --armor "<username>" \> username.pkey
|
||
|
||
- `--export` - export all keys from all keyrings or specific key
|
||
- `-a|--armor` - create ASCII armored output
|
||
|
||
###### Encrypt file
|
||
|
||
gpg -e -r "<username>" dump.sql
|
||
|
||
- `-e|--encrypt` - encrypt data
|
||
- `-r|--recipient` - encrypt for specific
|
||
|
||
###### Decrypt file
|
||
|
||
gpg -o dump.sql -d dump.sql.gpg
|
||
|
||
- `-o|--output` - use as output file
|
||
- `-d|--decrypt` - decrypt data (default)
|
||
|
||
###### Search recipient
|
||
|
||
gpg --keyserver hkp://keyserver.ubuntu.com --search-keys "<username>"
|
||
|
||
- `--keyserver` - set specific key server
|
||
- `--search-keys` - search for keys on a key server
|
||
|
||
###### List all of the packets in an encrypted file
|
||
|
||
gpg --batch --list-packets archive.gpg
|
||
gpg2 --batch --list-packets archive.gpg
|
||
|
||
___
|
||
|
||
##### Tool: [system-other](https://github.com/trimstray/the-book-of-secret-knowledge#tool-system-other)
|
||
|
||
###### Reboot system from init
|
||
|
||
###### Init system from single user mode
|
||
|
||
###### Show current working directory of a process
|
||
|
||
readlink -f /proc/<PID\>/cwd
|
||
|
||
###### Show actual pathname of the executed command
|
||
|
||
readlink -f /proc/<PID\>/exe
|
||
|
||
##### Tool: [curl](https://curl.haxx.se/)
|
||
|
||
curl -Iks <https://www.google.com>
|
||
|
||
- `-I` - show response headers only
|
||
- `-k` - insecure connection when using ssl
|
||
- `-s` - silent mode (not display body)
|
||
|
||
curl -Iks --location -X GET -A "x-agent" <https://www.google.com>
|
||
|
||
- `--location` - follow redirects
|
||
- `-X` - set method
|
||
- `-A` - set user-agent
|
||
|
||
curl -Iks --location -X GET -A "x-agent" --proxy <http://127.0.0.1:16379> <https://www.google.com>
|
||
|
||
- `--proxy [socks5://|http://]` - set proxy server
|
||
|
||
curl -o file.pdf -C - <https://example.com/Aiju2goo0Ja2.pdf>
|
||
|
||
- `-o` - write output to file
|
||
- `-C` - resume the transfer
|
||
|
||
###### Find your external IP address (external services)
|
||
|
||
curl ipinfo.io
|
||
curl ipinfo.io/ip
|
||
curl icanhazip.com
|
||
curl ifconfig.me/ip ; echo
|
||
|
||
###### Repeat URL request
|
||
|
||
# URL sequence substitution with a dummy query string
|
||
|
||
curl -ks https://example.com/?\[1-20\]
|
||
|
||
# With shell 'for' loop
|
||
|
||
for i in {1..20} ; do curl -ks <https://example.com/> ; done
|
||
|
||
###### Check DNS and HTTP trace with headers for specific domains
|
||
|
||
# \## Set domains and external dns servers.
|
||
\_domain\_list=(google.com) ; \_dns\_list=("8.8.8.8" "1.1.1.1")
|
||
|
||
for \_domain in "${\_domain\_list\[@\]}" ; do
|
||
|
||
printf '\=%.0s' {1..48}
|
||
|
||
echo
|
||
|
||
printf "\[\\\\e\[1;32m+\\\\e\[m\] resolve: %s\\\\n" "$\_domain"
|
||
|
||
for \_dns in "${\_dns\_list\[@\]}" ; do
|
||
|
||
# Resolve domain.
|
||
host "${\_domain}" "${\_dns}"
|
||
|
||
echo
|
||
|
||
done
|
||
|
||
for \_proto in http https ; do
|
||
|
||
printf "\[\\\\e\[1;32m+\\\\e\[m\] trace + headers: %s://%s\\\\n" "$\_proto" "$\_domain"
|
||
|
||
# Get trace and http headers.
|
||
curl -Iks -A "x-agent" --location "${\_proto}://${\_domain}"
|
||
|
||
echo
|
||
|
||
done
|
||
|
||
done
|
||
|
||
unset \_domain\_list \_dns\_list
|
||
|
||
___
|
||
|
||
##### Tool: [httpie](https://httpie.org/)
|
||
|
||
http -p Hh <https://www.google.com>
|
||
|
||
- `-p` - print request and response headers
|
||
- `H` - request headers
|
||
- `B` - request body
|
||
- `h` - response headers
|
||
- `b` - response body
|
||
|
||
http -p Hh <https://www.google.com> --follow --verify no
|
||
|
||
- `-F, --follow` - follow redirects
|
||
- `--verify no` - skip SSL verification
|
||
|
||
http -p Hh <https://www.google.com> --follow --verify no \\
|
||
--proxy http:<http://127.0.0.1:16379>
|
||
|
||
- `--proxy [http:]` - set proxy server
|
||
|
||
##### Tool: [ssh](https://www.openssh.com/)
|
||
|
||
###### Escape Sequence
|
||
|
||
```
|
||
# Supported escape sequences:
|
||
~. - terminate connection (and any multiplexed sessions)
|
||
~B - send a BREAK to the remote system
|
||
~C - open a command line
|
||
~R - Request rekey (SSH protocol 2 only)
|
||
~^Z - suspend ssh
|
||
~# - list forwarded connections
|
||
~& - background ssh (when waiting for connections to terminate)
|
||
~? - this message
|
||
~~ - send the escape character by typing it twice
|
||
```
|
||
|
||
###### Compare a remote file with a local file
|
||
|
||
ssh user@host cat /path/to/remotefile | diff /path/to/localfile -
|
||
|
||
###### SSH connection through host in the middle
|
||
|
||
ssh -t reachable\_host ssh unreachable\_host
|
||
|
||
###### Run command over SSH on remote host
|
||
|
||
cat \> cmd.txt << \_\_EOF\_\_
|
||
cat /etc/hosts
|
||
\_\_EOF\_\_
|
||
|
||
ssh host -l user $(<cmd.txt)
|
||
|
||
###### Get public key from private key
|
||
|
||
ssh-keygen -y -f ~/.ssh/id\_rsa
|
||
|
||
###### Get all fingerprints
|
||
|
||
ssh-keygen -l -f .ssh/known\_hosts
|
||
|
||
###### SSH authentication with user password
|
||
|
||
ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no user@remote\_host
|
||
|
||
###### SSH authentication with publickey
|
||
|
||
ssh -o PreferredAuthentications=publickey -o PubkeyAuthentication=yes -i id\_rsa user@remote\_host
|
||
|
||
###### Simple recording SSH session
|
||
|
||
function \_ssh\_sesslog() {
|
||
|
||
\_sesdir="<path/to/session/logs>"
|
||
|
||
mkdir -p "${\_sesdir}" && \\
|
||
ssh $@ 2>&1 | tee -a "${\_sesdir}/$(date +%Y%m%d).log"
|
||
|
||
}
|
||
|
||
# Alias
|
||
|
||
alias ssh='\_ssh\_sesslog'
|
||
|
||
###### Using Keychain for SSH logins
|
||
|
||
# \## Delete all of ssh-agent's keys.
|
||
function \_scl() {
|
||
|
||
/usr/bin/keychain --clear
|
||
|
||
}
|
||
|
||
# \## Add key to keychain.
|
||
function \_scg() {
|
||
|
||
/usr/bin/keychain /path/to/private-key
|
||
source "$HOME/.keychain/$HOSTNAME\-sh"
|
||
|
||
}
|
||
|
||
###### SSH login without processing any login scripts
|
||
|
||
###### SSH local port forwarding
|
||
|
||
Example 1:
|
||
|
||
# Forwarding our local 2250 port to nmap.org:443 from localhost through localhost
|
||
|
||
host1> ssh -L 2250:nmap.org:443 localhost
|
||
|
||
# Connect to the service
|
||
|
||
host1> curl -Iks --location -X GET <https://localhost:2250>
|
||
|
||
Example 2:
|
||
|
||
# Forwarding our local 9051 port to db.d.x:5432 from localhost through node.d.y
|
||
|
||
host1> ssh -nNT -L 9051:db.d.x:5432 node.d.y
|
||
|
||
# Connect to the service
|
||
|
||
host1> psql -U db\_user -d db\_dev -p 9051 -h localhost
|
||
|
||
- `-n` - redirects stdin from `/dev/null`
|
||
- `-N` - do not execute a remote command
|
||
- `-T` - disable pseudo-terminal allocation
|
||
|
||
###### SSH remote port forwarding
|
||
|
||
# Forwarding our local 9051 port to db.d.x:5432 from host2 through node.d.y
|
||
|
||
host1> ssh -nNT -R 9051:db.d.x:5432 node.d.y
|
||
|
||
# Connect to the service
|
||
|
||
host2> psql -U postgres -d postgres -p 8000 -h localhost
|
||
|
||
___
|
||
|
||
##### Tool: [linux-dev](https://www.tldp.org/LDP/abs/html/devref1.html)
|
||
|
||
###### Testing remote connection to port
|
||
|
||
timeout 1 bash -c "</dev/<proto>/<host>/<port>" \>/dev/null 2>&1 ; echo $?
|
||
|
||
- `<proto` - set protocol (tcp/udp)
|
||
- `<host>` - set remote host
|
||
- `<port>` - set destination port
|
||
|
||
###### Read and write to TCP or UDP sockets with common bash tools
|
||
|
||
exec 5<>/dev/tcp/<host\>/<port\>; cat <&5 & cat \>&5; exec 5>&\-
|
||
|
||
___
|
||
|
||
##### Tool: [tcpdump](http://www.tcpdump.org/)
|
||
|
||
###### Filter incoming (on interface) traffic (specific ip:port)
|
||
|
||
tcpdump -ne -i eth0 -Q in host 192.168.252.1 and port 443
|
||
|
||
- `-n` - don't convert addresses (`-nn` will not resolve hostnames or ports)
|
||
- `-e` - print the link-level headers
|
||
- `-i [iface|any]` - set interface
|
||
- `-Q|-D [in|out|inout]` - choose send/receive direction (`-D` - for old tcpdump versions)
|
||
- `host [ip|hostname]` - set host, also `[host not]`
|
||
- `[and|or]` - set logic
|
||
- `port [1-65535]` - set port number, also `[port not]`
|
||
|
||
###### Filter incoming (on interface) traffic (specific ip:port) and write to a file
|
||
|
||
tcpdump -ne -i eth0 -Q in host 192.168.252.1 and port 443 -c 5 -w tcpdump.pcap
|
||
|
||
- `-c [num]` - capture only num number of packets
|
||
- `-w [filename]` - write packets to file, `-r [filename]` - reading from file
|
||
|
||
###### Capture all ICMP packets
|
||
|
||
###### Check protocol used (TCP or UDP) for service
|
||
|
||
tcpdump -nei eth0 tcp port 22 -vv -X | egrep "TCP|UDP"
|
||
|
||
###### Display ASCII text (to parse the output using grep or other)
|
||
|
||
tcpdump -i eth0 -A -s0 port 443
|
||
|
||
###### Grab everything between two keywords
|
||
|
||
tcpdump -i eth0 port 80 -X | sed -n -e '/username/,/=ldap/ p'
|
||
|
||
###### Grab user and pass ever plain http
|
||
|
||
tcpdump -i eth0 port http -l -A | egrep -i \\
|
||
'pass=|pwd=|log=|login=|user=|username=|pw=|passw=|passwd=|password=|pass:|user:|username:|password:|login:|pass |user ' \\
|
||
--color=auto --line-buffered -B20
|
||
|
||
###### Extract HTTP User Agent from HTTP request header
|
||
|
||
tcpdump -ei eth0 -nn -A -s1500 -l | grep "User-Agent:"
|
||
|
||
###### Capture only HTTP GET and POST packets
|
||
|
||
tcpdump -ei eth0 -s 0 -A -vv \\
|
||
'tcp\[((tcp\[12:1\] & 0xf0) >> 2):4\] = 0x47455420' or 'tcp\[((tcp\[12:1\] & 0xf0) >> 2):4\] = 0x504f5354'
|
||
|
||
or simply:
|
||
|
||
tcpdump -ei eth0 -s 0 -v -n -l | egrep -i "POST /|GET /|Host:"
|
||
|
||
###### Rotate capture files
|
||
|
||
tcpdump -ei eth0 -w /tmp/capture-%H.pcap -G 3600 -C 200
|
||
|
||
- `-G <num>` - pcap will be created every `<num>` seconds
|
||
- `-C <size>` - close the current pcap and open a new one if is larger than `<size>`
|
||
|
||
###### Top hosts by packets
|
||
|
||
tcpdump -ei enp0s25 -nnn -t -c 200 | cut -f 1,2,3,4 -d '.' | sort | uniq -c | sort -nr | head -n 20
|
||
|
||
###### Excludes any RFC 1918 private address
|
||
|
||
tcpdump -nei eth0 'not (src net (10 or 172.16/12 or 192.168/16) and dst net (10 or 172.16/12 or 192.168/16))'
|
||
|
||
___
|
||
|
||
##### Tool: [tcpick](http://tcpick.sourceforge.net/)
|
||
|
||
###### Analyse packets in real-time
|
||
|
||
while true ; do tcpick -a -C -r dump.pcap ; sleep 2 ; clear ; done
|
||
|
||
___
|
||
|
||
##### Tool: [ngrep](http://ngrep.sourceforge.net/usage.html)
|
||
|
||
ngrep -d eth0 "www.domain.com" port 443
|
||
|
||
- `-d [iface|any]` - set interface
|
||
- `[domain]` - set hostname
|
||
- `port [1-65535]` - set port number
|
||
|
||
ngrep -d eth0 "www.domain.com" src host 10.240.20.2 and port 443
|
||
|
||
- `(host [ip|hostname])` - filter by ip or hostname
|
||
- `(port [1-65535])` - filter by port number
|
||
|
||
ngrep -d eth0 -qt -O ngrep.pcap "www.domain.com" port 443
|
||
|
||
- `-q` - quiet mode (only payloads)
|
||
- `-t` - added timestamps
|
||
- `-O [filename]` - save output to file, `-I [filename]` - reading from file
|
||
|
||
ngrep -d eth0 -qt 'HTTP' 'tcp'
|
||
|
||
- `HTTP` - show http headers
|
||
- `tcp|udp` - set protocol
|
||
- `[src|dst] host [ip|hostname]` - set direction for specific node
|
||
|
||
ngrep -l -q -d eth0 -i "User-Agent: curl\*"
|
||
|
||
- `-l` - stdout line buffered
|
||
- `-i` - case-insensitive search
|
||
|
||
___
|
||
|
||
##### Tool: [hping3](http://www.hping.org/)
|
||
|
||
hping3 -V -p 80 -s 5050 <scan\_type\> www.google.com
|
||
|
||
- `-V|--verbose` - verbose mode
|
||
- `-p|--destport` - set destination port
|
||
- `-s|--baseport` - set source port
|
||
- `<scan_type>` - set scan type
|
||
- `-F|--fin` - set FIN flag, port open if no reply
|
||
- `-S|--syn` - set SYN flag
|
||
- `-P|--push` - set PUSH flag
|
||
- `-A|--ack` - set ACK flag (use when ping is blocked, RST response back if the port is open)
|
||
- `-U|--urg` - set URG flag
|
||
- `-Y|--ymas` - set Y unused flag (0x80 - nullscan), port open if no reply
|
||
- `-M 0 -UPF` - set TCP sequence number and scan type (URG+PUSH+FIN), port open if no reply
|
||
|
||
hping3 -V -c 1 -1 -C 8 www.google.com
|
||
|
||
- `-c [num]` - packet count
|
||
- `-1` - set ICMP mode
|
||
- `-C|--icmptype [icmp-num]` - set icmp type (default icmp-echo = 8)
|
||
|
||
hping3 -V -c 1000000 -d 120 -S -w 64 -p 80 --flood --rand-source <remote\_host\>
|
||
|
||
- `--flood` - sent packets as fast as possible (don't show replies)
|
||
- `--rand-source` - random source address mode
|
||
- `-d --data` - data size
|
||
- `-w|--win` - winsize (default 64)
|
||
|
||
___
|
||
|
||
##### Tool: [nmap](https://nmap.org/)
|
||
|
||
###### Ping scans the network
|
||
|
||
###### Show only open ports
|
||
|
||
nmap -F --open 192.168.0.0/24
|
||
|
||
###### Full TCP port scan using with service version detection
|
||
|
||
nmap -p 1-65535 -sV -sS -T4 192.168.0.0/24
|
||
|
||
###### Nmap scan and pass output to Nikto
|
||
|
||
nmap -p80,443 192.168.0.0/24 -oG - | nikto.pl -h -
|
||
|
||
###### Recon specific ip:service with Nmap NSE scripts stack
|
||
|
||
# Set variables
|
||
|
||
\_hosts="192.168.250.10"
|
||
\_ports="80,443"
|
||
|
||
# Set Nmap NSE scripts stack
|
||
|
||
\_nmap\_nse\_scripts="+dns-brute,\\
|
||
+http-auth-finder,\\
|
||
+http-chrono,\\
|
||
+http-cookie-flags,\\
|
||
+http-cors,\\
|
||
+http-cross-domain-policy,\\
|
||
+http-csrf,\\
|
||
+http-dombased-xss,\\
|
||
+http-enum,\\
|
||
+http-errors,\\
|
||
+http-git,\\
|
||
+http-grep,\\
|
||
+http-internal-ip-disclosure,\\
|
||
+http-jsonp-detection,\\
|
||
+http-malware-host,\\
|
||
+http-methods,\\
|
||
+http-passwd,\\
|
||
+http-phpself-xss,\\
|
||
+http-php-version,\\
|
||
+http-robots.txt,\\
|
||
+http-sitemap-generator,\\
|
||
+http-shellshock,\\
|
||
+http-stored-xss,\\
|
||
+http-title,\\
|
||
+http-unsafe-output-escaping,\\
|
||
+http-useragent-tester,\\
|
||
+http-vhosts,\\
|
||
+http-waf-detect,\\
|
||
+http-waf-fingerprint,\\
|
||
+http-xssed,\\
|
||
+traceroute-geolocation.nse,\\
|
||
+ssl-enum-ciphers,\\
|
||
+whois-domain,\\
|
||
+whois-ip"
|
||
|
||
# Set Nmap NSE script params
|
||
|
||
\_nmap\_nse\_scripts\_args="dns-brute.domain=${\_hosts},http-cross-domain-policy.domain-lookup=true,"
|
||
\_nmap\_nse\_scripts\_args+="http-waf-detect.aggro,http-waf-detect.detectBodyChanges,"
|
||
\_nmap\_nse\_scripts\_args+="http-waf-fingerprint.intensive=1"
|
||
|
||
# Perform scan
|
||
|
||
nmap --script="$\_nmap\_nse\_scripts" --script-args="$\_nmap\_nse\_scripts\_args" -p "$\_ports" "$\_hosts"
|
||
|
||
___
|
||
|
||
##### Tool: [netcat](http://netcat.sourceforge.net/)
|
||
|
||
- `-l` - listen for an incoming connection
|
||
- `-k` - listening after client has disconnected
|
||
- `>filename.out` - save receive data to file (optional)
|
||
|
||
nc 192.168.0.1 5051 < filename.in
|
||
|
||
- `< filename.in` - send data to remote host
|
||
|
||
- `-v` - verbose output
|
||
- `-z` - scan for listening daemons
|
||
|
||
nc -vzu 10.240.30.3 1-65535
|
||
|
||
- `-u` - scan only udp ports
|
||
|
||
###### Transfer data file (archive)
|
||
|
||
server\> nc -l 5000 | tar xzvfp -
|
||
client\> tar czvfp - /path/to/dir | nc 10.240.30.3 5000
|
||
|
||
###### Launch remote shell
|
||
|
||
# 1)
|
||
|
||
server\> nc -l 5000 -e /bin/bash
|
||
client\> nc 10.240.30.3 5000
|
||
|
||
# 2)
|
||
|
||
server\> rm -f /tmp/f; mkfifo /tmp/f
|
||
server\> cat /tmp/f | /bin/bash -i 2>&1 | nc -l 127.0.0.1 5000 \> /tmp/f
|
||
client\> nc 10.240.30.3 5000
|
||
|
||
###### Simple file server
|
||
|
||
while true ; do nc -l 5000 | tar -xvf - ; done
|
||
|
||
###### Simple minimal HTTP Server
|
||
|
||
while true ; do nc -l -p 1500 -c 'echo -e "HTTP/1.1 200 OK\\n\\n $(date)"' ; done
|
||
|
||
###### Simple HTTP Server
|
||
|
||
> Restarts web server after each request - remove `while` condition for only single connection.
|
||
|
||
cat \> index.html << \_\_EOF\_\_
|
||
<!doctype html>
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||
<title></title>
|
||
<meta name="description" content="">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
</head>
|
||
<body>
|
||
<p>
|
||
Hello! It's a site.
|
||
</p>
|
||
</body>
|
||
</html>
|
||
\_\_EOF\_\_
|
||
|
||
server\> while : ; do \\
|
||
(echo -ne "HTTP/1.1 200 OK\\r\\nContent-Length: $(wc -c <index.html)\\r\\n\\r\\n" ; cat index.html;) | \\
|
||
nc -l -p 5000 \\
|
||
; done
|
||
|
||
- `-p` - port number
|
||
|
||
###### Simple HTTP Proxy (single connection)
|
||
|
||
# !/usr/bin/env bash
|
||
|
||
if \[\[ $# != 2 \]\] ; then
|
||
printf "%s\\\\n" \\
|
||
"usage: ./nc-proxy listen-port bk\_host:bk\_port"
|
||
fi
|
||
|
||
\_listen\_port="$1"
|
||
\_bk\_host=$(echo "$2" | cut -d ":" -f1)
|
||
\_bk\_port=$(echo "$2" | cut -d ":" -f2)
|
||
|
||
printf " lport: %s\\\\nbk\_host: %s\\\\nbk\_port: %s\\\\n\\\\n" \\
|
||
"$\_listen\_port" "$\_bk\_host" "$\_bk\_port"
|
||
|
||
\_tmp=$(mktemp -d)
|
||
\_back="$\_tmp/pipe.back"
|
||
\_sent="$\_tmp/pipe.sent"
|
||
\_recv="$\_tmp/pipe.recv"
|
||
|
||
trap 'rm -rf "$\_tmp"' EXIT
|
||
|
||
mkfifo -m 0600 "$\_back" "$\_sent" "$\_recv"
|
||
|
||
sed "s/^/=> /" <"$\_sent" &
|
||
sed "s/^/<= /" <"$\_recv" &
|
||
|
||
nc -l -p "$\_listen\_port" <"$\_back" | \\
|
||
tee "$\_sent" | \\
|
||
nc "$\_bk\_host" "$\_bk\_port" | \\
|
||
tee "$\_recv" \>"$\_back"
|
||
|
||
server\> chmod +x nc-proxy && ./nc-proxy 8080 192.168.252.10:8000
|
||
lport: 8080
|
||
bk\_host: 192.168.252.10
|
||
bk\_port: 8000
|
||
|
||
client\> http -p h 10.240.30.3:8080
|
||
HTTP/1.1 200 OK
|
||
Accept-Ranges: bytes
|
||
Cache-Control: max-age=31536000
|
||
Content-Length: 2748
|
||
Content-Type: text/html; charset=utf-8
|
||
Date: Sun, 01 Jul 2018 20:12:08 GMT
|
||
Last-Modified: Sun, 01 Apr 2018 21:53:37 GMT
|
||
|
||
###### Create a single-use TCP or UDP proxy
|
||
|
||
# \## TCP -> TCP
|
||
nc -l -p 2000 -c "nc \[ip|hostname\] 3000"
|
||
|
||
# \## TCP -> UDP
|
||
nc -l -p 2000 -c "nc -u \[ip|hostname\] 3000"
|
||
|
||
# \## UDP -> UDP
|
||
nc -l -u -p 2000 -c "nc -u \[ip|hostname\] 3000"
|
||
|
||
# \## UDP -> TCP
|
||
nc -l -u -p 2000 -c "nc \[ip|hostname\] 3000"
|
||
|
||
___
|
||
|
||
##### Tool: [gnutls-cli](https://gnutls.org/manual/html_node/gnutls_002dcli-Invocation.html)
|
||
|
||
###### Testing connection to remote host (with SNI support)
|
||
|
||
gnutls-cli -p 443 google.com
|
||
|
||
###### Testing connection to remote host (without SNI support)
|
||
|
||
gnutls-cli --disable-sni -p 443 google.com
|
||
|
||
___
|
||
|
||
##### Tool: [socat](http://www.dest-unreach.org/socat/doc/socat.html)
|
||
|
||
###### Testing remote connection to port
|
||
|
||
socat - TCP4:10.240.30.3:22
|
||
|
||
- `-` - standard input (STDIO)
|
||
- `TCP4:<params>` - set tcp4 connection with specific params
|
||
- `[hostname|ip]` - set hostname/ip
|
||
- `[1-65535]` - set port number
|
||
|
||
###### Redirecting TCP-traffic to a UNIX domain socket under Linux
|
||
|
||
socat TCP-LISTEN:1234,bind=127.0.0.1,reuseaddr,fork,su=nobody,range=127.0.0.0/8 UNIX-CLIENT:/tmp/foo
|
||
|
||
- `TCP-LISTEN:<params>` - set tcp listen with specific params
|
||
- `[1-65535]` - set port number
|
||
- `bind=[hostname|ip]` - set bind hostname/ip
|
||
- `reuseaddr` - allows other sockets to bind to an address
|
||
- `fork` - keeps the parent process attempting to produce more connections
|
||
- `su=nobody` - set user
|
||
- `range=[ip-range]` - ip range
|
||
- `UNIX-CLIENT:<params>` - communicates with the specified peer socket
|
||
- `filename` - define socket
|
||
|
||
___
|
||
|
||
##### Tool: [p0f](http://lcamtuf.coredump.cx/p0f3/)
|
||
|
||
###### Set iface in promiscuous mode and dump traffic to the log file
|
||
|
||
p0f -i enp0s25 -p -d -o /dump/enp0s25.log
|
||
|
||
- `-i` - listen on the specified interface
|
||
- `-p` - set interface in promiscuous mode
|
||
- `-d` - fork into background
|
||
- `-o` - output file
|
||
|
||
___
|
||
|
||
##### Tool: [netstat](https://en.wikipedia.org/wiki/Netstat)
|
||
|
||
###### Graph # of connections for each hosts
|
||
|
||
netstat -an | awk '/ESTABLISHED/ { split($5,ip,":"); if (ip\[1\] !~ /^$/) print ip\[1\] }' | \\
|
||
sort | uniq -c | awk '{ printf("%s\\t%s\\t",$2,$1) ; for (i = 0; i < $1; i++) {printf("\*")}; print "" }'
|
||
|
||
###### Monitor open connections for specific port including listen, count and sort it per IP
|
||
|
||
watch "netstat -plan | grep :443 | awk {'print \\$5'} | cut -d: -f 1 | sort | uniq -c | sort -nk 1"
|
||
|
||
###### Grab banners from local IPv4 listening ports
|
||
|
||
netstat -nlt | grep 'tcp ' | grep -Eo "\[1-9\]\[0-9\]\*" | xargs -I {} sh -c "echo "" | nc -v -n -w1 127.0.0.1 {}"
|
||
|
||
___
|
||
|
||
##### Tool: [rsync](https://en.wikipedia.org/wiki/Rsync)
|
||
|
||
###### Rsync remote data as root using sudo
|
||
|
||
rsync --rsync-path 'sudo rsync' username@hostname:/path/to/dir/ /local/
|
||
|
||
___
|
||
|
||
##### Tool: [host](https://en.wikipedia.org/wiki/Host_(Unix))
|
||
|
||
###### Resolves the domain name (using external dns server)
|
||
|
||
###### Checks the domain administrator (SOA record)
|
||
|
||
host -t soa google.com 9.9.9.9
|
||
|
||
___
|
||
|
||
##### Tool: [dig](https://en.wikipedia.org/wiki/Dig_(command))
|
||
|
||
###### Resolves the domain name (short output)
|
||
|
||
###### Lookup NS record for specific domain
|
||
|
||
dig @9.9.9.9 google.com NS
|
||
|
||
###### Query only answer section
|
||
|
||
dig google.com +nocomments +noquestion +noauthority +noadditional +nostats
|
||
|
||
###### Query ALL DNS Records
|
||
|
||
dig google.com ANY +noall +answer
|
||
|
||
###### DNS Reverse Look-up
|
||
|
||
dig -x 172.217.16.14 +short
|
||
|
||
___
|
||
|
||
##### Tool: [certbot](https://certbot.eff.org/)
|
||
|
||
###### Generate multidomain certificate
|
||
|
||
certbot certonly -d example.com -d www.example.com
|
||
|
||
###### Generate wildcard certificate
|
||
|
||
certbot certonly --manual --preferred-challenges=dns -d example.com -d \*.example.com
|
||
|
||
###### Generate certificate with 4096 bit private key
|
||
|
||
certbot certonly -d example.com -d www.example.com --rsa-key-size 4096
|
||
|
||
___
|
||
|
||
##### Tool: [network-other](https://github.com/trimstray/the-book-of-secret-knowledge#tool-network-other)
|
||
|
||
###### Get all subnets for specific AS (Autonomous system)
|
||
|
||
AS="AS32934"
|
||
whois -h whois.radb.net -- "\-i origin ${AS}" | \\
|
||
grep "^route:" | \\
|
||
cut -d ":" -f2 | \\
|
||
sed -e 's/^\[ \\t\]//' | \\
|
||
sort -n -t . -k 1,1 -k 2,2 -k 3,3 -k 4,4 | \\
|
||
cut -d ":" -f2 | \\
|
||
sed -e 's/^\[ \\t\]/allow /' | \\
|
||
sed 's/$/;/' | \\
|
||
sed 's/allow \*/subnet -> /g'
|
||
|
||
###### Resolves domain name from dns.google.com with curl and jq
|
||
|
||
\_dname="google.com" ; curl -s "https://dns.google.com/resolve?name=${\_dname}&type=A" | jq .
|
||
|
||
##### Tool: [git](https://git-scm.com/)
|
||
|
||
###### Log alias for a decent view of your repo
|
||
|
||
# 1)
|
||
|
||
git log --oneline --decorate --graph --all
|
||
|
||
# 2)
|
||
|
||
git log --graph \\
|
||
--pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' \\
|
||
--abbrev-commit
|
||
|
||
___
|
||
|
||
##### Tool: [python](https://www.python.org/)
|
||
|
||
###### Static HTTP web server
|
||
|
||
# Python 3.x
|
||
|
||
python3 -m http.server 8000 --bind 127.0.0.1
|
||
|
||
# Python 2.x
|
||
|
||
python -m SimpleHTTPServer 8000
|
||
|
||
###### Static HTTP web server with SSL support
|
||
|
||
# Python 3.x
|
||
|
||
from http.server import HTTPServer, BaseHTTPRequestHandler
|
||
import ssl
|
||
|
||
httpd = HTTPServer(('localhost', 4443), BaseHTTPRequestHandler)
|
||
httpd.socket = ssl.wrap\_socket (httpd.socket,
|
||
keyfile="path/to/key.pem",
|
||
certfile='path/to/cert.pem', server\_side=True)
|
||
httpd.serve\_forever()
|
||
\# Python 2.x
|
||
import BaseHTTPServer, SimpleHTTPServer
|
||
import ssl
|
||
httpd = BaseHTTPServer.HTTPServer(('localhost', 4443),
|
||
SimpleHTTPServer.SimpleHTTPRequestHandler)
|
||
httpd.socket = ssl.wrap\_socket (httpd.socket,
|
||
keyfile="path/tp/key.pem",
|
||
certfile='path/to/cert.pem', server\_side=True)
|
||
httpd.serve\_forever()
|
||
|
||
###### Encode base64
|
||
|
||
python -m base64 -e <<< "sample string"
|
||
|
||
###### Decode base64
|
||
|
||
python -m base64 -d <<< "dGhpcyBpcyBlbmNvZGVkCg=="
|
||
|
||
##### Tool: [awk](http://www.grymoire.com/Unix/Awk.html)
|
||
|
||
###### Search for matching lines
|
||
|
||
# egrep foo
|
||
|
||
awk '/foo/' filename
|
||
|
||
###### Search non matching lines
|
||
|
||
# egrep -v foo
|
||
|
||
awk '!/foo/' filename
|
||
|
||
###### Print matching lines with numbers
|
||
|
||
# egrep -n foo
|
||
|
||
awk '/foo/{print FNR,$0}' filename
|
||
|
||
###### Print the last column
|
||
|
||
awk '{print $NF}' filename
|
||
|
||
###### Find all the lines longer than 80 characters
|
||
|
||
awk 'length($0)>80{print FNR,$0}' filename
|
||
|
||
###### Print only lines of less than 80 characters
|
||
|
||
awk 'length < 80' filename
|
||
|
||
###### Print double new lines a file
|
||
|
||
awk '1; { print "" }' filename
|
||
|
||
###### Print line numbers
|
||
|
||
awk '{ print FNR "\\t" $0 }' filename
|
||
awk '{ printf("%5d : %s\\n", NR, $0) }' filename # in a fancy manner
|
||
|
||
###### Print line numbers for only non-blank lines
|
||
|
||
awk 'NF { $0=++a " :" $0 }; { print }' filename
|
||
|
||
###### Print the line and the next two (i=5) lines after the line matching regexp
|
||
|
||
awk '/foo/{i=5+1;}{if(i){i--; print;}}' filename
|
||
|
||
###### Print the lines starting at the line matching 'server {' until the line matching '}'
|
||
|
||
awk '/server {/,/}/' filename
|
||
|
||
###### Print multiple columns with separators
|
||
|
||
awk -F' ' '{print "ip:\\t" $2 "\\n port:\\t" $3' filename
|
||
|
||
###### Remove empty lines
|
||
|
||
awk 'NF > 0' filename
|
||
|
||
# alternative
|
||
|
||
awk NF filename
|
||
|
||
###### Delete trailing white space (spaces, tabs)
|
||
|
||
awk '{sub(/\[ \\t\]\*$/, "");print}' filename
|
||
|
||
###### Delete leading white space
|
||
|
||
awk '{sub(/^\[ \\t\]+/, ""); print}' filename
|
||
|
||
###### Remove duplicate consecutive lines
|
||
|
||
# uniq
|
||
|
||
awk 'a !~ $0{print}; {a=$0}' filename
|
||
|
||
###### Remove duplicate entries in a file without sorting
|
||
|
||
###### Exclude multiple columns
|
||
|
||
awk '{$1=$3=""}1' filename
|
||
|
||
###### Substitute foo for bar on lines matching regexp
|
||
|
||
awk '/regexp/{gsub(/foo/, "bar")};{print}' filename
|
||
|
||
###### Add some characters at the beginning of matching lines
|
||
|
||
awk '/regexp/{sub(/^/, "++++"); print;next;}{print}' filename
|
||
|
||
###### Get the last hour of Apache logs
|
||
|
||
awk '/'$(date -d "1 hours ago" "+%d\\\\/%b\\\\/%Y:%H:%M")'/,/'$(date "+%d\\\\/%b\\\\/%Y:%H:%M")'/ { print $0 }' \\
|
||
/var/log/httpd/access\_log
|
||
|
||
___
|
||
|
||
##### Tool: [sed](http://www.grymoire.com/Unix/Sed.html)
|
||
|
||
###### Print a specific line from a file
|
||
|
||
###### Remove a specific line from a file
|
||
|
||
sed -i 10d /path/to/file
|
||
|
||
# alternative (BSD): sed -i'' 10d /path/to/file
|
||
|
||
###### Remove a range of lines from a file
|
||
|
||
sed -i <file\> -re '<start>,<end>d'
|
||
|
||
###### Replace newline(s) with a space
|
||
|
||
sed ':a;N;$!ba;s/\\n/ /g' /path/to/file
|
||
|
||
# cross-platform compatible syntax
|
||
|
||
sed -e ':a' -e 'N' -e '$!ba' -e 's/\\n/ /g' /path/to/file
|
||
|
||
- `:a` create a label `a`
|
||
- `N` append the next line to the pattern space
|
||
- `$!` if not the last line, ba branch (go to) label `a`
|
||
- `s` substitute, `/\n/` regex for new line, `/ /` by a space, `/g` global match (as many times as it can)
|
||
|
||
Alternatives:
|
||
|
||
# perl version (sed-like speed)
|
||
|
||
perl -p -e 's/\\n/ /' /path/to/file
|
||
|
||
# bash version (slow)
|
||
|
||
while read line ; do printf "%s" "$line " ; done < file
|
||
|
||
###### Delete string +N next lines
|
||
|
||
sed '/start/,+4d' /path/to/file
|
||
|
||
___
|
||
|
||
##### Tool: [grep](http://www.grymoire.com/Unix/Grep.html)
|
||
|
||
###### Search for a "pattern" inside all files in the current directory
|
||
|
||
grep -rn "pattern"
|
||
grep -RnisI "pattern" \*
|
||
fgrep "pattern" \* -R
|
||
|
||
###### Show only for multiple patterns
|
||
|
||
grep 'INFO\*'\\''WARN' filename
|
||
grep 'INFO\\|WARN' filename
|
||
grep -e INFO -e WARN filename
|
||
grep -E '(INFO|WARN)' filename
|
||
egrep "INFO|WARN" filename
|
||
|
||
###### Except multiple patterns
|
||
|
||
grep -vE '(error|critical|warning)' filename
|
||
|
||
###### Show data from file without comments
|
||
|
||
grep -v ^\[\[:space:\]\]\*# filename
|
||
|
||
###### Show data from file without comments and new lines
|
||
|
||
###### Show strings with a dash/hyphen
|
||
|
||
grep -e -- filename
|
||
grep -- -- filename
|
||
grep "\\-\\-" filename
|
||
|
||
###### Remove blank lines from a file and save output to new file
|
||
|
||
grep . filename \> newfilename
|
||
|
||
##### Tool: [perl](https://www.perl.org/)
|
||
|
||
###### Search and replace (in place)
|
||
|
||
perl -i -pe's/SEARCH/REPLACE/' filename
|
||
|
||
###### Edit of `*.conf` files changing all foo to bar (and backup original)
|
||
|
||
perl -p -i.orig -e 's/\\bfoo\\b/bar/g' \*.conf
|
||
|
||
###### Prints the first 20 lines from `*.conf` files
|
||
|
||
perl -pe 'exit if $. > 20' \*.conf
|
||
|
||
###### Search lines 10 to 20
|
||
|
||
perl -ne 'print if 10 .. 20' filename
|
||
|
||
###### Delete first 10 lines (and backup original)
|
||
|
||
perl -i.orig -ne 'print unless 1 .. 10' filename
|
||
|
||
###### Delete all but lines between foo and bar (and backup original)
|
||
|
||
perl -i.orig -ne 'print unless /^foo$/ .. /^bar$/' filename
|
||
|
||
###### Reduce multiple blank lines to a single line
|
||
|
||
perl -p -i -00pe0 filename
|
||
|
||
###### Convert tabs to spaces (1t = 2sp)
|
||
|
||
perl -p -i -e 's/\\t/ /g' filename
|
||
|
||
###### Read input from a file and report number of lines and characters
|
||
|
||
perl -lne '$i++; $in += length($\_); END { print "$i lines, $in characters"; }' filename
|
||
|
||
#### Shell functions [\[TOC\]](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#anger-table-of-contents)
|
||
|
||
##### Table of Contents
|
||
|
||
- [Domain resolve](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#domain-resolve)
|
||
- [Get ASN](https://github.com/trimstray/the-book-of-secret-knowledge/blob/master/README.md#get-asn)
|
||
|
||
###### Domain resolve
|
||
|
||
# Dependencies
|
||
|
||
# - curl
|
||
|
||
# - jq
|
||
|
||
function DomainResolve() {
|
||
|
||
local \_host="$1"
|
||
|
||
local \_curl\_base="curl --request GET"
|
||
local \_timeout="15"
|
||
|
||
\_host\_ip=$($\_curl\_base -ks -m "$\_timeout" "https://dns.google.com/resolve?name=${\_host}&type=A" | \\
|
||
jq '.Answer\[0\].data' | tr -d "\\"" 2>/dev/null)
|
||
|
||
if \[\[ \-z "$\_host\_ip" \]\] || \[\[ "$\_host\_ip" \== "null" \]\] ; then
|
||
|
||
echo -en "Unsuccessful domain name resolution.\\\\n"
|
||
|
||
else
|
||
|
||
echo -en "$\_host > $\_host\_ip\\\\n"
|
||
|
||
fi
|
||
|
||
}
|
||
|
||
Example:
|
||
|
||
shell\> DomainResolve nmap.org
|
||
nmap.org \> 45.33.49.119
|
||
|
||
shell\> DomainResolve nmap.org
|
||
Unsuccessful domain name resolution.
|
||
|
||
###### Get ASN
|
||
|
||
# Dependencies
|
||
|
||
# - curl
|
||
|
||
function GetASN() {
|
||
|
||
local \_ip="$1"
|
||
|
||
local \_curl\_base="curl --request GET"
|
||
local \_timeout="15"
|
||
|
||
\_asn=$($\_curl\_base -ks -m "$\_timeout" "http://ip-api.com/line/${\_ip}?fields=as")
|
||
|
||
\_state=$(echo $?)
|
||
|
||
if \[\[ \-z "$\_ip" \]\] || \[\[ "$\_ip" \== "null" \]\] || \[\[ "$\_state" \-ne 0 \]\]; then
|
||
|
||
echo -en "Unsuccessful ASN gathering.\\\\n"
|
||
|
||
else
|
||
|
||
echo -en "$\_ip > $\_asn\\\\n"
|
||
|
||
fi
|
||
|
||
}
|
||
|
||
Example:
|
||
|
||
shell\> GetASN 1.1.1.1
|
||
1.1.1.1 \> AS13335 Cloudflare, Inc.
|
||
|
||
shell\> GetASN 0.0.0.0
|
||
Unsuccessful ASN gathering.
|