Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
PowerShell-Obfuscation-Bible — Una raccolta di tecniche, esempi e un po' di teoria per offuscare manualmente script PowerShell per ottenere l'elusione dell'antivirus, compilata a scopo didattico. I contenuti di questo repository sono il risultato di ricerca personale, inclusa la lettura di materiali online e tentativi ed errori in laboratori e penetration test. | Kitploit
Strumenti/GitHubGitHub/t3l3machus/powershell-obfuscation-bible
Evasione IDS/IPSPenetration TestingApprendimento e FormazioneRed TeamingRisorse CurateSviluppo Payload
GitHubt3l3machus/powershell-obfuscation-bible

PowerShell-Obfuscation-Bible

Vedi Repository
1.2k139262 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →

Informazioni

Una raccolta di tecniche, esempi e un po' di teoria per offuscare manualmente script PowerShell per ottenere l'elusione dell'antivirus, compilata a scopo didattico. I contenuti di questo repository sono il risultato di ricerca personale, inclusa la lettura di materiali online e tentativi ed errori in laboratori e penetration test.

Condividi

PowerShell Obfuscation Bible

Python License

Una raccolta di tecniche, esempi e un po' di teoria per offuscare manualmente script PowerShell al fine di bypassare il rilevamento basato su firme, compilata a scopo educativo. I contenuti di questo repository sono il risultato di ricerche personali, inclusa la lettura di materiale online e tentativi per prove ed errori in laboratorio e durante test di penetrazione. Non dovresti dare nulla per scontato.

Presentazione video YouTube: youtube.com/watch?v=tGFdmAh_lXE

⚠️ Disclaimer: L'utilizzo delle tecniche e dei concetti descritti in questo repository per ottenere accesso non autorizzato a sistemi su cui non hai il permesso di effettuare test è illegale. Sei responsabile delle tue azioni. Non essere malvagio.

Indice

  1. Entropia
  2. Identificare i Trigger di Rilevamento
  3. Rinominare gli Oggetti
  4. Offuscare i Valori Booleani
  5. Interruzione delle Virgolette nei Cmdlet
  6. Interruzione del Caret nei Cmdlet
  7. Tecnica Get-Command
  8. Sostituire i Loop
  9. Sostituire i Comandi
  10. Manipolare le Stringhe
  11. Aggiungere Spazzatura
  12. Aggiungere o Rimuovere Commenti
  13. Randomizzare Maiuscole/Minuscole
  14. Riorganizzare i Componenti dello Script
  15. Eseguire lo Script Riga per Riga

Entropia

Il termine scientifico entropy, che è generalmente definito come la misura della casualità o del disordine di un sistema, è importante nell'evasione degli AV. Questo perché il malware spesso contiene codice altamente randomizzato, cifrato e/o codificato (offuscato) per renderlo difficile da analizzare e quindi da rilevare. Come uno dei vari metodi, i prodotti antivirus utilizzano l'analisi dell'entropia per identificare file e payload potenzialmente dannosi.

È importante comprendere questo concetto perché, quando offuschi codice, dovresti tenere a mente la variazione di entropia creata dalle modifiche che scegli di apportare. Rompere le firme è facile, ma se non presti attenzione al livello di entropia, AV/EDR sofisticati lo vedranno.

Un principio da tenere a mente: Maggiore è l'entropia, più è probabile che i dati siano offuscati o cifrati, e più è probabile che il file/payload sia dannoso. Fortunatamente, ci sono modi per abbassarla.

Claude E. Shannon introdusse una formula nel suo articolo del 1948 A Mathematical Theory of Communication che può essere usata per misurare l'entropia di un insieme di dati. Ecco una semplice implementazione Python della Shannon Entropy che puoi usare per misurare l'entropia dei payload che sviluppi:

#!/bin/python3
# Usage: python3 entropy.py <file>

import math, sys

def entropy(string):
    "Calculates the Shannon entropy of a UTF-8 encoded string"

    # decode the string as UTF-8
    unicode_string = string.decode('utf-8')

    # get probability of chars in string
    prob = [ float(unicode_string.count(c)) / len(unicode_string) for c in dict.fromkeys(list(unicode_string)) ]

    # calculate the entropy
    entropy = - sum([ p * math.log(p) / math.log(2.0) for p in prob ])

    return entropy


f = open(sys.argv[1], 'rb')
content = f.read()
f.close()

print(entropy(content))

Puoi anche usare questo calcolatore di entropia di Shannon online o il Sigcheck.exe di Microsoft con l'opzione -a.

Identificare i Trigger di Rilevamento

La cosa matura ed elegante da fare prima di lanciarsi in tentativi per prove ed errori di offuscamento per ottenere una variazione del payload che non venga segnalata, è identificare le parti di uno script che attivano il rilevamento del malware. Soprattutto in script brevi come i comandi C2, potresti essere in grado di apportare modifiche insignificanti e sparire subito dai radar.

Un ottimo strumento per identificare tali trigger è AMSITrigger. Ecco un esempio di utilizzo con un file contenente uno script dannoso. L'area rossa indica la parte a cui dovrebbe essere applicato l'offuscamento:

immagine

Potresti anche identificare i trigger manualmente eseguendo uno script pezzo per pezzo.

Rinominare gli Oggetti

Quando offuschi script, dovrebbe essere una priorità sostituire i nomi di variabili/classi/funzioni con nomi casuali. In questo modo, in combinazione con altre tecniche, sarai in grado di bypassare il rilevamento facilmente. Ma dovresti tenere a mente l'entropia dei payload che sviluppi. Prendi in considerazione il seguente script reverse shell standard che viene generalmente rilevato dalla maggior parte, se non da tutti, gli AV:

immagine

Ora considera la seguente versione offuscata:

immagine

In questa versione, tutti i nomi delle variabili sono stati sostituiti con nomi casuali lunghi 32 caratteri. Ho anche sostituito (pwd).Path con $(gl). Il payload ha un'entropia di Shannon di 4.96. Al momento della stesura di questo documento, non viene rilevato da MS Defender e da un mucchio di altri prodotti:

immagine

Scarica lo strumento