PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

cpc6128 : 2048.liv en 200 lignes

samedi 7 juin 2014 à 12:00

code source

Ai-je besoin de vous présenter ce jeu ? Créer par un certain Gabriele Cirulli, 2048 est un jeu comme j’aime : simple et additif. Et quand je joue un tel jeu, je me demande pourquoi n’ai-je pas pensé à cette idée bien avant ?

Pour combler cette frustration, je me suis dit que je devais le proposer en langage Linotte en moins de 200 lignes. Çà été assez facile en fait. Je me suis inspiré d’un code en C très bien conçu : comme quoi, un langage de programmation, en français, en anglais, en chinois, la logique reste la même !

Vous pouvez jouer avec la souris en la glissant, bouton gauche enfoncé, vers la gauche, la droite, le haut ou le bas, ainsi comme sur un téléphone portable !
Pour les plus pressés, vous pouvez glisser vos pièces avec les flèches du clavier.

Voici le programme :

code source

Pour jouer, ou l’améliorer, vous pouvez le télécharger depuis mon drive :
drive.google.com/folderview?id=0B1rRyAT2mvEMMnlYMlFUb0FBQmc&usp=sharing
Puis l’exécuter dans l’Atelier de programmation (le jeu peut également se jouer en double-cliquant dans votre navigateur de fichier !).

Bon jeu !

Gravatar de cpc6128
Original post of cpc6128.Votez pour ce billet sur Planet Libre.

Articles similaires

Olivier Delort : Bloc-Notes : Paramètres de sécurité Oracle Java sous Debian

samedi 7 juin 2014 à 10:45

Objectif :

Afficher la console locale d’une VM proxmox sans être bloqué par les paramètres de sécurité Java avec un pc sous Openbox. Par défaut Java bloque les connexions sur les sites chiffrés auto-signés.

 

Mise en place :

Dans un terminal :

/usr/lib/jvm/jdk-8-oracle-x64/bin/ControlPanel

Ouverture du panneau de contrôle java :

securite_javaIl suffit ensuite de cliquer sur le bouton Modifier la liste des sites.

site_javaPuis rajouter le site internet auto-signé, dans mon cas l’url de proxmox.

 

Gravatar de Olivier Delort
Original post of Olivier Delort.Votez pour ce billet sur Planet Libre.

Articles similaires

Philippe Scoffoni : FirefoxOS : quelques lumières sur le modèle économique

samedi 7 juin 2014 à 10:03

Mozilla FirefoxOSQuel modèle économique Mozilla a-t-il imaginé pour FirefoxOS ? En plus clair quels sont les sources de revenus qui ont été envisagées pour financer le développement de ce système d’exploitation mobile. La question surtout, peuvent-elles permettre à moyen terme à la fondation de s’émanciper de Google ou tout du mois de diversifier ses revenus.

J’avais envisagé la piste de la vente de services autour de Firefox. Cependant la mise en œuvre serait très complexe et surtout le marché correspondant probablement insuffisant pour générer les 300 millions de dollars apporté par le contrat avec Google.

Une petite lumière sur ce qu’envisage la fondation vient de transparaître dans un article du ZDNet. Ce dernier traite des moyens auxquels Mozilla réfléchit pour éviter le phénomène de fragmentation qui affecte Android. Pour rappel, ce que l’on appelle fragmentation est lié aux versions utilisées sur les smartphones Android. Leur grande diversité entraîne des problèmes à la fois de sécurité et d’incompatibilité des applications. Ceci rend “l’expérience utilisateur” moins bonne que sur un iPhone par exemple où ce problème existe dans des proportions bien plus faibles.

Mozilla compte inciter financièrement les fabricants à mettre en place les moyens nécessaires à une mise à jour des terminaux. La fondation reverserait une partie des trois sources de revenus actuellement envisagées :

La vente d’applications sur un app store ;

La vente d’applications pourquoi pas, mais visant un marché low-cost, je ne suis pas sur que cela puisse rapporter énormément.

L’argent généré par les publicités sur le search ;

La publicité, il faudra voir qui est derrière et ce que cela recouvre réellement. Si c’est un contrat de plus avec Google, c’est un coup d’épée dans l’eau.

Le placement promotionnel d’applications sur les écrans d’accueil ou dans un app store.

Là encore je reste un peu sur ma faim.

Dans l’absolu, ce serait aux fabricants de rétrocéder une partie de leurs revenus à Mozilla. Mais l’existence d’Android rend cette option quasiment intenable. Les constructeurs contribueront-ils d’une manière ou d’une autre, seront-ils incités à le faire par des mécanismes de mécénats ? J’avoue que j’aimerai bien être une petite souris pour en savoir plus :-)


Réagir à cet article

Article original écrit par Philippe Scoffoni le 07/06/2014. | Lien direct vers cet article

Cette création est mise à disposition sous un contrat Creative Commons BY à l'exception des images qui l'illustrent (celles-ci demeurent placées sous leur mention légale d'origine).

.

Gravatar de Philippe Scoffoni
Original post of Philippe Scoffoni.Votez pour ce billet sur Planet Libre.

Quack1 : #SSTIC 2014 - Premier jour

vendredi 6 juin 2014 à 11:28

Le premier jour du #SSTIC était composée de 11 conférences, principalement orientées sur la sécurité Windows, mobile (Android/iPhone) et le hardware.

Voici quelques notes sur les différentes conférences !

« Conférence d'ouverture (titre à venir) » par Travis Goodspeed

Une keynote très intéressante par Travis Goodspeed qui nous as présenté plusieurs PoC qui ont été publiés dans le journal qu'il auto-publie avec plusieurs autres chercheurs : PoC||GTFO

 

$ file POCorGTFO0x02.pdf 
POCorGTFO0x02.pdf: x86 boot sector
$ ls
POCorGTFO0x02.pdf
$ unzip POCorGTFO0x02.pdf 
Archive:  POCorGTFO0x02.pdf
warning [POCorGTFO0x02.pdf]:  8016414 extra bytes at beginning or within zipfile
  (attempting to process anyway)
  inflating: README.txt              
  inflating: coda.txt                
  inflating: feeling.txt             
  inflating: harrison.txt            
   creating: pgpquine/
  inflating: pgpquine/Makefile       
  inflating: pgpquine/inflate.c      
  inflating: pgpquine/quine.c        
  inflating: rfc4880.txt             
  inflating: tamagotchi.zip          
  inflating: thewub.txt              
  inflating: pocorgtfo00.pdf         
  inflating: pocorgtfo01.pdf

A quick trick from PoC||GTFO 3:10, it's easy to write Python code in Rot13. pic.twitter.com/vDEkReGuIf

— Travis Goodspeed (@travisgoodspeed) 5 Juin 2014

Chemins de contrôle en environnement Active Directory par Emmanuel Gras & Lucas Bouillot

Un AD c'est parfois compliqué, et on peut parfois trouver des effets de bords.

Par exemple, on peut se dire que seuls les membres du groupe Domain Admins sont administrateurs du domaine. Mais en fait, on peut voir que certains users sont administrateurs d'un groupe dont les users utilisent des postes qui sont utilisés par des utilisateurs qui sont administrateurs du domaine. Bref, en allant de lien en lien comme ça on peut voir que des stagiaires ou des secrétaires peuvent accéder aux droits d'admins du domaine en contrôlant des machines utilisées par des gens qui contrôlent des machines...qui sont utilisées par les ADMINS DOM. Par exemple, sur un Windows Server 2012 tout frais, 6 noeuds (groupes ou users) contrôlent les administrateurs du domaine.

Du coup, l'outil crée un graphe de tous les liens entre groupes et users à partir d'un groupe ou d'un utilisateur particulier pour voir les liens et répondre aux questions « Qui contrôle cet utilisateur ou ce groupe ? »

Analyse de la sécurité d'un Active Directory avec l'outil BTA par Joffrey Czarny & Philippe Biondi

L'outil avait été présenté en rump l'an dernier par Philippe Biondi. Il permet, à partir d'un dump du NTDS.dit qui va être inséré en base, de vérifier certains points de contrôle pour s'assurer qu'il n'y a pas de cas anormaux dans l'Active Directory.

Par exemple, des checks prédéfinis permettent d'extraire tous les utilisateurs qui ne se sont jamais connectés, qui n'ont pas changé leur mot de passe, qui ont de mots de passe trop faibles, voir les membres de certains groupes, etc.

C'est en Python et c'est open-source.

Secrets d'authentification épisode II : Kerberos contre-attaque par Aurélien Bordes

Présentation un peu compliquée sur l'authentification Kerberos. Ce que j'en ai compris, c'est que si on récupère la bonne clé associée à un utilisateur ou à une machine sur un host, on peut forger un ticket Kerberos pour obtenir des droits élevés sur une machine distante.

Analyse sécurité des modems des terminaux mobiles par Benoit Michau

À l'ANSSI, ils cherchaient à analyser la sécurité des terminaux mobiles, mais d'un point de vue réseaux. Ils ont donc monté un lab avec des antennes pour simuler des réseaux 2G/3G/LTE dans des cages de Faraday.

Pour leurs tests, il faut donc un bon budget pour acheter le matos, puis se taper toutes les normes et enfin tester tous les périphériques possibles. Finalement, après un bon paquet de développements spécifiques, on peut voir que les smartphones n'indiquent pas quand les communications ne sont pas chiffrées, et certains mécanismes d'authentification sont vulnérables à des stack overflow qui ont depuis été corrigées.

How to play Hooker : Une solution d'analyse automatisée de markets Android par Dimitri Kirchner & Georges Bossert

Les applications Android demandent toutes beaucoup de permissions, pour accéder aux contacts, à Internet, etc.

Hooker est un framework qui permet d'analyser dynamiquement une application Android pour détecter les appels à des permissions spéciales. Le fonctionnement est « connu » et repose sur une sandbox. Certaines fonctions sont hookées puis l'apk est lancé dans une VM puis est stimulé pour comprendre et analyser son fonctionnement.

On peut voir dans les Fun Facts que certaines applications cherchent les binaires iptables ou su, ou bien cherchent à accéder à plein de fichiers sur la carte SD.

Investigation numérique & terminaux Apple iOS - Acquisition de données stockées sur un système fermé par Mathieu Renard

L'analyse forensique d'un terminal iOS complexe puisque le système est fermé et peu d'outils sont disponibles. De plus, la RAM est chiffrée et on a donc beaucoup de mal à y avoir accès pour lancer des investigations.

Finalement, pour pouvoir obtenir les données et faire des analyses, on est obligé d'exploiter des vulnérabilités pour accéder à tout le système de fichiers.

Catch Me If You Can - A Compilation Of Recent Anti-Analysis In Malware par Marion Marschalek

Plusieurs techniques utilisées dans des malwares pour ne pas se faire analyser, ou pour ralentir l'analyse par des reversers. Le mieux sera de regarder les slides quand elles seront disponibles pour avoir toutes les infos !

Marion Marschalek a quand même donné une de ses références favorites en matière de techniques anti-debbuging, disponible ici.

Présentation courte : Analyse de sécurité des box ADSL par Eric Alata

Sur les box, on a généralement deux axes d'attaque : depuis le LAN, ou depuis le WAN (depuis Internet). Il en existe un troisième : la « boucle locale », le lien entre l'abonné et son DSLAM.

En se branchant en MiTM entre le DSLAM et la box, on peut analyser tout le traffic des box, et recevoir notamment les mises à jour et les nouveautés de la conf qui sont envoyées en HTTP sur 2 box sur les 6 analysées (les autres font du HTTPS).

On peut également se faire passer pour le FAI et pousser une nouvelle mise à jour, lancer des services à distance, etc.

C'est une nouvelle surface d'attaque, mais un peu plus complexe à exploiter (il faut un accès physique aux paires de cuivres).

Présentation courte: Sécurité des ordivisions par Frédéric Basse

Les ordivisions, ou Smart TV, ne sont pas hyper secure. Enfin, les 2 TV analysées ne le sont pas.

Pour prendre la main dessus, deux solutions :

En 2014, on trouve toujours des failles publiées en 2012 et on peut obtenir un accès root sur les TV.

Présentation courte : La radio qui venait du froid par Alain Schneider

La plupart des claviers et souris sans fil utilisent des puces NRF24L01+ pour leurs communications. Le clavier envoie et reçoit ses données sur une fréquence de 2,4GHz.

On peut écouter toutes ces communications avec un peu de matériel pour pas trop cher, en utilisant ici un arduino (ou un goodfet) connecté à un PC qui va lire les données.

Résultat : les claviers Logitech chiffrent en AES, mais Microsoft chiffre les données avec un XOR, la clé étant l'adresse de destination des messages --'. Seul inconvénient, c'est du _read-only.

 

Le reste, ce sera par là quand ce sera prêt !

Gravatar de Quack1
Original post of Quack1.Votez pour ce billet sur Planet Libre.

Articles similaires

Olivier Delort : Bloc-Notes : Nginx en reverse proxy d’Apache

vendredi 6 juin 2014 à 10:06

Objectif :

Soulager apache pendant les heures d’affluences, soulager ma machine virtuelle en consommation mémoire, permettre au contenu statique d’être téléchargé plus rapidement. Héberger plusieurs serveurs web avec une seule connexion internet et donc un seul port 80 ouvert sur le pare-feu.

nginx_schemas

Schémas de présentation

Installation :

service apache2 stop
apt-get install nginx
service nginx stop

Mise en place :

1.Apache :

Modifier le fichier ports.conf et les fichiers de configurations du ou des hôtes virtuels.

nano /etc/apache2/ports.conf

# renseigner les différent ports d'écoute
Listen 80
Listen 81
Listen 82
Listen 85
Listen 86
# port d'écoute pour les requêtes SSL

    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to 
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.
    Listen 8083
    Listen 8084



    Listen 8083
    Listen 8084

 Sur les hôtes virtuels voici la modification à apporter (exemple) :

 <- ligne à modifier
        ServerAdmin courriel@olivierdelort.net
        ServerName blog.olivierdelort.net


        DocumentRoot /var/www/blog/
        
                Options FollowSymLinks
                AllowOverride None
        
        
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    
ServerSignature Off

Pour que les ip soient correctement journalisées sur le serveur apache, installer :

apt-get install libapache2-mod-rpaf

2.NGINX

Configuration de nginx en mode reverse proxy :

nano /etc/nginx/conf.d/proxy.conf

proxy_redirect          off;
proxy_set_header        Host            $host;
proxy_set_header        X-Real-IP       $remote_addr;
proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size    10m;
client_body_buffer_size 128k;
client_header_buffer_size 64k;
proxy_connect_timeout   90;
proxy_send_timeout      90;
proxy_read_timeout      90;
proxy_buffer_size   16k;
proxy_buffers       32   16k;
proxy_busy_buffers_size 64k;

Configuration globale de nginx :

user www-data;
worker_processes 2;
pid /var/run/nginx.pid;

events {
	worker_connections 1024;
	# multi_accept on;
}

http {

	##
	# Basic Settings
	##

	sendfile on;
	tcp_nopush on;
	tcp_nodelay on;
	keepalive_timeout 65;
	types_hash_max_size 2048;
	server_tokens off;

	server_names_hash_bucket_size 64;
	# server_name_in_redirect off;

	include /etc/nginx/mime.types;
	default_type application/octet-stream;

	##
	# Logging Settings
	##

	access_log /var/log/nginx/access.log;
	error_log /var/log/nginx/error.log;

	##
	# Gzip Settings
	##

	gzip on;
	gzip_disable "msie6";
   	gzip_min_length	0;
	gzip_vary on;
	gzip_proxied any;
	gzip_comp_level 5;
	gzip_buffers 16 8k;
	gzip_http_version 1.1;
	gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;

	##
	# nginx-naxsi config
	##
	# Uncomment it if you installed nginx-naxsi
	##

	#include /etc/nginx/naxsi_core.rules;

	##
	# nginx-passenger config
	##
	# Uncomment it if you installed nginx-passenger
	##
	
	#passenger_root /usr;
	#passenger_ruby /usr/bin/ruby;

	##
	# Virtual Host Configs
	##

	include /etc/nginx/conf.d/*.conf;
	include /etc/nginx/sites-enabled/*;
}

 

Création d’un hôte virtuel pour les différentes redirections

nano /etc/nginx/sites-enabled/reverse

#exemple de redirection depuis le port 80 vers le port 85 d'apache
server {
        listen   80;
        server_name blog.olivierdelort.net;
        access_log  /var/log/olivier.access.log;
        error_log  /var/log/olivier.nginx_error.log debug;
        location / {
                proxy_pass         http://127.0.0.1:85/;
        }
}

#Ici les images du blog sont chargé directement par nginx qui est plus performant qu'apache sur ce genre de contenu
server {
        listen   80;
        server_name  olivierdelort.net;
        location = /50x.html {
        root /var/www/nginx-default;
        }
        access_log /var/log/pictures.nginx.access.log;
        error_log /var/log/picture.nginx.error.log;
        index index.html;
        location / {
        expires     max;
        root  /var/www/blog/wp-content/uploads/;
        }

 

Pour finir on démarre les services :

service apache2 start
service nginx start

Gravatar de Olivier Delort
Original post of Olivier Delort.Votez pour ce billet sur Planet Libre.

Articles similaires