

GitHub - trimstray/the-book-of-secret-knowledge: A collection of awesome lists,...
source link: https://github.com/trimstray/the-book-of-secret-knowledge
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md
A collection of awesome lists, manuals, blogs, hacks, one-liners, cli/web tools and more.
» All suggestions are welcome
«
What is it?
This list is a collection of various materials that I use every day in my work. It contain a lot of useful information gathered in one piece.
This is not a final and full version - I update it on an ongoing basis.
For whom?
It is intended for everyone and anyone - especially for system and network administrators, devops, pentesters or security researchers.
☑️ Todo
- Add useful shell functions
- Add one-liners for collection tools (eg. CLI Tools)
- Generate book pdf format
The Book of Secret Knowledge (Chapters)
CLI Tools
▪️ Shells
?Oh My ZSH! - the best framework for managing your Zsh configuration.
?bash-it - framework for using, developing and maintaining shell scripts and custom commands for your daily work.
?Oh My Fish - the Fishshell framework.
▪️ Managers
?Midnight Commander - visual file manager, licensed under GNU General Public License.
?screen - full-screen window manager that multiplexes a physical terminal.
?tmux - terminal multiplexer, lets you switch easily between several programs in one terminal.
?tmux-cssh - sets a comfortable and easy to use functionality, clustering and synchronizing virtual tmux-sessions.
▪️ Network
?Curl - command line tool and library
for transferring data with URLs.
?HTTPie - a user-friendly HTTP client.
?wuzz - interactive cli tool for HTTP inspection.
?httpstat - visualizes curl statistics in a way of beauty and clarity.
?gnutls-cli - client program to set up a TLS connection to some other computer.
?nmap - free and open source (license) utility for network discovery and security auditing.
?hping - command-line oriented TCP/IP packet assembler/analyzer.
?mtr - functionality of the 'traceroute' and 'ping' programs in a single network diagnostic tool.
?masscan - the fastest Internet port scanner, spews SYN packets asynchronously.
?netcat - networking utility which reads and writes data across network connections, using the TCP/IP protocol.
?tcpdump - powerful command-line packet analyzer.
?tshark - dump and analyze network traffic (wireshark cli).
?bmon - monitoring and debugging tool to capture networking related statistics and prepare them visually.
?fierce - a DNS reconnaissance tool for locating non-contiguous IP space.
?sublist3r - fast subdomains enumeration tool for penetration testers.
?amass - tool obtains subdomain names by scraping data sources, crawling web archives and more.
?namebench - provides personalized DNS server recommendations based on your browsing history.
?Nemesis - packet manipulation CLI tool; craft and inject packets of several protocols.
?packetfu - a mid-level packet manipulation library for Ruby.
?Scapy - packet manipulation library; forge, send, decode, capture packets of a wide number of protocols.
?bombardier - fast cross-platform HTTP benchmarking tool written in Go.
?gobench - http/https load testing and benchmarking tool.
?Nipe - script to make Tor Network your default gateway.
?iptraf-ng - is a console-based network monitoring program for Linux that displays information about IP traffic.
?aria2 - is a lightweight multi-protocol & multi-source command-line download utility.
▪️ SSL/Security
?sslyze
- fast and powerful SSL/TLS server scanning library.
?sslscan - tests SSL/TLS enabled services to discover supported cipher suites.
?testssl.sh - testing TLS/SSL encryption anywhere on any port.
?spiped - is a utility for creating symmetrically encrypted and authenticated pipes between socket addresses.
▪️ Auditing Tools
?lynis - battle-tested security tool for systems running Linux, macOS, or Unix-based operating system.
?LinEnum - scripted Local Linux Enumeration & Privilege Escalation Checks.
?Rkhunter - scanner tool for Linux systems that scans backdoors, rootkits and local exploits on your systems.
▪️ System Diagnostics/Debuggers
?strace - diagnostic, debugging and instructional userspace utility for Linux.
?sysdig - system exploration and troubleshooting tool with first class support for containers.
?glances - cross-platform system monitoring tool written in Python.
?htop - interactive text-mode process viewer for Unix systems. It aims to be a better 'top'.
?atop - ASCII performance monitor. Includes statistics for CPU, memory, disk, swap, network, and processes.
?lsof - displays in its output information about files that are opened by processes.
?FlameGraph - stack trace visualizer.
?lsofgraph - small utility to convert Unix lsof output to a graph showing FIFO and UNIX interprocess communication.
▪️ Log Analyzers
?GoAccess - real-time web log analyzer and interactive viewer that runs in a terminal.
?ngxtop - real-time metrics for nginx server.
▪️ Databases
?usql - universal command-line interface for SQL databases.
?pgcli - postgres CLI with autocompletion and syntax highlighting.
?mycli - terminal client for MySQL with autocompletion and syntax highlighting.
▪️ Pentesting
?Metasploit - tool and framework for pentesting system, web and many more, contains a lot a ready to use exploit.
?Burp Suite - tool for testing Web application security, intercepting proxy to replay, inject, scan and fuzz HTTP requests.
?OWASP Zed Attack Proxy - intercepting proxy to replay, inject, scan and fuzz HTTP requests.
?Nikto2 - web server scanner which performs comprehensive tests against web servers for multiple items.
?sqlmap - tool that automates the process of detecting and exploiting SQL injection flaws.
▪️ Other
?incron - is an inode-based filesystem notification technology.
Web Tools
▪️ SSL/Security
?SSL Server Test - free online service performs a deep analysis of the configuration of any SSL web server.
?SSL Server Test (DEV) - free online service performs a deep analysis of the configuration of any SSL web server.
?ImmuniWeb® SSLScan - test SSL/TLS (PCI DSS, HIPAA and NIST).
?urlscan.io - service to scan and analyse websites.
?Report URI - monitoring security policies like CSP and HPKP.
?CSP Evaluator - allows developers and security experts to check if a Content Security Policy.
?Useless CSP - public list about CSP in some big players (might make them care a bit more).
?Why No HTTPS? - list of the world's top 100 websites by Alexa rank not automatically redirecting insecure requests.
?cipherli.st - strong ciphers for Apache, Nginx, Lighttpd and more.
?badssl.com - memorable site for testing clients against bad SSL configs.
?tlsfun.de - registered for various tests regarding the TLS/SSL protocol.
?Common CA Database - repository of information about CAs, and their root and intermediate certificates.
?CERTSTREAM - real-time certificate transparency log update stream.
?crt.sh - discovers certificates by continually monitoring all of the publicly known CT.
▪️ Privacy
?privacytools.io - provides knowledge and tools to protect your privacy against global mass surveillance.
?DNS Privacy Test Servers - DNS privacy recursive servers list (with a 'no logging' policy).
▪️ HTTP Headers
?Security Headers - analyse the HTTP response headers (with rating system to the results).
?Observatory by Mozilla - set of tools to analyze your website.
?Enable CORS - enable cross-origin resource sharing.
▪️ DNS
?ViewDNS - one source for free DNS related tools and information.
?DNSlytics - online investigation tool.
?DNS Spy - monitor, validate and verify your DNS configurations.
?Find subdomains online - find subdomains for security assessment penetration test.
?DNSdumpster - dns recon & research, find & lookup dns records.
?DNS Table online - search for DNS records by domain, IP, CIDR, ISP.
?PTRarchive.com - this site is responsible for the safekeeping of historical reverse DNS records.
?xip.ip - wildcard DNS for everyone.
?MX Toolbox - all of your MX record, DNS, blacklist and SMTP diagnostics in one integrated tool.
?blacklistalert - checks to see if your domain is on a Real Time Spam Blacklist.
?MultiRBL - complete IP check for sending Mailservers.
▪️ PGP Keyservers
?SKS OpenPGP Key server - includes a highly-efficient reconciliation algorithm for keeping the keyservers synchronized.
▪️ Mass scanners (search engines)
?Censys - platform that helps information security practitioners discover, monitor, and analyze devices.
?Shodan - the world's first search engine for Internet-connected devices.
?Shodan 2000 - if you use Shodan for everyday work, be sure to see it - looks for randomly generated data from Shodan.
?GreyNoise - mass scanner (such as Shodan and Censys).
?ZoomEye - search engine for cyberspace that lets the user find specific network components.
?FOFA - is a cyberspace search engine.
?onyphe - is a search engine for open-source and cyber threat intelligence data collected.
?binaryedge - it scan the entire internet space and create real-time threat intelligence streams and reports.
?hunter - lets you find email addresses in seconds and connect with the people that matter for your business.
?wigle - is a submission-based catalog of wireless networks. All the networks. Found by Everyone.
?PublicWWW - find any alphanumeric snippet, signature or keyword in the web pages HTML, JS and CSS code.
?IntelTechniques - this repository contains hundreds of online search utilities.
?GhostProject? - search by full email address or username.
?Buckets by Grayhatwarfar - database with public search for Open Amazon S3 Buckets and their contents.
?Vigilante.pw - the breached database directory.
?builtwith - find out what websites are built with.
▪️ Net-tools
?Netcraft - detailed report about the site, helping you to make informed choices about their integrity.
?RIPE NCC - not-for-profit membership association, a Regional Internet Registry and the secretariat for the RIPE.
?Robtex - uses various sources to gather public information about IP numbers, domain names, host names, routes etc.
?Security Trails - APIs for Security Companies, Researchers and Teams.
?Online Curl - curl test, analyze HTTP Response Headers.
?Ping.eu - online Ping, Traceroute, DNS lookup, WHOIS and others.
?Network-Tools - network tools for webmasters, IT technicians & geeks.
?URL Encode/Decode - tool from above to either encode or decode a string of text.
?Uncoder - the online translator for search queries on log data.
?XSS String Encoder - for generating XSS code to check your input validation filters against XSS.
?RegExr - online tool to learn, build, & test Regular Expressions (RegEx / RegExp).
?Hardenize - deploy the security standards.
?VirusTotal - analyze suspicious files and URLs to detect types of malware.
▪️ Code parsers/playgrounds
?ShellCheck - finds bugs in your shell scripts.
?jsbin - live pastebin for HTML, CSS & JavaScript and more.
?PHP Sandbox - test your PHP code with this code tester.
▪️ Performance
?GTmetrix - analyze your site’s speed and make it faster.
?Sucuri loadtimetester - test here the
performance of any of your sites from across the globe.
▪️ Passwords
?Random.org - generate random passwords.
?Gotcha? - list of 1.4 billion accounts circulates around the Internet.
?have i been pwned? - check if you have an account that has been compromised in a data breach.
▪️ CVE
?CVE Mitre - list of publicly known cybersecurity vulnerabilities.
?CVE Details - CVE security vulnerability advanced database.
Manuals/Howtos/Tutorials
▪️ Bash
?pure-bash-bible - a collection of pure bash alternatives to external processes.
?The Bash Hackers Wiki - hold documentation of any kind about GNU Bash.
?Shell & Utilities - describes the commands and utilities offered to application programs by POSIX-conformant systems.
▪️ Programming
?F’Awk Yeah! - advanced sed and awk usage (Parsing for Pentesters 3).
▪️ Unix & Network
?nixCraft - linux and unix tutorials for new and seasoned sysadmin.
?TecMint - the ideal Linux blog for Sysadmins & Geeks.
?Omnisecu - Free Networking, System Administration and Security Tutorials.
?Unix Toolbox - collection of Unix/Linux/BSD commands and tasks which are useful for IT work or for advanced users.
▪️ Security
?OWASP - worldwide not-for-profit charitable organization focused on improving the security of software.
?OWASP ASVS 3.0.1 - OWASP Application Security Verification Standard Project.
?OWASP ASVS 3.0.1 Web App - simple web app that helps developers understand the ASVS requirements.
?Offensive Security - true performance-based penetration testing training for over a decade.
?Hacking Articles - LRaj Chandel's Security & Hacking Blog.
?GTFOBins - list of Unix binaries that can be exploited by an attacker to bypass local security restrictions.
?AWS security tools - make your AWS cloud environment more secure.
?HTML5 Security Cheatsheet - a collection of HTML5 related XSS attack vectors.
?PTES - the penetration testing execution standard.
?ctf-tools - some setup scripts for security research tools.
?Guifre Ruiz Notes - collection of secuirty, system, network and pentest cheatsheets.
?Rawsec's CyberSecurity Inventory - an inventory of tools and resources about CyberSecurity.
?Application Security Wiki - is an initiative to provide all application security related resources at one place.
?The Illustrated TLS Connection - every byte of a TLS connection explained and reproduced.
▪️ Web Apps
?Mozilla Web Security - help operational teams with creating secure web applications.
▪️ Other
?CTF Series : Vulnerable Machines - the steps below could be followed to find vulnerabilities and exploits.
?How to start RE/malware analysis? - collection of some hints and useful links for the beginners.
?LZone Cheat Sheets - all cheat sheets.
?Dan’s Cheat Sheets’s - massive cheat sheets documentation.
?The C10K problem - it's time for web servers to handle ten thousand clients simultaneously, don't you think?
?Bank Grade Security - when companies say they have "Bank Grade Security" they imply that it is a good thing.
?HTTPS on Stack Overflow - this is the story of a long journey regarding the implementation of SSL.
?Julia's Drawings - some drawings about programming and unix world, zines about systems & debugging tools.
?DEF CON Media Server - great stuff from DEFCON 26.
?BGP Meets Cat - after 3072 hours of manipulating BGP, Job Snijders has succeeded in drawing a Nyancat.
?HTTPS in the real world - great tutorial explain how HTTPS works in the real world.
Blogs
?Brendan Gregg's Blog - Brendan Gregg is an industry expert in computing performance and cloud computing.
?Gynvael "GynDream" Coldwind - Gynvael is a IT security engineer at Google.
?Michał "lcamtuf" Zalewski - "white hat" hacker, computer security expert.
?Mattias Geniar - developer, Sysadmin, Blogger, Podcaster and Public Speaker.
?Nick Craver - Software Developer and Systems Administrator for Stack Exchange.
?Robert Penz - IT security Expert.
?Scott Helme - Security Researcher, international speaker and founder of securityheaders.com and report-uri.com.
?Kacper Szurek - Detection Engineer at ESET.
?Troy Hunt - Microsoft Regional Director and Microsoft Most Valuable Professional for Developer Security.
?Linux Audit - the Linux security blog about Auditing, Hardening and Compliance by Michael Boelen.
?
Linux Security Expert - trainings, howtos, checklists, security tools and more.
?The Grymoire - collection of useful incantations for wizards, be you computer wizards, magicians, or whatever.
?raymii.org - linux/unix sysadmin specializing in building high availability cloud environments.
▪️ A piece of history
?How to Do Things at ARL - how to configure modems, scan images, record CD-ROMs, and other useful techniques.
Systems/Services
▪️ Systems
?Slackware - the most "Unix-like" Linux distribution.
?OpenBSD - multi-platform 4.4BSD-based UNIX-like operating system.
?HardenedBSD - HardenedBSD aims to implement innovative exploit mitigation and security solutions.
?Kali Linux - Linux distribution used for Penetration Testing, Ethical Hacking and network security assessments.
?Backbox Linux - penetration test and security assessment oriented Ubuntu-based Linux distribution.
▪️ HTTP(s) Services
?Varnish HTTP Cache - HTTP accelerator designed for content-heavy dynamic web sites.
?Nginx - open source web and reverse proxy server that is similar to Apache, but very light weight.
▪️ Security/hardening
?Emerald Onion - seattle-based encrypted-transit internet service provider.
?Unbound - validating, recursive, and caching DNS resolver (with TLS).
?Knot Resolver - caching full resolver implementation, including both a resolver library and a daemon.
?Vulnreport - open-source pentesting management and automation platform by Salesforce Product Security.
Networks
▪️ Tools
?CapAnalysis - web visual tool to analyze large amounts of captured network traffic (PCAP analyzer).
▪️ Labs
?NRE Labs - learn automation by doing it. Right now, right here, in your browser.
Awesome Lists
?Awesome Sysadmin - amazingly awesome open source sysadmin resources.
?Awesome Shell - awesome command-line frameworks, toolkits, guides and gizmos.
?Awesome Hacking - awesome lists for hackers, pentesters and security researchers.
?Awesome Hacking Resources - collection of hacking/penetration testing resources to make you better.
?Hacking Cheat Sheet - author hacking and pentesting notes.
?Movies for Hackers - list of movies every hacker & cyberpunk must watch.
?Awesome Pentest - collection of awesome penetration testing resources, tools and other shiny things.
?Awesome Pcaptools - collection of tools developed by other researchers to process network traces.
?SecLists - collection of multiple types of lists used during security assessments, collected in one place.
?Command-line-text-processing - from finding text to search and replace, from sorting to beautifying text and more.
?Awesome Scalability - best practices in building High Scalability, High Availability, High Stability and more.
?Awesome Postgres - list of awesome PostgreSQL software, libraries, tools and resources.
?Free Security eBooks - list of a Free Security and Hacking eBooks.
Hacking/Penetration Testing
▪️ Pentests bookmarks collection
?Brute XSS - master the art of Cross Site Scripting.
?Offensive Security Bookmarks - security bookmarks collection, all that things I need to pass OSCP.
?Awesome Pentest Cheat Sheets - collection of the cheat sheets useful for pentesting.
?Pentest Bookmarks - there are a LOT of pentesting blogs.
?PayloadsAllTheThings - a list of useful payloads and bypass for Web Application Security and Pentest/CTF.
?Penetration Testing Tools Cheat Sheet - a quick reference high level overview for typical penetration testing engagements.
?SQL Injection Cheat Sheet - detailed technical information about the many different variants of the SQL Injection.
▪️ Bounty programs
?Bounty Factory - European bug bounty platform based on the legislation and rules in force in European countries.
?Openbugbounty - allows any security researcher reporting a vulnerability on any website.
?hackerone - global hacker community to surface the most relevant security issues.
?bugcrowd - crowdsourced cybersecurity for the enterprise.
?Crowdshield - crowdsourced Security & Bug Bounty Management.
▪️ Web Training Apps (local installation)
?OWASP-VWAD - comprehensive and well maintained registry of all known vulnerable web applications.
?Metasploitable 2 - vulnerable web application amongst security researchers.
?DVWA - PHP/MySQL web application that is damn vulnerable.
?OWASP Mutillidae II - free, open source, deliberately vulnerable web-application.
?OWASP Juice Shop Project - the most bug-free vulnerable application in existence.
?OWASP WebGoat Project - insecure web application maintained by OWASP designed to teach web app security.
?Security Ninjas - open source application security training program.
?hackazon - a modern vulnerable web app.
?dvna - damn vulnerable NodeJS application.
?Google Gruyere - web application exploits and defenses.
?Bodhi - is a playground focused on learning the exploitation of client-side web vulnerabilities.
▪️ Labs (ethical hacking platforms)
?Hack The Box - online platform allowing you to test your penetration testing skills.
?Hacking-Lab - online ethical hacking, computer network and security challenge platform.
?pwnable.kr - non-commercial wargame site which provides various pwn challenges regarding system exploitation.
?Pwnable.tw - is a wargame site for hackers to test and expand their binary exploiting skills.
?Silesia Security Lab - high quality security testing services.
?Practical Pentest Labs - pentest lab, take your Hacking skills to the next level.
?Root Me - the fast, easy, and affordable way to train your hacking skills.
?rozwal.to - a great platform to train your pentesting skills.
?TryHackMe - learning Cyber Security made easy.
?OverTheWire - can help you to learn and practice security concepts in the form of fun-filled games.
Your daily knowledge and news
▪️ RSS Readers
?Feedly - organize, read and share what matters to you.
▪️ Security
?Google Online Security Blog - the latest news and insights from Google on security and safety on the Internet.
?Qualys Blog - expert network security guidance and news.
?DARKReading - connecting the Information Security Community.
?publiclyDisclosed - public disclosure watcher who keeps you up to date about the recently disclosed bugs.
?0day.today - exploits market provides you the possibility to buy zero-day exploits and also to sell 0day exploits.
?Exploit-DB - the exploit database: exploits, shellcode, 0days, remote exploits, local exploits, web Apps and more.
?sploitus - the exploit and tools database.
?Packet Storm - information security services, news, files, tools, exploits, aAdvisories and whitepapers.
?Sekurak - about security, penetration tests, vulnerabilities and many others (PL/EN).
?nf.sec - basic aspects and mechanisms of Linux operating system securit (PL).
Other Cheat Sheets
DNS Servers list (privacy) IP URL84.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
Build your own DNS Servers
?Unbound DNS Tutorial - a validating, recursive, and caching DNS server.
?Knot Resolver on Fedora - how to get faster and more secure DNS resolution with Knot Resolver on Fedora.
?DNS-over-HTTPS - tutorial to setup your own DNS-over-HTTPS (DoH) server.
?DNS Servers - how (and why) i run my own DNS Servers.
?DNS Privacy Server - running your own DoT or DoH server this page provides some ideas.
One-liners
Table of Contents
Tool: terminal
Reload shell without exitexec $SHELL -l
disown -a && exit
kill -9 $$ unset HISTFILE && exit
true && { echo success;} || { 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 a temporary ram partitionmount -t tmpfs tmpfs /mnt -o size=64M
-t
- filesystem type-o
- mount options
mount -o remount,rw /
Tool: fuser
Kills a process that is locking a filefuser -k filename
fuser -v 53/udp
Tool: ps
Show a 4-way scrollable process tree with full detailsps awwfux | less -S
ps hax -o user | sort | uniq -c | sort -r
Tool: find
Find files that have been modified on your system in the past 60 minutesfind / -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
Tool: top
Use top to monitor only all processes with the specific stringtop -p $(pgrep -d , <str>)
<str>
- process containing str (eg. nginx, worker)
Tool: strace
Track the open request of a network portstrace -f -e trace=bind nc -l 80
strace -f -e trace=network nc -lu 80
Tool: kill
Kill a process running on portkill -9 $(lsof -i :<port> | awk '{l=$2} END {print l}')
Tool: diff
Compare two directory treesdiff <(cd directory1 && find | sort) <(cd directory2 && find | sort)
Tool: tail
Annotate tail -f with timestampstail -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
System backup with exclude specific directoriescd / 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
System backup to filedump -y -u -f /backup/system$(date +%d%m%Y%s).lzo /
cd / restore -rf /backup/system$(date +%d%m%Y%s).lzo
Tool: cpulimit
Limit the cpu usage of a processcpulimit -p pid -l 50
Tool: pwdx
Show current working directory of a processpwdx <pid>
Tool: taskset
Start a command on only one CPU coretaskset -c 0 <command>
Tool: tr
Show directories in the PATH, one per linetr : '\n' <<<$PATH
Tool: chmod
Remove executable bit from all files in the current directorychmod -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
Find last reboot timewho -b
Tool: screen
Start screen in detached modescreen -d -m [<command>]
Tool: du
Show 20 biggest directories with 'K M G'du | \ sort -r -n | \ awk '{split("K M G",v); s=1; while($1>1024){$1/=1024; s++} print int($1)" "v[s]"\t"$2}' | \ head -n 20
Tool: inotifywait
Init tool everytime a file in a directory is modifiedwhile true ; do inotifywait -r -e MODIFY dir/ && ls dir/ ; done;
Tool: openssl
Testing connection to remote hostecho | 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
# _ciph: des3, aes ( _ciph="des3" ; _fd="private.key" ; _len="2048" ; \ openssl genrsa -${_ciph} -out ${_fd} ${_len} )
( _fd="private.key" ; _fd_unp="private_unp.key" ; \ openssl rsa -in ${_fd} -out ${_fd_unp} )
( _fd="private.key" ; _fd_pub="public.key" ; \ openssl rsa -pubout -in ${_fd} -out ${_fd_pub} )
( _fd="private.key" ; _fd_csr="request.csr" ; _len="2048" ; \ 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 ))
( _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: gnutls-cli
Testing connection to remote host (with SNI support)gnutls-cli -p 443 google.com
gnutls-cli --disable-sni -p 443 google.com
Tool: secure-delete
Secure delete with shredshred -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
Show dd status every so oftendd <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
Compare a remote file with a local filessh 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" }
Tool: linux-dev
Testing remote connection to porttimeout 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-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
Tool: tcpick
Analyse packets in real-timewhile 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: 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: socat
Testing remote connection to portsocat - 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
Show process that use internet connection at the momentlsof -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
Graph # of connections for each hostsnetstat -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 remote data as root using sudorsync --rsync-path 'sudo rsync' username@hostname:/path/to/dir/ /local/
Tool: host
Resolves the domain name (using external dns server)host google.com 9.9.9.9
host -t soa google.com 9.9.9.9
Tool: dig
Resolves the domain name (short output)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: network-other
Get all subnets for specific AS (Autonomous system)AS="AS32934" whois -h whois.radb.net -- "-i origin ${AS}" | \ grep "^route:" | \ cut -d ":" -f2 | \ sed -e 's/^[ \t]//' | \ sort -n -t . -k 1,1 -k 2,2 -k 3,3 -k 4,4 | \ cut -d ":" -f2 | \ sed -e 's/^[ \t]/allow /' | \ sed 's/$/;/' | \ sed 's/allow */subnet -> /g'
_dname="google.com" ; curl -s "https://dns.google.com/resolve?name=${_dname}&type=A" | jq .
Tool: awk
Remove duplicate entries in a file without sortingawk '!x[$0]++' filename
awk '{$1=$3=""}1' filename
Tool: sed
To print a specific line from a filesed -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
Search for a "pattern" inside all files in the current directorygrep -rn "pattern" grep -RnisI "pattern" * fgrep "pattern" * -R
grep . filename > newfilename
grep -vE '(error|critical|warning)' filename
grep -v ^[[:space:]]*# filename
egrep -v '#|^$' filename
Recommend
-
247
What is an awesome list? Contribution guide
-
59
README.md
-
69
README.md
-
45
README.md The Practical Linux Hardening Guide
-
56
README.md Nginx Quick Reference My notes about Nginx...
-
50
-
69
A collection of awesome lists, manuals, blogs, hacks, one-liners, cli/web tools and more. Created by
-
55
README.md htrace.sh
-
48
README.md Nginx Admin's Handbook My notes on NGINX administration basics, tips & tricks, caveats, and gotcha...
-
5
Free resources for developers, board games and chess... what do they have in common? You can find them in some GitHub repositories! Ok, but why? GitHub is not only code hosting, it's a collaborative platform where everyone, even if...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK