Cela fait plusieurs articles que nous jouons avec le noyau Windows, c’est sympa mais parfois il faut savoir changer, sans quoi la routine s’installe. Donc cette fois on va faire une petite introduction au reversing sur ARM au lieu d’Intel. Et pour se faire quoi de mieux que de reverser un malware ou tout du moins ses protections d’anti-reversing ? C’est donc ce que l’on va faire, just for fun ![]()
Le shellcoding est un domaine déjà largement débattu depuis de nombreuses années (depuis le début des buffer overflows en fait), nous n’allons donc pas reprendre des choses dites et redites mais plutôt présenter un type de shellcode assez méconnu.
Nous parlerons ici des shellcodes kernel sous Windows. Nous reprendrons dans un premier temps (très brièvement) les élévations classiques de droits sur cet OS, puis nous ferons une exploitation un peu plus sexy qui pourra être utilisée dans des cas plus complexes.
Le monde des ERP
Dans cet article, nous allons travailler sur un ERP bien connu des entreprises développé par ORACLE nommé PeopleSoft. La sécurité d’un ERP est un élément important dans une entreprise puisque ce dernier regroupe généralement plusieurs fonctions très sensibles de la société :
nov 11
10
Lors d’audits il arrive de trouver des injections SQL un peu différentes du simple SELECT habituel. L’une des injections pouvant perturber un auditeur « débutant » est celle dans une procédure stockée. En effet cette injection change totalement la forme courante de la requête, nous allons donc l’étudier au travers de trois bases de données assez récurrentes, MySQL, Oracle et MsSQL.
oct 11
12
Windows 7 possède des sécurités en noyau assez solides, de nombreuses vérifications de tailles, contrôles d’intégrité ou restrictions d’accès sont présentes. Par exemple le « security_check » protège note pile si une chaine de caractères est utilisée, c’est également le cas quand nous utilisons une fonction dépréciée comme « strcpy() » (certaines ne sont même plus disponibles), ceci pour forcer les développeurs à programmer de façon sécurisée.
C’est pourquoi nous voyons beaucoup de débordements de tas en local (comme l’a démontré Tarjei Mandt) mais nous n’avons aucune (ou très peu) d’exploitation à distance comme à un moment avec SRV.SYS ou d’autres drivers.
Ce manque d’exploits est en parti du à la présence d’une ASLR (génération aléatoire des adresse en mémoire) en noyau. Résultat, si un Hacker n’a plus de moyen de sauter sur le code et exécuter la charge active (ROP, Jmp Eax, …) l’exploitation du bug sera impossible. Nous n’aurons qu’un superbe BSOD dans la majorité des cas. Cet article explique comme contourner la protection à distance et relancera peut être les recherches sur ce domaine. Nous considérerons ici avoir un débordement de tampon à distance sur un driver.
Dans ce premier opus du blog nous allons parler kernel, déréférencements de pointeurs, de reverse engineering et un tout petit peu de système de fichier. Beaucoup de choses techniques mais rien de très compliqué. Notre cas d’étude sera l’outil de détection de rootkits GMER, il a la capacité de détecter de nombreux rootkits en noyau Windows et ce sans utiliser de signatures ! Un administrateur système utilisera donc cet outil pour détecter un possible virus d’ores et déjà installé sur sa machine. Nous avons voulu savoir si le fait d’utiliser cet outil (de protection à l’origine) ne peut pas ouvrir des axes d’attaques supplémentaires.
Bonjour à tous et bienvenue sur ce blog,
Après plusieurs mois de réflexion, nous avons décidé de créer cet espace de publication dédié à nos retours d’experiences concernant la sécurité informatique.
A travers ce blog, le lab R&D sécurité et Pentest de NES publiera des articles et des dossiers permettant à un public néophyte mais aussi à un public initié d’échanger sur des sujets tels que :
2 types d’articles seront ainsi rédigés par notre équipe :
Des articles viendront régulièrement fleurir ce blog; nos futures conférences seront également diffusées par ce média.
Toute l’équipe est très heureuse de vous accueillir sur ce blog, surtout n’hésitez pas pour toute question, retour, avis sur un sujet à nous contacter à cette adresse : audit_at_nes.fr
A bientôt
Grégory, Responsable du pôle audit technique et R&D NES