Skype Metadata Extractor

  • 7 Respuestas
  • 4479 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Sanko

  • *
  • Underc0der
  • Mensajes: 527
  • Actividad:
    0%
  • Country: 00
  • Reputación 0
  • ¿Puedes?
    • Ver Perfil
    • Underc0de

Skype Metadata Extractor

  • en: Abril 22, 2013, 02:35:31 pm
Simple script para extraer metadatos del main.db de skype, los metadatos son extraidos ordenados por "Profile_details", "Conversations_details" y "Transfers_details"

Código: (python) You are not allowed to view links. Register or Login
# -*- coding: utf-8 *-*
import sqlite3

class Skype_Meta_Extractor():

    def __init__(self, DBPath):
        self.DBPath = DBPath

        def __manager():
            try:
                self._Profile_Details()
                self._Conver_Details()
                self._Transfer_Details()
            except:
                print "An error has ocurred, please, try again"

        __manager()

    def __main_conn(self):
        try:
            #triying to connect with the sqlite database
            conn = sqlite3.connect(self.DBPath)
            self.consult = conn.cursor()
        except:
            print "Can't connect with the SQLite database'"

    def _Profile_Details(self):
        self.__main_conn()
        try:
            #SQL consult
            self.consult.execute("SELECT fullname, skypename, emails, country, city, languages,\
            datetime(profile_timestamp), datetime(avatar_timestamp),\
            datetime(registration_timestamp) FROM accounts;")
        except:
            print "An error has ocurred doing the SQL consult"

        def _another_info():
            try:
                #SQL consult
                self.consult.execute("SELECT phone_mobile, datetime(birthday) FROM contacts;")
            except:
                print "An error has ocurred doing the SQL consult"

            def __Shower():
                print "Extra info: "
                for data in self.consult:
                    try:
                        if data[0] and data[1]:
                            print "Phone: " + str(data[0])
                            print "Born Date: " + str(data[1])
                        else:
                            continue
                    except:
                        print "An error has ocurred showing the extra info"
                        continue

            __Shower()

        def __Shower():
            #Showing metainfo
            print "- Skype Profile Details"
            for data in self.consult:
                try:
                    print "---------------------------------------"
                    print "Full Name: " + str(data[0])
                    print "Skype Name: " + str(data[1])
                    print "Email: " + str(data[2])
                    print "Country: " + str(data[3])
                    print "City: " + str(data[4])
                    print "Language: " + str(data[5])
                    print "Last profile edition: " + str(data[6])
                    print "Last avatar edition: " + str(data[7])
                    print "Registration Date: " + str(data[8])
                    _another_info()
                    print "---------------------------------------"
                except:
                    continue
                    print "ERROR : An error has ocurred showing the profile info"

        __Shower()

    def _Conver_Details(self):
        self.__main_conn()
        try:
            #SQL Consult
            self.consult.execute("SELECT datetime(timestamp), \
            dialog_partner, author, body_xml FROM Messages;")
        except:
            print "An error has ocurred doing the SQL consult"

        def __Shower():
            #Showing metainfo
            print "\n- Skype Conversations Details"
            for data in self.consult:
                try:
                    print "---------------------------------------"
                    print "Start of the conversation: " + str(data[0])
                    print "Author: " + str(data[2])
                    print "Receiver: " + str(data[1])
                    if data[3]:
                        print "Message: " + str(data[3].encode('utf-8'))
                    else:
                        print "Message: " + str(data[3])
                    print "---------------------------------------"

                except:
                    continue
                    print "ERROR : An error has ocurred showing the Conversations info"

        __Shower()

    def _Transfer_Details(self):
        self.__main_conn()
        try:
            #SQL Consult
            self.consult.execute("SELECT partner_handle, partner_dispname, datetime(starttime),\
            filepath, filename, filesize FROM transfers;")
        except:
            print "An error has ocurred doing the SQL consult"

        def __Shower():
            #Showing metainfo
            print "\n- Skype Transfers Details"
            for data in self.consult:
                try:
                    print "---------------------------------------"
                    print "File receiver container: " + str(data[0]) + "/" + str(data[1])
                    print "Start time: " + str(data[2])
                    print "File path: " + str(data[3])
                    print "File name: " + str(data[4])
                    print "File size: " + str(data[5])
                    print "---------------------------------------"
                except:
                    continue
                    print "ERROR : An error has ocurred showing the transfers info"

        __Shower()


Skype_Meta_Extractor('main.db')

Working :







Saludos
Sigueme en Twitter : @Sankosk
Estos nuevos staff no tienen puta idea XD

Desconectado Mr_Pack

  • *
  • Underc0der
  • Mensajes: 59
  • Actividad:
    0%
  • Reputación 1
    • Ver Perfil
    • r00tc0d3rs
    • Email

Re:Skype Metadata Extractor

  • en: Abril 22, 2013, 02:47:56 pm
sanko excelente !! esto lo podríamos emplear para  la parte de  forensics.


gran aporte como siempre
____________________________

my best crime is myself

Desconectado arthusu

  • *
  • Ex-Staff
  • *****
  • Mensajes: 551
  • Actividad:
    0%
  • Reputación 2
  • Yo solo se que no se nada - Socrátes
    • Ver Perfil
    • Arthusu BLOG

Re:Skype Metadata Extractor

  • en: Abril 22, 2013, 02:57:32 pm
excelente aporte bro gracias por traerlo salu2
Pentest - Hacking & Security Services

Contact me: [email protected]

Desconectado JaAViEr

  • *
  • Underc0der
  • Mensajes: 162
  • Actividad:
    0%
  • Reputación 0
  • http://codigo.ga
    • Ver Perfil
    • Blog de Programación :: Python

Re:Skype Metadata Extractor

  • en: Abril 22, 2013, 03:03:11 pm
Buen código man, bien ordenado con su respectiva POO.
Es fantástico el SQLite , aún lo tengo pendiente !

Saludos, Javier.
You are not allowed to view links. Register or Login

Desconectado k0ws

  • *
  • Underc0der
  • Mensajes: 143
  • Actividad:
    0%
  • Reputación 0
  • I'm Back
    • Ver Perfil

Re:Skype Metadata Extractor

  • en: Abril 22, 2013, 06:07:40 pm
Como siempre excelente, eres un hacha!

-Saludos-

Desconectado Skidush

  • *
  • Underc0der
  • Mensajes: 2
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil

Re:Skype Metadata Extractor

  • en: Julio 09, 2013, 10:42:05 pm
En la columna hashed_emails de la tabla contacts

Me da strings de este tipo:

8d7182759850e065aeb5161377b8b9a01f4ff0b6
     
Alguien sabe en que estan, y como desencriptarlos??


Desconectado Sanko

  • *
  • Underc0der
  • Mensajes: 527
  • Actividad:
    0%
  • Country: 00
  • Reputación 0
  • ¿Puedes?
    • Ver Perfil
    • Underc0de

Re:Skype Metadata Extractor

  • en: Julio 09, 2013, 10:53:33 pm
no puedo asegurartelo pero o es AES o RSA y creo que skype tenia una key privada y otra pública, busca más info en google, seguro hay
Sigueme en Twitter : @Sankosk
Estos nuevos staff no tienen puta idea XD

Desconectado Skidush

  • *
  • Underc0der
  • Mensajes: 2
  • Actividad:
    0%
  • Reputación 0
    • Ver Perfil

Re:Skype Metadata Extractor

  • en: Julio 10, 2013, 03:02:10 am
ok, gracias por la respuesta Sanko.