2009-01-05 19:28:13

IOS series - Entrypoint Are You There

L'IOS est malin. Il aime se cacher derrière des e_machine farfelus pour rebuter les reversers de red^Wseconde zone (blague de geek du cisco, ce n'est pas un groupe de hackers ou je ne sais quoi... ).
Du coup, voici l'output d' un binaire en C fait maison pour réparer l'en-tête ELF du binaire IOS.
La manip' a pour but d'ouvrir correctement l'IOS et admirer les opcodes en PPC dans son IDA.
On peut aussi bien le faire avec hte ou hexer mais bon je me suis dit "tiens on va coder un peu en C... ça fait pas de mal."

$ ./a.out C2600-IP.BIN
ELF###### IOS header fixer ######
Big Endian (MSB) IOS imagePowerPC image
Architecture: 2b00
C2600-IP.BIN image is PowerPC. Do you want to patch it? [y/N]
y
IOS binary image patched.
$

Un petit tour sous IDA et la magie opère...

# File Name : C:\Documents and Settings\pello\Bureau\cisco\C2600-IP.BIN
# Format : ELF (Executable)
#

# Processor : PPC
# Target assembler: GNU Assembler
# Byte sex : Big endian

L'entrypoint est en 0x80008000 ios <=12.4. L'EP se trouve dans la région MAIN qui est composée de plusieurs sections :

Region Manager:

Start End Size(b) Class Media Name
0x03700000 0x03FFFFFF 9437184 Iomem R/W iomem
0x60000000 0x607FFFFF 8388608 Flash R/O flash
0x80000000 0x836FFFFF 57671680 Local R/W main
0x80008098 0x80F5E27B 16081380 IText R/O main:text
0x80F5E27C 0x816F8A2F 7972788 IData R/W main:data
0x81660958 0x816F89CF 622712 Local R/W data:firmware
0x816F8A30 0x8192127F 2263120 IBss R/W main:bss
0x81921280 0x836FFFFF 31321472 Local R/W main:heap


Voici le contenu de la fonction start qui part de l'entrypoint jusqu'avant le début de main:text :

.text:80008000 stwu %sp, -0x18(%sp)
.text:80008004 mflr %r0
.text:80008008 stmw %r28, 0x18+var_10(%sp)
.text:8000800C stw %r0, 0x18+arg_4(%sp)
.text:80008010 mr %r29, %r3
.text:80008014 mr %r28, %r4
.text:80008018 lis %r11, off_811502A8@h
.text:8000801C lis %r9, -0x7E6E # 0x81921280
.text:80008020 addi %r9, %r9, 0x1280
.text:80008024 lis %r4, ((unk_816F8A30+0x10000)@h)
.text:80008028 addi %r4, %r4, -0x75D0 # unk_816F8A30
.text:8000802C lwz %r11, off_811502A8@l(%r11)
.text:80008030 mtctr %r11
.text:80008034 mr %r3, %r4
.text:80008038 subf %r4, %r4, %r9
.text:8000803C bctrl
.text:80008040 li %r0, 0x1002
.text:80008044 mtmsr %r0
.text:80008048 mfmsr %r9
.text:8000804C rlwinm %r0, %r9, 0,17,15
.text:80008050 mtmsr %r0
.text:80008054 bl sub_804AE21C
.text:80008058 bl sub_804AFE5C
.text:8000805C ori %r4, %r3, 0x900
.text:80008060 lis %r3, locret_80143B70@h
.text:80008064 addi %r3, %r3, locret_80143B70@l
.text:80008068 li %r5, 4
.text:8000806C bl sub_804B0BF4
.text:80008070 bl sub_8013CDB4
.text:80008074 bl sub_80145F90
.text:80008078 mr %r3, %r29
.text:8000807C mr %r4, %r28
.text:80008080 bl sub_80008098
.text:80008084 lwz %r0, 0x18+arg_4(%sp)
.text:80008088 mtlr %r0
.text:8000808C lmw %r28, 0x18+var_10(%sp)
.text:80008090 addi %sp, %sp, 0x18
.text:80008094 blr # saut dans main:text en 80008098


A bientôt au prochain numéro!


Posté par Francois Ropert | Commenter le billet

2009-01-02 11:51:24

2008 une annee fun pour le cirque de la securite

En 2008...
IPv6 commence à être pris au sérieux pendant ce temps un certain F.J. l'utilise déjà dans son lab depuis les années 1980, certains lecteurs n'étaient peut-être pas encore nés
Le kimsufi d'OVH est un repère de mécréants (le plus haut taux de box ownées au mètre carré?
Les gens découvrent BGP et l'ASN 32 bytes, le hardware et les dangers du low-level
La carte Cisco FWSM fonctionne...toujours pas
L'UC500 de Cisco arrive enfin à booter quand celui-ci n'a pas de câble console branché< br /> OSPFv2, SSL, BGP, DNS, la pile TCP/IP finlandaise c'est plutôt FAIL mais toujours pas EPIC bien que ce fût le fantasme de bon nombre de chercheurs cette année
Un train qui déraille et l'Internet américain flanche (Level3, AT&T et Verizon)
Cogent mérite toujours autant son surnom de slowgent
L'ICANN ne sait toujours pas comment effectuer un transit IPv4 vers IPv6 "We would agree that there is no clear consensus about what should be done regarding transition from IPv4 to IPv6"
La gestion protocolaire s'améliore de jour en jour dans scapy. C'est chouette!
BreakingPoint est l'entreprise qui m'a le plus intéressé cette année
Gliffy c'est bien
Si vous arrivez à garder votre attention sur les conférenciers du FRnog plus de deux minutes, félicitations! (néanmoins, excellent workaround lors de la dernière réunion)
Une dédibox hébergeant un blog Hentai s'improvise serveur DNS racine alternatif...(j'ai mesuré ma dédibox et elle ne dépasse guère les 350 requêtes par secondes)
La moitié des connexions Internet en E.A.U. est du 56k
IPv6 et firefox = 100% CPU
IPv6 ou le retour vers le web 1.0/Minitel (s/Yahoo/6ixy/)
Le network forensics c'est bien
La visualisation, c'est de l'art et fait renaître le chapitre français du projet honeynet de ses cendres
Peter Packet est plus fort que Bruce Schneier et Chuck Norris
FaceBook héberge du phishing (ou pas)
Il paraît que j'ai rien loupé à infosecurity cette année. Je préfère lire le blog de Stéphane Bortzmeyer par temps de grève et le daily dose de l'IETF pendant les longues soirées d'Hiver
LaTeX est toujours utilisé, cette année j'ai fais du python, IOS est toujours monolithique et Linux a toujours des bugs "so fashion" (CVE-2008-0598 parmi tant d'autres)...
En attendant la prezo Cisco IOS attack and defense de FX qui devait être online depuis maintenant 3 jours d'après Gadi Evron et qui ne l'est toujours pas, espérons que 2009 soit encore moins conventionnel que 2008, bonne année.

PS: Je n'ai pas parlé de "la conférence qui a lieue a Besançon en 2009".
On a déjà eu assez de spams comme ça ;)

Posté par pello | Commenter le billet

2008-11-23 17:21:00

Carte heuristique securite Cisco IOS

Voici une carte heuristique créée avec freemind de sécurisation de routeurs Cisco IOS.

La carte est organisée par plans: le control plane, data plane, management plane et services plane.
Il y a trois niveaux de priorités: Le niveau 1 est une configuration commune et facile à implémenter.
Le niveau 2 ajoute une couche supplémentaire de sécurité par rapport au niveau 2 mais a plus de conséquences à prendre en compte lors de l'implémentation. Enfin, le niveau 3 est très spécifique.
La voici au format PNG et au format PDF.
Cette carte peut être reprise et utilisée par exemple dans vos supports de cours à condition d'indiquer la source par respect pour son auteur.
La fréquence de mise à jour n'est pas définie.

2008-11-23 17:00:51

MISC 40



Le MISC 40 est dispo dans les bons kiosques et j'ai écrit un article dedans.
Le sujet est la sécurité et les réseaux à très haut-débit.
Abordés dans mon article, les cartes réseaux utilisés pour capturer sur des réseaux multi-gigabits, les outils de collecte des données, l'analyse de ces données ainsi que le déploiement de la sécurité sur ce type d'infrastructure.
Cet article fait parti d'un dossier spécial réseau comprenant d'autres sujets très intéressants.

Bonne lecture!

Posté par pello | Commenter le billet

2008-04-07 12:12:12

BlackHat Europe 2008

De retour de voyage à Amsterdam avec Jérémy Lebourdais d'Edelweb pour la Black Hat Europe, nous sommes allé faire un compte-rendu de l'événement à l'OSSIR (Observatoire de la Sécurité des Systèmes d'Information et des Réseaux).
Les slides sont disponibles ici.

Posté par pello | Commenter le billet