
Bash स्क्रिप्ट जो Active Directory उपकरणों को लपेटती है, LDAP, RPC, Kerberos, और SMB के माध्यम से स्वचालित सूचीकरण, कमजोरी जाँच, शोषण, और पासवर्ड डंपिंग के लिए।
linWinPwn एक bash स्क्रिप्ट है जो एनुमरेशन (LDAP, RPC, ADCS, MSSQL, Kerberos, SCCM), कमजोरी जाँच (noPac, ZeroLogon, MS17-010, MS14-068), ऑब्जेक्ट संशोधन (पासवर्ड बदलना, उपयोगकर्ता को समूह में जोड़ना, RBCD, Shadow Credentials) और पासवर्ड डंपिंग (secretsdump, lsassy, nanodump, DonPAPI) के लिए कई Active Directory टूल्स को रैप करती है। यह स्क्रिप्ट बड़ी संख्या में टूल्स के उपयोग को सरल बनाती है: 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 इमेज का उपयोग करें
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 स्क्रिप्ट को इंटरैक्टिव मोड (डिफ़ॉल्ट) या स्वचालित मोड (केवल एनुमरेशन) में निष्पादित किया जा सकता है।
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 पैरामीटर का उपयोग करके, एनुमरेशन टूल्स चलाएँ (कोई शोषण, संशोधन या पासवर्ड डंपिंग नहीं)
स्वचालित मोड का उपयोग करते समय, प्रमाणीकरण विधि के आधार पर विभिन्न जाँचें की जाती हैं।
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
ऑटो कॉन्फ़िग - मॉड्यूल चलाने से पहले लक्ष्य DC के साथ NTP सिंक चलाएँ और /etc/hosts में प्रविष्टि जोड़ें
linWinPwn -t <Domain_Controller_IP> --auto-config
LDAPS - LDAP के बजाय LDAPS का उपयोग करें (पोर्ट 636)
linWinPwn -t <Domain_Controller_IP> --ldaps
फोर्स Kerberos Auth - NTLM के बजाय Kerberos प्रमाणीकरण का उपयोग करने के लिए बाध्य करें (जब संभव हो)
linWinPwn -t <Domain_Controller_IP> --force-kerb
वर्बोज़ - सभी वर्बोज़ और डीबग आउटपुट सक्षम करें
linWinPwn -t <Domain_Controller_IP> --verbose
इंटरफ़ेस - हमलावर का नेटवर्क इंटरफ़ेस चुनें
linWinPwn -t <Domain_Controller_IP> -I tun0
linWinPwn -t <Domain_Controller_IP> --interface eth0
लक्ष्य - स्कैन किए जाने वाले लक्ष्य चुनें (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
कस्टम वर्डलिस्ट - कस्टम उपयोगकर्ता और पासवर्ड वर्डलिस्ट चुनें
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 वातावरण तक केवल सीमित समय के लिए पहुँच हो, और आप एनुमरेशन प्रक्रिया और साक्ष्य संग्रह में अधिक कुशल होना चाहते हैं। इसके अलावा, linWinPwn Windows पर एनुमरेशन टूल्स के उपयोग को बदल सकता है ताकि बनाए गए आर्टिफैक्ट्स (जैसे, PowerShell कमांड, Windows इवेंट, डिस्क पर बनाई गई फ़ाइलें) की संख्या कम हो सके, और कुछ एंटी-वायरस या EDR को बायपास किया जा सके। यह Windows होस्ट (जैसे, VDI मशीन या वर्कस्टेशन या लैपटॉप) से रिमोट Linux मशीन (जैसे, Pentest लैपटॉप या VPS) पर SSH टनल के निर्माण के माध्यम से रिमोट डायनेमिक पोर्ट फ़ॉरवर्डिंग करके और proxychains के साथ linWinPwn चलाकर प्राप्त किया जा सकता है।
Windows होस्ट पर, PowerShell का उपयोग करके चलाएँ:
ssh.exe kali@<linux_machine> -R 1080 -NCqf
Linux मशीन पर, पहले /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]
ldap3: netexec, ldapdomaindump (NTLM), Certipy, pre2k, bloodhound, ldeep, GroupPolicyBackdoor, relayking
msldap: bloodyAD
netexec, ldapdomaindump, ldeep, windapsearch, godap, pre2k, ldapnomnom
प्रेरणा: S3cur3Th1sSh1t - WinPwn
टूल्स:
lwp_tool_integrator.py नए टूल्स के एकीकरण को स्वचालित करता है। यह linWinPwn.sh, install.sh, और README.md को एक चरण में पैच करता है:
authenticate() को पैच करता हैinstall.sh अपडेट करता हैREADME.md में संदर्भ और auth तालिका पंक्ति जोड़ता हैउपयोग:
python3 lwp_tool_integrator.py <tool_config.json>
कॉन्फ़िगरेशन उदाहरण के लिए lwp_tool_template.json देखें।
linWinPwn का उपयोग पूर्व आपसी सहमति के बिना लक्ष्यों पर हमला करने के लिए अवैध है। सभी लागू स्थानीय, राज्य और संघीय कानूनों का पालन करना अंतिम उपयोगकर्ता की जिम्मेदारी है। डेवलपर्स कोई देयता नहीं मानते हैं और इस प्रोग्राम के कारण हुए किसी भी दुरुपयोग या क्षति के लिए जिम्मेदार नहीं हैं। केवल शैक्षिक उद्देश्यों के लिए उपयोग करें।
| Tool | Null Session | Password | NTLM Hash | Kerberos Ticket | AES Key | Certificate |
|---|
netexec | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Impacket | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
bloodhound-python | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
ldapdomaindump | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
enum4linux-ng | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
bloodyAD | ❌ | ✅ | ✅ | ✅ | ❌ | ✅ |
SilentHound | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
ldeep | ✅ | ✅ | ✅ | ✅ | ❌ | ✅ |
windapsearch | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
LDAPWordlistHarvester | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
LDAPConsole | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
pyLDAPmonitor | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
sccmhunter | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
ldapper | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
Adalanche | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ |
GPOwned | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
ACED | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
breads | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
godap | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
adcheck | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
certi.py | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
Certipy | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
certsync | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
pre2k | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
orpheus | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
smbmap | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
FindUncommonShares | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
smbclient-ng | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
manspider | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
coercer | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
privexchange | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
RunFinger.py | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
mssqlrelay | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
targetedKerberoast | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
pygpoabuse | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ |
DonPAPI | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
hekatomb | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
ExtractBitlockerKeys | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
evilwinrm | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ |
mssqlpwner | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
SoaPy | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
SCCMSecrets | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
Soaphound | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
gpoParser | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
spearspray | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
GroupPolicyBackdoor | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
NetworkHound | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ |
ShareHound | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
DACLSearch | ❌ | ✅ | ✅ | ✅ | ✅ | ❌ |
ScriptScout | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ |
relayking | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
ADWS Domain Dump | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
PyADRecon | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ |
PyADRecon-ADWS | ❌ | ✅ | ❌ | ✅ | ❌ | ❌ |
ADPulse | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ |
PowerView.py | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
evil-winrm-py | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ |
संदर्भ: