"Knowledge is powerful, be careful how you use it!"
This list is a collection of various materials that I use every day in my work. It contains a lot of useful information gathered in one piece.
It is intended for everyone and anyone - especially for System and Network Administrators, DevOps, Pentesters or Security Researchers.
If you find something which doesn't make sense, or one of these doesn't seem right, or something seems really stupid; please make a pull request or please add valid and well-reasoned opinions 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 add pull request please see this. All suggestions/PR are welcome!
If this project is useful and important for you or if you really like the-book-of-secret-knowledge, you can bring me more positive energy, give me some good words or support this project more. Thank you!
- Add useful shell functions
- Add one-liners for collection tools (eg. CLI Tools)
Only main chapters:
- CLI Tools
- GUI Tools
- Web Tools
- Systems/Services
- Networks
- Manuals/Howtos/Tutorials
- Inspiring Lists
- Blogs
- Hacking/Penetration Testing
- Your daily knowledge and news
- Other Cheat Sheets
- One-liners
CLI Tools [TOC]
:small_orange_diamond: Oh My ZSH! - the best framework for managing your Zsh configuration.
:small_orange_diamond: bash-it - framework for using, developing and maintaining shell scripts and custom commands for your daily work.
:small_orange_diamond: Oh My Fish - the Fishshell framework.
:small_orange_diamond: Midnight Commander - visual file manager, licensed under GNU General Public License.
:small_orange_diamond: screen - full-screen window manager that multiplexes a physical terminal.
:small_orange_diamond: tmux - terminal multiplexer, lets you switch easily between several programs in one terminal.
:small_orange_diamond: tmux-cssh - sets a comfortable and easy to use functionality, clustering and synchronizing virtual tmux-sessions.
: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 - an extensible, customizable, free/libre text editor - and more.
:small_orange_diamond: nmap - free and open source (license) utility for network discovery and security auditing.
:small_orange_diamond: masscan - the fastest Internet port scanner, spews SYN packets asynchronously.
:small_orange_diamond: pbscan - faster and more efficient stateless SYN scanner and banner grabber.
:small_orange_diamond: hping - command-line oriented TCP/IP packet assembler/analyzer.
:small_orange_diamond: mtr - functionality of the 'traceroute' and 'ping' programs in a single network diagnostic tool.
:small_orange_diamond: netcat - networking utility which reads and writes data across network connections, using the TCP/IP protocol.
:small_orange_diamond: tcpdump - powerful command-line packet analyzer.
:small_orange_diamond: tshark - dump and analyze network traffic (wireshark cli).
:small_orange_diamond: ngrep - is like GNU grep applied to the network layer.
:small_orange_diamond: stenographer - is a packet capture solution which aims to quickly spool all packets to disk.
:small_orange_diamond: bmon - 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: aria2 - is a lightweight multi-protocol & multi-source command-line download utility.
:small_orange_diamond: fierce - a DNS reconnaissance tool for locating non-contiguous IP space.
:small_orange_diamond: sublist3r - fast subdomains enumeration tool for penetration testers.
:small_orange_diamond: amass - tool 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: dnscrypt-proxy 2 - a flexible DNS proxy, with support for encrypted DNS protocols.
:small_orange_diamond: Curl - 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 - a user-friendly HTTP client.
:small_orange_diamond: wuzz - interactive cli tool for HTTP inspection.
:small_orange_diamond: htrace.sh - shell script to debugging http/https; ssllabs, mozilla observatory, testssl.sh and nmap nse support.
:small_orange_diamond: httpstat - visualizes curl statistics in a way of beauty and clarity.
:small_orange_diamond: Lynx - is a text browser for the World Wide Web.
: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: bombardier - fast cross-platform HTTP benchmarking tool written in Go.
:small_orange_diamond: gobench - http/https load testing and benchmarking tool.
:small_orange_diamond: gobuster - free and open source directory/file & DNS busting tool written in Go.
: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: 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: 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.
: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: 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: 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: hexyl - a command-line hex viewer.
:small_orange_diamond: angle-grinder - slice and dice log files on the command line.
: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.
: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.
: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.
: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: tldr - simplified and community-driven man pages.
:small_orange_diamond: commander.js - minimal CLI creator in JavaScript.
GUI Tools [TOC]
: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: 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: TOR Browser - protect your privacy and defend yourself against network surveillance and traffic analysis.
: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.
: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.
: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.
: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]
: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? - was originally made to help a web server developer learn what real world TLS clients were capable of.
:small_orange_diamond: sslClientInfo - client test (incl TLSv1.3 information).
:small_orange_diamond: SSL Server Test - free online service performs a deep analysis of the configuration of any SSL web server.
:small_orange_diamond: SSL 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: 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: 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: 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.
:small_orange_diamond: ViewDNS - one source for free DNS related tools and information.
:small_orange_diamond: DNSlytics - online investigation tool.
:small_orange_diamond: DNS Spy - monitor, validate and verify your DNS configurations.
: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: PTRarchive.com - this site is responsible for the safekeeping of historical reverse DNS records.
:small_orange_diamond: xip.ip - wildcard DNS for everyone.
:small_orange_diamond: intoDNS - DNS and mail server health checker.
:small_orange_diamond: Leaf DNS - comprehensive DNS tester.
: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.
: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.
: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: CyberChef - The Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysis.
: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.
: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).
: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: CodePen - a social development environment for front-end designers and developers.
: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.
: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.
: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: binaryedge - it scan the entire internet space and create real-time threat intelligence streams and reports.
:small_orange_diamond: hunter - lets you find email addresses in seconds and connect with the people that matter for your business.
: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: GhostProject? - search by full email address or username.
: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: databreaches - was my email affected by data breach?
: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: index-of - contains great stuff like: security, hacking, reverse engineering, cryptography, programming etc.
:small_orange_diamond: OSINT Framework - focused on gathering information from free tools or resources.
: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: 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.
: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: 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.
:small_orange_diamond: Startpage - the world's most private search engine.
:small_orange_diamond: searX - a privacy-respecting, hackable metasearch engine.
: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.
:small_orange_diamond: Keybase - it's open source and powered by public-key cryptography.
:small_orange_diamond: SKS OpenPGP Key server - includes a highly-efficient reconciliation algorithm for keeping the keyservers synchronized.
:small_orange_diamond: thispersondoesnotexist - generate fake faces in one click - endless possibilities.
Systems/Services [TOC]
: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.
: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: HAProxy - the reliable, high performance TCP/HTTP load balancer.
:small_orange_diamond: Emerald Onion - seattle-based encrypted-transit internet service provider.
: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: 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.
Networks [TOC]
:small_orange_diamond: CapAnalysis - web visual tool to analyze large amounts of captured network traffic (PCAP analyzer).
:small_orange_diamond: NRE Labs - learn automation by doing it. Right now, right here, in your browser.
Manuals/Howtos/Tutorials [TOC]
: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: Awesome Python - a curated list of awesome Python frameworks, libraries, software and resources.
:small_orange_diamond: F’Awk Yeah! - advanced sed and awk usage (Parsing for Pentesters 3).
: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: 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®, including OpenLDAP and FreeIPA.
: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: 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: 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: 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 Testing Guide v4 - includes a "best practice" penetration testing framework.
: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: Application Security Wiki - is an initiative to provide all application security related resources at one place.
: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: Weird Proxies - reverse proxy related attacks; it is a result of analysis of various reverse proxies, cache proxies, etc.
:small_orange_diamond: Quitting Google - the comprehensive guide to quitting Google.
: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: CTF Series : Vulnerable Machines - the steps below could be followed to find vulnerabilities and exploits.
:small_orange_diamond: How to start RE/malware analysis? - collection of some hints and useful links for the beginners.
: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: The C10K problem - it's time for web servers to handle ten thousand clients simultaneously, don't you think?
: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: 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: Hidden directories and files - as a source of sensitive information about web application.
: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.
Inspiring Lists [TOC]
: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: 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: Awesome-Selfhosted - list of Free Software network services and web applications which can be hosted locally.
:small_orange_diamond: List of applications - huge collection of applications sorted by category, as a reference for those looking for packages.
:small_orange_diamond: Front-End-Checklist - the perfect Front-End Checklist for modern websites and meticulous developers.
: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: 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: 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.
Blogs [TOC]
:small_orange_diamond: Brendan Gregg's Blog - Brendan Gregg is an industry expert in computing performance and cloud computing.
:small_orange_diamond: Gynvael "GynDream" Coldwind - Gynvael 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: Robert Penz - IT security Expert.
:small_orange_diamond: Scott Helme - Security Researcher, international speaker and founder of securityheaders.com and report-uri.com.
:small_orange_diamond: Binni Shah - Linux Evangelist. Malwares. Kernel Dev. Security Enthusiast.
:small_orange_diamond: Kacper Szurek - Detection Engineer at ESET.
:small_orange_diamond: Troy Hunt - Microsoft Regional Director and Microsoft Most Valuable Professional for Developer Security.
:small_orange_diamond: raymii.org - Linux/Unix Sysadmin specializing in building high availability cloud environments.
: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: How to Do Things at ARL - how to configure modems, scan images, record CD-ROMs, and other useful techniques.
Hacking/Penetration Testing [TOC]
: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: ctf-tools - some setup scripts for security research tools.
: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: 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: 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: 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: 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: 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: MSTG - The Mobile Security Testing Guide (MSTG) is a comprehensive manual for mobile app security testing.
: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.
:small_orange_diamond: Bounty Factory - European bug bounty platform based on the legislation and rules in force in European countries.
: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: 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: 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: 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: 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: 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]
:small_orange_diamond: Feedly - organize, read and share what matters to you.
:small_orange_diamond: #hackerspaces - hackerspace IRC channels.
: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).
Other Cheat Sheets [TOC]
: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 Servers - how (and why) i run my own DNS Servers.
:small_orange_diamond: OpenSSL Certificate Authority - build your own certificate authority (CA) using the OpenSSL command-line tools.
: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).
IP | URL |
---|---|
84.200.69.80 |
dns.watch |
94.247.43.254 |
opennic.org |
64.6.64.6 |
verisign.com |
89.233.43.71 |
censurfridns.dk |
1.1.1.1 |
cloudflare.com |
94.130.110.185 |
dnsprivacy.at |
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. |
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]
Tool: terminal
exec $SHELL -l
disown -a && exit
kill -9 $$
unset HISTFILE && exit
true && echo success
false || echo failed
some_command > >(/bin/cmd_for_stdout) 2> >(/bin/cmd_for_stderr)
(some_command 2>&1 1>&3 | tee errorlog ) 3>&1 1>&2 | tee stdoutlog
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
cp filename{,.orig}
>filename
rm !(*.foo|*.bar|*.baz)
# cat >filename ... - overwrite file
# cat >>filename ... - append to file
cat > filename << __EOF__
data data data
__EOF__
vim scp://user@host//etc/fstab
mkd() { mkdir -p "$@" && cd "$@"; }
rename 'y/A-Z/a-z/' *
printf "%`tput cols`s" | tr ' ' '#'
history | cut -c 8-
fc -l -n 1 | sed 's/^\s*//'
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__
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
Tool: mount
mount -t tmpfs tmpfs /mnt -o size=64M
-t
- filesystem type-o
- mount options
mount -o remount,rw /
Tool: fuser
fuser -k filename
fuser -v 53/udp
Tool: ps
ps awwfux | less -S
ps hax -o user | sort | uniq -c | sort -r
Tool: find
find / -mmin 60 -type f
find / -type f -size +20M
find -type f -exec md5sum '{}' ';' | sort | uniq --all-repeated=separate -w 33
cd /var/www/site && find . -type f -exec chmod 766 {} \;
cd /var/www/site && find . -type f -exec chmod 664 {} +
cd /var/www/site && find . -type d -exec chmod g+x {} \;
cd /var/www/site && find . -type d -exec chmod g+rwx {} +
find . -user <username> -print
find . \!-user <username> -print
find . -type f -mtime +60 -delete
find . -depth -type d -empty -exec rmdir {} \;
find </path/to/dir> -xdev -samefile filename
find . -type f -exec stat --format '%Y :%y %n' "{}" \; | sort -nr | cut -d: -f2- | head
find . -not -path '*/\.git*' -type f -print0 | xargs -0 sed -i 's/foo/bar/g'
Tool: top
top -p $(pgrep -d , <str>)
<str>
- process containing str (eg. nginx, worker)
Tool: strace
strace -f -p $(pidof glusterfsd)
timeout 30 strace $(< /var/run/zabbix/zabbix_agentd.pid)
ps auxw | grep 'sbin/[a]pache' | awk '{print " -p " $2}' | xargs strace -o /tmp/strace-apache-proc.out
strace -f -e trace=bind nc -l 80
strace -f -e trace=network nc -lu 80
Tool: kill
kill -9 $(lsof -i :<port> | awk '{l=$2} END {print l}')
Tool: diff
diff <(cd directory1 && find | sort) <(cd directory2 && find | sort)
Tool: tail
tail -f file | while read ; do echo "$(date +%T.%N) $REPLY" ; done
tail -10000 access_log | awk '{print $1}' | sort | uniq -c | sort -n | tail
tail -n 100 -f /path/to/logfile | grep "HTTP/[1-2].[0-1]\" [5]"
Tool: tar
cd /
tar -czvpf /mnt/system$(date +%d%m%Y%s).tgz --directory=/ \
--exclude=proc/* --exclude=sys/* --exclude=dev/* --exclude=mnt/* .
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
dump -y -u -f /backup/system$(date +%d%m%Y%s).lzo /
cd /
restore -rf /backup/system$(date +%d%m%Y%s).lzo
Tool: cpulimit
cpulimit -p pid -l 50
Tool: pwdx
pwdx <pid>
Tool: taskset
taskset -c 0 <command>
Tool: tr
tr : '\n' <<<$PATH
Tool: chmod
chmod -R -x+X *
# 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
who -b
[[ $(who -m | awk '{ print $1 }') == $(whoami) ]] || echo "You are su-ed to $(whoami)"
Tool: last
(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
screen -d -m [<command>]
Tool: du
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
while true ; do inotifywait -r -e MODIFY dir/ && ls dir/ ; done;
Tool: openssl
echo | openssl s_client -connect google.com:443 -showcerts
echo | openssl s_client -showcerts -servername google.com -connect google.com:443
openssl s_client -tls1_2 -connect google.com:443
openssl s_client -cipher 'AES128-SHA' -connect google.com:443
# _len: 2048, 4096
( _fd="private.key" ; _len="4096" ; \
openssl genrsa -out ${_fd} ${_len} )
# _ciph: des3, aes128, aes256
# _len: 2048, 4096
( _ciph="aes128" ; _fd="private.key" ; _len="4096" ; \
openssl genrsa -${_ciph} -out ${_fd} ${_len} )
( _fd="private.key" ; _fd_unp="private_unp.key" ; \
openssl rsa -in ${_fd} -out ${_fd_unp} )
# _ciph: des3, aes128, aes256
( _ciph="aes128" ; _fd="private.key" ; _fd_pass="private_pass.key" ; \
openssl rsa -${_ciph} -in ${_fd} -out ${_fd_pass}
( _fd="private.key" ; \
openssl rsa -check -in ${_fd} )
( _fd="private.key" ; _fd_pub="public.key" ; \
openssl rsa -pubout -in ${_fd} -out ${_fd_pub} )
( _fd="private.key" ; _fd_csr="request.csr" ; _len="4096" ; \
openssl req -out ${_fd_csr} -new -newkey rsa:${_len} -nodes -keyout ${_fd} )
( _fd="private.key" ; _fd_csr="request.csr" ; \
openssl req -out ${_fd_csr} -new -key ${_fd} )
( _fd="private.key" ; _fd_csr="request.csr" ; _fd_crt="cert.crt" ; \
openssl x509 -x509toreq -in ${_fd_crt} -out ${_fd_csr} -signkey ${_fd} )
( _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=<two-letter ISO abbreviation for your country>
ST=<state or province where your organization is legally located>
L=<city where your organization is legally located>
O=<legal name of your organization>
OU=<section of the organization>
CN=<fully qualified domain name>
[ req_ext ]
subjectAltName = @alt_names
[ alt_names ]
DNS.1 = <fully qualified domain name>
DNS.2 = <next domain>
DNS.3 = <next domain>
EOF
))
openssl ecparam -list_curves
# _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} )
( _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} )
# _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 )
( _fd_der="cert.crt" ; _fd_pem="cert.pem" ; \
openssl x509 -in ${_fd_der} -inform der -outform pem -out ${_fd_pem} )
( _fd_der="cert.crt" ; _fd_pem="cert.pem" ; \
openssl x509 -in ${_fd_pem} -outform der -out ${_fd_der} )
(openssl rsa -noout -modulus -in private.key | openssl md5 ; openssl x509 -noout -modulus -in certificate.crt | openssl md5) | uniq
Tool: secure-delete
shred -vfuz -n 10 file
shred --verbose --random-source=/dev/urandom -n 1 /dev/sda
scrub -p dod /dev/sda
scrub -p dod -r file
badblocks -s -w -t random -v /dev/sda
badblocks -c 10240 -s -w -t random -v /dev/sda
srm -vz /tmp/file
sfill -vz /local
sdmem -v
swapoff /dev/sda5 && sswap -vz /dev/sda5
Tool: dd
dd <dd_params> status=progress
watch --interval 5 killall -USR1 dd
echo "string" | dd of=filename
Tool: curl
curl -Iks https://www.google.com
-I
- show response headers only-k
- insecure connection when using ssl-s
- silent mode (not display body)
curl -Iks --location -X GET -A "x-agent" https://www.google.com
--location
- follow redirects-X
- set method-A
- set user-agent
curl -Iks --location -X GET -A "x-agent" --proxy http://127.0.0.1:16379 https://www.google.com
--proxy [socks5://|http://]
- set proxy server
### 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
http -p Hh https://www.google.com
-p
- print request and response headersH
- request headersB
- request bodyh
- response headersb
- response body
http -p Hh --follow --max-redirects 5 --verify no https://www.google.com
-F, --follow
- follow redirects--max-redirects N
- maximum for--follow
--verify no
- skip SSL verification
http -p Hh --follow --max-redirects 5 --verify no --proxy http:http://127.0.0.1:16379 https://www.google.com
--proxy [http:]
- set proxy server
Tool: ssh
# 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
ssh user@host cat /path/to/remotefile | diff /path/to/localfile -
ssh -t reachable_host ssh unreachable_host
cat > cmd.txt << __EOF__
cat /etc/hosts
__EOF__
ssh host -l user $(<cmd.txt)
ssh-keygen -y -f ~/.ssh/id_rsa
ssh-keygen -l -f .ssh/known_hosts
ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no user@remote_host
ssh -o PreferredAuthentications=publickey -o PubkeyAuthentication=yes -i id_rsa user@remote_host
function _ssh_sesslog() {
_sesdir="<path/to/session/logs>"
mkdir -p "${_sesdir}" && \
ssh $@ 2>&1 | tee -a "${_sesdir}/$(date +%Y%m%d).log"
}
# Alias:
alias ssh='_ssh_sesslog'
### Delete all of ssh-agent's keys.
function _scl() {
/usr/bin/keychain --clear
}
### Add key to keychain.
function _scg() {
/usr/bin/keychain /path/to/private-key
source "$HOME/.keychain/$HOSTNAME-sh"
}
ssh -tt user@host bash
Example 1:
# Forwarding our local 2250 port to nmap.org:443 from localhost through localhost
host1> ssh -L 2250:nmap.org:443 localhost
# Connect to the service:
host1> curl -Iks --location -X GET https://localhost:2250
Example 2:
# Forwarding our local 9051 port to db.d.x:5432 from localhost through node.d.y
host1> ssh -nNT -L 9051:db.d.x:5432 node.d.y
# Connect to the service:
host1> psql -U db_user -d db_dev -p 9051 -h localhost
-n
- redirects stdin from/dev/null
-N
- do not execute a remote command-T
- disable pseudo-terminal allocation
# Forwarding our local 9051 port to db.d.x:5432 from host2 through node.d.y
host1> ssh -nNT -R 9051:db.d.x:5432 node.d.y
# Connect to the service:
host2> psql -U postgres -d postgres -p 8000 -h localhost
Tool: linux-dev
timeout 1 bash -c "</dev/<proto>/<host>/<port>" >/dev/null 2>&1 ; echo $?
<proto
- set protocol (tcp/udp)<host>
- set remote host<port>
- set destination port
exec 5<>/dev/tcp/<host>/<port>; cat <&5 & cat >&5; exec 5>&-
Tool: tcpdump
tcpdump -ne -i eth0 -Q in host 192.168.252.1 and port 443
-n
- don't convert addresses (-nn
will not resolve hostnames or ports)-e
- print the link-level headers-i [iface|any]
- set interface-Q|-D [in|out|inout]
- choose send/receive direction (-D
- for old tcpdump versions)host [ip|hostname]
- set host, also[host not]
[and|or]
- set logicport [1-65535]
- set port number, also[port not]
tcpdump -ne -i eth0 -Q in host 192.168.252.1 and port 443 -c 5 -w tcpdump.pcap
-c [num]
- capture only num number of packets-w [filename]
- write packets to file,-r [filename]
- reading from file
tcpdump -nei eth0 icmp
tcpdump -nei eth0 tcp port 22 -vv -X | egrep "TCP|UDP"
tcpdump -i eth0 -A -s0 port 443
tcpdump -i eth0 port 80 -X | sed -n -e '/username/,/=ldap/ p'
tcpdump -i eth0 port http -l -A | egrep -i 'pass=|pwd=|log=|login=|user=|username=|pw=|passw=|passwd=|password=|pass:|user:|username:|password:|login:|pass |user ' --color=auto --line-buffered -B20
tcpdump -ei eth0 -nn -A -s1500 -l | grep "User-Agent:"
tcpdump -ei eth0 -s 0 -A -vv 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420' or 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354'
or simply:
tcpdump -ei eth0 -s 0 -v -n -l | egrep -i "POST /|GET /|Host:"
tcpdump -ei eth0 -w /tmp/capture-%H.pcap -G 3600 -C 200
-G <num>
- pcap will be created every<num>
seconds-C <size>
- close the current pcap and open a new one if is larger than<size>
tcpdump -ei enp0s25 -nnn -t -c 200 | cut -f 1,2,3,4 -d '.' | sort | uniq -c | sort -nr | head -n 20
Tool: tcpick
while true ; do tcpick -a -C -r dump.pcap ; sleep 2 ; clear ; done
Tool: ngrep
ngrep -d eth0 "www.google.com" port 443
-d [iface|any]
- set interface[domain]
- set hostnameport [1-65535]
- set port number
ngrep -d eth0 "www.google.com" (host 10.240.20.2) and (port 443)
(host [ip|hostname])
- filter by ip or hostname(port [1-65535])
- filter by port number
ngrep -d eth0 -qt -O ngrep.pcap "www.google.com" port 443
-q
- quiet mode (only payloads)-t
- added timestamps-O [filename]
- save output to file,-I [filename]
- reading from file
ngrep -d eth0 -qt 'HTTP' 'tcp'
HTTP
- show http headerstcp|udp
- set protocol[src|dst] host [ip|hostname]
- set direction for specific node
ngrep -l -q -d eth0 -i "User-Agent: curl*"
-l
- stdout line buffered-i
- case-insensitive search
Tool: hping3
hping3 -V -p 80 -s 5050 <scan_type> www.google.com
-V|--verbose
- verbose mode-p|--destport
- set destination port-s|--baseport
- set source port<scan_type>
- set scan type-F|--fin
- set FIN flag, port open if no reply-S|--syn
- set SYN flag-P|--push
- set PUSH flag-A|--ack
- set ACK flag (use when ping is blocked, RST response back if the port is open)-U|--urg
- set URG flag-Y|--ymas
- set Y unused flag (0x80 - nullscan), port open if no reply-M 0 -UPF
- set TCP sequence number and scan type (URG+PUSH+FIN), port open if no reply
hping3 -V -c 1 -1 -C 8 www.google.com
-c [num]
- packet count-1
- set ICMP mode-C|--icmptype [icmp-num]
- set icmp type (default icmp-echo = 8)
hping3 -V -c 1000000 -d 120 -S -w 64 -p 80 --flood --rand-source <remote_host>
--flood
- sent packets as fast as possible (don't show replies)--rand-source
- random source address mode-d --data
- data size-w|--win
- winsize (default 64)
Tool: nmap
nmap -sP 192.168.0.0/24
nmap -F --open 192.168.0.0/24
nmap -p 1-65535 -sV -sS -T4 192.168.0.0/24
nmap -p80,443 192.168.0.0/24 -oG - | nikto.pl -h -
# Set variables:
_hosts="192.168.250.10"
_ports="80,443"
# Set Nmap NSE scripts stack:
_nmap_nse_scripts="+dns-brute,\
+http-auth-finder,\
+http-chrono,\
+http-cookie-flags,\
+http-cors,\
+http-cross-domain-policy,\
+http-csrf,\
+http-dombased-xss,\
+http-enum,\
+http-errors,\
+http-git,\
+http-grep,\
+http-internal-ip-disclosure,\
+http-jsonp-detection,\
+http-malware-host,\
+http-methods,\
+http-passwd,\
+http-phpself-xss,\
+http-php-version,\
+http-robots.txt,\
+http-sitemap-generator,\
+http-shellshock,\
+http-stored-xss,\
+http-title,\
+http-unsafe-output-escaping,\
+http-useragent-tester,\
+http-vhosts,\
+http-waf-detect,\
+http-waf-fingerprint,\
+http-xssed,\
+traceroute-geolocation.nse,\
+ssl-enum-ciphers,\
+whois-domain,\
+whois-ip"
# Set Nmap NSE script params:
_nmap_nse_scripts_args="dns-brute.domain=${_hosts},http-cross-domain-policy.domain-lookup=true,http-waf-detect.aggro,http-waf-detect.detectBodyChanges,http-waf-fingerprint.intensive=1"
# Perform scan:
nmap --script="$_nmap_nse_scripts" --script-args="$_nmap_nse_scripts_args" -p "$_ports" "$_hosts"
Tool: netcat
nc -kl 5000
-l
- listen for an incoming connection-k
- listening after client has disconnected>filename.out
- save receive data to file (optional)
nc 192.168.0.1 5051 < filename.in
< filename.in
- send data to remote host
nc -vz 10.240.30.3 5000
-v
- verbose output-z
- scan for listening daemons
nc -vzu 10.240.30.3 1-65535
-u
- scan only udp ports
server> nc -l 5000 | tar xzvfp -
client> tar czvfp - /path/to/dir | nc 10.240.30.3 5000
server> nc -l 5000 -e /bin/bash
client> nc 10.240.30.3 5000
while true ; do nc -l 5000 | tar -xvf - ; done
while true ; do nc -l -p 1500 -c 'echo -e "HTTP/1.1 200 OK\n\n $(date)"' ; done
Restarts web server after each request - remove
while
condition for only single connection.
cat > index.html << __EOF__
<!doctype html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title></title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<p>
Hello! It's a site.
</p>
</body>
</html>
__EOF__
server> while : ; do \
(echo -ne "HTTP/1.1 200 OK\r\nContent-Length: $(wc -c <index.html)\r\n\r\n" ; cat index.html;) | \
nc -l -p 5000 \
; done
-p
- port number
#!/usr/bin/env bash
if [[ $# != 2 ]] ; then
printf "%s\\n" \
"usage: ./nc-proxy listen-port bk_host:bk_port"
fi
_listen_port="$1"
_bk_host=$(echo "$2" | cut -d ":" -f1)
_bk_port=$(echo "$2" | cut -d ":" -f2)
printf " lport: %s\\nbk_host: %s\\nbk_port: %s\\n\\n" \
"$_listen_port" "$_bk_host" "$_bk_port"
_tmp=$(mktemp -d)
_back="$_tmp/pipe.back"
_sent="$_tmp/pipe.sent"
_recv="$_tmp/pipe.recv"
trap 'rm -rf "$_tmp"' EXIT
mkfifo -m 0600 "$_back" "$_sent" "$_recv"
sed "s/^/=> /" <"$_sent" &
sed "s/^/<= /" <"$_recv" &
nc -l -p "$_listen_port" <"$_back" | \
tee "$_sent" | \
nc "$_bk_host" "$_bk_port" | \
tee "$_recv" >"$_back"
server> chmod +x nc-proxy && ./nc-proxy 8080 192.168.252.10:8000
lport: 8080
bk_host: 192.168.252.10
bk_port: 8000
client> http -p h 10.240.30.3:8080
HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: max-age=31536000
Content-Length: 2748
Content-Type: text/html; charset=utf-8
Date: Sun, 01 Jul 2018 20:12:08 GMT
Last-Modified: Sun, 01 Apr 2018 21:53:37 GMT
### 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
gnutls-cli -p 443 google.com
gnutls-cli --disable-sni -p 443 google.com
Tool: socat
socat - TCP4:10.240.30.3:22
-
- standard input (STDIO)TCP4:<params>
- set tcp4 connection with specific params[hostname|ip]
- set hostname/ip[1-65535]
- set port number
socat TCP-LISTEN:1234,bind=127.0.0.1,reuseaddr,fork,su=nobody,range=127.0.0.0/8 UNIX-CLIENT:/tmp/foo
TCP-LISTEN:<params>
- set tcp listen with specific params[1-65535]
- set port numberbind=[hostname|ip]
- set bind hostname/ipreuseaddr
- allows other sockets to bind to an addressfork
- keeps the parent process attempting to produce more connectionssu=nobody
- set userrange=[ip-range]
- ip range
UNIX-CLIENT:<params>
- communicates with the specified peer socketfilename
- define socket
Tool: lsof
lsof -P -i -n
lsof -i tcp:443
lsof -Pan -i tcp -i udp
lsof -i -P | grep -i "listen"
lsof -Pnl -i
lsof -Pni4 | grep LISTEN | column -t
lsof -c "process"
lsof -u username -a +D /etc
lsof / | \
awk '{ if($7 > 1048576) print $7/1048576 "MB" " " $9 " " $1 }' | \
sort -n -u | tail | column -t
Tool: netstat
netstat -an | \
grep ESTABLISHED | \
awk '{print $5}' | \
awk -F: '{print $1}' | \
grep -v -e '^[[:space:]]*$' | \
sort | uniq -c | \
awk '{ printf("%s\t%s\t",$2,$1) ; for (i = 0; i < $1; i++) {printf("*")}; print "" }'
watch "netstat -plan | grep :443 | awk {'print \$5'} | cut -d: -f 1 | sort | uniq -c | sort -nk 1"
Tool: rsync
rsync --rsync-path 'sudo rsync' username@hostname:/path/to/dir/ /local/
Tool: host
host google.com 9.9.9.9
host -t soa google.com 9.9.9.9
Tool: dig
dig google.com +short
dig @9.9.9.9 google.com NS
dig google.com +nocomments +noquestion +noauthority +noadditional +nostats
dig google.com ANY +noall +answer
dig -x 172.217.16.14 +short
Tool: certbot
certbot certonly -d example.com -d www.example.com
certbot certonly --manual --preferred-challenges=dns -d example.com -d *.example.com
certbot certonly -d example.com -d www.example.com --rsa-key-size 4096
Tool: network-other
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'
_dname="google.com" ; curl -s "https://dns.google.com/resolve?name=${_dname}&type=A" | jq .
Tool: python
# Python 3.x
python3 -m http.server 8000 --bind 127.0.0.1
# Python 2.x
python -m SimpleHTTPServer 8000
# 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()
Tool: awk
awk '!x[$0]++' filename
awk '{$1=$3=""}1' filename
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
sed -n 10p /path/to/file
sed -i 10d /path/to/file
# alternative (BSD): sed -i'' 10d /path/to/file
sed -i <file> -re '<start>,<end>d'
Tool: grep
grep -rn "pattern"
grep -RnisI "pattern" *
fgrep "pattern" * -R
grep . filename > newfilename
grep -vE '(error|critical|warning)' filename
grep -v ^[[:space:]]*# filename
egrep -v '#|^$' filename