Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
QuasarNix — Rilevamento di Reverse Shell con Machine Learning | Kitploit
Strumenti/GitHubGitHub/dtrizna/quasarnix
Strumenti DifensiviGenerazione di PayloadShellcodeMachine LearningRilevamento IntrusioniPaper e RicercaApprendimento e FormazioneRilevamento di AnomalieAttacco Avversario
GitHubdtrizna/quasarnix

QuasarNix

Rilevamento di Reverse Shell con Machine Learning

722 mesi faNon ancora revisionato

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 →
Condividi
Vedi Repository

QuasarNix: Rilevamento di Reverse-Shell Living-off-the-Land Robusto agli Attacchi Avversari

Dmitrijs Trizna · Luca Demetrio · Battista Biggio · Fabio Roli

Paper arXiv Dataset Models


Panoramica

Le reverse shell Linux living-off-the-land (LOTL) abusano di binari legittimi (bash, python, nc, …) per stabilire connessioni in uscita occulte, rendendo il rilevamento basato su firme inaffidabile contro nuove varianti e tentativi di evasione. QuasarNix affronta due lacune aperte nel campo:

  1. Nessun rilevatore SIEM pubblico basato su ML — rilasciamo i primi modelli ML pronti per la produzione e con licenza aperta per il rilevamento di reverse-shell LOTL.
  2. Fragilità avversariale — valutiamo i modelli sotto attacchi di evasione e di avvelenamento, e forniamo checkpoint addestrati in modo avversariale che sopravvivono a tutti gli attacchi testati.

Il framework sintetizza un corpus di addestramento di 1M di comandi a partire da 34 template di reverse-shell e valuta 14 architetture di modelli in un punto operativo di FPR = 10⁻⁶ — rispecchiando i vincoli reali di affaticamento da alert nei SIEM.


Risultati Chiave

Prestazioni sul test set escluso dall'addestramento (held-out) tra euristiche di base e architetture QuasarNix. Il TPR è riportato come media ± deviazione standard su dieci run di addestramento indipendenti a FPR = 10⁻⁶. Il grassetto indica il miglior risultato; l'asterisco (*) evidenzia i modelli discussi nell'articolo.

Baseline

QuasarNix — Modelli Tabellari (One-Hot Encoding)

QuasarNix — Modelli Sequenziali (Embedding dei Token)

In sintesi: GBDT raggiunge 60% TPR a FPR = 10⁻⁶ — 18× superiore alle firme (3.37%) — addestrandosi in 14 secondi su hardware comune.


Robustezza Avversariale

Perturbazioni di Evasione dalla Shell

La tabella seguente elenca le tecniche di evasione dalla shell Linux presenti nell'arsenale dell'attaccante. La terza colonna indica se la tecnica sopravvive alla normalizzazione delle telemetrie del kernel auditd — solo le quattro voci in grassetto producono un record EXECVE distinto e costituiscono la vera superficie di attacco.

Solo 4 delle 15 tecniche sopravvivono alla normalizzazione a livello di kernel e vengono usate come spazio di attacco avversariale.

Evasione e Addestramento Avversariale

Vengono valutate tre famiglie di attacco — iniezione di contenuto benigno, perturbazioni di evasione dalla shell e un ibrido delle due:

  • L'iniezione di contenuto benigno devasta tutti i modelli neurali; GBDT mantiene un'accuratezza ≥93% grazie alla pesatura dell'importanza delle feature.
  • Le perturbazioni di evasione dalla shell riducono GBDT e CNN a un'accuratezza dello 0% con budget di perturbazione massimo in assenza di difese.
  • L'addestramento avversariale rende inefficaci tutti e tre i tipi di attacco su ogni architettura valutata.

Robustezza all'Avvelenamento

Oltre all'evasione in fase di inferenza, valutiamo gli attacchi in fase di addestramento:

Inquinamento da label-flipping (0–20% delle etichette di addestramento invertite): i modelli degradano gradualmente; GBDT mostra una resistenza intrinseca grazie al voto di ensemble, rimanendo funzionale ad alte percentuali di inquinamento.

Attacco backdoor (rapporto di avvelenamento 0,01–1%, trigger di 2–10 token): i trigger corti (2–4 token) non riescono a installare backdoor affidabili a causa della loro prevalenza nel traffico benigno. L'installazione ottimale di una backdoor richiede trigger di 6–10 token con un rapporto di avvelenamento ≥0,03%.

In sintesi: Gli attacchi di avvelenamento richiedono un'iniezione di dati sostanziale e statisticamente rilevabile per avere successo. Il meccanismo di ensemble di GBDT fornisce una robustezza intrinseca senza alcun costo di addestramento avversariale.


Validazione Industriale

Dopo la pubblicazione di questo lavoro, Google ha pubblicato un sistema di produzione concettualmente allineato a CAMLIS 2025 (arXiv:2512.08802): una pipeline a due fasi YARA + ML distribuita su decine di migliaia di sistemi, che elabora fino a 250 miliardi di eventi al giorno. Quel sistema valida in modo indipendente il paradigma ibrido di ML per il rilevamento SIEM e il ciclo di feedback di apprendimento attivo proposto qui, dimostrandone la fattibilità su scala industriale.


Dataset e Modelli Pre-Addestrati

RisorsaLinkDettagli
Datasetdtrizna/QuasarNix1.003.122 comandi · train 533k / test 470k · Apache-2.0
Modelli Pre-Addestratidtrizna/QuasarNixGBDT, Random Forest, MLP, 1D-CNN, …
root@kitploit:~
from datasets import load_dataset
ds = load_dataset("dtrizna/QuasarNix")

Struttura del Repository

root@kitploit:~
src/
  augmentation.py       rule-based and generative data synthesis
  evasion.py            white-box / black-box adversarial attacks
  models.py             model definitions (CNN, LSTM, Transformer, XGBoost, …)
  preprocessors.py      tokenisers and feature builders
  scoring.py            evaluation metrics at fixed FPR

experiments/
  ablation_*.py         ablation studies (tokenizer, vocab size, embedding)
  adversarial_*.py      attack and adversarial-training pipelines
  train_release_models.py  end-to-end training script
  logs_*/               TensorBoard runs, CSV metrics, model checkpoints

data/
  signatures/           Sigma rules generated by evolutionary search
  nix_shell/            raw benign command corpus
  powershell/           cross-platform command samples

img/                    publication-ready plots

Configurazione dell'Ambiente

root@kitploit:~
uv venv                    # creates .venv (add --python 3.11 for a specific interpreter)
source .venv/bin/activate
uv sync                    # installs dependencies from pyproject.toml

Citazione

root@kitploit:~
@article{trizna2025quasarnix,
  author    = {Trizna, Dmitrijs and Demetrio, Luca and Biggio, Battista and Roli, Fabio},
  title     = {Robust Large-Scale Detection of Living-Off-the-Land Reverse Shells via Data Synthesis},
  journal   = {ACM Transactions on Privacy and Security},
  year      = {2025},
  doi       = {10.1145/3807450},
  url       = {https://dl.acm.org/doi/10.1145/3807450}
}
Scarica lo strumento
ArchitetturaParametriTPR @ FPR=10⁻⁶F1AccuratezzaAUCAddestramento
Firme (Sigma)1843.37%6.52%51.68%51.68%N/A
One-Class SVM (su dati legittimi)1K0.00%82.87%79.33%79.33%10s
One-Class SVM (su dati dannosi)1K0.00%40.14%25.20%25.20%10s
1D-CNN (non augmentato, squilibrato)1K0.00%80.29%77.91%87.44%*15m
1D-CNN (non augmentato, bilanciato)1K0.06%82.38%79.33%88.12%*29m
SLP (non augmentato)1K0.00%0.00%50.00%91.58%1h 12m
ArchitetturaParametriTPR @ FPR=10⁻⁶F1AccuratezzaAUCAddestramento
Random Forest1K42.23 ± 6.27%96.07%96.21%99.84%18s
GBDT (XGBoost)1K60.20 ± 8.22%89.92%90.84%99.89%14s
MLP (Senza Embedding)264K54.16 ± 2.14%*94.00%94.34%99.80%18m
ArchitetturaParametriTPR @ FPR=10⁻⁶F1AccuratezzaAUCAddestramento
MLP (Embedding)297K10.76 ± 17.32%67.70%75.60%89.15%18m
LSTM318K21.52 ± 23.66%64.16%74.05%99.75%24m
1D-CNN301K46.42 ± 32.67%*85.97%88.20%99.99%29m
1D-CNN + LSTM316K20.48 ± 22.08%58.92%71.06%98.21%29m
1D-CNN + LSTM + Attention402K17.19 ± 22.59%62.53%73.08%98.46%26m
Transformer (Mean Pooling)335K0.00 ± 0.00%83.39%86.07%98.78%1h 18m
Transformer (CLS Token)335K0.00 ± 0.00%78.55%*82.67%99.38%1h 30m
Transformer (Attn. Pooling)335K0.00 ± 0.00%87.82%89.41%98.85%1h 24m
ManipolazioneEsempio FunzionalePreservato da auditd
'ba's'h -iNo
"ba"s"h -iNo
\ba\s\h -iNo
$@ba$@sh -iNo
[char]ba[s]h -iNo
{form}{bash,-i}No
Variabile IFSbash${IFS}-iNo
Variabile vuotabas${u}h -iNo
Comando fittiziobas$(u)h -iNo
Base64echo c2ggLWk= | base64 -d | shNo
Hexecho \x73\x68 \x20\x2d\x69 | shNo
Manomissione dei flagbash -x -liSì
IP decimaleping 2130706433Sì
Rinomina del binariocp bash a; a -iSì
Codice futilemkfifo a; id; cat aSì