当前位置:首页网络安全linWinPwn – Active Directory 漏洞扫描程序

linWinPwn – Active Directory 漏洞扫描程序

描述

linWinPwn 是一个 bash 脚本,可以自动执行许多 Active Directory 枚举和漏洞检查。该脚本使用了许多工具并作为它们的包装器。工具包括:impacket,bloodhound,crackmapexec,enum4linux-ng,ldapdomaindump,lsassy,smbmap,kerbrute,adonsdump,certipy,silenthound 等。

当您只能在有限的时间内访问 Active Directory 环境,并且您希望自动执行枚举过程并有效地收集证据时,linWinPwn 特别有用。此外,linWinPwn 可以取代 Windows 上枚举工具的使用,以减少创建的工件(例如,PowerShell 命令、Windows 事件、磁盘上创建的文件)的数量,并绕过某些防病毒或EDR。这可以通过创建从 Windows 主机(例如,VDI 机器或工作站或笔记本电脑)到远程 Linux 机器(例如,Pentest 笔记本电脑或 VPS)的 SSH 隧道,并使用代理链运行 linWinPwn 来执行远程动态端口转发来实现.

在 Windows 主机上,使用 PowerShell 运行:

ssh kali@<linux_machine> -R 1080 -NCqf

在 Linux 计算机上,首先更新以包含 ,然后运行:/etc/proxychains4.confsocks5 127.0.0.1 1080

proxychains ./linWinPwn.sh -t <Domain_Controller_IP>

设置

Git 克隆存储库并使脚本可执行

git clone https://github.com/lefayjey/linWinPwn
cd linWinPwn; chmod +x linWinPwn.sh

使用脚本安装要求(使用标准帐户)install.sh

chmod +x install.sh
./install.sh

用法

模块

linWinPwn 脚本包含 6 个模块,可以单独或同时使用。

默认值:交互式– 打开交互式菜单以单独运行检查

./linWinPwn.sh -t <Domain_Controller_IP> [-d <AD_domain> -u <AD_user> -p <AD_password_or_hash[LM:NT]_or_kerbticket[./krb5cc_ticket]> -o <output_dir>]

自动配置– 与目标 DC 运行 NTP 同步并在运行模块之前将条目添加到 /etc/hosts

./linWinPwn.sh -t <Domain_Controller_IP> --auto-config

LDAPS – 使用 LDAPS 而不是 LDAP(端口 636)

./linWinPwn.sh -t <Domain_Controller_IP> --ldaps

用户模块:ad_enum、kerberos、scan_shares、vuln_checks、mssql_enum

./linWinPwn.sh -t <Domain_Controller_IP> -M user [-d <AD_domain> -u <AD_user> -p <AD_password_or_hash[LM:NT]_or_kerbticket[./krb5cc_ticket]> -o <output_dir>]

所有模块:ad_enum、kerberos、scan_shares、vuln_checks、mssql_enum、pwd_dump

./linWinPwn.sh -t <Domain_Controller_IP> -M all [-d <AD_domain> -u <AD_user> -p <AD_password_or_hash[LM:NT]_or_kerbticket[./krb5cc_ticket]> -o <output_dir>]

ad_enum模块 Active Directory 枚举

./linWinPwn.sh -t <Domain_Controller_IP> -M ad_enum [-d <AD_domain> -u <AD_user> -p <AD_password_or_hash[LM:NT]_or_kerbticket[./krb5cc_ticket]> -o <output_dir>]  

kerberos模块基于 Kerberos 的攻击

./linWinPwn.sh -t <Domain_Controller_IP> -M kerberos [-d <AD_domain> -u <AD_user> -p <AD_password_or_hash[LM:NT]_or_kerbticket[./krb5cc_ticket]> -o <output_dir>]

scan_shares模块网络共享扫描

./linWinPwn.sh -t <Domain_Controller_IP> -M scan_shares [-d <AD_domain> -u <AD_user> -p <AD_password_or_hash[LM:NT]_or_kerbticket[./krb5cc_ticket]> -o <output_dir>]

vuln_checks模块漏洞检查

./linWinPwn.sh -t <Domain_Controller_IP> -M vuln_checks [-d <AD_domain> -u <AD_user> -p <AD_password_or_hash[LM:NT]_or_kerbticket[./krb5cc_ticket]> -o <output_dir>]

mssql_enum 模块 MSSQL 枚举

./linWinPwn.sh -t <Domain_Controller_IP> -M mssql_enum [-d <AD_domain> -u <AD_user> -p <AD_password_or_hash[LM:NT]_or_kerbticket[./krb5cc_ticket]> -o <output_dir>] 

pwd_dump 模块密码转储

./linWinPwn.sh -t <Domain_Controller_IP> -M pwd_dump [-d <AD_domain> -u <AD_user> -p <AD_password_or_hash[LM:NT]_or_kerbticket[./krb5cc_ticket]> -o <output_dir>]

演示

  • HackTheBox Forest

互动模式: 

linWinPwn – Active Directory 漏洞扫描程序

自动化模式: 

linWinPwn – Active Directory 漏洞扫描程序

  • TryHackme 攻击目录
linWinPwn – Active Directory 漏洞扫描程序

使用案例

对于所描述的每种情况,linWinPwn 脚本执行不同的检查,如下所示。

情况 1:未经身份验证

  • 模块 ad_enum
    • 使用 crackmapexec 进行 RID 暴力破解
    • 使用 crackmapexec、enum4linux-ng、ldapdomaindump、ldeep 的匿名枚举
    • 对收集的计算机列表进行 Pre2k 身份验证检查
  • 模块kerberos
    • kerbrute 用户撞库
    • ASREPRoast 使用收集的用户列表(并使用 john-the-ripper 和 rockyou wordlist 破解哈希)
    • 盲 Kerberoast
    • CVE-2022-33679 利用
  • 模块 scan_shares
    • SMB 在已识别的服务器上共享匿名枚举
  • 模块 vuln_checks
    • 已识别服务器上的 WebDav、dfscoerce、shadowcoerce 和 Spooler 服务的枚举
    • 检查 ms17-010、zerologon、petitpotam、nopac、smb-sigining、ntlmv1、runasppl 漏洞
./linWinPwn.sh -t <Domain_Controller_IP_or_Target_Domain> -M user

情况 2:标准帐户(使用密码、NTLM 哈希或 Kerberos 票证)

  • 使用 adidnsdump 提取 DNS
  • 模块 ad_enum
    • BloodHound 数据收集
    • 使用 crackmapexec、enum4linux-ng、ldapdomaindump、windapsearch、SilentHound、ldeep 进行枚举
      • 用户
      • 机器帐户配额
      • 密码政策
      • 包含“pass”的用户描述
      • ADCS
      • 子网
      • GPP 密码
      • 检查是否强制执行 ldap 签名,检查 LDAP 中继
      • Delegation 信息
    • crackmapexec 查找 user=pass 的账户
    • 域计算机上的 Pre2k 身份验证检查
    • 使用 certipy 和 certi.py 提取 ADCS 信息
  • 模块kerberos
    • kerbrute 查找 user=pas 的帐户
    • ASREPRoasting(并使用 john-the-ripper 和 rockyou wordlist 破解哈希)
    • Kerberoasting(以及使用 john-the-ripper 和 rockyou wordlist 破解哈希)
    • 有针对性的 Kerberoasting(以及使用 john-the-ripper 和 rockyou wordlist 破解哈希)
  • 模块 scan_shares
    • SMB 使用 smbmap 和 cme 的 spider_plus 在所有域服务器上共享枚举
    • 所有域服务器上的 KeePass 文件和进程发现
  • 模块 vuln_checks
    • 所有域服务器上的 WebDav、dfscoerce、shadowcoerce 和 Spooler 服务枚举
    • 检查 ms17-010、ms14-068、zerologon、petitpotam、nopac、smb-signing、ntlmv1、runasppl 弱点
  • 模块 mssql_enum
    • 检查 mssql 权限升级路径
./linWinPwn.sh -t <Domain_Controller_IP_or_Target_Domain> -d <AD_domain> -u <AD_user> -p <AD_password_or_hash[LM:NT]_or_kerbticket[./krb5cc_ticket]> -M user

案例 3:管理员帐户(使用密码、NTLM 哈希或 Kerberos 票证)

  • 所有“标准用户”检查
  • 模块 pwd_dump
    • LAPS 和 gMSA 转储
    • 所有域服务器上的 secretsdump
    • 使用 impacket、crackmapexec 和 certsync 的 NTDS 转储
    • 使用以下命令在所有域服务器上转储 lsass:procdump、lsassy、nanodump、handlekatz、masky
    • 使用 DonPAPI 提取备份密钥
./linWinPwn.sh -t <Domain_Controller_IP_or_Target_Domain> -d <AD_domain> -u <AD_user> -p <AD_password_or_hash[LM:NT]_or_kerbticket[./krb5cc_ticket]> -M all

待办事项

  • 添加更多枚举和利用工具…

学分

法律免责声明

未经事先双方同意,使用 linWinPwn 攻击目标是非法的。最终用户有责任遵守所有适用的地方、州和联邦法律。对于本程序造成的任何误用或损坏,开发人员不承担任何责任。仅用于教育目的。

温馨提示:

文章标题:linWinPwn – Active Directory 漏洞扫描程序

文章链接:https://www.cutrui.cn/531.html

更新时间:2023年02月07日

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
网络安全黑客工具

黑客搜索引擎

2023-2-5 15:12:31

网络安全黑客工具

Enumdb:一款针对MySQL和MSSQL关系型数据库的安全渗透后利用工具

2023-2-7 11:14:25

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索

你有新的私信

请务必要查看您的私信哟~~