AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Betriebssysteme Herausfinden ob PW zu dem Benutzerkonto passt
Thema durchsuchen
Ansicht
Themen-Optionen

Herausfinden ob PW zu dem Benutzerkonto passt

Ein Thema von gsh · begonnen am 27. Sep 2005 · letzter Beitrag vom 30. Sep 2005
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Harry M.
Harry M.

Registriert seit: 29. Okt 2004
Ort: Halle
462 Beiträge
 
#11

Re: Herausfinden ob PW zu dem Benutzerkonto passt

  Alt 30. Sep 2005, 13:13
Um zu Testen ob des Pass richtig ist habe ich mir einen Service geschrieben. Mit dem ging es dann problemlos weil dieser mit erhöten Rechten läuft. Mit normalen Programmen wirds nicht gehen.

Übrigens:
Was wollt ihr den noch Brute Forcen? Die Zeiten sind vorbei Ich bastel grad was da schmeiß ich den Hash rein und des Pass kommt in ca 30-60 Sek raus bei grösseren Sachen dauerts halt einige sekunden länger. Aber wie geht habe ich grad vergessen
Harry
Gruß Harry
www.H-Soft.info
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#12

Re: Herausfinden ob PW zu dem Benutzerkonto passt

  Alt 30. Sep 2005, 13:16
Dann zeig mal etwas Code, das würde bestimmt hier jeden interessieren. Und wie sieht der Service aus? Wozu braucht er die erhöhten Rechte? Mit SSPI geht es eben auch ohne.

Und wie sieht deine Hash Methode aus? Benutzt du dort einen Rainbowtable oder wie machst du es? Und zum Knacken von Hashes mittels deren Hashwerte solltets du dir mal dies angucken: http://www.delphipraxis.net/internal...wtable&start=0
Wie schafst du also diese 30 bis 60 Sekunden?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Harry M.
Harry M.

Registriert seit: 29. Okt 2004
Ort: Halle
462 Beiträge
 
#13

Re: Herausfinden ob PW zu dem Benutzerkonto passt

  Alt 30. Sep 2005, 13:27
Nicht mekern is sicher noch verbesserungswürdig (etwa TIniFile -> TMemInifile pp.) is halt noch in der Entwicklungphase.
Delphi-Quellcode:
unit Main;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, SvcMgr, Dialogs,
  ScktComp, IniFiles;

type
  TLoginSrv = class(TService)
    ServerSocket1: TServerSocket;
    procedure ServerSocket1ClientRead(Sender: TObject;
      Socket: TCustomWinSocket);
    procedure ServiceStart(Sender: TService; var Started: Boolean);
    procedure ServiceStop(Sender: TService; var Stopped: Boolean);
  private
    { Private-Deklarationen }
  public
    AppName: String;
    AppVers: String;
    function GetServiceController: TServiceController; override;
    { Public-Deklarationen }
  end;

var
  LoginSrv: TLoginSrv;

implementation

{$R *.DFM}
////////////////////////////////////////////////////////////////////////////////
procedure ServiceController(CtrlCode: DWord); stdcall;
begin
  LoginSrv.Controller(CtrlCode);
end;
////////////////////////////////////////////////////////////////////////////////
function TLoginSrv.GetServiceController: TServiceController;
begin
  Result := ServiceController;
end;
////////////////////////////////////////////////////////////////////////////////
function GetComputerName: String;
var
  Buffer: Array[0..MAX_COMPUTERNAME_LENGTH+1] of Char;
  Size: DWORD;
begin
  size:=256;
  Windows.GetComputerName(Buffer, Size);
  Result:=StrPas(Buffer);
end;
////////////////////////////////////////////////////////////////////////////////
procedure TLoginSrv.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
var
  IniDat: TIniFile;
  StrList: TStringList;
  ErrCode: Cardinal;
  FileName, Username, Password: String;
begin
  FileName := ExtractFilePath(ParamStr(0))+AppName+'.tmp';

  StrList := TStringList.Create;
  StrList.Text := Socket.ReceiveText;
  StrList.SaveToFile(FileName);

  IniDat := TIniFile.Create(FileName);
  Username := IniDat.ReadString('Authentification', 'Username','');
  Password := IniDat.ReadString('Authentification', 'Password','');

  LogonUser(PChar(Username), PChar(GetComputerName), PChar(Password), LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, ErrCode);

  IniDat.WriteInteger('Authentification', 'ErrCode', ErrCode);
  IniDat.WriteString('Authentification', 'ErrCodeStr', SysErrorMessage(ErrCode));
  IniDat.WriteInteger('Authentification', 'GetLastError', GetLastError);
  IniDat.WriteString('Authentification', 'GetLastErrorStr', SysErrorMessage(GetLastError));

  StrList.Clear;
  StrList.LoadFromFile(FileName);

  LoginSrv.ServerSocket1.Socket.Connections[0].SendText(StrList.Text);
  LoginSrv.ServerSocket1.Socket.Disconnect(0);

  IniDat.Free;
  StrList.Free;
  if FileExists(FileName) then DeleteFile(FileName);
end;
////////////////////////////////////////////////////////////////////////////////
procedure TLoginSrv.ServiceStart(Sender: TService;
  var Started: Boolean);
begin
  ServerSocket1.Open;
end;
////////////////////////////////////////////////////////////////////////////////
procedure TLoginSrv.ServiceStop(Sender: TService; var Stopped: Boolean);
begin
  ServerSocket1.Close;
end;
////////////////////////////////////////////////////////////////////////////////
end.
Harry
Gruß Harry
www.H-Soft.info
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#14

Re: Herausfinden ob PW zu dem Benutzerkonto passt

  Alt 30. Sep 2005, 13:32
LogonUser versucht jedesmal den Benutzer einzuloggen. Und das dauert gegenüber der SSPI Methode ewig.

Edit: Ich habe meinem vorherigen Post noch etwas hinzugefügt.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz