Re: chflags - sinnlos?

From: Bernd Walter <ticso(at)cicely8.cicely.de>
Date: Tue, 4 Feb 2003 01:04:07 +0100

On Tue, Feb 04, 2003 at 10:10:37AM +1100, Peter Ross wrote:
> On Mon, 3 Feb 2003, Bernd Walter wrote:
>
> > On Mon, Feb 03, 2003 at 10:13:57PM +0100, Ingo Rohlfs wrote:
> > > On Sun, Feb 02, 2003 at 09:51:20PM +0100, Oliver Fromme wrote:
> > > > Ingo Rohlfs <ingo.rohlfs(at)gmx.de> wrote:
> > > > > Möglichkeit vorzuliegen, die Systemsicherheit zu erhöhen.
> > > >
> > > > Ja, unter geeigneten Umständen.
> > > >
> > > ...
> > > > Schreiben is' nich.
> > >
> > > Bisher dachte ich, das dieses Feature vor allem die Möglichkeiten von
> > > Root-Kits verringert. Heute kam mir noch ein Gedanke:
> > >
> > > Wenn man dem System alle Netzwerk-Clients raubt, und nur eine winzige
> > > Zahl von Programmen belässt, kommt ein Eindringling evtl. nicht weiter.
> > >
> > > Angenommen auf dem Rechner läuft nur der Kernel und ein Sendmail (proxy),
> > > sonst gibt es keine Programme ausser vielleicht /bin/sh auf der Platte.
> > > Was kann ein Angreifer jetzt noch machen? Er hat kein ftp etc. um
> > > Programme zu laden, und keine Berechtigung (schg-flags überall)
> > > um sie zu speichern, kein telnet um weiterzukommen etc.
> >
> Nun, mit dem Paketfilter Deiner Wahl sagst Du: nur Port 25 ist erlaubt.
> Kein FTP, kein Telnet.

Nun wir gehen in dem Fall ja davon aus, das bereits einer drauf ist,
also der Packetfilter und die Qualität der ereichbaren Daemon haben
schon versagt.

> > Ein Programm bekommt er bereits über den Sendmail auf die Platte.
> > Schließlich landed die in der queue.
>
> Wenn der Rechner am boesen Internet haengt, schiebt er, was er anerkennt,
> nur weiter. Muss man schon fix sein - catch me if you can;-)

Es ist einfacher als du glaubst eine Mail in der Queue zu fixieren.
Aber egal - brauchen wir ja nicht - wir haben schließlich die /bin/sh,
die uns garantiert Files speichern kann - auch Binaries.
Ich habe schon öfters mittels Shell Dateien auf Rechner kopiert, die
gerade nicht im Netz waren - hilft ungemein, wenn jemand son Kleinkram
wie ifconfig geplättet hat und danach reboot tippt :( - was Kunden so
alles machen...
Und ein Schreibbares Verzeichniss haben wir mit der Mailqueue auch.
Fehlt nur noch das Ausführen des darüber eingeschleusten Codes.

> > Fehlt nur noch die Nachricht ausführbar zu machen.
> > Sicherlich auch nicht gänzlich unmöglich.
>
> /usr ReadOnly gemountet, chmod -R ugo-w /usr sowie mit Secure Flags
> versehen, um das nicht zu aendern.

OK.

> /var NoExec gemountet.

Aber wir sind ja schon auf dem Rechner drauf - vermutlich auch bereits
als root, d.h. es geht nur noch darum den Rechner für den Hacker
nützlich zu machen.
Der Hacker ist also bereits root und hat ein schreibbares Verzeichniss.
Ein X Flag wäre da zwar nett, ist aber nicht erforderlich.
Zum einen gibt es /bin/sh scriptfile.
Zum anderen hat er bereits ein Loch in einem Daemon entdeckt, der
vermutlich in der Lage ist den Code fürs reinkommen auszuführen.
Warum sollte man da nicht auch ein non-excecuteable File ausführen?
Der Code braucht ja nur das File per mmap einbinden und starten.
Ein Systemcall und ein Sprung.
Dafür reichen die meisten Löcher allemal und NoExec hilft da nicht.
Ich kann auch nicht entdecken, das der Securelevel ein remount
verhindert - ich mag mich da aber irren.

> > Alternativ kann man mit einer Shell problemlos Files speichern.
> > Am bequemsten mit einem shar Script.
> > Mit der richtigen umask ist das dann auch sofort ausführbar.
>
> S.oben

Ja - dafür reicht es wohl, aber insgesammt nicht.

> > Allerdings muß sich jemand auf so einem System erst mal Gedanken
> > machen.
>
> Genau. und wenn man solche Szenarien durchspielt, faellt einem schon ein
> bisschen ein;-)

Eben.
Ich denke schon, daß man einem Hacker einen nutzlosen Rechner bieten
kann, aber so einfach ist das Thema leider nicht.

> chflags und securelevel sind schoene Bausteine, die ich unter Linux gerade
> schmerzlich vermisse. Ich weiss, es gibt OpenWall (wobei die Bezeichnung
> allein kein Vertrauen einfloesst;-) und Verwandte.
>
> Allerdings hat mir noch keiner erschoepfend die Frage beantworten koennen,
> wieviele Patches von Seitenprojekten und "Experimental" Treiber ein Linux
> vertraegt.

Über Linux halte ich mich besser zurück.

-- 
B.Walter              COSMO-Project         http://www.cosmo-project.de
ticso(at)cicely.de         Usergroup           info(at)cosmo-project.de
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 04 Feb 2003 - 01:04:25 CET

search this site