level 16
大学霸_IT达人
楼主
渗透开发不同于普通开发。根据所依赖的环境,可以分为以下几种。
1.插件模式
很多软件提供的内部接口,允许用户扩展功能。例如,Nmap允许用户使用Lua语言开发NSE脚本。Wireshark允许使用Lua语言开发插件。Metasploit允许使用Ruby需要开发模块。用户都可以官网下载参考文档,进行开发。优点是开发快。缺点是必须使用指定的语言,需要了解内部接口规范。
2.补丁模式
如果工具不提供接口,就可以修改工具源代码,改变功能。这相当于给工具打补丁。例如,arpsproof发包不够快。这时,可以通过修改其源代码,破除发包速度限制。优点是开发快,缺点是需要使用原有语言,并阅读原有代码。
3.Shell模式
如果需要多个工具配合工作,就可以通过Shell脚本方式,将工具连接起来。例如,使用管道方式,将Crunch和Hydra连接,边生成密码,边尝试。Windows下,使用Bat或者PowerShell模式。优点是开发快,缺点是运行效率低。
4.RPC模式
很多工具提供RPC接口。用户可以使用各种语言访问该接口进行远程访问。例如Metasploit和Nessus都提供RPC接口,用户可以利用Python语言编写对应的工具。Websploit就是基于这个模式,实现的。优点是语言不受限制。缺点是RPC提供的功能偏少。
5.全新开发
这种模式不依赖现有工具,全新开发。优点是开发更为灵活,但工作量也最大。
以上几种,适用的场景不同,开发难度也不同。大家需要根据自己的问题,选择对应的模式。
2020年04月03日 05点04分
1
1.插件模式
很多软件提供的内部接口,允许用户扩展功能。例如,Nmap允许用户使用Lua语言开发NSE脚本。Wireshark允许使用Lua语言开发插件。Metasploit允许使用Ruby需要开发模块。用户都可以官网下载参考文档,进行开发。优点是开发快。缺点是必须使用指定的语言,需要了解内部接口规范。
2.补丁模式
如果工具不提供接口,就可以修改工具源代码,改变功能。这相当于给工具打补丁。例如,arpsproof发包不够快。这时,可以通过修改其源代码,破除发包速度限制。优点是开发快,缺点是需要使用原有语言,并阅读原有代码。
3.Shell模式
如果需要多个工具配合工作,就可以通过Shell脚本方式,将工具连接起来。例如,使用管道方式,将Crunch和Hydra连接,边生成密码,边尝试。Windows下,使用Bat或者PowerShell模式。优点是开发快,缺点是运行效率低。
4.RPC模式
很多工具提供RPC接口。用户可以使用各种语言访问该接口进行远程访问。例如Metasploit和Nessus都提供RPC接口,用户可以利用Python语言编写对应的工具。Websploit就是基于这个模式,实现的。优点是语言不受限制。缺点是RPC提供的功能偏少。
5.全新开发
这种模式不依赖现有工具,全新开发。优点是开发更为灵活,但工作量也最大。
以上几种,适用的场景不同,开发难度也不同。大家需要根据自己的问题,选择对应的模式。