PDA

Visualizza versione completa : SubSeven o cosa ?


LoryOne
17-11-2008, 19.21.32
Riporto di seguito l'esito di una verifica da me effettuata tempo addietro su segnalazione di un mio collega che non riusciva a comprendere un evento da lui ritenuto piuttosto strano, rilevatosi innocuo a posteriori, sebbene ricco di significato:
Il mio collega non riusciva a capacitarsi del fatto che non alla stessa ora e neppure dallo stesso sito, ma tutti i santi giorni che si collegava e navigava in Internet, il suo firewall interno segnalasse un tentativo di connessione su porta 1243 e protocollo TCP.
Navigando su Internet, la prima cosa che fece fu quella di verificare la porta e protocollo per cercare di identificare il servizio in uso dal possibile aggressore, e non gli fu difficile ricavare l'associazione con il famigerato malware SubSeven.
Immediatamente la sua preoccupazione fu quella di verifcare se malauguratamente il suo client avesse la porta 1243 aperta, sebbene il firewall sul suo PC avesse identificato con successo il tentativo di connessione su quella porta e ne l'antivirus ne l'antispyware avessero segnalato nulla di anomalo.
Tutto Ok, nessun servizio in ascolto su quella porta e con quel protocollo. Per un attimo si tranquillizzò, ma la sua preoccupazione prese nuovamente vigore quando si ricordò che sul firewall del suo router aveva bloccato qualunque tentativo di ingresso dall'esterno verso il suo PC.
Inoltre, la sua sicurezza avrebbe dovuto essere maggiore poichè quel firewall era stateful; perchè, dunque, quel pacchetto aveva superato la barriera del firewall e come aveva fatto ?
Prese il telefono e mi chiamò !

Mi raccontò cosa gli era successo e le verifiche che aveva fatto, poi mi disse che sicuramente sarebbe stato un falso allarme, ma voleva esserne certo.
"Saggia decisione", gli dissi, "ora vengo da te e vediamo insieme ..."

1° fase: Verificare la segnalazione
Per verificare la segnalazione è necessario riprodurre le condizioni che le hanno dato vita. Dopo una verifica delle ACL del firewall sul router, di quelle sul client sebza scordarsi di abilitare la verifica del log prodotto, dopo aver verificato la presenza dell antivirus ed averne aggiornato le definizioni, si parte con la normale navigazione in Internet.
Tutto bene, nessun problema per diversi minuti, quando ad un tratto il firewall segnala:
11/11/2008 17.06.46 Connection request 65.74.181.141 TCP(1243)
Eccola !
Bene, il firewall legge il contentuo del pacchetto ed in base ad una regole ben precisa segnala il tentativo di connessione.

2° fase: Verificare se di attacco si tratta
Sebbene la porta 1243 su protocollo TCP sia quella di default per il trojan SubSeven, è necessario verificare se altri servizi possano fare uso della stessa porta e dello stesso protocollo, dopodichè è sempre necessario verificare il contenuto dei pacchetti.
Collegandosi al sito: http://www.isecom.org/research/oprp.shtml e digitando le informazioni richieste, si ottengono i seguenti risultati:
Number Transport Application Description
1243 TCP BackDoor-G RAT Remote access trojan for Windows
1243 TCP UDP serialgateway
1243 TCP Sub-7 trojan Remote access trojan for Windows 9x and NT
1243 TCP Tiles RAT Remote access trojan for Windows 9x
Dalle informazioni ottenute si evince l'esistenza di altri software malevoli e non che possono utilizzare lo stesso protocollo e la stessa porta.

3° fase: Verificare come viene trattato il pacchetto
Molti firewall consentono di impostare le ACL direttamente dall'interfaccia grafica e salvano le impostazioni in un file cifrato, poco comprensibilie da parte dell'utente.
Altri firewall,invece, prevedono che parte delle impostazioni, quali le ACL, possano essere impostate dall' interfaccia grafica, mentre il livello di allerta possa essere configurato attraverso la modifica di un file di configurazione testuale, come parte del seguente:
# Ports That are Typically Vulnerable
# The description of a vulnerable port has the following format:
#
# Protocol PortNumber Weight Bind UseForAllPackets
# ...
# ...
# System Services:
...
...
...
TCP 1243 1 0 1 #SubSeven or SerialGW
...
...
In effetti, il firewall tratta il tentativo di connessione sulla TCP 1243 come un tentativo di attacco da parte del trojan SubSeven, o da parte dell'innocuo SerialGateway.

4° fase: Sniffing dei pacchetti
Grazie al fido Wireshark, dopo aver riavviato il PC, rieffettuato le operazioni alla prima fase ed atteso il riverificarsi dell'evento della segnalazione, si è proceduto alla verifica del contenuto dello stack TCP e di ogni singolo pacchetto in transito (Le informazioni contrassegnate con xx non hanno rilevanza alcuna):

4406 17:06:46.767230 65.74.181.141 172.16.11.23 TCP http > serialgateway [SYN, ACK] Seq=xx Ack=xx Win=xx Len=xx MSS=xx WS=x
Transmission Control Protocol, Src Port: http (80), Dst Port: serialgateway (1243), Seq: xx, Ack: xx, Len: xx
----------------------------------------------------------
4424 17:06:47.007482 65.74.181.141 172.16.11.23 TCP http > serialgateway [ACK] Seq=xx Ack=xx Win=xx Len=xx
Transmission Control Protocol, Src Port: http (80), Dst Port: serialgateway (1243), Seq: xx, Ack: xx, Len: xx
----------------------------------------------------------
4425 17:06:47.009927 65.74.181.141 172.16.11.23 TCP [TCP segment of a reassembled PDU]
Transmission Control Protocol, Src Port: http (80), Dst Port: serialgateway (1243), Seq: xx, Ack: xx, Len: xx
----------------------------------------------------------
4426 17:06:47.011381 65.74.181.141 172.16.11.23 HTTP HTTP/1.1 200 OK (JPEG JFIF image)
Transmission Control Protocol, Src Port: http (80), Dst Port: serialgateway (1243), Seq: xx, Ack: xx, Len: xx
----------------------------------------------------------
4427 17:06:47.011474 65.74.181.141 172.16.11.23 TCP http > serialgateway [FIN, ACK] Seq=xx Ack=xx Win=xx Len=xx
Transmission Control Protocol, Src Port: http (80), Dst Port: serialgateway (1243), Seq: xx, Ack: xx, Len: 0
----------------------------------------------------------
4449 17:06:47.243529 65.74.181.141 172.16.11.23 TCP http > serialgateway [ACK] Seq=xx Ack=xx Win=xx Len=xx
Transmission Control Protocol, Src Port: http (80), Dst Port: serialgateway (1243), Seq: xx, Ack: xx, Len: xx

Il primo pacchetto riporta i flag SYN/ACK attivi ed è quello che fa scattare la segnalazione del firewall.
Gli ulimi due pacchetti si riferiscono alla chiusura di una sessione TCP/IP in seguito alla direttiva Connection-Close del browser.

5° fase: Conclusioni
I nostri firewall sono stateful, quindi devono necessariamente tener conto dello stato della connessione (quindi dei flag SYN,ACK e FIN) e di quello di chiusura della stessa, oltre ad identificare se la connessione è aperta verso l'esterno o dall'esterno verso l'interno.
Il primo pacchetto riporta la seconda fase del tree-way handshake TCP/IP ed è chiaro che il pacchetto pecedente (non segnalato) sia stato quello che ha generato la connessione verso il server all' IP 65.74.181.141.
Inoltre, la porta sorgente è pari ad 80 per tutti i pacchetti riportati, ulteriore conferma a quanto specificato in precedenza.
E' chiaro, quindi, che non vi è nulla di strano, tranne il fatto che è solo la connessione già aperta ed i pacchetti di ritorno verso la porta interna 1243 del client a far scattare sull'attenti il firewall interno, grazie al flag SYN attivo.
Pertanto, i pacchetti non sono bloccati poichè facenti parte di una sessione consentita da entrambi i firewall.
Per l'esattezza, il firewall sul client identifica tutti i pacchetti come consentiti, ma segnala correttamente il primo in quanto contenente, oltre al flag ACK, il flag SYN.

Spero di aver esposto in maniera chiara e comprensiva il tutto e di esservi stato utile nell'aggiungere un piccolo tassello nella comprensone più profonda di Internet e delle sue numerose sfaccettature ;)

Thor
17-11-2008, 21.41.38
ottimo! (Y)

questa potrebbe essere, adattata un attimino, un'ottima guida avanzata da postare sul sito ;)

stay tuned!

leofelix
18-11-2008, 04.51.20
condivido, merita la pubblicazione, ma io la lascerei così nella forma romanzata: ha qualcosa di kafkiano la narrazione.
Non mi stupirei se infine il collega di LoryOne si fosse svegliato a seguito di una metamorfosi :p

cippico
18-11-2008, 13.37.36
:act:

anche se in alcune parti e' arabo x me... :devil:

ciaooo