==Phrack Inc.==
Volume 0x0b, Issue 0x3c, Phile #0x0e of 0x10
|=------------------------=[ Les feux de circulation ]=------------------=|
|=-----------------------------------------------------------------------------=|
|=-----------------------=[ plunkett@hush.com ]=-------------------------=|
.:Saving the planet, again:.
/*
* Ceci est prurement educatif;
* Toute connaissance gagnee dans ce document s'impose d'elle-meme et donc
* l'auteur ne peut etre tenu responsable. Toute activite resultant de
* connaissances gagnees dans ce document n'est pas imputable a l'auteur.
* Si vous n'acceptez pas cela, priere de vous abstenir de lire la suite.
*
*/
#include <disclaimer.h>
Une facon plus sympa pour l'environnement de voyager en voiture. Comme
plusieurs d'entre vous se rappellent peut-etre dans tous les films, livres,
shows TV, etc. de hacking, il y a eu le cas de quelqu'un qui fraudait les
feux de circulation. Eh bien nous riions tous betement a l'apparence
irrealiste de cela et n'y avons plus jamais repense. Eh bien dans ma quete
pour une planete plus interessante pour nos enfants je me suis senti oblige
de penser a une solution pour reduire la quantite de pollution emise par les
vehicules de nos jours.
Arrete a une intersection, personne d'autre autour, vous etiez encore bloque
derriere la lumiere rouge, et cette invisible barriere de culpabilite
gouvernementale possedait suffisamment de pouvoir pour vous laisser attendre
la et polluer l'air toujours plus, juste pour une minable lumiere verte. Ce
serait leet d'avoir un ordinateur portable dans la voiture ou vous pourriez
selectionner l'intersection dans une liste, changer le timing [or current
stream running], et rouler avec moins de temps perdu et moins de polluants
sortis du pot d'echappement et une conscience tranquille.
Maintenant, assez de conneries a propos des raisons, allons-y pour la putain
de technique.
[NDT : desole, je n'ai pas pu rendre le jeu de mots sur "crap" et "shit"]
Le systeme de controle de la circulation routiere est un reseau superflu et
bien huile qui utilise les meme vieux protocoles que nous connaissons tous.
Oui il est hackable et c'est comme dans les films. :)
here we go!
Une description des termes utilises.
- controller
C'est le terme technique pour un feu de circulation et ca va etre
rapporte comme ca.
- UTC
Urban Traffic Control [Controle de la Circulation Urbaine],
transistors connectes a un ordinateur central par PSTN. Etablit le
standard de communication pour les controllers (voir fig. 1)
- SCOOT
Split Cycle Offset Optimization Technique. [Technique d'Optimisation
d'Offset par Separation de Cycle]
Un standard maintenant implemente sur la majorite des systemes de
circulation routiere a travers le monde. Cela permet un controle
adapte des controllers, qui est effectue par le bureau de controle.
Il recoit les donnees du traffic routier de boucles fermees autour
de l'intersection, qui sont analysees, et renvoit la configuration
courante en temps reel au controller.
- ITS
Intelligent Transport System, c'est juste un mot oral pour decrire
le systeme couvrant tout, UTC, SCOOT, CCTV (video) et la pile de
protocoles les reliant tous. (voir fig.2)
- NTCIP
C'est le protocole qui est en passe de devenir un standard pour la
gestion des communications de la circulation routiere. Il est base
sur TCP/IP et tourne autour de SNMP qui des MIB specifiques pour
l'usage dans les messages aux controllers. (le protocole peut varier
de pays en pays)
Certains controllers aux USA sont compatibles NTCIP, a savoir Thereon
et le modele 170 des controllers NEMA. CCTV, VMS, Fields Processors,
Ramp metering sont tous relies via NTCIP.
- ATC
Area Traffic Control [Controle des Zones de Circulation], c'est le
bureau central qui controle tous les aspects de la gestion du
controle de la circulation routiere.
- FEP
Front End Processor, Virtual Processing pour les controllers. Localise
avant l'ordinateur de gestion, et connecte directement aux controllers
via installation par le modem rack ou via le hardware de telemetrie.
Un FEP supporte jusqu'a 512 lignes PSTN.
- OTU
Au Royame Uni c'est le Outstation Transmission Unit [Unite
de Transmission aux Stations Exterieures], cela fournit les moyens de
convertir les donnees serie venant de l'ordinateur central en donnees
paralleles pour le controleur, et fournit l'interchangeabilite des
controllers.
(Je ne suis pas sur que ce systeme soit un standard a travers le monde,
pour l'Afrique du Sud cela est effectue par un CCIU : Controller
Communication Interface Unit [Unite d'Interface de Communication avec le
Controller)
- CMU
Cabinet Monitoring Unit [Unite de Surveillance des Armoires], c'est ce
qui detecte quand vous fraudez dans la boite juste a cote de la route.
Ca rapporte les erreurs hardware/software et emballe les donnees pour
rapporter au FEP et ATC.
Figure 1. Differants arrangements de liens
-----------------------------------------
---0 jonction 1
/
0----------------0----0 jonction 2
BUREAU ECHANGEUR \
CENTRAL LOCAL ---0 jonction 3
[UTC Radial Arrangement]
---0 jonction 1
/ \
0------------0 \
B.C E.L 0-- jonction 2
/
/
0 jonction 3
[UK Multi-drop UTC arrangement]
Figure 2. Topologies ITS
-------------------------
________ ________ ________
|COMPUTER|---|COMPUTER|------|COMPUTER|
`--------' `--------' `--------'
(coax) |_____ | (dialup) |__ (radio)
| | |
__________ | ____|_____ _____|_____
|CONTROLLER|-| | MASTER |__ |FIELD PROC.|__
`----------' | `----------' | `-----------' |
__________ | __________ | ___________ |
| VAX/VMS |-| | VAX/VMS |__| |CCTV CAMERA|__|
`----------' | `----------' | `-----------' |
__________ | __________ | ___________ |
|COUNTSTION|-| |CONTROLLER|__| |CONTROLLER |__|
`----------' `----------' `-----------' |
___________ |
| VAX/VMS |__|
`-----------'
(Liens Physiques (Liens Physiques (Liens Physiques
EIA 232) FSK-modem) Fibres)
Introduction
------------
Les boxes de controle de la circulation que vous pouvez voir sur la route ont
toutes une configuration standard mise a l'origine, mais elles sont toutes
reliees a un bureau central pour modification de la configuration a distance,
report d'erreurs, remise a zero, etc.
Le ATC heberge un FEP qui se connecte a chaque controller ou a l'echangeur
local.
Le FEP est la connection reseau directe au controller et fait des requetes au
controller toutes les n secondes et recoit ls reponses qui sont transportees
a l'ordinateur de control central (OS/2 ou ALPHA VAX en Afrique du Sud et au
Royaume Uni) via DECnet sur des cables coaxiaux ou d'autres moyens via le LAN.
L'ordinateur de controle analyse ensuite les resultats et determine les erreurs
ou les autres donnees et les place dans la base de donnee de controle contral
sur un VAX/VMS. La base de donnees est ensuite muine des priorites et est
accessible via une interface web sur l'intranet local pour voir les rapports
d'erreurs et les infos de timing.
Quand une reconfiguration est sortie, un operateur peut mettre toutes les
configurations a distance meme si un une remise a zero totale du controller est
requise. Cela inclut les timings de streams (les streams sont les differantes
configurations de timing), heure locale, reduction de la lumiere, streams
d'urgence (pour les ambulances et les choses de ce genre), les differants
settings seront discutes plus tard. Quand l'operateur demande un changement
dans la configuration, cela est envoye au FEP dans un gros datagrame qui est
divise et module pour les communication avec le controller. Les protocoles
entre le OTU/CCIU et le FEP n'est d'habitude pas un standard, et des protocoles
proprietaires sont installes par le constructeur des unites.
Nous montrons un diagrame de comment UTC est relie (fig. 3)
figure 3. Diagrame du protocole et du lien physique du systeme UTC
------------------------------------------------------------------
ATC DANS LA BOITE DU CONTROLLER
____________ :
|UTC COMPUTER| RS232 SERIAL :
`------------' : SERIAL
| ___ ______ : _____ : ________
| DECnet-> _______ |___|MODEM |-/--|MODEM|-----|OTU/CCIU|
TCP/IP |---------| FEP |_|___| RACK | : `-----' `--------'
ETHERNET | `-------' |___`------' : | RS232
LAN -> | : | SERIAL
| (NTCIP inclus ) : ___|______
| protocoles : |CONTROLLER|
| _______ : `----------'
|___| | :
`-------' :
divers appareils :
comme VAX/VMS pour :
la surveillance
des erreurs et autres.
La communication entre le controller et le ATC est faite via un signal bit
stream ou certains bits representent une fonction preprogrammee dans un
controller.
Un bit stream serie seconde par seconde est recu par chaque controller en
continu et est converti en parallele pour l'usage interne dans le controller.
Le stream consiste en 16 bits, ainsi 32 connections paralleles peuvent etre
initiees avec le controller, et certains bits stream controlent certaines
fonctions et quelques-unes ont une valeur de retour par exemple pour notifier
au controller quel stream est actuellement en cours. La communication pourrait
sembler similaire a ceci :
1001011011011101 envoye
1000101111010101 recu
Comme il est dit, le protocole de communication est plus que probablement
proprietaire et donc non-standard . ie. Le bit de controle 10 pourrait
signifier "mettre max duree vert 30s" et dans un autre "tenir les vehicules a
l'arret". Mais, globalement, selon les standards ATC, il y a deux ou trois
standards comme le control du stream, le controle des urgences et d'autres
caracteristiques plutot chic.
Mais ce n'est pas important car l'acces a l'ordinateur de controle est de
toute facon necessaire pour le controle du controller, et ainsi le protocole
specifique utilise n'a pas d'importance.
----------------------------------------------
details techniques des communications, yummy!
----------------------------------------------
messages UTC
------------
Ci-dessous est une description de la communication entre le controller et le
ATC. UTC est le systeme qui est actuellement utilise dans la majorite des
centres ATC a travers le monde. Et la communication est presque standard.
Les messages specifiques de bits de donnees peuvent etre differants dans des
pays differants des le moment ou c'est fait de facon proprietaire par le
controller et le contructeur du systeme. Mais ils tendent a poser le standard,
l'Afrique du Sud est basee sur le systeme Britanique, et le systeme Britanique
est le meme qu'en Amerique, et donc tout cela va revenir au meme, sauf pour
les fonctions specifiques des zones.
Bits de Controle et de Reponse UTC (Fn = F1,F2,F3...Differants niveaux,
---------------------------------- pareil pour Dx)
Controle Description Reponse
Dn (ou Dx) Demande etage individuel SDn/SDx
Fn Force l'etage
FM Mode reculer FC
HI Empecher appel presse
Confirmation etage, etage n Gn
Controle manuel MC
Vehicule d'urgence EV
Defaut de lampe rouge 1 du vehicule RF1
Defaut de lampe rouge 2 du vehicule RF2
SFn Facilite a switcher Scn
SO Passer outre le soleil
SG Syncronisation du groupe temps CLF CG
LO Lampes On/Off LE
LL Inhibition du lien local
TS Valeur enregistree de syncronisation du switch timer
TO Take Over
TC Confirmation de la transmission
CP Fermer voiure garee CL
Moniteur de detection d'erreur DF
Groupe temps CLF dans le premier groupe GR1
Reconnexion a distance RR
Entree dans le log des erreurs du controller CF
[Handset connected] TF
Erreur de la lampe LFn
[car park occup thresh exeeded] CA
Confirmer le vert pour les pietons PC
Detecteur de presence de queue VQ
[NDT : ah, tiens, jacob, on parle de toi la ;) ]
Compte du detecteur de vehicules VC
Information parking voiture CSn
Queue dans la reserve d'entree du parking voiture CR
Detecteur de presence SCOOT Vsn
Ouvrir la porte de l'armoire CO
PV Tenir les vehicules a l'arret
PX Demande pietons au sol
[Puffin Clearance Period] PR
Confirmation du vert pour les vehicules GX
Confirmation de l'indicateur d'attente WI
Un controller est normalement installe pour recevoir de 16 a 32 bits de
bits de controle a quoi le controller repond par un datagrame de reponse.
(notez que les fonctions SCOOT specifiques sont effectuees de meme)
Message reponse UTC typique :
Bits 1,2 bits de controle (addresse 2)
Bit 3 (F1,F2,F3,D2,D3,DX,SO,-) (check la table ci-dessus pour une desription
des bits)
Bit 4 (-,-,-,-,-,-,-,RT)
0 0 0 0 0 0 1 0 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 0
La communication est faite de facon asynchrone et dans le controller
representee comme parallele, alors que dans le FEP elle est en serie. La
modulation peut etre faite soit par le FEP soit par l'installation de cartes
specifiques au controller.
Messages NTCIP (UK et quelques ATC's aux USA)
---------------------------------------------
Je ne vais pas discuter du systeme specifique de messages NTCIP parce que cela
n'est pas encore pose comme un standard, et surtout, parce que je n'ai pas eu le
plaisir de jouer avec. Les Etats-Unis (sauf NY et d'autres grandes villes),
l'Afrique du Sud, la Namibie et je pense la majorite des pays a travers le
monde utilisent toujours SCOOT capable UTC de facon primaire alors que le
Royaume Uni l'adopte comme un standart.
La pile NTCIP :
Couche Classe A Classe B Classe C
------------------------------------------------------------------
Application (7) SNMP/STMP SNMP/STMP SNMP/STMP/FTP
Presentation (6) - - -
Session (5) - - -
Transport (4) UDP - TCP/UDP
Reseau (3) IP Null IP
Lien de donnee (2) HDLC HDLC HDLC
Physique (1) RS232/FSK RS232/FSK RS232/FSK
A et C ne sont pas des standards mais peuvent etre utilisees. Pour la
compatibilite tcp et le routage.
A et C peuvent etre implementees aussi bien que des piles TCP/IP
additionnelles.
B est definie comme un standard et est utilisee pour des echanges de donnees
a bande passante performante mais ne fournit pas l'assurance de la delivrance,
c'est fait au tour par la couche physique pour les retransmission necessaires.
B ne contient que trois couches, application, lien de donnee, couche physique.
C'est parce que la ligne constante entre le bureau et le controller est fixee
donc aucun routage n'est necessaire ; de plus SNMP inclut les fonctions de
connection.
NTCIP et SNMP et un peu de SMTP :
Commandes SNMP :
-get
-set
-get Next/get Bulk
-trap
Le manager (ATC) peut envoyer la commande 'get' pour retirer des informations
de l'agent (controller) et attend une reponse. Mais SNMP de fournit pas
l'agent pour intitier le contact, et donc le manager sonde periodiquement avec
la commande 'trap'. C'est fait a chaque seconde.
La frame SNMP habituelle est de 37 octets
----------------------------------------------------------------------------
|ver|community|command|req id|error status|error index|objct id|objct value|
----------------------------------------------------------------------------
ver =
SNMP v1 -NTCIP v2 inclut des fonctionnalites de securite qu'ils ont
pensees comme un gachis de bande passante- ;)
Id flag =
est utilise pour coupler les messages et les reponses.
community name =
essentiellement un mot de passe
noyau du message dans Object ID et Value =
les donnees de controle du controller et la section de reponse
SNMP est un protocole mangeur de bande passante, donc ils ont designe le STMP
(simple transportation management protocol) [protocole de simple gestion de
transport) qui est une version simplifiee de SNMP. Cela utilise les memes
commandes mais a le bienfait ajoute de ne pas avoir d'entete et d'utiliser des
objets dynamiques. Les objets dynamiques peuvent inclure un certain nombre de
variables comme le temps, la date, l'annee et tout en un seul objet. Les
objets sont definis en ligne et les parties stations interieures et
exterieures connaissent ce que les objets decrivent et ainsi juste une simple
valeur a besoin d'etre transmise. La taille habituelle d'un message STMP est
1 octet, avec un maximum de 13 objets dynamiques.
Comparaisons entre les messages UTC et NTCIP
--------------------------------------------------
UK UTC NTCIP classe B
Cycle de sonde 1s 1s
Taille du message Fixee Variable
Variables materielles
transmises Toutes Seuls les parametres a changer
Valeur des variables
materielles bit Entier ou bit
Protocoles proprietaires standardises
-----------------------------------------------
Hacking the Traffic lights GOdDamnit! #$@#%@#%
-----------------------------------------------
Ok je veux sauver l'environnement maintenant, avec ma nouvelle UhbEr
technique.
A la base, l'idee est d'obtenir un acces a la base de donnees VAX/VMS ou a
l'ordinateur de controle en lui-meme. Maintenant, comme cela est dans un LAN
interne, et utilise DECnet, nous devons trouver des idees intelligentes pour
entrer.
Un peu de social engineering peut vous aider grandement.
Telephonez a votre municipalite locale, ou checkez sur les sites web, journaux
ou n'importe ou, ou est situe le ATC. Maintenant, vous aurez le numero ou
contacter les gens qui y travaillent, peut-etre un numero pour rapporter les
erreurs. Sortez votre wardialer et commencez a scanner le prefixe. Ils ont
surement un serveur ou ils dialup pour donner une tache a un nouveau
controller ou quand ils ont besoin d'un d/l de software dans la place. En
Afrique du Sud c'est un ordinateur sous DOS avec pc-anywhere dessus. Mais
s'ils sont intelligents, comme tous les centres que j'ai vus, ils auront
surement une fonction de rappel, sinon vous avez de la chance car apres vous
etes directement relie au LAN interne, et pourriez commencer a hacker le VAX
ou le FEP. Notez : le FEP est normalement un systeme proprietaire, comme en
Afrique du Sud, sous DOS avec des protocoles de communications en serie. Mieux
: l'obtention d'un acces a l'ordinateur VAX/OS2 de controle comme systeme
plus familier, bien que le FEP a plus de controle sur le systeme de messages
au controller.
Et vous pouvez acceder aux connections series directement au modem.
Si vous etes malchanceux et avez un ATC intelligent. Vous devez inventer un
autre moyen d'acceder au LAN interne. Dans mon experience le LAN est toujours
connecte au WAN de la municipalite locale pour les mails et l'acces a
l'intranet pour la base de donnees des rapports des fautes de conduite
routiere. Maintenant pour gagner un acces au WAN local ce n'est pas si
difficile, ils sont d'habitude tres gros et fournissent des services comme des
sites web, serveurs de mail pour les employes municipaux et autres.
Maintenant Hax0r-isez un serveur web ou quelque chose et backdoor-isez le
*TRES* *TRES* bien. Vous allez en avoir bien besoin, peut-etre backdoor-isez
en plusieurs. :)
Maintenant dans le WAN local, vous pouvez probablement acceder au serveur de
noms du LAN ATC ou vous pouvez y acceder directement. Je ne suis pas en train
de vous fournir un tutorial de hacking, juste des moyens d'acces, donc sniffez
les e-mails, le traffic reseau blah blah... jusqu'a ce que vous obteniez un
acces au VAX ou a l'ordinateur de controle.
Maintenant une fois que vous etes dedans, backdoor-isez le *TRES* *TRES*
*TRES* bien ;)
Vous devriez utiliser tous les outils et conneries pour se cacher dans un vax,
regardez dans phrack pour le hacking VAX/VMS [NDT : traducteurs siouplet ;-)]
Il y a de jolis outils pour se cacher des SHOW USER, et des trucs ecrits par
mentor et d'autres. Et une fois que vous etes dedans, regardez ce qui est sur
le DECnet, et peut-etre voyez si c'est relie a d'autres ATC's.
De la vous pouvez acceder aux ordinateurs de controle, aux FEP's et a tout.
Essayez de voir les connections serie directement via le FEP ou de voir la
communication depuis l'ordinateur de controle, donc vous pouvez calculer le
format des messages aux controllers. Ou, si vous etes chanceux, vous pouvez
acceder au programe utilise pour les messages en lui-meme, s'il est utilisable
a partir d'un terminal [terminal friendly].
A present trouvez un controller dont vous connaissez la localistaion, les
addresses sont assez faciles a calculer, la plupart du temps navigez juste
dans la base de donnees VAX ou des rapports d'erreurs ou checkez l'intranet
local. Maintenant construisez un message et un datagrame convenable des
donnees capturees, et faites-lui faire quelque chose de remarquable comme :
UTC message - PX DEMANDE PASSAGE PIETON
Par chance, vous avez un ordinateur portable ou quelque chose, allez au
controller auquel vous avez l'intention de lancer le message. Maintenant vous
allez remarquer que tout cela est fait sur tcp/ip, depuis que vous vous etes
relie au LAN ou vous allez dans le DECnet VAX/VMS et autour de l'ordinateur de
controle/FEP. Donc envoyez la commande et regardez si le controller vous obeit.
Si il le fait alors vous pouvez scripter la procedure entiere ;).
Faites de jolis timings pour des voyages cools pour l'ENVIRONNEMENT entre les
destinations A et B. Les commandes pour forcer un passage sont egalement sont
chouettes a avoir, UTC message - Fn ; maintenant si vous etes cloue au sol
par un feu rouge, et que vous etes juste en train de mettre de la pollution
dans l'air, forcez le passage suivant dans le stream et vous roulerez sans la
culpabilite de griller un feu rouge ;)
Encore, si vous etes en train de vous balader dans le LAN, surveillez les
infos chics comme le source du logiciel de la societe des controllers, car ce
logiciels est update vraiment souvent. Cela va peut-etre s'appliquer au
serveur de dialup ou a quelque serveur FTP interne.
La frequence exacte et la sequence de bit utilisees pour initier le cycle
d'urgence dans les controllers, pour les ambulances et les vheicules d'urgence
est egalement sympa.
Il y a aussi le software qui est utilise pour donner des taches aux controllers
et l'unite de main pour le monitoring du champ.
Bien entendu hacker le systeme de circulation routiere peut etre miserable et
avoir des effets desastreux, mais je sens que si vous avez les competances
pour acceder a un systeme comme celui-la, alors vous aurez le bon-sens de ne
pas le fsck.
|=[ EOF ]=---------------------------------------------------------------=|
Traduction par [DegenereScience]DecereBrain, le 14 Janvier 2003, 18:02