mercoledì 30 maggio 2018

DNS Leak su ProtonVPN

Premessa: non so se sia un problema legato a ProtonVNP o dal client di OpenVPN

Mi stavo divertendo a fare pentesting su un server amico e per questo motivo stavo usando una connessione VPN tramite ProtonVPN (modalita' free sul server americano)

Nel contempo stavo tenendo Chrome aperto per cercare informazioni su Internet.

Ad un certo punto (non sono riuscito a ripetere il problema) mi e' comparso una finestra di Chrome di pop-under nella quale era mostrata la pagina di OpenDNS che mi segnalava l'accesso ad un pagina non consentita di gaming. Come gia' indicato qui a casa uso un semplice sistema di parental control ed OpenDNS ha fatto il suo lavoro....c'e' un problema.....essendo su un tunnel VPN le chiamate DNS non doveva essere instradate sul server DNS impostato dal mio DHCP server ma dovevano essere utilizzati quelli di ProtonVPN....in pratica la chiamata VPN era stata effettata al di fuori della connessione criptata....cio' che si chiama un DNS Leak

Non sono riuscito a ripetere il problema ma comunque un metodo di monitorare le chiamate al DNS puo' essere il seguente (dove tun0 e' l'interfaccia virtuale VPN)

tcpdump -i tun0 udp port 53 > dns.txt

oppure usando bind

Network Manager OpenVPN Client su Centos 7

In modo abbastanza curioso Centos 7 non ha una configurazione base di Network Manager che prevede l'utilizzo di OpenVPN



Per installare il client si devono scaricare i seguenti pacchetti

NetworkManager-openvpn.x86_64 : NetworkManager VPN plugin for OpenVPN
NetworkManager-openvpn-gnome.x86_64 : NetworkManager VPN plugin for OpenVPN 

martedì 29 maggio 2018

Flora caldinese - Pianta di cappero




Parental control con OpenDNS

Avendo bambini piccoli per casa che usano tablet avevo bisogno di un controllo parentale semplice...cercavo qualcosa di centralizzato (non da installare su ogni dispositivo) e semplice da usare

La soluzione inaspettata e' arrivata da OpenDNS. Questo servizio, oltre ad un DNS puro (come puo' essere 8.8.8.8 di Google) offre anche dei profili gratuiti ed a pagamento per filtrare le chiamate DNS e dirottare quelle indirizzate a siti non graditi verso una pagina di errore



Il modo piu' semplice di utilizzo e' impostare il DHCP server perche' distribuisca indirizzi

208.67.222.222

208.67.220.220

Inserendo l'IP da cui provengono le richieste si ha come risultato di ottenere un filtraggio piu' personalizzato


AGGIORNAMENTO: dopo un giorno di prove ho notato che sui siti in Https veniva mostrato, indipendentemente dal browser, il seguente messaggio di errore


dopo un po' di ricerche ho scoperto che deve essere scaricato ed aggiunto ai certificati del browser il file Cisco_Umbrella_Root_CA.cer (in Chrome si deve fare Settings/HTTPS/Manage Certificates/Authorities/Import/) ...cio' invalida completamente la comodita' dell'impostazione del solo DHCP server

giovedì 24 maggio 2018

AsteroidOS

Funziona ??
Risposta breve : NO



Risposta lunga:
Avendo nel cassetto un LG Watch G non in uso (questo e' l'unico dispositivo su cui si puo' installare avendo il pieno controllo dell'hardware)  ho voluto provare ad installare in modo nativo AsteroidOS sull'orologio. Sono partito subito male perche' ho messo in boot loop il dispositivo nel momento di caricare il firmware...ma era colpa di un cavo USB cinese che non faceva il suo dovere. ....in ogni caso ho scoperto che si puo' mettere l'orologio in bootloader premendo reset sul retro e facendo doppio tap (con due dita) agli angoli dello schermo quando appare la scritta LG

Cambiato cavo flashare il firmware e' stato indolore..il problema successivo e' stato che la app Android per sincronizzare il telefono e l'orologio scaricata da F-Droid andava in crash continuo..dopo aver scaricato i sorgenti da GitHub e compilato da sorgenti la sincronizzazione si e' stabilita....tutto bene..no ....ad orologio acceso e schermo spento e' praticamente impossibile risvegliarlo

Progetto interessante ma ultra immaturo

PS : gli sviluppatori sono molto disponibili

Debug remoto di Chrome su Android

Sto lavorando su un progetto che usa delle API Web sperimentali su un dispositivo mobile ed uso il debugger Chrome sempre aperto....tranne per il problema che la versione Chrome desktop e' differente da quella mobile .... per cui e' necessario fare debug direttamente sul browser mobile

Cio' e' possibile con Adb e Chrome Desktop. Sul desktop si apronon i Developer Tools poi si clicca sui tre puntini sovrapposti More Tools/Remote Devices



Se il telefono e' gia' stato autorizzato via Adb con il desktop si vede la lista dei dispositivi mobile connessi nel tab Remote Devices. Si puo' quindi inserire un link e questo sara' aperto sul telefono



E' inoltre possibile avere una replica dello schermo mobile . 


In questa modalita' si possono debuggare i Javascript 

venerdì 18 maggio 2018

Oculus Go e RIft

Ho avuto modo di provare sia Oculus Go che Oculus Rift.
L'impressione generale, anche in confronto a Daydream, e' che l'hardware sia trascurabile...cio' che fara' effettivamente la differenza sara' la disponibilita' di software




In merito a cio' Oculus Rift ha una killer application...Google Earth VR (non disponibile su Go e Daydream)...peccato che non sia possibile aggiungere dei temi personalizzati

giovedì 17 maggio 2018

Modello digitale del terreno con AFrame e Daydream controller

Tramite il framework Aframe e' possibile visualizzare su un comune browser un modello digitale del terreno in formato OBJ/MTL e poterlo navigare/ruotare con il controller nativo di Daydream

ATTENZIONE : per abilitare il controller Daydream si deve inserire nella url di Chrome la seguente stringa

chrome://flags 

e si devono attivare gli switch WebVR e Gamepad API




-------------------------------------------------------------------------------------------
<html>
  <head>
    <script src="https://aframe.io/releases/0.8.0/aframe.min.js"></script>

    <script src="//cdn.rawgit.com/donmccurdy/aframe-extras/v4.1.1/dist/aframe-extras.min.js"></script>
  </head>
  <body>

    <a-scene background="color: green">

<a-entity id="rig"
          movement-controls="fly: true; speed: 0.3"
          position="15 0 15">
  <a-entity camera
            position="0 1.6 0"
            look-controls></a-entity>
</a-entity>

<a-assets>
                        <a-asset-item id="dem-obj" src="Ricasoli_nord.obj"></a-asset-item>
                        <a-asset-item id="dem-mtl" src="Ricasoli_nord.mtl"></a-asset-item>
        </a-assets>

  <a-entity position="3 6 2" rotation="90 180 270" obj-model="obj: #dem-obj; mtl: #dem-mtl"></a-entity>

    </a-scene>
  </body>
</html>

lunedì 14 maggio 2018

Testare applicazioni su Oculus GO

Per sviluppare proprie applicazioni su Oculus si parte creando un normale progetto Android su Android Studio.



Prima di compilare il pacchetto APK si deve inserire un file con il proprio Device ID in assets (app/src/main/assets) del progetto (il file ha un nome del tipo oculussig_1KWPXXXXXXXX.dms) e permette di eseguire il file APK soltanto sul dispositivo relativo al file .dms


A questo punto si installa il pacchetto via Adb. Si copia il file apk e poi da linea di comando

adb install OculusGO.apk
per disinstallare deve essere inserito il nome completo del package

adb uninstall com.vr.lucainnocenti.oculusgo

La applicazione non e' visibile ne' sul launcher ne' sulle Sorgenti Sconosciute. Per eseguire si usi adb tramite

adb shell am start -n  com.vr.lucainnocenti.oculusgo/.MainActivity

Tastiera IBM Model M

Ho messo obsoleto come tag per questo post ma forse e' sbagliato indicare la mitica tastiera IBM model M come un pezzo da museo ... forse solo perche' ha il connettore PS2




Usavo questa tastiera alla fine degli anni 80, inizio 90 accoppiata ad un PS2 Model 30 286. Il pc e' andato in qualche discarica molti anni fa...la tastiera e' ancora qui con il suo classico rumore

martedì 8 maggio 2018

Unreal e Google VR per DayDream

Si crea un Nuovo Progetto/Blank settando Mobile/Tablet

Menu' Settings /Project Settings/Platforms

Nel sottogruppo Android si devono accettare le due licenze (APK Packaging e Google Play Services) e si imposta il Mininum e Target SDK almeno a 21 per Google VR

Nel sottogruppo Android SDK sempre sotto Platforms si devono poi settare 4 directory che sotto Mac con Android Studio installato e JDK 1.8 sono

SDK : /Users/lucainnocenti/Library/Android/sdk (/Library/Android/sdk)
NDK : /Users/lucainnocenti/Library/Android/sdk/ndk-bundle (/Library/Android/sdk/ndk-bundle)
Ant : /usr/local/Cellar/ant/1.10.3/ (ant installato via Homebrew)
Java_Home : /Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home

per verificare la directory di Java_Home si puo' usare lo script in /usr/libexec/java_home


Per lanciare la applicazione su telefono si usa Launch dove compare il dispositivo (il computer ed il telefono devono essere gia' stati autorizzati)


La prima volta la compilazione e' molto, molto molto lenta perche' devono essere compilati tutti gli shader del progetto (si parla di 10 minuti per il progetto Blank)

Per creare il solo package si va in File/Package Project/Android/Android(ETC1)

Per importare modelli in Unreal la cosa piu' semplice e' usare il formato FBX. Se il modello e' troppo piccolo per la scena si puo' settare il fattore di scala

Specifiche per Google VR (DayDream)
In Project Settings spuntare Enable FullScreen Immersive on KitKat and above, Support amd64 e rimuovere armv7, In Advanced APK Packaging si spunt Configure GoogleVR for sustained performance ed in Configure GoogleVR to support specific hardware si seleziona DayDream

Nel menu Android SDK si configura l'NDK API ad android-21



Si va poi nel menu Engine/Input e si cancella la default touch interface (Clear)

Si clicca su Edit/Plugins e si seleziona la categoria Input Devices abilitando GoogleVR Motion Controller

e nella categoria Virtual Reality si aggiunge Google VR

Si riavvia l'editor per caricare i plugin

Per compilare pacchetti specifici per Daydream si deve selezionare l'opzione AndroidATC



Universita' di Firenze - Scienze della Terra 7 Maggio 2018

A quasi tre anni di distanza dalla precedente esperienza, mi sono trovato a chiaccherare di geologia ed Android con degli studenti universitari ospite presso il Dip. di Scienze della Terra di Firenze (praticamente come giocare in casa)




Acer Travelmate 518TX

Mi e' stato chiesto di ridare vita ad un Acer Travelmate 518TX, una macchina del 1999 (che all'epoca costava in configurazione base 6.000.000 di lire) con P2 a 400 MHz ed una sheda di rete 3Com su PCMCIA
Fino ad adesso con Linux avevo sempre risolto i problemi ma con questo portatile sono sorti un po' di problemi. Primo vincolo: l'utente finale e' una persona a cui non posso dare una Debian netinstall e dirgli di risolversi i problemi. Si tratta di un utente che ha bisogno di un Window Manager decente e deve avere l'utlizzo di un browser un minimo moderno


La macchina, data l'eta', ha ovviamente la batteria esaurita ma anche la batteria del BIOS scarica. Con Win98 tutto funziona tranne il fatto che al momento di settare ora e data nel BIOS questo si pianta...cio' e' ovviamente un problema nel momento di utilizzare Linux (particolarmente permaloso quando vedi gli inode con data nel futuro). Ho provato a smontare gli sportelli per vedere se era facile sostituire la batteria ma questa, come l'HD, sono nascosti in punti non raggiungibili dalle botole....su internet non si trovano informazioni su come si smonta...probabilmente sono entrambi nascosti sotto la tastiera ma non ci sono ganci visibili...prima di rompere qualcosa ho rimandato la sostituzione)

La ram installata era di 128 Mb ma e' stata portata a 192 Mb (il massimo installabile e' 256 Mb secondo la scheda tecnica) con un disco da 6Gb



Ho provato diverse distribuzioni gia' confezionate ma i problemi sono

1) Le immagini di installazione sono ormai piu' di 700 Mb quindi non entrano in un CD. Il Bios della macchina non permette l'avvio da USB Drive

2) I requisiti di memoria RAM sono oramai quasi tutti sopra i 256 MB

3) Alcune distro, nonostante usino pacchetti i386, usano un kernel con PAE, funzionalita' non suppportata dalla macchina


Alla fine, visto che Win98 installato funziona in modo decente (specialmente con i 64 Mb Ram aggiuntivi), ho consigliato di usarlo come macchina da scrivere (il pacchetto Office 2000 e' installato e funzionante) piuttosto che rischiare di avere un computer aggiornato ma non utilizzabile

venerdì 4 maggio 2018

Suse 6.0

Un tuffo nel passato ... mi e' stata prestata una distribuzione Suse Linux 6.0 (indicativamente 1998) ed ho voluto vedere se mi ricordavo come si installava un Linux negli anni 90


Pur avendo un hardware del periodo ho preferito usare una macchina virtuale. Primo dettaglio: il sistema riconosce solo dischi PATA, per questo motivo la macchina virtuale deve avere un disco virtuale non SATA (come di default)

L'installazione non e' grafica ma in generale non crea troppi problemi

Ho montato il sistema di default. Installazione di LILO (!). Al riavvio qualcosa che avevo dimenticato. Bisogna configurare il server X con xf86config ...ricordandomi i mal di testa con questo comando ho abbandonato immediatamente

Intersezione superficie topografica con piani con qgSurf

Un plugin di QGis che non conoscevo ma che puo' tornare utile per verificare la correttezza delle faglie disegnate su una carta geologica.

Questo plugin, presi un modello digitale del terreno e un piano, calcola la linea di intersezione tra le due superfici...una regola della V tecnologica



Per tentativi puo' essere anche stimata la pendenza del piano di faglia ove sia riesca a mappare il contatto in campagna

giovedì 3 maggio 2018

Stereoscopio interattivo con QGis2ThreeJS

Circa 3 anni fa avevo provato il plugin di QGis Qgis2ThreeJS per fare DEM stereoscopici da usare Google CardBoard ma poi avevo lasciato li' la cosa perche' non riuscivo ad avere l'interazione per girare il modello. Adesso ho trovato la soluzione ed e' molto piu' banale di quanto potessi immaginare...un mouse bluetooth. Basta accoppiare il mouse al telefono, inserire il telefono in un CardBoard o DayDream e si puo' visualizzare il modello da piu' punti di vista

Per fare il progetto QGis si deve utilizzare il plugin nel ramo sperimentale

https://github.com/minorua/Qgis2threejs/tree/exp_stereo

e si deve selezione il template 3DViewer.html


Si seleziona poi il modo di controllare il modello


e questo il risultato finale (ovviamente da inserire nel visore)


mercoledì 2 maggio 2018

DEM da stereo orto foto con Photoscan

Un tentativo di ricostruzione di DEM partendo da una coppia di ortofoto riprese da aereo (immagini della mia zona di tesi su un volo del 1973) utilizzando Photoscan
Le foto in originale erano su supporto analogico e sono state scannerizzate alla massima risoluzione disponibile dallo scanner (formato circa 5000x5000 pixels)






Questo il risultato. Considerando che si tratta di due sole immagini e' veramente notevole





Anaglifo (tasto 9 su Photoscan)

Debugger integrato ESP32S3

Aggiornamento In realta' il Jtag USB funziona anche sui moduli cinesi Il problema risiede  nell'ID USB della porta Jtag. Nel modulo...