Archivi tag: telnet

Analisi di un attacco di phishing

Ormai stressato dalle n-mila email di phishing che puntualmente superano i filtri antispam, ho deciso di fare chiarezza su questa tipologia di attacco/truffa analizzando un caso specifico.

In particolare, l’email incriminata è la seguente:

Gentile Cliente,

la informiamo che e’ disponibile on-line  il suo estratto conto (riferito al codice del rapporto 05336-1999): potra’ consultarlo, stamparlo e salvarlo sul suo PC per creare un suo archivio personalizzato.

Le ricordiamo che ogni estratto conto rimane in linea fino al terzo mese successivo all’emissione.

Grazie ancora per aver scelto i servizi on-line di CartaSi.
I migliori saluti.

Servizio Clienti CartaSi

****************************************************************
VUOLE CONTESTARE SU UNA SPESA?
Easy Claim e il servizio che fa per lei!

****************************************************************
Per favore, non rispondere a questa mail: per eventuali comunicazioni accedi alla tua area riservata del Sito Internet di CartaSi e scrivici attraverso “Lo sportello del Cliente”:
e il modo piu semplice per ottenere una rapida risposta dai nostri operatori. Grazie per la collaborazione.

Bene, da un’analisi dell’header relativo al suddetto messaggio di posta elettronica si possono evincere diverse informazioni interessanti, tra cui indirizzo IP sorgente del messaggio ed il server SMTP da cui è partito l’inoltro, rispettivamente 37.59.204.181juodenas.com.

Per completezza, ecco la parte dell’intestazione a cui mi riferisco:

from User (unknown [37.59.204.181]) by juodenas.com (Postfix) with ESMTPA id CC72D7EE4335; Wed, 25 Apr 2012 16:21:48 +0400 (MSK)

Il from User (unknown [37.59.204.181]) mi lascia pensare che joudenas.com sia in realtà un open relay. Per averne la certezza ho provato ad inviare un messaggio fittizio alla mia casella di posta, usando la classica CLI via Telnet.

Per identificare l’MTA associato al dominio joudenas.com ho lanciato la seguente query con dig:

nightfly@nightbox:~$ dig juodenas.com mx

il cui output è il seguente:

; <<>> DiG 9.7.0-P1 <<>> juodenas.com mx
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42081
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 1

;; QUESTION SECTION:
;juodenas.com.                  IN      MX

;; ANSWER SECTION:
juodenas.com.           3383    IN      MX      10 juodenas.com.

;; AUTHORITY SECTION:
.                       86593   IN      NS      g.root-servers.net.
.                       86593   IN      NS      c.root-servers.net.
.                       86593   IN      NS      a.root-servers.net.
.                       86593   IN      NS      f.root-servers.net.
.                       86593   IN      NS      i.root-servers.net.
.                       86593   IN      NS      e.root-servers.net.
.                       86593   IN      NS      b.root-servers.net.
.                       86593   IN      NS      k.root-servers.net.
.                       86593   IN      NS      l.root-servers.net.
.                       86593   IN      NS      j.root-servers.net.
.                       86593   IN      NS      h.root-servers.net.
.                       86593   IN      NS      d.root-servers.net.
.                       86593   IN      NS      m.root-servers.net.

;; ADDITIONAL SECTION:
juodenas.com.           3581    IN      A       79.98.31.21

;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Apr 26 09:12:42 2012
;; MSG SIZE  rcvd: 273

Ok, niente server MX specifico. L’unico record che può tornarmi utile è

juodenas.com.           3581    IN      A       79.98.31.21

quindi effettuo una query inversa (PTR) sull’IP 79.98.31.2

nightfly@nightbox:~$ host  79.98.31.21
21.31.98.79.in-addr.arpa domain name pointer server.juodenas.com.

Abbiamo finalmente un FQDN, ergo andiamo di nmap:

nightfly@nightbox:~$ sudo nmap -sS server.juodenas.com

Starting Nmap 5.00 ( http://nmap.org ) at 2012-04-26 09:39 CEST
Interesting ports on server.juodenas.com (79.98.31.21):
Not shown: 848 closed ports, 143 filtered ports
PORT    STATE SERVICE
21/tcp  open  ftp
22/tcp  open  ssh
25/tcp  open  smtp
53/tcp  open  domain
80/tcp  open  http
110/tcp open  pop3
443/tcp open  https
993/tcp open  imaps
995/tcp open  pop3s

Bene, ecco quello che mi interessa:

25/tcp  open  smtp

Sessione Telnet sulla porta 25 e proviamo ad inviare un messaggio di posta fittizio:

nightfly@nightbox:~$ telnet server.juodenas.com 25
Trying 79.98.31.21...
Connected to server.juodenas.com.
Escape character is '^]'.
220 juodenas.com ESMTP Postfix powered by Easy Hosting Control Panel (ehcp) on Ubuntu, www.ehcp.net
helo juodenas.com
250 juodenas.com
mail from: bobovieri@email.it
250 2.1.0 Ok
rcpt to: prova@email.it
554 5.7.1 <prova@email.it>: Relay access denied

Niente da fare, diversamente da quel che pensavo, non si tratta di un open relay. 

Vediamo se riesco a recuperare qualche informazione aggiuntiva mediante un whois:

nightfly@fw-scar:~$ whois juodenas.com

Whois Server Version 2.0

Domain names in the .com and .net domains can now be registered
with many different competing registrars. Go to http://www.internic.net
for detailed information.

   Domain Name: JUODENAS.COM
   Registrar: TUCOWS.COM CO.
   Whois Server: whois.tucows.com
   Referral URL: http://domainhelp.opensrs.net
   Name Server: NS1.SERVERIAI.LT
   Name Server: NS2.SERVERIAI.LT
   Name Server: NS3.SERVERIAI.LT
   Name Server: NS4.SERVERIAI.LT
   Status: ok
   Updated Date: 06-feb-2012
   Creation Date: 05-mar-2010
   Expiration Date: 05-mar-2013

>>> Last update of whois database: Thu, 26 Apr 2012 08:06:00 UTC <<<

The Registry database contains ONLY .COM, .NET, .EDU domains and
Registrars.
Registrant:
 Gytis Juodenas
 Taikos g. 79-76
 Vilnius,  -
 LT

 Domain name: JUODENAS.COM

 Administrative Contact:
    Hostmaster, IV  hostmaster@iv.lt
    J. Kubiliaus g. 6
    Vilnius,  08234
    LT
    +370.52324444
 Technical Contact:
    Hostmaster, IV  hostmaster@iv.lt
    J. Kubiliaus g. 6
    Vilnius,  08234
    LT
    +370.52324444

 Registrar of Record: TUCOWS, INC.
 Record last updated on 06-Feb-2012.
 Record expires on 05-Mar-2013.
 Record created on 05-Mar-2010.

 Registrar Domain Name Help Center:
    http://tucowsdomains.com

 Domain servers in listed order:
    NS2.SERVERIAI.LT
    NS4.SERVERIAI.LT
    NS3.SERVERIAI.LT
    NS1.SERVERIAI.LT

 Domain status: ok

e successivamente proviamo a contattare il server mediante protocollo HTTP:

http://www.juodenas.com/

Uhm, trattasi di un sito di grafica. Mi sa che questi cracker sono riusciti a caricare sul server in questione del codice (ad esempio PHP) in grado di aggirare le restrazioni di Postfix. 

Adesso dedichiamoci alla macchina sorgente dell’attacco. Per prima cosa vediamo quali servizi sono pubblicati all’esterno:

nightfly@nightbox:~$ nmap 37.59.204.181

Starting Nmap 5.00 ( http://nmap.org ) at 2012-04-26 10:41 CEST
Interesting ports on 37.59.204.181:
Not shown: 855 closed ports, 143 filtered ports
PORT     STATE SERVICE
1025/tcp open  NFS-or-IIS
3389/tcp open  ms-term-serv

Nmap done: 1 IP address (1 host up) scanned in 122.29 seconds

RDP è attivo, provo a lanciare una sessione dalla mia macchina:

rdp.png

Windows Server 2003 R2. Ecco da quale host partono le sessioni verso si server SMTP vittima.

Proviamo una query PTR:

nightfly@nightbox:~$ host  37.59.204.181
Host 181.204.59.37.in-addr.arpa. not found: 3(NXDOMAIN)

Niente da fare. Proviamo con un tracert:

C:\Users\eldo>tracert 37.59.204.181

Traccia instradamento verso XEVOHOST-067B7A [37.59.204.181]
su un massimo di 30 punti di passaggio:

  1     2 ms     1 ms     2 ms  * *
  2     *        *        *     Richiesta scaduta.
  3     *        *       41 ms  host45-66-static.41-88-b.business.telecomitalia.
it [88.41.66.45]
  4    43 ms    42 ms    43 ms  217.141.251.206
  5    64 ms    50 ms    50 ms  172.17.4.53
  6    62 ms    62 ms    62 ms  172.17.10.189
  7    61 ms    60 ms    60 ms  172.17.10.81
  8    62 ms    63 ms    63 ms  pos1-11-0-0.milano26.mil.seabone.net [195.22.192
.85]
  9    61 ms    61 ms    66 ms  te8-2.milano52.mil.seabone.net [195.22.205.241]

 10    62 ms     *      178 ms  mil-1-6k.it.eu [91.121.131.17]
 11    72 ms     *       84 ms  fra-1-6k.de.eu [213.251.128.66]
 12    80 ms    81 ms    81 ms  rbx-g1-a9.fr.eu [91.121.131.193]
 13    81 ms   285 ms   274 ms  vss-3-6k.fr.eu [94.23.122.237]
 14    81 ms    82 ms    81 ms  XEVOHOST-067B7A [37.59.204.181]

Traccia completata.

Ho individuato anche l’hosting provider, ovvero xevohosting.it. Esso offre un servizio un po’ “strano”, in quanto rimbalza i propri account su VPS gestiti da altri hosting provider. Ne è l’esempio lampante l’IP di destinazione della VPS, che fa riferimento ad un netblock made in France, ovvero OVH:

37.59.204.181
IP: 37.59.204.181
server location: France
ISP: Ovh Systems

Bene, basta così: segnalo l’abuso ad OVH ed informo il sysadmin di juodenas.com di quanto avvenuto.

Alla prossima.

Script per il backup automatico della configurazione di un router Cisco SOHO 77

Premessa

Un sistemista di rete previdente sa che è di vitale importanza poter contare su di un backup valido delle configurazioni relative ai vari network device. Proprio per questo motivo ho deciso di creare uno scrip che permettesse di automatizzare tale procedura.

soho.JPG

 

Configurare un server TFTP

Occorre precisare che il backup della configurazione del nostro router Cisco SOHO 77 verrà archiviato su di un server TFTP basato su una distribuzione *buntu.

Ma veniamo al dunque. Per prima cosa installiamo il server TFTP digitando:

nightfly@nightbox:~$ sudo apt-get install tftp tftpd xinetd

A questo punto posizioniamoci sulla directory /etc/xinetd.d e creiamo il file tftp il cui contenuto dovrà essere:

service tftp
 {
 protocol        = udp
 port            = 69
 socket_type     = dgram
 wait            = yes
 user            = nobody
 server          = /usr/sbin/in.tftpd
 server_args     = /tftpboot
 disable         = no
 }

Come si può notare dalla direttiva server_args     = /tftpboot il nostro server salverà la configurazione del router nella directory /tftpboot. Inoltre, poichè tale dir non è presente sulla nostra macchina è necessario crearla digitando:

nightfly@nightbox:/$ mkdir tftpboot

posizioniamoci all’interno di /tftpboot e creiamo il file vuoto router.cfg che conterrà la configurazione del SOHO 77:

nightfly@nightbox:/tftpboot$ sudo touch router.cfg

A questo punto lavoriamo sui permessi della directory appena creata e del suo contenuto:

nightfly@nightbox:/$ sudo chmod 777 -R tftpboot

nightfly@nightbox:/$ sudo chown nobody tftpboot

Riavviamo xinetd digitando:

nightfly@nightbox:/$ sudo /etc/init.d/xinetd stop

nightfly@nightbox:/$ sudo /etc/init.d/xinetd start

Infine, verifichiamo che il nostro server TFTP sia in ascolto digitando:

nightfly@nightbox:/$ sudo nmap -sU localhost

se l’output sarà simile al seguente:

69/udp   open|filtered tftp

vuol dire che il server risulta effettivamente in ascolto.

Scrip per il backup automatico della configurazione relativa al SOHO 77

Prima di mostrarvi lo scrip, è necessario installare un tool indispensabile al suo funzionamento. Tale tool prende il nome di expect:

nightfly@nightbox:/$ sudo apt-get install expect

Creiamo ora il file backup_conf_soho77 il cui contenuto dovrà essere il seguente:

#!/usr/bin/expect

set password1 "<pass1>"
set password2 "<pass2>" #necessaria nel caso in cui la password per l'enable sia diversa da quella per l'accesso via telnet

spawn telnet <IP del router>
expect "Password:"
send "$password1r"
expect ">"
send "enar"
expect "Password:"
send "$password2r"
expect "#"
send "copy system:running-config tftp://<IP del server TFTP>/router.cfgr"
expect "?"
send "r"
expect "?"
send "r"
expect "#"
send "exitr"
expect eof

NB: prima della r all’interno delle virgolette ci vuole il backslash, in modo da inviare al router un ritorno a capo (nello scrip non appare in quanto viene automaticamente skippato da myblog per ragioni di sicurezza).

Rendiamo lo scrip eseguibile mediante il comando:

nightfly@nightbox:~$ sudo chmod +x backup_conf_soho77

e successivamente spostiamolo nella directory /usr/bin:

nightfly@nightbox:~$ sudo mv backup_conf_soho77 /usr/bin

Adesso non ci resta che “schedulare” l’esecuzione dello scrip. Per fare questo è sufficiente inserire una entry in /etc/crontab:

00 00   * * * root backup_conf_router

In particolare, ogni mezzanotte verrà eseguito il backup della configurazione mediante lo scrip descritto in precedenza.

Riavviamo cron per rendere effettive le nuove impostazioni:

nightfly@nightbox:~$ sudo /etc/init.d/cron restart

ed abbiamo finito.

A presto.

 

mldonkey: download di un link da remoto

Mettiamo il caso che si voglia scaricare un file mediante mldonkey, ma che la macchina su cui gira tale applicativo sia raggiungibile solo da remoto. Mettiamo inoltre il caso che tale macchina accetti esclusivamente connessioni cifrate via SSH. Come fare dunque per lanciare un download? La risposta è semplice.

Per prima cosa sarà necessario lanciare una sessione SSH verso la macchina di destinazione, utilizzando ad esempio PuTTY (potete scaricarlo da qui, è gratuito).

A questo punto lanciamo un nmap e verifichiamo che la porta 4000 sia in ascolto su localhost:

nightfly@nightbox:~$ nmap localhost | grep 4000

Dovremmo ottenere un output del tipo:

4000/tcp open  remoteanything

Lanciamo quindi il comando:

nightfly@nightbox:~$ telnet localhost 4000

e visualizzaremo un prompt del tipo:

Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Welcome to MLDonkey 3.0.1
Welcome on mldonkey command-line

Use ? for help

MLdonkey command-line:
>

A questo punto siamo dentro la console dei comandi di mldonkey. Autentichiamoci digitando:

auth <username> <password>

e successivamente lanciamo il download di un link (e2k, ftp, torrent e così via) mediante il comando:

dllink <link>

Verifichiamo infine che il download sia effettivamente attivo scrivendo in console:

vd

Ecco fatto, il download è in esecuzione sulla macchina remota. A presto.