
أداة C# للتفاعل مع MS Exchange استنادًا إلى وثائق MS
هذا POC لسطر الأوامر يوضح كيفية استخدام C# للتفاعل مع Microsoft Exchange (EWS). ويُبيّن أنه يمكن القيام بذلك باستخدام أدوات أخرى غير Powershell. نعم، هذا POC بسيط لإظهار كيف يمكن القيام بذلك. ليس مكتملًا 100%. إذا كنت تريد إظهار مهاراتك l33t في برمجة C# أو مهارات red teamer، فافتح pull request من فضلك :) هذا لأغراض تعليمية فقط. لا تستخدمه لأغراض شريرة أو غير قانونية.
Required Inputs (Must be in order shown):
ReadEmailExchange.exe WEBDomain DomainName Password InternalDomainName DUMPItem
Example WEBDomain: webmail.domain.com
Example DomainName: User1
Example Password: SecretPassword
Example InternalDomainName: domain
Options for DUMPItem:
Inbox
Sent
Drafts
Deleted
Skype
Attachments (Will Download Atatchments from the Inbox, DeletedItems, and Sent Items folders)
SendEmail ToEmailAddress~Subject~Body(Body can be file path)~AttachmentLocalFilePath(optional)
All (All == will try to dump all the items above)(I would default to this if unsure)
Optional Inputs:
ReadEmailExchange.exe WEBDomain DomainName Password InternalDomainName DUMPItem NumberOfSearchResultsToReturn
Example NumberOfSearchResultsToReturn (will return a maximum of the number,default 10): 10
Note: NumberOfSearchResultsToReturn must be a int/whole number
Optional Inputs:
ReadEmailExchange.exe WEBDomain DomainName Password InternalDomainName DUMPItem NumberOfSearchResultsToReturn OutputFileNameOrPath
Example OutputFileNameOrPath: C:\file.csv
Note: Program needs permission to write to location
Microsoft.Exchange.WebServices
إنه مكتوب بلغة C#، لذا فمن المرجح أن يكون AMSI نشطًا على الأنظمة الحديثة التي يتم فيها تفعيله
يمكنه كتابة ملف نصي على القرص
يستخدم سلسلة وكيل المستخدم الافتراضية لـ .NET (مثال: ... .NET CLR ...)
عند تشغيل ملف .NET التنفيذي، قد يُنشئ ملفًا مؤقتًا داخل بنية مجلدات حساب المستخدم باسمه.
GUID للتطبيق
توجد فرص كثيرة أخرى إذا تمت مراجعة الكود