• STATISTIQUES
  • Il y a eu un total de 2 membres et 13085 visiteurs sur le site dans les dernières 24h pour un total de 13 087 personnes!


    Membres: 2 433
    Discussions: 3 585
    Messages: 32 832
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [FR] Le site du zero
    Découvrez gratuitement la programmation (C, C++, PHP, MySQL, XHTML, CSS...), Linux, le Mapping, la modé...
    Programmation
    [FR] NewbieContest
    Nous vous proposons une série de challenges regroupant plusieurs domaines allant de l'exploitation de fail...
    Hacking
    [FR] Newbie Contest
    Crackme: 35, Cryptographie: 49, Hacking: 27, Javascript/Java: 17, Logique: 31, Programmation: 23, Stéganographie: 53
    Challenges
    [FR] Forum-Webmaster
    Une communauté webmaster pour apporter / recevoir de l'aide en création de site internet. Webmaster...
    Webmaster
    [FR] Zmaster
    Articles sur l'informatique, le hacking, le P2P, les divx, les astuces windows XP, les GSM, Emule, la cryptograph...
    Hacking
    [FR] PHP France
    Pour tout savoir sur le PHP, en français. Vous trouverez des tutoriels, des exemples, des astuces, toute la do...
    Hacking
    [EN] Reddit
    Subreddit dédié à la sécurité informatique.
    Hacking

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[C#] Crypto HWID
23-09-2013, 21h51 (Modification du message : 23-09-2013, 21h56 par sakiir.)
Message : #1
sakiir Hors ligne
[sakiir@Ubuntu]:~$ ./ExploitMe ShellC0de
*



Messages : 411
Sujets : 51
Points: 34
Inscription : Sep 2012
[C#] Crypto HWID
Bonjour ,
J'ai fais un petit code sale qui me permet de recuperer un identifiant machine "unique" .
c'est plustot simple je prend le nom de la machine, j'exerce une petite fonction crypto dessus, ensuite je fais pareil avec le nom d'utilisateur , je concataine les deux chaines puis je renvoi le MD5 de cette chaine .

Voici le code pour les interessé :

Class SaCrypt :
Code :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Security.Cryptography;

namespace HWIDGeneratorV2
{
    class SaCrypt
    {
        public string HWID(string bBase, string bBase2)
        {
            string finale = "";
            int i;
            uint tmp = 0;
            int tmp2 = 0;
            string part1 = "";
            string part2 = "";

            for (i = 0; i != bBase.Length; i++)
            {
                tmp = bBase[i] % 0xDEADBEEF * 0x99;
            }

            for (i = 0; i != bBase.Length; i++)
            {
                tmp2 = bBase[i] ^ 0x3;
            }
            part1 = tmp.ToString() + "-" + tmp2.ToString();


            tmp = 0;
            tmp2 = 0;

            for (i = 0; i != bBase.Length; i++)
            {
                tmp = bBase[i] % 0xDEADBEEF * 0x99;
            }
            for (i = 0; i != bBase.Length; i++)
            {
                tmp2 = bBase[i] ^ 0x3;
            }
            part2 = tmp.ToString() + "-" + tmp2.ToString();
            finale = MD5string(part1 + "|" + part2);
            return (finale);
        }

        private string MD5string(string input)
        {
            MD5 md5 = System.Security.Cryptography.MD5.Create();
            byte[] inputBytes = System.Text.Encoding.ASCII.GetBytes(input);
            byte[] hash = md5.ComputeHash(inputBytes);
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < hash.Length; i++)
            {
                sb.Append(hash[i].ToString("X2"));
            }
            return sb.ToString();
        }
    }
}


Form1 :
Code :
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;


namespace HWIDGeneratorV2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            SaCrypt s = new SaCrypt();
            textBox1.Text = s.HWID(Environment.MachineName.ToString(), Environment.UserName.ToString());
        }

        private void tetbox1_Keydown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
            {
                SaCrypt s = new SaCrypt();
                textBox1.Text = s.HWID(Environment.MachineName.ToString(), Environment.UserName.ToString());
            }

            if (e.KeyCode == Keys.Back)
            {
                textBox1.Text = "";
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            textBox1.Text = "";
        }



    }
}

Au Passage j'ai pas encore trouver comment proteger son code comme on pourrait le faire dans d'autre langage autre que les langage Windows ..
+1 (2) -1 (2) Répondre
23-09-2013, 21h59
Message : #2
notfound Hors ligne
#!/usr/bin/env bash
*



Messages : 687
Sujets : 47
Points: 272
Inscription : Sep 2012
RE: [C#] Crypto HWID
Salut Sakiir,

C'est dans quel but que tu as fais ce code ? J'ai un peu du mal à comprendre dans quel but tu l'utilises ?

Mais merci pour le partage Wink
+1 (0) -1 (0) Répondre
23-09-2013, 21h59
Message : #3
supersnail En ligne
Éleveur d'ornithorynques
*******



Messages : 1,614
Sujets : 72
Points: 466
Inscription : Jan 2012
RE: [C#] Crypto HWID
C'est censé servir à quoi de récup un identifiant "machine unique" ? :') (sans parler du fait que c'est du .NET mais ne trollons pas là-dessus)
Mon blog

Code :
push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp

"VIM est merveilleux" © supersnail
+1 (0) -1 (0) Répondre
23-09-2013, 22h03
Message : #4
0pc0deFR
Non-enregistré



 
RE: [C#] Crypto HWID
C'est assez simple à contourner. Un nom de machine/utilisateur n'est pas forcément unique. Récupère des valeurs qui le sont forcement (ou presque) et surtout récupère un maximum de valeur car beaucoup de chose peuvent être modifié/usurpé. Récupère des infos comme la MAC ou l'identifiant disque dur ou encore le ProcID. Protéger une application en .NET c'est clairement pas top. Il y a des obfuscators qui existe et qui sont pas mal mais très simple à reverse avec des outils comme De4Dot par exemple. Après, il existe des packers, protectors pour du .NET aussi.
positive (1) negative (0) Répondre
23-09-2013, 22h06 (Modification du message : 23-09-2013, 22h08 par sakiir.)
Message : #5
sakiir Hors ligne
[sakiir@Ubuntu]:~$ ./ExploitMe ShellC0de
*



Messages : 411
Sujets : 51
Points: 34
Inscription : Sep 2012
RE: [C#] Crypto HWID
Ben , ouai je m'y suis mis recemment ... Faut dire que j'apprecie meme si je ne fais pas grand chose niveau secu Smile
Je pense qu'il peux servir à identifier une machine sur un reseau (de la dernière couche applicative , genre on envoi un paquet avec ses info dedans ..)
Apres on peut s'en servir pour ouvrir une session dans un programme ..
ou faire un systeme de connexion avec une liste d'utilisateur .

pourtant actuellement , les applications les plus réputé , la pluspart son codé en .NET je me trompe ?

quel est le langage le plus utilisé pour la GUI ?
+1 (0) -1 (0) Répondre
23-09-2013, 22h23
Message : #6
Luxerails Hors ligne
Bon membre
*



Messages : 267
Sujets : 6
Points: 67
Inscription : Aug 2011
RE: [C#] Crypto HWID
Salut,
bof bof. ta """"""""""crypto"""""""""" sort le même id "unique" pour la machine "ABCD" avec l'user "User" et la machine "WTFLOLXD" avec l'user "i_am_a_user".
(et en passant je doute qu'un octet soit supérieur à 3735928559)
When in doubt. Use brute force.
+1 (5) -1 (0) Répondre
23-09-2013, 22h24 (Modification du message : 23-09-2013, 22h26 par crown.)
Message : #7
crown Hors ligne
Membre actif
*



Messages : 52
Sujets : 5
Points: 18
Inscription : Oct 2011
RE: [C#] Crypto HWID
(23-09-2013, 22h06)sakiir a écrit : Je pense qu'il peux servir à identifier une machine sur un reseau (de la dernière couche applicative , genre on envoi un paquet avec ses info dedans ..)

Les principales infos utilisées pour identifier une machine sur un réseau c'est une adresse IP ou une adresse MAC mais sûrement pas un HWID.
+1 (0) -1 (0) Répondre
23-09-2013, 22h30
Message : #8
b0fh Hors ligne
Membre actif
*



Messages : 210
Sujets : 17
Points: 309
Inscription : Jul 2012
RE: [C#] Crypto HWID
Ah ben merde, grillé par Luxerails.

M'enfin j'ai bien ri quand même Smile
+1 (0) -1 (0) Répondre
23-09-2013, 22h50
Message : #9
gruik Hors ligne
gouteur de savon
*



Messages : 757
Sujets : 44
Points: 482
Inscription : Oct 2012
RE: [C#] Crypto HWID
ça casse pas des briques mais ça reste malgré tout constructif, merci pour le partage sakiir Wink

pour ce qui est de l'identifiant "unique" y'a ce thread qu'a l'air intéressant, dans le même ordre d'idée je crois savoir que selon le type de MBR t'as un identifiant de disque plus ou moins unique dedans également, ça vaut peut-être le coup de regarder...
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure.
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément.
(Nicolas Boileau, L'Art poétique)
+1 (1) -1 (0) Répondre
24-09-2013, 07h12
Message : #10
sakiir Hors ligne
[sakiir@Ubuntu]:~$ ./ExploitMe ShellC0de
*



Messages : 411
Sujets : 51
Points: 34
Inscription : Sep 2012
RE: [C#] Crypto HWID
merci gruik je vais regarder !
+1 (0) -1 (0) Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 8 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut