Arachni sicurezza applicazioni Web | Linuxiano.it
Privacy Policy

Arachni sicurezza applicazioni Web

Arachni penetra e valuta la sicurezza delle applicazioni Web

Arachni è un framework Ruby completo, modulare, ad alte prestazioni, destinato ad aiutare i tester e gli amministratori della penetrazione per valutare la sicurezza delle applicazioni web

È intelligente, si allena monitorando e imparando dal comportamento dell’applicazione web durante il processo di scansione ed è in grado di eseguire una meta-analisi utilizzando una serie di fattori al fine di valutare correttamente l’affidabilità dei risultati e identificare in modo intelligente (o evitare) false -positivi.

A differenza di altri scanner, tiene conto della natura dinamica delle applicazioni Web, in grado di rilevare i cambiamenti causati durante il viaggio attraverso i percorsi della complessità ciclomatica di un’applicazione Web e di conseguenza essere in grado di adattarsi. In questo modo, i vettori di attacco / input che altrimenti non potrebbero essere rilevati dai non-umani possono essere gestiti senza problemi.

Inoltre, grazie al suo ambiente browser integrato, può anche controllare e ispezionare il codice lato client, nonché supportare applicazioni web altamente complicate che fanno un uso pesante di tecnologie come JavaScript, HTML5, manipolazione DOM e AJAX.

Infine, è abbastanza versatile da coprire una grande quantità di casi d’uso, che vanno da una semplice utility di scansione da riga di comando, a una griglia globale di scanner ad alte prestazioni, a una libreria Ruby che consente audit programmati, a una multi-scansione multiutente piattaforma di collaborazione web.

Nota : nonostante Arachni sia principalmente rivolto alla sicurezza delle applicazioni Web, può essere facilmente utilizzato per lo scraping generico, il data mining, ecc. Con l’aggiunta di componenti personalizzati.
Arachni offre:

  • struttura stabile
  • efficiente
  • alte prestazioni

Check , report e plugin sviluppatori sono autorizzati a creare e distribuire facilmente e rapidamente i loro componenti con la quantità minima di restrizioni imposte su di loro, pur fornendo l’infrastruttura necessaria per raggiungere i loro obiettivi.

Inoltre, sono incoraggiati a sfruttare appieno il linguaggio Ruby in un quadro unificato che aumenterà la loro produttività senza soffocarli o complicare i loro compiti.

Inoltre, lo stesso framework può essere utilizzato come qualsiasi altra libreria di Ruby e portare allo sviluppo di scanner nuovi di zecca o aiutare a creare scenari di scansione / audit altamente personalizzati e / o scansioni con script.
arachni-sicurezza-applicazioni-web arachni-sicurezza-applicazioni-web

arachni-sicurezza-applicazioni-web arachni-sicurezza-applicazioni-web

Semplicità

Anche se alcune parti del Framework sono complesse, non dovrai mai gestirle direttamente. Dal punto di vista dello sviluppatore di un utente o di un componente, tutto appare semplice e diretto per tutto il tempo fornendo potenza, prestazioni e flessibilità.

Dal semplice scanner d’ utility da riga di comando all’interfaccia Web intuitiva e alla piattaforma di collaborazione, Arachni segue il principio della sorpresa minima e offre numerosi feedback e indicazioni.
In  poche parole.

Arachni è progettato per rilevare automaticamente i problemi di sicurezza nelle applicazioni web. Tutto ciò che si aspetta è l’URL del sito web di destinazione e dopo un po ‘ti presenterà i risultati.

Caratteristiche

Generale:

  • Supporto cookie-jar / cookie-string, personalizzato dell’intestazione, SSL con opzioni a grana fine.
  • Spoofing degli User Agent.
  • Supporto proxy per SOCKS4, SOCKS4A, SOCKS5, HTTP / 1.1 e HTTP / 1.0.
  • Autenticazione proxy
  • Autenticazione del sito (basata su SSL, basata su modulo, Cookie-Jar, Basic-Digest, NTLMv1, Kerberos e altri).
  • Rilevamento automatico della disconnessione e ri-login durante la scansione (quando il login iniziale è stato eseguito tramite i plugin autologin , login_script o proxy ).
  • Rilevamento pagina 404 personalizzato.
  • Astrazione dell’interfaccia utente:
  • Interfaccia della riga di comando .
  • Interfaccia utente Web .
  • Sospendi / riprendi la funzionalità.
  • Supporto di ibernazione – Sospendi e ripristina dal disco.
  • Richieste HTTP asincrone ad alte prestazioni.
  • Con concorrenza regolabile.
  • Con la capacità di rilevare automaticamente lo stato del server e regolare automaticamente la concorrenza.
  • Supporto per valori di input predefiniti personalizzati, utilizzando coppie di pattern (da abbinare ai nomi di input) e valori da utilizzare per riempire gli input corrispondenti.

Ambiente browser integrato

Arachni include un ambiente browser integrato e reale per fornire una copertura sufficiente alle moderne applicazioni Web che fanno uso di tecnologie come HTML5, JavaScript, manipolazione DOM, AJAX, ecc.

Oltre al monitoraggio degli ambienti DOM e JavaScript vanigliati, i browser di Arachni si agganciano anche a framework comuni per rendere più facile la digestizzazione dei dati registrati:

  • JQuery
  • AngularJS
  • E c’è dell’altro…

In pratica, questo trasforma Arachni in un debugger DOM e JavaScript, permettendogli di monitorare eventi DOM e dati JavaScript e flussi d’ esecuzione. Di conseguenza, non solo il sistema può innescare e identificare i problemi basati su DOM, ma  in quel momento li accompagnerà con una grande quantità d’ informazioni sullo stato della pagina.

Le informazioni rilevanti includono:

  • DOM della pagina, come codice HTML.
  • Con un elenco di transizioni DOM necessarie per ripristinare lo stato della pagina a quello nel momento in cui è stato registrato.
  • DOM originale (vale a dire prima dell’azione che ha causato il log della pagina), come codice HTML.
  • Con un elenco di transizioni DOM.
  • Sink di flusso di dati – Ogni sink è un metodo JS che ha ricevuto un argomento infetto.
  • Oggetto principale del metodo (es .: DOMWindow ).
  • Firma del metodo (es .: decodeURIComponent() ).
  • Lista degli argomenti
  • Con la macchia identificata localizzata ricorsivamente negli oggetti inclusi.
  • Metodo codice sorgente.
  • JS stacktrace.
  • Sink del flusso di esecuzione: ogni sink è un payload JS eseguito correttamente, come iniettato dai controlli di sicurezza.
  • Include uno stacktrace JS.
  • Le tracce dello stack JavaScript includono:
  • Nomi dei metodi
  • Posizioni del metodo.
  • Metodo dei codici sorgente.
  • Elenchi di argomenti.

In sostanza, si ha accesso a circa le stesse informazioni fornite dal proprio debugger preferito (ad esempio FireBug), come se si fosse impostato un punto d’ interruzione da eseguire al momento giusto per identificare un problema.

Browser-cluster

Il cluster di browser è ciò che coordina l’analisi del browser delle risorse e consente al sistema di eseguire operazioni che normalmente richiederebbero molto tempo.

Le opzioni di configurazione includono:

  • Dimensione del pool regolabile, ovvero la quantità di operatori del browser da utilizzare.
  • Timeout per ogni lavoro.
  • Lavoratore TTL conteggiato in lavori – I lavoratori che superano il TTL hanno il loro processo di browser respawned.
  • Possibilità di disabilitare il caricamento delle immagini.
  • Larghezza e altezza dello schermo regolabile.
  • Può essere utilizzato per analizzare applicazioni reattive e mobili.
  • Possibilità di attendere fino a quando alcuni elementi compaiono nella pagina.
  • Dati di archiviazione locali configurabili.

Copertura

Il sistema è in grado di fornire un’ottima copertura alle moderne applicazioni Web grazie al suo ambiente browser integrato. Ciò gli consente di interagire con applicazioni complesse che fanno un uso massiccio del codice lato client (come JavaScript) proprio come farebbe un umano.

Oltre a ciò, sa anche lo stato del browser cambia, l’ applicazione è stata programmata per gestire ed è in grado di attivarli in modo programmatico al fine di fornire copertura per una serie completa di possibili scenari.

Ispezionando tutte le pagine possibili e i loro stati (quando si utilizza il codice lato client) Arachni è in grado di estrarre e controllare i seguenti elementi e i loro input:

Le forme:

  • Insieme a quelli che richiedono l’interazione tramite un browser reale a causa di eventi DOM.
    Moduli interfaccia utente
  • Gruppi di input e pulsanti che non appartengono a un elemento <form> HTML ma sono invece associati tramite codice JS.
    Input dell’interfaccia utente
  • Elementi orfani con eventi DOM associati.
    link
  • Insieme a quelli che hanno i parametri lato client nel loro frammento, ovvero: http://example.com/#/?param=val&param2=val2
    Con il supporto per le regole di riscrittura.
  • LinkTemplates: consente l’estrazione di input arbitrari da percorsi generici, basati su modelli forniti dall’utente, utili quando le regole di riscrittura non sono disponibili.
    Insieme a quelli che hanno parametri lato client nei loro frammenti di URL, ovvero: http://example.com/#/param/val/param2/val2
  • Biscotti
    intestazioni
  • Elementi lato client generici che hanno associato eventi DOM.
    Parametri di richiesta AJAX.
  • Dati di richiesta JSON.
    Dati di richiesta XML.Apri architettura distribuita

Arachni è progettato per adattarsi al tuo flusso di lavoro e si integra facilmente con la tua infrastruttura esistente.

A seconda del livello di controllo richiesto durante il processo, è possibile scegliere il servizio REST o il protocollo RPC personalizzato.

Entrambi gli approcci ti consentono di:

  • Monitorare e gestire le scansioni da remoto.
  • Eseguire scansioni multiple allo stesso tempo – Ogni scansione è suddivisa in compartimenti con il proprio processo OS per sfruttare:
  • Architetture multi-core / SMP.
  • Programmazione / restrizioni a livello di sistema operativo.
  • Propagazione degli errori sandboxed.
  • Comunicare su un canale sicuro.

API REST

  • API molto semplice e diretta.
  • Facile interoperabilità con sistemi non Ruby.
  • Funziona su HTTP.
  • Usa JSON per formattare i messaggi.
  • Monitoraggio della scansione di stato.
  • Le sessioni univoche ricevono automaticamente gli aggiornamenti solo quando si esegue il polling per il progresso, anziché i dati completi.

API RPC

  • Protocollo di comunicazione ad alte prestazioni / bassa larghezza di banda.
  • Serializzazione di MessagePack per prestazioni, efficienza e facilità di integrazione con sistemi di terze parti.
  • Griglia:
  • Auto-guarigione.
  • Scala su / giù con nodi hot-plug / hot-displugging.
  • Può scalare all’infinito aggiungendo nodi per aumentare la capacità di scansione.
  • (Sempre attivo ) Bilanciamento del carico: tutte le istanze vengono automaticamente fornite dal membro Grid meno gravato.
  • Con opt-out / override opzionale per scansione.
  • (Facoltativo) Modalità ad alte prestazioni: combina le risorse di più nodi per eseguire scansioni a più istanze.
  • Abilitato su base per-scan.

Configurazione dell’ambito

  • Filtri per pagine ridondanti come gallerie, cataloghi, ecc. Basati su espressioni regolari e contatori.
  • Può facoltativamente rilevare e ignorare automaticamente le pagine ridondanti.
  • Filtri di esclusione URL che utilizzano espressioni regolari, di esclusione pagina basati sul contenuto, utilizzando espressioni regolari, di inclusione URL utilizzando espressioni regolari.
  • Può essere costretto a seguire solo i percorsi HTTPS e non a eseguire il downgrade su HTTP.
  • Può facoltativamente seguire i sottodomini.
  • Limite del numero di pagine regolabili, di reindirizzamento regolabile, di profondità di directory regolabile e, di profondità DOM regolabile.
  • Regolazione mediante regole di riscrittura degli URL.
  • Può leggere i percorsi da più file forniti dall’utente (per limitare ed estendere l’ambito).

revisione

Può controllare:

  • Le forme
  • Può aggiornare automaticamente i token nonce.
  • Possono inviarli tramite l’ambiente browser integrato.
  • Moduli interfaccia utente
  • Gruppi di input e pulsanti che non appartengono a un elemento <form> HTML ma sono invece associati tramite codice JS.
  • Input dell’interfaccia utente
  • Elementi <input> orfani con eventi DOM associati.
  • link
  • Può caricarli tramite l’ambiente browser integrato.
  • LinkTemplates
  • Può caricarli tramite l’ambiente browser integrato.
  • Biscotti
  • Può caricarli tramite l’ambiente browser integrato.
  • intestazioni
  • Elementi DOM generici lato client.
  • Dati di richiesta JSON.
  • Dati di richiesta XML.
  • Può ignorare le pagine binarie / non di testo, controllare gli elementi utilizzando entrambi i metodi GET e POST HTTP, iniettare sia payload codificati che HTTP.
  • Poteteinviare tutti i link e i moduli della pagina insieme alle permutazioni dei cookie per fornire una copertura completa di audit dei cookie.
  • Può escludere specifici vettori di input per nome, includere specifici vettori di input per nome.

componenti

Arachni è un sistema altamente modulare, che impiega diverse componenti di diversi tipi per svolgere i propri compiti.

Oltre ad abilitare o disabilitare i componenti in bundle in modo da regolare il comportamento e le funzionalità del sistema secondo necessità, la funzionalità può essere estesa tramite l’aggiunta di componenti creati dall’utente per soddisfare quasi ogni esigenza.

Fingerprinter di piattaforma

Al fine di utilizzare in modo efficiente la larghezza di banda disponibile, Arachni esegue impronte digitali di piattaforma rudimentali e adatta il processo di audit alle tecnologie distribuite sul lato server utilizzando solo payload applicabili.

Attualmente, è possibile identificare le seguenti piattaforme:

  • Sistemi operativi
  • BSD
  • Linux
  • Unix
  • finestre
  • Solaris
  • Server Web
  • Apache
  • IIS
  • nginx
  • micio
  • Molo
  • Gunicorn
  • Linguaggi di programmazione
  • PHP
  • ASP
  • ASPX
  • Giava
  • Pitone
  • Rubino
  • Frameworks
  • cremagliera
  • CakePHP
  • Rails
  • Django
  • ASP.NET MVC
  • JSF
  • CherryPy
  • nette
  • symfony

L’utente ha anche la possibilità di specificare piattaforme extra (come un server DB) per aiutare il sistema a essere il più efficiente possibile. In alternativa, le impronte digitali possono essere disabilitate del tutto.

Infine, Arachni sbaglia sempre dalla parte della cautela e invia tutti i payload disponibili quando non riesce a identificare piattaforme specifiche.

controlli

I controlli sono componenti di sistema che eseguono controlli di sicurezza e problemi di registro.

Attivi

I controlli attivi coinvolgono l’applicazione Web tramite i suoi input:

  • SQL injection (sql_injection) — Error based detection.
    Oracle
    InterBase
    PostgreSQL
    MySQL
    MSSQL
    EMC
    SQLite
    DB2
    Informix
    Firebird
    SaP Max DB
    Sybase
    Frontbase
    Ingres
    HSQLDB
    MS Access
  • Blind SQL injection using differential analysis (sql_injection_differential).
  • Blind SQL injection using timing attacks (sql_injection_timing).
    MySQL
    PostgreSQL
    MSSQL
  • NoSQL injection (no_sql_injection) — Error based vulnerability detection.
    MongoDB
  • Blind NoSQL injection using differential analysis (no_sql_injection_differential).
  • CSRF detection (csrf).
  • Code injection (code_injection).
    PHP
    Ruby
    Python
    Java
    ASP
  • Blind code injection using timing attacks (code_injection_timing).
    PHP
    Ruby
    Python
    Java
    ASP
  • LDAP injection (ldap_injection).
  • Path traversal (path_traversal).
    *nix
    Windows
    Java
  • File inclusion (file_inclusion).
    *nix
    Windows
    Java
    PHP
    Perl
  • Response splitting (response_splitting).
  • OS command injection (os_cmd_injection).
    *nix
    *BSD
    IBM AIX
    Windows
  • Blind OS command injection using timing attacks (os_cmd_injection_timing).
    Linux
    *BSD
    Solaris
    Windows
  • Remote file inclusion (rfi).
  • Unvalidated redirects (unvalidated_redirect).
  • Unvalidated DOM redirects (unvalidated_redirect_dom).
  • XPath injection (xpath_injection).
    Generic
    PHP
    Java
    dotNET
    libXML2
    XSS (xss).
    Path XSS (xss_path).
  • XSS in event attributes of HTML elements (xss_event), HTML tags (xss_tag), script context (xss_script_context).
  • DOM XSS (xss_dom).
  • DOM XSS script context (xss_dom_script_context).
  • Source code disclosure (source_code_disclosure)
  • XML External Entity (xxe).
    Linux
    *BSD
    Solaris
    Windows

Passivi

I controlli passivi cercano l’esistenza di file, cartelle e firme:

  • Metodi HTTP consentiti ( allowed_methods ).
  • File di backup ( backup_files ).
  • Directory di backup ( backup_directories )
  • Interfacce di amministrazione comuni ( common_admin_interfaces ).
  • Directory comuni ( common_directories ).
  • File comuni ( common_files ).
  • HTTP PUT ( http_put ).
  • Protezione del livello di trasporto insufficiente per i moduli password ( unencrypted_password_form ).
  • Rilevazione WebDAV ( webdav ).
  • Rilevamento TRACE HTTP ( xst ).
  • Divulgazione del numero della carta di credito ( credit_card ),degli utenti CVS / SVN ( cvs_svn_users ), dell’indirizzo IP privato ( private_ip ).
  • Backdoor comuni ( backdoors ).
  • .htaccess LIMIT misconfiguration ( htaccess_limit ).
  • Risposte interesting_responses (risultati interesting_responses ).
  • HTML object grepper ( html_objects ).
  • Divulgazione dell’indirizzo di posta elettronica ( emails ), del numero di previdenza sociale negli Stati Uniti ( ssn ).
  • Elenco di directory forzate ( directory_listing ).
  • Risorsa / Scripting misto ( mixed_resource ).
  • Cookie non insecure_cookies ( insecure_cookies ).
  • http_only_cookies cookie ( http_only_cookies ).
  • Completamento automatico per i campi modulo password_autocomplete ( password_autocomplete ).
  • Bypass di restrizione dell’accesso con origin_spoof_access_restriction_bypass ( origin_spoof_access_restriction_bypass )
  • form_upload basato su modulo ( form_upload )
  • localstart.asp ( localstart_asp )
  • Set di cookie per dominio padre ( cookie_set_for_parent_domain )
  • Intestazioni di Strict-Transport-Security mancanti per i siti HTTPS ( hsts ).
  • Intestazioni mancanti di X-Frame-Options ( x_frame_options ).
  • Criterio CORS non insecure_cors_policy ( insecure_cors_policy ), cross-domain non sicuro (allow-access-from) ( insecure_cross_domain_policy_access , cross-domain non sicuro (allow-http-request-headers-from) ( insecure_cross_domain_policy_headers )
  • Criterio di accesso client non insecure_client_access_policy ( insecure_client_access_policy )

Reporters:

  • Uscita standard
  • HTML ( zip ) ( html ).
  • XML ( xml ).
  • Testo ( text ).
  • JSON ( json )
  • Maresciallo ( marshal )
  • YAML ( yaml )
  • AFR ( afr )
  • Il formato predefinito del report di quadro Arachni.

plugin

I plugin aggiungono funzionalità extra al sistema in modo modulare, in questo modo il nucleo rimane snello e rende facile per chiunque aggiungere funzionalità arbitrarie:

  • Passive Proxy ( proxy ): analizza le richieste e le risposte tra l’app Web e il browser che supporta gli audit AJAX, l’accesso e / o la limitazione dell’ambito dell’audit.
  • Accesso basato su modulo ( autologin ).
  • Login basato su script ( login_script ).
  • Dizionario attacker per HTTP Auth ( http_dicattack ).
  • Dizionario attacker per l’autenticazione basata su form ( form_dicattack ).
  • Raccoglitore di cookie ( cookie_collector ): tiene traccia dei cookie mentre stabilisce una sequenza temporale delle modifiche.
  • Rilevatore WAF (Web Application Firewall) ( waf_detector ) – Stabilisce una linea di base del comportamento normale e utilizza l’analisi rDiff per determinare se gli input dannosi causano modifiche comportamentali.
  • BeepNotify ( beep_notify ) – Emette un beep_notify quando termina la scansione.
  • EmailNotify ( email_notify ) – Invia una notifica (e facoltativamente un report) su SMTP alla fine della scansione.
  • VectorFeed ( vector_feed ) – Legge in dati vettoriali da cui crea elementi da controllare. Può essere utilizzato per eseguire audit estremamente specializzati / ristretti su base vettoriale / elemento. Utile per il test unitario o un gazillion altre cose.
  • Script ( script ): carica ed esegue uno script Ruby esterno nell’ambito di un plug-in, utilizzato per il debug e l’hackery generale.
  • Intestazioni uncommon_headers comuni ( uncommon_headers ): registra intestazioni non comuni.
  • Content-types ( content_types ) – Registra il contenuto-tipi di risposte del server che aiutano nell’identificazione di file interessanti (eventualmente trapelati).
  • Vector collector ( vector_collector ) – Raccoglie informazioni su tutti i vettori di input visti che si trovano all’interno dell’ambito di scansione.
  • Raccoglitore intestazioni ( headers_collector ): raccoglie le intestazioni di risposta in base a criteri specificati.
  • Exec ( exec ): richiama eseguibili esterni in diverse fasi di scansione.
  • Metriche ( metrics ): acquisisce metriche su più aspetti della scansione e dell’applicazione web.
  • Limita allo stato DOM ( restrict_to_dom_state ) – Limita l’audit allo stato DOM di una singola pagina, in base a un frammento di URL.
  • Notifica di Webhook ( webhook_notify ) – Invia un payload di webhook su HTTP alla fine della scansione.
  • Limitatore di velocità ( rate_limiter ) – Limiti di velocità richieste HTTP.
  • Pagina dump ( page_dump ) – Scarica i dati della pagina sul disco come YAML.

Defaults

I plug-in predefiniti verranno eseguiti per tutte le scansioni e posizionati in /plugins/defaults/ .

AutoThrottle ( autothrottle ) – Regola dinamicamente il throughput HTTP durante la scansione per l’utilizzo massimo della larghezza di banda.
Healthmap ( healthmap ): genera una mappa del sito che mostra lo stato di ogni URL sottoposto a scansione / verificato

Meta

Plugin sotto /plugins/defaults/meta/ eseguono analisi sui risultati della scansione per determinare l’affidabilità o semplicemente aggiungere informazioni contestuali o approfondimenti generali.

TimingAttacks ( timing_attacks ) – Fornisce un avviso per i problemi timing_attacks dagli attacchi temporali quando le pagine controllate interessate hanno restituito tempi di risposta insolitamente alti per cominciare. Indica inoltre il pericolo di attacchi DoS contro pagine che eseguono elaborazioni gravose.
Scoperta ( discovery ) – Esegue il rilevamento delle anomalie sui problemi registrati dai controlli di scoperta e avvisa della possibilità di falsi positivi, laddove applicabile.
Uniformità ( uniformity ): riporta input che sono uniformemente vulnerabili su un numero di pagine che suggeriscono la mancanza di un punto centrale di disinfezione dell’input.

Sottosistema del trainer

Il Trainer è ciò che consente ad Arachni di apprendere dalla scansione che esegue e incorporare tali conoscenze, al volo, per la durata della verifica.

I controlli hanno la capacità di forzare individualmente il Framework per imparare dalle risposte HTTP che stanno per indurre.

Tuttavia, questo di solito non è richiesto poiché Arachni è consapevole di quali richieste hanno maggiori probabilità di scoprire nuovi elementi o di attaccare vettori e si adatterà di conseguenza, inoltre questo può essere un valore inestimabile per i controlli di Fuzzer.

Installazione

Per installare aprite un terminale (CTRL+ALT+T) e copiate i seguenti comandi:

Terminale
  1. sudo  -s
  2. wget https://github.com/Arachni/arachni/releases/download/v1.4/arachni-1.4-0.5.10-linux-x86_64.tar.gz
  3. tar -xvf arachni-1.4-0.5.10-linux-x86_64.tar.gz
  4. ./arachni_web

P.S. dall’immagine sottostante ho seguito un percorso solo dimostrativo in ogni modo dovete entrare nella cartella “bin”, per entrare nel percorso usate la sintassi da teminale “cd”.

arachni-sicurezza-applicazioni-web

Una volta installato aprite un browser Web e inserite questo comando:

http://localhost:9292/users/sign_in/

per creare un accont clicca sul link sottostante:

http://support.arachni-scanner.com/signup

Grazie! per l’utilizzo della Guida di Linuxiano.

Trovi questo tutorial utile? Condividi con i tuoi amici per tenerlo in vita.
Sii il primo a commentare, apprezzo i tuoi suggerimenti. Per ulteriori domande potete commentare qui sotto.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.

Iscriviti al sito

Il tuo nome (richiesto)

La tua email (richiesto)

Oggetto

Il tuo messaggio


Ho letto

l’informativa Privacy

e autorizzo il trattamento dei miei dati personali per le finalità ivi indicate.

Risolvi il reCAPTCHA per dimostrare che non sei un robot:
[recaptcha]

clicca qui per tornare a Linuxiano