Python Multi Threaded Tor Proxy
Did you ever want to be at two different places at the same times ?
While performing penetration tests there are often problems caused by security devices that block the “attacking” IP.
With a large number of IP addresses performing the attacks, better results guaranteed-especially when attempting attacks to bypass Web Application Firewalls, Brute-Force type attacks and many more.
How does PyMultiltor work ?
- PyMultitor work with EventLoop(Gevent) and multiple Tor processing(Sub Processes).
- Each Tor process is responsible for the connection between a single IP address(Proxy) and the target. Futhermore, each Tor process has two addresses-an internet address(Socks 4a Proxy) and a mangement address.
- Each time the programs identifies that the IP is blocked, a new identity is requested from Tor meaning a new IP address is issued to this connection. The request that was blocked is re-sent and the testing process will continue.
gevent is a coroutine based Python networking library that uses greenlet to provide a high level synchronous API on top of the libev event loop.
* Python 2.7+.
sudo apt-get install -y build-essential libssl-dev python-setuptools python-pip python-wheel python-dev sudo apt-get install -y libffi-dev libssl-dev libxml2-dev libxslt1-dev libjpeg8-dev zlib1g-dev sudo apt-get install -y tor
* python 2.7+.
sudo dnf install -y redhat-rpm-config gcc gcc-c++ make openssl-devel python-setuptools python-pip python-wheel python-devel sudo dnf install -y libffi-devel openssl-devel libxml2-devel libxslt-devel libpng-devel libjpeg-devel sudo dnf install -y tor
xcode-select –install $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)” brew install mitmproxy brew install tor
- From pip
pip install pymultitor
- From source:
git clone https://github.com/realgam3/pymultitor.git cd pymultitor pip install -r requirements.txt python setup.py install
Usage: pymultitor [-h] [-v] [-lh LISTEN_HOST] [-lp LISTEN_PORT] [-s] [-i] [-d] [-p PROCESSES] [-c CMD] [--on-count ON_COUNT] [--on-string ON_STRING] [--on-regex ON_REGEX] [--on-rst]
When To Change IP Address
--on-count Change IP Every x Requests (Resources Also Counted). --on-string Change IP When String Found On The Response Content. --on-regex Change IP When Regex Found On The Response Content. --on-rst Change IP When Connection Closed With TCP RST.