Ho sentito che Python è molto buono per il pentesting. Ha buoni moduli per questo. Ma non è un buon framework, come Metasploit.Python o Ruby sono buoni per i test di penetrazione?
risposta
Qualsiasi linguaggio che abbia buone e facili capacità di gestione delle stringhe è adatto per i test di penetrazione. Questo è il motivo per cui vedi i linguaggi di scripting come le lingue più utilizzate in questo tipo di attività.
Per rispondere alla tua domanda, sono altrettanto buoni.
Per quanto mi riguarda, Python e Ruby sono un granché. Quando ci riesci davvero, fondamentalmente fanno le stesse cose, è tutto a tuo piacimento. Metasploit è stato scritto in Ruby e molti strumenti di penna fantastici sono stati scritti in Python. Perl è anche una buona scelta e una che uso spesso. Ha molti moduli utili, per non parlare di CPAN (consiglio di controllarlo se non l'hai già fatto). È buono per gli script di socket, la manipolazione dei dati e la rinomanza per la sua eccellente gestione delle espressioni regolari. Le altre cose che mi piacciono di Perl e Ruby è che puoi eseguire un comando Linux e intrappolare l'output in una variabile.
esempio:
#!/usr/bin/perl -w
use strict;
my $user = `whoami`;
chomp($user); # usually there's a newline character at the end of the output.
print "You are " . $user . "\n";
amo questa funzionalità. C'è un modo per fare qualcosa di simile in Python, ma è molto più lungo.
La maggior parte dei programmi su milw0rm sono codificati in C, ma questo non è realmente un linguaggio di scripting e non è facile scrivere al volo uno script veloce, se necessario.
La mia conclusione è Ruby e Python vanno bene per i test penna, e in generale fare le stesse cose - ma Perl sarà sempre il mio preferito :-)
bene penso che c è più potente di entrambe le lingue, e è meglio per il test delle penne.
Ma C non è un linguaggio di script, ci sono molti argomenti che dimostrano che python/ruby sono migliori per i test di penna. Ad esempio con C non puoi automatizzare così velocemente come con python/ruby, python/ruby è un linguaggio di alto livello e scrivere su di essi è molto più semplice di C. Ma se vuoi affrontare il test della penna, dovresti imparare Python o qualsiasi altro linguaggio di scripting e C/C++ o altri linguaggi come PHP depent cosa stai testando ma dovresti conoscere almeno un linguaggio di scripting che rende le cose molto più semplici a volte .
- 1. I tratti sono buoni o cattivi?
- 2. I database di file flat sono buoni?
- 3. Test di penetrazione e altri test di sicurezza
- 4. Quali sono i buoni casi di test per gli algoritmi di ricerca delle sottostringhe di benchmarking e stress test?
- 5. Quali sono i buoni IDE "ricchi" per Lisp?
- 6. Quali sono i buoni Podcast SQL disponibili?
- 7. Scrivere buoni test per le applicazioni Django
- 8. Quali sono i buoni framework per il test unitario e gli oggetti mock in Perl?
- 9. Quanto sono paralleli i test paralleli in Ruby 1.9.3?
- 10. Esiste un interprete Ruby o Python per Lego Mindstorm?
- 11. Ci sono dei buoni benchmark Clojure?
- 12. Quali sono i buoni compiti per i momenti "non abbastanza per iniziare su qualcosa di grande"?
- 13. Esistono buoni quadri di test unitario per Ada?
- 14. Buoni modi per visualizzare i risultati della copertura del codice
- 15. Quali sono alcuni buoni tutorial di Wireshark?
- 16. Gli argomenti 'by ref' in WCF sono buoni o cattivi?
- 17. Classi di test dell'unità ABAP - Buoni riferimenti
- 18. Quali sono i buoni modi per testare una pagina di accesso?
- 19. Quali sono i buoni schemi di progettazione leggeri per evitare i nulli in Java?
- 20. Quali sono i problemi reali con Ruby?
- 21. Quali sono alcuni buoni metodi per sostituire i nomi di stringa con hash di interi
- 22. Dove trovare buoni modelli/esempi di casi di test?
- 23. Gli indici sono buoni o cattivi per un database di grandi dimensioni?
- 24. Quali sono i buoni servizi per il controllo dell'IP esterno di una macchina?
- 25. Sono un test unitario o test di integrazione?
- 26. Gli operatori in linea sono buoni?
- 27. Motori di gioco 3D per Ruby o Python?
- 28. Buoni tutorial o buoni per l'utilizzo di Core.Data in IOS 7
- 29. Quali sono i modi buoni e cattivi per documentare un progetto software?
- 30. Libreria per analizzare SVG in Ruby o Python
hai ragione ... ma la gestione delle stringhe non conta. ho visto una domanda precedente su quale lingua è meglio per il pentesting, dipende dallo strumento che usiamo .. ruby se metasploit o python id usiamo il canvas di immunità .. – Sriram
La gestione delle stringhe conta molto! Non tutti gli exploit rilasciati oggi sono focalizzati su metasploit o canvas immunitario. Alcuni di loro si basano solo sulle funzionalità del linguaggio (ad esempio socket). Guarda la maggior parte degli exploit su milw0rm. Quanti di loro usano metasploit? Quasi nessuno. Quasi tutti usano il codice socket e cercano di traboccare qualcosa. – Geo
scusa ho pensato di dire che la gestione delle stringhe da solo non conta ... e avevo in mente che cosa hai postato .. la parte shellcode è per lo più solo per la gestione delle stringhe .. e per gli exploit remoti le librerie dei socket come hai menzionato .. – Sriram