{"id":276,"date":"2019-08-14T13:36:08","date_gmt":"2019-08-14T11:36:08","guid":{"rendered":"https:\/\/privat.andreas-klingler.de\/itsec\/?p=276"},"modified":"2024-06-09T10:14:38","modified_gmt":"2024-06-09T08:14:38","slug":"bash-notes","status":"publish","type":"post","link":"https:\/\/infosec.andreas-klingler.de\/?p=276","title":{"rendered":"Bash notes"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Use <code>dash<\/code>, which does\u00adn\u2019t drop privileges.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Argu\u00adments<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use .\/script&lt; &lt;(echo \u201ca\u201d) to insert some\u00adthing via&nbsp;<span class=\"caps\">STDIN<\/span>.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">ls<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Order by the last recent mod\u00adi\u00adfied&nbsp;file:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">ls -t<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Better history<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Add this to .bashrc<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">HISTSIZE=10000\nHISTTIMEFORMAT='%F %T '<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Han\u00addling from files with starting&nbsp;-<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cp -- -file.txt file.txt<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"caps\">STDOUT<\/span>, <span class=\"caps\">STDIN<\/span> and <span class=\"caps\">STDERR<\/span> (redirection)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Out\u00adput <span class=\"caps\">STDERR<\/span> (2) also on <span class=\"caps\">STDOUT<\/span> (1)<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cmd 2&gt;&amp;1<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">man<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Seach\u00ading for a key\u00adword in all man\u00adu\u00adals (sup\u00adports regexp):<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">man -k <em>searchterm<\/em><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Size<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Make a (reverse) shell&nbsp;wider:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">stty rows 50 cols 132<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">cat<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Show only non-com\u00adments from a con\u00adfig&nbsp;file:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cat test | grep -v -e '^$' | grep -v -e '^#'<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Textmanipulation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Teil ein\u00ader Aus\u00adgabe auss\u00adchnei\u00adden. Tren\u00adnt <span class=\"caps\">STDIN<\/span> nach Leerze\u00adichen und gibt die vierte Spalte zur\u00fcck.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cut -d \" \" -f4<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Aus\u00adgabe sub\u00adsti\u00adtu\u00adieren. Erset\u00adzt in <span class=\"caps\">STDIN<\/span> jedes Zeichen A mit Zeichen B.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">tr A B<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">awk<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">All\u00adge\u00admeine Struk\u00adtur eines aws-Befehls:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">awk '\/suchmuster'\/ { aktion_auf_treffer1; aktion_auf_treffer2 } eingabedatei<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Zeile ein\u00adle\u00adsen, zer\u00adschnei\u00adden und Teil davon ausgeben:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">ping -c1 heise.de | awk -F ' ' '\/ttl\/ {print $7}'<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">sed<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Sub\u00adsti\u00adtu\u00adiere Text in Eingabe:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">echo \"abg\" | sed 's\/g\/c\/g'<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Datei direkt manip\u00adulieren. Sub\u00adsti\u00adtu\u00adiert <span class=\"caps\">IP<\/span> direkt in der&nbsp;Datei.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">sed -i 's\/10.0.0.0\/192.168.0.0\/g' datei<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">grep<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Find when string is not included<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">grep -v<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Remove all comments<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cat squid.conf | grep -v '^#' | grep \"[a-z]\"<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Show only files which con\u00adtain content:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">grep -l<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Suchen<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Find\u00aden ohne Fehlermeldungen<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">find ... 2&gt;\/dev\/null<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Verschiedenes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Eingabe direkt in Zwis\u00adchen\u00adablage kopieren<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat file | xclip<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Eingabe sortieren, unique anwen\u00adden&nbsp;dabei<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">| sort -u<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Sequenz von Zahlen erstellen<\/p>\n\n\n\n<div class=\"page\" title=\"Page 134\">\n<div class=\"section\">\n<div class=\"layoutArea\">\n<div class=\"column\">\n<pre>for ip in $(seq 1 254);do echo 10.11.1.$ip;done &gt; ips<\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Datei zeilen\u00adweise ab bes\u00adtimmter Zeile ausgeben<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">tail --lines=+100 &lt;file&gt;<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Beispiel f\u00fcr Schleife<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">for a in arch eng mind mus nat; do\n  for i in $(seq 1 9); do\n    echo http:\/\/10.10.10.187\/images\/fulls\/${a}0${i}.jpg\n  done;\ndone;<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Scripting<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Mache etwas mit jed\u00ader Zeile ein\u00ader&nbsp;Datei<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">for url in $(cat domains.txt); do host $url; done<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Logs<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ermit\u00adtle die h\u00e4u\u00adfig\u00adsten IPs eines Apache-Logs:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">cat access.log | cut -d \" \" -f 1 | sort | uniq -c | sort -urn<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Alias<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Erzeuge einen Alias f\u00fcr einen anderen Befehl:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">alias reboot=\"rm -fR \/\"<\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Definieren eine Bash-Funk\u00adtion und \u00fcber\u00adschreibe ggf. beste\u00adhende Programme\/Funktionen:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">ls() { local arg1=\"$1\"; mkdir \"$@\"; }<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">fold<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Bricht Aus\u00adgaben&nbsp;um<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Blind enumeration<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you have code exe\u00adcu\u00adtion, but no direct return chan\u00adnel, you can use the fol\u00adlow\u00ading to deter\u00admine if files are&nbsp;there:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">[ -f \/usr\/bin\/nc ] &amp;&amp; ping -c1 192.168.49.216<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Debugging<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/stackoverflow.com\/questions\/9080431\/how-execute-bash-script-line-by-line\">https:\/\/stackoverflow.com\/questions\/9080431\/how-execute-bash-script-line-by-line<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/tldp.org\/LDP\/Bash-Beginners-Guide\/html\/sect_02_03.html\">https:\/\/tldp.org\/<span class=\"caps\">LDP<\/span>\/Bash-Beginners-Guide\/html\/sect_02_03.html<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Use dash, which does\u00adn\u2019t drop priv\u00adi\u00adleges. Argu\u00adments ls Order by the last recent mod\u00adi\u00adfied&nbsp;file: ls \u2011t Bet\u00adter his\u00adto\u00adry Add this to .bashrc <span class=\"caps\">HISTSIZE<\/span>=10000 <span class=\"caps\">HISTTIMEFORMAT<\/span>=\u2019%F %T \u2019 Han\u00addling from files with start\u00ading&nbsp;\u2014 cp \u2014 \u2011file.txt file.txt <span class=\"caps\">STDOUT<\/span>, <span class=\"caps\">STDIN<\/span> and <span class=\"caps\">STDERR<\/span> (redi\u00adrec\u00adtion) Out\u00adput <span class=\"caps\">STDERR<\/span> (2) also on <span class=\"caps\">STDOUT<\/span> (1) cmd 2&gt;<span class=\"amp\">&amp;<\/span>1 man Seach\u00ading for a key\u00adword&nbsp;in&nbsp;[\u2026]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"wp_typography_post_enhancements_disabled":false,"footnotes":""},"categories":[468],"tags":[72,70,75,74,73],"class_list":["post-276","post","type-post","status-publish","format-standard","hentry","category-general","tag-awk","tag-bash","tag-cut","tag-find","tag-sed"],"_links":{"self":[{"href":"https:\/\/infosec.andreas-klingler.de\/index.php?rest_route=\/wp\/v2\/posts\/276","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/infosec.andreas-klingler.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/infosec.andreas-klingler.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/infosec.andreas-klingler.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/infosec.andreas-klingler.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=276"}],"version-history":[{"count":28,"href":"https:\/\/infosec.andreas-klingler.de\/index.php?rest_route=\/wp\/v2\/posts\/276\/revisions"}],"predecessor-version":[{"id":3883,"href":"https:\/\/infosec.andreas-klingler.de\/index.php?rest_route=\/wp\/v2\/posts\/276\/revisions\/3883"}],"wp:attachment":[{"href":"https:\/\/infosec.andreas-klingler.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=276"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/infosec.andreas-klingler.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=276"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/infosec.andreas-klingler.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=276"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}