Despre cum VKontakte colectează informații despre noi

Astăzi, prin preluarea traficului capturat al aplicației oficiale VKontakte pentru Android, încercând să găsesc funcțiile pe care API-ul elimină aplicațiile oficiale pentru muzică, am dat peste întrebări de conținut destul de interesant.

Actualizați 6
Și hai imediat, asta a spus Andrei Rogozov (undeva) despre aceste informații.

Cel mai ciudat lucru pe care mi sa părut-o a fost că aplicația scadea întreaga listă de aplicații utilizator instalate pe dispozitiv. De ce. (în centrul ecranului, a fost introdus șirul decodat al parametrilor aplicațiilor)


Aplicația trimite toate acțiunile utilizatorilor: s-a mutat din meniu în secțiunea "audio", "geo_data" - probabil ar trimite o locație aproximativă (sau chiar exactă) a dispozitivului. Întrebarea este, de ce, dacă utilizatorul nu cere să găsească ceva în apropiere? Nu, pentru a facilita viața utilizatorului prin afișarea unor date relevante în căutare, de exemplu - nu este nimic în neregulă cu acest lucru, dar de ce trimiteți date geo-date la fel ca atunci când deschideți o postare? Nu este clar.


Aplicația face referințe și, din anumite motive, trimite timpul de interogare la API și timpul de încărcare a imaginilor. Aparent, datele medii.


Încă nu înțeleg când, în ce condiții și de ce, WebView invizibil este încărcat în aplicație cu pagina m.vk.com/counters.php. Din aceasta, două metrice-pixeli (în partea de jos a codului HTML) și favicon sunt apoi încărcate. Împachetarea statisticilor? upd: după alte câteva minute a intrat o altă cerere, deja cu alte numere din tag-urile img - astfel încât același pixel să nu fie încărcat din memoria cache, iar interogarea la metric a rămas reală.


Un pic negativ: aplicația trimite mesaje de eroare, dacă, de exemplu, a existat o încercare de a descărca o imagine (de exemplu, a fost atașată la postare), dar au apărut o eroare. Un exemplu este afișat pe ecran când imaginea pur și simplu lipsea de la server (eroarea 404 Not Found). upd: deși aici a existat un moment în care stat = succes și nu au existat alte "mărci de identificare".

Actualizare 2
Dezvoltatorul de aplicații Andrew a adăugat mai multe capturi de ecran pentru ceea ce se integrează în aplicația oficială Android.


Doar versiunea sistemului, versiunea aplicației, metoda de introducere.

“. ajustarea însăși a apărut mai târziu, nu imediat, în comparație cu prunica însăși. Descărcarea acestor date este departe de a fi nouă, iar cafeaua a fost mult timp oprită. Cel mai darnic este faptul că libverify de la soap.ru colectează serialele sim-cardurilor și mytracker-lac și cid. E ca și la arătat lui Andrew. Seriale de cartele SIM, etc. De aceea trebuie să ridici un HYIP.

Actualizați 4
Grigory Klyushnikov, un fost dezvoltator al acestei aplicații, după cum se dovedește, a fost singur împotriva includerii serviciilor Vigo în cerere:

"Vigo a fost acolo de mult timp, l-am prezentat. Am fost împotriva lui de la început, dar toată lumea știa opinia mea despre cum. Și tu ești acolo înainte ca Meilovski MyTracker să nu ajungă, este chiar carnea.
Și iată ce descrie Vigo, așa cum este descris de Gregory:

Actualizarea 5: Răspunsuri de la VKontakte

Suport tehnic mobil
Denis a decis să primească răspunsuri la întrebările noastre și le-a cerut să susțină mobil VC (id333)


Despre cum a fost primită

Pregătire: Crearea unui certificat SSL

Dacă începem doar sniffing-ul, vom primi doar date brute care nu pot fi procesate, deoarece sunt transmise prin protocolul HTTPS - datele sunt criptate. Pentru a obține date pe care le putem descifra, schimbăm certificatul la cel pe care l-am creat. Deci, putem descifra acest trafic.
openssl req -x509 - cheie cheie rsa: 4096 -keyout.pem -out cert.pem - zile 365
Cu această comandă creăm un certificat, unde key.pem este fișierul cheie, cert.pem este certificatul.
În cheia expresiei, introduceți ceva ca o parolă. Mai avem nevoie de ea. Apoi repetați-o din nou. Câmpurile rămase pot fi lăsate necompletate / nu se introduc. Când ați terminat, vor fi create două fișiere în directorul curent.

Pregătire: Instalarea certificatului nostru de dispozitiv


Pas cu pas certificat de instalare pe Android 5.1
Certificatul este instalat.

Pregătire: expedierea porturilor
Ne întoarcem la Linux, conducem în terminal:

sudo sysctl -w net.ipv4.ip_forward = 1
sudo iptables -t nat -F
sudo iptables -t nat -A PREROUTING -p tcp -dport 80 -j REDIRECT -to-port 8080
sudo iptables -t nat -A PREROUTING -p tcp -dport 443 -j REDIRECT -to-porturi 8443
sudo iptables -t nat -A PREROUTING -p tcp -dport 587 -j REDIRECT -to-porturi 8443
sudo iptables -t nat -A PREROUTING -p tcp -dport 465 -j REDIRECT -to-porturi 8443
sudo iptables -t nat -A PREROUTING -p tcp -dport 993 -j REDIRECT -to-porturi 8443
sudo iptables -t nat -A PREROUTING -p tcp -dport 5222 -j REDIRECT -to-port 8080

Pregătire: Ettercap
Instalați Ettercap:

sudo apt-get-y instala ettercap

După instalare, îl executăm.

Sniffing de date
Noi numim "Sniff" -> "Sniffing unifed.". În fereastra de selectare a interfeței, selectați de obicei cea de care aveți nevoie (poate wlan0, wlp1s0, enp5s0), dacă nu una - alegeți-vă propria. "OK".

Selectarea interfeței
În continuare: "Hosts" -> "Scan for hosts". Așteptăm scanarea gazdei.

Scanarea gazde
Apoi, "Hosts" -> "Hosts list". În listă, selectați adresa IP a routerului nostru (am 192.168.1.1) și faceți clic pe "Adăugați la țintă 1", apoi selectați dispozitive IP (am 192.168.1.222), apoi "Adăugați la țintă 2".


Apoi, "Start" -> "Start sniffing".

Sfârșitul pregătirii: SSLSplit
Mai departe, în terminal am pus sslsplit:

sudo apt-get -y instalați sslplit

Când instalarea este finalizată, creați directoarele:

Și în directorul curent (unde se află cert.pem și key.pem)

cp / dev / null fișierul logfile.log

sudo sslsplit -k cheie.pem -c cert.pem -l logfile.log -j log -S. https 0.0.0.0 8443 http 0.0.0.0 8080

sudo chown -R vlad805: busteni vlad805

Actualizare
Așa cum a sugerat mai târziu Anton, sniffing-ul se poate face cu două clicuri folosind aplicații Android, iar această instrucțiune lungă nu va fi necesară. Dar. la care este mai convenabil.

mulțumesc
De asemenea, sa exprimat datorită lui Konstantin pentru îndrumare și instrucțiuni detaliate privind mirosul.

Articole similare