Ncrack使用教程

张开发
2026/4/7 4:30:46 15 分钟阅读

分享文章

Ncrack使用教程
Ncrack是由Nmap项目团队开发的一款高性能网络凭据暴力破解工具专为大规模、多协议的凭据测试设计。它继承了Nmap的灵活性和稳定性支持对多种网络服务进行并行化暴力破解核心目标是帮助安全人员识别弱口令、默认凭据或配置不当的认证机制需在合法授权范围内使用。Ncrack的核心优势的在于多协议支持覆盖SSH、RDP、HTTP(S)、FTP、SMB等数十种常见服务且模块持续更新精细化性能控制通过时序模板、连接限制、延迟设置等参数平衡破解效率与目标影响灵活的输入输出支持Nmap扫描结果导入、多种格式输出及会话续传适配复杂测试场景智能凭据迭代可自定义用户名与密码的匹配策略如按用户迭代密码、按凭据对匹配与Hydra、Medusa等工具相比Ncrack在大规模网络测试和协议兼容性上表现更优尤其适合企业级渗透测试中对多目标、多服务的批量凭据验证。二、命令参数说明中文表格版Ncrack参数按功能分为“目标指定”“服务指定”“性能控制”“认证配置”“输出设置”“其他选项”六大类便于快速定位和使用。1. 目标指定参数英文选项中文描述说明-iX inputfilename从Nmap的XML输出文件导入目标直接使用Nmap扫描结果如-iX nmap_scan.xml无需重复指定目标-iN inputfilename从Nmap的普通文本输出文件导入目标读取Nmap-oN格式的结果文件-iL inputfilename从主机/网络列表文件导入目标文件中每行一个目标支持IP、域名、网段如192.168.1.0/24–exclude host1[,host2],…排除指定主机/网络测试时跳过特定目标如--exclude 192.168.1.100,192.168.1.200–excludefile exclude_file从文件读取排除目标文件中每行一个需排除的目标-6启用IPv6支持对IPv6目标进行破解如-6 -iL ipv6_hosts.txt-sL/–list仅列出目标和服务不执行破解用于验证目标与服务配置是否正确2. 服务指定参数英文选项中文描述说明-p service-list为所有目标指定服务/端口格式服务名、端口号或“服务:端口”多个用逗号分隔如-p ssh,ftp:2121,3389-m service:options为特定类型服务设置参数对所有同类型服务生效如-m ssh:cl5,CL10表示SSH服务最小并发5、最大并发10-g options为所有服务设置全局参数所有服务共享的配置如-g to30m表示所有服务破解超时30分钟ssl服务参数为服务启用SSL加密用于HTTPS、FTPS等加密服务如-p https:443,smtp:465 ssl或https://192.168.1.1path name服务参数指定服务路径HTTP模块用如-m http:path/login.php表示HTTP破解的目标路径为/login.phpdomain name服务参数指定域名WinRM等模块用如-m winrm:domaincorp.com表示WinRM服务的目标域为corp.com3. 性能与时序控制参数英文选项中文描述说明-T0-5设置时序模板0极慢规避检测-5极快适合内网默认T3模板决定并发、延迟等基础配置cl number服务参数最小并发连接数服务的最低并行连接数如-m rdp:cl3CL number服务参数最大并发连接数服务的最高并行连接数避免压垮目标如-m ftp:CL20at number服务参数每个连接的认证尝试次数单个连接中尝试的凭据数量如-m ssh:at5cd time服务参数连接发起延迟每次建立连接的间隔时间支持ms/m/h如-g cd500ms表示延迟500毫秒cr number服务参数连接重试次数服务连接失败后的最大重试次数如-m http:cr2to time服务参数服务破解超时时间单个服务的最大破解时长如-g to1h表示1小时后停止该服务破解–connection-limit number全局并发连接阈值所有服务的总并发连接数上限如--connection-limit 100–stealthy-linear线性隐蔽模式对每个主机仅用一个连接尝试凭据降低检测概率覆盖其他时序参数4. 认证配置参数英文选项中文描述说明-U filename导入用户名字典文件文件中每行一个用户名如-U /usr/share/wordlists/users.txt-P filename导入密码字典文件文件中每行一个密码如-P /usr/share/wordlists/rockyou.txt–user username_list直接指定用户名列表逗号分隔的用户名如--user admin,root,test–pass password_list直接指定密码列表逗号分隔的密码如--pass 123456,password,admin123–passwords-first按密码迭代用户名默认“按用户名迭代密码”即一个用户试所有密码此参数反转顺序一个密码试所有用户–pairwise凭据对匹配模式用户名与密码按行号一一对应如users.txt第1行用户对应passwords.txt第1行密码-f找到一个有效凭据后停止服务破解对单个服务找到一组有效凭据即终止该服务的后续尝试5. 输出设置参数英文选项中文描述说明-oN file普通文本格式输出结果保存到指定文件如-oN ncrack_results.txt-oX fileXML格式输出结果便于后续分析或导入其他工具如-oX ncrack_results.xml-oA basename同时输出两种格式自动生成basename.nmap普通文本和basename.xmlXML-v提高详细程度用-v基础详情、-vv中等详情、-vvv完整详情控制输出粒度-d[level]设置调试级别0-10级级别越高输出越详细如-d3用于排查配置问题–nsock-trace level设置网络调试级别0-10级用于调试网络连接问题–log-errors将错误/警告记录到普通文本输出默认错误仅显示在终端此参数将其写入-oN文件–append-output追加输出到文件避免覆盖已有文件如--append-output -oN history_results.txt6. 其他选项英文选项中文描述说明–resume file续传之前的破解会话读取--save保存的会话文件从断点继续如--resume ncrack_session.save–save file保存会话文件定期保存破解进度便于中断后续传如--save my_session.save–datadir dirname指定自定义数据文件路径加载非默认路径的服务模块或配置文件–proxy type://proxy:port通过代理连接目标支持socks4、socks4a、http代理如--proxy socks4://127.0.0.1:1080-V显示版本信息输出Ncrack版本号及支持的模块-h显示帮助信息列出所有参数及简要说明三、使用教程Ncrack的使用场景覆盖“单服务破解”“多服务批量测试”“隐蔽模式测试”“Nmap结果联动”等以下为典型示例均需合法授权。1. 准备工作1安装确认Kali Linux默认预装Ncrack验证命令ncrack -V若未安装通过包管理器安装sudo apt update sudo apt install ncrack2字典与文件准备字典文件使用Kali自带字典/usr/share/wordlists/如rockyou.txt需解压gunzip rockyou.txt.gz、user.txt也可自定义字典每行一个用户名/密码。Nmap结果文件可选若联动Nmap先执行nmap -p 22,3389,80 192.168.1.0/24 -oX nmap_scan.xml生成XML输出。2. 基础使用示例1单目标单服务破解SSHncrack -v -U users.txt -P rockyou.txt -p ssh 192.168.1.100参数解析-v显示基础进度信息-U users.txt使用用户名字典-P rockyou.txt使用密码字典-p ssh指定破解SSH服务默认22端口192.168.1.100目标IP2单目标多服务破解RDPHTTPncrack -vv -U admin.txt -P pass.txt -p rdp:3389,http:8080 192.168.1.200参数解析-vv显示中等详细信息-p rdp:3389,http:8080同时破解3389端口的RDP和8080端口的HTTP服务其他参数同上凭据字典对所有服务生效3多目标批量破解从文件导入目标ncrack -v -iL targets.txt -U users.txt -P pass.txt -p smb:445 -T4 -g CL15,to20m参数解析-iL targets.txt从targets.txt每行一个IP导入多目标-p smb:445破解445端口的SMB服务-T4使用较快的时序模板适合内网环境-g CL15,to20m全局设置最大并发15、单个服务超时20分钟3. 进阶使用示例1联动Nmap结果导入XML文件ncrack -v -iX nmap_scan.xml -U users.txt -P pass.txt -m ssh:at3,cd1s -f参数解析-iX nmap_scan.xml导入Nmap扫描结果自动识别开放服务-m ssh:at3,cd1s对所有SSH服务设置“每个连接尝试3个凭据”“连接延迟1秒”-f找到一个有效凭据后停止该服务的破解2隐蔽模式破解规避检测ncrack -v --stealthy-linear -U user.txt -P weak_pass.txt -p rdp 192.168.1.0/24 --exclude 192.168.1.50参数解析--stealthy-linear线性隐蔽模式每个主机仅用一个连接尝试凭据降低被IDS/IPS检测的概率192.168.1.0/24对整个网段的RDP服务破解--exclude 192.168.1.50排除特定主机3凭据对匹配模式用户名与密码一一对应ncrack -vv --pairwise -U user_pair.txt -P pass_pair.txt -p ftp 192.168.1.300参数解析--pairwise凭据对模式user_pair.txt第1行用户对应pass_pair.txt第1行密码第2行对应第2行以此类推适用于已知部分凭据可能存在“用户名密码”或固定配对的场景4会话保存与续传# 首次运行时保存会话 ncrack -v -U users.txt -P rockyou.txt -p http 192.168.1.400 --save my_session.save # 中断后续传会话 ncrack --resume my_session.save适用场景破解任务耗时较长如大字典、多目标需避免中断后重新开始。4. 高级技巧服务参数精细化配置1为不同服务设置不同并发SSHRDPncrack -vv -U users.txt -P pass.txt -p ssh,rdp 192.168.1.500 -m ssh:CL10,at5 -m rdp:CL5,at2配置说明-m ssh:CL10,at5SSH服务最大并发10每个连接尝试5个凭据-m rdp:CL5,at2RDP服务最大并发5避免目标卡顿每个连接尝试2个凭据不同服务的性能参数独立适配服务特性2HTTPS服务带路径破解Web登录页ncrack -v -U admin.txt -P pass.txt -p https:443 192.168.1.600 -m http:path/admin/login.php ssl配置说明-m http:path/admin/login.php指定HTTP模块的破解路径为后台登录页ssl为443端口的HTTPS服务启用SSL加密也可直接写https://192.168.1.600:4435. 注意事项合法性必须获得目标网络/系统的书面授权未经授权的暴力破解属于违法行为可能面临法律责任。时序模板选择外网测试用-T2或-T3慢到中速避免触发目标防御机制内网测试用-T4或-T5快速到极快提升效率隐蔽测试用--stealthy-linear牺牲速度换取低检测率。并发控制CL最大并发参数需根据目标性能调整过高可能导致目标服务崩溃如RDP服务建议CL≤10。字典优化优先使用小而精的字典如包含目标组织相关词汇的字典避免无意义的大字典浪费时间对管理员账户可优先测试admin“root”等常见用户名。输出管理建议用-oA保存结果便于后续分析长期测试用--save保存会话避免进度丢失。

更多文章