
Bash स्क्रिप्ट जो Active Directory उपकरणों को लपेटती है, LDAP, RPC, Kerberos, और SMB के माध्यम से स्वचालित सूचीकरण, कमजोरी जाँच, शोषण, और पासवर्ड डंपिंग के लिए।
linWinPwn एक bash स्क्रिप्ट है जो कई Active Directory टूल्स को रैप करती है - enumeration (LDAP, RPC, ADCS, MSSQL, Kerberos, SCCM), vulnerability checks (noPac, ZeroLogon, MS17-010, MS14-068), object modifications (password change, add user to group, RBCD, Shadow Credentials) और password dumping (secretsdump, lsassy, nanodump, DonPAPI) के लिए। यह स्क्रिप्ट बड़ी संख्या में टूल्स के उपयोग को सुव्यवस्थित करती है: impacket, bloodhound, netexec, enum4linux-ng, ldapdomaindump, lsassy, smbmap, kerbrute, certipy, silenthound, bloodyAD, DonPAPI और कई अन्य।
रिपॉजिटरी को Git clone करें और install.sh स्क्रिप्ट का उपयोग करके आवश्यकताएं इंस्टॉल करें
git clone https://github.com/lefayjey/linWinPwn
cd linWinPwn
chmod +x install.sh
./install.sh
वैकल्पिक रूप से, Docker Hub से पहले से बनी Docker image का उपयोग करें
docker pull lefayjey/linwinpwn:latest
# Add linWinPwn_docker to PATH
echo -e "docker run --rm --init -it --net=host -v \$(pwd):/opt/lwp-output lefayjey/linwinpwn:latest \$@" | sudo tee "/usr/local/sbin/linWinPwn_docker"
sudo chmod 755 /usr/local/sbin/linWinPwn_docker
# Run linWinPwn_docker (output to host's current directory)
linWinPwn_docker -t <DC_IP>
linWinPwn_docker -t <DC_IP> -d <domain> -u <user> -p <password> --auto
या सोर्स से बनाएं
docker build -t linwinpwn .
docker run --rm --init -it --net=host -v $(pwd):/opt/lwp-output linwinpwn -t <DC_IP>
linWinPwn स्क्रिप्ट को इंटरैक्टिव मोड (डिफ़ॉल्ट) में, या ऑटोमेटेड मोड (केवल enumeration) में निष्पादित किया जा सकता है।
1. इंटरैक्टिव मोड (डिफ़ॉल्ट) - चेक को अलग-अलग चलाने के लिए इंटरैक्टिव मेनू खोलें
linWinPwn -t <Domain_Controller_IP> [-d <AD_domain> -u <AD_user> -p <AD_password> -H <hash[LM:NT]> -K <kerbticket[./krb5cc_ticket]> -A <AES_key> -C <cert[./cert.pfx]> -o <output_dir>]
2. ऑटोमेटेड मोड - --auto पैरामीटर का उपयोग करके, enumeration टूल्स चलाएं (कोई exploitation, modifications या password dumping नहीं)
ऑटोमेटेड मोड का उपयोग करते समय, authentication विधि के आधार पर विभिन्न चेक किए जाते हैं।
linWinPwn -t <Domain_Controller_IP> --auto [-o <output_dir>]
linWinPwn -t <Domain_Controller_IP> -d <AD_domain> -u <AD_user> [-p <AD_password> -H <hash[LM:NT]> -K <kerbticket[./krb5cc_ticket]> -A <AES_key> -C <cert[./cert.pfx]>] [-o <output_dir>] --auto
Auto config - लक्ष्य DC के साथ NTP sync चलाएं और मॉड्यूल चलाने से पहले /etc/hosts में entry जोड़ें
linWinPwn -t <Domain_Controller_IP> --auto-config
LDAPS - LDAP के बजाय LDAPS का उपयोग करें (port 636)
linWinPwn -t <Domain_Controller_IP> --ldaps
Force Kerberos Auth - NTLM के बजाय Kerberos authentication का उपयोग करने के लिए बाध्य करें (जब संभव हो)
linWinPwn -t <Domain_Controller_IP> --force-kerb
Verbose - सभी verbose और debug outputs सक्षम करें
linWinPwn -t <Domain_Controller_IP> --verbose
Interface - हमलावर का network interface चुनें
linWinPwn -t <Domain_Controller_IP> -I tun0
linWinPwn -t <Domain_Controller_IP> --interface eth0
Targets - स्कैन किए जाने वाले targets चुनें (DC, All, IP=IP_or_hostname, File=./path_to_file)
linWinPwn -t <Domain_Controller_IP> --targets All
linWinPwn -t <Domain_Controller_IP> --targets DC
linWinPwn -t <Domain_Controller_IP> -T IP=192.168.0.1
linWinPwn -t <Domain_Controller_IP> -T File=./list_servers.txt
Custom wordlists - कस्टम user और password wordlists चुनें
linWinPwn -t <Domain_Controller_IP> -U /usr/share/seclists/Usernames/xato-net-10-million-usernames.txt
linWinPwn -t <Domain_Controller_IP> -P /usr/share/seclists/Passwords/xato-net-10-million-passwords.txt
linWinPwn विशेष रूप से उपयोगी हो सकता है जब आपके पास Active Directory वातावरण तक केवल सीमित समय के लिए पहुंच हो, और आप enumeration प्रक्रिया तथा साक्ष्य संग्रह में अधिक कुशल बनना चाहते हों। इसके अतिरिक्त, linWinPwn Windows पर enumeration टूल्स के उपयोग को प्रतिस्थापित कर सकता है ताकि बनाए गए artifacts की संख्या कम हो (जैसे, PowerShell commands, Windows Events, डिस्क पर बनाई गई फाइलें), और कुछ Anti-Virus या EDRs को bypass किया जा सके। यह Windows host (जैसे, VDI machine या workstation या laptop) से remote Linux machine (जैसे, Pentest laptop या VPS) तक SSH tunnel बनाकर remote dynamic port forwarding करके, और proxychains के साथ linWinPwn चलाकर प्राप्त किया जा सकता है।
Windows host पर, PowerShell का उपयोग करके चलाएं:
ssh.exe kali@<linux_machine> -R 1080 -NCqf
Linux machine पर, पहले /etc/proxychains4.conf को अपडेट करें ताकि इसमें socks5 127.0.0.1 1080 शामिल हो, फिर चलाएं:
linWinPwn_proxychains -t <Domain_Controller_IP> -d <AD_domain> -u <AD_user> [-p <AD_password> -H <hash[LM:NT]> -K <kerbticket[./krb5cc_ticket]> -A <AES_key> -C <cert[./cert.pfx]>] [-o <output_dir>] [--auto]