NOTES DES TRADUCTEURS :
Ce prophile a été réalisé sur quelqu'un de complètement saoul ... en
dehors des fautes de frappes, des erreurs, et autres, il a été très
difficile de trouver un sens dans la pluspart des phrases.
Si on ajoute que Tiago aime faire des non-sens et des phrases qui ne
veulent dire quelque chose que pour lui ...
On vous conseille la version anglaise, qui ne contient pas nos fautes de
traductions, mais on pense que de toute façon, elle ne sera pas plus
compréhensible que cette version française ...
Aryliin et TboWan, pour arsouyes.org
phrack.org:~# cat .bash_history
==Phrack Inc.==
Volume 0x0b, Issue 0x3f, Phile #0x04 of 0x14
|=---------------=[ P R O P H I L E O N T I A G O ]=-----------------=|
|=-----------------------------------------------------------------------=|
|=------------------------=[ Phrack Staff ]=-----------------------------=|
|=---=[ Specification
Pseudo: tiago
Alias: module
Origine du pseudo: Laisse moi appeler ma mère et demander, juste
une seconde...
ok; "C'était soit pedro henrique, soir tiago,
mais apres avoir cherché des raisons pour
trancher on a décidé de lancer une pièce : face".
Le trouver: En produisant quoique ce soit pour attirer mon
attention et vous aurez le retour attendu.
Age de votre corps: 24
Produit en: île paradisiaque dans le sud-est
Taille et poids: 178cm, 70kg
Urlz: .
Ordinateurs: SGI Indy (R4600PC at 100MHz, 128MB RAM, 2GB
hdd), Sun Ultra-10 (UltraSparc IIi at 440MHz,
1GB RAM, 9GB hdd), Portable Toshiba Portege 4005
Intel P3 at 800MHz, 512MB RAM, 20GB hdd).
Membre de: Teletubbies
Projets: Plusieurs aspects de la théorie des ordinateurs.
Ingénierie logicielle : interprétation abstraite,
transformation de programmes, reverse
engineering, etc.
Cryptographie appliquée pour le travail. J'aime
la conception hardware, le piratage de
conception/implémentations de systèmes
d'exploitation, l'exploitation de problemes de
conception/implémentation de logiciels. Tout ce
qui actuellement attire mon attention pour une
raison quelconque
|=---=[ Choses préférées
Femme: je veux un petite pipe, s'il vous plait
(en fraçais dans le texte)
Voitures: Je ne sais pas conduire
Nourriture: taco-taco brrrito-brritooo
Alcool: mélangé avec du Benflogin
Music: Symantec iz in tha houuuuuuuuuse!!!!! c'mon
c'mooooooon sing sing! see tha solution! Symanteeeec,
revoooolutiooooon... we give yooooooouuu... sweet
soluttiooooonnss o /o o /o/ We! got your personal
firewalllz! ... dunt dunt..
-> http://www.phrack.org/symantec_fancyness.mp3,
por favor.
Films: GOBBLES.avi
Livres & auteurs: Héhé, les livres sont cools q:D -- Les trucs qui ont
été remarquables récemment. Je lit encore :
. Evariste Galois, aimé des dieux, infeld
espagnol, par Siglo Veintiuno Editores);
. Architecture des ordinateurs: une approche quantitative
hennessy & patterson (anglais, par MK);
. Synopsis de psychiatrie, kaplan &
sadock (anglais, LWW);
. L'art de la programmation des ordinateurs, vol. 1-3,
knuth (3eme Ed., Addison Wesley) -- <3 dutchy;
. Systems and Theories in Psychology, marx & hillix
(portugais, by Alvaro Cabral);
. Psycologie cognitive et ses implications, anderson
(portugais, by LTC);
. Théorie axiomatique des ensembles, bernays (anglais, by Dover,
2eme Ed., 1968-1991);
. La fin de la modernité : vattimo (portugais, par Martins
Fontes);
. Fondement pour la métaphysique des murs, kant( anglais,
par H.J Paton);
. Introduction a la métaphysique, heidegger (anglais, par
Gregory Fried et Richard Polt);
. Principia Mathematica, russel (anglais, par Cambrige
Mathematical Library, 2eme Ed., 1927-1997);
. Uber formal unentscheidbare Satze der Principia
Mathematica und verwandter Systeme, I, gödel (anglais,
par B. Meltzer);
. Tractatus Logico-Philosoficus, wittgenstein (anglais,
par Routledge & Kegan Paul);
. A Philosophical Companion to First-Order Logic,
hughes (anglais, par R.I.G.);
. Liberté et organisation 1814-1914, russel (anglais,
par Routhledge);
. L'ethique, spinoza (anglais, par Hafner);
. La preuve de Gödel, nagel et newman (anglais, par NYU);
. La généalogie de la morale, nietzsche (anglais, par
Douglas Smith);
. Théorie des matrices, perils (anglais, par Dover,
1958-1991);
. Algebre moderne, warner (anglais, par Dover,
1965-1990);
. Security Assessment: Case Studies for Implementing
the NSA -- National Symposium of Albatri;
Urls: www.petiteteenager.com
J'aime: Faire Héhé
Je déteste: Ne pas faire Héhé
|=---=[ Vie en trois phrases
DG = DH - TDS
|=---=[ Passions | Que fais tu actuellement
Trop complexe pour etre décrit avec des mots : totallement indécidable;
ne peut pas être resolu avec quelque algorithme que ce soit -- que ce soit
en anglais ou en portugais, ... Ne peut pas etre reconnu par machine de
Turing qui termine quelque soit ses entrées ... sauf les noix de coco !
|=---=[ Quelle recherche as tu fait ou laquelle t'a donné le plus de plaisir
Tout ce qui m'arrete, et extra-ordinairement, les questions
extra-ordinaires.
|=---=[ Experiences mémorables
Aller a l'encontre de ma famille et rester toute la nuit devant mon
ordinateur. Pour me permettre d'avoir du plaisir et de me sentir mal.
Rechercher un travail utopique. Aller dans le Brézil du sud, à Mexico et
au Brézil du nord-est pour le trouver. Rencontrer en vrai les gens que
j'ai rencontré durant cette quête, voir l'histoire que j'ai vu défiler
devant mes yeux a chaque endoit ou je suis passé. Etre saoul, etre sobre,
chuter et décroitre. Foirer et faire Héhé encore. Et encore.
Ressentir, avoir froid, croire et être agnostique. Se battre. Avoir des
filles pour le plaisir, et se détruire pour les leurs. Faire des canulars
téléphonques, faire le tour des bars, écrire, compter. Stopper.
Chercher des requins, surfer, casser ma destinée. Aller et insciter les
gens a faire de meme.
Etre.
|=---=[ Quotes
. HéHé
. o/
. /o
. J'aimerai être mort ansi je pourrait etre heureux et sauf !
. o
. q:D
. :S
. Tu ferais mieux d'appeler quelqu'un d'intelligent !
. o
. :/
. Je préfère avoir 300 bières par mois qu'une éducation formelle
. /o/
. <3
|=---=[ Interview ouverte - Questions générales barbantes
Q: Quel a été ton premier contact avec les ordinateurs?
R: Depuis que je suis tout petit, j'ai l'habitude d'aller chez mes
grand-parents le week-end. Quand j'ai eu 8 ans, j'ai commencé a m'amuser
a aller renifler du coté du laboratoire éléctronique de mon oncle, situé
derrière sa chambre (ce mec a un diplome d'ingénieur en éléctronique à
l'heure qu'il est). Des expériences attrayantes autour de ça, je peux
dire que j'en était devenu fou -- sérieusement. Des encyclopédies, en
passant par des pièces de plastique, jusqu'aux VCR cassés et des TV
ouvertes. Certains samedis, quand j'avais 11 an, le petit Tiago jouais
dans cette pièce. Je peux me rappeller clairement grimper (style theo)
dans le cagibi, chercher après de chouettes objets, quand je suis tombé
face à cette boite ; je l'ai prise, je l'ai ouverte, et j'étais face à un
ordinateur. Assemblé par une usine brézilienne, c'était un CP200 avec une
carte mère basée Z80A CORE. On aurait pu voir le petit Tiago HéHéer pour
ce truc merveilleux. Ça a duré 3 mois, jusqu'à ce que le cable qui
connectait le clavier ne casse -- R.I.P. 3 mois, c'était assez pour que
j'ai les bases du BASIC et abstraire cette chose merveilleuse. Le temps
passa et je n'eu plus la possibilité d'avoir un ordinateur. En janvier
1996, j'alla à Sao Paulo, en vacances. Je suis resté avec un oncle, qui
avait une compagnie dans laquelle il y avait des machines sous DOS,
maintenues par un programmeur Clipper. Je me souvient parfaitement qu'on
m'ait "appris" comment allumer l'ordinateur et tapper les touches. Très
peu de temps après, on m'apprenait ce jouet fabuleux qu'est PCtool --
vous suivez ? Oui, le petit Tiago de 15 ans, qui pouvait juste allumer la
machine, faisait ses premiers pas en reverse engineering. 15 jours, c'est
le temps exact où j'ai pu y jouer. Ensuite, plus d'ordinateur. Août 1999,
papa rentre à la maison avec une station Packard Bell. C'était un Pentium
MMX à 166MHz avec 16 Mo de RAM et 3.1 Go sur un disque dur IBM. Et pas
seulement, il y avait aussi du multimédia et cette grande chose qu'est le
modem. Il contenait et fonctionnait gràace à Windows 98. Waouw ! Tiago eu
son premier ordinateur moderne. Oui. Mais attendez, ou est mon écran noir
remplis de nombres inintelligibles tous verts ?! Et Merde !
Frustrations... du temps passe ... Internet ! du temps passe ... ICQ ! du
temps passe ... IRC, #hacking. "'lut, clique sur le menu démarrer,
exécuter. Maintenant, tape telnet huhu.fancyworld.net 1470" -- l'orgasme
-- Il eu lieu jusqu'à ce que je demande ce que signifiaient ces mots
magiques. Et alors ça commença... HUUUU ! Coder ! HUHUHUHHUHHU
HUHUHUHUHUHUHUHUHUHUHUHUHUHUHUHUHUHUHU :D:D:D q:D o/ o /o/ /o/ /o o/
Oui, mais cette image de chiffres verts sur fond noir n'a jamais quitté
mon esprit, et j'ai eu besoin de descendre vers des niveaux plus bas...
et j'y suis allé, et je continue, je ne l'atteind jamais, ça n'en fini
jamais.
Attend, je voudrais faire un commentaire a the belou, lammer : Il n'y a
aucun interet a écrire des zéros-day si tu ne les utilises pas! Mais de
rien.
Q: Quel a été ton premier contact avec la sécurité informatique et a
quelle point
est-ce important pour toi par rapport a ton interet pour les ordinateurs
en général?
A: Pour finir avec l'histoire d'au dessus. Apres que j'ai rencontré
quelques autres
noix de coco qui ont été responsables de ma première véritable aventure en
sécurité.
Ca a été un grand choc : lire des phrack et faire HUHU, lire du code, ne
pas avoir
cette putain de solution sur ce qu'il se passe, et avoir été des jours
eveillés jusqu'a
ce que je puisse me faire une petite idée. Etre ennuyé par les choses
"habituelles",
faire un doigt aux jeux et pouvoir enfin jouer comme je veux.
Quelle importance ? Je me suis transformé en une nouvelle forme de noix de
coco.
Q: A avoir été relativement séparé de la "scène" en général, quel est ton
opinion sur le concept de "La scène" et ta distance par rapport a elle
(qui existe certainement) est-elle délibérée?
A: A ce que je peux voir, c'est juste une autre société autour de nous.
Pendant que se déroulait mon "entrée", je tentais de rester de plus en
plus détaché de cette "scène". Mon être a été lancé en dehors de la scène.
Tout ce que je voulais était de m'assoir et de hacker. Je ne pouvais pas
la digérer et elle ne pouvait pas me digérer. Je me suis assi, j'ai joué,
je vous ai regardé les mecs.
Q : En fait, est-ce que ce concept de "scène" ne serait pas une espèce de
grosse connerie de corrélation sociale et d'acceptabilité ?
A : C'est "normal", forcément. rien que je ne vois pas quand je vais à la
boulangerie ou un club avec des amis. Les gens "semblent", les gens
percoivent, les gens infèrent -- les gens jugent en fonction de leur
contexte d'apriori.
Que suis-je en train de faire ?
Q : Que pense-tu du Phrack Magazine ? Penses-tu qu'il doit être
"réssucité" ou continué d'être maintenu ? Si c'est le cas, penses-tu qu'il
devrait changer certains themes d'une certaine façon (puisque beaucoup
suggèrent que phrack n'est plus un magazine de hacker mais une connerie de
fame académique prémachant le travail pour les boites de sécurité
informatique) ? Ou préfèrerais-tu que phrack publie exclusivement des
critiques de films et des recettes de cuisines ?
A : Ça a été responsable de plein de HU cognant dans ma tête. J'ai sauté,
je me suis bourré, blessé et guéri. Ça m'a donné des idées, ça m'a mené à
plein de résultats, où tout ces résultats entre ces événements ont été
responsable de garder cette noix de coco continuer. Continuer est le but,
pourquoi s'arreter ? Je commencais à m'ennuyer avec les articles, oui.
Mais je pense que c'est plus parce que j'ai changé que parce que le
magazine aurait changé. Cependant, je vois quelques grosses tendances
d'articles (comme réflection de la scène) convergant toujours vers le même
endroit et y restant bloqués, dans une itération ennuyeuse qui ne fini
jamais. J'ai joué avec l'environnement d'exécution de Linux et les specs
techniques qui y sont liées, mais ensuite, je suis passé à quelque chose
d'autre -- mais toujours le même jeux, maintenant avec PalmOS ou
simplement en jouant avec l'Optimisation, l'Obfuscation, ou de pirater le
drivers IrDA de mon portable. Comment les gens peuvent-il écrire ce que
vous appellez des "shellcodes" pour toutes les architectures, systèmes
d'exploitations, ABI supportées, ISA supportées, et autres ? N'est-ce pas
un problème de récupérer le manuel ? Pourquoi discutter sur le format EMF
et le système de liaison dynamique d'une plateforme spécifique sans aucune
"améliorations" (prenez le comme un gros boom, je ne pense pas que que ça
vaille la peine de définir le mot ici) dans une "technique de hack" ? Je
pense que c'est ça qui sucks dans phrack de nos jours. Sur le style
académique, j'ai moi-même des problèmes avec le formalisme. Ce que
j'apprécie vraiment dans phrack, par exemple, est ce m-niveau de
formalisme comparée à l'académique. Je pense qu'il est très intéressant le
fait qu'on puisse soumettre une technique de compilation avec quelques
restes élémentaires sur le sujet, dans un format non défini ou façon
synthaxique. Si les gens derrière ça pense que le contenu est bon, ça va
le faire. Bien que je pense aussi qu'un minimum de formalisme soit
nécessaire, sinon, ça laisse trop de place à exposer des erreurs, et je ne
pense pas qu'il soit cool pour des gens de lire des "Assembly HOW-TO's"
qui nous "apprennent" l'utilisation de certaines "instructions" pour une
plateforme spécifique, dans un contexte très restreint et fait croire au
lecteur qu'il comprenne cet univers.
Sur la fame : malhonnète mais attendu -- j'ai envie de vomir chaque fois
que je pense aux mythes, cependant, si je régurgite ces mythes seront
rendu à l'air libre, comme des ulcères gastriques, venant de moi-même.
J'aimerais voir une critique d'une collection /home/PORNO, en fait. Et
j'espère vraiment avoir un peut de nourriture dopante française [NDT :
dope french food] d'ici la fin de l'année, oh oui.
Q : Qu'as-tu à dire à propos de l'opposition whitehat/blackhat qui a reçu
plus d'attention ces dernières années et que répondez-vous aux gens qui
vous appellent un whitehat parce qu'un de vos projet était de porter PaX ?
A : Comment m'appelerait-ont si je courais dans ces cercles et pleurer
tout en portant des vêtements oranges ? Teletubbie ?
Q : Comment qualiferiez vous l'underground Hacking en 2005 ? Beaucoup de
gens pense qu'il n'y a plus d'underground à cause de toutes ces conneries
commerciales autours de la sécurité. Des commentaires ?
A : Je crois que penser à ça est un act d'oubli. Vous pourriez être
capable de déterminer certaines caractéristiques et classifier les entrées
et sorties du processus. Cependant, comme le développement du processus
deviendrait plus fort, ses force de transformation augmenterait autant,
donc, le nombre de "branches-idéales" à l'intérieur de ce groupe social
tenderait à augmenter et réagir entre elles. Comment sont Montmartre et
Montparnasse de nos jours ?
Q : Qui sont tes héros de sécurité informatique et pourquoi ?
A : J'ne ai beaucoup, sérieux -- je suis sacrément chanceux de pouvoir
rencontrer/connaître certain d'entre eux. Mais quelle différence ça ferait
vraiment si je vous les nommaient ? Les héros sont miens, les putains de
mythes sont miens.
Q: Coxinha+guarana ou échange de 0-day?
A:
Q : Comment définis-tu le terme "hacker" ?
A : Je croit que des références symboliques déterminent un "fait". Une
représentation linguistique d'un type de réalité de quelqu'un, à un
certain moment. Quand l'Être de cet être change, alors en va la perception
de ce fait. Quand nous sont tels, ou même Rien, interraction, l'entropie
augmente et les faits tendent à être plus déformés. La technique aide le
processus, comme le media d'information devient plus puissant et
globalement plus répendu. Consummate Nihilism. Je pense.
Q : Continuons, avoues. Tu es brésilien après tout, donc, donne les sites
que tu as défacé.
A : JOYEUX ANNIVERSAIRE!!!!!!!!!!!!!!!1
Q : Si tu avais du sexe avec route, serais-tu au dessus ou en dessous ?
A : Je tenterais les deux. Je tenterais d'autres choses. Par contre, je ne
serais vraiment intéressé que par les muscles, tatouages et les armes :D
Q.1. : On a entendu que tu étais le type qui avait instruit
pageexec@freemail.hu sur Pax. Est-ce vrai ?
Q.2. : Quelles étaient tes motivations de porter PaX sous MIPS, quels
étaient les plus gros problèmes que tu as rencontré et comment les as tu
résolus ?
A : Instruit ? Je ne pense pas :>. Il y a cette histoire sur
l'impossibilité de PAGEEXEC sous les ordinateurs MIPS, initié par le génial
Théorique de Raadt {[1], [2]}.
Motivations : je pensais juste que ça serait fun d'essayer de prouver que
c'est faut et de jouer un peut. Finalement, j'ai simplement trouvé que
j'avais tord. Pour l'instant du moins :>
[Attention]
J'aimerais prévenir que je suis SAOUL, au Bulas, ayant une chouette soirée
du nom de "Tango's bday" : joyeux anniversaire, Tango!!!" pas d'aide, bro
;> juste de la bière et la santé!
[Première approche]
Essayer de jouer avec le catching system. Raté.
[De la mailing liste Linux-MIPS]
"PAX ne peut pas être entièrement supporté sous MIPS; l'architecture n'a
pas de flag no-exec dans ses pages. La doc de PAX sont des conneries au
fait. la protection d'exécution ne requièrent pas une division des TLB et
de toutes façons, les uTLB MIPS sont divisées." -- Ralf
[Réponse] (Malgré le fait que Ralf, un de mes allemands fantaisistes, a
raté complètement le truc du projet PaX)
Je vois que MIPS a des TLB divisées, mais elles ne peuvent pas être
distinguées au niveau logiciel, d'un autre côté. Donc, quand un défaut de
page a lieu, je ne vois pas comment un morceau de (non-micrododé)
gestionnaire d'exception puisse savoir si le I-Fetch est fait depuis la
"zone de code" ou une tentative d'exécution d'une charge utile injectée
dans la mémoire supposée ne contenir que des données
lisibles/inscriptibles. Plus le fait que la JTLB contient des références
vers les données et le code ensemble dans un cache de translation
d'adresses. Plus la situation comme les translations démappées kseg0 et
kseg1, qui auront lieu en debors de tout TLB (dont l'adresse virtuelle est
soustraite de 0x80000000 et 0xA0000000 respectivement pour avoir la
localisation physique), faisant, comme vous avez mentionné, que diviser
les uTLB (sans compter le cas special kseg2). Mais PAX fait aussi
attention à la sécurité niveau noyau. Même si MIPs divisait les unités de
cache (ce qui peut être vérifié séparément par logiciel) ne rendrait pas
l'approche faisable car si vous avez un morceau de données précédement
mise en D-cache (chargement/stockage) la ligne du cache devrait être
invalidée et le contexte sauvé dans l'I-cache avant que l'étape du pipe
I-Fetch ne réussisse.
En fait, la protection d'exécution (de manière générale) ne requièrt pas
de TLB divisée. D'autres solutions conçues et implémentées par PAX sont
SEGMEXEC (utilisant des fonctionnalités spécifiques de segmentation sur
les coeurs basés x86), et MPROTECT. La dernière utilise vm_flags pour
controler toutes les états de correspondance mémoire, garantissant qu'ils
ne détiennent jamais VM_WRITE | VM_MAYWRITE en même temps que VM_EXEC |
VM_MAYEXEC. Mais comme la solution devient plus complexe, elle tend a
avoir plus d'implications. D'abord, elle ne serait pas aussi simple et
"automatique" que le contrôle par page. Un autre point est que cette
solution de préviendra pas des attaques au niveau noyau et donc, parmis
d'autres, n'importe quelle corruption dans ce niveau permettrait une
manipulation directe des flags de mapping des tâches. Finalement, un
problème connu est celui d'un attaquant qui est capable d'écrire sur le
système de fichier et re requérir qu'un fichier soit mappé en pépoire
comme PROT_EXEC. En d'autres mots, oui il est possible de réaliser la
protection d'exécutions d'une autre manière, mais pas aussi précise qu'au
niveau des pages.
[Seconde approche]
"Plus le fait que la JTLB contient des références vers les données et le
code ensemble dans un cache de translation d'adresses." a été d'un
problème vers une solution, quand on en a discuté avec l'équipe de PaX.
L'extrait :
"Plusieurs correspondances : si plus d'une entrée dans la TLB correspond à
une adresse virtuelle translatée, l'opération est non définie." de [3].
L'algorithme :
- Depuis le gestionnaire d'exception Refill, vérifier le fetching type {
* _EPC = EPC;
* if CP0(Cause(BD)) [
. _EPC += 4;
]
* compare ( CP0(_EPC) , CP0(BadVaddr) ) [
. if TRUE ( I-Fetch );
. else ( D-Fetch );
]
* I-Fetch [
. construit le PTE valide et le charge normelement dans la J-TLB ;
]
* D-Fetch [
. contruit un PTE valide et le charge dans la J-TLB;
. le forcer à être chargé dans notre gentille entrée dans le D-TLB (
__asm__ __volatile__ ("lw %0,0(%1)"
: "=r" (user_data)
: "r" (address));
)
. construire un PTE invalide, pour le même ASID/VPN, marqué par PaX (
static inline pte_t pte_mkpax(pte_t pte)
{
pte_val(pte) &=~(_PAGE_READ|_PAGE_SILENT_READ|_PAGE_DIRTY);
}
)
. charge l'entrée invalide dans la J-TLB
]
}
La conjecture :
Si un I-Fetch a lieu à cette (précédement marquée par PaX) page, le
circuit de tri du TLB devrait prendre l'entrée invalide de la J-TLB, la
charger dans l'I-TLB et générer un deuxième défaut de page en essayant de
faire usage de l'entrée.
- Depuis le gestionnaire d'exception Refill, vérifier le fetching type {
* _EPC = EPC;
* if CP0(Cause(BD)) [
. _EPC += 4;
]
* compare ( CP0(_EPC) , CP0(BadVaddr) ) [
. if TRUE ( I-Fetch );
. else ( D-Fetch );
]
* I-Fetch [
. for PaX marked pages (
pax_report_fault(...);
do_exit(SIGKILL);
)
. for non PaX pages, construire le PTE valide et le charger
normalement dans la J-TLB;
]
}
[L'expérimentation]
L'ordinateur :
IDT 79RV4600-100, 128MB of RAM.
- Code exécutif {
* joue avec CP0(Index);
* joue avec CP0(EntryLo)'s flags;
* joue avec CP0(Wired);
}
- Transférer le Translation Lookaside Buffer vers le disque {
* regarder après des schémas;
}
Le code utilisateur:
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <asm/page.h>
/* jr ; nop */
const unsigned long payload[] = { 0x03e00008, 0x00000000 };
int
main(int argc, char **argv)
{
unsigned long page,
vpn;
void *vaddr;
int fd;
/* mmap itself won't load/store the page, which means a virgin
* place so we can be the fault's EPC.
*/
if (argv[1]) {
fd = open(argv[1],O_RDWR);
vaddr = mmap(0, PAGE_SIZE, PROT_EXEC|PROT_READ|PROT_WRITE,
MAP_PRIVATE, fd, 0);
} else {
/* malloc's internals stores then loads somewhere in
* the page range, it will generate our fault.
*/
/* This is ridiculous, but MIPS glibc's
* does brk(PAGE_SIZE * 33) even if you
* just want to malloc(few bytes), normally you get:
* -> brk (0x10001000 + (PAGE_SIZE * 33))
*
* If malloc requested size > 33 pages then it old_mmap
* PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS
*
* Even funnier cause as far as I can tell glibc
* assumes size >= 32 (instead of 33) to then
* get_unmapped_area....
*
* Thinking about the whole MIPS architecute i can't
* think of anything that could justify this crap.
*/
vaddr = malloc (33 * PAGE_SIZE);
memcpy(vaddr, (void *) payload, 8);
}
page = ((unsigned long) vaddr & (PAGE_MASK));
vpn = ((unsigned long) vaddr & (PAGE_MASK << 1));
printf("Payload @ %08lxn", (unsigned long) vaddr);
printf("CP0_BADVADDR : %08lx [VPN = %08lx]nn", (page+8), vpn);
/* I-Fetch vaddr */
asm(
"or ,,n"
"jalr n"
: : "r" (page), "r" (((unsigned long) vaddr & ~(PAGE_MASK)))
);
return page;
}
[Les résultats]
Schémas :
Pas de schémas. L'algorithme de tris semble indécidable depuis l'interface
logicielle.
- Exemple de sortie {
surreal kernel: ######################################################
surreal kernel: [do_page_fault] : Program : Hello [3218]
surreal kernel: [do_page_fault] : CP0_BADVADDR : 2aac3004
surreal kernel: [do_page_fault] : EPC : 2ab90928
surreal kernel: ---> TLBS Exception (1000ffdb)
surreal kernel:
surreal kernel: ------------------------[BEFORE]---------------------
surreal kernel: [__update_tlb] : Program : Hello [3218]
surreal kernel: [__update_tlb] : CP0_BADVADDR : 2aac3004
surreal kernel: [__update_tlb] : ASID : 00000062
surreal kernel: [__update_tlb] : EntryHi : 2aac2062
surreal kernel: [__update_tlb] : EntryLo0 : 32565e
surreal kernel: [__update_tlb] : EntryLo1 : 0
surreal kernel: [__update_tlb] : Index : 45
surreal kernel:
surreal kernel: ---- TLB Entries ----
.............................................................
surreal kernel: Index: 45 pgmask=4kb va=2aac2000 asid=62
surreal kernel: EntryLo0 : [pa=0c959000 c=3 d=1 v=1 g=0]
surreal kernel: EntryLo1 : [pa=00000000 c=0 d=0 v=0 g=0]
surreal kernel:
surreal kernel: ------------------------[AFTER]----------------------
surreal kernel: [__update_tlb] : Program : Hello [3218]
surreal kernel: [__update_tlb] : CP0_BADVADDR : 2aac3004 [00000000]
surreal kernel: [__update_tlb] : ASID : 00000062
surreal kernel: [__update_tlb] : EntryHi : 2aac2062
surreal kernel: [__update_tlb] : EntryLo0 : 32565c
surreal kernel: [__update_tlb] : EntryLo1 : 3297dc
surreal kernel: [__update_tlb] : Index : 47
surreal kernel:
surreal kernel: ---- TLB Entries ----
.............................................................
surreal kernel: Index: 45 pgmask=4kb va=2aac2000 asid=62
surreal kernel: EntryLo0 : [pa=0c959000 c=3 d=1 v=1 g=0]
surreal kernel: EntryLo1 : [pa=0ca5f000 c=3 d=1 v=1 g=0]
surreal kernel:
surreal kernel: Index: 47 pgmask=4kb va=2aac2000 asid=62
surreal kernel: EntryLo0 : [pa=0c959000 c=3 d=1 v=0 g=0]
surreal kernel: EntryLo1 : [pa=0ca5f000 c=3 d=1 v=0 g=0]
}
- Exemple qui fonctionne {
tiago@surreal(~)$ ./Hello
Payload @ 2aac3008
CP0_BADVADDR : 2aac3008 [VPN = 2aac2000]
Killed
tiago@surreal(~)$ uname -a
Linux surreal 2.6.9-rc2 #125 Thu Oct 28 05:38:27 BRT 2004 mips unknown
tiago@surreal(~)$
.............................................................
surreal kernel: ################## EXECUTION ATTEMPT #################
surreal kernel: [do_page_fault] : Program : Hello [3218]
surreal kernel: [do_page_fault] : CP0_BADVADDR : 2aac3008
surreal kernel: [do_page_fault] : EPC : 2aac3008
}
- Raisons possibles {
* timing;
* stupidité;
* ...;
}
Donc ? Regarder dans certains projets d'opencore.org et vérifier leur
implémentation du circuit MMU pourrait me donner des idées.
Ah ! Oui, à propos, si vous avez le projet HDL du MIPS standford, ou
n'importe lequel de ses enfants, tenez moi au courant s'il vous plait --
warez. Merci.
[1] http://www.securityfocus.com/archive/1/333303/2003-08-09/2003-08-15/2
[2] http://cvs.openbsd.org/papers/auug04/mgp00009.html
[3] MIPS R4000 Microprocessor's User Manual, 2nd Ed. (p.62).
|=---=[ Interview ouverte - Questions vraiment cools
Q : Est-ce vrai que tu entretiens toujours des relations avec la team
KIQ ? Quelle genres de missions as-tu fait pour eux ?
A : je hais le soccer.
Q : À quel point ta relation avec la scène des putes à moitiés mortes
est-elle proche ? Parles nous des gangbang .ro/.br ...
A : Le rapace qui est gros ?
Q : Nous avons entendu parler que mayhem part dans ton pays pour fuir les
lois fascistes, as-tu déjà essayé ELFsh ?
A : Hrmmm, en fait c'est juste un jeu génial de vendeur de beuh. Quiness ?
Q : Tu as déjà dis 4 fois dans le passé, après avoir posté des conneries
dans dailydave, que tu ne recommencerais plus, mais tu poste toujours.
Comment vis-tu cette dépendance ? Aucune idée de pourquoi aucun lecteur de
cette mailing list ne comprend un mot de tes idées philosophiques ?
A : 4 ? je l'ai dit 82 fois.
Je ne pense simplement pas au sujet, c'est comme avoir avoir de l'aide et
se sentir concerné.
Êtes-vosu siphonés ? Je suis sur que je suis le seul retardé capable de
comprendre mon symbolisme ;P
Q : Coxinhaaaaa?
A : Bico
Q : Sur la philosophie, pourquoi as-tu fini dans CE monde ? Il y a des
rumeurs qui disent que tu parles avec ton ordinateur de philosophies et
lui demandant des commentaires avant de poster dans dailydave ?
A : voir "Vie". Faux ! C'est pour ça qu'ils sux autant
A : Absynthe?
A : Escroc!
Q : As-tu déjà essayé de mettre un peut de sens à tes idées philosophiques
_sans_ effets de l'absynthe ?
A : Bohèmes, Dan Frank. <3
Q : Est-ce que le nombre de "hu" a une signification pour toi ?
A: Huhuhuhuhuhu hu huhuhu
Q : Y a-t-il une quelconque relation entre "hu" et "uh" ?
A: Uh? Hu!
Q: Absynthe?
A: Espagne
Q : Des rumeurs disent que l'équipe de PaX t'as fortement armé à être
leurs salope MIPS, un commentaire ?
A : :< Pas gentil. J'ai presque crié à cause de la /petite pipe/ [NDT : en
français dans le texte].
Q : Comment s'est faite la transition entre le patinage inline et
l'assembleur inline ?
A : Glissante...
A : Laquelle est la plus grande ? scenewhores, la scène hacking ou la
scène X-games ?
A: 540 into True-spin kind grind, fake 360 out.
Q : Que veut dire "hu" en fait ?
A : veut dire ? :/
Q : Quelle est ton opinion sur finger(1) ?
A: HUHUHUHUHU q:D
Q: Free [RaFa] ?
A: Assied tois sur tes pieds
Q : As-tu quelque chose à dire à tous les gens autour qui tentent de
comprendre que connard tu es ?
A : S'ils sont vraiment inquièts pour ça, ils peuvent arreter de chercher
et commencer à pleurer.
Q : Nous aimerions te félicité pour ton défaçement de Phrack Prophile
réussi, et en fait, se débrouiller pour le distribuer. Comment l'_avais_
tu enlevé ?
A : Je ne l'ai pas fait :D
Q : Peux-tu répondre à une question avec un paragraphe de moins de 20
lignes de long ?
A : Non.
Q : Est-ce que ton amour pour MIPS a à voir avec le dessin animé "Coyote &
Road Runner"
A: "Voir MIPS marcher" ? [NDT : "see MIPS run"... il y a un jeu de mot
avec "run" qui veut soit dire courir (et donc impliquer le dessin animé),
ou fonctionner (et là, c'est l'architecture MIPS), difficilement
traduisible :'(]
Q : On a entendu dire que tu étais le fondateur de huhushmail ? Peux-tu
éclairer nos lanterne de comment la sécurité par l'obscurité fonctionne en
fait ?
A : L'une d'entre elles, oui. Je dois accepter, bien que si je vous donne
le moindre éclaircissement, je casserais le concept.
Q : Peux-tu deviner quel sera ta prochaine réponse ?
A : Non, mais je connais la question.
Q : Aucune idée pourquoi Phrack ne devrait pas être renommé Phcrack ?
A : À cause du prix des moustiques bleus de Tanzanie
Q : CRUZEIROOOOOOO
A : Chupame la pija, boludo maricon!
Q : Quelle est la meilleure backdoor ? PaX ou grsecurity ?
A : Pour être honête, je préfère la technique de backdooring iGOBLIN.
Q : Quel pourcentage de cette intervew est dans l'humour que nos lecteurs
ne comprendrons jamais ?
A : 95.46008097%. Je devrais avoir les analyses graphiques dans peu de
temps, depuis le très connus LRL -- Lance Research Laboratory. ;)
Q : Comment ressent tu le fait d'être célèbre maintenant ? Comment ce
prophile va changé ta vie pour le mieux ? Pour le pire ? Où des recruteurs
peuvent te contacter ?
A : J'ai déjà reçu 83 appels téléphonqiues, 68 messages par fax, et 3
e-mails. Des Invitations de toutes les groupes fantaisistes d'elites
hackers. Ça devrait aussi s'appliquer à la NSA -- National Symposium of
Albatri. Je m'attend à pouvoir diminuer la pauvreté brézilienne et les
attaques DDoS avec cice, en augmentant le nombre de défaceurs qui feront
des courbettes devant ma magnifiscence. Je prévois aussi de devenir amis
avec toues les elites hackers et pour être reconnu comme tel. Je serai
beau, célèbre, aimé -- un super-héro !
Je m'en prie.
Q: DURA?
A: Hooray pour Danny! *o/*
Q : Que penses-tu de Richard Johnson de iDEFENSE ?
A : Sûr : n'est pas un petit voleurs, il porte des préservatifs !
Q : As-tu une idée de pourquoi Richard Johnson de iDEFENSE ne s'est pas
encore suicidé ?
A : Manque de fantaisie.
Q : Qui est ton "hot shot hacker from texas" favori ?
A Le KoolKrazyKlantastic -- fluffi leona o/
=---=[ Commentaires en un mot
[Donnez un commentaire en un mot pour chaquun donné à gauche]
MOT ? : MOT !
|=---=[ Une suggestion/commentaire/flame sur la scène ou quelqu'un de
spécifique ?
Ce ramassi de conneries donné plus haut veut dire quelque chose une fois
fait. Fuck ces significations et implications politiques, bien que je ne
puisse pas les éviter.
Continuons.
|=---=[ Clin d'oeil et remerciements
Je ne crois pas au mérite. Le faire est aussi arbitraire de ne pas le
faire.
Cependant, je veux étreindre quelques personnes;
ma famille, mon stag, mon angliche de frère, mon tukey, mon albatros, mes
creyss, mes grenouilles, mes hollandais, mes hongrois, le seul gars qui
soit plus chaud qu'un vieil appartement, mon dot-pa-marine, mon waismo,
mon joto, faggy, mon blanc américain blackhat, mon kurd, mon corcho, mon
suédois, mon chef, mes fantôme, mon géant K-master analyseur linguistique
métrosexuel, mon iGOBLIN sans-sourire, mon tibu, et TOUUUUUTE ma
collection de copains fantaisistes!
|=[ EOF ]=---------------------------------------------------------------=|