Crack-wifi.com FORUM

LE FORUM DU SITE

Wifi, Backtrack, crack WEP et WPA...

Vous n'êtes pas identifié(e).  

Annonce

Visitez la boutique Wifi-highpower.com, votre revendeur agr Alfa Network: du matriel Wifi slectionn, cartes Wifi USB Awus036h et Awus036nh, antennes omnis, yagis, panel, amplis wifi, accessoires...

#26 15-08-2008 21:47:59

guifort
Membre Indéboulonnable
Inscription : 13-08-2008
Messages : 135

Re : Livebox Inventel WPA

non pas dans le chipset c'est contenu dans le redboot la c'est la carte Wifi qui peut gérer ces types de sécurité, la commande redboot_fconfig_get wep_key donne la clée par défault méme si on à changer la clef dans la configuration ce qui démontre que c'est bien généré par le redboot et que la clef personnalisé par l'utilisateur est enregistrée dans etc/wifi.conf  Ce Wifi.conf avant que le firmware soit installé sur la livebox à pour clef :

WIFI_KEY_5=0123456789
WIFI_KEY_13=01234567890123456789012345
WIFI_KEY_63=0123456789012345678901234567890123456789012345678901234567890123

Ces clefs sont changées apparament dés le 1er boot sur le firmware, il vient récupérer les infos dans le Redboot (Bootloader) la variable "wep_key", d'aprés un apercu du redboot à l'édtieur hexa sa serait la fonction wep_key.Set qui viendrait créer la clé WEP qui est en fait une clefs WPA.

Hors Ligne

Annonce

Visitez la boutique Wifi-highpower.com, votre revendeur agr Alfa Network: du matriel Wifi slectionn, cartes Wifi USB Awus036h et Awus036nh, antennes omnis, yagis, panel, amplis wifi, accessoires...

#27 15-08-2008 22:01:29

M1ck3y
Administrateur
Lieu : Lost in the darkness
Inscription : 14-02-2008
Messages : 6 362

Re : Livebox Inventel WPA

Le chipset Broadcom, c'est la partie "radio" de la box. C'est lui qui transforme les données en ondes wifi lors de l'émission, et il fait l'inverse lors de la réception. Il est capable de gèrer l'encryptage WPA, mais ce n'est pas lui qui génère la clé par défaut. C'est le F.A.I qui a développé le firmware qui décide quelle sera la clé par défaut, et en fonction de quoi elle sera générée. De manière basique, les éléments qui peuvent servir à la génération de la clé sont:

-le numéro de série de la box
-l'adresse mac de la box
-l'essid

Ces éléments seront utilisés de différentes manières, hashés, afin d'en ressortir une clé par défaut en principe unique et différente sur chaque box du meme modèle.

Guifort est sur la bonne voie, il assure grave les gars wink

Hors Ligne

#28 15-08-2008 22:20:03

guifort
Membre Indéboulonnable
Inscription : 13-08-2008
Messages : 135

Re : Livebox Inventel WPA

Au passage apparament certaine livebox inventel aurait un chipset Atheros, Les anciennes peut étre ?

Car dans le script d'initialisation de la carte Wifi il y a if bcm(broadcom) else ... et apparament ça serait du atheros bref je pars en hors sujet la !

Edit : ça me fait penser à installer ma carte Wifi Atheros à la place de la broadcom de la livebox pour transformer ma livebox en micro onde ^^ en prenant soint de changer le bloc d'alim par un plus costaud !

Dernière modification par guifort (15-08-2008 22:22:27)

Hors Ligne

#29 21-10-2008 13:25:16

Grand Hibou
Membre d'honneur
Inscription : 08-06-2008
Messages : 1 280

Re : Livebox Inventel WPA

Bon, pour ceux qui bossent sur le sujet livebox, je leur conseille vivement d'aller à ce meeting du 1er novembre à partir de 16h dans les locaux de Sysdream à Saint Ouen:

http://www.thehackademy.net/

cool


Un virus est un programme nocif.
Il est petit, rapide, prend peu de place en mémoire et sait se faire discret.

Windows n'est donc pas un virus, c'est un bug!

Hors Ligne

#30 22-10-2008 18:03:24

M1ck3y
Administrateur
Lieu : Lost in the darkness
Inscription : 14-02-2008
Messages : 6 362

Re : Livebox Inventel WPA

C'est le genre de réunion à laquelle j'aurais bien aimé me rendre si seulement ce n'était pas aussi loin de chez moi. Si quelqu'un a l'occasion d'y aller, ce serait sympa de nous faire un petit "débriefing" histoire de tenir tout le monde informé wink

Hors Ligne

#31 23-10-2008 20:27:24

guifort
Membre Indéboulonnable
Inscription : 13-08-2008
Messages : 135

Re : Livebox Inventel WPA

ça à l'air intéréssant tt ça ! j'irai bien !


Edit : Outch Durée (1): 02H25
Distance : 212.55 km, dont Voies express : 194.10 km


Mais ça me tente ^^

Dernière modification par guifort (23-10-2008 20:31:20)

Hors Ligne

#32 28-10-2008 18:02:49

lolo_1972
Nouveau membre
Inscription : 01-05-2008
Messages : 8

Re : Livebox Inventel WPA

bonjour j ai un souci j ai essayer avec ma live box de briser la phrase avec le pack dico mickey livebos et les autres pris sur ce site mais meme avec le handshake rien ne sort.
j ai vu sur internet qu il y aurait sponnwpa avec un dico tres conviviale seulement moi sur bactrak 3 iso pour vmware il n y a que spoonwep.
es ce que c est possible de le rajouter et de savoir ou le trouver???
merci car la je suis coincer bloquer imposssible de m en sortir sans votre aide merci d avance.

Hors Ligne

#33 31-10-2008 21:11:37

M1ck3y
Administrateur
Lieu : Lost in the darkness
Inscription : 14-02-2008
Messages : 6 362

Re : Livebox Inventel WPA

Sachant que la clé wpa de ta Livebox (si elle est d'origine) est composée de 26 caractères héxadécimaux, ce n'est pas avec un mini dico récupéré dans spoonwpa que tu vas faire parler ton handshake.

Jettes plutot un oeil ici par exemple: Giga Password Generat0r: un script de génération de dicos et clés WPA... wink

Hors Ligne

#34 03-11-2008 12:57:58

lolo_1972
Nouveau membre
Inscription : 01-05-2008
Messages : 8

Re : Livebox Inventel WPA

Merci je vais essayer je pensais qu avec sponwpa j y serais arriver surtout que le handshake je l ai eu comme dans ton tutos reste plus qu a verifier enfin trouver la phrase magique.........merci je te tiens au courant.
j ai recuperer tes trois dicos pack dico pack livebox et pack neuf bos avec tout cela je devrais m en sortir non?
es ce que tu comptes augmenter tes dicos?

Hors Ligne

#35 03-11-2008 13:03:15

M1ck3y
Administrateur
Lieu : Lost in the darkness
Inscription : 14-02-2008
Messages : 6 362

Re : Livebox Inventel WPA

Les dicos te permettront déja de faire quelques tests, mais en plus tu vas pouvoir créer tes propres dicos contenant le nombre de passphrases que tu souhaites grace au script Giga Password Generat0r wink

Hors Ligne

#36 18-11-2008 13:05:26

guifort
Membre Indéboulonnable
Inscription : 13-08-2008
Messages : 135

Re : Livebox Inventel WPA

Un peu de nouvelle depuis le temps : Voila le démarrage d'une livebox loggué grace à un cable série  On peut bien constater que la clé WEP est directement la méme avant le boot du Firmware !
[c]
@AABCBCCCC9655432SDRAM16bitX10120123456+78ESA: 00:07:3a:f9:0f:02
WEP KEY : E34E08C16FEAF50B985959B74B
Ethernet eth0: MAC address 00:07:3a:f9:0f:02
IP: 10.7.58.112, Default server: 0.0.0.0
Hardware version 0x0A BLUE5G.6 WITHOUT OPTION
Factory Settings Recovery Switch OFF

RedBoot(tm) bootstrap and debug environment [ROM]
Non-certified release, version release-wanadoo-fr - built 17:05:34, Aug  2 2005

Platform: Blue_5g (MIPS32 4Kc)
Copyright (C) 2000, 2001, 2002, Red Hat, Inc.

RAM: 0x80000000-0x81000000, [0x80434720-0x80fe2000] available
FLASH: 0xbe400000 - 0xbec00000, 128 blocks of 0x00010000 bytes each.
== Executing boot script in 0.200 seconds - enter ^C twice to abort
RedBoot> fis load -b 0x80010000 -m cramfs -f Image user_fs
Looking for Image in cramfs user_fs partition
cramfs_load : b 0x80010000, c 0xBE430000, s 0x00720000, f Image
.............loaded 0x1900FC bytes

RedBoot> exec -c "boot_loader=RedBoot root=1F01 mem=16M" 0x80010000
Now booting linux kernel:
Base address 0x8000fc00 Entry 0x80010000
Cmdline : boot_loader=RedBoot root=1F01 mem=16M
arcs_cmdline: boot_loader=RedBoot root=1F01 mem=16M
Boot loader : REDBOOT
prom init
CPU revision is: 00029107
Primary instruction cache 16kb, linesize 16 bytes (2 ways)
Primary data cache 8kb, linesize 16 bytes (2 ways)
Linux version 2.4.17 ([email protected]) (gcc version 3.2.2) #1 Tue Sep 20 16:56:45 CEST 2
005
Determined physical RAM map:
memory: 00fa0000 @ 00000000 (usable)
User-defined physical RAM map:
memory: 00fa0000 @ 00000000 (usable)
On node 0 totalpages: 4000
zone(0): 4000 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: boot_loader=RedBoot root=1F01 mem=16M
bcm_console_setup
Calibrating delay loop... 254.77 BogoMIPS
Memory: 13812k/16000k available (1429k kernel code, 2188k reserved, 96k data, 60
k init, 0k highmem)
Dentry-cache hash table entries: 2048 (order: 2, 16384 bytes)
Inode-cache hash table entries: 1024 (order: 1, 8192 bytes)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 4096 (order: 2, 16384 bytes)
Checking for 'wait' instruction...  unavailable.
POSIX conformance testing by UNIFIX
mpi: No Card is in the PCMCIA slot
PCI: Fixing up bus 0
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
JFFS2 version 2.1. (C) 2001 Red Hat, Inc., designed by Axis Communications AB.
pty: 256 Unix98 ptys configured
brcmboard: brcm_board_init entry
New led 8, mask : 0x00000001
New led 0, mask : 0x00000002
New led 9, mask : 0x00000004
New led 6, mask : 0x00000008
New led 1, mask : 0x00000010
Module bcm63xx_cons.c v1.0
date: Sep 20 2005 time: 16:56:56 - FPERIPH:50000000
block: 64 slots per queue, batch=16
PPP generic driver version 2.4.1
DBW flash: probing 16-bit flash bus
Physically mapped flash: Probing for AMD compatible flash...
mfr_id 0x00000001, dev_id 0x0000227E, dev_id2 0x00002210, dev_id3 0x00002200
Found AMD AM29BDS643D
table[i] : mfr_id 0x00000001, dev_id 0x0000227E, dev_id2 0x00002202, dev_id3 0x0
0002200, long_dev_id 1
Found AMD AM29LV640MB
table[i] : mfr_id 0x00000001, dev_id 0x0000227E, dev_id2 0x00002210, dev_id3 0x0
0002200, long_dev_id 1
Found AMD AM29LV640MB
Physically mapped flash: Found 1 x 8MiB AMD AM29LV640MB at 0x0
mtd_info :
type 3, size 0x00800000, erasesize 0x00010000, name Physically mapped flash, ind
ex 0, numeraseregions 3
mtd_info->priv : amd_flash_private : device_type 2, interleave 1, numchips 1, ch
ipshift 23<5> mymtd is : 80f52120
Support for extended flash memory size : 0x00800000 ; ONLY 64MBIT SUPPORT
RedBoot partition for 64MBit non aligned Flash
RedBoot partition for 64MBit non aligned Flash
RedBoot partition for 64MBit non aligned Flash
RedBoot partition for 64MBit non aligned Flash
RedBoot partition for 64MBit non aligned Flash
Using RedBoot partition definition
Creating 5 MTD partitions on "Physically mapped flash":
0x00000000-0x00030000 : "RedBoot"
0x00030000-0x00750000 : "user_fs"
0x00750000-0x007f0000 : "jffs_system"
0x007f0000-0x007ff000 : "FIS directory"
0x007ff000-0x00800000 : "RedBoot config"
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 512 bind 1024)
Linux IP multicast router 0.06 plus PIM-SM
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
Ebtables v2.0 registered<6>NET4: Ethernet Bridge 008 for NET4.0
VFS: Mounted root (cramfs filesystem) readonly.
Freeing unused kernel memory: 60k freed
init started:  BusyBox v0.60.4 (2003) multi-call binary
Algorithmics/MIPS FPU Emulator v1.5

SYSINIT

INVENTEL version : v5.04.3-uk
<SNIP>
Sysinit done

Please press Enter to activate this console.

[/c]

Hors Ligne

#37 18-11-2008 13:29:27

M1ck3y
Administrateur
Lieu : Lost in the darkness
Inscription : 14-02-2008
Messages : 6 362

Re : Livebox Inventel WPA

Hum, mais alors elle sort d'ou cette clé? Si elle est hardcodée dans la box en usine, ça va etre très difficile pour trouver l'algo... Ou peut etre qu'elle a été générée au premier boot, puis récupérée à chaque reboot suivant. Tu as fait le test avec le cable série pour voir ce qui se passe lorsque tu bootes après un hard reset?

Il va peut etre falloir décompiler le redboot pour le faire parler.

Elle sort d'ou cette clé??? mad

Hors Ligne

#38 20-11-2008 17:18:44

guifort
Membre Indéboulonnable
Inscription : 13-08-2008
Messages : 135

Re : Livebox Inventel WPA

Je pense pas c'est pas le log de ma box j'ai pas encore pu fabriquer ce cable !

Sinon dans le firmware si tu te souvient j'ai tout analyser et rien trouver a par qu'il va chercher ça dans wep_key sur le redboot !

Décompiler le redboot oui pourquoi pas ! Mais comment !

Hors Ligne

#39 20-11-2008 18:43:55

M1ck3y
Administrateur
Lieu : Lost in the darkness
Inscription : 14-02-2008
Messages : 6 362

Re : Livebox Inventel WPA

Excellente question... Et malheureusement je n'en sais rien hmm

Si quelqu'un est capable de décompiler ce truc, merci de nous aider à avancer dans ces recherches! smile

Hors Ligne

#40 29-11-2008 00:23:09

Djembadi
Membre Hyperactif
Inscription : 15-11-2008
Messages : 51

Re : Livebox Inventel WPA

Quelque chose qui m'a l'air très intéressant (bien que je m'y connaisse pas en programmation) :
http://www.final4   ever.com/showth   read.php?t=48896

Hors Ligne

#41 29-11-2008 00:48:09

Grand Hibou
Membre d'honneur
Inscription : 08-06-2008
Messages : 1 280

Re : Livebox Inventel WPA

En bon sherlock holmes (après une très longue et fastidieuse enquête!) que je suis j'ai recomposé et corrigé ton url big_smile

http://www.final4ever.com/showthread.php?t=48896


Un virus est un programme nocif.
Il est petit, rapide, prend peu de place en mémoire et sait se faire discret.

Windows n'est donc pas un virus, c'est un bug!

Hors Ligne

#42 05-03-2009 19:33:35

S39
Membre
Inscription : 26-12-2008
Messages : 22

Re : Livebox Inventel WPA

Bonjour tout le monde j'ai trouver ce site http://www.agp.dsl.pipex.com/inventel.html
qui avait un lien mort des codes sources de la livebox et un nouveau lien de cette update :

12 Nov 2006. I have started to look at the source code released by Inventel on its web site Inventel GPL Source dated 2006-07-18 which includes the sources, binaries and configuration files required to build the RedBoot loader. This builds if you follow the instructions, I just haven't installed it yet. This means that we could re-enable Ctrl-C during the boot process as well as sign our own images by including our own public keys. Inventel have also included the sources and tools required to build all the GPL software included in the Livebox. I have looked at the source to Busybox but it will not build as some files appear to be missing. These files, including "hard_api/board_api.h" which is used by ledctrl.c, get_param.c and hard_reboot.c, are not included in any of the sources. Looking at other BCM6348 distributions that use busybox, it appears that Inventel have made some changes to busybox and these files are need to allow busybox to be built with the same options as those included in the Livebox.

Link :

http://www.dbzoo.com/public/OPENSOURCE- … -07-18.tgz 

(je pense que les codes sources de Redboot s'y trouve)

lien source : ICI

un autre lien intéressent que je n'arrive a exploiter ^^ : http://www.gandf.info/firmware/index.ph … &sens=DESC

J'ai fini de télécharger le fichier OPENSOURCE-5G-2006-07-18.tgz et j'ai trouver le code source du fameux REDBOOT le voila : http://www.zshare.net/download/56579359de92c9c5/

Dernière modification par S39 (05-03-2009 21:24:13)

Hors Ligne

#43 06-03-2009 16:05:35

M1ck3y
Administrateur
Lieu : Lost in the darkness
Inscription : 14-02-2008
Messages : 6 362

Re : Livebox Inventel WPA

En voila un post qui déchire! big_smile

Bon, là on va avoir besoin de personnes qui s'y connaissent en crypto et programmation, l'algo de génération des clés WEP/WPA par défaut des Livebox (et d'autres box aussi) est surement quelque part dans le Redboot décompilé. Il faut l'étudier attentivement et le faire parler.

J'ai regardé vite fait, et j'ai déja trouvé ceci:

-Dans build/rom_release_wanadoo_fr.ecc

# Set the WEP KEY
# Enabling this option will allow the WEP KEY
# to be forced to the value set by the configuration.
#
cdl_component CYGSEM_DEVS_ETH_MIPS_BLUE_5G_SET_WEP_KEY {
    # Flavor: bool
    user_value 1
    # value_source user
    # Default value: 0

Dans src/packages/hal/mips/blue_5g/cscope.out

31 #ià
defšed
 
CYGHWR_HAL_MIPS_BLUE_5G_CRYPTO_MAIN_PUBKEY_RELEASE_WANADOO_FR


32 
	#buf_key
 
pubkey_»Ëa£_wªadoo_ä


	)

33 
	#keyËn
 
pubkey_»Ëa£_wªadoo_ä_Ën


	)

Et quelque chose qui m'a interpelé, dans src/packages/hal/mips/blue_5g/current/src/sha512.c

/* LibTomCrypt, modular cryptographic library -- Tom St Denis
 *
 * LibTomCrypt is a library that provides various cryptographic
 * algorithms in a highly modular and flexible manner.
 *
 * The library is free for all purposes without any express
 * gurantee it works.
 *
 * Tom St Denis, [email protected], http://libtomcrypt.org
 */

/* SHA512 by Tom St Denis */

#include "mycrypt.h"


#ifdef SHA512

#ifdef CYGHWR_CRYPTO_TOOLS


/* ----------------------- */
/* CONFIGURATION DES CLEFS */
/* ----------------------- */

#include "pubkeys.h"
#include <config.h>

#include <pkgconf/system.h>

#if defined CYGHWR_HAL_MIPS_BLUE_5G_CRYPTO_MAIN_PUBKEY_RELEASE_WANADOO_FR
#define   buf_key          pubkey_release_wanadoo_fr
#define   keylen           pubkey_release_wanadoo_fr_len
#elif defined CYGHWR_HAL_MIPS_BLUE_5G_CRYPTO_MAIN_PUBKEY_TEST_WANADOO_FR
#define   buf_key          pubkey_test_wanadoo_fr
#define   keylen           pubkey_test_wanadoo_fr_len
#elif defined CYGHWR_HAL_MIPS_BLUE_5G_CRYPTO_MAIN_PUBKEY_RELEASE_BELGACOM_FR
#define   buf_key          pubkey_release_belgacom
#define   keylen           pubkey_release_belgacom_len
#elif defined CYGHWR_HAL_MIPS_BLUE_5G_CRYPTO_MAIN_PUBKEY_TEST_INVENTEL
#define   buf_key          pubkey_test_inventel
#define   keylen           pubkey_test_inventel_len
#elif defined CYGHWR_HAL_MIPS_BLUE_5G_CRYPTO_MAIN_PUBKEY_TEST_TELKOM
#define   buf_key          pubkey_test_telkom
#define   keylen           pubkey_test_telkom_len
#elif defined CYGHWR_HAL_MIPS_BLUE_5G_CRYPTO_MAIN_PUBKEY_RELEASE_AFONE
#define   buf_key          pubkey_release_afone
#define   keylen           pubkey_release_afone_len
#elif defined CYGHWR_HAL_MIPS_BLUE_5G_CRYPTO_MAIN_PUBKEY_RELEASE_COMMERCIAL_AOL
#define   buf_key          pubkey_release_commercial_aol
#define   keylen           pubkey_release_commercial_aol_len
#elif defined CYGHWR_HAL_MIPS_BLUE_5G_CRYPTO_MAIN_PUBKEY_RELEASE_WANADOO_PRO_FR
#define   buf_key          pubkey_release_wanadoo_pro_fr
#define   keylen           pubkey_release_wanadoo_pro_fr_len
#elif defined CYGHWR_HAL_MIPS_BLUE_5G_CRYPTO_MAIN_PUBKEY_RELEASE_BT
#define   buf_key          pubkey_release_bt
#define   keylen           pubkey_release_bt_len
#endif 

#undef SPECIAL_TEST_FEATURE

#ifdef CYGHWR_HAL_MIPS_BLUE_5G_CRYPTO_SUPPORT_FTRD_KEY 
#define SPECIAL_TEST_FEATURE
#define   test_buf_key          pubkey_test_wanadoo_fr
#define   test_keylen           pubkey_test_wanadoo_fr_len
#endif
#ifdef CYGHWR_HAL_MIPS_BLUE_5G_CRYPTO_SUPPORT_AOL_TEST_KEY
#define SPECIAL_TEST_FEATURE
#define   test_buf_key          pubkey_release_aol
#define   test_keylen           pubkey_release_aol_len
#endif 

#if (defined CYGHWR_HAL_MIPS_BLUE_5G_CRYPTO_SUPPORT_FTRD_KEY ) && (defined CYGHWR_HAL_MIPS_BLUE_5G_CRYPTO_SUPPORT_AOL_TEST_KEY)
#error IMPOSSIBLE DE DEFINIR EN MEME TEMPS CYGHWR_HAL_MIPS_BLUE_5G_CRYPTO_SUPPORT_FTRD_KEY ET CYGHWR_HAL_MIPS_BLUE_5G_CRYPTO_SUPPORT_AOL_TEST_KEY
#endif 

/* Globals */
int g_this_is_5_00_rc5_fr;



/* CONFIGURATION DU DEBUG */
#if DEBUG_DIAG_PRINTF_DISABLE
#define debug_diag_printf( ... ) do {} while (0)
#else
#define debug_diag_printf diag_printf 
#endif
/* ---------------------- */



/** 
 * 
 * 
 * @param data_location 
 * @param data_len 
 * @param sig_location 
 * @param sig_len 
 * @param accept_inventel 
 * 
 * @return 0 if successfully authentified
 */
int  crypt_verify(unsigned char * data_location , unsigned int data_len, unsigned char * sig_location,
		  unsigned int sig_len, int accept_inventel ) {




  unsigned char buf_hash [256];
  unsigned long int  hashlen = 64;

  int res, stat ; 

  g_this_is_5_00_rc5_fr = 0 ;

  hash_state md;

  dsa_key s_key; 
  dsa_key * key = & s_key ;

  if (sig_len > 512) {
    sig_len = 0 ; 
  }
  if (!sig_len ) {
    debug_diag_printf("changement de data_len : %x -> 0x442000\n", data_len );
    data_len = 0x442000;		/* backward ... */
  }


  debug_diag_printf("data_location : %p, data_len : 0x%x, sig_len : 0x%x\n", data_location, data_len, sig_len );



  sha512_init(&md);
  sha512_process(&md, data_location, data_len);
  sha512_done(&md, buf_hash);

  int i ; 
  debug_diag_printf("len : %d\n",64);


  hashlen = 64;
  debug_diag_printf("HASH : \n");
  for (i=0;i<64;i++) {
    debug_diag_printf("%02x ",buf_hash[i]);
  }
  debug_diag_printf("\n");


  /* backward compatible */

#ifdef SUPPORT_BACKWARD_5_00_RC5 

  static unsigned char hash_backward_rc5[64] = {
    0x71, 0xd0, 0xca, 0xc5, 0x2f, 0xd3, 0x31, 0x19, 
    0xa0, 0xee, 0xad, 0xc1, 0xd9, 0xce, 0x61, 0x2b, 
    0x21, 0x1b, 0x92, 0x22, 0x52, 0xc0, 0xfb, 0xe9, 
    0xf6, 0x62, 0xcf, 0xbb, 0x39, 0xba, 0x74, 0x51, 
    0x91, 0x56, 0xa7, 0x38, 0x3f, 0x54, 0x70, 0xb7, 
    0xeb, 0xae, 0xb7, 0x0d, 0x0f, 0xd6, 0x58, 0x80, 
    0x3c, 0xc3, 0xc0, 0xe7, 0xfd, 0x3f, 0xbd, 0x85, 
    0x3b, 0x8c, 0x9c, 0xc6, 0x8c, 0xd9, 0x30, 0xcc
  };

  if (! memcmp (buf_hash, hash_backward_rc5,64) ) {
    debug_diag_printf("Hash backward compatible\n");
    g_this_is_5_00_rc5_fr = 1 ;
    return 0;
  } else {
    debug_diag_printf("Pas backward compatible ...\n");
  }

#endif

  if ((res = dsa_import(buf_key, keylen,key)) != CRYPT_OK) {
    debug_diag_printf("Erreur d'import de la clef\n");
    debug_diag_printf("res : %d \n", res);
    return -1 ; 
  }

  debug_diag_printf("clef importee : OK\n");

  if (!sig_len) {
    debug_diag_printf("sig_len == 0 : echec\n");
    return -1 ; 
  }

  if ((res = dsa_verify_hash(sig_location, sig_len,buf_hash,hashlen,
			     &stat,key)) != CRYPT_OK) {
    debug_diag_printf("Erreur de verif !");
    debug_diag_printf("res : %d \n", res);
    return -1 ;
  }

#ifdef SPECIAL_TEST_FEATURE

  if (!stat)  {
    debug_diag_printf("TEST_FEATURE\n");
    dsa_key s_inventel2_key ; 
    dsa_key * inventel2_key = & s_inventel2_key ;
    if ((res = dsa_import(test_buf_key, test_keylen,inventel2_key)) != CRYPT_OK) {
      debug_diag_printf("Erreur d'import de la clef\n");
      debug_diag_printf("res : %d \n", res);
      return -1 ; 
    }
    
    if ((res = dsa_verify_hash(sig_location, sig_len,buf_hash,hashlen,
			       &stat,inventel2_key)) != CRYPT_OK) {
      debug_diag_printf("Erreur de verif !");
      debug_diag_printf("res : %d \n", res);
      return -1 ;
    }
  }
#endif  

  if (stat) {
    debug_diag_printf("signature verifiee OK\n");
  } else     debug_diag_printf("signature verifiee KO \n");
  return (!stat);
}







const struct _hash_descriptor sha512_desc =
{
    "sha512",
    5,
    64,
    128,
    &sha512_init,
    &sha512_process,
    &sha512_done,
    &sha512_test
};

/* the K array */
static const ulong64 K[80] = {
CONST64(0x428a2f98d728ae22), CONST64(0x7137449123ef65cd), 
CONST64(0xb5c0fbcfec4d3b2f), CONST64(0xe9b5dba58189dbbc),
CONST64(0x3956c25bf348b538), CONST64(0x59f111f1b605d019), 
CONST64(0x923f82a4af194f9b), CONST64(0xab1c5ed5da6d8118),
CONST64(0xd807aa98a3030242), CONST64(0x12835b0145706fbe), 
CONST64(0x243185be4ee4b28c), CONST64(0x550c7dc3d5ffb4e2),
CONST64(0x72be5d74f27b896f), CONST64(0x80deb1fe3b1696b1), 
CONST64(0x9bdc06a725c71235), CONST64(0xc19bf174cf692694),
CONST64(0xe49b69c19ef14ad2), CONST64(0xefbe4786384f25e3), 
CONST64(0x0fc19dc68b8cd5b5), CONST64(0x240ca1cc77ac9c65),
CONST64(0x2de92c6f592b0275), CONST64(0x4a7484aa6ea6e483), 
CONST64(0x5cb0a9dcbd41fbd4), CONST64(0x76f988da831153b5),
CONST64(0x983e5152ee66dfab), CONST64(0xa831c66d2db43210), 
CONST64(0xb00327c898fb213f), CONST64(0xbf597fc7beef0ee4),
CONST64(0xc6e00bf33da88fc2), CONST64(0xd5a79147930aa725), 
CONST64(0x06ca6351e003826f), CONST64(0x142929670a0e6e70),
CONST64(0x27b70a8546d22ffc), CONST64(0x2e1b21385c26c926), 
CONST64(0x4d2c6dfc5ac42aed), CONST64(0x53380d139d95b3df),
CONST64(0x650a73548baf63de), CONST64(0x766a0abb3c77b2a8), 
CONST64(0x81c2c92e47edaee6), CONST64(0x92722c851482353b),
CONST64(0xa2bfe8a14cf10364), CONST64(0xa81a664bbc423001),
CONST64(0xc24b8b70d0f89791), CONST64(0xc76c51a30654be30),
CONST64(0xd192e819d6ef5218), CONST64(0xd69906245565a910), 
CONST64(0xf40e35855771202a), CONST64(0x106aa07032bbd1b8),
CONST64(0x19a4c116b8d2d0c8), CONST64(0x1e376c085141ab53), 
CONST64(0x2748774cdf8eeb99), CONST64(0x34b0bcb5e19b48a8),
CONST64(0x391c0cb3c5c95a63), CONST64(0x4ed8aa4ae3418acb), 
CONST64(0x5b9cca4f7763e373), CONST64(0x682e6ff3d6b2b8a3),
CONST64(0x748f82ee5defb2fc), CONST64(0x78a5636f43172f60), 
CONST64(0x84c87814a1f0ab72), CONST64(0x8cc702081a6439ec),
CONST64(0x90befffa23631e28), CONST64(0xa4506cebde82bde9), 
CONST64(0xbef9a3f7b2c67915), CONST64(0xc67178f2e372532b),
CONST64(0xca273eceea26619c), CONST64(0xd186b8c721c0c207), 
CONST64(0xeada7dd6cde0eb1e), CONST64(0xf57d4f7fee6ed178),
CONST64(0x06f067aa72176fba), CONST64(0x0a637dc5a2c898a6), 
CONST64(0x113f9804bef90dae), CONST64(0x1b710b35131c471b),
CONST64(0x28db77f523047d84), CONST64(0x32caab7b40c72493), 
CONST64(0x3c9ebe0a15c9bebc), CONST64(0x431d67c49c100d4c),
CONST64(0x4cc5d4becb3e42b6), CONST64(0x597f299cfc657e2a), 
CONST64(0x5fcb6fab3ad6faec), CONST64(0x6c44198c4a475817)
};

/* Various logical functions */
#define Ch(x,y,z)       (z ^ (x & (y ^ z)))
#define Maj(x,y,z)      (((x | y) & z) | (x & y)) 
#define S(x, n)         ROR64((x),(n))
#define R(x, n)         (((x)&CONST64(0xFFFFFFFFFFFFFFFF))>>((ulong64)n))
#define Sigma0(x)       (S(x, 28) ^ S(x, 34) ^ S(x, 39))
#define Sigma1(x)       (S(x, 14) ^ S(x, 18) ^ S(x, 41))
#define Gamma0(x)       (S(x, 1) ^ S(x, 8) ^ R(x, 7))
#define Gamma1(x)       (S(x, 19) ^ S(x, 61) ^ R(x, 6))

/* compress 1024-bits */
#ifdef CLEAN_STACK
static void _sha512_compress(hash_state * md, unsigned char *buf)
#else
static void sha512_compress(hash_state * md, unsigned char *buf)
#endif
{
    ulong64 S[8], W[80], t0, t1;
    int i;

    _ARGCHK(md != NULL);

    /* copy state into S */
    for (i = 0; i < 8; i++) {
        S[i] = md->sha512.state[i];
    }

    /* copy the state into 1024-bits into W[0..15] */
    for (i = 0; i < 16; i++) {
        LOAD64H(W[i], buf + (8*i));
    }

    /* fill W[16..79] */
    for (i = 16; i < 80; i++) {
        W[i] = Gamma1(W[i - 2]) + W[i - 7] + Gamma0(W[i - 15]) + W[i - 16];
    }        

    /* Compress */
#ifdef SMALL_CODE
    for (i = 0; i < 80; i++) {
        t0 = S[7] + Sigma1(S[4]) + Ch(S[4], S[5], S[6]) + K[i] + W[i];
        t1 = Sigma0(S[0]) + Maj(S[0], S[1], S[2]);
        S[7] = S[6];
        S[6] = S[5];
        S[5] = S[4];
        S[4] = S[3] + t0;
        S[3] = S[2];
        S[2] = S[1];
        S[1] = S[0];
        S[0] = t0 + t1;
    }
#else
#define RND(a,b,c,d,e,f,g,h,i)                    \
     t0 = h + Sigma1(e) + Ch(e, f, g) + K[i] + W[i];   \
     t1 = Sigma0(a) + Maj(a, b, c);                  \
     d += t0;                                        \
     h  = t0 + t1;

     for (i = 0; i < 80; i += 8) {
         RND(S[0],S[1],S[2],S[3],S[4],S[5],S[6],S[7],i+0);
         RND(S[7],S[0],S[1],S[2],S[3],S[4],S[5],S[6],i+1);
         RND(S[6],S[7],S[0],S[1],S[2],S[3],S[4],S[5],i+2);
         RND(S[5],S[6],S[7],S[0],S[1],S[2],S[3],S[4],i+3);
         RND(S[4],S[5],S[6],S[7],S[0],S[1],S[2],S[3],i+4);
         RND(S[3],S[4],S[5],S[6],S[7],S[0],S[1],S[2],i+5);
         RND(S[2],S[3],S[4],S[5],S[6],S[7],S[0],S[1],i+6);
         RND(S[1],S[2],S[3],S[4],S[5],S[6],S[7],S[0],i+7);
     }
#endif     


    /* feedback */
    for (i = 0; i < 8; i++) {
        md->sha512.state[i] = md->sha512.state[i] + S[i];
    }
}

/* compress 1024-bits */
#ifdef CLEAN_STACK
static void sha512_compress(hash_state * md, unsigned char *buf)
{
    _sha512_compress(md, buf);
    burn_stack(sizeof(ulong64) * 90 + sizeof(int));
}
#endif

/* init the sha512 state */
void sha512_init(hash_state * md)
{
    _ARGCHK(md != NULL);

    md->sha512.curlen = 0;
    md->sha512.length = 0;
    md->sha512.state[0] = CONST64(0x6a09e667f3bcc908);
    md->sha512.state[1] = CONST64(0xbb67ae8584caa73b);
    md->sha512.state[2] = CONST64(0x3c6ef372fe94f82b);
    md->sha512.state[3] = CONST64(0xa54ff53a5f1d36f1);
    md->sha512.state[4] = CONST64(0x510e527fade682d1);
    md->sha512.state[5] = CONST64(0x9b05688c2b3e6c1f);
    md->sha512.state[6] = CONST64(0x1f83d9abfb41bd6b);
    md->sha512.state[7] = CONST64(0x5be0cd19137e2179);
}

HASH_PROCESS(sha512_process, sha512_compress, sha512, 128)

int sha512_done(hash_state * md, unsigned char *hash)
{
    int i;

    _ARGCHK(md != NULL);
    _ARGCHK(hash != NULL);

    if (md->sha512.curlen >= sizeof(md->sha512.buf)) {
       return CRYPT_INVALID_ARG;
    }

    /* increase the length of the message */
    md->sha512.length += md->sha512.curlen * CONST64(8);

    /* append the '1' bit */
    md->sha512.buf[md->sha512.curlen++] = (unsigned char)0x80;

    /* if the length is currently above 112 bytes we append zeros
     * then compress.  Then we can fall back to padding zeros and length
     * encoding like normal.
     */
    if (md->sha512.curlen > 112) {
        while (md->sha512.curlen < 128) {
            md->sha512.buf[md->sha512.curlen++] = (unsigned char)0;
        }
        sha512_compress(md, md->sha512.buf);
        md->sha512.curlen = 0;
    }

    /* pad upto 120 bytes of zeroes 
     * note: that from 112 to 120 is the 64 MSB of the length.  We assume that you won't hash
     * > 2^64 bits of data... :-)
     */
    while (md->sha512.curlen < 120) {
        md->sha512.buf[md->sha512.curlen++] = (unsigned char)0;
    }

    /* store length */
    STORE64H(md->sha512.length, md->sha512.buf+120);
    sha512_compress(md, md->sha512.buf);

    /* copy output */
    for (i = 0; i < 8; i++) {
        STORE64H(md->sha512.state[i], hash+(8*i));
    }
#ifdef CLEAN_STACK
    zeromem(md, sizeof(hash_state));
#endif
    return CRYPT_OK;
}

int  sha512_test(void)
{
 #ifndef LTC_TEST
    return CRYPT_NOP;
 #else    
  static const struct {
      char *msg;
      unsigned char hash[64];
  } tests[] = {
    { "abc",
     { 0xdd, 0xaf, 0x35, 0xa1, 0x93, 0x61, 0x7a, 0xba,
       0xcc, 0x41, 0x73, 0x49, 0xae, 0x20, 0x41, 0x31,
       0x12, 0xe6, 0xfa, 0x4e, 0x89, 0xa9, 0x7e, 0xa2,
       0x0a, 0x9e, 0xee, 0xe6, 0x4b, 0x55, 0xd3, 0x9a,
       0x21, 0x92, 0x99, 0x2a, 0x27, 0x4f, 0xc1, 0xa8,
       0x36, 0xba, 0x3c, 0x23, 0xa3, 0xfe, 0xeb, 0xbd,
       0x45, 0x4d, 0x44, 0x23, 0x64, 0x3c, 0xe8, 0x0e,
       0x2a, 0x9a, 0xc9, 0x4f, 0xa5, 0x4c, 0xa4, 0x9f }
    },
    { "abcdefghbcdefghicdefghijdefghijkefghijklfghijklmghijklmnhijklmnoijklmnopjklmnopqklmnopqrlmnopqrsmnopqrstnopqrstu",
     { 0x8e, 0x95, 0x9b, 0x75, 0xda, 0xe3, 0x13, 0xda,
       0x8c, 0xf4, 0xf7, 0x28, 0x14, 0xfc, 0x14, 0x3f,
       0x8f, 0x77, 0x79, 0xc6, 0xeb, 0x9f, 0x7f, 0xa1,
       0x72, 0x99, 0xae, 0xad, 0xb6, 0x88, 0x90, 0x18,
       0x50, 0x1d, 0x28, 0x9e, 0x49, 0x00, 0xf7, 0xe4,
       0x33, 0x1b, 0x99, 0xde, 0xc4, 0xb5, 0x43, 0x3a,
       0xc7, 0xd3, 0x29, 0xee, 0xb6, 0xdd, 0x26, 0x54,
       0x5e, 0x96, 0xe5, 0x5b, 0x87, 0x4b, 0xe9, 0x09 }
    },
  };

  int i;
  unsigned char tmp[64];
  hash_state md;

  for (i = 0; i < (int)(sizeof(tests) / sizeof(tests[0])); i++) {
      sha512_init(&md);
      sha512_process(&md, (unsigned char *)tests[i].msg, (unsigned long)strlen(tests[i].msg));
      sha512_done(&md, tmp);
      if (memcmp(tmp, tests[i].hash, 64) != 0) {
         return CRYPT_FAIL_TESTVECTOR;
      }
  }
  return CRYPT_OK;
  #endif
}

#ifdef SHA384
   #include "sha384.c"
#endif

#endif

#endif

Bon, il y a du boulot pour comprendre comment tout cela fonctionne et en extraire l'algo, mais je crois bien qu'on est sur la bonne voie là, en continuant à bosser ensemble là dessus on devrait réussir à obtenir quelque chose de sympa big_smile

Hors Ligne

#44 06-03-2009 18:21:21

Grand Hibou
Membre d'honneur
Inscription : 08-06-2008
Messages : 1 280

Re : Livebox Inventel WPA

Bon j'appelle de suite Tom qui habite Saint Denis et qui a crypté tout ça...quoi on me dit dans l'oreillette que ç'est pas comme ça que on arrivera à quelque chose?? J'ai du pas tout comprendre au film alors!  lol


Un virus est un programme nocif.
Il est petit, rapide, prend peu de place en mémoire et sait se faire discret.

Windows n'est donc pas un virus, c'est un bug!

Hors Ligne

#45 06-03-2009 22:15:04

Mr. M
Membre d'honneur
Inscription : 29-10-2008
Messages : 1 036

Re : Livebox Inventel WPA

Whaou... sur le cul là... il y a du taf en effet mais ça sent bon l'algo fraichement pêché... wink Joli travail !!!


footer.jpg

Hors Ligne

#46 08-03-2009 20:46:51

guifort
Membre Indéboulonnable
Inscription : 13-08-2008
Messages : 135

Re : Livebox Inventel WPA

Humm j'ai téléchargé aussi ya quelque jour les sources trés intéréssant d'ailleur mais la ce que tu a copier coller pour le cryptage je sais pas si c'est ça ! Car les livebox vérifie selon un algo le firmware que tu lui balance quand tu la flash si il lui plai pas elle ne l'installe pas !

Hors Ligne

#47 08-03-2009 20:57:20

M1ck3y
Administrateur
Lieu : Lost in the darkness
Inscription : 14-02-2008
Messages : 6 362

Re : Livebox Inventel WPA

Je ne sais pas non plus en fait j'ai juste exploré ça vite fait et j'ai mis ce qui m'a semblé intéressant sur le coup, mais il faudrait prende le temps de bien regarder.

Hors Ligne

#48 12-03-2009 12:49:33

Paqman
Membre Hyperactif
Inscription : 23-01-2009
Messages : 55

Re : Livebox Inventel WPA

J'ai une livebox qui ne me sert pas mais je n'ai pas les compétences pour la "fouiller", je la mets à disposition (port compris) de celui ou celle qui saura en faire bon usage.

MP moi.

Hors Ligne

#49 12-03-2009 21:48:05

guifort
Membre Indéboulonnable
Inscription : 13-08-2008
Messages : 135

Re : Livebox Inventel WPA

Paqman c'est une livebox sagem ou inventel ?

Hors Ligne

#50 13-03-2009 00:33:52

Paqman
Membre Hyperactif
Inscription : 23-01-2009
Messages : 55

Re : Livebox Inventel WPA

C'est une sagem...

Hors Ligne

Annonce

Visitez la boutique Wifi-highpower.com, votre revendeur agr Alfa Network: du matriel Wifi slectionn, cartes Wifi USB Awus036h et Awus036nh, antennes omnis, yagis, panel, amplis wifi, accessoires...

Sujets similaires

Discussion Réponses Vues Dernier message
35 1844 23-11-2016 16:31:33 par roofnat
12 10466 22-11-2016 15:12:09 par kcdtv
1 247 21-11-2016 15:38:39 par koala
0 395 20-11-2016 09:18:26 par regard48
livebox et clé psk par s1lv3rf0x
4 537 29-06-2016 23:26:36 par Fab955

Pied de page des forums


Le coin des bonnes affaires, achats informatiques:


|   Alfa 1000 mW AWUS036H   |    Linksys WRT54GL   |    Misco, informatique   |   
 |    Ebay   |    PC portables   |    PC Gamers & Tuning   |    Cles USB   |   
|   Disques durs externes 2 To   |   
|   Wifi-highpower.com   |   


Server Stats - [ Generated in 0.035 seconds ]   Forum Stat - [ Most users ever online on the forum was : 150 on 20-09-2009 17:06:59 ]