Git Product home page Git Product logo

cve-2023-29357's Introduction

๐Ÿ›‘ Microsoft SharePoint: CVE-2023-29357 ๐Ÿ›‘

Microsoft SharePoint Server Elevation of Privilege Vulnerability

๐Ÿ“Œ Summary:

This script exploits a vulnerability (CVE-2023-29357) in Microsoft SharePoint Server allowing remote attackers to escalate privileges on affected installations of Microsoft SharePoint Server. While this script focuses on elevation of privilege, attackers with malicious intent might chain this vulnerability with a Remote Code Execution (RCE) vulnerability (CVE-2023โ€“24955) to compromise the integrity, availability, and confidentiality of the target system.

๐Ÿ“– Description:

The exploit script facilitates the impersonation of authenticated users, allowing attackers to execute arbitrary code in the context of the SharePoint application pool and the SharePoint server farm account, potentially causing a denial of service (DoS). The script outputs details of admin users with elevated privileges and can operate in both single and mass exploit modes. However, to maintain an ethical stance, this script does not contain functionalities to perform RCE and is meant solely for educational purposes and lawful and authorized testing.

๐Ÿš€ Usage:

Prerequisites:

  • Python 3.8 or above
  • Install the necessary Python packages:
    pip install -r requirements.txt

Script Execution:

  1. Single URL

    python3.10 exploit.py -u <Target SharePoint URL> [-v]

    -v is an optional parameter to run the script in verbose mode.

  2. List of URLs

    python3.10 exploit.py -l <file-containing-SharePoint-URLs> [-v]

    -l specifies a file containing a list of SharePoint URLs.

  3. Usage with LeakIX

    To utilize this script with LeakIX, please note that this feature is only accessible to LeakIX Pro API key holders as it relies on the SharePointPlugin which is private. You can run the following command:

    python3.10 exploit.py --leakpy (--bulk | --pages=<number_of_pages>) [-v]
    • You can use either --bulk without a value or --pages=<number_of_pages>, but not both.
    • Use --pages with a value, up to a maximum of 500, to specify the number of pages.
    • Add the -v flag for verbose output.

    Note: Using --leakpy triggers the mass exploit mode, fetching URLs from LeakIX. Keep in mind, using --leakpy, --bulk, and --pages are contingent upon possession of a Pro API key from LeakIX.

๐Ÿ“Ž Parameters:

  • -u, --url <URL>: Specifies a single SharePoint URL.
  • -l, --list <file>: Specifies a file containing a list of SharePoint URLs.
  • --leakpy: Enables mass exploit mode, fetching URLs from LeakIX.
  • --bulk <bulk_size>: Specifies the bulk size when using LeakIX.
  • --pages <number_of_pages>: Specifies the number of pages to fetch from LeakIX.
  • -v, --verbose: Enables verbose mode.
  • -o, --output <output_file>: Specifies a file to output vulnerable URLs.

๐Ÿ“„ Output:

The script will output the details of each admin user found with 'IsSiteAdmin' set to true, along with their Title, Email, NameId, and NameIdIssuer. If you are in mass exploit mode (args.leakpy or args.list), it will run through each URL without executing the spoofing function and output any vulnerable URLs to the specified output file.

โš ๏ธ Disclaimer:

IMPORTANT: This script is provided for educational, ethical testing, and lawful use ONLY. Do not use it on any system or network without explicit permission. Unauthorized access to computer systems and networks is illegal, and users caught performing unauthorized activities are subject to legal actions. The author is NOT responsible for any damage caused by the misuse of this script.

cve-2023-29357's People

Contributors

chocapikk avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.