Quindi di recente ho lavorato su alcuni progetti, uno dei quali è keylogger e il secondo è SYNflood (entrambi in python). Voglio sapere se, è una buona pratica usare il linguaggio Python per tali scopi? (Forse lo sai dalla tua stessa esperienza)
Informazioni sulla scrittura di strumenti come questo SYNFlood, python è buono come qualsiasi altra lingua con cui ti trovi a tuo agio. C'è un libro eccellente chiamato "Violent Python" in cui imparerai a scrivere strumenti di sicurezza e malware. Da scanner di rete, login bruteforcers, FastFlux per mimare le funzionalità della botnet, imparerai molto su di loro.
Scrivere malware in python può semplificarti la vita (in una parte) poiché è molto veloce e facile da codificare. Python è davvero una scelta rara per virus e simili perché ha bisogno di un interprete installato per l'esecuzione. Puoi superare questo trasformando lo script in un eseguibile di Windows usando strumenti disponibili (come py2exe ), ma questo tende a produrre grandi eseguibili (forse 5 MB, a seconda dei moduli importati) e poiché il malware tende a sopravvivere con la sua sottigliezza, potrebbe essere individuato prima di quanto previsto, non solo a causa delle dimensioni eseguibili ma anche dei footprint di memoria.
Gli script Python compilati possono essere riportati alla sua forma di script con estrema facilità, usando moduli come uncompyle2 . Una volta trovato, ciò consentirà all'analista di malware di sapere rapidamente cosa fa, come funziona, dove sono i server di comando e controllo, ecc., Rendendo estremamente veloce scoprire l'intera operazione e ridurre l'efficacia del malware come I fornitori di AV spingono la tua firma nei loro prodotti.
Dall'altro lato, come qualcuno ha detto in questo reddit post su un rapporto Bluecoat (collegato sotto), il tasso di rilevamento AV per i linguaggi scriptizzati tende ad essere basso, dato che molti installatori li usano per distribuire software.
Facendo qualche altra ricerca, ho sentito parlare del malware Flame e secondo l'articolo, aveva una dimensione di 20 MB, incluse librerie, database SQLite e tutto il resto. Quindi, la dimensione potrebbe non essere "quel grande fardello" dopo tutto ...
Ecco un report dalla società di sicurezza Bluecoat su un malware python correlato alla Hangover operazione nel 2013.
La maggior parte dei malware viene scritta usando C / C ++ / C #, VB, Assembly, .NET, ecc., ma questa non è una legge. Queste lingue hanno vantaggi, ma anche python. Tutto dipende dal tuo obiettivo. Equilibra ciò che vuoi con ciò di cui hai bisogno e scatta con ciò che ritiene l'opzione migliore per soddisfarli.
Leggi altre domande sui tag python virus keyloggers