Tecnologia e Digital Hacks
03-04-2008

AutoIT, divertimento e semplicità

AutoIt

AutoIt è un linguaggio di automazione per Microsoft Windows. L'ultima versione è la 3.2.10.0 del 25 Novembre 2007. La prima invece all'11 Marzo 2004. AutoIt ha molte funzioni, e la sua sintassi è molto intuitiva. Inoltre permette di compilare con estrema facilità dei file eseguibili (.exe). Utilizziamolo per divertirci un po' :D

Installazione

Per installare AutoIT è sufficiente andare a questa pagina, scaricare AutoIt Full Installation, aprire il file e seguire le istruzioni a schermo.

Primo utilizzo

Clicchiamo col tasto destro su uno spazio vuoto dentro una cartella e scegliamo "Nuovo"->"AutoIt v3 Script" . Scegliamo un nome qualsiasi, ricordandoci però di mantenere l'estensione ".au3" che identifica il linguaggio. Clicchiamo col tasto destro sul file appena creato e scegliamo "Edit Script". Cancelliamo pure tutto il codice di commento generato automaticamente e iniziamo con le prime funzioni di base. Scrivendo "MsgBox(0,"Hello World", "Hi!")" nel campo di testo e premendo F5 otterremo questo risultato: Premiamo CTRL+F7 e generiamo l'eseguibile all'interno della nostra cartella. Avremo un file exe che, una volta eseguito, ci saluterà.

Comandi utili (esempi)

Sui processi

  • ProcessClose("nomeProcesso") | Chiude il processo con nome "nomeProcesso"
  • ProcessExists("nomeProcesso") | Ritorna true se il processo "nomeProcesso" è in esecuzione
  • Run("nomeFile") | Esegue un file, senza path se è di sistema (si può anche impostare la priorità, ecc..)

Iterazioni

Per iterare possiamo usare vari comandi, come "if/endif", "for/next", "while/wend".

Sul registro

  • RegRead("nomechiave") | Legge una determinata chiave dal registro (si può aggiungere anche la sottochiave come altro parametro)
  • RegWrite("nomechiave") | Scrive una determinata chiave nel registro (come sopra)
  • RegDelete("nomechiave") | Cancella una determinata chiave dal registro (come sopra)

Molte altre operazioni

Esistono moltri altri comandi.. dal playing dei file, al shutdown, alla gestione di vari protocolli, alle connessioni, ai file, ecc. Non sto qui a scrivere cose già ampiamente descritte in altri siti. Vi consiglio piuttosto di leggere la guida ufficiale in inglese (estremamente completa) o una piccola guida introduttiva che ho trovato e convertito in pdf (trovata qui).

OfficePoltergeist

E adesso, dopo questa piccola parte teorica.. Un po' di pratica.. Ho scelto di modificare il codice, rilasciato in licenza GPL, di OfficePoltergeist, un piccolo e innocuo programma per fare degli scherzi (una sorta di trojan poco dannoso) ai nostri amici. L'indirizzo ufficiale del programma è http://officepoltergeist.com/. OfficePoltergeist crea una backdoor tramite un file (opserver.exe) che permette l'esecuzione di alcuni comandi sulla porta 666, come lo spostamento delle finestre, la scrittura di messaggi, ecc. Per provarlo ci basta scaricare il file da aprire nel pc della vittima e quello da aprire nel nostro (dove dovremo inserire l'indirizzo IP della vittima). I sorgenti del programma in formato .au3 sono scaricabili qui.

e le nostre modifiche

Ho scelto di modificare il programma in modo da eliminare alcune caratteristiche inutili, aggiungerne alcune nuove, implementare l'esecuzione automatica ad ogni avvio del sistema e rendere estremamente difficile la sua eliminazione senza l'apposito antivirus (che trovate a fondo pagina) o senza l'aiuto del programma di controllo tramite il comando "Rimozione totale". Non ho aggiunto alcuna caratteristica pericolosa a questo programma (per quanto possa essere semplice ed intuitivo) per scoraggiare chiunque voglia fare di questo programma usi poco ortodossi, rovinando la bellezza di questo piccolo linguaggio di programmazione. Impariamo dai virus più recenti come fare a difendere un file dalla minaccia di chi vuole cancellarlo. Anzitutto avremo bisogno di poter ripristinare il file principale che riceve i comandi quando questo viene cancellato. Per farlo il modo migliore è evidentemente scaricarlo da Internet, oltre che nasconderlo alla prima installazione in una cartella sperduta del sistema operativo. Avremo poi bisogno di ben tre file di supercontrollo (rispettivamente Z, J e K), Z in avvio per pochi secondi all'accensione del sistema operativo che controlla la presenza di degli altri due file e nel caso li ripristina e altri 2 (J e K), paralleli, che si eseguono a vicenda nel caso uno di loro venga interrotto e ripristinano Z nel caso sia stato cancellato. Inoltre tengono aperto il server che riceve i comandi e lo ripristinano nel caso esso venga cancellato. La cosa più interessante sarà che il codice di tutti questi file sarà contenuto in un unico grande file, che si comporterà diversamente a seconda di una condizione ancora da decidere. Personalmente ho scelto come condizione di funzionamento il nome del programma. Così ho creato una nuova versione (Fork) di OfficePoltergeist che non si può rimuovere senza difficoltà e che si avvia col computer. Inoltre contiene alcuni nuovi comandi, che vedrete negli screenshot che ho preparato.OfficePolterGeist modificato Come sempre il mio consiglio è quello di provare a guardare il codice (abbastanza commentato!) e magari provare a fare le proprie modifiche. Ad esempio delle modifiche interessanti sarebbero:
  • sfruttare una delle recenti vulnerabilità di Windows XP per bypassare il suo firewall tramite registro di sistema;
  • spostare i file di funzionamento in cartelle arbitrarie/casuali per nascondergli meglio;
  • riuscire a bypassare router e simili tramite una comunicazione "inversa";
  • aggiungere altre funzionalità al server.
Soprattutto sarebbe necessario trovare un'alternativa al MsgBox ( 4096, "Rokken like Dokken", "Listening on IP: " & $ipAddress & " and PORT: " & $portAddress, 5 ) che ho commentato. Ad esempio basterebbe inviare dei dati ad una pagina che accetta comunicazioni in post e magari ci invia l'ip tramite email. Per farlo basterebbe usare ObjCreate("WinHttp.WinHttpRequest.5.1").. Provateci! Insomma come sempre.. Niente licenze restrittive! :) Download dei sorgenti Download dei binari Ci trovate
  • l'antivirus per cancellare manualmente il programma;
  • control che dovete usare voi;
  • server da eseguire nel pc della "vittima".

13 Commenti a “AutoIT, divertimento e semplicità”

  1. Nick scrive:

    @Michele Office Poltergeist viene in effetti rilevato come malware, anche se a tutti gli effetti non lo sarebbe. Per evitare questo problema ti basta scaricare il sorgente formato .au3 e compilarlo manualmente. :) Dimmi se ti da ancora problemi @Uriel Il file .au3 deve essere compilato tramite la suite AutoIt. Altrimenti puoi scaricare i sorgenti compilati da questo link: http://blog.hanicker.it/wp-content/build.zip

  2. Uriel scrive:

    Ciao, Ho provato il programma modificato da te. Ma quando eseguo il file server.au3 ( l'ho testato sil mio pc ) mi apre una pagina dove scegliere cosa aprire O_o Sosa si dovrebbe fare?

  3. Michele scrive:

    Ciao, volevo segnalarti un problema che ho incontrato scaricando OfficePoltergeist dal link che hai messo(il problema non e' il link ovviamente)! Il mio antivirus lo riconosce come file dannoso e anche se inizialmente, dandogli il comando di ignora, sembra funzionare, poi ogni 10 secondi ricompare la shell che dice che il file è dannoso con le varie opzioni eliina-ignora-sposta...ed ovviamente si ripete fino a ricevere il comando elimina!

  4. Nick scrive:

    Concordo :D..E poi ora l'hanno tolta..Niente dubbi ^^

  5. Michele scrive:

    Storia della Matematica non era nemmeno stata presa in considerazione...il lunedi' mattina non mi sarei alzato prima delle 8 per nessun motivo al mondo!

  6. Nick scrive:

    :D..Ti ringrazio per i pareri positivi.. Dopotutto mi piace molto sperimentare.. Beh.. puoi sempre tralasciare storia della matematica..xD

  7. Michele scrive:

    Bello anche questo articolo, solo che porca vacca per star dietro a tutte le cose che metti fuori, dovrei non frequentare più i corsi all'università...

  8. Nick scrive:

    Ti ringrazio! :) In effetti è utilissimo.. Ad esempio ho visto un exe per automatizzare le installazioni di certi programmi. :D Fenomenico! E poi ci si mette un attimo. Grazie anche per il giudizio. In effetti è ancora un po' provvisoria come sistemazione.. Ma la chiarezza è quello che preferisco col mio stato d'animo attuale! E poi sembra anche leggero :D.. Comunque viva itcoffee.net!

  9. Alberto scrive:

    Grande! Bella sta cosa! Ci darò un occhiata! Sembra un linguaggio che può tornare utile per alcune cose.. Inoltre volevo dirti che la nuova combinazione di colori è un po meno d'impatto ma molto più chiara, e il logo è molto più carino così! ;)

  10. Nick scrive:

    Certamente! Non ho fornito informazioni ulteriori proprio per evitare che il programma venisse modificato in modo da causare danni seri ai pc. Tutto quello che ho voluto fare è stimolare la vostra curiosità verso questo facile linguaggio di programmazione (che però non può certo sostituire gli altri!).

  11. Marco scrive:

    Davvero carino! Ma è legale?

  12. Red Skull 92 scrive:

    Il codice in se stesso è mooooolto semplice mi è piaciuta la parte per cancellare il file compilato ancora in esecuzione, non la conoscevo...

  13. g4br1 scrive:

    bello complimenti....anke io ne avevo fatto uno simile tempo fa con piu' funzioni per il controllo remoto ma poi ho visto che e' molto difficile che programmi di questo genere funzionino in pratica visto gli antivirus che oramai basta che un programma e' scritto in autoit lo segnalano come virus!