{ "info": { "author": "RealGame (Tomer Zait)", "author_email": "realgam3@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Natural Language :: English", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3", "Topic :: Internet", "Topic :: Internet :: Proxy Servers", "Topic :: Internet :: WWW/HTTP", "Topic :: Security", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Software Development :: Testing" ], "description": "## Overview\r\n\r\nPython Multi Threaded Tor Proxy, \r\nDid you ever want to be at two different places at the same time? \r\nWhen I asked myself this question, I actually started developing this solution in my mind. \r\nWhile performing penetration tests there are often problems caused by security devices that block the \"attacking\" IP. \r\nThis really annoyed me, so I wrote a script to supply a solution for this problem. \r\nWith a large number of IP addresses performing the attacks, better results are guaranteed - especially when attempting attacks to bypass Web Application Firewalls, Brute-Force type attacks and many more. \r\n\r\n[Blackhat Asia] https://www.blackhat.com/asia-17/arsenal.html#pymultitor \r\n[Owasp-IL Presentation] https://www.owasp.org/images/3/3d/OWASPIL-2016-02-02_PyMultiTor_TomerZait.pdf \r\n[DigitalWhisper Article (Hebrew)] http://www.digitalwhisper.co.il/files/Zines/0x2E/DW46-3-PyMultitor.pdf \r\n\r\n## Installation\r\n\r\n### Prerequisites\r\n\r\n* Python 2.7+.\r\n* A C compiler, Python headers, etc. (are needed to compile several dependencies).\r\n * On Ubuntu / Kali, `sudo apt-get install -y build-essential libssl-dev python-setuptools python-pip python-wheel python-dev`\r\n * On Fedora, `sudo dnf install -y redhat-rpm-config gcc gcc-c++ make openssl-devel python-setuptools python-pip python-wheel python-devel`\r\n * On Windows, install http://aka.ms/vcpython27\r\n * On MacOS,\r\n * install xcode command line tools: `xcode-select --install`\r\n * install homebrew(brew): `$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)\"`\r\n* mitmproxy dependencies.\r\n * On Ubuntu / Kali, `sudo apt-get install -y libffi-dev libssl-dev libxml2-dev libxslt1-dev libjpeg-dev zlib1g-dev`\r\n * On Fedora, `sudo dnf install -y libffi-devel openssl-devel libxml2-devel libxslt-devel libpng-devel libjpeg-devel`\r\n * On Windows,\r\n * download lxml: http://www.lfd.uci.edu/~gohlke/pythonlibs/#lxml\r\n * install lxml: `pip install lxml-*-cp27-cp27m-win*.whl`\r\n * On MacOS, `brew install mitmproxy`\r\n* tor.\r\n * On Ubuntu / Kali, `sudo apt-get install -y tor`\r\n * On Fedora, `sudo dnf install -y tor`\r\n * On Windows,\r\n * download tor expert bundle: https://www.torproject.org/download/download.html.en\r\n * insert tor to your path environment: `{tor-win32-*_path}\\Tor`\r\n * if you don't know how remember tor.exe path and use `--tor-cmd` argument on pymultitor (for example: `pymultitor --tor-cmd \"c:\\Pentest\\Web\\tor-win32-0.2.9.9\\Tor\\tor.exe\"`)\r\n * On MacOS, `brew install tor`\r\n\r\n### From pip\r\n\r\n```sh\r\npip install pymultitor\r\n# On MacOs (it's Easier To Use Python 3):\r\n# pip3 install pymultitor\r\n```\r\n\r\nYou may need to use `sudo`, depending on your Python installation.\r\n\r\n### From Source\r\n\r\n```sh\r\ngit clone https://github.com/realgam3/pymultitor.git\r\ncd pymultitor\r\n\r\n# Install python dependencies.\r\n# Depending on your setup, one or both of these may require sudo.\r\npip install -r requirements.txt\r\npython setup.py install\r\n\r\n# On MacOs (it's Easier To Use Python 3):\r\n# pip3 install -r requirements.txt\r\n# python3 setup.py install\r\n\r\n# Confirm that everything works\r\npymultitor --help\r\n```\r\n\r\nBug reports on installation issues are welcome!\r\n\r\n## Usage\r\n\r\n### Basic Usage\r\n\r\n1. Run `pymultitor --on-string \"Your IP Address Blocked\"`. \r\n2. On your script use proxy (`http://127.0.0.1:8080`). \r\n When the string `Your IP Address Blocked` will present in the response content, you will exit from another IP address. \r\n\r\n### Command Line Flags\r\n\r\nSee `--help` for the complete list, but in short:\r\n\r\n```sh\r\nUsage: pymultitor [-h] [-v] [-lh LISTEN_HOST] [-lp LISTEN_PORT] [-s] [-i] [-d]\r\n [-p PROCESSES] [-c CMD] [--on-count ON_COUNT]\r\n [--on-string ON_STRING] [--on-regex ON_REGEX] [--on-rst]\r\n\r\n# When To Change IP Address\r\n--on-count Change IP Every x Requests (Resources Also Counted).\r\n--on-string Change IP When String Found On The Response Content.\r\n--on-regex Change IP When Regex Found On The Response Content.\r\n--on-rst Change IP When Connection Closed With TCP RST.\r\n```\r\n\r\n\r\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/realgam3/pymultitor", "keywords": "", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "PyMultitor", "package_url": "https://pypi.org/project/PyMultitor/", "platform": "any", "project_url": "https://pypi.org/project/PyMultitor/", "project_urls": { "Homepage": "https://github.com/realgam3/pymultitor" }, "release_url": "https://pypi.org/project/PyMultitor/2.1.0/", "requires_dist": [ "stem (>=1.5.4)", "mitmproxy (<3.0.0,>=0.18.3)", "requests[socks] (<2.12.0,>=2.9.1)" ], "requires_python": "", "summary": "PyMultitor - Never Stop Even If Your IP Dropped.", "version": "2.1.0" }, "last_serial": 3278682, "releases": { "2.1.0": [ { "comment_text": "", "digests": { "md5": "8c31031ad2066620b00bf7ae06fcd10c", "sha256": "58a234f002f84fde3fe471e5f8edb19cd06bf5ea6838e07663758b0798583451" }, "downloads": -1, "filename": "PyMultitor-2.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8c31031ad2066620b00bf7ae06fcd10c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10125, "upload_time": "2017-10-25T17:11:43", "url": "https://files.pythonhosted.org/packages/7c/9c/9b4c6b549d4371c5a9dd0d3b9e696892e2fe0eb961fed2f9ad8eb1789674/PyMultitor-2.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "01323c47830b030961907357fd5f517f", "sha256": "930742b28eb3e69a0bae1c7c8c1d3e4fb05de302cca63d9947ad0c337509f354" }, "downloads": -1, "filename": "PyMultitor-2.1.0.tar.gz", "has_sig": false, "md5_digest": "01323c47830b030961907357fd5f517f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7247, "upload_time": "2017-10-25T17:11:44", "url": "https://files.pythonhosted.org/packages/8b/2d/eb82f7f2642e183f01da12ad330346fa74ad6146c33f1d3086f80ecb6ab3/PyMultitor-2.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8c31031ad2066620b00bf7ae06fcd10c", "sha256": "58a234f002f84fde3fe471e5f8edb19cd06bf5ea6838e07663758b0798583451" }, "downloads": -1, "filename": "PyMultitor-2.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8c31031ad2066620b00bf7ae06fcd10c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10125, "upload_time": "2017-10-25T17:11:43", "url": "https://files.pythonhosted.org/packages/7c/9c/9b4c6b549d4371c5a9dd0d3b9e696892e2fe0eb961fed2f9ad8eb1789674/PyMultitor-2.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "01323c47830b030961907357fd5f517f", "sha256": "930742b28eb3e69a0bae1c7c8c1d3e4fb05de302cca63d9947ad0c337509f354" }, "downloads": -1, "filename": "PyMultitor-2.1.0.tar.gz", "has_sig": false, "md5_digest": "01323c47830b030961907357fd5f517f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7247, "upload_time": "2017-10-25T17:11:44", "url": "https://files.pythonhosted.org/packages/8b/2d/eb82f7f2642e183f01da12ad330346fa74ad6146c33f1d3086f80ecb6ab3/PyMultitor-2.1.0.tar.gz" } ] }