Discussion:
[TYPO3-german] Password cracker/checker
Elmar Athmer
2007-07-30 20:07:53 UTC
Permalink
Hi

Gibt es f?r Typo3 irgendeinen Password Cracker, Checker oder ?hnliches?

Google spuckt zu Typo3 und Password Cracking/weak passwords etc. nicht
sonderlich viel brauchbares aus.

Als Backendplugin macht es ja vielleicht nicht so viel Sinn
(Performance, und eigentlich Laufzeit nachts oder so ?ber l?ngere Zeit).
Ich stelle mir ein Programm/(Shell?)-Script vor, dass ich als Cronjob
auf dem Server starte und dass dann auf die Datenbank zugreift und
W?rtebuchattacken ausf?hrt, W?rterbuchattacken mit Zahl angeh?ngt,
Benutzernamen ?berpr?ft, oder halt alles andere m?gliche triviale was
manchen Benutzern einf?llt als Passwort zu nehmen...

Kennt einer hier was (kann man bestehende Unixtools daf?r
konfigurieren?)? z.B. ein Shellscript, dass mir aus der DB die
Passw?rter+Benutzernamen zieht, in eine Datei schreibt und dann z.B.
john the ripper o.?. drauf los l?sst...

Alternativ ?berlege ich sowas selber zu schreiben, wahrscheinlich ist C
da am sinnvollsten. Vielleicht hat hier ja einer Tipps was man da
beachten sollte (wobei das ja etwas offtopic wird, und ich im Bezug auf
Password-Cracker schreiben auch noch nix selber gegoogled habe).


Was habt ihr da so an Erfahrungen und Vorschl?gen?


Gru?
Elmar
--
Gerade l?uft: Sonic Syndicate - "Jailbreak" - Eden Fire
Olivier Dobberkau
2007-07-30 20:23:11 UTC
Permalink
Post by Elmar Athmer
Was habt ihr da so an Erfahrungen und Vorschl?gen?
Was soll das bringen?

Olivier
Elmar Athmer
2007-07-30 21:13:03 UTC
Permalink
Hallo
Post by Olivier Dobberkau
Was soll das bringen?
Rausfinden ob Benutzer schwache Passw?rter benutzen die man leicht per
Bruteforce oder - schlimmer - direkt erraten kann, bevor es jemand
anderes tut...

Die BE-User der Seite f?r die ich das Einsetze neigen leider dazu -
trotz aller Hinweise - sich schlechte Passw?rter zuzulegen.
Und das soll bringen, dass ich wie gesagt schwache Passw?rter finde und
deaktivieren/ersetzen/etc. kann, und auch vielleicht dem User - als
"erzieherischen Effekt" pr?sentieren kann wie einfach sich das Passwort
knacken l?sst.


Gru?
Elmar
--
Gerade l?uft: Sonic Syndicate - "Misanthropic Coil" - Eden Fire
Christian Wolff
2007-07-30 21:21:46 UTC
Permalink
Post by Elmar Athmer
Hallo
Post by Olivier Dobberkau
Was soll das bringen?
Rausfinden ob Benutzer schwache Passw?rter benutzen die man leicht per
Bruteforce oder - schlimmer - direkt erraten kann, bevor es jemand
anderes tut...
Die BE-User der Seite f?r die ich das Einsetze neigen leider dazu -
trotz aller Hinweise - sich schlechte Passw?rter zuzulegen.
Und das soll bringen, dass ich wie gesagt schwache Passw?rter finde und
deaktivieren/ersetzen/etc. kann, und auch vielleicht dem User - als
"erzieherischen Effekt" pr?sentieren kann wie einfach sich das Passwort
knacken l?sst.
Gru?
Elmar
Hi Elmar,
w?hre nicht der sinvollere weg eine extension zu suchen / zu schreiben
die daf?r sorgt das BE user nur Starke passw?rter f?r ihre accounts verwendne k?nnen?

das spart viel zeit rechne zeit.

gruss chris
--
christian wolff - multimedia producer
telefon: (030) 789 134 99
handy: 0179 49 44 758
email: chris at connye.com
adresse: schenkendorfstr. 6 - 10965 berlin
Elmar Athmer
2007-07-30 21:46:15 UTC
Permalink
Hallo
Post by Christian Wolff
w?hre nicht der sinvollere weg eine extension zu suchen / zu schreiben
die daf?r sorgt das BE user nur Starke passw?rter f?r ihre accounts verwendne k?nnen?
Hab ich noch nicht dr?ber nachgedacht, klingt aber recht vern?nftig, das
w?rde ich vielleicht mal am ehesten in Angriff nehmen.
Post by Christian Wolff
das spart viel zeit rechne zeit.
Jepp.


Gru?
Elmar
Elmar Hinz
2007-07-30 21:08:40 UTC
Permalink
Post by Elmar Athmer
Hi
Gibt es f?r Typo3 irgendeinen Password Cracker, Checker oder ?hnliches?
[...]
Post by Elmar Athmer
Alternativ ?berlege ich sowas selber zu schreiben, wahrscheinlich ist C
da am sinnvollsten. Vielleicht hat hier ja einer Tipps was man da
beachten sollte (wobei das ja etwas offtopic wird, und ich im Bezug auf
Password-Cracker schreiben auch noch nix selber gegoogled habe).
Hallo Elmar,

mir ist sowas nicht bekannt, aber Du kannst ja man im TER nach passenden
Stichworten gr?ndeln.

Wie Du schon sagst, gibt es ja bereits entsprechende C Programme, die nur
noch per cronjob auf die DB losgelassen werden m??ten. Eine solche
Verkittung ist das urspr?ngliche Einsatzfeld von Skriptsprachen wie Shell,
Perl oder PHP. Diese Vernetzung in C zu schreiben, w?re wohl etwas
exotisch und w?rde sicher selten zum Einsatz kommen.

* F?r die reine Vernetzung ist die Geschwindigkeit nachrangig.
* Den zeitintensiven Crackprozess ?bernimmt sowieso ein C Programm.
* Die Vernetzung w?rde zu spezisch f?r eine Umgebung ausfallen.
* Libs f?r allgemeine Datenbankschnittstellen sind in C sicher seltener.
* usw.

Ich w?rde mich f?r PHP als Kitt entscheiden, da Du das auf allen TYPO3
Servern voraussetzen kannst.

Au?erdem hat die Regierung doch den Einsatz von Hackertools verboten, um die
L?cher im eigenen System zu finden. Sonst w?rde es am Ende f?r die Organe
noch unzumutbar schwierig Deine Festplatten auszulesen.

Gr??e

Elmar
Elmar Athmer
2007-07-30 21:42:40 UTC
Permalink
Hallo
Post by Elmar Hinz
mir ist sowas nicht bekannt, aber Du kannst ja man im TER nach passenden
Stichworten gr?ndeln.
Das einzige was so ungef?hr in die Richtung geht ist

http://typo3.org/extensions/repository/view/cl_beuser_password/1.0.1/
Post by Elmar Hinz
Perl oder PHP. Diese Vernetzung in C zu schreiben, w?re wohl etwas
exotisch und w?rde sicher selten zum Einsatz kommen.
Ja, so hatte ich es gedacht, ich wollte den "Kit" auch nicht in C
schreiben, sondern eher das komplette Crackprogramm in C, oder halt wie
du sagst verketten mit Shell, oder wenn ich flei?ig bin mit perl (m?sste
ich erst lernen, w?re es ja aber mal wert).
Post by Elmar Hinz
Ich w?rde mich f?r PHP als Kitt entscheiden, da Du das auf allen TYPO3
Servern voraussetzen kannst.
Hmhm, sooo begeistert bin ich nicht von PHP. Und Shell ist ja auf allen
Unix-Systemen vorhanden, wo auch die Programme vorhanden w?ren.
Post by Elmar Hinz
Au?erdem hat die Regierung doch den Einsatz von Hackertools verboten, um die
L?cher im eigenen System zu finden. Sonst w?rde es am Ende f?r die Organe
noch unzumutbar schwierig Deine Festplatten auszulesen.
Ja, da habe ich auch schon nachgedacht, aber... mir f?llt dazu nix mehr
ein :-P

Gru?
Elmar
--
Gerade l?uft: Sonic Syndicate - "Misanthropic Coil" - Eden Fire
Michael Stucki
2007-07-31 09:31:16 UTC
Permalink
Post by Elmar Hinz
Post by Elmar Athmer
Gibt es f?r Typo3 irgendeinen Password Cracker, Checker oder ?hnliches?
[...]
Post by Elmar Athmer
Alternativ ?berlege ich sowas selber zu schreiben, wahrscheinlich ist C
da am sinnvollsten. Vielleicht hat hier ja einer Tipps was man da
beachten sollte (wobei das ja etwas offtopic wird, und ich im Bezug auf
Password-Cracker schreiben auch noch nix selber gegoogled habe).
Hallo Elmar,
mir ist sowas nicht bekannt, aber Du kannst ja man im TER nach passenden
Stichworten gr?ndeln.
Wie Du schon sagst, gibt es ja bereits entsprechende C Programme, die nur
noch per cronjob auf die DB losgelassen werden m??ten. Eine solche
Verkittung ist das urspr?ngliche Einsatzfeld von Skriptsprachen wie Shell,
Perl oder PHP. Diese Vernetzung in C zu schreiben, w?re wohl etwas
exotisch und w?rde sicher selten zum Einsatz kommen.
W?rdest du das Passwort direkt beim Speichern checken, dann m?sstest du es
nachher nicht mehr versuchen zu rekonstruieren:

1) Hook schreiben, der nur noch gute Passw?rter erlaubt:

if (
strlen($password) > 6) &&
preg_match('/[A-Z]/', $password) &&
preg_match('/[a-z]/', $password) &&
preg_match('/[0-9]/', $password)
) {
$ok = true;
}

2) alle Passw?rter resetten, so dass sich jeder neu anmelden muss
Post by Elmar Hinz
Au?erdem hat die Regierung doch den Einsatz von Hackertools verboten, um
die L?cher im eigenen System zu finden. Sonst w?rde es am Ende f?r die
Organe noch unzumutbar schwierig Deine Festplatten auszulesen.
Das w?re in dem Fall kein Problem.

- michael
--
Use a newsreader! Check out
http://typo3.org/community/mailing-lists/use-a-news-reader/
Elmar Hinz
2007-07-31 10:33:50 UTC
Permalink
Post by Michael Stucki
W?rdest du das Passwort direkt beim Speichern checken, dann m?sstest du es
if (
strlen($password) > 6) &&
preg_match('/[A-Z]/', $password) &&
preg_match('/[a-z]/', $password) &&
preg_match('/[0-9]/', $password)
) {
$ok = true;
}
2) alle Passw?rter resetten, so dass sich jeder neu anmelden muss
Hi Michael,

das ist nat?rlich die erste Option. Elmars Frage bezog sich jedoch auf die
Pr?fung der Sicherheit bestehender Passw?rter insbesondere gegen W?rterbuch
Angriffe. Alle Passw?rter zu resetten, ist in der Praxis nicht immer
angezeigt.

Gr??e

Elmar
Fabian Koenig
2007-08-01 11:55:45 UTC
Permalink
Da ich mich zuuuuuufaelligerweise mal mit dem Thema beschaeftigt habe,
muss ich euch "leider" mitteilen, dass das ganze nicht wirklich spassig
wird.

Ein bruteforce- / dictonary-attack stellt sich dahingehend als schwierig
heraus, da einige Wortlisten gut und gerne (im simplen txt-format) an
die 500MB umfassen. Klingt krass, ist aber so. :-P

Aber das ist ja noch nicht das Problem!
Wer mal z.B. einen bruteforce durchlaufen lie? wei?, dass soetwas gerne
mal Stunden dauern kann, bei EINEM (!!!) Account.
(bruteforce, NICHT dictonary! dictonary geht natuerlich schneller.)


Beruecksichtigt man dann noch den zur Verfuegung stehenden Speicher (RAM
@ Server), die Prozessorleistung (@Server), die Anzahl der zu pruefenden
Accounts (@Datenbank) und die "lahmarschigkeit" von PHP und JavaScript
(welches benoetigt wird, damit man nicht nach 30 Sekunden einen timeout
bekommt), den Umfang der dann stellt man ganz schnell fest, dass daraus
gut und gerne bei 1000 Datensaetzen ein paar Tage fuer den Test draufgehen.

Checkt man allerdings lediglich gegen eine Wordlist und hat viele
Accounts (mein kleinstes Projekt hat ~200 BE-User und TAUSENDE FE-User
(welche wir mal au?en vor lassen), kann man trotzdem mit stundenlangen
Tests rechnen. Denn fuer jedes einzelne "wort" muessen ALLE BE-User
gegengeprueft werden.

Das macht bei halbwegs umfangreichen Wortlisten (mind. 100.000 Woerter)
und etwa 100 BE-Usern laut Grundschul-Mathematik (100.000 * 100) etwa,
bzw. genau 10.000.000 (ZEHN MILLIONEN!!!) Checks.



Also dann, viel Spass dabei ;-)
Post by Elmar Hinz
Post by Michael Stucki
W?rdest du das Passwort direkt beim Speichern checken, dann m?sstest du es
if (
strlen($password) > 6) &&
preg_match('/[A-Z]/', $password) &&
preg_match('/[a-z]/', $password) &&
preg_match('/[0-9]/', $password)
) {
$ok = true;
}
2) alle Passw?rter resetten, so dass sich jeder neu anmelden muss
Hi Michael,
das ist nat?rlich die erste Option. Elmars Frage bezog sich jedoch auf die
Pr?fung der Sicherheit bestehender Passw?rter insbesondere gegen W?rterbuch
Angriffe. Alle Passw?rter zu resetten, ist in der Praxis nicht immer
angezeigt.
Gr??e
Elmar
Ingo
2007-08-04 12:30:05 UTC
Permalink
On Wed, 01 Aug 2007 13:55:45 +0200 Fabian Koenig <koenig at bluhouse.de>
Post by Fabian Koenig
Ein bruteforce- / dictonary-attack stellt sich dahingehend als
schwierig heraus, da einige Wortlisten gut und gerne (im simplen
txt-format) an die 500MB umfassen. Klingt krass, ist aber so. :-P
Quatsch, der Unix-Klassiker "Crack" kommt mit ein paar 100k W?rterbuch
aus, der Rest wird zusammenkombiniert. Bruteforce ist auch Unfug, das
kann ?ber die Passwortl?nge (mindestens x Zeichen) abgefangen werden.

Ich finde die Idee gut. Ich w?rd's ungef?hr so machen:
- Trivalcheck bei Passwort-Eingabe (L?nge, verwendete Zeichen etc)
- alle bisherigen accounts als neu kennzeichnen
- Extension schreiben, die eine passwd Datei aus der Datenbank f?r die
zu ?berpr?fenden neuen accounts schreibt
- darauf mit nice -20 Crack (oder ?hnliches) ansetzen (nicht das Rad neu
erfinden, das gibt's alles schon seit 20 Jahren)
- Ergebnisdatei mit eigener extension auswerten

Ich wei? nicht genau, ob man Crack neue Passwortlisten unterjubeln kann,
solange er nicht fertig ist, das mu? du vielleicht serialisieren indem
die passwd Datei immer nur einen Eintrag enth?lt (oder so).

PHP gef?llt mir auch nicht, sollte aber hierf?r gen?gen, ganz einfach
weil es da sein mu?. Und shell-scripts saugen ja wohl auch ;-)


Gruss, Ingo
Fabian Koenig
2007-08-07 07:53:10 UTC
Permalink
Post by Ingo
On Wed, 01 Aug 2007 13:55:45 +0200 Fabian Koenig <koenig at bluhouse.de>
Quatsch, der Unix-Klassiker "Crack" kommt mit ein paar 100k W?rterbuch
aus, der Rest wird zusammenkombiniert. Bruteforce ist auch Unfug, das
kann ?ber die Passwortl?nge (mindestens x Zeichen) abgefangen werden.
Du sagst es: Unix-Klassiker.
Ich finde es krass, dass naiver Weise IMMER und ueberall Unix
vorausgesetzt wird.
Und das mit "mindestens x Zeichen", sofern ueberhaupt gesetzt, was nicht
vorausgesetzt ist (!!), ist in bruteforce kein Unfug, da du dort
ebenfalls angeben kannst, ab wievielen zeichen angefangen werden soll zu
penetrieren, sofern eine halbwegs vernuenftige Applikation zur
Verfuegung steht.
Post by Ingo
- Trivalcheck bei Passwort-Eingabe (L?nge, verwendete Zeichen etc)
- alle bisherigen accounts als neu kennzeichnen
- Extension schreiben, die eine passwd Datei aus der Datenbank f?r die
zu ?berpr?fenden neuen accounts schreibt
- darauf mit nice -20 Crack (oder ?hnliches) ansetzen (nicht das Rad neu
erfinden, das gibt's alles schon seit 20 Jahren)
- Ergebnisdatei mit eigener extension auswerten
Joah. Viel Spass mit "Crack" unter Windows ;-)
(Es ist ja nichteinmal jede Linux-Distribution mit ?"Crack" ausgestattet.)
Post by Ingo
PHP gef?llt mir auch nicht, sollte aber hierf?r gen?gen, ganz einfach
weil es da sein mu?. Und shell-scripts saugen ja wohl auch ;-)
Mal davon abgesehen, dass shell-scripts in einem fuer "Dau-Admins" nicht
erreichbaren Systemordner liegen koennen, unabhaengig vom docroot &
typo3conf/ext-Ordner, sind shell-scripts weitaus schneller und man
sollte sowieso nicht versuchen, solche "Spielereien" auf einem
Live-Server auszufuehren. :-P Es gibt genug User, die "wissen was sie
tun" (oder es zumindest behaupten) und 10x am Tag den Server in's
Nirvana jagen. (Sofern diese entsprechende Berechtigungen haben.)

Daher wuerde ich den ganzen Kram eher auf einer lokalen Spiegelung
durchlaufen.
Bjoern Pedersen
2007-08-07 09:00:58 UTC
Permalink
Post by Ingo
On Wed, 01 Aug 2007 13:55:45 +0200 Fabian Koenig <koenig at bluhouse.de>
Post by Fabian Koenig
Ein bruteforce- / dictonary-attack stellt sich dahingehend als
schwierig heraus, da einige Wortlisten gut und gerne (im simplen
txt-format) an die 500MB umfassen. Klingt krass, ist aber so. :-P
Quatsch, der Unix-Klassiker "Crack" kommt mit ein paar 100k W?rterbuch
aus, der Rest wird zusammenkombiniert. Bruteforce ist auch Unfug, das
kann ?ber die Passwortl?nge (mindestens x Zeichen) abgefangen werden.
W?re es nicht vielleicht einfacher, Fehllogins zu protokollieren und
nach n (n ~ 3) Fehlversuchen den account zu sperren?

Bj?rn
--
Bjoern Pedersen
Elmar Hinz
2007-08-07 09:20:08 UTC
Permalink
Post by Bjoern Pedersen
W?re es nicht vielleicht einfacher, Fehllogins zu protokollieren und
nach n (n ~ 3) Fehlversuchen den account zu sperren?
Bj?rn
Hi Bj?rn,

auch ein guter Vorschlag. Am besten man kombiniert alle Varianten, um die
h?chste Sicherheit zu erreichen.

Je h?her die Investitionen in die Sicherheit, desto wichtier ist es
?brigens, da? das Masterpasswort, also das vom Chef, einfach und leicht zu
merken ist. Stell Dir vor, alle Sicherheitmeachnismen greifen, die Leute
vergessen ihre hochsicheren, komplexen Passw?rter und werden nach 3 Logins
ausgesperrt. W?re doch fatal wenn der Chef sie dann nicht mehr freischalten
k?nnte, weil er sein eigenes Passwort vergessen hat. Gute Masterpassw?rter
sind "passwort", "geheim" oder der Vorname der Geliebten. Der steht ja
sowieso schon auf dem Foto im Portemonai, damit er ihn beh?lt.

Aber auch der Chef ist nur ein Mensch und vergesslich. Er sollte das
Passwort daher mindestens auch an die Sekret?rin weitergeben, damit Sie es
f?r ihn aufschreiben kann. Auf einem kleinen Zettel am Monitor, ist es
immer in der N?he. Der Chef erh?ht die Sicherheit, es nicht zu verlieren
dadurch, da? er es an weitere vertrauenw?rdige Personen verteilt, z.B. an
Finanzberater, Rechtsanwalt und ?rztin. Gerade bei Masterpassw?rtern ist
?berlegte Redundanz wichtig.

Gr??e

Elmar
Christian Wolff
2007-08-07 09:48:24 UTC
Permalink
Post by Elmar Hinz
Post by Bjoern Pedersen
W?re es nicht vielleicht einfacher, Fehllogins zu protokollieren und
nach n (n ~ 3) Fehlversuchen den account zu sperren?
Bj?rn
Hi Bj?rn,
auch ein guter Vorschlag. Am besten man kombiniert alle Varianten, um die
h?chste Sicherheit zu erreichen.
Je h?her die Investitionen in die Sicherheit, desto wichtier ist es
?brigens, da? das Masterpasswort, also das vom Chef, einfach und leicht zu
merken ist. Stell Dir vor, alle Sicherheitmeachnismen greifen, die Leute
vergessen ihre hochsicheren, komplexen Passw?rter und werden nach 3 Logins
ausgesperrt. W?re doch fatal wenn der Chef sie dann nicht mehr
freischalten
k?nnte, weil er sein eigenes Passwort vergessen hat. Gute
Masterpassw?rter
sind "passwort", "geheim" oder der Vorname der Geliebten. Der steht ja
sowieso schon auf dem Foto im Portemonai, damit er ihn beh?lt.
Aber auch der Chef ist nur ein Mensch und vergesslich. Er sollte das
Passwort daher mindestens auch an die Sekret?rin weitergeben, damit Sie es
f?r ihn aufschreiben kann. Auf einem kleinen Zettel am Monitor, ist es
immer in der N?he. Der Chef erh?ht die Sicherheit, es nicht zu verlieren
dadurch, da? er es an weitere vertrauenw?rdige Personen verteilt, z.B. an
Finanzberater, Rechtsanwalt und ?rztin. Gerade bei Masterpassw?rtern ist
?berlegte Redundanz wichtig.
Gr??e
Elmar
Hi Elmar!
<ironie>
Wenn man schon dabei ist sollte man firmenweit "passwort listen" ausliegen
haben.
damit die mitarbeiter ihre passworte nicht vergessen! sonst wird chef ja
st?ndig bel?stigt
weil die leute ihre passworte vergessen haben.
</ironie>

ja ich kenne firmen in denen es solche "login-listen" gibt. und die
passworter f?r mail accounts.
grunds?tzlich auf den namen des besitzer lauten um sie sich leichter zu
merken.

und damit sowas nicht vorkommt. w?hre es w?nschens wert ein typo3 extension
zu entwicklen. die daf?r sorgt das die user "strong passwords"
verwenden.(der admin nat?rlich auch)

den ansatz die passworte zu cracken um zu beweisen das sie schwach sind.
halte ich f?r wenig
nutzbringend! es sei denn man m?chte den usern einen schreck einjagen.
aber ich glaube so ein schreck
h?lt vieleicht ein halbes jahr. dann muss mann sie wieder erschrecken.
also wird der admin zum
berufs erschrecker *g* anstatt mit einer einmaligen l?sung (extension)
daf?r zu sorgen das die passworte
nicht mehr so einfach zu knacken sind.

gruss chris
Fabian Koenig
2007-08-08 08:55:31 UTC
Permalink
also wird der admin zum berufs erschrecker *g*
[OT]

Sind wir nicht alle ein bisschen BOfH? ;-)

[/OT]
Christian Wolff
2007-08-08 09:05:01 UTC
Permalink
Post by Fabian Koenig
also wird der admin zum berufs erschrecker *g*
[OT]
Sind wir nicht alle ein bisschen BOfH? ;-)
[/OT]
Ja Sind wir ;-)
--
christian wolff - multimedia producer
telefon: (030) 789 134 99
handy: 0179 49 44 758
email: chris at connye.com
adresse: schenkendorfstr. 6 - 10965 berlin
Fabian Koenig
2007-08-01 11:59:07 UTC
Permalink
*script-kiddie-kenntnisse von damals hervorkram*

Da ich mich zuuuuuufaelligerweise mal mit dem Thema beschaeftigt habe
(*hust*), muss ich euch "leider" mitteilen, dass das ganze nicht
wirklich spassig wird.

Ein bruteforce- / dictonary-attack stellt sich dahingehend als schwierig
heraus, da einige Wortlisten gut und gerne (im simplen txt-format) an
die 500MB umfassen. Klingt krass, ist aber so. :-P

Aber das ist ja noch nicht das Problem!
Wer mal z.B. einen bruteforce durchlaufen lie? wei?, dass soetwas gerne
mal Stunden dauern kann, bei EINEM (!!!) Account.
(bruteforce, NICHT dictonary! dictonary geht natuerlich schneller.)


Beruecksichtigt man dann noch den zur Verfuegung stehenden Speicher (RAM
@ Server), die Prozessorleistung (@Server), die Anzahl der zu pruefenden
Accounts (@Datenbank) und die "lahmarschigkeit" von PHP und JavaScript
(welches benoetigt wird, damit man nicht nach 30 Sekunden einen timeout
bekommt), dann stellt man ganz schnell fest, dass daraus gut und gerne
bei 100 Datensaetzen ein paar Tage fuer den Test draufgehen.


Checkt man allerdings lediglich gegen eine Wordlist (dictionary) und hat
viele Accounts (mein kleinstes Projekt hat ~200 BE-User und TAUSENDE
FE-User (welche wir mal au?en vor lassen)), kann man trotzdem mit
stundenlangen Tests rechnen. Denn fuer jedes einzelne "Wort" muessen
ALLE BE-User gegengeprueft werden.


Das macht bei halbwegs guten Wortlisten (mind. 100.000 Woerter) und etwa
100 BE-Usern laut Grundschul-Mathematik (100.000 * 100) etwa, bzw. genau
10.000.000 (ZEHN MILLIONEN!!!) Checks.
(Und 100.000 Woerter sind NICHT wirklich sehr umfangreiche Listen! Da
gibt es vieeeel groessere!!)



Also dann, viel Spass dabei ;-)
Post by Elmar Athmer
Hi
Gibt es f?r Typo3 irgendeinen Password Cracker, Checker oder ?hnliches?
Google spuckt zu Typo3 und Password Cracking/weak passwords etc. nicht
sonderlich viel brauchbares aus.
Als Backendplugin macht es ja vielleicht nicht so viel Sinn
(Performance, und eigentlich Laufzeit nachts oder so ?ber l?ngere Zeit).
Ich stelle mir ein Programm/(Shell?)-Script vor, dass ich als Cronjob
auf dem Server starte und dass dann auf die Datenbank zugreift und
W?rtebuchattacken ausf?hrt, W?rterbuchattacken mit Zahl angeh?ngt,
Benutzernamen ?berpr?ft, oder halt alles andere m?gliche triviale was
manchen Benutzern einf?llt als Passwort zu nehmen...
Kennt einer hier was (kann man bestehende Unixtools daf?r
konfigurieren?)? z.B. ein Shellscript, dass mir aus der DB die
Passw?rter+Benutzernamen zieht, in eine Datei schreibt und dann z.B.
john the ripper o.?. drauf los l?sst...
Alternativ ?berlege ich sowas selber zu schreiben, wahrscheinlich ist C
da am sinnvollsten. Vielleicht hat hier ja einer Tipps was man da
beachten sollte (wobei das ja etwas offtopic wird, und ich im Bezug auf
Password-Cracker schreiben auch noch nix selber gegoogled habe).
Was habt ihr da so an Erfahrungen und Vorschl?gen?
Gru?
Elmar
Elmar Athmer
2007-11-05 22:32:40 UTC
Permalink
Hallo

Die ?berlegungen von "damals" habe ich mangels Zeit mich in
Typo3-Extension Entwicklung einzuarbeiten noch nicht umsetzen k?nnen.

Ich hab jetzt einfach eine Liste der deutschen W?rter in eine Tabelle
gepackt, samt MD5 Hash.
Der Insert an sich dauerte ein paar Minuten (so 5-10 auf nem VServer),
die MD5 Hashes dazu erstellen ging erheblich schneller, das kann man
also auch in einem Schritt machen.
Das ganze kann man dann relativ billig mit be_users joinen.
Die Tabelle ist hier knapp 60000 KiByte gro?, das ist wohl unter
Umst?nden der einzige Nachteil an der Sache.

In Kurzform habe ich folgendes gemacht:

CREATE TABLE `pw` (
`pw_id` bigint(1) NOT NULL auto_increment,
`string` varchar(50) character set utf8 collate utf8_bin NOT NULL,
`md5` varchar(32) character set latin1 default NULL,
PRIMARY KEY (`pw_id`),
KEY `string` (`string`),
KEY `md5` (`md5`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC AUTO_INCREMENT=1 ;

for i in `cat /usr/share/dict/words`; do echo "insert into pw (string,
md5) values ('$i', MD5('$i');"; done | mysql -u root typo3_db


select username,string,email from be_users u join pw r
on(r.md5=u.password); zeigt dann die ?belt?ter.
Alternativ kann man gleich mit update das Passwort leer setzen oder den
Account deaktivieren etc.


Mein Aufwand wurde gleich "belohnt", jemand hatte sich als Passwort
"Anna" ausgesucht. Daumen hoch...


Gru?
Elmar
--
Nothing much
Loading...