martedì 6 luglio 2021

OS Fingerprinting: Individuare il sistema operativo attraverso il comando Ping

Ping (Packet internet groper) è un'utility di amministrazione per reti generalmente utilizzata per verificare la presenza e la raggiungibilità di un dispositivo di rete (Host) su una rete IP (Internet Protocol). 

Ping invia un pacchetto ICMP (Internet Control Message Protocol) di tipo Echo Request al sistema target e rimane in attesa di un pacchetto ICMP di tipo Echo Reply di risposta (solitamente la parte del sistema operativo dedicata alla gestione dello stack di rete è programmato per rispondere automaticamente con un pacchetto Echo Reply alla ricezione di un pacchetto Echo Request). In questo modo viene misurato il tempo, in millisecondi, impiegato da uno o  più pacchetti ICMP a raggiungere un dispositivo di rete e a ritornare indietro consentendo di misurare anche le latenze di trasmissione di rete.

Il Time to live (TTL) si riferisce alla quantità di tempo o salti (conosciuti anche con il termine HOPS e che rappresentano, in pratica, il numero di reti attraversate per raggiungere il destinatario) che un pacchetto è impostato per esistere all'interno di una rete prima di essere scartato da un router. I valori di default del TTL differiscono tra i vari sistemi operativi (si veda la tabella) il che consente di effettuare una prima ipotesi sul sistema operativo installato sull'host che si sta analizzando (OS fingerprinting).

Device / OSVersionProtocolTTL
AIX TCP60
AIX UDP30
AIX3.2, 4.1ICMP255
BSDIBSD/OS 3.1 and 4.0ICMP255
CompaTru64 v5.0ICMP64
Cisco ICMP254
DEC PathworksV5TCP and UDP30
Foundry ICMP64
FreeBSD2.1RTCP and UDP64
FreeBSD3.4, 4.0ICMP255
FreeBSD5ICMP64
HP-UX9.0xTCP and UDP30
HP-UX10.01TCP and UDP64
HP-UX10.2ICMP255
HP-UX11ICMP255
HP-UX11TCP64
Irix5.3TCP and UDP60
Irix6.xTCP and UDP60
Irix6.5.3, 6.5.8ICMP255
juniper ICMP64
MPE/IX (HP) ICMP200
Linux2.0.x kernelICMP64
Linux2.2.14 kernelICMP255
Linux2.4 kernelICMP255
LinuxRed Hat 9ICMP and TCP64
MacOS/MacTCP2.0.xTCP and UDP60
MacOS/MacTCPX (10.5.6)ICMP/TCP/UDP64
NetBSD ICMP255
Netgear FVG318 ICMP and UDP64
OpenBSD2.6 & 2.7ICMP255
OpenVMS07.01.2002ICMP255
OS/2TCP/IP 3.0 64
OSF/1V3.2ATCP60
OSF/1V3.2AUDP30
Solaris2.5.1, 2.6, 2.7, 2.8ICMP255
Solaris2.8TCP64
StratusTCP_OSICMP255
StratusTCP_OS (14.2-)TCP and UDP30
StratusTCP_OS (14.3+)TCP and UDP64
StratusSTCPICMP/TCP/UDP60
SunOS4.1.3/4.1.4TCP and UDP60
SunOS5.7ICMP and TCP255
UltrixV4.1/V4.2ATCP60
UltrixV4.1/V4.2AUDP30
UltrixV4.2 – 4.5ICMP255
VMS/Multinet TCP and UDP64
VMS/TCPware TCP60
VMS/TCPware UDP64
VMS/Wollongong1.1.1.1TCP128
VMS/Wollongong1.1.1.1UDP30
VMS/UCX TCP and UDP128
Windowsfor WorkgroupsTCP and UDP32
Windows95TCP and UDP32
Windows98ICMP32
Windows98, 98 SEICMP128
Windows98TCP128
WindowsNT 3.51TCP and UDP32
WindowsNT 4.0TCP and UDP128
WindowsNT 4.0 SP5- 32
WindowsNT 4.0 SP6+ 128
WindowsNT 4 WRKS SP 3, SP 6aICMP128
WindowsNT 4 Server SP4ICMP128
WindowsMEICMP128
Windows2000 proICMP/TCP/UDP128
Windows2000 familyICMP128
WindowsServer 2003 128
WindowsXPICMP/TCP/UDP128
WindowsVistaICMP/TCP/UDP128
Windows7ICMP/TCP/UDP128
WindowsServer 2008ICMP/TCP/UDP128
Windows10ICMP/TCP/UDP128


Per cercare di individuare il sistema operativo installato sull'Host target, basta eseguire un Ping. Supponiamo di voler analizzare un host che si trova sulla nostra stessa rete, il comando da eseguire sarà del tipo
ping 192.168.0.55
al posto dell'indirizzo IP possiamo utilizzare il nome Host.
Time to live 64
FIG 1 - Time to live 64


Come visibile in FIG 1, l'Host target ha risposto al ping con un TTL a 64 che, visionando i valori in tabella, ci fa desumere che siamo davanti ad un sistema *nix/Linux.
Questo è il caso più semplice infatti, trovandoci sulla stessa rete dell'Host target, il TTL non viene decrementato.

Quando l'Host target si trova su un'altra rete bisogna tener conto anche degli HOPS. Ad esempio, supponiamo di voler indagare sul sistema operativo che ospita il sito www.cisco.com.
Eseguiamo il ping verso il sito web
ping www.cisco.com 
Ping www.cisco.com
FIG 2 - Ping www.cisco.com


Il TTL restituito dal ping è 56 (FIG 2). Dato che mi aspetto si tratti di un sistema *nix/linux posso supporre che tra i due host, quello da cui è stato lanciato il comando e quello target, ci siano 8 router. Per verificarlo basta eseguire un traceroute.
In ambiente Windows il comando da eseguire è
tracert www.cisco.com
in ambiente linux il comando è
traceroute -n www.cisco.com
TraceRoute
FIG 3 - TraceRoute

Come visibile da FIG 3 tra i due host ci sono 8 router (il nono è l'indirizzo della macchina target).

I risultati ottenibili con questa tecnica non sono affidabili al 100% anche se si tratta del metodo meno invasivo e che da meno nell'occhio. Innanzitutto, come visibile in tabella, più sistemi operativi hanno lo stesso TTL inoltre i valori di default possono essere modificati. Risultati più attendibili possono essere ottenuti utilizzando tool come p0f, nmap e xprobe.




mercoledì 30 giugno 2021

Windows Server 2019: Attivare log per installazione software tramite Group Policy

Nell'articolo Windows Server 2019: Installare software tramite i Criteri di gruppo (GPO) abbiamo visto come sia possibile installare software tramite l'utilizzo dei Criteri di gruppo. Purtroppo non sempre le installazioni vanno a buon fine e in questi casi è bene disporre del maggior numero di informazioni possibili per risalire alla causa del problema. Nelle prossime righe verrà mostrato come attivare il log di Windows Installer che ci fornirà maggiori dettagli nel caso in cui l'installazione di un software fallisse.

Attivazione Log Windows Installar tramite Criteri di gruppo

  • Da Server Manager, cliccare su Strumenti quindi su Gestione Criteri di gruppo.
    Server Manager
    FIG 1 - Server Manager

  • Il Criterio di gruppo che andremo a creare agirà su tutte i computer appartenenti al dominio. Cliccare, con il tasto destro del mouse, sul dominio mycompany.local e selezionare Crea un oggetto Criteri di gruppo in questo domino e crea qui un collegamento.
    Gestione Criteri di gruppo
    FIG 2 - Gestione Criteri di gruppo

  • Assegnare il nome al nuovo criterio di gruppo (ad es. GPO_LogWindowsInstaller) e cliccare su OK.
    Nuovo oggetto Criteri di gruppo
    FIG 3 - Nuovo oggetto Criteri di gruppo

  • Cliccare con il tasto destro del mouse sul criterio di gruppo appena creato e selezionare Modifica.
    Modifica GPO
    FIG 4 - Modifica GPO

  • Posizionarsi su Configurazione computer -> Modelli amministrativi -> Componenti di Windows -> Windows Installer. Aprire il criterio Specifica i tipi di eventi registrati nel registro delle transazioni di Windows Installer eseguendo un doppio click del mouse.

    GPO Windows Installer
    FIG 5 - GPO Windows Installer

  • Tramite questo criterio è possibile specificare i tipi di eventi che si desidera registrare. Per indicare che un tipo di evento è da registrare basta digitare la lettera che rappresenta il tipo di evento nell'apposita casella. È possibile digitare le lettere in qualsiasi ordine e aggiungere all'elenco tutti i tipi di eventi desiderati. Gli eventi registrabili sono rappresentati dalle seguenti lettere:
    i - Messaggi di stato
    w - Avvisi di errori non gravi
    e - Tutti i messaggi di errore
    a - Avvio di azioni
    r - Record specifici di azioni
    u - Richieste utente
    c - Parametri interfaccia utente iniziali
    m - Memoria insufficiente
    p - Proprietà terminale
    v - Output dettagliato
    o - Messaggi di spazio su disco insufficiente
    x - Informazioni di debug aggiuntive
    Inserendo nell'apposita caselle tutte le lettere (iwearucmpvox), registreremo ogni cosa ma l'installazione sarà molto rallentata. Selezionare l'opzione Attivata e nell'apposita casella specificare le lettere degli eventi che si desidera registrare quindi cliccare su OK.

    Specifica i tipi di eventi nel registro delle transazioni di Windows Installer
    FIG 6 - Specifica i tipi di eventi nel registro delle transazioni di Windows Installer

Il file di Log dell'installazione verrà generato in %WinDir%\Temp con il nome MsiXXXX.log (dove XXXX sono 4 caratteri alfanumerici). Una volta terminata l'analisi dei log e risolto il problema di installazione è consigliabile disattivare il criterio di gruppo per evitare rallentamenti e spreco di spazio su disco.



Attivazione Log Windows Installar tramite registro di sistema

Per l'attivazione del Log di Windows Installer tramite il registro di sistema basta creare, all'interno della chiave di registro
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer
il valore Logging di tipo Reg_SZ e come Dati valore vanno specificate le lettere relative agli eventi che si intendono monitorare.
Logging
FIG 7 - Logging







sabato 26 giugno 2021

Apple: Bug consente di disattivare il Wi-Fi su iPhone/iPad connettendosi ad una rete con un SSID particolare

Qualche giorno fa Carl Schou, esperto reverse engineer e founder di http://secret.club , ha segnalato su Twitter un bug di iPhone/iPad:  dopo la connessione a una rete con SSID %p%s%s%s%s%n, le funzioni Wi-Fi dell'iPhone/iPad vengono completamente disabilitate. Anche dopo aver riavviato il dispositivo o cambiato il nome della rete, la funzione Wi-Fi dell'iPhone/iPad rimane permanentemente bloccata. Il difetto è presente in tutte le versioni recenti di iOS/iPadOS, compresa la 14.6 mentre la falla non risulta presente sui dispositivi Android o Windows.
Carl Schou su Twitter
FIG 1 - Carl Schou su Twitter


Il problema deriva da un difetto di formattazione delle stringhe e nel modo in cui iOS analizza l'input SSID, che causa un denial of service: in alcuni linguaggi di programmazione i caratteri con il simbolo di percentuale vengono utilizzati come istruzioni di formattazione e iOS e iPadOS accettano tali caratteri come nome di una rete Wi-Fi senza effettuare un controllo o convertirli (uncontrolled format string). Al momento Apple non ha rilasciato dichiarazioni in proposito.

Per ripristinare la funzionalità Wi-Fi sui dispositivi colpiti, l'unico modo è quello di resettare le impostazioni di rete del sistema operativo. L'operazione può essere eseguita da iPad/iPhone andando in Impostazioni -> Generali -> Ripristina -> Ripristina impostazioni di rete. Una volta eseguita l'operazione bisognerà  reimmettere tutti i parametri della propria connessione Wi-Fi.

Gli utenti di iPhone/iPad possono trovare sollievo nel fatto che la vulnerabilità viene innescata solo dopo essersi collegati a quella rete Wi-Fi con quel nome particolare. In ogni caso e indipendentemente dal dispositivo utilizzato (smartphone Android o Apple, PC, Tablet) bisogna sempre prestare attenzione alle reti Wi-Fi a cui ci si connette e sarebbe meglio evitare reti sconosciute o con nomi strani.




mercoledì 23 giugno 2021

Windows Server 2019: Resettare la scadenza della password per un utente

Quando la password di un account utente presente in Active Directory è scaduta, l'utente è costretto a cambiarla. Potremmo trovarci nella situazione di dover far in modo che l'utente continui ad utilizzare la stessa password. In questo caso possiamo intervenire in Active Directory agendo sull'attributo pwdLastSet dell'account utente che rappresenta la data dell'ultima modifica della password. Impostando tale attributo alla data odierna, faremo in modo che l'utente possa continuare ad usare la sua password fino alla prossima scadenza.

Resettare la scadenza della password per un utente

  • Da Utenti e computer di Active Directory (dsa.msc) verificare che, dal menu Visualizza, sia selezionata la voce Funzionalità avanzate.
  • Aprire le proprietà dell'account utente e posizionarsi sulla scheda Editor attributi.
  • Modificare l’attributo pwdLastSet impostandolo a 0 (che corrisponde al valore Mai), quindi confermare cliccando sul pulsante OK e successivamente nuovamente su OK per chiudere la finestra delle proprietà dell'account
  • Ripetere l'operazione riaprendo le proprietà dell'account ma questa volta impostando l'attributo pwdLastSet a -1 (che corrisponde alla data odierna), quindi confermare cliccando sempre su OK.
Attributi account Active Directory
FIG 1 - Attributi account Active Directory

L'operazione può essere eseguita in maniera analoga utilizzando lo strumento Centro di amministrazione di Active Directory.

Resettare la scadenza della password per un utente da PowerShell

Per resettare la scadenza della password tramite PowerShell baste eseguire il comando
Set-ADUser -Identity <account> -Replace @{pwdLastSet=-1}
ovviamente passando al parametro Identity il Distinguished Name (DN), il GUID (objectGUID), il security identifier (objectSid) o il SAM account name (sAMAccountName)
Ad esempio:
Set-ADUser -Identity Giovanni.Lubrano -Replace @{pwdLastSet=-1}





venerdì 18 giugno 2021

Raspberry PI OS: Configurazione stampante

Per poter installare e configurare una stampante sul Raspberry, così come per molti sistemi Linux, è necessario installare CUPS e le sue dipendenze.
CUPS (Common Unix Printing System) è un sistema d stampa open source sviluppato da Apple che usa il protocollo IPP (Internet Printing Protocol) per supportare la stampa sia su stampanti locali che di rete.

Per installare CUPS, dall finestra Terminale eseguire il comando
sudo apt-get install cups
CUPS ha molte dipendenze quindi, a seconda della velocità della propria connessione ad Internet, potrebbe richiedere un po' di tempo. Al termine dell'installazione assegnare a CUPS l'accesso da amministratore predefinito (pi) con il comando
sudo usermod -a -G lpadmin pi
Ora l'utente pi è membro dello user group lpadmin.

Dal browser raggiungere la pagina https://localhost:631. Verrà visualizzato il messaggio Your connection is not private. Cliccare su Advanced quindi sul link Proceed to localhost (unsafe)
FIG 1 - CUPS, Your connection is not private
Generalmente quando il browser avvisa che la pagina non è sicura bisogna procedere con molta cautela. In questo caso il link è sicuro: la porta 631 fornisce l'accesso, attraverso il browser, al server CUPS installato precedentemente. 

Se si utilizza una stampante USB connetterla ad una delle porte del Raspberry e accenderla. Se, invece, si utilizza una stampante di rete assicurarsi che sia accesa e connessa alla stessa rete del Raspberry.

All'interno dell'interfaccia di CUPS, cliccare su Administration presente nella barra in alto all'interno della pagina quindi sul pulsante Add Printer.
CUPS Add Printer
FIG 2 - CUPS Add Printer

Per procedere, autorizzare l'utente pi specificando la password.
Selezionare la propria stampante e cliccare su Continue
Dato che diversi produttori non forniscono driver Linux per i dispositivi Arm potremmo non trovare il nostro modello di stampante in elenco. In questi casi bisogna selezionare l'opzione migliore per il nostro modello magari facendo una ricerca o andando per tentativi.
CUPS Stampanti rilevate
FIG 3 - CUPS Stampanti rilevate


Nel passo successivo viene visualizzato il nome e la descrizione della stampante e possiamo decidere se condividerla. Cliccare su Continue per proseguire.
CUPS Condivisione stampante
FIG 4 - CUPS Condivisione stampante

In questo passaggio possiamo indicare il modello preciso della nostra stampante selezionandolo dall'elenco o fornendo il file PPD. Fatta la nostra selezione cliccare su Add Printer.
CUPS Modello stampante
FIG 5 - CUPS Modello stampante

Nella schermata successiva possiamo specificare alcune impostazioni di default per la nostra stampante. Cliccare su Set Default Options. La nostra stampante è installata.







lunedì 14 giugno 2021

Windows Server 2019: Configurazione Server DHCP

Nell'articolo precedente è stato mostrato come installare il Server DHCP. Di seguito verranno mostrati i passi per la sua configurazione:
  • Da Server Manager cliccare sul menu Strumenti e selezionare DHCP.
    Server Manager
    FIG 1 - Server Manager

  • È possibile distribuire Indirizzi IP versione 4 e versione 6. In questo articolo lavoreremo con gli indirizzi IPv4. Cliccare sul nome del server per espandere l'alberatura quindi selezionare IPv4. Viene suggerito di creare un ambito (o scope). Un ambito è un intervallo di indirizzi IP assegnato ai computer che richiedono un indirizzo IP dinamico.
    DHCP
    FIG 2 - DHCP

  • Cliccare, con il tasto destro del mouse, su IPv4 e selezionare Nuovo ambito.
    Nuovo ambito
    FIG 3 - Nuovo ambito

  • Verrà avviata la Creazione guidata ambito. Cliccare su Avanti per proseguire.
    Creazione guidata ambito
    FIG 3 - Creazione guidata ambito

  • Il passo successivo consiste nell'assegnare un nome all'ambito. Nella casella Nome digitare il nome che si intende assegnare all'ambito (ad es. Rete Locale) e cliccare su Avanti.
    Nome ambito
    FIG 4 - Nome ambito

  • A questo punto bisogna specificare l'intervallo di indirizzi IP dell'ambito. In FIG 5 è stato specificato l'intervallo 192.168.1.50 - 192.168.1.254. È importante lasciare un intervallo di indirizzi libero per computer e dispositivi che richiedono un indirizzo IP fisso. Come Subnet mask lasciamo quella proposta e clicchiamo su Avanti.
    Intervallo indirizzi IP
    FIG 5 - Intervallo indirizzi IP

  • Nella finestra successiva possiamo definire IP o intervalli di IP da escludere (non verranno distribuiti dal server). Ad esempio, supponiamo di voler escludere dalla distribuzione gli indirizzi IP che vanno da 192.168.1.100 a 192.168.1.120. Nelle apposite caselle digitare l'intervallo da escludere e cliccare su Aggiungi. Cliccare su Avanti per proseguire.
    Esclusioni
    FIG 6 - Esclusioni

  • In questo passo è necessario definire il periodo di concessione dell'indirizzo IP. La durata del lease  specifica per quanto tempo ad un client viene assegnato un indirizzo IP prima che sia necessario rinnovare la concessione.  Per reti mobili, composte prevalentemente da computer portatili e dispositivi mobili, è consigliabile utilizzare un periodo di lease più breve. Analogamente, per reti composte da postazioni fisse si consiglia di utilizzare un periodo di lease più lungo. Per default viene proposta una durate del lease di 8 giorni. Cliccare su Avanti.
    Durata lease
    FIG 7 - Durata lease

  • Nella finestra successiva ci viene richiesto se vogliamo configurare le altre opzioni DHCP come gli indirizzi del gateway, indirizzi DNS e le impostazioni WINS da distribuire. Lasciare selezionata l'opzione Sì, configurare le opzioni adesso e cliccare su Avanti.
    Configura opzioni DHCP
    FIG 8 - Configura opzioni DHCP

  • Specificare, se disponibile, l'indirizzo del gateway da assegnare ai client tramite il DHCP  e cliccare su Aggiungi. Cliccare su Avanti per procedere con il passo successivo.
    Router (gateway predefinito)
    FIG 9 - Router (gateway predefinito)

  • In questa fase possiamo specificare i server DNS. Come visibile in FIG 10, viene già proposto il nostro server DNS. Per aggiungere un nuovo DNS, come ad esempio il DNS di Google 8.8.8.8, digitare l'indirizzo IP nell'apposita caselle e cliccare su Aggiungi. Terminata la configurazione, cliccare su Avanti.
    Nome dominio e server DNS
    FIG 10 - Nome dominio e server DNS

  • In questo caso non abbiamo la necessità di specificare Server WINS. Cliccare su Avanti.
    Server WINS
    FIG 11 - Server WINS

  • Se si intende attivare subito l'ambito, lasciare selezionata l'opzione Sì, attiva l'ambito adesso e cliccare su Avanti.

    Attiva ambito
    FIG 12 - Attiva ambito

  • Cliccare su Fine per terminare la configurazione dell'ambito.
    Completamento della Creazione guidata ambito
    FIG 13 - Completamento della Creazione guidata ambito





mercoledì 2 giugno 2021

Windows Server 2019: Installazione Server DHCP

Un server DHCP è un server di rete che fornisce e assegna automaticamente indirizzo IP, gateway predefinito e altri parametri di rete ai dispositivi client. Si basa sul protocollo standard noto come Dynamic Host Configuration Protocol o DHCP per rispondere alle richieste di trasmissione dei client.
Un server DHCP invia automaticamente i parametri di rete richiesti dai client per comunicare correttamente in rete. Senza di esso, l'amministratore di rete deve impostare manualmente ogni client che si unisce alla rete, il che diventa impraticabile per le reti di grandi dimensioni. I server DHCP di solito assegnano a ogni client un indirizzo IP dinamico unico che cambia quando il lease del client per quell'indirizzo IP è scaduto.

Installazione Server DHCP

  • Da Server Manager, nella sezione Dashboard, cliccare su Aggiungi ruoli e funzionalità.
    Server Manager
    FIG 1 - Server Manager

  • Verrà aperta la finestra del Wizard che ci guiderà nell'aggiunta di nuove funzionalità. Cliccare sempre su Avanti fino alla sezione Ruoli server.
    Aggiunta guidata ruoli e funzionalità
    FIG 2 - Aggiunta guidata ruoli e funzionalità, Operazioni preliminari

    Tipo di installazione
    FIG 3 - Tipo di installazione
    Selezione dei server
    FIG 4 - Selezione dei server

  • Selezionare Server DHCP.
    Ruoli server
    FIG 5 - Ruoli server

  • Nella finestra di dialogo che appare, cliccare su Aggiungi funzionalità.
    Aggiungi funzionalità
    FIG 6 - Aggiungi funzionalità

  • Cliccare sempre su Avanti fino a raggiungere la sezione Conferma.
    Ruoli server
    FIG 7 - Ruoli server

    Funzionalità
    FIG 8 - Funzionalità

    Server DHCP
    FIG 9 - Server DHCP

  • Cliccare su Installa.
    Conferma
    FIG 10 - Conferma

  • Cliccare su Completa configurazione DHCP.
    Risultati, Completa configurazione DHCP
    FIG 11 - Risultati, Completa configurazione DHCP

  • Cliccare su Avanti.
    Descrizione
    FIG 12 - Descrizione

  • In questa schermata possiamo specificare le credenziali da utilizzare per autorizzare il server DHCP in Servizi di dominio Active Directory. Lasciare selezionata l'opzione proposta e cliccare su Commit.
    Autorizzazione
    FIG 13 - Autorizzazione

  • Cliccare su Chiudi.
    Riepilogo
    FIG 14 - Riepilogo


L'installazione del Server DHCP è completa. Nel prossimo articolo verrà mostrato come configurarlo e come creare uno scope.