# Os fingerprint e hack vari...

## iko

Ciao, ho cercato incuriosito un po di materiale riguardante la possibilità di "mascherare" i dati del proprio sistema e farlo sembrare un altro so/piattaforma ai vari tool di scanning.

Non so se non sono stato capace io di trovare qualcosa di rilevante ma mi è parso di capire che per i kernel 2.6 non vi sia in giro nulla che lo permetta.

A questo punto vorrei sapere:

1) se effettivamente non c'è nessuna soluzione al momento

2) se avete materiale interessante con informazioni sufficienti per permettere lo sviluppo di un modulo o la modifica dei sorgenti del kernel per ottenere il risultato desiderato.

Grazie

Ciao

Fede

----------

## Kernel78

O non sei stato molto chiaro o non ho ben capito io ...

Esattamente quali dati vorresti mascherare ?

Il risultato di uname -a ? i dati presenti in /etc/issue ? l'hostname ?

----------

## stefanonafets

Andando a naso,

credo che intenda il fingerprint (con relative info sull'os) che ti danno tool tipo nmap.

Corretto?

----------

## iko

 *Kernel78 wrote:*   

> O non sei stato molto chiaro o non ho ben capito io ...
> 
> Esattamente quali dati vorresti mascherare ?
> 
> Il risultato di uname -a ? i dati presenti in /etc/issue ? l'hostname ?

 

No come dice stefanonafets intendevo le info dei tool di scan tipo nmap.

Per cambiare il risultato di uname -a immagino ci sia una stringa nel sorgente del kernel giusto? beh già che ci siamo se qualcuno sa dov'è mi farebbe una cortesia   :Smile: 

Comunque vorrei mascherare TUTTE le info che dall'esterno possono avere sulla mia macchina...

----------

## federico

Anche io certe volte vorrei la luna :p

----------

## Kernel78

 *iko wrote:*   

>  *Kernel78 wrote:*   O non sei stato molto chiaro o non ho ben capito io ...
> 
> Esattamente quali dati vorresti mascherare ?
> 
> Il risultato di uname -a ? i dati presenti in /etc/issue ? l'hostname ? 
> ...

 

Richiesta troppo generica, la cosa più immediata che puoi fare e impedire l'accesso dall'esterno al tuo sistema.

----------

## iko

 *federico wrote:*   

> Anche io certe volte vorrei la luna :p

 

 :Shocked:   :Rolling Eyes:   beh mi sembra comunque una cosa "fattibile" studiandoci un po.. Ho chiesto nella speranza che qualcuno avesse qualche info oppure avesse già tentato questa strada...

L'articolo che ho letto qua era abbastanza interessante: http://insecure.org/nmap/misc/defeat-nmap-osdetect.html ma purtroppo solo per kernel 2.2

----------

## Kernel78

ma tu hai qualche servizio che deve essere raggiungibile dall'esterno ?

----------

## iko

 *Kernel78 wrote:*   

> ma tu hai qualche servizio che deve essere raggiungibile dall'esterno ?

 

Si certo, server mail e web.

----------

## Kernel78

 *iko wrote:*   

>  *Kernel78 wrote:*   ma tu hai qualche servizio che deve essere raggiungibile dall'esterno ? 
> 
> Si certo, server mail e web.

 

e non puoi modificare la loro configurazione per non dare informazioni ?

----------

## iko

 *Kernel78 wrote:*   

>  *iko wrote:*    *Kernel78 wrote:*   ma tu hai qualche servizio che deve essere raggiungibile dall'esterno ? 
> 
> Si certo, server mail e web. 
> 
> e non puoi modificare la loro configurazione per non dare informazioni ?

 

Ad esempio?

----------

## Kernel78

 *iko wrote:*   

> Ad esempio?

 

Ad esempio la variabile server.tag per lighttpd, se la imposti a "paperino 3.14" chiunque interroghi il server web otterrà quella stringa come informazione sul server (e suppongo che impostando una stringa vuota funzioni cmq).

----------

## iko

 *Kernel78 wrote:*   

>  *iko wrote:*   Ad esempio? 
> 
> Ad esempio la variabile server.tag per lighttpd, se la imposti a "paperino 3.14" chiunque interroghi il server web otterrà quella stringa come informazione sul server (e suppongo che impostando una stringa vuota funzioni cmq).

 

Uhm beh a parte il fatto che uso apache (mi pare ci sia comunque anche per apache una cosa del genere..) queste risposte si vedono solo nell'interrogazione del server web. Nulla fanno però a livello di sistema operativo.

----------

## Kernel78

 *iko wrote:*   

> Uhm beh a parte il fatto che uso apache (mi pare ci sia comunque anche per apache una cosa del genere..) queste risposte si vedono solo nell'interrogazione del server web. Nulla fanno però a livello di sistema operativo.

 

Beh, a parte il fatto che non l'avevi specificato e avevi chiesto un esempio ...

Anche in quelle stringhe spesso c'è il sistema operativo su cui gira il server quindi anche li dovresti lavorare ...

Inoltre se sei dietro un router o un firewall difficilmente nmap riuscirà a capirci qualcosa ... a parte che anche provando a lanciare nmap in locale non riesce a identificarmi il sistema operativo ...

----------

## iko

 *Kernel78 wrote:*   

> ... a parte che anche provando a lanciare nmap in locale non riesce a identificarmi il sistema operativo ...

 

No?!? strano con me azzecca sempre e l'ho provato su vari computer...  :Rolling Eyes:  .. Comunque modifcare il fingerprint e farlo sembrare una dreamcast o una cosa del genere è molto "smanettone" e volevo perderci un po di tempo...  :Razz:  però francamente le info che trovo sono abbastanza scarse..

----------

## federico

L'os fingerprint in remoto ha maggiori possibilita' maggiore e' il numero delle porte aperte. Comunque sia ho scritto che e' come volere la luna perche' se fosse su un server con servizi aperti, mi sto chiedendo come mai non lo facciano tutti...

Devi limitare il numero di servizi aperti, modificare quello che restituiscono ad uno scan, se possibile non utilizzare le porte di default, evitare i ping di risposta, droppare gli igmp e via discorrendo. Certo, complica la vita a tutti, anche a te.

----------

## lavish

Visto che usi apache puoi settare: 

```
ServerTokens Prod
```

Per restituire il minor numero possibile di informazioni dall'header.

Inoltre, se usi php, puoi rimuovere dall'header anche X-Powered-By usando questa direttiva di mod_header:

```
Header unset X-Powered-By
```

Ciao  :Wink: 

----------

## Cazzantonio

 *federico wrote:*   

> L'os fingerprint in remoto ha maggiori possibilita' maggiore e' il numero delle porte aperte. Comunque sia ho scritto che e' come volere la luna perche' se fosse su un server con servizi aperti, mi sto chiedendo come mai non lo facciano tutti...

 

E' che solitamente se hai un servizio pubblico vuoi che tutti ci possano accedere senza problemi, e andare a modificare il comportamento dell'implementazione di TCP/IP sul proprio kernel non è una di quelle cose che si fanno se non si vogliono avere problemi.

Alla fine conviene avere un sistema intrinsecamente sicuro (ovvero curare la configurazione dei servizi, aggiornare il sistema e tenere d'occhio gli eventuali bug) piuttosto che perseguire la cosiddetta "security through obscurity".

Se il tuo server è una cosa privata e ti puoi permettere di impostare le porte che vuoi basta implementare un firewall che lascia tutto in DROP tranne alcune porte alte che usi per i tuoi servizi. Uno scan completo del sistema richiederebbe molto tempo e a quel punto puoi impostare dei sistemi di IDS per rilevare i portscan e bannare gli indirizzi da cui provengono.

----------

## KingOfSka

tempo fa avevo trovato (su zone-h forse...) un modulo per i kernel 2.4 , con un nome del tipo fingerprint fucker , che eseguiva proprio quello che dici te (e che volevo io  :Very Happy:  )

putroppo penso non ci sia niente di simile per i kernel 2.6 , e non ho la minima idea di come rendere quel programma compatibile coi nuovi kernel...

il fingerprinting solitamente usa le informazioni ricavate dai pacchetti TCP , o si basa su "comportamenti"/bug tipici di alcuni os, pertanto non penso sia così semplice crearne uno da 0  :Very Happy: 

----------

