MultiProxies 支持多代理的渗透测试框架


简介

MultiProxies是由python编写,可在多环境(windows/linux)下运行,支持http,socks4,socks5全局代理的渗透测试框架。

应用场景

MultiProxies的应用和代理(http/socks4/socks5)紧密联系,但是所有模块的开发过程中完全不必考虑代理的引用过程(注【1】)。在需要使用代理时只需要用相关命令设置全局代理,不需要使用时再将全局代理设为非即可。

MultiProxies可以做到:

1) 用大量的http代理,随机选择进行web扫描攻击(目录扫描,CMS识别等)。

2) 用单一指定的http/socks4/socks5代理进行内网扫描攻击(端口扫描、smb、smbexec/wmiexec)等。

使用方法


快速运行

MltPconsole.py –m 模块名 --options 需要修改的参数(&分隔参数) –-run

命令行调用

MltPconsole.py –c
use 模块名/模块号
set 设置参数
exploit 运行模块

全局参数

MultiProxies的客户端(Client)和模块(module)关系清晰,全局变量储存在客户端(Client)中,客户端与模块根据全局参数的设置作出不同的响应。

并且全局参数分为用户定义和系统预定义,用户自定义参数可以在模块调用时根据模块所需参数跟随。

系统预定义参数目前有proxies(代理设置),verbose(冗余输出),color(颜色设置)

使用setg/usetg 设置或取消全局参数

全局代理的检查、设置、取消。

Verbose和color参数同理,可自行尝试发现。

演示


Web目录扫描

支持从文件读取,或者单一站点扫描,这里由于演示,便提前使用ctrl+c停止。

CMS识别

Cms识别字典格式为json,根据字典是否有值,按照url状态码,url内容正则匹配,url内容md5值的顺序进行匹配。

 "Wordpress": [
{
"path": "/wp-content/themes/twentyten/images/wordpress.png",
 "md5": "cc452c1368589d88d26f306c49319340"
},
 {
"path": "/wp-admin/images/wp-logo-2x.png",
 "md5": "18ac0a741a252d0b2d22082d1f02002a"
}
],

内网攻击

我们知道metasploit提供了meterpreter作为中继tunnel,但在有些情况下我们并不需要这么复杂的tunnel。并且meterpreter还要考虑免杀问题,那么在面对简单场景时我们只需要一个能用的tunnel就可以了,就是普通的socks4/socks5代理。

至于如何开放socks5代理,这个方法有很多:

linux可以用ssh,s5.py等方式。 Windows可以用plink.exe,htran.exe

通用情况可以使用 aspx/php/ jsp/ashx等webshell开放socks5代理。

这里演示使用webshell(注【2】)开放socks5代理,然后进行内网端口扫描,smb弱口令检测,及使用smb_exec执行系统命令获得返回结果。

使用portscan扫描端口。

使用hash登录

这里portscan可以看出使用与不使用代理结果的区别,之后继续通过socks5代理并且使用hash成功登录,最后使用smb_exec执行了命令并获得了回显。 并且所有的请求都是通过代理完成的。

开发相关

开发过程使用github协同开发,插件开发请fork MltP-modules,然后pull requests。如果有任何问题欢迎提在github的issues上。或者邮件联系 [email protected]

注【1】:尝试多次发现如果每次请求都更换代理,即使在fuzz前检查挑出一部分可用的代理也会大大的降低成功率。所以暂不支持全局的HTTP随机代理开关。如有需求可以通过修改模块部分代码引入实现。

注【2】 reGeorg