CarCar > Sicurezza Informatica

Sommario Sicurezza B2


B01-ALL    Scoprire trojan in generale.

Un metodo applicabile a questo tipo di trojan client-server e' quello di installare il client e di provare a contattare il server, dando l'indirizzo IP 127.0.0.1, che corrisponde appunto alla macchina locale (localhost). Se il client ottiene una risposta, avete trovato il server che andra' rimosso prontamente.

[Sommario]


B02-ALL    Ma cosa puo' passare da 'ste benedette porte?

Le porte comunemente utilizzate sono elencate alla faq [A03], mentre altre sulle quali si verificano spesso degli attacchi sono riportate alla faq [C04]. E' importante pero' sapere che il tipo di attacco che si puo' condurre (e quindi i pericoli che si corrono) su una porta aperta dipende da cosa risiede su quella porta, cioe' dal server in ascolto su di essa.
Non bisogna pero' farsi prendere dalla frenesia di chiudere tutte le porte. Infatti, se una porta e' aperta e' (normalmente) perche' ci deve passare qualche dato "legittimo", come la porta 80 su macchine che ospitano un server web. In generale, prima di chiudere una porta bisogna sapere perche' sia aperta; per esempio, il famigerato ICQ apre una porta per ogni comunicazione che ha in corso, e queste non cadono nell'intervallo WKP, formato dalle porte <1024. E' possibile rendersene conto aprendo una shell MS-DOS con ICQ attivo e scrivendo il comando "netstat -na" (senza virgolette) che mostrera' tutte le porte attive e l'indirizzo remoto a cui sono connesse, oltre allo stato della connessione ("netstat /?" per avere tutte le opzioni).

[Sommario]


B03-ALL    Puo' un intruso conoscere quello che scrivo sulla tastiera?

Si'. Per far questo pero' e' necessario che l'intruso riesca a far eseguire sul computer da spiare un "server" che intercetti la tastiera e memorizzi i tasti a mano a mano che vengono premuti, e a intervalli piu' o meno regolari (o a ogni connessione) li invii al "pirata", per esempio alla sua e-mail. La regola e' quindi sempre un controllo assiduo di quello che gira sul proprio computer, con il programma AVP System Watcher (www.avp.it) o anche il WinTop dei Kernel Toys (se si usa Windows 9x).
Se sul computer e' stato installato il server di Back Orifice, tale funzione e' svolta dal file windll.dll (fra le altre).

[Sommario]


B04-ALL    E' possibile che qualcuno riesca a navigare "sembrando me"?

E' in effetti possibile. Questi simpaticoni cercano di connettersi alla porta 1080, dove potrebbe esserci in ascolto un proxy socket. Se riesce nell'intento il tuo computer puo' essere usato dall'attaccante come proxy im modo che il suo computer venga "nascosto" all'esterno e tutte le operazioni che compira' risulteranno effettuate dal computer attaccato.

[Sommario]


B05-ALL    Con tecniche di IP spoofing si riesce facilmente a falsificare l'indirizzo IP di una macchina?

In altre parole:
Se faccio il traceroute dell'indirizzo finto, dovrei comunque riuscire a risalire la catena dei router attraversati fino al finto, oppure risalgo la catena fino all'IP vero?

Fai il traceroute VERO dell'indirizzo FINTO. In teoria, se i vari routers avessero un po' di ingegno, non potresti fare neanche spoofing (o quasi).
In pratica puo' succedere questo:

A(F) ---> B ---> C ---> D

     /
F ---> E --->--+

A ti manda un pacchetto fingendosi F. B, che controlla la sottorete A, ed in teoria non dovrebbe veder passare pacchetti DA F verso "NON A", invece passa questo strano pacchetto "F verso D". Lo stesso fa C, che "dovrebbe" vedere arrivare i pacchetti di F solo da E (ma C non puo' sapere se F sia anche collegato o no a B).
D si vede arrivare un pacchetto da un certo "F" che arriva da "C", di cui si fida e che in passato gli ha mandato pacchetti veri di F. Un traceroute D-->F rivela: D, C, E, F ... B e A sono rimasti fuori. E' possibile naturalmente sapere se F stia originando una connessione con D. A non puo' impedirlo (a meno di cagar bulloni e avere la sfera di vero cristallo del mago Zurli'; o a meno che D o F siano Windows :-) ). Pero', sapere che quel pacchetto "F->D" e' spoofato non ti fa trovare A. Se hai dei sospetti, puoi verificarli in maniera induttiva :-), ma se non hai dei sospetti in particolare, o se A dispone di software adatto (credo vada bene Aggressor per Windows, o qualsiasi cosa per Linux :-) ), fine.

[Sommario]


B01-W    Cos'e' Bo?

E' un programma cosiddetto trojan, che permette intrusioni indesiderate nel proprio computer. BO e' l'acronimo di Back Orifice, nome che irride il prodotto Back Office di Microsoft, oltre ad essere molto esplicito sulla parte del corpo che duole dopo esserselo installato :-))). Esso si compone di un client e di un server, quest'ultimo dev'essere installato sul computer della vittima, dopodiche' il client permette al "buon samaritano" che lo possiede, e a chiunque abbia il client installato, di compiere varie operazioni sul computer "boservizzato" (viene indicato in questo modo un computer che abbia installato il server). Le operazioni possono essere le piu' svariate, dal trasferimento di file all'esecuzione di programmi, alla lettura di informazioni contenute nei dischi (fissi, cd-rom, zip, ...).
Bo fa parte della categoria delle backdoor. In effetti, nel sito Web dei creatori di Back Orifice (il gruppo Cult of the Dead Cow, www.cultdeadcow.com), esso e' definito come un programma di controllo a distanza. Da notare che esso funziona perfettamente sia sotto Windows 95 che sotto Windows 98, mentre non se ne conosce ancora una versione per Windows NT.

[Sommario]


B02-W   Ma cos'e' un trojan?

Un trojan, da non confondere con i virus che sono un'altra cosa, e' un programma che si nasconde sotto le mentite spoglie di un altro programma. Per esempio l'autoinstallante che si spaccia come un fantastico screen saver con il filmato di Pamela. Oltre al Bo rientrano in questa categoria anche programmi come NetBus e TeleCommando. Il nome ovviamente deriva dal mitico Cavallo di Troia, che dentro l'apparenza di un dono di pace celava gli uomini che avrebbero distrutto la citta'stessa.

[Sommario]


B03-W   Infettare con il Bo

Il veicolo di trasmissione di Bo e' un programma chiamato SilkRope. Esso incapsula il server di Bo in un altro programma in maniera apparentemente invisibile, a meno di non aprirlo con un editor, e lo installa quando il programma viene eseguito (ecco il parallelo col Cavallo di Troia). E' questa caratteristica che giustifica il fatto di considerare Back Orifice un trojan, oltre che una backdoor.

[Sommario]


B04-W   SilkRope? E che d'e'?

Dati due programmi a 32 bit li fonde in un unico programma che quando viene eseguito lancia i due originari. Il programma in se' non e' pericoloso, dato che esso puo' fondere due eseguibili a 32 bit qualunque. In tutti i casi in cui sull'hard disk e' presente un eseguibile formato da due programmi uniti con SilkRope, un controllo antivirus potrebbe dare comunque l'allarme, anche se i due programmi sono perfettamente innocui.

[Sommario]


B05-W   Cosa si fa con BO

E' possibile eseguire operazioni remote sul computer boservizzato come se si stesse operando direttamente su di esso. Bo mette in grado il suo utilizzatore anche di conoscere eventuali password digitate, intercettando la tastiera (funzione svolta dal file windll.dll). Si puo' anche aprire la porta 23, quella del telnet, sul PC boservizzato. In tal caso e' possibile avere una shell sul computer della vittima, esattamente come se si telnettasse su sistemi Unix, utilizzando pero' il command.com del DOS invece delle shell Unix come bash.

[Sommario]


B06-W   Come faccio a sapere se ho il Bo?

Di certo non leggendo la finestra che appare premendo CTRL-ALT-DEL.
Bo usa una funzione dell'API di Windows che serve a nascondere il processo che la chiama. "Nascondere" vuol dire appunto che non si vede nella taskbar ne' nella finestra che appare premendo CTRL-ALT-DEL. Mentre si e' in linea, aprite una finestra DOS e lanciate il comando netstat -na. Questo mostrera' tutte le connessioni attive in quel momento (aggiungere un numero per specificare un controllo periodico ogni secondi): se fra esse ce n'e' una sulla porta 31337, e' lui! Questo non esaurisce l'argomento, dato che la porta e' configurabile e quindi puo' essere cambiata da chi tenta di introdursi nelle macchine altrui. Naturalmente l'infame puo' decidere di manifestarsi apertamente, con messaggi pop-up, e in tal caso non c'e' dubbio. Un programma utile al controllo e' AVP System Watcher (www.avp.it, freeware), che controlla il sistema alla ricerca di BO. Antigen č un altro programma per eliminare il Boserve nella forma di default. In ogni caso, anche se il Boserve che vi siete ritrovati sull'HD ha nome e porta di comunicazione differenti, Antigen non riesce a rimuoverlo ma vi rivela comunque la sua presenza e lo disattiva sino al seguente reboot (non riesce a cancellare l'exe del bo in versione non default e la seguente chiamata dal registro di Win).

[Sommario]


B07-W   Ho scoperto di avere Bo, come lo tolgo?

Si puo' fare anche a mano. Cercare e cancellare il file " .exe" (si', il nome del file e' uno spazio) e windll.dll. Il primo e' il server vero e proprio. Cercare comunque la stringa "bofilemap" nell'hard disk e' piu' sicuro, dato che il nome del server puo' essere variato.
Andare nel Registro di Windows alle chiavi

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices

dove sono i programmi lanciati all'avvio. Cancellare da tale chiave qualunque cosa non sia di "sicura" provenienza (Barra di Office, antivirus, demone ICQ, ...). Controllare anche

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce


[Sommario]


B08-W   E come mi accorgo invece di Netbus?

Il file sysedit.exe nella directory C:\<dir di Windows>\System e' di 20k. Se invece e' grande ~400k e' il server di Netbus. Attenzione anche a file di nome patch.exe, splat1.exe o contascatti.exe e persino explore.exe, diverse versioni del trojan possono essere in uno di questi! Riconoscimento: il client ha di solito un'icona che raffigura un ingranaggio grigio. Il server invece ha un'icona fatta a torcia su sfondo blu, ma dipende dalla versione che si ha: a seconda del compilatore che hanno usato, infatti, l'icona cambia. Per esempio il patch ha la spada, il sysedit l'ingranaggio, ma la versione precedente e' quella piu' utilizzata come server essendo apparsa prima (non tutti hanno aggiornato!).

NB: Il programma sysedit.exe di 20k e' un'utility di windows (grafica Win 3.1) che fa partire gli editor dei vari autoexec.bat, system.iniecc.

[Sommario]


B09-W   Come si toglie Netbus?

======== citazione by Giulio ====

La versione 1.53 presenta gravi bug, come ad esempio l'impossibilita' di rimuoverlo attraverso il pulsante di server admin (server admin --->remove server). In questo caso convinene eliminarlo manualmente. In tutti gli altri casi basta avere Netbus versione client e cliccare appunto su server admin e selezionare remove server. Questo dopo essersi collegati all'indirizzo di localhost (127.0.0.1). Nel caso esista una password la ricerca di tale pass e' semplice. Si cerca nel registro di Win il nome del server (Patch oppure Explore) e si leggera' la pass scritta in chiaro alla voce settings.


==== end citazione ====


[Sommario]


B10-W   Come si toglie TeleCommando?

Procurarsi il client ed eseguire il comando "Uninstall Server". Se la risposta e' "You have NO Rights", tentare un password vuota.
Altrimenti il metodo manuale:

    1) Aprire il registro con Regedit e andare alla chiave
    HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\ CurrentVersion\Run togliere il riferimento al file odbc.exe, che si trova in C:\<dir. di Windows>\System
    2) Riavviare il computer
    3) Cancellare il file


[Sommario]


B11-W   Cos'e' Aggressor?

E' un exploit generator. Esso genera pacchetti anomali, che sfruttano delle pecche specifiche di ogni sistema operativo. Per esempio, un pacchetto con una sesta word tale che, in AND con 0x0FE0, ti da' un valore diverso da zero, non gestito da Windows. L'utilizzatore gli da' un IP a cui inviare i pacchetti strani, e il PC della vittima subisce malfunzionamenti vari (si blocca, si resetta, ecc..). Per ovviare al fatto che, sotto Windows, non si possono inviare pacchetti "raw", Aggressor implementa un proprio sistema di controllo del flusso di dati. In Aggressor, fra l'altro, si puo' specificare il Source IP: vuol dire che l'attacco sembra arrivare dall'IP specificato e non dal proprio, ossia ogni pacchetto IP che venisse loggato o ispezionato dal remoto, avrebbe quell'indirizzo invece di quello effettivo di provenienza.

[Sommario]


B12-W   Un bug di mIRC

Sembra che la versione 5.4 di IRC 5.4 abbia un bug che causa il blocco del computer attraverso il DCC. Il problema si puo' risolvere con il seguente script che funziona *solo* con mirc 5.4; il bug dovrebbe essere risolto nella versione 5.41.
phixme {
    %ip = $rand( ?phixer-cut? )
    raw -q privmsg $1 : $+ $chr(1) $+ DCC SEND $r(1,99) $+ .txt %ip
$r(113,9000) $+ $chr(1) $+ $lf $+ privmsg $1 : $+ $chr(1) $+ DCC
RESUME $r(1,99) $+ .txt $+ $chr(1)}

[Sommario]


B13-W   Che rischi corro usando ICQ?

La prima cosa da sapere e' che ICQ, come tutti i programmi basati su TCP/IP, utilizza delle porte, attraverso le quali passano i dati che inviate e ricevete. In particolare, ICQ apre una porta per ogni utente con cui state comunicando, quindi le conclusioni restano all'intuito del lettore di questa FAQ... Puo' essere in teoria possibile che un programma si camuffi da ICQ e quindi faccia uso delle porte che l'utente di ICQ apre per dialogare con un utente remoto (c'e' qualcuno in grado di confermare o smentire?). Esistono anche dei programmi che permettono di usare ICQ come backdoor (avviso ai lamer: non li conosco, quindi non scrivetemi per chiedermi dove sono ^__^).
E' quindi buona norma anche per l'utente di ICQ (come il sottoscritto... sigh!) controllare sempre il PC alla ricerca di presenze sospette.

[Sommario]


B14-W   Cosa sono le scansioni invisibili?

E' possibile sapere se sono state effettuate delle "stealth scan" standard anche sotto Windows 95.
Bisogna aprire un prompt MS-DOS e dare il comando:

C:\WINDOWS\Desktop>netstat -snap tcpTCP

Statistics
Active Opens                      = 245
Passive Opens                     = 8
Failed Connection Attempts = 9
------------------------------

Il valore della riga sottolineata corrisponde al numero di porte aperte scansionate dall'esterno (solo per le porte aperte e' possibile sapere se sono state scansionate). In particolare, il valore indicato e' il numero di scansioni "invisibili" avvenute in successione su porte che ha trovato (NON, come in Linux, il totale delle scansioni che ha tentato). Per esempio, se abbiamo una sola porta aperta e quello scansiona sei volte tutto l'intervallo da 1 a 1024, il valore di "Failed Connection Attempts" e' 6. Se invece scansiona tutto l'intervallo TRANNE quell'unica porta aperta, il valore sarebbe 0.

[Sommario]


B15-W   Ma il file windll.dll non e' un file di sistema di Windows?

No. Il file windll.dll viene creato dal boserve.exe quando viene eseguito la prima volta. Attenzione che il fatto di non averlo puo' non essere significativo: il nome di questo file puo' essere facilmente modificato all'interno del file boserve.exe usando un editor esadecimale. AVP System Watcher, quando deve rimuovere la dll creata dal BO, prevede questa possibilita' ed e' in grado di eliminarla anche se ha un altro nome.

[Sommario]


B16-W   Ho ricevuto un messaggio e-mail con un allegato, ma quando tento di leggerlo il mio Outlook va in crash.

"..questo bug affligge sia Outlook 98 sia Outlook Express compreso l'ultimissimo Outlook 4.01 SP1 fornito con Microsoft Internet Explorer. In pratica, quando il client e-mail riceve un messaggio con un attachment dal nome lunghissimo puņ bloccarsi. .....un hacker preparato puņ preparare ad hoc un attachment il cui nome contiene codice eseguibile con risultati imprevedibili" Fonte: "Internet news", novembre 98 *** Nota del curatore: (C) Leonardo Serni per le seguenti spiegazioni *** (e seconda lamerata ai suoi danni da parte mia :-P ) L'exploit e' possibile perche' la ricezione del nome dell'attachment non controlla se la lunghezza vada oltre il buffer designato ad ospitare il nome stesso. Oltretutto, la parte di codice che verrebbe eseguita dopo lo scarico sembra essere pericolosamente vicina a questo buffer. Di conseguenza la parte finale del nome viene messa in esecuzione poco dopo lo scarico. Ci sono due casi: se si ha a disposizione i sorgenti del programma che si vuole attaccare in questo modo, con uno strumento di debug si guarda dove va a cadere l'esecuzione dopo lo scarico dell'allegato; a questo punto, in quella posizione basta scrivere una istruzione di salto all'indirizzo del buffer dove si trova il programmino (che costituisce la parte finale del nome dell'allegato) e il gioco e' fatto. Se i sorgenti non ci sono, il gioco si fa piu' difficile, si va per tentativi /intuizioni, debug non simbolico ma la sostanza non cambia.

[Sommario]


Fonte...Massimiliano Baldinelli...it.faq

 

Sicurezza informatica - By Carlo Carmagnini