关于linWinPwn
linWinPwn是一个功能强大的Bash脚本,能够帮助广大研究人员以自动化的方式实现活动目录枚举以及安全漏洞扫描。该脚本基于很多现有工具实现其功能,其中包括:impacket、bloodhound、crackmapexec、ldapdomaindump、lsassy、smbmap、kerbrute和adidnsdump。
工具安装
首先,我们需要使用下列命令将该项目源码克隆至本地,然后给脚本提供可执行权限:
git clone https://github.com/lefayjey/linWinPwn cd linWinPwn; chmod +x linWinPwn.sh
安装Linux和Python包:
sudo apt update sudo apt install python3 python3-dev python3-pip python3-venv nmap smbmap john libsasl2-dev libldap2-dev ntpdate -y sudo pip install -r requirements.txt wget -q "https://raw.githubusercontent.com/micahvandeusen/gMSADumper/main/gMSADumper.py" -O ./Scripts/gMSADumper.py wget -q "https://raw.githubusercontent.com/zyn3rgy/LdapRelayScan/main/LdapRelayScan.py" -O ./Scripts/LdapRelayScan.py wget -q "https://raw.githubusercontent.com/ropnop/windapsearch/master/windapsearch.py" -O ./Scripts/windapsearch.py
在非Kali的设备上,请去掉“#Non-Kali variables”之后的代码注释,然后运行下列命令:
sudo pip install impacket crackmapexec mkdir -p wordlists && wget https://raw.githubusercontent.com/danielmiessler/SecLists/master/Passwords/Leaked-Databases/rockyou.txt.tar.gz -O ./wordlists/rockyou.txt.tar.gz && gunzip ./wordlists/rockyou.txt.tar.gz && tar xf ./wordlists/rockyou.txt.tar -C ./wordlists/ && chmod 644 ./wordlists/rockyou.txt && rm ./wordlists/rockyou.txt.tar && wget https://raw.githubusercontent.com/danielmiessler/SecLists/master/Usernames/cirt-default-usernames.txt -O ./wordlists/cirt-default-usernames.txt
如果你遇到了DNS相关的问题,请直接运行“update_dns”脚本。该脚本将会更新“/etc/resolv.conf”文件,并在运行脚本前进行配置备份:
chmod +x update_dns.sh sudo ./update_dns.sh <DC_IP>
工具使用
linWinPwn脚本包含了四个模块,我们可以单独使用或同时使用。
默认使用(最快):
./linWinPwn.sh -O -d <AD_domain> -u <AD_user> -p <AD_password_or_hash[LM:NT]_or_kerbticket[./krb5cc_ticket]> -t <Domain_Controller_IP> -o <output_dir>
使用用户模块:
./linWinPwn.sh -M user -d <AD_domain> -u <AD_user> -p <AD_password_or_hash[LM:NT]_or_kerbticket[./krb5cc_ticket]> -t <Domain_Controller_IP> -o <output_dir>
使用所有模块:
./linWinPwn.sh -M all -d <AD_domain> -u <AD_user> -p <AD_password_or_hash[LM:NT]_or_kerbticket[./krb5cc_ticket]> -t <Domain_Controller_IP> -o <output_dir>
活动目录枚举:
./linWinPwn.sh -M ad_enum -d <AD_domain> -u <AD_user> -p <AD_password_or_hash[LM:NT]_or_kerbticket[./krb5cc_ticket]> -t <Domain_Controller_IP_or_Target_Domain> -o <output_dir>
基于Kerberos的渗透测试:
./linWinPwn.sh -M kerberos -d <AD_domain> -u <AD_user> -p <AD_password_or_hash[LM:NT]_or_kerbticket[./krb5cc_ticket]> -t <Domain_Controller_IP_or_Target_Domain> -o <output_dir>
网络共享扫描:
./linWinPwn.sh -M scan_shares -d <AD_domain> -u <AD_user> -p <AD_password_or_hash[LM:NT]_or_kerbticket[./krb5cc_ticket]> -t <Domain_Controller_IP_or_Target_Domain> -o <output_dir>
漏洞检测:
./linWinPwn.sh -M vuln_checks -d <AD_domain> -u <AD_user> -p <AD_password_or_hash[LM:NT]_or_kerbticket[./krb5cc_ticket]> -t <Domain_Controller_IP_or_Target_Domain> -o <output_dir>
MSSQL枚举:
./linWinPwn.sh -M mssql_enum -d <AD_domain> -u <AD_user> -p <AD_password_or_hash[LM:NT]_or_kerbticket[./krb5cc_ticket]> -t <Domain_Controller_IP_or_Target_Domain> -o <output_dir>
密码转储:
./linWinPwn.sh -M pwd_dump -d <AD_domain> -u <AD_user> -p <AD_password_or_hash[LM:NT]_or_kerbticket[./krb5cc_ticket]> -t <Domain_Controller_IP_or_Target_Domain> -S <domain_servers_list> -o <output_dir>
适用场景
针对不同的使用场景或案例,linWinPwn脚本能够执行不同的检测。
场景1:未认证
模块:ad_enum
RID爆破
用户枚举
ldapdomaindump匿名枚举
检测是否强制开启ldap-signing,检测LDAP中继
模块:Kerberos
Kerbrute用户喷射
ASREPRoast
模块:scan_shares
SMB共享匿名枚举
模块:vuln_checks
WebDav和Spooler服务枚举
检测Zerologon、Petitpotam和Nopac安全问题
./linWinPwn.sh -M user -t <Domain_Controller_IP_or_Target_Domain>
场景2:标准账号(使用密码、NTLM哈希或Kerberos令牌)
./linWinPwn.sh -M user -d <AD_domain> -u <AD_user> -p <AD_password_or_hash[LM:NT]_or_kerbticket[./krb5cc_ticket]> -t <Domain_Controller_IP_or_Target_Domain>
场景3:管理员账号(使用密码、NTLM哈希或Kerberos令牌)
./linWinPwn.sh -M all -d <AD_domain> -u <AD_user> -p <AD_password_or_hash[LM:NT]_or_kerbticket[./krb5cc_ticket]> -t <Domain_Controller_IP_or_Target_Domain> -S <domain_servers_list>
工具使用演示
使用演示一:【点我观看】
使用演示二:【点我观看】
项目地址
linWinPwn:【GitHub传送门】
参考项目
S3cur3Th1sSh1t- WinPwn
SecureAuth- impacket
byt3bl33d3r, mpgn, Porchetta Industries- crackmapexec
Fox-IT- bloodhound-python
dirkjanm- ldapdomaindump, adidnsdump
Hackndo- lsassy
TarlogicSecurity- kerbrute
zer1t0- certi.py
ly4k- Certipy
micahvandeusen- gMSADumper
n00py- LAPSDumper
zyn3rgy- LdapRelayScan
ShawnDEvans- smbmap
ropnop- windapsearch