The book of secret knowledge


Master

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.


Pull Requests


License

Created by
trimstray and
contributors

***

## :notebook_with_decorative_cover:  What is it?

This list 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.

## :restroom:  For whom?

This collection is suitable for everyone. It is aimed towards System and Network administrators, DevOps, Pentesters and Security Researchers.

## :information_source:  Contributing

If you find something which doesn’t make sense, or something doesn’t seem right, please make a pull request and please add valid and well-reasoned explanations about your changes or comments.

A few simple rules for this project:

– inviting and clear
– not tiring
– useful

These below rules may be better:

– easy to contribute to (Markdown + HTML …)
– easy to find (simple TOC, maybe it’s worth extending them?)

Url marked **\*** is temporary unavailable. Please don’t delete it without confirming that it has permanently expired.

Before adding a pull request, please see the **[contributing guidelines](CONTRIBUTING.md)**. All **suggestions/PR** are welcome!

## :gift_heart:  Support

If this project is useful and important for you or if you really like _the-book-of-secret-knowledge_, you can bring **positive energy** by giving some **good words** or **supporting this project**. Thank you!

## :ballot_box_with_check:  Todo

– [ ] Add useful shell functions
– [ ] Add one-liners for collection tools (eg. CLI Tools)

## :anger:  Table of Contents

Only main chapters:

– **[CLI Tools](#cli-tools-toc)**
– **[GUI Tools](#gui-tools-toc)**
– **[Web Tools](#web-tools-toc)**
– **[Systems/Services](#systemsservices-toc)**
– **[Networks](#networks-toc)**
– **[Manuals/Howtos/Tutorials](#manualshowtostutorials-toc)**
– **[Inspiring Lists](#inspiring-lists-toc)**
– **[Blogs/Podcasts/Videos](#blogspodcastsvideos-toc)**
– **[Hacking/Penetration Testing](#hackingpenetration-testing-toc)**
– **[Your daily knowledge and news](#your-daily-knowledge-and-news-toc)**
– **[Other Cheat Sheets](#other-cheat-sheets-toc)**
– **[One-liners](#one-liners-toc)**
– **[Shell functions](#shell-functions-toc)**

## :trident:  The Book of Secret Knowledge (Chapters)

#### CLI Tools  [[TOC]](#anger-table-of-contents)

##### :black_small_square: Shells

  :small_orange_diamond: GNU Bash – is an sh-compatible shell that incorporates useful features from the Korn shell and C shell.
  :small_orange_diamond: Zsh – is a shell designed for interactive use, although it is also a powerful scripting language.
  :small_orange_diamond: bash-it – is a framework for using, developing and maintaining shell scripts and custom commands.
  :small_orange_diamond: Oh My ZSH! – is the best framework for managing your Zsh configuration.
  :small_orange_diamond: Oh My Fish – the Fishshell framework.

##### :black_small_square: Managers

  :small_orange_diamond: Midnight Commander – is a visual file manager, licensed under GNU General Public License.
  :small_orange_diamond: ranger – is a VIM-inspired filemanager for the console.
  :small_orange_diamond: nnn – is a tiny, lightning fast, feature-packed file manager.
  :small_orange_diamond: screen – is a full-screen window manager that multiplexes a physical terminal.
  :small_orange_diamond: tmux – is a terminal multiplexer, lets you switch easily between several programs in one terminal.
  :small_orange_diamond: tmux-cssh – is a tool to set comfortable and easy to use functionality, clustering and synchronizing tmux-sessions.

##### :black_small_square: Text editors

  :small_orange_diamond: vi – is one of the most common text editors on Unix.
  :small_orange_diamond: vim – is a highly configurable text editor.
  :small_orange_diamond: emacs – is an extensible, customizable, free/libre text editor – and more.

##### :black_small_square: Files and directories

  :small_orange_diamond: fd – is a simple, fast and user-friendly alternative to find.

##### :black_small_square: Network

  :small_orange_diamond: PuTTY – is an SSH and telnet client, developed originally by Simon Tatham.
  :small_orange_diamond: nmap – is a free and open source (license) utility for network discovery and security auditing.
  :small_orange_diamond: masscan – is the fastest Internet port scanner, spews SYN packets asynchronously.
  :small_orange_diamond: pbscan – is a faster and more efficient stateless SYN scanner and banner grabber.
  :small_orange_diamond: hping – is a command-line oriented TCP/IP packet assembler/analyzer.
  :small_orange_diamond: mtr – is a tool that combines the functionality of the ‘traceroute’ and ‘ping’ programs in a single network diagnostic tool.
  :small_orange_diamond: netcat – is a networking utility which reads and writes data across network connections, using the TCP/IP protocol.
  :small_orange_diamond: tcpdump – is a powerful command-line packet analyzer.
  :small_orange_diamond: tshark – is a tool that allows us to dump and analyze network traffic (wireshark cli).
  :small_orange_diamond: Termshark – is a simple terminal user-interface for tshark.
  :small_orange_diamond: ngrep – is like GNU grep applied to the network layer.
  :small_orange_diamond: sockdump – dump unix domain socket traffic.
  :small_orange_diamond: stenographer – is a packet capture solution which aims to quickly spool all packets to disk.
  :small_orange_diamond: bmon – is a monitoring and debugging tool to capture networking related statistics and prepare them visually.
  :small_orange_diamond: iptraf-ng – is a console-based network monitoring program for Linux that displays information about IP traffic.
  :small_orange_diamond: iPerf3 – is a tool for active measurements of the maximum achievable bandwidth on IP networks.
  :small_orange_diamond: ethr – is a Network Performance Measurement Tool for TCP, UDP & HTTP.
  :small_orange_diamond: Etherate – is a Linux CLI based Ethernet and MPLS traffic testing tool.
  :small_orange_diamond: Nemesis – packet manipulation CLI tool; craft and inject packets of several protocols.
  :small_orange_diamond: packetfu – a mid-level packet manipulation library for Ruby.
  :small_orange_diamond: Scapy – packet manipulation library; forge, send, decode, capture packets of a wide number of protocols.
  :small_orange_diamond: impacket – is a collection of Python classes for working with network protocols.
  :small_orange_diamond: ssh-audit – is a tool for SSH server auditing.
  :small_orange_diamond: aria2 – is a lightweight multi-protocol & multi-source command-line download utility.

##### :black_small_square: Network (DNS)

  :small_orange_diamond: fierce – is a DNS reconnaissance tool for locating non-contiguous IP space.
  :small_orange_diamond: subfinder – is a subdomain discovery tool that discovers valid subdomains for websites.
  :small_orange_diamond: sublist3r – is a fast subdomains enumeration tool for penetration testers.
  :small_orange_diamond: amass – is tool that obtains subdomain names by scraping data sources, crawling web archives and more.
  :small_orange_diamond: namebench – provides personalized DNS server recommendations based on your browsing history.
  :small_orange_diamond: knock – is a tool to enumerate subdomains on a target domain through a wordlist.
  :small_orange_diamond: dnscrypt-proxy 2 – a flexible DNS proxy, with support for encrypted DNS protocols.

##### :black_small_square: Network (HTTP)

  :small_orange_diamond: Curl – is a command line tool and library for transferring data with URLs.
  :small_orange_diamond: kurly – is an alternative to the widely popular curl program, written in Golang.
  :small_orange_diamond: HTTPie – is an user-friendly HTTP client.
  :small_orange_diamond: wuzz – is an interactive cli tool for HTTP inspection.
  :small_orange_diamond: htrace.sh – is a simple Swiss Army knife for http/https troubleshooting and profiling.
  :small_orange_diamond: httpstat – is a tool that visualizes curl statistics in a way of beauty and clarity.
  :small_orange_diamond: httplab – is an interactive web server.
  :small_orange_diamond: Lynx – is a text browser for the World Wide Web.
  :small_orange_diamond: HeadlessBrowsers – a list of (almost) all headless web browsers in existence.
  :small_orange_diamond: ab – is a single-threaded command line tool for measuring the performance of HTTP web servers.
  :small_orange_diamond: siege – is an http load testing and benchmarking utility.
  :small_orange_diamond: wrk – is a modern HTTP benchmarking tool capable of generating significant load.
  :small_orange_diamond: wrk2 – is a constant throughput, correct latency recording variant of wrk.
  :small_orange_diamond: bombardier – is a fast cross-platform HTTP benchmarking tool written in Go.
  :small_orange_diamond: gobench – http/https load testing and benchmarking tool.
  :small_orange_diamond: hey – HTTP load generator, ApacheBench (ab) replacement, formerly known as rakyll/boom.
  :small_orange_diamond: boom – is a script you can use to quickly smoke-test your web app deployment.
  :small_orange_diamond: SlowHTTPTest – is a tool that simulates some Application Layer Denial of Service attacks by prolonging HTTP.
  :small_orange_diamond: gobuster – is a free and open source directory/file & DNS busting tool written in Go.

##### :black_small_square: SSL

  :small_orange_diamond: openssl – is a robust, commercial-grade, and full-featured toolkit for the TLS and SSL protocols.
  :small_orange_diamond: gnutls-cli – client program to set up a TLS connection to some other computer.
  :small_orange_diamond: sslyze
– fast and powerful SSL/TLS server scanning library.
  :small_orange_diamond: sslscan – tests SSL/TLS enabled services to discover supported cipher suites.
  :small_orange_diamond: testssl.sh – testing TLS/SSL encryption anywhere on any port.
  :small_orange_diamond: cipherscan – a very simple way to find out which SSL ciphersuites are supported by a target.
  :small_orange_diamond: spiped – is a utility for creating symmetrically encrypted and authenticated pipes between socket addresses.
  :small_orange_diamond: Certbot – is EFF’s tool to obtain certs from Let’s Encrypt and (optionally) auto-enable HTTPS on your server.
  :small_orange_diamond: mkcert – simple zero-config tool to make locally trusted development certificates with any names you’d like.
  :small_orange_diamond: Sublert – is a security and reconnaissance tool to automatically monitor new subdomains.
  :small_orange_diamond: mkchain – open source tool to help you build a valid SSL certificate chain.

##### :black_small_square: Security

  :small_orange_diamond: SELinux – provides a flexible Mandatory Access Control (MAC) system built into the Linux kernel.
  :small_orange_diamond: AppArmor – proactively protects the operating system and applications from external or internal threats.

##### :black_small_square: Auditing Tools

  :small_orange_diamond: ossec – actively monitoring all aspects of system activity with file integrity monitoring.
  :small_orange_diamond: auditd – provides a way to track security-relevant information on your system.
  :small_orange_diamond: Tiger – is a security tool that can be use both as a security audit and intrusion detection system.
  :small_orange_diamond: Lynis – battle-tested security tool for systems running Linux, macOS, or Unix-based operating system.
  :small_orange_diamond: LinEnum – scripted Local Linux Enumeration & Privilege Escalation Checks.
  :small_orange_diamond: Rkhunter – scanner tool for Linux systems that scans backdoors, rootkits and local exploits on your systems.
  :small_orange_diamond: PE-sieve – is a light-weight tool that helps to detect malware running on the system.

##### :black_small_square: System Diagnostics/Debuggers

  :small_orange_diamond: strace – diagnostic, debugging and instructional userspace utility for Linux.
  :small_orange_diamond: DTrace – is a performance analysis and troubleshooting tool.
  :small_orange_diamond: ltrace – is a library call tracer, used to trace calls made by programs to library functions.
  :small_orange_diamond: perf-tools – performance analysis tools based on Linux perf_events (aka perf) and ftrace.
  :small_orange_diamond: bpftrace – high-level tracing language for Linux eBPF.
  :small_orange_diamond: sysdig – system exploration and troubleshooting tool with first class support for containers.
  :small_orange_diamond: Valgrind – is an instrumentation framework for building dynamic analysis tools.
  :small_orange_diamond: gperftools – high-performance multi-threaded malloc() implementation, plus some performance analysis tools.
  :small_orange_diamond: glances – cross-platform system monitoring tool written in Python.
  :small_orange_diamond: htop – interactive text-mode process viewer for Unix systems. It aims to be a better ‘top’.
  :small_orange_diamond: atop – ASCII performance monitor. Includes statistics for CPU, memory, disk, swap, network, and processes.
  :small_orange_diamond: lsof – displays in its output information about files that are opened by processes.
  :small_orange_diamond: FlameGraph – stack trace visualizer.
  :small_orange_diamond: lsofgraph – small utility to convert Unix lsof output to a graph showing FIFO and UNIX interprocess communication.
  :small_orange_diamond: rr – is a lightweight tool for recording, replaying and debugging execution of applications.
  :small_orange_diamond: Performance Co-Pilot – a system performance analysis toolkit.

  :small_orange_diamond: hexyl – a command-line hex viewer.

##### :black_small_square: Log Analyzers

  :small_orange_diamond: angle-grinder – slice and dice log files on the command line.
  :small_orange_diamond: lnav – log file navigator with search and automatic refresh.
  :small_orange_diamond: GoAccess – real-time web log analyzer and interactive viewer that runs in a terminal.
  :small_orange_diamond: ngxtop – real-time metrics for nginx server.

##### :black_small_square: Databases

  :small_orange_diamond: usql – universal command-line interface for SQL databases.
  :small_orange_diamond: pgcli – postgres CLI with autocompletion and syntax highlighting.
  :small_orange_diamond: mycli – terminal client for MySQL with autocompletion and syntax highlighting.

##### :black_small_square: TOR

  :small_orange_diamond: Nipe – script to make Tor Network your default gateway.
  :small_orange_diamond: multitor – a tool that lets you create multiple TOR instances with a load-balancing.

##### :black_small_square: Other

  :small_orange_diamond: incron – is an inode-based filesystem notification technology.
  :small_orange_diamond: GRV – is a terminal based interface for viewing Git repositories.
  :small_orange_diamond: Tig – text-mode interface for Git.
  :small_orange_diamond: tldr – simplified and community-driven man pages.
  :small_orange_diamond: archiver – easily create and extract .zip, .tar, .tar.gz, .tar.bz2, .tar.xz, .tar.lz4, .tar.sz, and .rar.
  :small_orange_diamond: commander.js – minimal CLI creator in JavaScript.
  :small_orange_diamond: gron – make JSON greppable!

#### GUI Tools  [[TOC]](#anger-table-of-contents)

##### :black_small_square: Terminal emulators

  :small_orange_diamond: Guake – is a dropdown terminal made for the GNOME desktop environment.
  :small_orange_diamond: Terminator – is based on GNOME Terminal, useful features for sysadmins and other users.
  :small_orange_diamond: Kitty – is a GPU based terminal emulator that supports smooth scrolling and images.

##### :black_small_square: Network

  :small_orange_diamond: Wireshark – is the world’s foremost and widely-used network protocol analyzer.
  :small_orange_diamond: Ettercap – is a comprehensive network monitor tool.
  :small_orange_diamond: EtherApe – is a graphical network monitoring solution.
  :small_orange_diamond: JMeter™ – open source software to load test functional behavior and measure performance.
  :small_orange_diamond: locust – scalable user load testing tool written in Python.

##### :black_small_square: Browsers

  :small_orange_diamond: TOR Browser – protect your privacy and defend yourself against network surveillance and traffic analysis.

##### :black_small_square: Password Managers

  :small_orange_diamond: KeePassXC – store your passwords safely and auto-type them into your everyday websites and apps.
  :small_orange_diamond: Enpass – password manager and secure wallet.

##### :black_small_square: Messengers/IRC Clients

  :small_orange_diamond: HexChat – is an IRC client based on XChat.
  :small_orange_diamond: Pidgin – is an easy to use and free chat client used by millions.

##### :black_small_square: Messengers (end-to-end encryption)

  :small_orange_diamond: Signal – is an encrypted communications app.
  :small_orange_diamond: Wire – secure messaging, file sharing, voice calls and video conferences. All protected with end-to-end encryption.
  :small_orange_diamond: TorChat – decentralized anonymous instant messenger on top of Tor Hidden Services.

##### :black_small_square: Text editors

  :small_orange_diamond: Sublime Text – is a lightweight, cross-platform code editor known for its speed, ease of use.
  :small_orange_diamond: Visual Studio Code – an open-source and free source code editor developed by Microsoft.
  :small_orange_diamond: Atom – a hackable text editor for the 21st Century.

#### Web Tools  [[TOC]](#anger-table-of-contents)

##### :black_small_square: Browsers

  :small_orange_diamond: SSL/TLS Capabilities of Your Browser – test your browser’s SSL implementation.
  :small_orange_diamond: Can I use – provides up-to-date browser support tables for support of front-end web technologies.
  :small_orange_diamond: Panopticlick 3.0 – is your browser safe against tracking?
  :small_orange_diamond: Privacy Analyzer – see what data is exposed from your browser.
  :small_orange_diamond: Web Browser Security – it’s all about Web Browser fingerprinting.
  :small_orange_diamond: How’s My SSL? – help a web server developer learn what real world TLS clients were capable of.
  :small_orange_diamond: sslClientInfo – client test (incl TLSv1.3 information).

##### :black_small_square: SSL/Security

  :small_orange_diamond: SSLLabs Server Test – free online service performs a deep analysis of the configuration of any SSL web server.
  :small_orange_diamond: SSLLabs Server Test (DEV) – free online service performs a deep analysis of the configuration of any SSL web server.
  :small_orange_diamond: ImmuniWeb® SSLScan – test SSL/TLS (PCI DSS, HIPAA and NIST).
  :small_orange_diamond: COMODO SSL Analyzer – ssl analyzer and ssl certificate checker.*
  :small_orange_diamond: SSL Check – scan your website for non-secure content.
  :small_orange_diamond: CryptCheck – test your TLS server configuration (e.g. ciphers).
  :small_orange_diamond: urlscan.io – service to scan and analyse websites.
  :small_orange_diamond: Report URI – monitoring security policies like CSP and HPKP.
  :small_orange_diamond: CSP Evaluator – allows developers and security experts to check if a Content Security Policy.
  :small_orange_diamond: Useless CSP – public list about CSP in some big players (might make them care a bit more).
  :small_orange_diamond: Why No HTTPS? – list of the world’s top 100 websites by Alexa rank not automatically redirecting insecure requests.
  :small_orange_diamond: cipherli.st – strong ciphers for Apache, Nginx, Lighttpd and more.
  :small_orange_diamond: dhtool – public Diffie-Hellman parameter service/tool.
  :small_orange_diamond: badssl.com – memorable site for testing clients against bad SSL configs.
  :small_orange_diamond: tlsfun.de – registered for various tests regarding the TLS/SSL protocol.
  :small_orange_diamond: CAA Record Helper – generate a CAA policy.
  :small_orange_diamond: Common CA Database – repository of information about CAs, and their root and intermediate certificates.
  :small_orange_diamond: CERTSTREAM – real-time certificate transparency log update stream.
  :small_orange_diamond: crt.sh – discovers certificates by continually monitoring all of the publicly known CT.
  :small_orange_diamond: Hardenize – deploy the security standards.
  :small_orange_diamond: Cipher suite compatibility – test TLS cipher suite compatibility.
  :small_orange_diamond: urlvoid – this service helps you detect potentially malicious websites.
  :small_orange_diamond: security.txt – a proposed standard (generator) which allows websites to define security policies.

##### :black_small_square: HTTP Headers & Web Linters

  :small_orange_diamond: Security Headers – analyse the HTTP response headers (with rating system to the results).
  :small_orange_diamond: Observatory by Mozilla – set of tools to analyze your website.
  :small_orange_diamond: webhint – is a linting tool that will help you with your site’s accessibility, speed, security and more.

##### :black_small_square: DNS

  :small_orange_diamond: ViewDNS – one source for free DNS related tools and information.
  :small_orange_diamond: DNSLookup – is an advanced DNS lookup tool.
  :small_orange_diamond: DNSlytics – online DNS investigation tool.
  :small_orange_diamond: DNS Spy – monitor, validate and verify your DNS configurations.
  :small_orange_diamond: Zonemaster – helps you to control how your DNS works.
  :small_orange_diamond: Leaf DNS – comprehensive DNS tester.
  :small_orange_diamond: Find subdomains online – find subdomains for security assessment penetration test.
  :small_orange_diamond: DNSdumpster – dns recon & research, find & lookup dns records.
  :small_orange_diamond: DNS Table online – search for DNS records by domain, IP, CIDR, ISP.
  :small_orange_diamond: intoDNS – DNS and mail server health checker.
  :small_orange_diamond: DNS Bajaj – check the delegation of your domain.
  :small_orange_diamond: BuddyDNS Delegation LAB – check, trace and visualize delegation of your domain.
  :small_orange_diamond: dnssec-debugger – DS or DNSKEY records validator.
  :small_orange_diamond: PTRarchive.com – this site is responsible for the safekeeping of historical reverse DNS records.
  :small_orange_diamond: xip.io – wildcard DNS for everyone.
  :small_orange_diamond: dnslookup (ceipam) – one of the best DNS propagation checker (and not only).
  :small_orange_diamond: What’s My DNS – DNS propagation checking tool.

##### :black_small_square: Mail

  :small_orange_diamond: MX Toolbox – all of your MX record, DNS, blacklist and SMTP diagnostics in one integrated tool.
  :small_orange_diamond: blacklistalert – checks to see if your domain is on a Real Time Spam Blacklist.
  :small_orange_diamond: MultiRBL – complete IP check for sending Mailservers.
  :small_orange_diamond: DKIM SPF & Spam Assassin Validator – checks mail authentication and scores messages with Spam Assassin.

##### :black_small_square: Encoders/Decoders and Regex testing

  :small_orange_diamond: URL Encode/Decode – tool from above to either encode or decode a string of text.
  :small_orange_diamond: Uncoder – the online translator for search queries on log data.
  :small_orange_diamond: Regex101 – online regex tester and debugger: PHP, PCRE, Python, Golang and JavaScript.
  :small_orange_diamond: RegExr – online tool to learn, build, & test Regular Expressions (RegEx / RegExp).
  :small_orange_diamond: RegEx Testing – online regex testing tool.
  :small_orange_diamond: RegEx Pal – online regex testing tool + other tools.
  :small_orange_diamond: The Cyber Swiss Army Knife – a web app for encryption, encoding, compression and data analysis.

##### :black_small_square: Net-tools

  :small_orange_diamond: Netcraft – detailed report about the site, helping you to make informed choices about their integrity.*
  :small_orange_diamond: RIPE NCC – not-for-profit membership association, a Regional Internet Registry and the secretariat for the RIPE.
  :small_orange_diamond: Robtex – uses various sources to gather public information about IP numbers, domain names, host names, routes etc.
  :small_orange_diamond: Security Trails – APIs for Security Companies, Researchers and Teams.
  :small_orange_diamond: Online Curl – curl test, analyze HTTP Response Headers.
  :small_orange_diamond: Ping.eu – online Ping, Traceroute, DNS lookup, WHOIS and others.
  :small_orange_diamond: Network-Tools – network tools for webmasters, IT technicians & geeks.
  :small_orange_diamond: Riseup – provides online communication tools for people and groups working on liberatory social change.
  :small_orange_diamond: VirusTotal – analyze suspicious files and URLs to detect types of malware.

##### :black_small_square: Privacy

  :small_orange_diamond: privacytools.io – provides knowledge and tools to protect your privacy against global mass surveillance.
  :small_orange_diamond: DNS Privacy Test Servers – DNS privacy recursive servers list (with a ‘no logging’ policy).

##### :black_small_square: Code parsers/playgrounds

  :small_orange_diamond: ShellCheck – finds bugs in your shell scripts.
  :small_orange_diamond: explainshell – get interactive help texts for shell commands.
  :small_orange_diamond: jsbin – live pastebin for HTML, CSS & JavaScript and more.
  :small_orange_diamond: CodeSandbox – online code editor for web application development. Supports React, Vue, Angular, CxJS, Dojo, etc.
  :small_orange_diamond: PHP Sandbox – test your PHP code with this code tester.
  :small_orange_diamond: Repl.it – an instant IDE to learn, build, collaborate, and host all in one place.

##### :black_small_square: Performance

  :small_orange_diamond: GTmetrix – analyze your site’s speed and make it faster.
  :small_orange_diamond: Sucuri loadtimetester – test here the
performance of any of your sites from across the globe.
  :small_orange_diamond: Pingdom Tools – analyze your site’s speed around the world.
  :small_orange_diamond: PingMe.io – run website latency tests across multiple geographic regions.
  :small_orange_diamond: PageSpeed Insights – analyze your site’s speed and make it faster.
  :small_orange_diamond: web.dev – helps developers like you learn and apply the web’s modern capabilities to your own sites and apps.

##### :black_small_square: Mass scanners (search engines)

  :small_orange_diamond: Censys – platform that helps information security practitioners discover, monitor, and analyze devices.
  :small_orange_diamond: Shodan – the world’s first search engine for Internet-connected devices.
  :small_orange_diamond: Shodan 2000 – do you use Shodan for everyday work? This tool looks for randomly generated data from Shodan.
  :small_orange_diamond: GreyNoise – mass scanner such as Shodan and Censys.
  :small_orange_diamond: ZoomEye – search engine for cyberspace that lets the user find specific network components.
  :small_orange_diamond: FOFA – is a cyberspace search engine.
  :small_orange_diamond: onyphe – is a search engine for open-source and cyber threat intelligence data collected.
  :small_orange_diamond: IntelligenceX – is a search engine and data archive.
  :small_orange_diamond: binaryedge – it scan the entire internet space and create real-time threat intelligence streams and reports.
  :small_orange_diamond: wigle – is a submission-based catalog of wireless networks. All the networks. Found by Everyone.
  :small_orange_diamond: PublicWWW – find any alphanumeric snippet, signature or keyword in the web pages HTML, JS and CSS code.
  :small_orange_diamond: IntelTechniques – this repository contains hundreds of online search utilities.
  :small_orange_diamond: Hackle – search engine for hackers and security professionals.*
  :small_orange_diamond: hunter – lets you find email addresses in seconds and connect with the people that matter for your business.
  :small_orange_diamond: GhostProject? – search by full email address or username.
  :small_orange_diamond: databreaches – was my email affected by data breach?
  :small_orange_diamond: Buckets by Grayhatwarfar – database with public search for Open Amazon S3 Buckets and their contents.
  :small_orange_diamond: Vigilante.pw – the breached database directory.
  :small_orange_diamond: builtwith – find out what websites are built with.
  :small_orange_diamond: Mamont’s open FTP Index – if a target has an open FTP site with accessible content it will be listed here.
  :small_orange_diamond: OSINT Framework – focused on gathering information from free tools or resources.
  :small_orange_diamond: maltiverse – is a service oriented to cybersecurity analysts for the advanced analysis of indicators of compromise.
  :small_orange_diamond: Leaked Source – is a collaboration of data found online in the form of a lookup.
  :small_orange_diamond: We Leak Info – to help everyday individuals secure their online life, avoiding getting hacked.
  :small_orange_diamond: pipl – is the place to find the person behind the email address, social username or phone number.
  :small_orange_diamond: abuse.ch – is operated by a random swiss guy fighting malware for non-profit.
  :small_orange_diamond: malc0de – malware search engine.
  :small_orange_diamond: Cybercrime Tracker – monitors and tracks various malware families that are used to perpetrate cyber crimes.
  :small_orange_diamond: NerdyData – search source code across 65 million websites.
  :small_orange_diamond: searchcode – helping you find real world examples of functions, API’s and libraries.
  :small_orange_diamond: Insecam – the world biggest directory of online surveillance security cameras.
  :small_orange_diamond: index-of – contains great stuff like: security, hacking, reverse engineering, cryptography, programming etc.

##### :black_small_square: Generators

  :small_orange_diamond: thispersondoesnotexist – generate fake faces in one click – endless possibilities.
  :small_orange_diamond: Intigriti Redirector – open redirect/SSRF payload generator.

##### :black_small_square: Passwords

  :small_orange_diamond: Gotcha? – list of 1.4 billion accounts circulates around the Internet.*
  :small_orange_diamond: have i been pwned? – check if you have an account that has been compromised in a data breach.

##### :black_small_square: CVE/Exploits databases

  :small_orange_diamond: CVE Mitre – list of publicly known cybersecurity vulnerabilities.
  :small_orange_diamond: CVE Details – CVE security vulnerability advanced database.
  :small_orange_diamond: Exploit DB – CVE compliant archive of public exploits and corresponding vulnerable software.
  :small_orange_diamond: 0day.today – exploits market provides you the possibility to buy zero-day exploits and also to sell 0day exploits.
  :small_orange_diamond: sploitus – the exploit and tools database.
  :small_orange_diamond: cxsecurity – free vulnerability database.
  :small_orange_diamond: Vulncode-DB – is a database for vulnerabilities and their corresponding source code if available.
  :small_orange_diamond: cveapi – free API for CVE data.

##### :black_small_square: Mobile apps scanners

  :small_orange_diamond: ImmuniWeb® Mobile App Scanner – test security and privacy of mobile apps (iOS & Android).
  :small_orange_diamond: Quixxi – free Mobile App Vulnerability Scanner for Android & iOS.
  :small_orange_diamond: Ostorlab – analyzes mobile application to identify vulnerabilities and potential weaknesses.

##### :black_small_square: Private Search Engines

  :small_orange_diamond: Startpage – the world’s most private search engine.
  :small_orange_diamond: searX – a privacy-respecting, hackable metasearch engine.
  :small_orange_diamond: darksearch – the 1st real Dark Web search engine.

##### :black_small_square: Secure WebMail Providers

  :small_orange_diamond: CounterMail – is a secure and easy to use online email service, designed to provide maximum security and privacy.
  :small_orange_diamond: Mail2Tor – is a Tor Hidden Service that allows anyone to send and receive emails anonymously.
  :small_orange_diamond: Tutanota – is the world’s most secure email service and amazingly easy to use.
  :small_orange_diamond: Protonmail – is the world’s largest secure email service, developed by CERN and MIT scientists.
  :small_orange_diamond: Startmail – private & encrypted email made easy.

##### :black_small_square: Crypto

  :small_orange_diamond: Keybase – it’s open source and powered by public-key cryptography.

##### :black_small_square: PGP Keyservers

  :small_orange_diamond: SKS OpenPGP Key server – services for the SKS keyservers used by OpenPGP.

#### Systems/Services  [[TOC]](#anger-table-of-contents)

##### :black_small_square: Operating Systems

  :small_orange_diamond: Slackware – the most “Unix-like” Linux distribution.
  :small_orange_diamond: OpenBSD – multi-platform 4.4BSD-based UNIX-like operating system.
  :small_orange_diamond: HardenedBSD – HardenedBSD aims to implement innovative exploit mitigation and security solutions.
  :small_orange_diamond: Kali Linux – Linux distribution used for Penetration Testing, Ethical Hacking and network security assessments.
  :small_orange_diamond: Backbox Linux – penetration test and security assessment oriented Ubuntu-based Linux distribution.
  :small_orange_diamond: BlackArch – is an Arch Linux-based penetration testing distribution for penetration testers and security researchers.
  :small_orange_diamond: Security Onion – Linux distro for intrusion detection, enterprise security monitoring, and log management.
  :small_orange_diamond: Tails – is a live system that aims to preserve your privacy and anonymity.

##### :black_small_square: HTTP(s) Services

  :small_orange_diamond: Varnish Cache – HTTP accelerator designed for content-heavy dynamic web sites.
  :small_orange_diamond: Nginx – open source web and reverse proxy server that is similar to Apache, but very light weight.
  :small_orange_diamond: Tengine – a distribution of Nginx with some advanced features.
  :small_orange_diamond: Caddy Server – is an open source, HTTP/2-enabled web server with HTTPS by default.
  :small_orange_diamond: HAProxy – the reliable, high performance TCP/HTTP load balancer.
  :small_orange_diamond: Traefik – open source reverse proxy/load balancer provides easier integration with Docker and Let’s encrypt.

##### :black_small_square: DNS Services

  :small_orange_diamond: Unbound – validating, recursive, and caching DNS resolver (with TLS).
  :small_orange_diamond: Knot Resolver – caching full resolver implementation, including both a resolver library and a daemon.
  :small_orange_diamond: PowerDNS – is an open source authoritative DNS server, written in C++ and licensed under the GPL.

##### :black_small_square: Other Services

  :small_orange_diamond: 3proxy – tiny free proxy server.

##### :black_small_square: Security/hardening

  :small_orange_diamond: Emerald Onion – is a 501(c)(3) nonprofit organization and transit internet service provider (ISP) based in Seattle.
  :small_orange_diamond: pi-hole – the Pi-hole® is a DNS sinkhole that protects your devices from unwanted content.
  :small_orange_diamond: maltrail – malicious traffic detection system.
  :small_orange_diamond: security_monkey – monitors AWS, GCP, OpenStack, and GitHub orgs for assets and their changes over time.
  :small_orange_diamond: firecracker – secure and fast microVMs for serverless computing.

#### Networks  [[TOC]](#anger-table-of-contents)

##### :black_small_square: Tools

  :small_orange_diamond: CapAnalysis – web visual tool to analyze large amounts of captured network traffic (PCAP analyzer).
  :small_orange_diamond: netbox – IP address management (IPAM) and data center infrastructure management (DCIM) tool.

##### :black_small_square: Labs

  :small_orange_diamond: NRE Labs – learn automation by doing it. Right now, right here, in your browser.

##### :black_small_square: Other

  :small_orange_diamond: LBNL’s Network Research Group – home page of the Network Research Group (NRG); tools, talks, papers and more.

#### Manuals/Howtos/Tutorials  [[TOC]](#anger-table-of-contents)

##### :black_small_square: Shell/Command line

  :small_orange_diamond: pure-bash-bible – a collection of pure bash alternatives to external processes.
  :small_orange_diamond: The Bash Hackers Wiki – hold documentation of any kind about GNU Bash.
  :small_orange_diamond: Shell & Utilities – describes the commands and utilities offered to application programs by POSIX-conformant systems.
  :small_orange_diamond: the-art-of-command-line – master the command line, in one page.
  :small_orange_diamond: Shell Style Guide – a shell style guide for Google-originated open-source projects.

##### :black_small_square: Text Editors

  :small_orange_diamond: Vim Cheat Sheet – great multi language vim guide.

##### :black_small_square: Python

  :small_orange_diamond: Awesome Python – a curated list of awesome Python frameworks, libraries, software and resources.
  :small_orange_diamond: python-cheatsheet – comprehensive Python cheatsheet.

##### :black_small_square: Sed & Awk & Other

  :small_orange_diamond: F’Awk Yeah! – advanced sed and awk usage (Parsing for Pentesters 3).

##### :black_small_square: \*nix & Network

  :small_orange_diamond: nixCraft – linux and unix tutorials for new and seasoned sysadmin.
  :small_orange_diamond: TecMint – the ideal Linux blog for Sysadmins & Geeks.
  :small_orange_diamond: Omnisecu – free Networking, System Administration and Security tutorials.
  :small_orange_diamond: linux-cheat – Linux tutorials and cheatsheets. Minimal examples. Mostly user-land CLI utilities.
  :small_orange_diamond: Unix Toolbox – collection of Unix/Linux/BSD commands and tasks which are useful for IT work or for advanced users.
  :small_orange_diamond: Linux Guide and Hints – tutorials on system administration in Fedora and CentOS.
  :small_orange_diamond: strace-little-book – a little book which introduces strace.
  :small_orange_diamond: http2-explained – a detailed document explaining and documenting HTTP/2.
  :small_orange_diamond: http3-explained – a document describing the HTTP/3 and QUIC protocols.
  :small_orange_diamond: Nginx Admin’s Handbook – describes how to improve NGINX performance, security and other important things.
  :small_orange_diamond: openssh guideline – is to help operational teams with the configuration of OpenSSH server and client.
  :small_orange_diamond: PacketLife.net – a place to record notes while studying for Cisco’s CCNP certification.

##### :black_small_square: Large-scale systems

  :small_orange_diamond: The System Design Primer – learn how to design large-scale systems.
  :small_orange_diamond: Awesome Scalability – best practices in building High Scalability, High Availability, High Stability and more.
  :small_orange_diamond: Web Architecture 101 – the basic architecture concepts.

##### :black_small_square: System hardening

  :small_orange_diamond: CIS Benchmarks – are secure configuration settings for over 100 technologies, available as a free PDF download.
  :small_orange_diamond: STIGs – are the configuration standards for DOD IA and IA-enabled devices/systems.
  :small_orange_diamond: Security Harden CentOS 7 – this walks you through the steps required to security harden CentOS.
  :small_orange_diamond: CentOS 7 Server Hardening Guide – great guide for hardening CentOS; familiar with OpenSCAP.
  :small_orange_diamond: The Practical Linux Hardening Guide – provides a high-level overview of hardening GNU/Linux systems.

##### :black_small_square: Security & Privacy

  :small_orange_diamond: Hacking Articles – LRaj Chandel’s Security & Hacking Blog.
  :small_orange_diamond: AWS security tools – make your AWS cloud environment more secure.
  :small_orange_diamond: Rawsec’s CyberSecurity Inventory – an inventory of tools and resources about CyberSecurity.
  :small_orange_diamond: The Illustrated TLS Connection – every byte of a TLS connection explained and reproduced.
  :small_orange_diamond: SSL Research – SSL and TLS Deployment Best Practices by SSL Labs.
  :small_orange_diamond: Certificates and PKI – everything you should know about certificates and PKI but are too afraid to ask.
  :small_orange_diamond: The Art of Subdomain Enumeration – a reference for subdomain enumeration techniques.
  :small_orange_diamond: Quitting Google – the comprehensive guide to quitting Google.

##### :black_small_square: Web Apps

  :small_orange_diamond: OWASP – worldwide not-for-profit charitable organization focused on improving the security of software.
  :small_orange_diamond: OWASP ASVS 3.0.1 – OWASP Application Security Verification Standard Project.
  :small_orange_diamond: OWASP ASVS 3.0.1 Web App – simple web app that helps developers understand the ASVS requirements.
  :small_orange_diamond: OWASP ASVS 4.0 – is a list of application security requirements or tests.
  :small_orange_diamond: OWASP Testing Guide v4 – includes a “best practice” penetration testing framework.
  :small_orange_diamond: OWASP Dev Guide – this is the development version of the OWASP Developer Guide.
  :small_orange_diamond: Mozilla Web Security – help operational teams with creating secure web applications.
  :small_orange_diamond: Enable CORS – enable cross-origin resource sharing.
  :small_orange_diamond: Application Security Wiki – is an initiative to provide all application security related resources at one place.
  :small_orange_diamond: Weird Proxies – reverse proxy related attacks; it is a result of analysis of various reverse proxies, cache proxies, etc.
  :small_orange_diamond: Webshells – great series about malicious payloads.
  :small_orange_diamond: Practical Web Cache Poisoning – show you how to compromise websites by using esoteric web features.
  :small_orange_diamond: Hidden directories and files – as a source of sensitive information about web application.
  :small_orange_diamond: Explosive blog – great blog about cybersec and pentests.
  :small_orange_diamond: Security Cookies – this paper will take a close look at cookie security.
  :small_orange_diamond: APISecurityBestPractices – help you keep secrets (API keys, db credentials, certificates) out of source code.

##### :black_small_square: All-in-one

  :small_orange_diamond: LZone Cheat Sheets – all cheat sheets.
  :small_orange_diamond: Dan’s Cheat Sheets’s – massive cheat sheets documentation.
  :small_orange_diamond: Rico’s cheatsheets – this is a modest collection of cheatsheets.
  :small_orange_diamond: DevDocs API – combines multiple API documentations in a fast, organized, and searchable interface.

##### :black_small_square: Other

  :small_orange_diamond: CTF Series : Vulnerable Machines – the steps below could be followed to find vulnerabilities and exploits.
  :small_orange_diamond: 50M_CTF_Writeup – $50 million CTF from Hackerone – writeup.
  :small_orange_diamond: ctf-tasks – an archive of low-level CTF challenges developed over the years.
  :small_orange_diamond: How to start RE/malware analysis? – collection of some hints and useful links for the beginners.
  :small_orange_diamond: The C10K problem – it’s time for web servers to handle ten thousand clients simultaneously, don’t you think?
  :small_orange_diamond: poor man’s profiler – sampling tools like dtrace’s don’t really provide methods to see what programs are blocking on.
  :small_orange_diamond: Bank Grade Security – when companies say they have “Bank Grade Security” they imply that it is a good thing.*
  :small_orange_diamond: HTTPS on Stack Overflow – this is the story of a long journey regarding the implementation of SSL.
  :small_orange_diamond: Julia’s Drawings – some drawings about programming and unix world, zines about systems & debugging tools.
  :small_orange_diamond: Hash collisions – this great repository is focused on hash collisions exploitation.
  :small_orange_diamond: BGP Meets Cat – after 3072 hours of manipulating BGP, Job Snijders has succeeded in drawing a Nyancat.
  :small_orange_diamond: What happens when… – you type google.com into your browser and press enter?
  :small_orange_diamond: how-web-works – based on the ‘What happens when…’ repository.
  :small_orange_diamond: HTTPS in the real world – great tutorial explain how HTTPS works in the real world.
  :small_orange_diamond: Gitlab and NFS bug – how we spent two weeks hunting an NFS bug in the Linux kernel.
  :small_orange_diamond: How To Become A Hacker – if you want to be a hacker, keep reading.
  :small_orange_diamond: Operation Costs in CPU – an infographics which should help to estimate costs of certain operations in CPU clocks.
  :small_orange_diamond: Let’s Build a Simple Database – writing a sqlite clone from scratch in C.
  :small_orange_diamond: simple-computer – great resource to understand how computers work under the hood.
  :small_orange_diamond: The story of “Have I been pwned?” – working with 154 million records on Azure Table Storage.
  :small_orange_diamond: TOP500 Supercomputers – shows the 500 most powerful commercially available computer systems known to us.

#### Inspiring Lists  [[TOC]](#anger-table-of-contents)

##### :black_small_square: SysOps/DevOps

  :small_orange_diamond: Awesome Sysadmin – amazingly awesome open source sysadmin resources.
  :small_orange_diamond: Awesome Shell – awesome command-line frameworks, toolkits, guides and gizmos.
  :small_orange_diamond: Command-line-text-processing – from finding text to search and replace, from sorting to beautifying text and more.
  :small_orange_diamond: Awesome Pcaptools – collection of tools developed by other researchers to process network traces.
  :small_orange_diamond: awesome-ebpf – a curated list of awesome projects related to eBPF.
  :small_orange_diamond: Linux Network Performance – learn where some of the network sysctl variables fit into the Linux/Kernel network flow.
  :small_orange_diamond: Awesome Postgres – list of awesome PostgreSQL software, libraries, tools and resources.
  :small_orange_diamond: quick-SQL-cheatsheet – a quick reminder of all SQL queries and examples on how to use them.
  :small_orange_diamond: Awesome-Selfhosted – list of Free Software network services and web applications which can be hosted locally.
  :small_orange_diamond: kubernetes-the-hard-way – bootstrap Kubernetes the hard way on Google Cloud Platform. No scripts.
  :small_orange_diamond: kubernetes-the-easy-way – bootstrap Kubernetes the easy way on Google Cloud Platform. No scripts.
  :small_orange_diamond: List of applications – huge collection of applications sorted by category, as a reference for those looking for packages.

##### :black_small_square: Developers

  :small_orange_diamond: Front-End-Checklist – the perfect Front-End Checklist for modern websites and meticulous developers.
  :small_orange_diamond: Python’s Magic Methods – what are magic methods? They’re everything in object-oriented Python.
  :small_orange_diamond: wtfpython – a collection of surprising Python snippets and lesser-known features.
  :small_orange_diamond: js-dev-reads – a list of books and articles for the discerning web developer to read.
  :small_orange_diamond: Commit messages guide – a guide to understand the importance of commit messages.

##### :black_small_square: Security/Pentesting

  :small_orange_diamond: Awesome Web Security – a curated list of Web Security materials and resources.
  :small_orange_diamond: awesome-cyber-skills – a curated list of hacking environments where you can train your cyber skills.
  :small_orange_diamond: awesome-threat-intelligence – a curated list of Awesome Threat Intelligence resources.
  :small_orange_diamond: Red-Teaming-Toolkit – a collection of open source and commercial tools that aid in red team operations.
  :small_orange_diamond: awesome-burp-extensions – a curated list of amazingly awesome Burp Extensions.
  :small_orange_diamond: Free Security eBooks – list of a Free Security and Hacking eBooks.
  :small_orange_diamond: reverse-engineering – list of awesome reverse engineering resources.
  :small_orange_diamond: linux-re-101 – a collection of resources for linux reverse engineering.
  :small_orange_diamond: reverseengineering-reading-list – a list of Reverse Engineering articles, books, and papers.
  :small_orange_diamond: Awesome-WAF – a curated list of awesome web-app firewall (WAF) stuff.
  :small_orange_diamond: RobotsDisallowed – a curated list of the most common and most interesting robots.txt disallowed directories.
  :small_orange_diamond: awesome-yara – a curated list of awesome YARA rules, tools, and people.
  :small_orange_diamond: Movies for Hackers – list of movies every hacker & cyberpunk must watch.
  :small_orange_diamond: technical-whitepapers – IT whitepapers; hacking, web app security, db, reverse engineering and more; EN/PL.

##### :black_small_square: Other

  :small_orange_diamond: Cheatography – over 3,000 free cheat sheets, revision aids and quick references.
  :small_orange_diamond: awesome-static-analysis – static analysis tools for all programming languages.

#### Blogs/Podcasts/Videos  [[TOC]](#anger-table-of-contents)

##### :black_small_square: SysOps/DevOps

  :small_orange_diamond: Varnish for PHP developers – very interesting presentation of Varnish by Mattias Geniar.
  :small_orange_diamond: A Netflix Guide to Microservices – Josh Evans talks about the chaotic and vibrant world of microservices at Netflix.

##### :black_small_square: Developers

  :small_orange_diamond: Comparing C to machine language – compare a simple C program with the compiled machine code of that program.

##### :black_small_square: Geeky Persons

  :small_orange_diamond: Brendan Gregg’s Blog – is an industry expert in computing performance and cloud computing.
  :small_orange_diamond: Gynvael “GynDream” Coldwind – is a IT security engineer at Google.
  :small_orange_diamond: Michał “lcamtuf” Zalewski – white hat hacker, computer security expert.
  :small_orange_diamond: Mattias Geniar – developer, sysadmin, blogger, podcaster and public speaker.
  :small_orange_diamond: Nick Craver – software developer and systems administrator for Stack Exchange.
  :small_orange_diamond: Scott Helme – security researcher, international speaker and founder of securityheaders.com and report-uri.com.
  :small_orange_diamond: Brian Krebs – The Washington Post and now an Independent investigative journalist.
  :small_orange_diamond: Bruce Schneier – is an internationally renowned security technologist, called a “security guru”.
  :small_orange_diamond: Chrissy Morgan – advocate of practical learning, Chrissy also takes part in bug bounty programs.
  :small_orange_diamond: Andy Gill – is a hacker at heart who works as a senior penetration tester.
  :small_orange_diamond: Daniel Miessler – cybersecurity expert and writer.
  :small_orange_diamond: Javvad Malik – is a security advocate at AlienVault, a blogger event speaker and industry commentator.
  :small_orange_diamond: Graham Cluley – public speaker and independent computer security analyst.
  :small_orange_diamond: Kacper Szurek – detection engineer at ESET.
  :small_orange_diamond: Troy Hunt – web security expert known for public education and outreach on security topics.
  :small_orange_diamond: raymii.org – sysadmin specializing in building high availability cloud environments.
  :small_orange_diamond: Robert Penz – IT security expert.

##### :black_small_square: Geeky Blogs

  :small_orange_diamond: Linux Audit – the Linux security blog about auditing, hardening and compliance by Michael Boelen.
  :small_orange_diamond:
Linux Security Expert
– trainings, howtos, checklists, security tools and more.
  :small_orange_diamond: The Grymoire – collection of useful incantations for wizards, be you computer wizards, magicians, or whatever.
  :small_orange_diamond: PortSwigger Web Security Blog – about web app security vulns and top tips from our team of web security.
  :small_orange_diamond: Secjuice – is the only non-profit, independent and volunteer led publication in the information security space.
  :small_orange_diamond: Decipher – security news that informs and inspires.

##### :black_small_square: Geeky Vendor Blogs

  :small_orange_diamond: Tenable Podcast – conversations and interviews related to Cyber Exposure, and more.
  :small_orange_diamond: Sophos – threat news room, giving you news, opinion, advice and research on computer security issues.
  :small_orange_diamond: Tripwire State of Security – blog featuring the latest news, trends and insights on current information security issues.
  :small_orange_diamond: Malwarebytes Labs Blog – security blog aims to provide insider news about cybersecurity.
  :small_orange_diamond: TrustedSec – latest news, and trends about cybersecurity.
  :small_orange_diamond: AT&T Cybersecurity blog – news on emerging threats and practical advice to simplify threat detection.
  :small_orange_diamond: Thycotic – where CISOs and IT Admins come to learn about industry trends, IT security, data breaches, and more.

##### :black_small_square: Geeky Cybersecurity Podcasts

  :small_orange_diamond: Risky Business – is a weekly information security podcast featuring news and in-depth interviews.
  :small_orange_diamond: Cyber, by Motherboard – stories, and focus on the ideas about cybersecurity.
  :small_orange_diamond: Tenable Podcast – conversations and interviews related to Cyber Exposure, and more.
  :small_orange_diamond:
Cybercrime Investigations
– podcast by Geoff White about cybercrimes.
  :small_orange_diamond: The many hats club – featuring stories from a wide range of Infosec people (Whitehat, Greyhat and Blackhat).
  :small_orange_diamond: Darknet Diaries – true stories from the dark side of the Internet.
  :small_orange_diamond: OSINTCurious Webcasts – is the investigative curiousity that helps people be successful in OSINT.

##### :black_small_square: Geeky Cybersecurity Video Blogs

  :small_orange_diamond: rev3rse security – offensive, binary exploitation, web application security, vulnerability, hardening, red team, blue team.
  :small_orange_diamond: LiveOverflow – a lot more advanced topics than what is typically offered in paid online courses – but for free.
  :small_orange_diamond: J4vv4D – the important information regarding our internet security.
  :small_orange_diamond:
CyberTalks
– talks, interviews, and article about cybersecurity.

##### :black_small_square: Best Personal Twitter Accounts

  :small_orange_diamond: @blackroomsec – a white-hat hacker/pentester. Intergalactic Minesweeper Champion 1990.
  :small_orange_diamond: @MarcoCiappelli – Co-Founder @ITSPmagazine, at the intersection of IT security and society.
  :small_orange_diamond: @binitamshah – Linux Evangelist. Malwares. Kernel Dev. Security Enthusiast.
  :small_orange_diamond: @joe_carson – an InfoSec Professional and Tech Geek.
  :small_orange_diamond: @mikko – CRO at F-Secure, Reverse Engineer, TED Speaker, Supervillain.
  :small_orange_diamond: @esrtweet – often referred to as ESR, is an American software developer, and open-source software advocate.
  :small_orange_diamond: @gynvael – security researcher/programmer, @DragonSectorCTF founder/player, technical streamer.
  :small_orange_diamond: @x0rz – Security Researcher & Cyber Observer.
  :small_orange_diamond: @hasherezade – programmer, malware analyst. Author of PEbear, PEsieve, libPeConv.
  :small_orange_diamond: @TinkerSec – tinkerer, cypherpunk, hacker.
  :small_orange_diamond: @alisaesage – independent hacker and researcher.

##### :black_small_square: Best Commercial Twitter Accounts

  :small_orange_diamond: @haveibeenpwned – check if you have an account that has been compromised in a data breach.
  :small_orange_diamond: @bugcrowd – trusted by more of the Fortune 500 than any other crowdsourced security platform.
  :small_orange_diamond: @Malwarebytes – most trusted security company. Unmatched threat visibility.
  :small_orange_diamond: @sansforensics – the world’s leading Digital Forensics and Incident Response provider.
  :small_orange_diamond: @attcyber – AT&T Cybersecurity’s Edge-to-Edge technologies provide threat intelligence, and more.
  :small_orange_diamond: @TheManyHatsClub – an information security focused podcast and group of individuals from all walks of life.
  :small_orange_diamond: @hedgehogsec – Hedgehog Cyber. Gibraltar and Manchester’s top boutique information security firm.
  :small_orange_diamond: @NCSC – the National Cyber Security Centre. Helping to make the UK the safest place to live and work online.
  :small_orange_diamond: @Synacktiv – IT security experts.

##### :black_small_square: A piece of history

  :small_orange_diamond: How to Do Things at ARL – how to configure modems, scan images, record CD-ROMs, and other useful techniques.*

##### :black_small_square: Other

  :small_orange_diamond: Diffie-Hellman Key Exchange (short version) – how Diffie-Hellman Key Exchange worked.

#### Hacking/Penetration Testing  [[TOC]](#anger-table-of-contents)

##### :black_small_square: Pentesters arsenal tools

  :small_orange_diamond: Sandcat Browser – a penetration-oriented browser with plenty of advanced functionality already built in.
  :small_orange_diamond: Metasploit – tool and framework for pentesting system, web and many more, contains a lot a ready to use exploit.
  :small_orange_diamond: Burp Suite – tool for testing web application security, intercepting proxy to replay, inject, scan and fuzz HTTP requests.
  :small_orange_diamond: OWASP Zed Attack Proxy – intercepting proxy to replay, inject, scan and fuzz HTTP requests.
  :small_orange_diamond: w3af – is a Web Application Attack and Audit Framework.
  :small_orange_diamond: mitmproxy – an interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.
  :small_orange_diamond: Nikto2 – web server scanner which performs comprehensive tests against web servers for multiple items.
  :small_orange_diamond: sqlmap – tool that automates the process of detecting and exploiting SQL injection flaws.
  :small_orange_diamond: Faraday – an Integrated Multiuser Pentest Environment.
  :small_orange_diamond: Photon – incredibly fast crawler designed for OSINT.
  :small_orange_diamond: XSStrike – most advanced XSS detection suite.
  :small_orange_diamond: Sn1per – automated pentest framework for offensive security experts.
  :small_orange_diamond: aquatone – a tool for domain flyovers.
  :small_orange_diamond: WhatWaf – detect and bypass web application firewalls and protection systems.
  :small_orange_diamond: John The Ripper – is a fast password cracker, currently available for many flavors of Unix, Windows, and other.
  :small_orange_diamond: hashcat – world’s fastest and most advanced password recovery utility.
  :small_orange_diamond: p0f – is a tool to identify the players behind any incidental TCP/IP communications.
  :small_orange_diamond: Recon-ng – is a full-featured Web Reconnaissance framework written in Python.
  :small_orange_diamond: ssh_scan – a prototype SSH configuration and policy scanner.
  :small_orange_diamond: exploitdb – searchable archive from The Exploit Database.
  :small_orange_diamond: ctf-tools – some setup scripts for security research tools.
  :small_orange_diamond: pwntools – CTF framework and exploit development library.
  :small_orange_diamond: security-tools – collection of small security tools created mostly in Python. CTFs, pentests and so on.
  :small_orange_diamond: fuzzdb – dictionary of attack patterns and primitives for black-box application fault injection and resource discovery.
  :small_orange_diamond: syzkaller – is an unsupervised, coverage-guided kernel fuzzer.
  :small_orange_diamond: pwndbg – exploit development and reverse engineering with GDB made easy.
  :small_orange_diamond: GDB PEDA – Python Exploit Development Assistance for GDB.
  :small_orange_diamond: IDA – multi-processor disassembler and debugger useful for reverse engineering malware.
  :small_orange_diamond: radare2 – framework for reverse-engineering and analyzing binaries.
  :small_orange_diamond: routersploit – exploitation framework for embedded devices.
  :small_orange_diamond: Ghidra – is a software reverse engineering (SRE) framework.
  :small_orange_diamond: Vulnreport – open-source pentesting management and automation platform by Salesforce Product Security.
  :small_orange_diamond: Mentalist – is a graphical tool for custom wordlist generation.
  :small_orange_diamond: archerysec – vulnerability assessment and management helps to perform scans and manage vulnerabilities.
  :small_orange_diamond: Osmedeus – fully automated offensive security tool for reconnaissance and vulnerability scanning.
  :small_orange_diamond: beef – the browser exploitation framework project.
  :small_orange_diamond: AutoSploit – automated mass exploiter.

##### :black_small_square: Backdoors/exploits

  :small_orange_diamond: PHP-backdoors – a collection of PHP backdoors. For educational or testing purposes only.

##### :black_small_square: Pentests bookmarks collection

  :small_orange_diamond: PTES – the penetration testing execution standard.
  :small_orange_diamond: Pentests MindMap – amazing mind map with vulnerable apps and systems.
  :small_orange_diamond: WebApps Security Tests MindMap – incredible mind map for WebApps security tests.
  :small_orange_diamond: Brute XSS – master the art of Cross Site Scripting.
  :small_orange_diamond: Offensive Security Bookmarks – security bookmarks collection, all that things I need to pass OSCP.
  :small_orange_diamond: Awesome Pentest Cheat Sheets – collection of the cheat sheets useful for pentesting.
  :small_orange_diamond: Awesome Hacking by HackWithGithub – awesome lists for hackers, pentesters and security researchers.
  :small_orange_diamond: Awesome Hacking by carpedm20 – a curated list of awesome hacking tutorials, tools and resources.
  :small_orange_diamond: Awesome Hacking Resources – collection of hacking/penetration testing resources to make you better.
  :small_orange_diamond: Awesome Pentest – collection of awesome penetration testing resources, tools and other shiny things.
  :small_orange_diamond: Hacking Cheat Sheet – author hacking and pentesting notes.
  :small_orange_diamond: Web App Pentesting Cheat Sheet – the typical steps performed when conducting a web application penetration test.*
  :small_orange_diamond: Cyber Security Resources – includes thousands of cybersecurity-related references and resources.
  :small_orange_diamond: Pentest Bookmarks – there are a LOT of pentesting blogs.
  :small_orange_diamond: PayloadsAllTheThings – a list of useful payloads and bypass for Web Application Security and Pentest/CTF.
  :small_orange_diamond: payloads – git all the Payloads! A collection of web attack payloads.
  :small_orange_diamond: Pentesting Tools Cheat Sheet – a quick reference high level overview for typical penetration testing engagements.
  :small_orange_diamond: OWASP Cheat Sheet Series – collection of high value information on specific application security topics.
  :small_orange_diamond: DEF CON Media Server – great stuff from DEFCON.
  :small_orange_diamond: Awesome Malware Analysis – a curated list of awesome malware analysis tools and resources.
  :small_orange_diamond: SQL Injection Cheat Sheet – detailed technical information about the many different variants of the SQL Injection.
  :small_orange_diamond: Entersoft Knowledge Base – great and detailed reference about vulnerabilities.
  :small_orange_diamond: HTML5 Security Cheatsheet – a collection of HTML5 related XSS attack vectors.
  :small_orange_diamond: XSS String Encoder – for generating XSS code to check your input validation filters against XSS.
  :small_orange_diamond: GTFOBins – list of Unix binaries that can be exploited by an attacker to bypass local security restrictions.
  :small_orange_diamond: Guifre Ruiz Notes – collection of security, system, network and pentest cheatsheets.
  :small_orange_diamond: SSRF Tips – a collection of SSRF Tips.
  :small_orange_diamond: shell-storm repo CTF – great archive of CTFs.
  :small_orange_diamond: ctf – CTF (Capture The Flag) writeups, code snippets, notes, scripts.
  :small_orange_diamond: My-CTF-Web-Challenges – collection of CTF Web challenges.
  :small_orange_diamond: MSTG – The Mobile Security Testing Guide (MSTG) is a comprehensive manual for mobile app security testing.

##### :black_small_square: Wordlists and Weak passwords

  :small_orange_diamond: Weakpass – for any kind of bruteforce find wordlists or unleash the power of them all at once!
  :small_orange_diamond: Hashes.org – is a free online hash resolving service incorporating many unparalleled techniques.
  :small_orange_diamond: SecLists – collection of multiple types of lists used during security assessments, collected in one place.
  :small_orange_diamond: Probable-Wordlists – sorted by probability originally created for password generation and testing.
  :small_orange_diamond: skullsecurity passwords – password dictionaries and leaked passwords repository.
  :small_orange_diamond: Polish PREMIUM Dictionary – official dictionary created by the team on the forum bezpieka.org.* 1

##### :black_small_square: Bounty platforms

  :small_orange_diamond: YesWeHack – bug bounty platform with infosec jobs.
  :small_orange_diamond: Openbugbounty – allows any security researcher reporting a vulnerability on any website.
  :small_orange_diamond: hackerone – global hacker community to surface the most relevant security issues.
  :small_orange_diamond: bugcrowd – crowdsourced cybersecurity for the enterprise.
  :small_orange_diamond: Crowdshield – crowdsourced security & bug bounty management.
  :small_orange_diamond: Synack – crowdsourced security & bug bounty programs, crowd security intelligence platform and more.
  :small_orange_diamond: Hacktrophy – bug bounty platform.

##### :black_small_square: Web Training Apps (local installation)

  :small_orange_diamond: OWASP-VWAD – comprehensive and well maintained registry of all known vulnerable web applications.
  :small_orange_diamond: Metasploitable 2 – vulnerable web application amongst security researchers.
  :small_orange_diamond: DVWA – PHP/MySQL web application that is damn vulnerable.
  :small_orange_diamond: OWASP Mutillidae II – free, open source, deliberately vulnerable web-application.
  :small_orange_diamond: OWASP Juice Shop Project – the most bug-free vulnerable application in existence.
  :small_orange_diamond: OWASP WebGoat Project – insecure web application maintained by OWASP designed to teach web app security.
  :small_orange_diamond: Security Ninjas – open source application security training program.
  :small_orange_diamond: hackazon – a modern vulnerable web app.
  :small_orange_diamond: dvna – damn vulnerable NodeJS application.
  :small_orange_diamond: Google Gruyere – web application exploits and defenses.
  :small_orange_diamond: Bodhi – is a playground focused on learning the exploitation of client-side web vulnerabilities.
  :small_orange_diamond: Websploit – single vm lab with the purpose of combining several vulnerable appliations in one environment.
  :small_orange_diamond: vulhub – pre-built Vulnerable Environments based on docker-compose.
  :small_orange_diamond: CloudGoat 2 – the new & improved “Vulnerable by Design”
AWS deployment tool.

##### :black_small_square: Labs (ethical hacking platforms/trainings/CTFs)

  :small_orange_diamond: Offensive Security – true performance-based penetration testing training for over a decade.
  :small_orange_diamond: Hack The Box – online platform allowing you to test your penetration testing skills.
  :small_orange_diamond: Hacking-Lab – online ethical hacking, computer network and security challenge platform.
  :small_orange_diamond: pwnable.kr – non-commercial wargame site which provides various pwn challenges regarding system exploitation.
  :small_orange_diamond: Pwnable.tw – is a wargame site for hackers to test and expand their binary exploiting skills.
  :small_orange_diamond: picoCTF – is a free computer security game targeted at middle and high school students.
  :small_orange_diamond: CTFlearn – is an online platform built to help ethical hackers learn and practice their cybersecurity knowledge and skills.
  :small_orange_diamond: ctftime – CTF archive and a place, where you can get some another CTF-related info.
  :small_orange_diamond: Silesia Security Lab – high quality security testing services.
  :small_orange_diamond: Practical Pentest Labs – pentest lab, take your Hacking skills to the next level.
  :small_orange_diamond: Root Me – the fast, easy, and affordable way to train your hacking skills.
  :small_orange_diamond: rozwal.to – a great platform to train your pentesting skills.
  :small_orange_diamond: TryHackMe – learning Cyber Security made easy.
  :small_orange_diamond: hackxor – is a realistic web application hacking game, designed to help players of all abilities develop their skills.
  :small_orange_diamond: Hack Yourself First – it’s full of nasty app sec holes.
  :small_orange_diamond: OverTheWire – can help you to learn and practice security concepts in the form of fun-filled games.
  :small_orange_diamond: Wizard Labs – is an online Penetration Testing Lab.
  :small_orange_diamond: PentesterLab – provides vulnerable systems that can be used to test and understand vulnerabilities.
  :small_orange_diamond: RingZer0 – tons of challenges designed to test and improve your hacking skills.
  :small_orange_diamond: Ubeeri – preconfigured lab environments.
  :small_orange_diamond: Pentestit – emulate IT infrastructures of real companies for legal pen testing and improving penetration testing skills.
  :small_orange_diamond: Microcorruption – reversal challenges done in the web interface.
  :small_orange_diamond: Crackmes – download crackmes to help improve your reverse engineering skills.
  :small_orange_diamond: DomGoat – DOM XSS security learning and practicing platform.
  :small_orange_diamond: Stereotyped Challenges – upgrade your web hacking techniques today!
  :small_orange_diamond: OverTheWire – can help you to learn and practice security concepts in the form of fun-filled games.
  :small_orange_diamond: Vulnhub – allows anyone to gain practical ‘hands-on’ experience in digital security.
  :small_orange_diamond: W3Challs – is a penetration testing training platform, which offers various computer challenges.
  :small_orange_diamond: RingZer0 CTF – offers you tons of challenges designed to test and improve your hacking skills.
  :small_orange_diamond: try2hack – several security-oriented challenges for your entertainment.
  :small_orange_diamond: Hack.me – a platform where you can build, host and share vulnerable web apps for educational and research purposes.
  :small_orange_diamond: HackThis! – discover how hacks, dumps and defacements are performed and secure your website against hackers.
  :small_orange_diamond: Enigma Group WebApp Training – these challenges cover the exploits listed in the OWASP Top 10 Project.
  :small_orange_diamond: Reverse Engineering Challenges – challenges, exercises, problems and tasks – by level, by type, and more.
  :small_orange_diamond: 0x00sec – the home of the Hacker – Malware, Reverse Engineering, and Computer Science.
  :small_orange_diamond: We Chall – there are exist a lots of different challenge types.
  :small_orange_diamond: Hacker Gateway – is the go-to place for hackers who want to test their skills.
  :small_orange_diamond: Hacker101 – is a free class for web security.
  :small_orange_diamond: contained.af – a stupid game for learning about containers, capabilities, and syscalls.
  :small_orange_diamond: flAWS challenge! – a series of levels you’ll learn about common mistakes and gotchas when using AWS.

##### :black_small_square: Other resources

  :small_orange_diamond: Bugcrowd University – open source education content for the researcher community.
  :small_orange_diamond: OSCPRepo – a list of resources and scripts that I have been gathering in preparation for the OSCP.
  :small_orange_diamond: OWASP Top 10: Real-World Examples – test your web apps with real-world examples (two-part series).

#### Your daily knowledge and news  [[TOC]](#anger-table-of-contents)

##### :black_small_square: RSS Readers

  :small_orange_diamond: Feedly – organize, read and share what matters to you.
  :small_orange_diamond: Inoreader – similar to feedly with a support for filtering what you fetch from rss.

##### :black_small_square: IRC Channels

  :small_orange_diamond: #hackerspaces – hackerspace IRC channels.

##### :black_small_square: Security

  :small_orange_diamond: The Hacker News – leading news source dedicated to promoting awareness for security experts and hackers.
  :small_orange_diamond: Latest Hacking News – provides the latest hacking news, exploits and vulnerabilities for ethical hackers.
  :small_orange_diamond: Security Newsletter – security news as a weekly digest (email notifications).
  :small_orange_diamond: Google Online Security Blog – the latest news and insights from Google on security and safety on the Internet.
  :small_orange_diamond: Qualys Blog – expert network security guidance and news.
  :small_orange_diamond: DARKReading – connecting the Information Security Community.
  :small_orange_diamond: Darknet – latest hacking tools, hacker news, cybersecurity best practices, ethical hacking & pen-testing.
  :small_orange_diamond: publiclyDisclosed – public disclosure watcher who keeps you up to date about the recently disclosed bugs.
  :small_orange_diamond: Reddit – Hacking – a subreddit dedicated to hacking and hackers.
  :small_orange_diamond: Packet Storm – information security services, news, files, tools, exploits, advisories and whitepapers.
  :small_orange_diamond: Sekurak – about security, penetration tests, vulnerabilities and many others (PL/EN).
  :small_orange_diamond: nf.sec – basic aspects and mechanisms of Linux operating system security (PL).

##### :black_small_square: Other/All-in-one

  :small_orange_diamond: Changelog – is a community of hackers; news & podcasts for developers and hackers.

#### Other Cheat Sheets  [[TOC]](#anger-table-of-contents)

###### Build your own DNS Servers

  :small_orange_diamond: Unbound DNS Tutorial – a validating, recursive, and caching DNS server.
  :small_orange_diamond: Knot Resolver on Fedora – how to get faster and more secure DNS resolution with Knot Resolver on Fedora.
  :small_orange_diamond: DNS-over-HTTPS – tutorial to setup your own DNS-over-HTTPS (DoH) server.
  :small_orange_diamond: DNS-over-TLS – following to your DoH server, setup your DNS-over-TLS (DoT) server.
  :small_orange_diamond: DNS Servers – how (and why) i run my own DNS Servers.

###### Build your own Certificate Authority

  :small_orange_diamond: OpenSSL Certificate Authority – build your own certificate authority (CA) using the OpenSSL command-line tools.

###### Build your own System/Virtual Machine

  :small_orange_diamond: os-tutorial – how to create an OS from scratch.
  :small_orange_diamond: Write your Own Virtual Machine – how to write your own virtual machine (VM).
  :small_orange_diamond: x86 Bare Metal Examples – dozens of minimal operating systems to learn x86 system programming.
  :small_orange_diamond: simple-computer – the scott CPU from “But How Do It Know?” by J. Clark Scott.

###### 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 |
| :— | :— |
| **`Autorize`** | Automatically detects authorization enforcement. |
| **`Reflection`** | An efficient blocker: easy on memory and CPU footprint. |
| **`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. |
| **`Active Scan++`** | Extends Burp’s active and passive scanning capabilities. |
| **`HTML5 Auditor`** | Scans for usage of risky HTML5 features. |
| **`Software Vulnerability Scanner`** | Software vulnerability scanner based on Vulners.com audit API. |

#### One-liners  [[TOC]](#anger-table-of-contents)

##### Table of Contents

* [terminal](#tool-terminal)
* [mount](#tool-mount)
* [fuser](#tool-fuser)
* [lsof](#tool-lsof)
* [ps](#tool-ps)
* [top](#tool-top)
* [vmstat](#tool-vmstat)
* [iostat](#tool-iostat)
* [strace](#tool-strace)
* [kill](#tool-kill)
* [find](#tool-find)
* [diff](#tool-diff)
* [vimdiff](#tool-vimdiff)
* [tail](#tool-tail)
* [cpulimit](#tool-cpulimit)
* [pwdx](#tool-pwdx)
* [tr](#tool-tr)
* [chmod](#tool-chmod)
* [who](#tool-who)
* [last](#tool-last)
* [screen](#tool-screen)
* [script](#tool-script)
* [du](#tool-du)
* [inotifywait](#tool-inotifywait)
* [openssl](#tool-openssl)
* [secure-delete](#tool-secure-delete)
* [dd](#tool-dd)
* [gpg](#tool-gpg)
* [system-other](#tool-system-other)
* [curl](#tool-curl)
* [httpie](#tool-httpie)
* [ssh](#tool-ssh)
* [linux-dev](#tool-linux-dev)
* [tcpdump](#tool-tcpdump)
* [tcpick](#tool-tcpick)
* [ngrep](#tool-ngrep)
* [hping3](#tool-hping3)
* [nmap](#tool-nmap)
* [netcat](#tool-netcat)
* [socat](#tool-socat)
* [p0f](#tool-p0f)
* [gnutls-cli](#tool-gnutls-cli)
* [netstat](#tool-netstat)
* [rsync](#tool-rsync)
* [host](#tool-host)
* [dig](#tool-dig)
* [certbot](#tool-certbot)
* [network-other](#tool-network-other)
* [git](#tool-git)
* [awk](#tool-awk)
* [sed](#tool-sed)
* [grep](#tool-grep)

##### Tool: [terminal](https://en.wikipedia.org/wiki/Linux_console)

###### Reload shell without exit

“`bash
exec $SHELL -l
“`

###### Close shell keeping all subprocess running

“`bash
disown -a && exit
“`

###### Exit without saving shell history

“`bash
kill -9 $$
unset HISTFILE && exit
“`

###### Perform a branching conditional

“`bash
true && echo success
false || echo failed
“`

###### Pipe stdout and stderr to separate commands

“`bash
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

“`bash
(some_command 2>&1 1>&3 | tee errorlog ) 3>&1 1>&2 | tee stdoutlog
“`

###### List of commands you use most often

“`bash
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

“`bash
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”

“`

###### Quickly backup a file

“`bash
cp filename{,.orig}
“`

###### Empty a file (truncate to 0 size)

“`bash
>filename
“`

###### Delete all files in a folder that don’t match a certain file extension

“`bash
rm !(*.foo|*.bar|*.baz)
“`

###### Pass multi-line string to a file

“`bash
# 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 ```bash vim scp://user@host//etc/fstab ``` ###### Create a directory and change into it at the same time ```bash mkd() { mkdir -p "$@" && cd "$@"; } ``` ###### Convert uppercase files to lowercase files ```bash rename 'y/A-Z/a-z/' * ``` ###### Print a row of characters across the terminal ```bash printf "%`tput cols`s" | tr ' ' '#' ``` ###### Show shell history without line numbers ```bash history | cut -c 8- fc -l -n 1 | sed 's/^\s*//' ``` ###### Run command(s) after exit session ```bash 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 ```bash 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 ```bash unset MAIL; export MAILCHECK=1; export MAILPATH='$FILE_TO_WATCH?$MESSAGE' ``` ___ ##### Tool: [mount](https://en.wikipedia.org/wiki/Mount_(Unix)) ###### Mount a temporary ram partition ```bash mount -t tmpfs tmpfs /mnt -o size=64M ``` * `-t` - filesystem type * `-o` - mount options ###### Remount a filesystem as read/write ```bash mount -o remount,rw / ``` ___ ##### Tool: [fuser](https://en.wikipedia.org/wiki/Fuser_(Unix)) ###### Show which processes use the files/directories ```bash fuser /var/log/daemon.log fuser -v /home/supervisor ``` ###### Kills a process that is locking a file ```bash fuser -ki filename ``` * `-i` - interactive option ###### Kills a process that is locking a file with specific signal ```bash fuser -k -HUP filename ``` * `--list-signals` - list available signal names ###### Show what PID is listening on specific port ```bash fuser -v 53/udp ``` ###### Show all processes using the named filesystems or block device ```bash fuser -mv /var/www ``` ___ ##### Tool: [lsof](https://en.wikipedia.org/wiki/Lsof) ###### Show process that use internet connection at the moment ```bash lsof -P -i -n ``` ###### Show process that use specific port number ```bash lsof -i tcp:443 ``` ###### Lists all listening ports together with the PID of the associated process ```bash lsof -Pan -i tcp -i udp ``` ###### List all open ports and their owning executables ```bash lsof -i -P | grep -i "listen" ``` ###### Show all open ports ```bash lsof -Pnl -i ``` ###### Show open ports (LISTEN) ```bash lsof -Pni4 | grep LISTEN | column -t ``` ###### List all files opened by a particular command ```bash lsof -c "process" ``` ###### View user activity per directory ```bash lsof -u username -a +D /etc ``` ###### Show 10 largest open files ```bash lsof / | \ awk '{ if($7 > 1048576) print $7/1048576 “MB” ” ” $9 ” ” $1 }’ | \
sort -n -u | tail | column -t
“`

###### Show current working directory of a process

“`bash
lsof -p | grep cwd
“`

___

##### Tool: [ps](https://en.wikipedia.org/wiki/Ps_(Unix))

###### Show a 4-way scrollable process tree with full details

“`bash
ps awwfux | less -S
“`

###### Processes per user counter

“`bash
ps hax -o user | sort | uniq -c | sort -r
“`

###### Show all processes by name with main header

“`bash
ps -lfC nginx
“`

___

##### Tool: [find](https://en.wikipedia.org/wiki/Find_(Unix))

###### Find files that have been modified on your system in the past 60 minutes

“`bash
find / -mmin 60 -type f
“`

###### Find all files larger than 20M

“`bash
find / -type f -size +20M
“`

###### Find duplicate files (based on MD5 hash)

“`bash
find -type f -exec md5sum ‘{}’ ‘;’ | sort | uniq –all-repeated=separate -w 33
“`

###### Change permission only for files

“`bash
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

“`bash
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

“`bash
find . -user -print
“`

###### Find files and directories for all without specific user

“`bash
find . \!-user -print
“`

###### Delete older files than 60 days

“`bash
find . -type f -mtime +60 -delete
“`

###### Recursively remove all empty sub-directories from a directory

“`bash
find . -depth -type d -empty -exec rmdir {} \;
“`

###### How to find all hard links to a file

“`bash
find -xdev -samefile filename
“`

###### Recursively find the latest modified files

“`bash
find . -type f -exec stat –format ‘%Y :%y %n’ “{}” \; | sort -nr | cut -d: -f2- | head
“`

###### Recursively find/replace of a string with sed

“`bash
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

“`bash
find . -depth -name ‘*test*’ -execdir bash -c ‘mv -v “$1” “${1//foo/bar}”‘ _ {} \;
“`

###### Recursively find suid executables

“`bash
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

“`bash
top -p $(pgrep -d , )
“`

* `` – process containing string (eg. nginx, worker)

___

##### Tool: [vmstat](https://en.wikipedia.org/wiki/Vmstat)

###### Show current system utilization (fields in kilobytes)

“`bash
vmstat 2 20 -t -w
“`

* `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

“`bash
vmstat 5 -w
“`

###### Display report a summary of disk operations

“`bash
vmstat -D
“`

###### Display report of event counters and memory stats

“`bash
vmstat -s
“`

###### Display report about kernel objects stored in slab layer cache

“`bash
vmstat -m
“`

##### Tool: [iostat](https://en.wikipedia.org/wiki/Iostat)

###### Show information about the CPU usage, and I/O statistics about all the partitions

“`bash
iostat 2 10 -t -m
“`

* `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

“`bash
iostat 2 10 -t -m -c
“`

###### Show information only about the disk utilization

“`bash
iostat 2 10 -t -m -d
“`

###### Show information only about the LVM utilization

“`bash
iostat -N
“`

___

##### Tool: [strace](https://en.wikipedia.org/wiki/Strace)

###### Track with child processes

“`bash
# 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

“`bash
timeout 30 strace $(< /var/run/zabbix/zabbix_agentd.pid) ``` ###### Track processes and redirect output to a file ```bash 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 ```bash 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 ```bash strace -f -e trace=bind nc -l 80 ``` ###### Track the open request of a network port (show TCP/UDP) ```bash strace -f -e trace=network nc -lu 80 ``` ___ ##### Tool: [kill](https://en.wikipedia.org/wiki/Kill_(command)) ###### Kill a process running on port ```bash kill -9 $(lsof -i : | awk ‘{l=$2} END {print l}’)
“`

___

##### Tool: [diff](https://en.wikipedia.org/wiki/Diff)

###### Compare two directory trees

“`bash
diff <(cd directory1 && find | sort) <(cd directory2 && find | sort) ``` ###### Compare output of two commands ```bash 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 ```bash vimdiff file1 file2 ``` ###### Compare two JSON files ```bash vimdiff <(jq -S . A.json) <(jq -S . B.json) ``` ###### Compare Hex dump ```bash 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

“`bash
tail -f file | while read ; do echo “$(date +%T.%N) $REPLY” ; done
“`

###### Analyse an Apache access log for the most common IP addresses

“`bash
tail -10000 access_log | awk ‘{print $1}’ | sort | uniq -c | sort -n | tail
“`

###### Analyse web server log and show only 5xx http codes

“`bash
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

“`bash
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)

“`bash
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

“`bash
dump -y -u -f /backup/system$(date +%d%m%Y%s).lzo /
“`

###### Restore system from lzo file

“`bash
cd /
restore -rf /backup/system$(date +%d%m%Y%s).lzo
“`

___

##### Tool: [cpulimit](http://cpulimit.sourceforge.net/)

###### Limit the cpu usage of a process

“`bash
cpulimit -p pid -l 50
“`

___

##### Tool: [pwdx](https://www.cyberciti.biz/faq/unix-linux-pwdx-command-examples-usage-syntax/)

###### Show current working directory of a process

“`bash
pwdx “`

___

##### Tool: [taskset](https://www.cyberciti.biz/faq/taskset-cpu-affinity-command/)

###### Start a command on only one CPU core

“`bash
taskset -c 0
“`

___

##### Tool: [tr](https://en.wikipedia.org/wiki/Tr_(Unix))

###### Show directories in the PATH, one per line

“`bash
tr : ‘\n’ <<<$PATH ``` ___ ##### Tool: [chmod](https://en.wikipedia.org/wiki/Chmod) ###### Remove executable bit from all files in the current directory ```bash chmod -R -x+X * ``` ###### Restore permission for /bin/chmod ```bash # 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 ```bash who -b ``` ###### Detect a user sudo-su'd into the current shell ```bash [[ $(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? ```bash (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 ```bash screen -d -m
“`

###### Attach to an existing screen session

“`bash
screen -r -d “`

___

##### Tool: [script](https://en.wikipedia.org/wiki/Script_(Unix))

###### Record and replay terminal session

“`bash
### 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’

“`bash
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

“`bash
while true ; do inotifywait -r -e MODIFY dir/ && ls dir/ ; done;
“`

___

##### Tool: [openssl](https://www.openssl.org/)

###### Testing connection to the remote host

“`bash
echo | openssl s_client -connect google.com:443 -showcerts
“`

###### Testing connection to the remote host (with SNI support)

“`bash
echo | openssl s_client -showcerts -servername google.com -connect google.com:443
“`

###### Testing connection to the remote host with specific ssl version

“`bash
openssl s_client -tls1_2 -connect google.com:443
“`

###### Testing connection to the remote host with specific ssl cipher

“`bash
openssl s_client -cipher ‘AES128-SHA’ -connect google.com:443
“`

###### Generate private key without passphrase

“`bash
# _len: 2048, 4096
( _fd=”private.key” ; _len=”4096″ ; \
openssl genrsa -out ${_fd} ${_len} )
“`

###### Generate private key with passphrase

“`bash
# _ciph: des3, aes128, aes256
# _len: 2048, 4096
( _ciph=”aes128″ ; _fd=”private.key” ; _len=”4096″ ; \
openssl genrsa -${_ciph} -out ${_fd} ${_len} )
“`

###### Remove passphrase from private key

“`bash
( _fd=”private.key” ; _fd_unp=”private_unp.key” ; \
openssl rsa -in ${_fd} -out ${_fd_unp} )
“`

###### Encrypt existing private key with a passphrase

“`bash
# _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

“`bash
( _fd=”private.key” ; \
openssl rsa -check -in ${_fd} )
“`

###### Get public key from private key

“`bash
( _fd=”private.key” ; _fd_pub=”public.key” ; \
openssl rsa -pubout -in ${_fd} -out ${_fd_pub} )
“`

###### Generate private key and CSR

“`bash
( _fd=”private.key” ; _fd_csr=”request.csr” ; _len=”4096″ ; \
openssl req -out ${_fd_csr} -new -newkey rsa:${_len} -nodes -keyout ${_fd} )
“`

###### Generate CSR

“`bash
( _fd=”private.key” ; _fd_csr=”request.csr” ; \
openssl req -out ${_fd_csr} -new -key ${_fd} )
“`

###### Generate CSR (metadata from existing certificate)

“`bash
( _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

“`bash
( _fd=”private.key” ; _fd_csr=”request.csr” ; \
openssl req -new -sha256 -key ${_fd} -out ${_fd_csr} \
-config <( cat <<-EOF [req] default_bits = 2048 prompt = no default_md = sha256 req_extensions = req_ext distinguished_name = dn [ dn ] C=
ST=
L=
O=
OU=

CN=

[ req_ext ] subjectAltName = @alt_names

[ alt_names ] DNS.1 =
DNS.2 =
DNS.3 =
EOF
))
“`

###### List available EC curves

“`bash
openssl ecparam -list_curves
“`

###### Generate ECDSA private key

“`bash
# _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} )
“`

###### Print ECDSA private and public keys

“`bash
( _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 private key with CSR (ECC)

“`bash
# _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

“`bash
# _len: 2048, 4096
( _fd=”domain.key” ; _fd_out=”domain.crt” ; _len=”4096″ ; _days=”365″ ; \
openssl req -newkey rsa:${_len} -nodes \
-keyout ${_fd} -x509 -days ${_days} -out ${_fd_out} )
“`

###### Generate self-signed certificate from existing private key

“`bash
# _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

“`bash
# _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 Param key

“`bash
openssl dhparam -out /etc/nginx/ssl/dhparam_4096.pem 4096
“`

###### Extract private key from pfx

“`bash
( _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

“`bash
( _fd_pfx=”cert.pfx” ; _fd_pem=”key_certs.pem” ; \
openssl pkcs12 -in ${_fd_pfx} -nodes -out ${_fd_pem} )
“`

###### Convert DER to PEM

“`bash
( _fd_der=”cert.crt” ; _fd_pem=”cert.pem” ; \
openssl x509 -in ${_fd_der} -inform der -outform pem -out ${_fd_pem} )
“`

###### Convert PEM to DER

“`bash
( _fd_der=”cert.crt” ; _fd_pem=”cert.pem” ; \
openssl x509 -in ${_fd_pem} -outform der -out ${_fd_der} )
“`

###### Verification of the private key

“`bash
( _fd=”private.key” ; \
openssl rsa -noout -text -in ${_fd} )
“`

###### Verification of the public key

“`bash
# 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

“`bash
( _fd=”certificate.crt” ; # format: pem, cer, crt \
openssl x509 -noout -text -in ${_fd} )
“`

###### Verification of the CSR

“`bash
( _fd_csr=”request.csr” ; \
openssl req -text -noout -in ${_fd_csr} )
“`

###### Check whether the private key and the certificate match

“`bash
(openssl rsa -noout -modulus -in private.key | openssl md5 ; \
openssl x509 -noout -modulus -in certificate.crt | openssl md5) | uniq
“`

___

##### Tool: [secure-delete](https://wiki.archlinux.org/index.php/Securely_wipe_disk)

###### Secure delete with shred

“`bash
shred -vfuz -n 10 file
shred –verbose –random-source=/dev/urandom -n 1 /dev/sda
“`

###### Secure delete with scrub

“`bash
scrub -p dod /dev/sda
scrub -p dod -r file
“`

###### Secure delete with badblocks

“`bash
badblocks -s -w -t random -v /dev/sda
badblocks -c 10240 -s -w -t random -v /dev/sda
“`

###### Secure delete with secure-delete

“`bash
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

“`bash
dd status=progress
watch –interval 5 killall -USR1 dd
“`

###### Redirect output to a file with dd

“`bash
echo “string” | dd of=filename
“`

___

##### Tool: [gpg](https://www.gnupg.org/)

###### Export public key

“`bash
gpg –export –armor “” > username.pkey
“`

* `–export` – export all keys from all keyrings or specific key
* `-a|–armor` – create ASCII armored output

###### Encrypt file

“`bash
gpg -e -r “” dump.sql
“`

* `-e|–encrypt` – encrypt data
* `-r|–recipient` – encrypt for specific

###### Decrypt file

“`bash
gpg -o dump.sql -d dump.sql.gpg
“`

* `-o|–output` – use as output file
* `-d|–decrypt` – decrypt data (default)

###### Search recipient

“`bash
gpg –keyserver hkp://keyserver.ubuntu.com –search-keys “
“`

* `–keyserver` – set specific key server
* `–search-keys` – search for keys on a key server

###### List all of the packets in an encrypted file

“`bash
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

“`bash
exec /sbin/init 6
“`

###### Init system from single user mode

“`bash
exec /sbin/init
“`

###### Show current working directory of a process

“`bash
readlink -f /proc//cwd
“`

###### Show actual pathname of the executed command

“`bash
readlink -f /proc//exe
“`

##### Tool: [curl](https://curl.haxx.se)

“`bash
curl -Iks https://www.google.com
“`

* `-I` – show response headers only
* `-k` – insecure connection when using ssl
* `-s` – silent mode (not display body)

“`bash
curl -Iks –location -X GET -A “x-agent” https://www.google.com
“`

* `–location` – follow redirects
* `-X` – set method
* `-A` – set user-agent

“`bash
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

“`bash
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)

“`bash
curl ipinfo.io
curl ipinfo.io/ip
curl icanhazip.com
curl ifconfig.me/ip ; echo
“`

###### Repeat URL request

“`bash
# 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

“`bash
### 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/)

“`bash
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

“`bash
http -p Hh https://www.google.com –follow –verify no
“`

* `-F, –follow` – follow redirects
* `–verify no` – skip SSL verification

“`bash
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

“`bash
ssh user@host cat /path/to/remotefile | diff /path/to/localfile –
“`

###### SSH connection through host in the middle

“`bash
ssh -t reachable_host ssh unreachable_host
“`

###### Run command over SSH on remote host

“`bash
cat > cmd.txt << __EOF__ cat /etc/hosts __EOF__ ssh host -l user $(





Hello! It’s a site.



__EOF__
“`

“`bash
server> while : ; do \
(echo -ne “HTTP/1.1 200 OK\r\nContent-Length: $(wc -c /” <"$_sent" & sed "s/^/<= /" <"$_recv" & nc -l -p "$_listen_port" <"$_back" | \ tee "$_sent" | \ nc "$_bk_host" "$_bk_port" | \ tee "$_recv" >“$_back”
“`

“`bash
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

“`bash
### 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)

“`bash
gnutls-cli -p 443 google.com
“`

###### Testing connection to remote host (without SNI support)

“`bash
gnutls-cli –disable-sni -p 443 google.com
“`

___

##### Tool: [socat](http://www.dest-unreach.org/socat/doc/socat.html)

###### Testing remote connection to port

“`bash
socat – TCP4:10.240.30.3:22
“`

* `-` – standard input (STDIO)
* `TCP4:` – 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

“`bash
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:` – 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:` – 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

“`bash
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

“`bash
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 ```bash 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 ```bash 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 ```bash 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) ```bash host google.com 9.9.9.9 ``` ###### Checks the domain administrator (SOA record) ```bash host -t soa google.com 9.9.9.9 ``` ___ ##### Tool: [dig](https://en.wikipedia.org/wiki/Dig_(command)) ###### Resolves the domain name (short output) ```bash dig google.com +short ``` ###### Lookup NS record for specific domain ```bash dig @9.9.9.9 google.com NS ``` ###### Query only answer section ```bash dig google.com +nocomments +noquestion +noauthority +noadditional +nostats ``` ###### Query ALL DNS Records ```bash dig google.com ANY +noall +answer ``` ###### DNS Reverse Look-up ```bash dig -x 172.217.16.14 +short ``` ___ ##### Tool: [certbot](https://certbot.eff.org/) ###### Generate multidomain certificate ```bash certbot certonly -d example.com -d www.example.com ``` ###### Generate wildcard certificate ```bash certbot certonly --manual --preferred-challenges=dns -d example.com -d *.example.com ``` ###### Generate certificate with 4096 bit private key ```bash 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) ```bash 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

“`bash
_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

“`bash
# 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

“`bash
# 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

“`bash
# 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

“`bash
python -m base64 -e <<< "sample string" ``` ###### Decode base64 ```bash python -m base64 -d <<< "dGhpcyBpcyBlbmNvZGVkCg==" ``` ##### Tool: [awk](http://www.grymoire.com/Unix/Awk.html) ###### Remove duplicate entries in a file without sorting ```bash awk '!x[$0]++' filename ``` ###### Print the last column ```bash awk '{print $NF}' filename ``` ###### Remove empty lines ```bash awk 'NF > 0′ filename

# alternative:
awk NF filename
“`

###### Print multiple columns with separators

“`bash
awk -F’ ‘ ‘{print “ip:\t” $2 “\n port:\t” $3’ filename
“`

###### Exclude multiple columns

“`bash
awk ‘{$1=$3=””}1’ filename
“`

###### Get the last hour of Apache logs

“`bash
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)

###### To print a specific line from a file

“`bash
sed -n 10p /path/to/file
“`

###### Remove a specific line from a file

“`bash
sed -i 10d /path/to/file
# alternative (BSD): sed -i” 10d /path/to/file
“`

###### Remove a range of lines from a file

“`bash
sed -i -re ‘,d’
“`

###### Replace newline(s) with a space

“`bash
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:

“`bash
# 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 ```bash 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 ```bash grep -rn "pattern" grep -RnisI "pattern" * fgrep "pattern" * -R ``` ###### Remove blank lines from a file and save output to new file ```bash grep . filename > newfilename
“`

###### Show only for multiple patterns

“`bash
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

“`bash
grep -vE ‘(error|critical|warning)’ filename
“`

###### Show data from file without comments

“`bash
grep -v ^[[:space:]]*# filename
“`

###### Show data from file without comments and new lines

“`bash
egrep -v ‘#|^$’ filename
“`

###### Show strings with a dash/hyphen

“`bash
grep -e — filename
grep — — filename
grep “\-\-” filename
“`

#### Shell functions  [[TOC]](#anger-table-of-contents)

##### Table of Contents

– [Domain resolve](#domain-resolve)
– [Get ASN](#get-asn)

###### Domain resolve

“`bash
# 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:

“`bash
shell> DomainResolve nmap.org
nmap.org > 45.33.49.119

shell> DomainResolve nmap.org
Unsuccessful domain name resolution.
“`

###### Get ASN

“`bash
# Dependencies:
# – curl
# – python

function GetASN() {

local _ip=”$1″

local _curl_base=”curl –request GET”
local _timeout=”15″

_asn=$($_curl_base -ks -m “$_timeout” “http://ip-api.com/json/${_ip}” | \
python -c ‘import sys, json; print json.load(sys.stdin)[“as”]’ 2>/dev/null)

_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:

“`bash
shell> GetASN 1.1.1.1
1.1.1.1 > AS13335 Cloudflare, Inc.

shell> GetASN 0.0.0.0
Unsuccessful ASN gathering.
“`

Leave a Reply

Your email address will not be published. Required fields are marked *

Top