Giter Site home page Giter Site logo

vulture's Introduction

vulture

WhatsApp Online Tracker


  1. About
  2. Requirements
  3. Usage
  4. Reports
  5. Example
  6. License Hints

1. About

This small snippets allows you to track a users WhatsApp behavior exploiting the WhatsApp web implementation. It monitors the users online-offline activity. At the moment it is only possible to monitor one user at the same time. The collected material is stored in a CSV file on your tracking machine.

IMPORTANT NOTE

Code is still under developement and needs a lot improvement. It is meant as a personal PoC, but maybe some of will find it useful. If you have any questions, sugesstions or see bugs just let me know.

2. Requirements

  • Smartphone and phone number where WhatsApp is installed and registred
  • A browser on a Windows/Linux/Mac machine which is connected to the SmartPhone using WhatsApp web (tested on Chrome)
  • The Smartphone and tracking machine (WhatsApp web) needs to be online 24/7 to ensure that a full time monitoring of the user is achived
  • Python 3 installed on you tracking machine
  • RECOMMENDED: It is recommended to use a dedicated phone number which only uses WhatsApp for tracking purpose. If you use your private WhatsApp installation, your normal chatting behaviour may interfere with the tracking script. It does not mean that it will not work with multiple active chats in WhatsApp web. It just means that I cannot guarantuee that it always works with an actively used WhatsApp instance. However, I tested it in both scenarios and had no problems.

3. Usage

  1. Set permissions for the CGI Python 3 server: chmod a+x cgi-bin/exfil.py
  2. Set writeable permissions for data.csv
  3. Start the CGI Server: python3 server.py
  4. Open WhatsApp web and select the user to track. If you have multiple chats in WhatsApp you should pin the user you want to track. This means the user will always be at the top and guarantees that the tracking script works properly.
  5. Open the web developer console
  6. Insert the JavaScript code available inside the file inject.js
  7. Wait for data added to data.csv as soon as the user is online
  8. Analyse the data collected in data.csv

4. Reports

  1. Switch to the folder reporting
  2. Execute python3 reportserver.py - This script performs the following actions:
  • Starting a reporting web server on port 81
  • Generating and updating a HTML file for the target every 60 seconds

Access your browser on http://localhost:81 to view the report.

5. Example

Output may differ from screenshots in newer versions.

Injecting JavaScript code to the developer console in WhatsApp Web. injecting JavaScript code

Saving online times to disk via Python 3 CGI script saving online times to disk

Report example:

  • red items - User was not online during this range
  • green items - User was online in this range - click on the item for details

Overview example report

Red Item - User was not online example report

Green Item - Users online times example report

6. License Hints

This code is published under the MIT license. For more information view the LICENSE file.

Other licenses:

  • The code of the reporting module makes use of the punchcard-js implementation of David Hazinski. For more information have a look at his website (http://bl.ocks.org/kaezarrex/10122633). The license file of his code is also embedded in the LICENSE file mentioned above.

vulture's People

Contributors

rndinfosecguy avatar voidm4p avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.