Chameleon 变色龙



Chameleon - Website IP Address Seeker




Introduction

Chameleon is designed for seeking IP address of a target website with a searchable string in a given IP range.

It is developed by Samiux and it is released under GPLv3. It is written in Python 2.7.x and Python 3.7.x. However, there is a bug in Python 2.7.x cookielib.py, Python 3.7.x is preferred.

Chameleon is well tested on Kali Linux Rolling 2019.3 and Ubuntu 19.04


Limitation

If the IP address and/or the domain is not pointed to the web root directory, Chameleon cannot find the site as expected. Do NOT set the vaule of "--thread" too high as it will consume all your memory.







Download

wget http://www.infosec-ninjas.com/files/chameleon-0.0.20.tar.gz

tar -xvzf chameleon-0.0.20.tar.gz

sha256sum : 92843129002f647054af733e4467ed0910c597852c4d526af4ab43aa19b9601f chameleon-0.0.20.tar.gz

Changelog

FEB 22, 2015 - Version 0.0.1
[+] First release

FEB 25, 2015 - Version 0.0.2
[+] Add input file for the ip address comparison
[+] Add timeout option
[-] Drop the single ip address for comparison

FEB 26, 2015 - Version 0.0.3
[+] Add exceptional error handling
[+] Add threading option
[+] Add output file option
[+] Add batch of IP address per thread option

MAR 5, 2015 - Version 0.0.4
[+] Add exceptional error handling
[+] Bugs fix

SEP 13, 2019 - Version 0.0.5
[+] Bug fix
[+] Add more broswer user-agent option
[+] Add Referer Header option

SEP 14, 2019 - Version 0.0.6
[+] Bug fix

SEP 14, 2019 - Version 0.0.7
[+] Performance and resources tuning
[+] Add port number option
[+] Bug fix
[+] Major modification

SEP 15, 2019 - Version 0.0.8
[+] Add path to the search

SEP 16, 2019 - Version 0.0.9
[+] Lower the default threads setting to 30
[+] Add the IP range of USA and other, Ocean Digital
[+] Update the IP range of Singapore, Ocean Digital

SEP 16, 2019 - Version 0.0.10
[+] Multi-threading bug fix

SEP 17, 2019 - Version 0.0.11
[+] Multi-threading bug fix
[+] Change back to 100 default threads setting

SEP 18, 2019 - Version 0.0.12
[+] Performance boost
[+] Multi-threading bug fix

SEP 22, 2019 - Version 0.0.13
[+] Major modification
[+] Bug fix

SEP 23, 2019 - Version 0.0.14
[+] Minor improvement

SEP 28, 2019 - Version 0.0.15
[+] Major improvement

SEP 29, 2019 - Version 0.0.16
[+] Add the IP range of all and ap-northeast-{1,2,3}, aws
[+] Add example

OCT 01, 2019 - Version 0.0.17
[+] Minor improvement

OCT 02, 2019 - Version 0.0.18
[+] Minor improvement
[+] Bug fix

OCT 03, 2019 - Version 0.0.19
[+] Python 3 bug fix

OCT 04, 2019 - Version 0.0.20 (Stable, Latest)
[+] Minor improvement

 

Usage

Usage: chameleon.py [options]

Options:
  -h, --help            show this help message and exit
  -s SEARCHSTRING, --string=SEARCHSTRING
                        specify the unique string to search, case sensitive
  -S SEARCHSTRING2, --string2=SEARCHSTRING2
                        specify the unique 2nd string to search, case sensitive, default is None
  -f INFILE, --file=INFILE
                        input file contains ip addresses for comparison
  -p PROTO, --proto=PROTO
                        protocol to use, http or https, default is http
  -o TIMEOUT, --timeout=TIMEOUT
                        timeout for connection, default 3 seconds
  -t NUMTHREAD, --thread=NUMTHREAD
                        number of thread, default is 100
  -w OUTFILE, --write=OUTFILE
                        output file for findings, default is find.txt
  -b BATCH, --batch=BATCH
                        number of IP address per thread, default is 10
  -l PAGETIMEOUT, --pagetimeout=PAGETIMEOUT
                        timeout for web page loading, default is 3 seconds
  -r REFERER, --referer=REFERER
                        Referer header for the request, default is None
  -P PORT, --port=PORT
                        desired port number, default is 80
  -a PATH, --path=PATH
                        path to the url, default is None
  -H HOST, --host=HOST
                        host name for the header, default is None
  -R REDIRECT, --redirect=REDIRECT
                        allow redirect, default is False


Example #1 : python3 chameleon.py -s github -f ip-addresses.txt -P 9000 -w github.txt -a "index/homepage.php" -R True

Example #2 : python3 chameleon.py -s github -f ip-addresses.txt -p https -P 9000 -w github.txt -a "index/homepage.php" -H github.com -R True


*** You may comfortable to run this script on 8GB RAM system with 10Mbps internet in default settings. ***



REFERENCE

Yet Another Way Of NoCloudAllowed
IP Ranges of Common VPS/Cloud Providers