SANS Holiday Hack Challenge 2016 Part 1

Hacking challenge

Bon, je vous ai parlé du SANS Holiday Hack Challenge dans mon dernier article. Je me suis pris au jeu et j’ai terminé la partie 1 du challenge sans trop de difficulté. Je vous propose une solution du SANS Holiday Hack Challenge 2016 part 1 dans cette article. Attention, je spolie cette partie du challenge du coup, cherchez un peu avant de vous ruer dessus comme des morfales… Et Si vous souhaitez juste des indices, je ne peux que vous conseiller ce fil de discussion sur reddit :

The 2016 SANS Holiday Hack Challenge from netsec

Niveau environnement, je vous conseille de vous installer une Kali, Debian, Ubuntu sur votre PC ou dans une virtual-box histoire d’être à l’aise pendant le challenge. Notez que je pars volontairement d’une Ubuntu vierge pour vous caler au passage les procédures d’installation des outils.

Part 1: A Most Curious Business Card

Bon pour ceux qui sont encore là, c’est parti.

First thing first, jetez un œil aux comptes Twitter et Instagram du père noël comme indiqué sur le site du challenge :

@SantaWClaus et Santawclaus on instagram

Dumping… tweets.

SANS Holiday Hack Challenge 2016 Part 1Alors les tweets du père noël ne ressemblent à rien et les photos sur Instagram sont loin d’être très inspirante. Néanmoins on se dit bien qu’il doit y avoir quelque chose à tirer de ces tweets. On va gratter de ce côté-là… Pour il faut récupérer les 350 tweets donc, de préférence dans un éditeur de texte pour pouvoir les exploiter plus facilement. C’est un peu long à la main… Plusieurs options : Il existe des sites qui font ça en ligne pour vous comme birdsong ou twlets, mais rien de vaut une bonne API python, hein ? et tweepy et tweet_dumper.py répondent parfaitement à ce besoin.

Pour utiliser tweet_dumper, il faut donc tweepy (doc) et pour utiliser tweepy, une clé OAuth pour s’authentifier, à récupérer sur apps.twitter.com en créant une app avec son compte twitter (après avoir activé son numéro de téléphone), puis un ajouter un « access-token ». Je vous invite à suivre ce tuto qui m’a bien aidé. On retourne sur notre ubuntu pour installer tweepy et tweet_dumper:

apt-get install python-pip python3-pip python-dev build-essential
pip install tweepy
curl -O https://gist.githubusercontent.com/yanofsky/5436496/raw/a4277a2563a903ad42bf7c41a98243578f49bca7/tweet_dumper.py

Et dans le script tweet_dumper.py on indique les accès OAuth donnés par twitter :

#Twitter API credentials
consumer_key = "1234567890abcdefghijklmno"
consumer_secret = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMN"
access_key = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMN"
access_secret = "1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHI"

Et pas la peine de chercher à utiliser ceux-là, ils sont visiblement faux, hein… et pensez aussi modifier dans la script la ligne indiquée pour le nom de l’utilisateur dans le main :

if __name__ == '__main__':
  #pass in the username of the account you want to download
  get_all_tweets("santawclaus")

On exécute le script :

root@sans2016:/home/badsanta# python tweet_dumper.py 
getting tweets before 798175247283392512
...350 tweets downloaded so far
getting tweets before 798175028978352128
...350 tweets downloaded so far

Le script vous crée un beau fichier santawclaus_tweets.csv à côté. Qui une fois dans Libre Office en dé-zoomant avec une police à espacement fixe donne un effet sympa :

SANS Holiday Hack Challenge 2016 Part 1

Bon est content, mais on ne peut rien en faire à priori…Passons à Instagram :

Le père noël et ses ordures…

Alors on a 3 photos sur Instagram, la 1ère semble être la plus prometteuse même si le bureau du père noël ferait faire un AVC à tout psychorigide qui se respecte :

Why are my geeky elves always the messy ones? CLEAN UP YOUR DESK HERMEY!

A photo posted by SantaClaus (@santawclaus) on

Tout à droite dans les pages qui dépassent au-dessus de « Violent-Python », on trouve une URL en dessous d’une fin de ligne qui ressemble à un nmap :

www.northpolewonderland.com

Fausses pistes

Le site affiche bien la carte de visite du père noël…mais pas grand-chose de plus en fait. On a vu un nmap au dessus donc on est parti :

wget https://nmap.org/dist/nmap-7.31-1.x86_64.rpm
apt-get install alien
alien nmap-7.31-1.x86_64.rpm
dpkg --install nmap_7.31-2_amd64.deb

Et on lance un scan de base sans réfléchir :

nmap www.northpolewonderland.com
 Nmap scan report for www.northpolewonderland.com (130.211.124.143)
 Host is up (1.0s latency).
 rDNS record for 130.211.124.143: 143.124.211.130.bc.googleusercontent.com
 Not shown: 990 closed ports
 PORT STATE SERVICE
 22/tcp open ssh
 80/tcp open http
 443/tcp open https

Là j’avoue, sur le moment je suis sec : http et https donnent le même site, et on se fait jeter direct sur le port 22 (pas surprenant non plus)… Probablement des fausses pistes à garder pour la suite. Un café plus tard, je retourne sur la page web et jette un œil au code source de la page :

curl https://www.northpolewonderland.com/
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE html 
  PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
 <head><title>Santa W. Claus</title>
 <style type="text/css">
 .centered {
  position: fixed;
  top: 50%;
  left: 50%;
  /* bring your own prefixes */
  transform: translate(-50%, -50%);
 }
 </style>
 </head>
 <body>
 <img class="centered" src="santawclaus_shadow.png" />
 </body></html>

Idem, j’ai essayé de triturer un peu l’image, mais je n’ai rien pu en faire facilement… Peut-être pour plus tard ?

Payes tes yeux

En revenant sur l’ Instagram par contre, j’ai noté que sur l’écran d’ordinateur on voit distinctement un nom d’un fichier « leeker » derrière .\ -DestinationPath sur l’écran à gauche. Le nom d’un fichier .ZIP est indiqué sur la photo ! Comme les coïncidences n’existent pas, on retourne sur notre site en ajoutant le nom du fichier à l’URL comme un bon gros script-Kiddie.

curl -O https://www.northpolewonderland.com/SantaGram_v4.2.zip

Banco !

Solution SANS Holiday Hack Challenge 2016 part 1

On essaye alors dé-zipper mais c’est protégé par un mot de passe… dammit, lequel ? la première question du challenge concerne les tweets. On n’est pas malin mais bon, il y a des limites … Donc on retente en mode « tant que ça passe » :

unzip -P bugbounty SantaGram_v4.2.zip

Et voilà, donc notre zip contient un jolie fichier SantaGram_4.2.apk. Kézako ? mystère…

La suite du SANS Holiday Hack Challenge 2016 au prochain épisode, peut-être…

2 commentaires on “SANS Holiday Hack Challenge 2016 Part 1

  1. Greetings from America! I hope all is well and your spirits are high. For the first question with the answer of bug bounty, I used Twime Machine and then copied and pasted the tweets to notepad ++. I got the hint from reading the beginning story on the homepage.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *