
SessionGopher एक PowerShell उपकरण है जो WinSCP, PuTTY, SuperPuTTY, FileZilla, और Microsoft Remote Desktop जैसे दूरस्थ पहुँच उपकरणों के लिए सहेजी गई सत्र जानकारी निकालने हेतु WMI का उपयोग करता है। इसे दूरस्थ रूप से या स्थानीय रूप से चलाया जा सकता है।
कॉपीराइट 2017 FireEye, Brandon Arvanaghi द्वारा निर्मित (@arvanaghi)
Apache License, Version 2.0 (the "License") के तहत लाइसेंस प्राप्त है; आप इस फ़ाइल का उपयोग केवल लाइसेंस के अनुपालन में कर सकते हैं। आप लाइसेंस की एक प्रति निम्न पते पर प्राप्त कर सकते हैं:
http://www.apache.org/licenses/LICENSE-2.0
जब तक लागू कानून द्वारा आवश्यक न हो या लिखित रूप में सहमति न दी गई हो, लाइसेंस के अंतर्गत वितरित सॉफ़्टवेयर "AS IS" आधार पर वितरित किया जाता है, बिना किसी प्रकार की वारंटी या शर्तों के, व्यक्त या निहित। विशिष्ट अनुमतियों और सीमाओं के लिए लाइसेंस देखें।
SessionGopher एक PowerShell उपकरण है जो दूरस्थ एक्सेस उपकरणों के लिए सहेजी गई सत्र जानकारी को ढूंढता और डिक्रिप्ट करता है। इसमें WMI कार्यक्षमता अंतर्निहित है, इसलिए इसे दूरस्थ रूप से चलाया जा सकता है। इसका सबसे अच्छा उपयोग उन प्रणालियों की पहचान करना है जो Unix प्रणालियों, जंप बॉक्स, या पॉइंट-ऑफ-सेल टर्मिनल से कनेक्ट हो सकती हैं।
SessionGopher HKEY_USERS हाइव में उन सभी उपयोगकर्ताओं के लिए क्वेरी करके काम करता है जिन्होंने कभी डोमेन-जुड़े बॉक्स में लॉग ऑन किया है। यह PuTTY, WinSCP, SuperPuTTY, FileZilla और RDP की सहेजी गई सत्र जानकारी निकालता है। यह स्वचालित रूप से WinSCP, FileZilla और SuperPuTTY के सहेजे गए पासवर्ड निकालता और डिक्रिप्ट करता है।
जब Thorough मोड में चलाया जाता है, तो यह PuTTY निजी कुंजी फ़ाइलों (.ppk) के लिए सभी ड्राइव्स की खोज करता है और कुंजी सहित सभी प्रासंगिक निजी कुंजी जानकारी, साथ ही Remote Desktop (.rdp) और RSA (.sdtid) फ़ाइलों को भी निकालता है।
-Thorough: सभी ड्राइव्स में PuTTY निजी कुंजी (.ppk), Remote Desktop कनेक्शन (.rdp), और RSA (.sdtid) फ़ाइलों की खोज करता है।
-o: डेटा को .csv फ़ाइलों के एक फ़ोल्डर में आउटपुट करता है
-iL: उन होस्टों की सूची वाली एक फ़ाइल प्रदान करें जिन पर SessionGopher चलाना है, प्रत्येक होस्ट न्यूलाइन द्वारा अलग किया गया हो। -iL के बाद फ़ाइल का पथ प्रदान करें।
-AllDomain: SessionGopher सभी डोमेन-जुड़े सिस्टमों के लिए Active Directory में क्वेरी करेगा और उन सभी पर चलेगा।
-Target: एक विशिष्ट होस्ट जिसे आप लक्षित करना चाहते हैं। -Target के बाद लक्ष्य होस्ट प्रदान करें।
. .\SessionGopher.ps1
Invoke-SessionGopher -Thorough
दूरस्थ रूप से चलाने के लिए, आप -u और -p फ़्लैग का उपयोग करके दूरस्थ सिस्टम के लिए एक विशेषाधिकार प्राप्त खाते की साख प्रदान कर सकते हैं। यदि आप -u और -p फ़्लैग हटा देते हैं,
तो SessionGopher उस खाते के सुरक्षा संदर्भ में चलेगा जिससे आप स्क्रिप्ट चलाते हैं (जैसे, यदि आप पहले से DA खाते में लॉग इन हैं, या किसी ऐसे खाते में लॉग इन हैं जो
लक्ष्य सिस्टम का स्थानीय व्यवस्थापक है, या इन दोनों में से किसी एक के साथ runas कर रहे हैं, तो आपको साख देने की आवश्यकता नहीं होगी)।
Import-Module path\to\SessionGopher.ps1;
Invoke-SessionGopher -AllDomain -u domain.com\adm-arvanaghi -p s3cr3tP@ss
या
Import-Module path\to\SessionGopher.ps1;
Invoke-SessionGopher -iL computerlist.txt -u domain.com\adm-arvanaghi -p s3cr3tP@ss -o
या
Import-Module path\to\SessionGopher.ps1;
Invoke-SessionGopher -Target brandonArvanaghi_win7 -Thorough
इनमें से किसी भी कमांड को -Thorough के साथ जोड़ा जा सकता है, लेकिन ध्यान दें कि इसमें काफी अधिक समय लगता है क्योंकि यह पूरे दूरस्थ फाइल सिस्टम को क्वेरी करता है। एक समय में छोटे सेट से अधिक सिस्टम की क्वेरी करते समय -Thorough मोड में चलाने की अनुशंसा नहीं की जाती है।
-o (CSV में प्रिंट) जोड़कर दूरस्थ रूप से चलाना अच्छा काम करता है, क्योंकि SessionGopher मिलने वाले सभी सत्रों को जमा करेगा और आपको ठीक वहीं बताएगा जहाँ उसे सहेजा गया सत्र मिला।
SessionGopher को निकाले गए सत्रों के .csv को सुव्यवस्थित रूप से रखने के लिए एक फ़ोल्डर बनाने हेतु:
Import-Module path\to\SessionGopher.ps1;
Invoke-SessionGopher -AllDomain -o
... बस इतना ही।
HKEY_USERS में प्रत्येक उपयोगकर्ता के लिए सहेजी गई सत्र जानकारी तक पहुँचने के लिए स्थानीय व्यवस्थापक विशेषाधिकारों की आवश्यकता होती है। स्थानीय व्यवस्थापक विशेषाधिकारों के बिना, आपको अभी भी उस उपयोगकर्ता के लिए सहेजी गई सत्र जानकारी प्राप्त होगी।
[+] Digging on Win7-Arvanaghi ...
WinSCP Sessions
Session : [email protected]
Hostname : 198.273.212.334
Username : admin-anthony
Password : Super*p@ssw0rd
Session : [email protected]
Hostname : 204.332.455.213
Username : Freddy
Password : angelico1892
FileZilla Sessions
Name : BarrySite
Password : imr34llytheFl@sh
Host : 10.8.30.21
User : BarryAllen
Protocol : Use FTP over TLS if available
Account : BarryAllenAccount
Port : 22
PuTTY Sessions
Session : PointOfSaleTerminal
Hostname : 10.8.0.10
PuTTY Private Key Files (.ppk)
Path : C:\Users\Brandon Arvanaghi\Documents\mykey.ppk
Protocol : ssh-rsa
Comment : rsa-key-20170116
Private Key Encryption : none
Private Key : {AAABAEazxtDz6E9mDeONOmz07sG/n1eS1pjKI8fOCuuLnQC58LeCTlysOmZ1/iC4, g4HyRpmdKJGhIxj66/RQ135hVesyk02StleepK4+Tnvz3zmdr4Do5W99qKkrWI3D, T9GOxOIoR9Zc6j57D+fdesJq4ItEIxcQZlXC1F9KZcbXjSJ3iBmCsbG/aRJmMJNx,
nCMaZkySr4R4Z/E+l1JOzXaHh5WQ2P0K4YM1/6XG6C4VzDjvXwcY67MYsobTeCR2...}
Private MAC : b7e47819fee39a95eb374a97f939c3c868f880de
Microsoft Remote Desktop (RDP) Sessions
Hostname : us.greatsite.com
Username : Domain\tester
Microsoft Remote Desktop .rdp Files
Path : C:\Users\Brandon Arvanaghi\Desktop\config\PenTestLab-Win.RDP
Hostname : dc01.corp.hackerplaypen.com
Gateway : rds01.corp.hackerplaypen.com
Prompts for Credentials : No
Administrative Session : Does not connect to admin session on remote host
Brandon Arvanaghi द्वारा लिखित (@arvanaghi)
यह कोड प्रारंभ में FireEye में विकसित किया गया था। हालाँकि, इसके बाद का कोई भी अपडेट लेखक द्वारा FireEye के बाहर किया जाता है।