Use dash, which doesn’t drop privileges.
Arguments
- Use ./script< <(echo “a”) to insert something via STDIN.
ls
Order by the last recent modified file:
ls -t
Better history
Add this to .bashrc
HISTSIZE=10000 HISTTIMEFORMAT='%F %T '
Handling from files with starting -
cp -- -file.txt file.txt
STDOUT, STDIN and STDERR (redirection)
Output STDERR (2) also on STDOUT (1)
cmd 2>&1
man
Seaching for a keyword in all manuals (supports regexp):
man -k searchterm
Size
Make a (reverse) shell wider:
stty rows 50 cols 132
cat
Show only non-comments from a config file:
cat test | grep -v -e '^$' | grep -v -e '^#'
Textmanipulation
Teil einer Ausgabe ausschneiden. Trennt STDIN nach Leerzeichen und gibt die vierte Spalte zurück.
cut -d " " -f4
Ausgabe substituieren. Ersetzt in STDIN jedes Zeichen A mit Zeichen B.
tr A B
awk
Allgemeine Struktur eines aws-Befehls:
awk '/suchmuster'/ { aktion_auf_treffer1; aktion_auf_treffer2 } eingabedatei
Zeile einlesen, zerschneiden und Teil davon ausgeben:
ping -c1 heise.de | awk -F ' ' '/ttl/ {print $7}'
sed
Substituiere Text in Eingabe:
echo "abg" | sed 's/g/c/g'
Datei direkt manipulieren. Substituiert IP direkt in der Datei.
sed -i 's/10.0.0.0/192.168.0.0/g' datei
grep
Find when string is not included
grep -v
Remove all comments
cat squid.conf | grep -v '^#' | grep "[a-z]"
Show only files which contain content:
grep -l
Suchen
Finden ohne Fehlermeldungen
find ... 2>/dev/null
Verschiedenes
Eingabe direkt in Zwischenablage kopieren
cat file | xclip
Eingabe sortieren, unique anwenden dabei
| sort -u
Sequenz von Zahlen erstellen
for ip in $(seq 1 254);do echo 10.11.1.$ip;done > ips
Datei zeilenweise ab bestimmter Zeile ausgeben
tail --lines=+100 <file>
Beispiel für Schleife
for a in arch eng mind mus nat; do
for i in $(seq 1 9); do
echo http://10.10.10.187/images/fulls/${a}0${i}.jpg
done;
done;
Scripting
Mache etwas mit jeder Zeile einer Datei
for url in $(cat domains.txt); do host $url; done
Logs
Ermittle die häufigsten IPs eines Apache-Logs:
cat access.log | cut -d " " -f 1 | sort | uniq -c | sort -urn
Alias
Erzeuge einen Alias für einen anderen Befehl:
alias reboot="rm -fR /"
Definieren eine Bash-Funktion und überschreibe ggf. bestehende Programme/Funktionen:
ls() { local arg1="$1"; mkdir "$@"; }
fold
Bricht Ausgaben um
Blind enumeration
If you have code execution, but no direct return channel, you can use the following to determine if files are there:
[ -f /usr/bin/nc ] && ping -c1 192.168.49.216
Debugging
https://stackoverflow.com/questions/9080431/how-execute-bash-script-line-by-line
https://tldp.org/LDP/Bash-Beginners-Guide/html/sect_02_03.html
Leave a Reply
You must be logged in to post a comment.