,

TVHeadend: Script Guida TV

Uno screenshot dell’applicazione TvhClient per iOS con la guida TV.

Gli amici che mi seguono sui Social sanno che in questi giorni sto configurando il mio Intel Nuc Skull Canyon che progressivamente sostituirà il mio “cluster” di Raspberry Pi sfruttati per lavoro e per hobby. Uno dei raspi era configurato con TVHeadend, un software Open Source per visionare la TV o ascoltare la radio in streaming sfruttando il proprio impianto televisivo di casa o una antenna esterna.

La programmazione dei canali inviata tramite le frequenze DVB-T è molto carente, si limita al massimo alle successive 24h ma è facile trovare emettitori che rilasciano informazioni molto più brevi nell’arco delle 3h o che non la rilasciano proprio. Questo non permette di impostare una registrazione automatica dei canali.

Sfruttando invece i dati offerti dalla comunità VuPlus è possibile ottenere una guida TV più ampia, VuPlus offre la programmazione per diversi paesi ed è quindi possibile personalizzare il mio script con l’archivio desiderato.

Mi sono basato su un precedente script creato da Mathias F. Svendsen e l’ho personalizzato per le mie esigenze includendo miglioramenti complessivi nel codice. Per attivare/installare lo script procedete come segue:

  • Copia lo script in /usr/bin/tv_grab_url
  • Assegnare i permessi 777 a tv_grab_url (chmod 777 tv_grab_url)
  • Riavviare TVheadend (/etc/init.d/tvheadend restart)
  • Dalla WebGUI accedere al pannello Configuration > Channel > EPG Grabber > Internal Grabber > selezionare: XMLTV: TV Grab by URL > Save

In maniera predefinita TVHeadend eseguirà il download dei dati due volte al giorno, alle 00:04 e 12:04. In alcuni casi è possibile che il file XML scaricato dallo script contenga dei nomi TV leggermente diversi rispetto a quelli acquisiti dal vostro ricevitore TV e pertanto dovrete fare una associazione manuale dalle impostazioni della WebGUI di TVHeadend.

Il mio script è disponibile su GitHub, ogni collaborazione è ovviamente ben accetta. Vi lascio infine l’estratto di tutte le Guide TV offerte da VuPlus per paese in formato XMLTV.

 

Rytec Benelux XMLTV
http://www.vuplus-community.net/rytec/rytecxmltvBenelux.gz

Rytec Benelux-Telenet XMLTV
http://www.vuplus-community.net/rytec/rytecxmltvBenelux.gz

Rytec Bulgaria XMLTV
http://www.vuplus-community.net/rytecxmltv-Bulgaria.gz

Rytec Denmark XMLTV
http://www.vuplus-community.net/rytec/rytecxmltvnordic.gz

Rytec Erotic XMLTV
http://www.vuplus-community.net/rytec/rytecxmltverotic.gz

Rytec Erotic-Telenet XMLTV
http://www.vuplus-community.net/rytec/rytecxmltverotic.gz

Rytec Finland XMLTV
http://www.vuplus-community.net/rytec/rytecxmltvnordic.gz

Rytec France XMLTV
http://www.vuplus-community.net/rytec/rytecxmltvFrance.gz

Rytec Germany/Austria/Swiss XMLTV
http://www.vuplus-community.net/rytec/rytecxmltvGermany.gz

Rytec Greece XMLTV
http://www.vuplus-community.net/rytec/rytecxmltv-Greece.gz

Rytec Hungary XMLTV
http://www.vuplus-community.net/rytec/rytecxmltv-Hungary.gz

Rytec IPTV XMLTV
http://www.vuplus-community.net/rytec/rytecxmltvIPTV.gz

Rytec Israel XMLTV
http://www.vuplus-community.net/rytec/rytecxmltvosn.gz

Rytec Italy XMLTV
http://www.vuplus-community.net/rytec/rytecxmltvItaly.gz

Rytec Norway XMLTV
http://www.vuplus-community.net/rytec/rytecxmltvnordic.gz

Rytec Middle East XMLTV
http://www.vuplus-community.net/rytec/rytecxmltvosn.gz

Rytec Poland XMLTV
http://www.vuplus-community.net/rytec/rytecxmltv-Poland.gz

Rytec Portugal XMLTV
http://www.vuplus-community.net/rytec/rytecxmltv-Portugal.gz

Rytec Romania XMLTV
http://www.vuplus-community.net/rytec/rytecxmltv-Romania.gz

Rytec Serbia/Croatia/Montenegro XMLTV
http://www.vuplus-community.net/rytec/rytecxmltvexyu.gz

Rytec Slovak/Czech XMLTV
http://www.vuplus-community.net/rytec/rytecxmltv-Czech.gz

Rytec Slovenia XMLTV
http://www.vuplus-community.net/rytec/rytecxmltvexyu.gz

Rytec Spain XMLTV
http://www.vuplus-community.net/rytec/rytecxmltv-Spain.gz

Rytec Sweden XMLTV
http://www.vuplus-community.net/rytec/rytecxmltvnordic.gz

Turkey XMLTV
http://www.vuplus-community.net/rytec/digiturk.xmltv.gz

Rytec UK XMLTV
http://www.vuplus-community.net/rytec/rytecxmltv-UK.gz

Rytec Virgin UK/Ireland XMLTV
http://www.vuplus-community.net/rytec/rytecxmltv-UK.gz

Rytec Csat Africa XMLTV
http://www.vuplus-community.net/rytec/rytecxmltv-CSatOverseas.gz

Rytec Csat Reunion XMLTV
http://www.vuplus-community.net/rytec/rytecxmltv-CSatOverseas.gz

Rytec Csat Carabean XMLTV
http://www.vuplus-community.net/rytec/rytecxmltv-CSatOverseas.gz

Rytec New Caledonia XMLTV
http://www.vuplus-community.net/rytec/rytecxmltv-CSatOverseas.gz

 

,

FibraClick Scanner: Notifiche sullo stato della copertura in Fibra

Fibra Click Scanner è un nuovo progetto che ho voluto realizzare per ricevere automaticamente le notifiche sullo stato di attivazione (ma non solo) del cabinet a cui sono collegato con la mia connessione a internet TIM. L’applicazione analizza i dati forniti dal portale FibraClick e qualora il cabinet indicato risultasse variato (Attivato, Cambio Pianificazione, Saturo, ecc) rispetto alla precedente analisi viene inviata una notifica Push allo Smartphone o Tablet attraverso i servizi offerti da PushOver.

FibraClick è un noto portale che permette di monitorare l’attivazione della Fibra (VDSL/FTTC) TIM nel proprio comune, per utilizzare lo scanner bisognerà indicare anche l’ONU di appartenenza ovvero il numero scritto in nero con sfondo giallo sul cabinet che trovate nelle vicinanze della vostra abitazione. Se non riuscite o non conoscete il numero del vostro cabinet su internet trovate diverse guide su come ottenerlo.

Grazie a questo scanner non dovrò visitare il sito con costanza ma ad ogni variazione riceverò una semplice notifica sul mio smartphone come da immagine di apertura.

Il software è OpenSource e potete scaricarlo tramite GitHub, la configurazione è veramente semplice e potete trovare tutti i dettagli nel file README.

 

,

[AGGIORNATO] Carola Frediani Feed RSS

Carola_Feed

Come tutti gli addetti alla Sicurezza Informatica ormai sanno c’è una bravissima giornalista che racconta in maniera molto precisa e tecnica i fatti di cronaca del mondo IT.

Sto parlando di Carola Frediani, giornalista della La Stampa, purtroppo il quotidiano per cui lavora non permette di effettuare ricerche sul singolo autore ne tanto meno ricevere notifiche su nuove pubblicazioni di un autore preciso.

Nonostante la nostra amicizia su Facebook e Twitter a volte perdo per strada i suoi nuovi articoli, ho quindi pensato di realizzare un semplice progetto Open Source in grado di realizzarmi un Feed RSS di tutti gli articoli che Carola scrive per La Stampa.

Il codice del progetto, scritto in Python, è disponibile su GitHub e su carola.draghetti.it rss.draghetti.it potete invece trovare il file XML che viene generato automatico ed inserirlo nel vostro aggregatore RSS. È inoltre disponibile un Canale Telegram creato da Simon in cui vengono inviate le notifiche generate dal mio Feed.

Il funzionamento dello script è veramente semplice, ogni 30 minuti analizza il Feed RSS integrale della La Stampa e per ogni nuovo articolo pubblicato fa uno scrap del codice HTML alla ricerca del tag article-author. Se il tag contiene “Carola Frediani” verrà aggiornato il Feed RSS dedicato includendo il Titolo, Link, Data approssimativa e un estratto dell’articolo.

Spero possa tornare utile a chiunque voglia rimanere aggiornato sul mondo dell’IT Security, il progetto è Open quindi eventuali Commit e/o critiche sono benvenuti! 😉

,

Joomla Scan – Un script per analizzare il CMS Joomla

Joomla Scan 0.4bI primi giorni di Febbraio in prospettiva del mio nuovo lavoro al D3Lab, ho iniziato a sviluppare un software alternativo all’ormai famoso OWASP JoomScan che purtroppo non riceve aggiornamenti da oltre 3 anni. Oggi ho pubblicato su GitHub la versione 0.4 Beta del mio Joomla Scan, il software è ancora in fase beta ma permette di eseguire una scansione sfruttando un database di oltre 600 componenti.

Lo scopo di questo script non è quello di cercare vulnerabilità, almeno non direttamente, ma quello di individuare i componenti installati sul CMS Joomla ed eventuali informazioni aggiuntive. Per informazioni aggiuntive intendo un file readme, lincese, manifest o magari se la directory del componente è esplorabile. Tutte queste funzioni permettono poi all’utente di ricercare sui principali motori di ricerca eventuali exploit.

Lo script ad oggi permette:

  • Scansionare oltre 600 componenti conosciuti di Joomla;
  • Individuare cartelle esplorabili (Index of…);
  • Individuare componenti disabilitati o dedicati al solo amministratore;
  • Individuare ogni file utile per identificare la versione del componente (Readme, License, Manifest, ecc);
  • Individuare i file robots.txt e error_log.

In futuro prevedo di implementare:

  • Multi Thread (È assolutamente la prima funzione da implementare, analizzare oltre 600 componenti rende la scansione molto lenta);
  • Individuare la versione di Joomla CMS;
  • Integrare la scansione dei Moduli di Joomla;
  • Permettere all’utente di personalizzare l’useragent o randomizzarlo;
  • Permettere all’utente di personalizzare il tempo di timeout (ad ora impostato a 5 secondi).

Nell’immagine di apertura trovate un esempio di scansione, in questo esempio lo script ha trovato 14 componenti di cui 2 con directory esplorabili, 2 probabilmente non attivi e 3 dedicati all’amministratore.

Il software è Open Source, per chi fosse interessato a provarlo o a partecipare al progetto trova i sorgenti su GitHub. Ogni giudizio è assolutamente ben gradito, chiedo venia fin da ora sulla mia programmazione in Python poiché sono alle prime armi con questo linguaggio che ogni giorno mi mostra le sue potenzialità.

,

DDoS PHP Script!

PHP DDoS ScriptNell’underground dei Black Market vendono pacchetti di attacchi DDoS, TrenMicro in un report del 2012 ci fornisce alcuni dettagli sui prezzi variabili in base alla durata, al numero di server sfruttati per l’attacco e dalla banda complessiva che i server nominalmente riescono a generare. Gli attacchi generalmente vengono lanciati tramite script Pyhton (Hammer ne è un esempio) direttamente da riga di comando, ma nel mio caso volevo dimostrare come un sito internet violato potesse diventare un ottimo vettore per lanciare un attacco DoS! Supponendo quindi di non aver accesso al terminale ma di poter veicolare l’attacco attraverso il WebServer.

Riproducendo questa casistica non potevo affatto pensare di scaricare il codice in Python ed eseguirlo sul mio server (anche se possiedo i permessi di root), non sarebbe il caso che voglio dimostrare. Violato un WebServer solitamente l’attaccante deve apprenderne la configurazione per accertarsi se puoi eseguire codice a sua discrezione o se vi sono limitazioni anche nella sola creazione di nuovi file, solitamente infatti non si può eseguire codice in C o in Python ma è  più probabile che il WebServer ci permetta l’esecuzione di codice in PHP vista l’importanza di questo linguaggio nella creazione di siti web. Certo il Python come il RoR stanno prendendo sempre più piede nel mondo web, ma anche senza statistiche alla mano credo sia più facile eseguire codice PHP che Python su un sito web violato (:D sempre pronto ad essere smentito se qualcuno ha dati diversi).

Ho così deciso di scrivere 20/30 righe di codice PHP con lo scopo di effettuare diverse centinaia di richieste UDP attraverso la funzione fsockopen(), eseguendo così un attacco denominato UDP Flood. Il funzionamento è veramente basilare, attraverso una richiesta GET passavo allo script l’IP Target, la porta e la durata dell’attacco in secondi. Lo script attraverso un ciclo while eseguiva quindi l’attacco per tutto il tempo che gli era stato specificato.

Poi ho iniziato a guardarmi in giro ed effettivamente di codice per lanciare attacchi DoS tramite PHP non ne ho visto molti, anzi quasi nessuno (questo per esempio non è più disponibile mi segnalano che è disponibile il sorgente qui!), ho così deciso di pubblicare su GitHub il mio piccolo script per eventuali usi futuri…un promemoria nulla di più!

Se volete quindi provare il codice, criticarlo, migliorarlo o semplicemente scaricarlo lo trovate su GitHub.

Il successo dell’Open Source, mai mi sarei aspettato di ricevere tanto successo da un codice di 20 righe! Il progetto che inizialmente prevedeva solo una chiamata GET e una risposta “OK” tramite la funzione echo quando l’attacco era completato ora vanta un interfaccia CLI, maggior personalizzazione dei parametri (es. è possibile personalizzare la dimensione e la quantità dei pacchetti da inviare durante l’attacco), protezione dello script tramite una password, esecuzione randomatico dell’attacco sulle diverse porte del server, un output accurato in grado di indicarci il numero di pacchetti inviati e la loro dimensione in Tb, Gb, Mb o Kb e infine una GUI. In meno di una settimana ho ricevuto 14 Pull Request e diversi commenti e suggerimenti.

PHP DDoS Script UDP Flood

Voglio quindi ringraziare @TheZer0, @Smaury, @moty66 per l’ottimo supporto che mi stanno dando nel migliorare questa mia piccola creatura.

Un piccolo Disclaimer finale è doveroso, il PHP DDoS Script come ho già spiegato l’ho scritto a scopo didattico e non mi assumo alcuna responsabilità per l’utilizzo non appropriato.

Ah dimenticavo DDoS o DoS Script?!? Ne ho parlato con i “colleghi” del BackBox Team e alla fine ho deciso di chiamarlo DDoS in quanto non è lo script che diversifica il tipo di attacco, ma dipende tecnicamente da quante macchine lo eseguono contemporaneamente e un vero attaccante dubito lo esegua da una sola macchina 🙂

,

Over Monitor – Controlla lo stato del tuo server dallo Smartphone

Over_Monitor

Uscendo dal mondo dell’IT Security voglio presentarvi un mio recente progetto, Over Monitor è una Web App che permette ad un amministratore di sistema di controllare lo stato del proprio server Linux attraverso il proprio Smartphone. In mobilità non è facile monitorare velocemente le risorse disponibili sul proprio server poiché non sempre si ha a disposizione un Computer o anche se l’avessimo non è affatto immediato, Over Monitor vuole proprio colmare questa lacuna e permette di controllare la memoria disponibile, il Load Average e tanto altro attraverso il proprio Browser Mobile.

La prima beta è nata lo scorso 17 Aprile 2013 e basava la propria grafica sul framework iWebKit, successivamente per superare i limiti di compatibilità con tutte le piattaforme mobile ho implementato la grafica grazie al framework jQuery Mobile che nell’ultima beta rilasciata oggi (versione 0.8) vede una perfetta integrazione con tutti i dispositivi mobile.

Over Monitor vi permetterà di controllare:

  • Versione del Sistema Operativo;
  • Versione del Kernel;
  • Versione e Caratteristiche della CPU;
  • Uptime del server;
  • Load Average (1minuto, 5 minuti e 10 minuti);
  • Memoria Disponibile, Usate e Totale;
  • Utilizzo dei dischi;
  • Traffico di rete generato in Upload e Download.

Inoltre vengono generati giornalmente due grafici sull’utilizzo delle Memoria e del Load Average così da poter monitorare costantemente l’uso delle risorse.

Over Monitor è perfettamente compatibile con Smartphone Android, iOS, Windows Phone (versioni 7.5 e 8) e BlackBerry. È possibile visualizzare lo script anche  su Tablet e PC ma a causa di dimensioni diverse graficamente potrete trovare delle imprecisioni.

Over Monitor è Open Source e disponibile su Source Forge OverMonitor.org, l’utilizzo è veramente semplice: basterà scaricare l’archivio e caricare il contenuto della cartella “upload” nel vostro server dove più preferite. Accedendo al percorso che avete creato potete accedere ad Over Monitor.

I grafici vengono generati sfruttando le vostre visite, ma per avere un grafico temporale più completo vi consiglio di aggiungere un crontab, all’interno del file README trovate tutte le indicazioni.

Vi ricordo che Over Monitor è in fase Beta e potrebbero verificarsi degli errori, in tal caso vi chiedere cortesemente di segnalarmeli. La vostra collaborazione è fondamentale per lo sviluppo del software!

Infine voglio ringraziare Simone Margaritelli (evilsocket) per il supporto nella stesura del codice di recupero informazioni.