你可能想要Ruby,因为它是Metasploit的本地语言,它是事实上标准的开源渗透测试框架. Ruby会给你:
> Metasploit’s框架,操作码和shellcode数据库
> Metasploit针对原始802.11工作的Ruby lorcon绑定.
> Metasploit针对802.11客户端重定向的KARMA绑定.
> Libcurl和net / http用于Web工具编写.
> EventMachine用于Web代理和模糊测试工作(或RFuzz,它扩展了着名的Mongrel网络服务器).
> Metasm用于生成shellcode.
> Distorm for x86反汇编.
> BinData用于二进制文件格式模糊测试.
第二位是Python. Python中提供的测试库比Ruby中更多(但不足以抵消Metasploit).商业工具也倾向于支持Python – 如果你是Immunity CANVAS或CORE Impact客户,你需要Python. Python为您提供:
> Twisted用于网络访问.
> PaiMei用于程序跟踪和可编程调试.
> CANVAS和Impact支持.
> Dornseif’s用于远程调试的firewire库.
> Ready integration with WinDbg用于远程Windows内核调试(在Ruby中用于内核调试仍然没有好的答案,这就是为什么我偶尔也会使用Python).
> Peach Fuzzer和Sully进行模糊测试.
> SpikeProxy用于网络渗透测试(也称为OWASP Pantera).
不出所料,很多网络工作都使用Java工具.事实上的标准web pentest工具是Burp Suite,它是一个Java swing应用程序. Ruby和Python都有Java变体,您可以使用这些变体来访问这样的工具.此外,Ruby和Python都提供:
>直接与libpcap集成以进行原始数据包工作.
>加密的OpenSSL绑定.
> IDA Pro扩展.
>用于API访问的成熟(或至少是合理的)C外部函数接口.
>用于UI工作的WxWindows,以及用于Web UI的不错的Web堆栈.
使用这两种语言都不会出错,但是对于主流的pentest工作,Metasploit可能会摒弃所有Python优势,而目前,对于x86逆转工作,Python的优秀调试接口可以完全消除所有Ruby的好处.
另外:它是2008年.它们不是“脚本语言”.他们是编程语言. 😉