Browse Source

Ported to Python3

epsylon 1 year ago
parent
commit
512b839971

+ 0 - 60
.gitignore

@@ -1,60 +0,0 @@
-# ---> Python
-# Byte-compiled / optimized / DLL files
-__pycache__/
-*.py[cod]
-*$py.class
-
-# C extensions
-*.so
-
-# Distribution / packaging
-.Python
-env/
-build/
-develop-eggs/
-dist/
-downloads/
-eggs/
-.eggs/
-lib/
-lib64/
-parts/
-sdist/
-var/
-*.egg-info/
-.installed.cfg
-*.egg
-
-# PyInstaller
-#  Usually these files are written by a python script from a template
-#  before PyInstaller builds the exe, so as to inject date/other infos into it.
-*.manifest
-*.spec
-
-# Installer logs
-pip-log.txt
-pip-delete-this-directory.txt
-
-# Unit test / coverage reports
-htmlcov/
-.tox/
-.coverage
-.coverage.*
-.cache
-nosetests.xml
-coverage.xml
-*,cover
-
-# Translations
-*.mo
-*.pot
-
-# Django stuff:
-*.log
-
-# Sphinx documentation
-docs/_build/
-
-# PyBuilder
-target/
-

File diff suppressed because it is too large
+ 0 - 231
LICENSE


+ 44 - 44
README.md

@@ -4,7 +4,7 @@
 
 ----------
 
-Orb: footprinting tool - by psy 
+Orb: massive footprinting tool - 2016/2020 - by psy (https://03c8.net)
 
 ========================
 
@@ -38,15 +38,23 @@ Orb: footprinting tool - by psy
 
 ### Installing Orb:
 
-  Orb runs on many platforms.  It requires Python (2.x.y) and the following libraries:
+  Orb runs on many platforms.  It requires Python (3.x.y) and the following libraries:
 
-       python-whois - Python module for retrieving WHOIS information - Python 2
-       python-dnspython - DNS toolkit for Python
-       python-nmap - Python interface to the Nmap port scanner
+       python3-whois - Python module for retrieving WHOIS information - Python 3
+       whois (0.9.5) - Retrieve and parse whois data for IPv4 and IPv6 addresses.
+       python3-nmap - Python3 interface to the Nmap port scanner
+       nmap (0.0.1) - Map numbers from one range to another
+       python3-requests - elegant and simple HTTP library for Python3, built for human beings
+       requests (2.22.0) - Python HTTP for Humans.
+       wikipedia (1.4.0) - Wikipedia API for Python
 
   On Debian-based systems (ex: Ubuntu), run: 
 
-       sudo apt-get install python-whois python-dnspython python-nmap
+       sudo apt-get install python3-whois python3-nmap python3-requests && sudo pip3 install whois nmap requests wikipedia
+
+  Or:
+
+       sudo apt-get install python3-whois pythons3-nmap python3-requests && pip3 install whois==0.9.5 nmap==0.0.1 requests==2.22.0 wikipedia==1.4.0 --user
 
   Source libs:
 
@@ -54,23 +62,24 @@ Orb: footprinting tool - by psy
        * Pypi-whois: https://pypi.python.org/pypi/whois
        * Pydnspython: https://pypi.python.org/pypi/dnspython
        * python-nmap: https://pypi.python.org/pypi/python-nmap
-
+       * python-requests: https://pypi.org/project/requests/
+       * python-wikipedia: https://pypi.org/project/wikipedia/
 
 ### Examples
 
   You can use:
 
-    ./orb --update
-    ./orb --check-tor
-    ./orb --gui (for Web interface)
+    python3 orb --update
+    python3 orb --check-tor
+    python3 orb --gui (for Web interface)
 
   Or:
 
-    ./orb --spell='target'
+    python3 orb --spell='target'
 
   Ex (massive):
 
-    ./orb --spell='target' --ext='.com,.net,.org' --sa
+    python3 orb --spell='target' --ext='.com,.net,.org' --sa
 
 ## Options and features:
 
@@ -109,7 +118,6 @@ Options:
 
     --no-public         disable search for public records
     --no-deep           disable deep web records
-    --no-financial      disable financial records
     --no-social         disable social records
     --social-f=SOCIALF  set a list of social sources from file
     --no-news           disable news records
@@ -176,7 +184,6 @@ Options:
 
      + Passive:
        - Search for public records
-       - Search for financial records
        - Search for deep web records
        - Search for social records
        - Search for news records
@@ -188,41 +195,41 @@ Options:
        - Not scan MX records
        - Not banner grabbing
 
-       *Ex: ./orb --spell 'target' --passive
+       *Ex: python3 orb --spell 'target' --passive
 
      + Active:
        - Opposite to 'Passive' method.
 
-       *Ex: ./orb --spell='target' --active
+       *Ex: python3 orb --spell='target' --active
 
 
 #### Search Engines
 
   - You can set different search engines to gather public records from the Internet.
 
-    For this release (by default: Yahoo):
+    For this release (by default: DuckDuckGo):
 
      + Supported:
-       - Yahoo (yahoo.com) [28/03/2018]
-       - Bing (bing.com) [28/03/2018]
-       - Torch! (deep web) [28/03/2018]
+       - Duck (duckduckgo.com) [11/01/2020]
+       - Bing (bing.com) [11/01/2020]
+       - Torch! (deep web) [11/01/2020]
 
-       *Ex: ./orb --spell='target' --se='yahoo'
+       *Ex: python3 orb --spell='target' --se='bing'
 
   - Also you can set the location for search engine to retrieve more accurate information
     about your target.
 
     For example, if is located in Spain you can try to use 'yahoo.es' servers:
 
-       *Ex: ./orb --spell='target' --se='yahoo' --se-ext='es' (france=fr, italy=it, etc...)
+       *Ex: python3 orb --spell='target' --se='bing' --se-ext='es' (france=fr, italy=it, etc...)
 
   - You can search massively using all search engines with:
 
-       *Ex: ./orb --spell='target' --sa
+       *Ex: python3 orb --spell='target' --sa
 
     These options can be combined:
 
-       *Ex: ./orb --spell='target' --sa --se-ext='nl'
+       *Ex: python3 orb --spell='target' --sa --se-ext='nl'
 
 
 #### Public Records
@@ -234,7 +241,7 @@ Options:
 
     It is added to the tool an example folder for Spain to see how works:
 
-       *Ex: ./orb --spell='target' --social-f='core/sources/spain/social.txt' --news-f='core/sources/spain/news.txt'
+       *Ex: python3 orb --spell='target' --social-f='core/sources/spain/social.txt' --news-f='core/sources/spain/news.txt'
 
     You should try to build your own sources. 
 
@@ -248,11 +255,11 @@ Options:
 
     By default, Orb will use IANA supported domains. But you can set your own manually:
 
-       *Ex: ./orb --spell='target' --ext='.com,.net,.org'
+       *Ex: python3 orb --spell='target' --ext='.com,.net,.org'
 
     Or directly set a list from a file (examples provided):
      
-       *Ex: ./orb --spell='target' --ext-f='core/sources/user-exts.txt'
+       *Ex: python3 orb --spell='target' --ext-f='core/sources/user-exts.txt'
 
 
 ####  Whois
@@ -283,7 +290,7 @@ Options:
 
     You can set which DNS resolvers (Google used by default) do you want to use for that tasks:
       
-       *Ex: ./orb --spell='target' --resolver='8.8.8.8,8.8.8.4'
+       *Ex: python3 orb --spell='target' --resolver='8.8.8.8,8.8.8.4'
 
 
 ####  Port Scanning
@@ -292,17 +299,17 @@ Options:
 
     You can set protocol type to only TCP (UDP+TCP by default) with:
 
-       *Ex: ./orb --spell='target' --scan-tcp
+       *Ex: python3 orb --spell='target' --scan-tcp
 
     Or select which ports do you want to try with:
 
-       *Ex: ./orb --spell='target' --scan-ports='21-443'
+       *Ex: python3 orb --spell='target' --scan-ports='21-443'
 
     ** Port scanner will show you only 'Open' ports on machines. 
 
     You can see also 'Filtered' ports with:
 
-       *Ex: ./orb --spell='target' --scan-ports='21-443' --show-filtered
+       *Ex: python3 orb --spell='target' --scan-ports='21-443' --show-filtered
 
 
 ####  Banner Grabbing
@@ -331,30 +338,22 @@ Options:
 
     You can launch the tool without any log adding:
 
-        *Ex: ./orb --spell='target' --no-log
+        *Ex: python3 orb --spell='target' --no-log
 
   - For verbose output you can use:
 
-        *Ex: ./orb --spell='target' -v
+        *Ex: python3 orb --spell='target' -v
 
   - Also you can generate a JSON report only with valid data gathered with:
 
-        *Ex: ./orb --spell='target' --json='target.json'
+        *Ex: python3 orb --spell='target' --json='target.json'
 
 
 ### Contribute: 
 
-  If you want to contribute to Orb development, reporting a bug, providing a patch, commenting 
-  on the code base or simply need to find help to run it, please go to:
-
-      irc.freenode.net / channel: #Orb
-
-  If nobody gets back to you, then drop an e-mail.
-
-  To make donations use the following hashes:
+  To make donations use the following hash:
   
-      - Bitcoin: 1Q63KtiLGzXiYA8XkWFPnWo7nKPWFr3nrc
-      - Ecoin: ETtSteMWxjY7RKWZGMNSkX7eC3BJ21VYXE
+      - Bitcoin: 19aXfJtoYJUoXEZtjNwsah2JKN9CK5Pcjw
 
 
 ### Contact
@@ -362,3 +361,4 @@ Options:
   Please report any problems you encounter using/installing Orb to:
 
       - psy (epsylon@riseup.net)
+

+ 3 - 3
orb/core/__init__.py

@@ -1,11 +1,11 @@
-#!/usr/bin/env python 
+#!/usr/bin/env python3
 # -*- coding: utf-8 -*-"
 """
 This file is part of the orb project, https://orb.03c8.net
 
-Orb - 2016/2017/2018 - by psy (epsylon@riseup.net)
+Orb - 2016/2020 - by psy (epsylon@riseup.net)
 
 You should have received a copy of the GNU General Public License along
-with RedSquat; if not, write to the Free Software Foundation, Inc., 51
+with Orb; if not, write to the Free Software Foundation, Inc., 51
 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 """

File diff suppressed because it is too large
+ 202 - 369
orb/core/main.py


+ 14 - 15
orb/core/options.py

@@ -1,12 +1,12 @@
-#!/usr/bin/env python 
+#!/usr/bin/env python3
 # -*- coding: utf-8 -*-"
 """
 This file is part of the orb project, https://orb.03c8.net
 
-Orb - 2016/2017/2018 - by psy (epsylon@riseup.net))
+Orb - 2016/2020 - by psy (epsylon@riseup.net)
 
 You should have received a copy of the GNU General Public License along
-with RedSquat; if not, write to the Free Software Foundation, Inc., 51
+with Orb; if not, write to the Free Software Foundation, Inc., 51
 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 """
 import optparse
@@ -14,9 +14,9 @@ import optparse
 class OrbOptions(optparse.OptionParser):
     def __init__(self, *args):
         optparse.OptionParser.__init__(self, 
-                           description='\nOrb: footprinting tool - by psy',
+                           description='\nOrb: massive footprinting tool - by psy (https://03c8.net)',
                            prog='Orb.py',
-                           version='\nVersion: v0.2 - "Green Orb"\n')
+                           version='\nVersion: v0.3 (2020) - "Red Orb! - https://orb.03c8.net"\n')
         self.add_option("-v", "--verbose", action="store_true", dest="verbose", help="active verbose on requests")
         self.add_option("--check-tor", action="store_true", dest="checktor", help="check to see if Tor is used properly")
         self.add_option("--update", action="store_true", dest="update", help="check for latest stable version")
@@ -31,7 +31,7 @@ class OrbOptions(optparse.OptionParser):
 
         group1 = optparse.OptionGroup(self, "*Search Engines*",
         "These options can be used to specify which search engines use to extract information:")
-        group1.add_option("--se", action="store", dest="engine", help="set search engine (default: Yahoo)")
+        group1.add_option("--se", action="store", dest="engine", help="set search engine (default: DuckDuckGo)")
         group1.add_option("--se-ext", action="store", dest="engineloc", help="set location for search engine (ex: 'fr')")
         group1.add_option("--sa", action="store_true", dest="allengines", help="search massively using all search engines")
         self.add_option_group(group1)
@@ -40,7 +40,6 @@ class OrbOptions(optparse.OptionParser):
         "Orb will search for interesting public records. You can choose multiple:")
         group2.add_option("--no-public", action="store_true", dest="public", help="disable search for public records")
         group2.add_option("--no-deep", action="store_true", dest="deep", help="disable deep web records") 
-        group2.add_option("--no-financial", action="store_true", dest="financial", help="disable financial records")
         group2.add_option("--no-social", action="store_true", dest="social", help="disable social records")
         group2.add_option("--social-f", action="store", dest="socialf", help="set a list of social sources from file")
         group2.add_option("--no-news", action="store_true", dest="news", help="disable news records")
@@ -96,13 +95,13 @@ class OrbOptions(optparse.OptionParser):
     def get_options(self, user_args=None):
         (options, args) = self.parse_args(user_args)
         if (not options.checktor and not options.target and not options.gui and not options.update):
-            print '='*75, "\n"
-            print "  _|_|              _|        "
-            print "_|    _|  _|  _|_|  _|_|_|    "
-            print "_|    _|  _|_|      _|    _|  "
-            print "_|    _|  _|        _|    _|  "
-            print "  _|_|    _|        _|_|_|    "
-            print self.description, "\n"
-            print '='*75, "\n"
+            print("\n"+'='*75, "\n")
+            print("  _|_|              _|        ")
+            print("_|    _|  _|  _|_|  _|_|_|    ")
+            print("_|    _|  _|_|      _|    _|  ")
+            print("_|    _|  _|        _|    _|  ")
+            print("  _|_|    _|        _|_|_|    ")
+            print(self.description, "\n")
+            print('='*75, "\n")
             return False
         return options

File diff suppressed because it is too large
+ 24 - 14
orb/core/orb.py


+ 3 - 2
orb/core/sources/README

@@ -6,11 +6,11 @@ _|    _|  _|_|      _|    _|
 _|    _|  _|        _|    _|
   _|_|    _|        _|_|_|
 
-Orb: footprinting tool - by psy
+Orb: footprinting tool - 2016/2020 - by psy (epsylon@riseup.net)
 
 ----------
 
- + Web:  http://orb.03c8.net
+ + Web:  https://orb.03c8.net
 
 ===============
 
@@ -19,3 +19,4 @@ You can add records to this files when required.
 This is important to gather more specific information about your target.
 
 List provided by default is extracted from: www.alexa.com/topsites/
+

+ 15 - 12
orb/core/update.py

@@ -1,12 +1,12 @@
-#!/usr/bin/env python 
+#!/usr/bin/env python3
 # -*- coding: utf-8 -*-"
 """
-This file is part of the orb project, http://orb.03c8.net
+This file is part of the orb project, https://orb.03c8.net
 
-Orb - 2016/2017/2018 - by psy (epsylon@riseup.net)
+Orb - 2016/2020 - by psy (epsylon@riseup.net)
 
 You should have received a copy of the GNU General Public License along
-with RedSquat; if not, write to the Free Software Foundation, Inc., 51
+with Orb; if not, write to the Free Software Foundation, Inc., 51
 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 """
 import os
@@ -18,17 +18,20 @@ class Updater(object):
     Update Orb automatically from a .git repository
     """     
     def __init__(self):
-        GIT_REPOSITORY = "https://github.com/epsylon/orb"
+        GIT_REPOSITORY = "https://code.03c8.net/epsylon/orb"
+        GIT_REPOSITORY2 = "https://github.com/epsylon/orb"
         rootDir = os.path.abspath(os.path.join(os.path.dirname( __file__ ), '..', ''))
         if not os.path.exists(os.path.join(rootDir, ".git")):
-            print "Not any .git repository found!\n"
-            print "="*30
-            print "\nTo have working this feature, you should clone Orb with:\n"
-            print "$ git clone %s" % GIT_REPOSITORY
+            print("-"*22)
+            print("\n[Info] Not any .git repository found!")
+            print("\nTo have working this feature, you should clone Orb with:\n")
+            print("$ git clone %s" % GIT_REPOSITORY)
+            print("\nAlso you can try this other mirror:\n")
+            print("$ git clone %s" % GIT_REPOSITORY2 + "\n")
         else:
             checkout = execute("git checkout . && git pull", shell=True, stdout=PIPE, stderr=PIPE).communicate()[0]
-            print checkout
+            print(checkout)
             if not "Already up-to-date" in checkout:
-                print "Congratulations!! Orb has been updated... ;-)\n"
+                print("Congratulations!! Orb has been updated... ;-)\n")
             else:
-                print "Your Orb doesn't need to be updated... ;-)\n"
+                print("Your Orb doesn't need to be updated... ;-)\n")

+ 47 - 0
orb/docs/.github/CODE_OF_CONDUCT.md

@@ -0,0 +1,47 @@
+# Contributor Covenant Code of Conduct
+
+## Our Pledge
+
+In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
+
+## Our Standards
+
+Examples of behavior that contributes to creating a positive environment include:
+
+* Using welcoming and inclusive language
+* Being respectful of differing viewpoints and experiences
+* Gracefully accepting constructive criticism
+* Focusing on what is best for the community
+* Showing empathy towards other community members
+
+Examples of unacceptable behavior by participants include:
+
+* The use of sexualized language or imagery and unwelcome sexual attention or advances
+* Trolling, insulting/derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or electronic address, without explicit permission
+* Other conduct which could reasonably be considered inappropriate in a professional setting
+
+## Our Responsibilities
+
+Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
+
+Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
+
+## Scope
+
+This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project leader at epsylon@riseup.net. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
+
+Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
+
+[homepage]: http://contributor-covenant.org
+[version]: http://contributor-covenant.org/version/1/4/
+

File diff suppressed because it is too large
+ 36 - 0
orb/docs/.github/CONTRIBUTING.md


+ 38 - 0
orb/docs/.github/ISSUE_TEMPLATE/bug_report.md

@@ -0,0 +1,38 @@
+---
+name: Bug report
+about: Create a report to help us improve
+title: ''
+labels: bug report
+assignees: ''
+
+---
+
+**Describe the bug**
+A clear and concise description of what the bug is.
+
+**To Reproduce**
+1. Run '...'
+2. 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.
+
+**Running environment:**
+ - UFONet version [e.g. 1.4]
+ - Installation method [e.g. git]
+ - Operating system: [e.g. Debian 4.19.16-1~bpo9+1 (2019-02-07) ]
+ - Python version [e.g. 3.7]
+
+**Target details:**
+ - UFONet techniques found by ufonet [e.g. ZOMBIES, UFOSYN, TACHYON]
+ - WAF/IPS [if any]
+ - Relevant console output [if any]
+ - Exception traceback [if any]
+
+**Additional context**
+Add any other context about the problem here.
+
+---

+ 22 - 0
orb/docs/.github/ISSUE_TEMPLATE/feature_request.md

@@ -0,0 +1,22 @@
+---
+name: Feature request
+about: Suggest an idea for this project
+title: ''
+labels: feature request
+assignees: ''
+
+---
+
+**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.
+
+---

+ 43 - 0
orb/docs/AUTHOR

@@ -0,0 +1,43 @@
+========================
+
+ nick: psy (epsylon)
+  
+  <epsylon@riseup.net> 
+
+ web: https://03c8.net
+
+=======================
+
+ code:
+
+ - https://code.03c8.net/epsylon
+ - https://github.com/epsylon
+
+=======================
+
+ software/projects:
+
+ - AnonTwi: Tool for OAuth2 applications (such as: GNUSocial, Twitter) that provides different layers of privacy/encryption.
+ - Bordercheck: Tool to visualize 'real-time' on a world map the geolocation of data when surfing the web.
+ - CIntruder: Tool to bypass captchas using OCR (Optical Character Recognition) bruteforcing methods.
+ - Collatz: Tool to simulate the Collatz's conjeture.
+ - DieKunstDerFuge: Video on different topics related to hacktivism recorded during 2013 from an intimate narrative perspective.
+ - ECOin: Decentralized key/value registration and transfer system based on Bitcoin technology (a cryptocurrency).
+ - Euler-Bricks: Tool to search for Euler's "bricks".
+ - Goldbach: Tool to simulate the Goldbach's conjeture.
+ - Lorea: Social networking autonomous project to build a distributed, encrypted and federated network.
+ - Orb: Tool for massive footprinting.
+ - pArAnoIA-Browser: Tool designed to surf the Internet using some "paranoic" methods.
+ - Propagare: Tool for extraction, organization and semantic analysis of newspapers.
+ - PyAISnake: Tool to train AI models on solve spatial problems through the classic video game "snake".
+ - PyDog4Apache: Tool to sneak logs from Apache web server.
+ - UFONet: Denial of Service [DDoS & DoS attacks] Toolkit (a botnet of botnets).
+ - XSSer: Automatic -framework- to detect, exploit and report XSS vulnerabilities.
+
+=======================
+
+ BTC: 
+
+  19aXfJtoYJUoXEZtjNwsah2JKN9CK5Pcjw
+
+========================

+ 42 - 33
orb/docs/README

@@ -42,15 +42,23 @@ Orb: footprinting tool - by psy
   Installing:
 ===============
 
-  Orb runs on many platforms.  It requires Python (2.x.y) and the following libraries:
+  Orb runs on many platforms. It requires Python (3.x.y) and the following libraries:
 
-       python-whois - Python module for retrieving WHOIS information - Python 2
-       python-dnspython - DNS toolkit for Python
-       python-nmap - Python interface to the Nmap port scanner
+       python3-whois - Python module for retrieving WHOIS information - Python 3
+       whois (0.9.5) - Retrieve and parse whois data for IPv4 and IPv6 addresses.
+       python3-nmap - Python3 interface to the Nmap port scanner
+       nmap (0.0.1) - Map numbers from one range to another
+       python3-requests - elegant and simple HTTP library for Python3, built for human beings
+       requests (2.22.0) - Python HTTP for Humans.
+       wikipedia (1.4.0) - Wikipedia API for Python
 
   On Debian-based systems (ex: Ubuntu), run: 
 
-       sudo apt-get install python-whois python-dnspython python-nmap
+       sudo apt-get install python3-whois python3-nmap python3-requests && sudo pip3 install whois nmap requests wikipedia
+
+  Or:
+
+       sudo apt-get install python3-whois pythons3-nmap python3-requests && pip3 install whois==0.9.5 nmap==0.0.1 requests==2.22.0 wikipedia==1.4.0 --user
 
   Source libs:
 
@@ -58,6 +66,8 @@ Orb: footprinting tool - by psy
        * Pypi-whois: https://pypi.python.org/pypi/whois
        * Pydnspython: https://pypi.python.org/pypi/dnspython
        * python-nmap: https://pypi.python.org/pypi/python-nmap
+       * python-requests: https://pypi.org/project/requests/
+       * python-wikipedia: https://pypi.org/project/wikipedia/
 
 ====================
   Examples:
@@ -65,17 +75,17 @@ Orb: footprinting tool - by psy
    
   You can use:
 
-    ./orb --update
-    ./orb --check-tor
-    ./orb --gui (for Web interface)
+    python3 orb --update
+    python3 orb --check-tor
+    python3 orb --gui (for Web interface)
 
   Or:
 
-    ./orb --spell 'target'
+    python3 orb --spell 'target'
 
   Ex (massive):
 
-    ./orb --spell='target' --ext='.com,.net,.org' --sa
+    python3 orb --spell='target' --ext='.com,.net,.org' --sa
 
 ====================
   Methods:
@@ -87,7 +97,6 @@ Orb: footprinting tool - by psy
 
      + Passive:
        - Search for public records
-       - Search for financial records
        - Search for deep web records
        - Search for social records
        - Search for news records
@@ -99,12 +108,12 @@ Orb: footprinting tool - by psy
        - Not scan MX records
        - Not banner grabbing
 
-       *Ex: ./orb --spell 'target' --passive
+       *Ex: python3 orb --spell 'target' --passive
 
      + Active:
        - Opposite to 'Passive' method.
 
-       *Ex: ./orb --spell='target' --active
+       *Ex: python3 orb --spell='target' --active
 
 ====================
   Search engines:
@@ -112,29 +121,29 @@ Orb: footprinting tool - by psy
 
   - You can set different search engines to gather public records from the Internet.
 
-    For this release (by default: Yahoo):
+    For this release (by default: DuckDuckGo):
 
-     + Supported:
-       - Yahoo (yahoo.com) [28/03/2018]
-       - Bing (bing.com) [28/03/2018]
-       - Torch! (deep web) [28/03/2018]
+     + Supported:+
+       - Duck (duckduckgo.com) [11/01/2020]
+       - Bing (bing.com) [11/01/2020]
+       - Torch! (deep web) [11/01/2020]
 
-       *Ex: ./orb --spell='target' --se='yahoo'
+       *Ex: python3 orb --spell='target' --se='bing'
 
   - Also you can set the location for search engine to retrieve more accurate information
     about your target.
 
-    For example, if is located in Spain you can try to use 'yahoo.es' servers:
+    For example, if is located in Spain you can try to use 'bing.es' servers:
 
-       *Ex: ./orb --spell='target' --se='yahoo' --se-ext='es' (france=fr, italy=it, etc...)
+       *Ex: python3 orb --spell='target' --se='bing' --se-ext='es' (france=fr, italy=it, etc...)
 
   - You can search massively using all search engines with:
 
-       *Ex: ./orb --spell='target' --sa
+       *Ex: python3 orb --spell='target' --sa
 
     These options can be combined:
 
-       *Ex: ./orb --spell='target' --sa --se-ext='nl'
+       *Ex: python3 orb --spell='target' --sa --se-ext='nl'
 
 ====================
   Public records:
@@ -147,7 +156,7 @@ Orb: footprinting tool - by psy
 
     It is added to the tool an example folder for Spain to see how works:
 
-       *Ex: ./orb --spell='target' --social-f='core/sources/spain/social.txt' --news-f='core/sources/spain/news.txt'
+       *Ex: python3 orb --spell='target' --social-f='core/sources/spain/social.txt' --news-f='core/sources/spain/news.txt'
 
     You should try to build your own sources. 
 
@@ -162,11 +171,11 @@ Orb: footprinting tool - by psy
 
     By default, Orb will use IANA supported domains. But you can set your own manually:
 
-       *Ex: ./orb --spell='target' --ext='.com,.net,.org'
+       *Ex: python3 orb --spell='target' --ext='.com,.net,.org'
 
     Or directly set a list from a file (examples provided):
      
-       *Ex: ./orb --spell='target' --ext-f='core/sources/user-exts.txt'
+       *Ex: python3 orb --spell='target' --ext-f='core/sources/user-exts.txt'
 
 ====================
   Whois:
@@ -199,7 +208,7 @@ Orb: footprinting tool - by psy
  
     You can set which DNS resolvers (Google used by default) do you want to use for that tasks:
       
-       *Ex: ./orb --spell='target' --resolver='8.8.8.8,8.8.8.4'
+       *Ex: python3 orb --spell='target' --resolver='8.8.8.8,8.8.8.4'
 
 ====================
   Port Scanning:
@@ -209,17 +218,17 @@ Orb: footprinting tool - by psy
 
     You can set protocol type to only TCP (UDP+TCP by default) with:
 
-       *Ex: ./orb --spell='target' --scan-tcp
+       *Ex: python3 orb --spell='target' --scan-tcp
 
     Or select which ports do you want to try with:
 
-       *Ex: ./orb --spell='target' --scan-ports='21-443'
+       *Ex: python3 orb --spell='target' --scan-ports='21-443'
 
     ** Port scanner will show you only 'Open' ports on machines. 
 
     You can see also 'Filtered' ports with:
 
-       *Ex: ./orb --spell='target' --scan-ports='21-443' --show-filtered
+       *Ex: python3 orb --spell='target' --scan-ports='21-443' --show-filtered
 
 ====================
   Banner Grabbing:
@@ -249,13 +258,13 @@ Orb: footprinting tool - by psy
 
     You can launch the tool without any log adding:
 
-        *Ex: ./orb --spell='target' --no-log
+        *Ex: python3 orb --spell='target' --no-log
 
   - For verbose output you can use:
 
-        *Ex: ./orb --spell='target' -v
+        *Ex: python3 orb --spell='target' -v
 
   - Also you can generate a JSON report only with valid data gathered with:
 
-        *Ex: ./orb --spell='target' --json='target.json'
+        *Ex: python3 orb --spell='target' --json='target.json'
 

+ 0 - 3
orb/docs/requeriments-macosx.txt

@@ -1,3 +0,0 @@
-python-whois
-dnspython
-python-nmap

+ 5 - 3
orb/docs/requeriments.txt

@@ -1,3 +1,5 @@
-whois==0.7-3
-dnspython==1.12.0-1
-nmap==0.5.0-1-1
+whois==0.9.5
+dnspython==1.15.0
+nmap==0.0.1
+requests==2.22.0
+wikipedia==1.4.0

+ 4 - 4
orb/orb

@@ -1,12 +1,12 @@
-#!/usr/bin/env python 
+#!/usr/bin/env python3
 # -*- coding: utf-8 -*-"
 """
-This file is part of the orb project, http://orb.03c8.net
+This file is part of the orb project, https://orb.03c8.net
 
-Orb - 2016 - by psy (epsylon@riseup.net)
+Orb - 2016/2020 - by psy (epsylon@riseup.net)
 
 You should have received a copy of the GNU General Public License along
-with RedSquat; if not, write to the Free Software Foundation, Inc., 51
+with Orb; if not, write to the Free Software Foundation, Inc., 51
 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 """
 from core.main import Orb