home *** CD-ROM | disk | FTP | other *** search
/ Forum of Incident Response & Security Teams / Forum_of_Incident_Response_and_Security_Teams_FIRST_October_1994.iso / teaminfo / cert_it / advisory / s_94_01.txt next >
Text File  |  1994-07-08  |  7KB  |  179 lines

  1. ==============================================================================
  2. SECURITY ADVISORY                                                      CERT-IT
  3. ==============================================================================
  4. Author/Source : CERT-IT <cert-it@dsi.unimi.it>             Index  :    S-94-01
  5. Distribution  : World                                      Size   :       6504
  6. Classification: External                                   Version:      Final
  7. Subject       : Intrusioni Informatiche                Date   :   27-02-94
  8. ==============================================================================
  9.  
  10.  
  11. ========
  12. Abstract
  13. ========
  14.  
  15.     Nelle ultime settimane si sono verificate alcune violazioni
  16.     informatiche che hanno interessato un certo numero di calcolatori
  17.     italiani. Le macchine appartengono a centri Universitari ed i
  18.     sistemi operativi di tali host sono SunOS, Ultrix e HP-UX.
  19.     Il bug usato per violare la sicurezza delle macchine e`,
  20.     probabilmente, quello del programma "xterm" (e, eventualmente,
  21.     "hpterm" per le macchine HP-UX).
  22.  
  23.  
  24. ===========
  25. Descrizione
  26. ===========
  27.  
  28.     Mediante i dati in nostro possesso siamo riusciti a
  29.     ricostruire sommariamente la metodologia d'attacco usata.
  30.     Elenchiamo quindi i punti che crediamo essere piu` significativi.
  31.  
  32.     1 - Gli hacker hanno ottenuto i privilegi di root su
  33.         una delle macchine interessate. Cio` puo` essere
  34.         accaduto in vari modi. Fondamentalmente crediamo che
  35.         sia stato usato il bug di "xterm" o "hpterm".
  36.     
  37.     2 - Una volta acquisiti i privilegi di root, gli hacker
  38.         hanno sostituito il programma "telnet" con un altro
  39.         programma in apparenza uguale ma con funzionalita`
  40.         nuove: il programma registrava parte delle varie
  41.         sessioni per poter catturare le login/password
  42.         utilizzate. Tali file di log venivano registrati
  43.         in /usr/tmp con nomi simili a "Exaat48372".
  44.     
  45.     3 - Tali file erano cifrati. L'algoritmo di cifra usato
  46.         e` una semplice sostituzione alfabetica effettuando
  47.         uno "XOR" per ognuno dei byte. Per decifrare tali file
  48.         di log si puo` usare il seguente programmino:
  49.  
  50.         #include <stdio.h>
  51.  
  52.         main()
  53.         {
  54.             register    c;
  55.  
  56.             while ((c = getchar()) != EOF)
  57.                 putchar((char) (c ^ 165));
  58.         }
  59.         
  60.         In alcune macchine esaminate e` stato trovato un
  61.         programma di nome "d" che aveva esattamente lo
  62.         stesso scopo.
  63.  
  64.     4 - Gli hacker installavano altri programmi per confondere
  65.         le loro tracce. Il programma "delw" aveva come
  66.         scopo quello di cancellare alcune entry di log
  67.         relative ai file "utmp" e "wtmp". Il programma
  68.         "Xterm" era un telnet camuffato. Sono state
  69.         anche trovate delle shell SUIDed a root e
  70.         degli special file relativi ai dischi di sistema
  71.         con permission = 666 nella directory /dev e in altre 
  72.         parti del file system.
  73.         
  74.     5 - Per poter meglio disperdere le proprie tracce,
  75.         gli hacker talvolta non si sono collegati
  76.         direttamente da una macchina Unix ma sono
  77.         "rimbalzati" su di un Xterminal (probabilmente solo
  78.         Sun o HP). Essendo l'Xterminal un dispositivo
  79.         privo di efficaci meccanismi di controllo
  80.         di accesso e di logging cio` permetteva loro
  81.         di effettivamente nascondere la loro provenienza.
  82.  
  83.     6 - Gli hacker, sfruttando i telnet fasulli, sono
  84.         riusciti ad ottenere molti account su sistemi
  85.         assai diversificati. Non e` calcolabile con
  86.         esattezza il numero delle macchine su cui
  87.         essi hanno ottenuto l'accesso.
  88.  
  89.  
  90.  
  91. ======
  92. Rimedi
  93. ======
  94.  
  95.     Per prima cosa e` necessario "chiudere" il bug usato in
  96.     per diventare root sul sistema. Molti sistemi
  97.     operativi hanno il programma xterm SUIDed a root
  98.     (con il bit-s, es: rwsr-xr-x). Il bit-s puo` essere
  99.     sfruttato per diventare root. E` necessario applicare un
  100.     patch che puo` essere quello ufficiale, cioe` quello che
  101.     i vari vendor distribuiscono, oppure un patch non ufficiale
  102.     che rispetto agli altri ha il vantaggio di essere disponibile
  103.     in forma sorgente utilizzando la distribuzione X11R5.
  104.     Un report circa i patch ufficiali distribuiti dai vari
  105.     vendor e` disponibile, via anonymous ftp presso il site
  106.     ftp.dsi.unimi.it, in:
  107.  
  108.         /pub/security/docs/CERT-advisories/xterm-patch-status.gz
  109.     
  110.     Un patch non ufficiale che include anche una feature
  111.     aggiuntiva per rendere piu` difficoltoso il "grabbing"
  112.     dei caratteri attraverso il protocollo X e` disponibile
  113.     in:
  114.  
  115.         /pub/security/patches/misc/xterm.secure.X11R5.tar.gz
  116.                     
  117.     Come soluzione immediata per arginare il problema consigliamo
  118.     di fare:
  119.  
  120.         # chmod 555 /usr/bin/X11/xterm
  121.     
  122.     in maniera tale che il bit-s di xterm non possa piu` essere
  123.     sfruttato in nessun modo. Questa soluzione ha pero` lo
  124.     svantaggio di non permettere ne` l'aggiornamento del
  125.     file /etc/utmp (per il comando "who") ne` il chown dello
  126.     pseudo terminal corrispondente (rendendo impossibile,
  127.     ad esempio, il comando "mesg").
  128.  
  129.     Le password di tutti gli utenti che hanno effettuato
  130.     collegamenti dall'esterno dovrebbero essere cambiate.
  131.  
  132.     E` inoltre necessario eliminare i file "Xterm", "d" e
  133.     "delw". Bisogna  controllare che non siano presenti
  134.     special file relativi a dischi di sistema con permessi
  135.     di scrittura a tutti (es: crw-rw-rw-).
  136.     
  137.     E` necessario controllare l'integrita` del comando telnet
  138.     di sistema ed eventualmente reinstallarlo prendendo
  139.     l'esegubile dai media originali di installazione.
  140.  
  141.  
  142. ===========
  143. Prevenzione
  144. ===========
  145.  
  146.     Per rafforzare la sicurezza della propria macchina e
  147.     rendere piu` remota l'eventualita` di simili incidenti
  148.     informatici e` consigliabile l'utilizzo di alcuni package
  149.     software di pubblico dominio disponibili, tramite
  150.     anonymous ftp o gopher, presso il site ftp.dsi.unimi.it.
  151.  
  152.  
  153.     1 - TCP wrapper. Disponibile in:
  154.         /pub/security/src/network/tcpd6.0.tar.Z
  155.  
  156.     2 - Xinetd. Disponibile in:
  157.         /pub/security/src/network/xinetd-2.1.1.tar.gz
  158.  
  159.     3 - Venema's portmap. Disponibile in:
  160.         /pub/security/src/network/portmap_2.shar.Z
  161.     
  162.     4 - Tripwire. Disponibile in:
  163.         /pub/security/src/system/tripwire-1.1.tar.Z
  164.  
  165.     5 - Patch al programma sendmail. E` disponibile un report
  166.         circa lo status dei patch ufficiali distribuiti dai
  167.         vendor in:
  168.         /pub/security/docs/CERT-advisories/
  169.         CA-93:16a.sendmail.vulnerability.supplement.gz
  170.  
  171.         Per una versione non ufficiale per cui, pero`, siano
  172.         disponibili anche i sorgenti e` disponibile:
  173.         /pub/security/patches/misc/smrsh.tar.gz
  174.     
  175.     6 - Skey. Disponibile in:
  176.         /pub/security/src/auth/skey-1.1b.tar.Z
  177.  
  178. ==============================================================================
  179.