Tag Archives: computer

On m'a volé mon ordinateur ! c'est pas grave…


Hello,

 

Hier je regardais une video d’un hacker qui raconte avec humour ses péripéties pour récupérer son ordinateur volé.

C’est alors que je me suis posé « la » question mais que deviendrais je sans mon ordi ?? Mon ordi que j’aime tant et sur lequel je passe toutes mes journées depuis l’âge de 2ans (j’exagère un peu…).

Déjà je pleure ;(

Ensuite, même avec des backups, je n’ai pas envie de repasser autant de temps à tout réinstaller ou reparamétrer…

Alors je me suis fait une petite appli qui se lance au login mon ordi (même pour le compte invité) et permet d’envoyer mon ip externe à un site web en php pour stocker ça dans une base de données.


Ainsi je peux suivre l’adresse ip à chaque connexion de mon ordi…même en session invité (c’est même fait exprès car évidemment ma session perso est « passwordé ») et donc si je me fais voler mon ordinateur peut être que ça pourra m’aider à le retrouver . Je l’ai fait pour mac mais cela est très simple à modifier pour que cela fonctionne sur Windows (cette partie là est même déjà en place dans le code java) ou linux

 

Le principe de l’application est assez simple:

1) au démarrage de l’ordinateur un script lance l’appli java. (Il faudra paramétrer le lancement du script en fonction de votre os, un bat sur windows ou sh sur mac et linux)

2) celle ci va consulter le script whatsmyip.php afin de récupérer son adresse ip

3) ensuite l’appli va envoyer en argument l’ip fraichement récupérée au script storemyip.php

4) et voilà le tour est joué, l’appli java se ferme.

5) vous pourrez consulter l’historique date et ip des 50 dernières connexions avec le script consultmyip.php

 

Voici un petit schéma du détail:

 

 

Reprenons point par point:

(pour les sources évitez les copier/coller à la fin du tuto vous retrouverez un lien pour tout télécharger directement)

1) l’appli Java sur votre ordinateur

 

Vous trouverez le zip avec le code source de l’appli à télécharger ici

Dans cette appli vous trouverez un fichier config/config.properties qui contient les urls de votre server php. Il faudra juste remplacer your.url.com par votre url (si vous conservez la même implantation de fichier sur votre serveur php évidemment)

org.galaxy.url.setmyip=http://your.url.com/storemyip.php

org.galaxy.url.whatsmyip.url=http://your.url.com/whatsmyip.php

Ensuite il ne reste plus qu’à paramétrer l’exécution de votre appli java au démarrage de votre ordinateur.
voici quelques liens pour faire cela. exemple de login hook sur mac: lien1 lien2 lien3
Le script à exécuter se trouve dans le zip, il lance juste le jar. Attention le script doit être exécutable évidemment (sudo chmod +x tracer.sh)
L’appli est assez longue à l’exécution (30sec) mais c’est voulu pour permettre la connexion wifi ou ethernet d’être en place avant de tenter de faire de requêtes sur le web. Bon après votre ordinateur met 30 secondes à s’allumer, je pense que ça peut être réduit (en diminuant la tempo dans le code) ou fait autrement mais moi ça me convient pour le moment.

2) Whatsmyip.php

Ce script vous permet de récupérer l’adresse ip vue de l’extérieur. Un script très simple
<?php
$ip = getenv(« REMOTE_ADDR ») ;
Echo $ip;
?>

3) storemyip.php

Ce script vous permet d’inscrire en base votre adresse ip. Un script très simple, il vous faudra mettre vos paramètres en place dans le fichier.
<?php
// information pour la connection à le DB
$host = ‘localhost‘;
$user = ‘user‘;
$pass = ‘pass‘;
$db = ‘db‘;
$ip = ip2long ( $_GET[‘ip’]);
$us32str = sprintf(« %u »,$ip);
$ip2=long2ip(-(4294967296-$us32str));
$link = mysql_connect ($host,$user,$pass) or die (‘Erreur : ‘.mysql_error() );
mysql_select_db($db) or die (‘Erreur :’.mysql_error());
$insert = « INSERT INTO connexion (date, adresseip) VALUES (NOW(), ‘$ip2′) »;
$result = mysql_query($insert,$link) or die (‘Erreur : ‘.mysql_error() );
?>
Bien sûr il vous faudra une base de donnée Mysql pour écrire dedans, voici le script de création de la table:
CREATE TABLE IF NOT EXISTS `connexion` (
`index` int(11) NOT NULL auto_increment,
`date` datetime NOT NULL,
`adresseip` text NOT NULL,
PRIMARY KEY  (`index`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;

3) consultmyip.php

Le travail de stockage est fini maintenant si vous voulez consulter les 50 dernières connexions (50 c’est pour la lisibilité) voici le script:
<html>
<body>
<?php
// information pour la connection à le DB
$host = ‘host‘;
$user = ‘user‘;
$pass = ‘pass‘;
$db = ‘db‘;
// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die (‘Erreur : ‘.mysql_error() );
mysql_select_db($db) or die (‘Erreur :’.mysql_error());
// requête SQL qui compte le nombre total d’enregistrements dans la table
//et qui récupère tous les enregistrements
$select = « SELECT date,adresseip FROM connexion ORDER BY date DESC »;
$result = mysql_query($select,$link) or die (‘Erreur : ‘.mysql_error() );

$total = mysql_num_rows($result);

// si on a récupéré un résultat on l’affiche.

if($total) {
// début du tableau
echo ‘<table bgcolor= »#FFFFFF »>’. »n »;
// première ligne on affiche les titres prénom et surnom dans 2 colonnes
echo ‘<tr>';
echo ‘<td bgcolor= »#669999″><b><u>Date</u></b></td>';
echo ‘<td bgcolor= »#669999″><b><u>Adresse IP</u></b></td>';
echo ‘</tr>’. »n »;
// lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.    $compteur=0;
while($row = mysql_fetch_array($result) and $compteur<=100) {
echo ‘<tr>';
echo ‘<td bgcolor= »#CCCCCC »>’.$row[‘date’].'</td>';
echo ‘<td bgcolor= »#CCCCCC »>’.$row[‘adresseip’].'</td>';
echo ‘</tr>’. »n »;
$compteur++;
}
echo ‘</table>’. »n »;
// fin du tableau.
}else echo ‘Pas d’enregistrements dans cette table…';
// on libère le résultatmysql_free_result($result);
?>
</body>
</html>
Et voilà vous pouvez suivre les ip à chaque connexion de votre ordinateur sur le net. Sachant qui ip peut se localiser relativement facilement, en plus  je vous conseille de mettre vnc, et ssh en route (cf. la video précédente) pour aller un peu plus loin ^^
Vous trouverez toutes les sources java, php et mysql à télécharger ici, notez que si vous souhaitez mettre en place l’application il faudra coller le répertoire tracer à la racine de votre système et faire un loginhook sur le tracer.command

ps: on peut imaginer une requête inverse qui en cas de vol autodétruirait l’ordi ^^ quoi je regarde trop la télé… :p

Enjoy

 

Tagged , , , , , , , ,