Une conversation adulte sur le pentesting et le piratage



Cette semaine, Omar Ganiev, fondateur de DeteAct

et membre de l'équipe de hackers russe LC↯BC, s'est exprimé sur nos réseaux sociaux . Omar peut être considéré comme l'un des meilleurs hackers du pays.



LC↯BC a remporté la première place de la finale du tournoi international de sécurité informatique 0CTF à Shanghai en 2016.



Pendant plus de la moitié de sa vie, Omar a piraté des systèmes informatiques. Pour lui, c'est avant tout un passe-temps et une compétence de base, qui est progressivement devenu un travail, et alors seulement une base pour l'entrepreneuriat.



Outre le travail lui-même, Omar est très attiré par le volet recherche de cette activité, ainsi que par la compétition de hacking sportif (CTF), à laquelle il a beaucoup participé individuellement et au sein de différentes équipes.



Maintenant, l'équipe de More Smoked Leet Chicken, dont Omar est membre, est composée de passionnés travaillant dans différentes entreprises et pays, et c'est l'équipe la plus forte de la FCE en Russie et l'une des plus fortes au monde.



Quant à DeteAct (officiellement Continuous Technologies LLC), il fournit des services d'analyse de sécurité et de test d'intrusion. En termes simples, diverses entreprises demandent aux hommes de pirater leurs systèmes afin de tester leur force et d'apprendre à prévenir les attaques de pirates malveillants et les pertes commerciales.



Nous partageons avec vous l'enregistrement et la transcription de l'Ă©mission.






Bonjour à tous, je m'appelle Omar Ganiev. Je suis également connu sous le nom de beched dans la communauté des hackers. Je suis un hacker, je suis impliqué dans la vérification de la sécurité des systèmes informatiques depuis de nombreuses années. C'est devenu un passe-temps pour moi à l'école, et depuis 9 ans, c'est ma profession principale. Depuis 7 ans je travaille dans des startups dans le domaine de la sécurité de l'information, je suis moi-même le fondateur de DeteAct, également connu sous le nom de Continuous Technologies. Maintenant, nous sommes 10 personnes, nous nous développons bien et fournissons des services dans le domaine de la sécurité pratique de l'information. Test de pénétration, analyse de sécurité et autres types d'audits de sécurité - nous en parlerons aujourd'hui.



Pentest, tests de pénétration. Il faut décider ce que c'est, car même dans le domaine de la sécurité de l'information, parmi ceux qui sont impliqués dans les tests de pénétration et les audits, il y a souvent confusion et incompréhension de la terminologie. Il s'avère souvent que différentes personnes signifient des choses différentes par les tests d'intrusion; c'est particulièrement désagréable lorsque ces personnes sont le client et le fournisseur de services. Les principaux termes ici sont audit de sécurité, test de pénétration, évaluation de la sécurité et équipe rouge.



L'audit de sécurité est le concept le plus général. Cela signifie tout type de recherche de sécurité d'un objet, vérifiant sa conformité avec les exigences de sécurité - pas nécessairement d'information. Par exemple, cela pourrait être la sécurité incendie.



Pentest (test de pénétration) est une chose beaucoup plus spécifique, bien qu'elle puisse être comprise de différentes manières. Une association logique immédiate est qu'un test de pénétration est un contrôle pour voir s'il est possible de pénétrer dans un certain système, et le résultat d'un test de pénétration doit être une réponse binaire - oui / non: s'il était possible de pénétrer ou non. C'est l'une des interprétations de ce service - c'est-à-dire qu'il vérifie si un attaquant potentiel peut pénétrer dans le système, atteindre certains objectifs, par exemple, dans une semaine ou deux semaines. Pendant ce temps, les pentesters tentent de casser le système, et ainsi le niveau de sécurité du système peut être vérifié. Cela est particulièrement vrai dans le domaine de la conformité. Certaines organisations - organisations gouvernementales, systèmes de paiement internationaux - peuvent exiger des entreprises (banques,acquisition de la carte) en passant le test de pénétration dans ce sens. Un tel test de pénétration devrait vérifier si cela a fonctionné - oui ou non - pour accéder aux données de paiement. Sinon, tout va bien; si oui, tout va mal.



Mais il existe une autre compréhension des tests d'intrusion, souvent appelés «analyse de sécurité». C'est un travail d'envergure: au lieu d'essayer de pénétrer profondément dans les ressources, les pirates-pentesters recherchent autant de vulnérabilités que possible. Le plus souvent, après tout, les clients veulent voir ce service particulier. Ils sont intéressés non seulement à obtenir une réponse (qu'elle soit cassée ou non), mais à trouver autant de trous que possible afin de les fermer - afin qu'ils ne soient pas brisés à l'avenir.

Redteaming a une signification similaire à la façon dont le pentesting fonctionne en termes de pénétration, mais avec quelques particularités. En général, la plupart des holivars sont conduits sur le thème de ce qu'est le temps rouge. En bref, il s'agit d'un événement dans lequel l'équipe attaquante vise à infliger certains dommages, à réaliser certaines menaces ou certains risques commerciaux - par exemple, vol de fonds, bases de données clients, courrier du gestionnaire (chaque entreprise a son propre risque commercial, à qui critique). Il n'y a pratiquement aucune restriction imposée à l'équipe attaquante (la seule restriction est la portée de la loi). Contrairement aux analyses de sécurité conventionnelles ou aux tests de pénétration, les redtimers peuvent prendre des risques commerciaux par tous les moyens: même pour entrer dans le bureau et voler physiquement du papier avec des mots de passe ou intercepter le wifi. La partie défenderesse - c'est-à-dire l'entreprisequi est testé est également illimité. Les responsables de la sécurité, les administrateurs, les développeurs, les développeurs résistent à ces tests, tentent d'identifier les attaques et de les prévenir. Ainsi, une formation et une simulation réalistes d'une situation réelle sont obtenues. Enseignements, pourrait-on dire.



Q: Par souci d'intérêt: dans quels pays les testeurs d'intrusion sont-ils les plus demandés et d'où proviennent la plupart des commandes de vérification?



La demande la plus large de pentests se trouve aux États-Unis. Si la deuxième question concerne les entreprises russes, la plupart des commandes proviennent de Russie. Ce marché est assez isolé dans chaque pays, en soi. Chacun a tendance à commander de tels services à ceux qu'il connaît, car c'est une question délicate; personne ne veut confier sa sécurité à quelqu'un d'un autre pays ou à un étranger. De plus, en Occident, presque personne ne commandera de tels services à la Russie - en raison de sanctions et d'une mauvaise réputation.



Ainsi, nous avons approximativement compris le test de pénétration et ses variétés. Vous pouvez dire brièvement comment les projets sont menés et quelle est la méthodologie. Ici, il est nécessaire de diviser immédiatement la méthode de travail dans les soi-disant «boîtes» de différentes couleurs. Vous pouvez effectuer un pentest en mode boîte noire - les testeurs ne reçoivent pratiquement aucune information sur l'objet de la recherche, à l'exception de l'adresse du site (ou même du nom de l'entreprise). L'autre extrême est la boîte blanche, lorsque toutes les informations sont diffusées. S'il s'agit d'une infrastructure, toutes les adresses IP, le diagramme du réseau, l'accès au réseau interne (si nécessaire), tous les noms d'hôte (noms de domaine) sont affichés. S'il s'agit d'un logiciel, d'une sorte de service Web, les codes source, la configuration, les comptes avec différents rôles sont émis, etc. Le mode le plus courant est la greybox,cela peut être n'importe quoi du noir au blanc. Certaines informations sont données, mais pas toutes. Par exemple, pour un service web, des comptes avec différents rôles peuvent être émis, quelques informations de base sur la pile technologique: les langages de programmation et bases de données utilisés, le diagramme d'infrastructure de service. Mais en même temps, les sources ne sont pas communiquées.



Après avoir décidé de la méthodologie, du mode de réalisation du travail, le côté attaquant reçoit des données d'entrée. Autrement dit, si nécessaire, des accès, des adresses d'hôte, etc. sont émis. L'attaquant peut donner ses adresses IP, à partir desquelles les attaques seront menées, afin que le client puisse les distinguer des vrais attaquants. Ensuite, les étapes classiques des tests de pénétration sont effectuées; la mise en œuvre et la répartition spécifiques peuvent différer, mais en général, l'exploration doit être effectuée en premier. Les testeurs de pénétration recherchent des points d'entrée dans l'infrastructure - hôtes, services réseau, adresses e-mail. S'il s'agit d'un service Web, ils recherchent des points de terminaison d'API - diverses interfaces Web, divers hôtes d'API pour les domaines, etc. Une fois la reconnaissance effectuée, l'étape d'analyse (phasage) commence, lorsque la recherche de vulnérabilités dans les interfaces trouvées est effectuée. Lorsque des vulnérabilités sont découvertes,la prochaine étape est l'exploitation: les vulnérabilités sont utilisées pour obtenir une sorte d'accès. De plus, en fonction de quel type de pentest il s'agit, une post-exploitation peut être effectuée: approfondir le système et obtenir des accès supplémentaires. De plus, il peut y avoir un nettoyage. Le client ne souhaite pas toujours que l'exploitation se poursuive: il suffit parfois de trouver une vulnérabilité et de la signaler.



Afin de clarifier ce que signifie la post-exploitation: disons que les pentesters ont trouvé un serveur vulnérable dans l'infrastructure accessible de l'extérieur. Par exemple, récemment, il y a eu des correctifs pour une vulnérabilité dans MS Exchange - le serveur de messagerie de Microsoft, que presque toutes les entreprises ont et se démarque. Une vulnérabilité critique y a été découverte. Cette vulnérabilité elle-même a un effet énorme: les attaquants peuvent l'utiliser pour accéder au courrier. Mais, en plus de cela, ils peuvent effectuer une post-exploitation et à partir de ce serveur de messagerie encore réparti sur l'infrastructure. Saisissez d'autres serveurs, l'infrastructure du domaine Windows Active Directory, accédez aux postes de travail des employés, c'est-à-dire à l'infrastructure de développement. Etc.



Q: Quelles sont les entrées minimales requises d'une organisation pour les tests et les audits?





Les données d'entrée minimales sont le nom de l'entreprise, c'est-à-dire qu'elles peuvent pratiquement ne pas être disponibles. Il est clair qu'au stade de la reconnaissance, lorsque nous recherchons des hôtes au nom d'une entreprise, ou que nous recherchons des hôtes associés à un site, nous pouvons faire une erreur et trouver des adresses IP et des hôtes qui n'appartiennent pas à cette entreprise. Par conséquent, après la reconnaissance, un accord est généralement passé - au cas où, pour ne pas casser quelque chose de superflu. Il est assez facile de faire des erreurs.



Q: Y a-t-il de vrais compteurs rouges avec des crochets et des marteaux en Russie? : D



Je pense que beaucoup de gens ont de telles compétences. Pour être honnête, je ne sais pas à quel point ces projets sont demandés et à quelle fréquence ils sont menés à bien. Qu'il était nécessaire de marcher directement avec des passe-partout et de franchir les clôtures. Probablement, de tels projets sont rarement réalisés.

Q: comment contourner le pare-feu d'application Web ou au moins Windows Defender? Que pouvez-vous dire sur les frameworks Empire et Koadic, les utilisez-vous?



Nous contournons WAF manuellement, en choisissant la charge utile appropriée. Les méthodes sont ici standard. La seule difficulté avec WAF est s'il s'agit d'une redirection, lorsque le côté défenseur empêche les attaques - si nous brûlons d'une manière ou d'une autre notre attaque, ou si nous sommes détectés à l'aide de certains moyens de protection tels que WAF, alors nous pouvons couvrir la vulnérabilité. Par conséquent, vous devez agir avec prudence et vérifier la charge utile (c'est-à-dire votre exploit) sur certains autres hôtes où il n'y a pas de vulnérabilité. Ainsi, le WAF peut être vérifié et contourné, mais en cours de route, la vulnérabilité ne sera pas détectée par la partie défenderesse.



Q: quel logiciel est nécessaire pour les attaquants et pour la défense?



Quel logiciel est nécessaire pour la protection est un sujet énorme. C'est beaucoup plus large qu'un pentest. Quel logiciel est nécessaire pour les attaquants est une bonne question, car cela dépend du type de travail dont nous parlons. Si nous parlons d'analyse de logiciels, de services Web, pratiquement aucun logiciel n'est requis. Un couteau suisse comme le Burp Suite suffit. La version payante coûte 400 $ et contient presque tous les outils nécessaires. De plus, bien sûr, tout langage de programmation fonctionnel - généralement Python ou GoLang pour les testeurs d'intrusion. C'est assez.

Si nous parlons d'infrastructure, de redirection, la boîte à outils est beaucoup plus large. Nous avons besoin d'une variété de scanners de vulnérabilités, nous avons besoin d'outils pour les corriger sur les systèmes: après avoir pénétré dans un système, nous devons prendre pied dedans, nous devons obscurcir notre charge utile afin qu'elle ne soit pas détectée par un antivirus, etc.



Q: Quels sont les domaines de la Fédération de Russie les plus sollicités pour tester ou réaliser un audit?



Apparemment, nous parlons des industries dans lesquelles la plus grande demande de tests d'intrusion. De toute évidence, les entreprises qui disposent de l'informatique en ont besoin; plus l'informatique est développée, plus il s'agit d'une société informatique, plus les tests d'intrusion sont nécessaires. La demande correspond approximativement à cela. Pour certaines entreprises, le pentesting est obligatoire car elles font partie d'une infrastructure d'information critique: entreprises publiques et banques. Pour les banques, un pentest est nécessaire à la demande de la Banque centrale, et également dans le cadre de l'obtention d'un certificat PCI DSS pour les systèmes de paiement internationaux. D'autres établissements de paiement ont également besoin de ce certificat. Autrement dit, les organisations de paiement, les sujets des infrastructures d'informations critiques et les entreprises informatiques nécessitent des tests de pénétration. Autrement dit, toute entreprise informatique, y compris les startups, dont toute l'infrastructure est un service Web avec une base d'utilisateurs: il est essentiel pour eux s'ils sont en panne.



Q: Quelle est l'importance d'une compréhension de l'ingénierie sociale dans les tests d'intrusion?



Je ne l'ai pas mentionnée séparément. Je dirais que c'est l'un des outils de redirection; en outre, l'ingénierie sociale est souvent effectuée séparément, en tant que service distinct, et ressemble à une simple liste de diffusion. Nous créons un site de phishing, recherchons les e-mails des employés de l'entreprise et leur envoyons un lien vers ce site avec une légende (par exemple, il s'agit d'un nouveau portail d'entreprise, tout le monde doit entrer et saisir son mot de passe).



Ensuite, nous conservons des statistiques - combien de personnes ont vu la lettre, cliqué sur le lien et entré le mot de passe. Nous le montrons au client et il comprend avec qui nous devons mener un programme éducatif. Pour être honnête, pratiquement aucune compétence n'est requise pour de tels tests, et l'entreprise elle-même est en mesure de les mener facilement à l'aide d'outils open source lorsqu'il s'agit d'un envoi ponctuel. En général, il existe une entreprise entièrement distincte - l'industrie de la sensibilisation à la sécurité, qui sensibilise les gens au domaine de la sécurité de l'information.



Il existe des produits spéciaux qui envoient régulièrement des e-mails de phishing à la base d'utilisateurs. Si une personne est séduite, elle recevra une vidéo de formation ou une autre leçon interactive qu'elle devra suivre. Et puis il sera vérifié à nouveau, et la tendance sera surveillée - par exemple, il y a un an, 50% des employés sont tombés pour le phishing, et maintenant seulement 5%. Bien sûr, se débarrasser complètement des dangers du phishing est presque impossible.



Quelle est l'importance de la compréhension - c'est important si vous faites un tel travail, mais c'est assez facile. Ou, si vous faites une rédaction, l'ingénierie sociale est très efficace dans son cadre. Mais en même temps, ils devront être beaucoup plus précis et précis, bien sûr; il ne peut pas s'agir d'un envoi en masse à tous les employés - ils le remarqueront et comprendront où vous pouvez essayer de pénétrer. Vous devez l'envoyer à des personnes spécifiques.



Q: quel est le coût du service?



Excellente question, car personne n'y répondra vraiment pour vous.



C'est très différent. Habituellement, un pentest coûte combien le client peut payer, en gros. C'est l'un des coefficients. Le problème est que même la quantité de travail ne sera pas initialement déterministe - surtout s'il s'agit d'une boîte noire. Au départ, nous ne savons même pas vraiment combien d'hôtes et d'interfaces il y aura. Nous ne pouvons que comprendre approximativement la nature de cette entreprise, le type d'infrastructure dont elle dispose, le nombre de personnes et le temps dont nous avons besoin, et à partir de là, il sera possible d'estimer les coûts de main-d'œuvre en semaines-homme. Si nous avons une sorte de cadre de tarification, nous pouvons multiplier les semaines-personnes par notre facteur et le donner comme prix.

En fait, tout varie énormément; souvent, en particulier dans les grandes entreprises, le vendeur trouve simplement une entreprise, supprime une sorte de budget, puis le travail doit être fait dans les limites de ce budget. Et ici, plutôt, les coûts de main-d'œuvre sont ajustés au prix, et non l'inverse.



Je peux aussi dire qu'en fin de compte - puisque nous avons un marché opaque avec des prix incompréhensibles - le coût du travail peut différer plusieurs fois avec la même qualité et les mêmes coûts de main-d'œuvre. Vous pouvez trouver un pentest pour 300 mille et pour 4 millions de roubles avec la même quantité de travail. Cela se voit souvent même lors des appels d'offres: il y a une spécification technique, vous regardez les étiquettes de prix et les offres - le spread est de 5 à 10 fois. Malgré le fait qu'il est peu probable que la qualité diffère 5 à 10 fois.



Puisque nous parlons de la qualité et du prix du test de pénétration. Vous devez savoir si votre entreprise a besoin d'un test de pénétration - et si vous êtes un pentester, vous devez comprendre comment justifier un test de pénétration et le vendre à l'entreprise. Il n'y a pas non plus de réponse universelle ici. À mon avis, les pilotes de test de pénétration sont quelques choses simples. L’une d’entre elles est la conformité, que j’ai déjà mentionnée: quand une organisation est tenue de mener un test d’intrusion, et sans cela, il ne sera pas possible d’exécuter des fonctions commerciales, telles que l’acceptation de paiements avec des cartes en plastique. C'est clair.



Un autre moteur est les incidents: lorsque l'entreprise était déjà cassée, elle a subi des dommages et s'est propagée. Afin de vous protéger, vous devez mener une enquête, effectuer un test de pénétration afin qu'il ne soit pas rompu à l'avenir et prendre d'autres mesures. Tout le monde commence à courir et à réfléchir à ce qu'il faut faire.



Le troisième moteur est la peur: disons qu'il n'y a pas encore eu d'incidents, mais peut-être que d'autres membres de l'industrie en ont eu, et l'entreprise a peur. Les nouvelles entreprises, par exemple, les startups qui viennent de commencer une sorte de développement, sont un autre moteur qui peut être considéré en conjonction avec le moteur de la peur. Ils y ont réfléchi et ont décidé qu'il était nécessaire de procéder immédiatement à un test de pénétration afin de corriger les vulnérabilités et de les prévenir à l'avenir. De sorte qu'au moment où le service devient public et, éventuellement, populaire, il n'y a pas de vulnérabilités. C'est la meilleure approche.



Les exigences des contreparties sont un autre facteur très courant parmi les startups. Ce type de conformité, lorsque vous pouvez exercer vos fonctions commerciales, mais que vos contreparties veulent vérifier que vous surveillez votre sécurité. Par conséquent, si vous êtes une petite entreprise qui souhaite vendre, par exemple, à de grandes entreprises occidentales, vous devrez certainement passer un pentest. Surtout si vous proposez SaaS (logiciel en tant que service) - un rapport pentest sera certainement nécessaire. Ce sera dans leurs lignes directrices, leurs avocats et le personnel de sécurité ne permettront tout simplement pas un tel entrepreneur qui n'a pas réussi le test de pénétration.



Telles sont les raisons pour lesquelles les entreprises se tournent vers les testeurs d'intrusion et nous effectuons des tests. Mais avec la qualité, en fait, c'est très difficile. J'ai déjà dit que dans le test de pénétration, la quantité de travail n'est pas initialement déterminée, mais le résultat n'est pas non plus déterministe. Vous pouvez commander un pentest pour 6 millions de roubles et obtenir un rapport contenant les mots «aucune vulnérabilité trouvée». Comment vérifier que le travail a été fait, et de bonne qualité? Vous ne pouvez pas le comprendre. Afin de vérifier cela avec précision, vous devez pratiquement refaire tout ce travail. Vous pouvez essayer de surveiller les journaux pour voir si l'activité réseau provenait réellement des pentesters, mais tout cela est compliqué. Et de manière simple, il est impossible de vérifier la qualité du travail.

Les mesures possibles, en plus de l'activité de suivi, sont de demander des rapports détaillés sur ce qui est fait, de demander des artefacts, des rapports de scanners et d'autres journaux, par exemple, à partir de l'outil Burp. Au départ, vous pouvez discuter de la méthodologie - ce que les pentesters vont faire. Il peut en ressortir clairement qu’ils comprennent. Mais tout cela nécessite des compétences et des connaissances - par conséquent, si l'entreprise ne dispose pas de personnel de sécurité ayant déjà interagi avec des pentesters et comprenant ces services, il ne sera pas possible de vérifier la qualité du travail.



Q: dites-moi par où commencer? Quel est l'âge idéal pour plonger profondément dans le domaine du pentest?



Ces deux questions concernent la carrière, et ici vous pouvez changer "pentest" en "programmation", par exemple. Je dirais qu'il n'y a pas d'âge idéal, mais c'est le genre de mantra que tout le monde répète - soi-disant, il n'est jamais trop tard. Mais, bien sûr, si une personne commence à étudier à l'âge de 10 ans, elle a plus de chances de réussir et apprendra plus vite que si elle commence à 40 ans; bien que cela ne signifie pas que commencer à 40 est inutile. Cela demande juste plus d'efforts. Deuxièmement, si nous parlons d'un point de vue utilitariste - pour travailler dans le domaine du pentesting, pour devenir pentester et obtenir un emploi, le seuil d'entrée est plus bas que pour le développement. Parce que pour commencer à être utile en développement, il faut au moins être capable de programmer et de connaître certaines technologies. Et dans l'ordrepour commencer à faire au moins quelque chose dans le test de pénétration - bien que cela puisse être une "illusion d'activité" - il suffit d'apprendre à utiliser quelques outils et à interpréter les résultats de ce travail. Mais ce sera un seuil d'entrée très basique. Il faudra plus d'efforts pour être vraiment cool dans le test de pénétration que pour le développer. Pour être vraiment à la hauteur du piratage, vous devez connaître le développement - et pas même dans un langage de programmation et une pile technologique, mais dans plusieurs. Vous avez également besoin d'au moins une certaine connaissance (ou mieux, bonne) de l'infrastructure, du réseau, de l'administration Windows et Linux et de la programmation. Vous avez besoin d'une immersion profonde dans une zone et en même temps être capable de rompre. Autrement dit, le seuil d'entrée le plus bas dans le test de pénétration est plus bas, mais devenir un senior ou un supérieur est plus difficile.il faudra plus d'efforts pour être vraiment cool dans les tests de pénétration que pour le développer. Pour être vraiment à la hauteur du piratage, vous devez connaître le développement - et pas même dans un langage de programmation et une pile technologique, mais dans plusieurs. Vous avez également besoin d'au moins une certaine connaissance (ou mieux, bonne) de l'infrastructure, du réseau, de l'administration Windows et Linux et de la programmation. Vous avez besoin d'une immersion profonde dans une zone et en même temps être capable de rompre. Autrement dit, le seuil d'entrée le plus bas dans le test de pénétration est plus bas, mais devenir un senior ou un supérieur est plus difficile.il faudra plus d'efforts pour être vraiment cool dans les tests de pénétration que pour le développer. Pour être vraiment à la hauteur du piratage, vous devez connaître le développement - et pas même dans un langage de programmation et une pile technologique, mais dans plusieurs. Vous avez également besoin d'au moins une certaine connaissance (ou mieux, bonne) de l'infrastructure, du réseau, de l'administration Windows et Linux et de la programmation. Vous avez besoin d'une immersion profonde dans une zone et en même temps être capable de rompre. Autrement dit, le seuil d'entrée le plus bas dans le test de pénétration est plus bas, mais devenir un senior ou un supérieur est plus difficile.Vous avez également besoin d'au moins une certaine connaissance (ou mieux, bonne) de l'infrastructure, du réseau, de l'administration Windows et Linux et de la programmation. Vous avez besoin d'une immersion profonde dans une zone et en même temps être capable de rompre. Autrement dit, le seuil d'entrée le plus bas dans le test de pénétration est plus bas, mais devenir un senior ou un supérieur est plus difficile.Vous avez également besoin d'au moins une certaine connaissance (ou mieux, bonne) de l'infrastructure, du réseau, de l'administration Windows et Linux et de la programmation. Vous avez besoin d'une immersion profonde dans une zone et en même temps être capable de rompre. Autrement dit, le seuil d'entrée le plus bas dans le test de pénétration est plus bas, mais devenir un senior ou un supérieur est plus difficile.



Afin de ne pas rester coincé sur le premier échelon, vous devez commencer par apprendre les choses fondamentales. Programmation, réseaux, technologies en général - comment le système d'exploitation, les réseaux sont organisés, comment les services modernes sont déployés, comment diverses attaques bien connues fonctionnent dans différents langages de programmation, comment se défendre contre elles. Il y en a beaucoup, mais ce sont toutes des choses fondamentales que vous devez savoir pour avancer.



Q: Les attaques sur wifi Evil Twin sont-elles réelles maintenant, ou les entreprises ont-elles une autorisation via un serveur RADIUS?



Pour être honnête, je ne peux pas donner une réponse d'expert sans avoir de statistiques. Je pense que c'est différent pour tout le monde; Il y a probablement de nombreux endroits où Evil Twin fonctionne très bien.



Q: utilisez-vous dans votre travail les méthodes et approches du NIST, OSSTMM, OSINT, OWASP, etc., et lesquelles pouvez-vous mettre en évidence?



OSINT n'est pas vraiment une technique, c'est juste une intelligence open source. OWASP est généralement une organisation, mais cette organisation a des méthodologies pour tester les applications Web, les applications mobiles, et nous les suivons; au moins dans l'esprit, ne pas faire toutes les listes de contrôle par ticks - elles peuvent être assez controversées. Nous suivons les méthodologies OSSTMM; à mon avis, c'est dans l'OSSTMM que sont énoncées les étapes d'exploration, de numérisation, d'exploitation, de post-exploitation, de décapage - c'est-à-dire que le point principal de cette méthodologie est que de telles étapes doivent être appliquées, mais ensuite il entre en beaucoup plus de détails.



Bref, oui, mais pas littéralement. Nous suivons l'esprit de cette méthodologie.



Q: que demande-t-on lors des entretiens?



Différemment. Cela dépend de la position que vous allez occuper. Il y a souvent un modèle de question comme celui-ci. Ils vous décrivent une situation - par exemple, ils disent: vous avez exécuté le code sur le serveur Linux de l'extérieur, vous vous êtes frayé un chemin à travers le périmètre, vous avez cassé le serveur Web, vous êtes à l'intérieur, quelles actions devez-vous entreprendre ensuite? Ou - vous êtes arrivé au poste de travail de l'employé, quelles sont les prochaines étapes? Ou - vous avez trouvé une vulnérabilité dans les scripts intersites sur une page, une politique de sécurité du contenu est implémentée avec tels ou tels paramètres, comment allez-vous la contourner? Il y a généralement des questions de ce genre.



Q: quel est le seuil pour entrer dans le bug bounty, et est-il vraiment possible de vivre uniquement avec?



La prime de bogue est une récompense pour les erreurs. Programmes dans lesquels une entreprise donne de l'argent aux personnes qui signalent des vulnérabilités dans les systèmes de cette entreprise. Un tel crowdsourcing d'un pentest, lorsqu'il est réalisé non pas dans le cadre d'un accord entre deux entreprises, mais au travers d'une offre publique. C'est pour ceux qui ne savent pas.



En fait, la prime de bogue est une chose croissante. Il existe de grandes salles avec de nombreux programmes. Le seuil d'entrée pour participer à la prime de bogue pour les pentesters est à la fois faible et élevé. Faible dans le sens où il y a tellement de ces programmes et ressources de bugs bounty qui peuvent être cassés que vous pouvez trouver quelques vulnérabilités simples. Pas forcément compliqué. Mais, d'un autre côté, vous pouvez rencontrer un programme, où vous avez déjà trouvé tous les bogues simples, et passer deux mois à creuser dedans sans rien trouver. C'est très démotivant. Par conséquent, il arrive souvent que les gens s'essaient dans ce domaine, et ils n'ont pas de chance - ils essaient quelque chose de difficile et ne trouvent pas de vulnérabilités.



En général, il y a beaucoup de gens dans le bug bounty qui gagnent beaucoup d'argent sans avoir des connaissances uniques et exceptionnelles. Soit ils ont eu de la chance à plusieurs reprises, soit ils ont compris l'astuce du bug bounty et ont appris à trouver des programmes et des ressources contenant des vulnérabilités simples. Il arrive aussi souvent qu'une personne découvre une sorte de vulnérabilité sur une ressource, puis se rend compte qu'elle est en fait très répandue, et de la même manière, de nombreuses autres entreprises peuvent être brisées en la monétisant. Est-il réaliste de vivre uniquement avec la prime de bogue - oui, il y a même des millionnaires qui gagnent des centaines de milliers de dollars par an uniquement avec la prime de bogue. Ils sont peu nombreux; la plupart, bien sûr, gagnent assez peu. Mais il existe une couche suffisamment importante de personnes qui gagnent au moins des dizaines de milliers par an. Autrement dit, non seulement quelques et des dizaines de personnes, mais des centaines.



Q: Parlez-nous des versions de Metasploit. J'ai entendu dire qu'il y en avait plusieurs, et parmi eux il y en avait des rémunérés. Quelle est la différence?



Je pense que vous pouvez aller sur le site de la version payante et lire quelle est la différence. Je n'ai pas utilisé Metasploit pro depuis longtemps, mais il y a au moins une interface Web. C'est l'une des différences; Je ne dirai pas tout de suite quelles sont les autres différences fondamentales qui existent. Il y a peut-être d'autres modules.



J'ai pensé vous parler des vulnérabilités les plus courantes. En effet, de nombreuses entreprises mènent des pentests tout au long de l'année et comptent le nombre de différents types de vulnérabilités pour résumer les statistiques de l'année. Je n'ai pas laissé tomber de telles statistiques, mais si nous parlons des sentiments et des choses les plus simples qui sont trouvées, les vulnérabilités les plus simples et les plus efficaces de l'infrastructure qui apportent beaucoup d'avantages aux attaquants sont des politiques de mot de passe faibles. Les attaques par force brute banales sont le fléau des infrastructures. Si l'entreprise emploie au moins 500 personnes, une part assez importante d'entre elles ne sera pas particulièrement férue de technologie. Au moins l'un d'entre eux peut généralement forcer brutalement le mot de passe. Cela fonctionne particulièrement bien lorsqu'une politique de mot de passe est mise en œuvre dans l'entreprise, ce qui oblige, par exemple, à avoir un mot de passe,contenant une majuscule, une minuscule et un chiffre, au moins 8 caractères, et le changer tous les trois mois ou un mois. Cela conduit à de mauvais résultats. Si une personne est obligée de le faire, elle ne se souvient pas du mot de passe. S'il n'utilise pas de gestionnaire de mots de passe avec des mots de passe aléatoires, il écrit parfois simplement le mois en cours avec une majuscule (comme "décembre2020"). En fait, c'est très courant dans toutes les infrastructures d'entreprise typiques - imaginez Active Directory, des centaines d'employés avec Windows sur leurs machines. Vous pouvez simplement prendre le mois et l'année en cours ou derniers, parcourir tous les comptes - quelqu'un va casser. Une attaque très puissante.alors il ne se souvient plus du mot de passe. S'il n'utilise pas de gestionnaire de mots de passe avec des mots de passe aléatoires, il écrit parfois simplement le mois en cours avec une majuscule (comme "décembre2020"). En fait, c'est très courant dans toutes les infrastructures d'entreprise typiques - imaginez Active Directory, des centaines d'employés avec Windows sur leurs machines. Vous pouvez simplement prendre le mois et l'année en cours ou derniers, parcourir tous les comptes - quelqu'un va casser. Une attaque très puissante.alors il ne se souvient plus du mot de passe. S'il n'utilise pas de gestionnaire de mots de passe avec des mots de passe aléatoires, il écrit parfois simplement le mois en cours avec une majuscule (comme "décembre2020"). En fait, c'est très courant dans toutes les infrastructures d'entreprise typiques - imaginez Active Directory, des centaines d'employés avec Windows sur leurs machines. Vous pouvez simplement prendre le mois et l'année en cours ou derniers, parcourir tous les comptes - quelqu'un va casser. Une attaque très puissante.parcourir tous les comptes - quelqu'un va casser. Une attaque très puissante.parcourir tous les comptes - quelqu'un va casser. Une attaque très puissante.



Si nous parlons de services Web, l'attaque la plus simple consiste à contourner l'autorisation et à accéder aux données d'autres clients. L'attaque consiste dans le fait que vous portez une requête à une application web, qui donne, par exemple, votre relevé bancaire par numéro de compte. Dans le lien ou dans la demande vers le site, le numéro de compte, numérique, est transmis, en réponse, un fichier PDF avec le relevé est émis. Vous remplacez votre numéro de compte par le numéro de compte de quelqu'un d'autre et vous obtenez le relevé de quelqu'un d'autre.



Cette vulnérabilité est appelée «référence d'objet directe non sécurisée» - référence d'objet directe non sécurisée. Dans les services modernes, c'est la vulnérabilité la plus courante, selon mes observations. Les vulnérabilités plus classiques qui ont prévalu dans le passé, telles que l'injection SQL et les scripts intersites, sont moins courantes dans les services écrits à l'aide de frameworks modernes. Surtout l'injection SQL. Mais des erreurs logiques surviennent, car les frameworks ne les sauvent pas. Le développeur doit lui-même réfléchir à la manière de se protéger, de mettre en œuvre le modèle de rôle et de délimiter l'accès aux objets.



Q: vous parlez d'une certaine gradation de trous dans le système, pourriez-vous donner des exemples de vulnérabilités simples, moyennes, complexes?



Je ne me souviens pas dans quel contexte j'en ai parlé, pour être honnête. Eh bien, je viens de dire que les vulnérabilités simples sont celles qui sont faciles à trouver et à exploiter. Probablement, ces paramètres peuvent être utilisés pour caractériser la complexité de la vulnérabilité - la complexité de la recherche et la complexité de l'exploitation. Il peut être difficile de le trouver - par exemple, il s'agit d'une sorte de vulnérabilité logique délicate, pour laquelle vous devez comprendre la logique du service et l'interaction de divers composants, mais en même temps, l'opération est simple: il vous suffit d'envoyer plusieurs demandes. Ou, par exemple, cela peut être difficile à trouver, car vous avez reçu 100 Mo de sources avec un million de lignes de code - asseyez-vous, lisez.



Trouver une vulnérabilité dans ces 100 Mo peut être difficile, mais il peut être facile à exploiter. Ou vice versa - il est difficile à exploiter à cause de certaines restrictions, à cause des pare-feu. Mais dans les rapports pentest, il n'y a pas de gradation «simple-complexe»: il y a une gradation en fonction de la criticité. La criticité se compose du niveau de risque - c'est-à-dire du niveau de dommage - et de la probabilité d'exploitation. La probabilité, cependant, est presque la même que la complexité. S'il nous a fallu beaucoup de temps et les compétences d'un testeur d'intrusion senior pour trouver la vulnérabilité, nous pouvons alors estimer la probabilité d'exploitation comme faible. Nous l'avons trouvé en trois semaines de fouilles, tandis que d'autres peuvent ne pas le trouver du tout. Cependant, les dommages causés par cette vulnérabilité peuvent être importants. En combinant ces indicateurs, nous obtenons un niveau de risque «moyen».



Les rapports Pentest ont un modèle assez standard. Il y a une partie introductive où il est simplement décrit ce que nous avons testé et pourquoi, quel modèle de l'intrus - accès externe ou interne, qu'il ait un compte ou non. Ensuite, il y a un résumé, qui décrit brièvement le résultat: quelles vulnérabilités ont été découvertes, quel niveau de sécurité - tout est mauvais ou tout est bon. Chaque vulnérabilité est décrite, illustrée par des captures d'écran, et un code est donné aux développeurs de l'entreprise pour tout comprendre. Et des recommandations sont données. Il fournit également une évaluation de la probabilité et du niveau des dommages.



Q: combien de Windows 7 non corrigés avec ms17-010 dans le secteur des entreprises avez-vous rencontrés lors du test de pénétration?



Il y a. Généralement pas dans un domaine, vraiment. Pas trop.



Q: comment savoir quand il est temps pour une entrevue? Comment vous démarquerez-vous des autres candidats? (éventuellement connaissance des langages de programmation ou un compte sur des sites comme HackTheBox)



je mettrais plus sur un compte sur des sites. Si, bien sûr, vous résolvez honnêtement des problèmes là-bas. Si ce n'est pas juste, alors il n'y aura aucune connaissance et vous ne passerez pas l'entretien de toute façon.

En général, bien sûr, il existe également des certifications. Ils ne montrent vraiment rien, mais ils aident à passer les filtres RH et à percer.



Q: Pouvez-vous fournir des conseils sur la littérature et les ressources pour jeter les bases?



Oui, cependant, dans un format pas très pratique.



Liens fournis par Omar
:

docs.google.com/spreadsheets/d/15w9mA5HB9uuiquIx8pavdxThwfMrH7HSv2zmagrekec/edit#gid=0



:

blog.deteact.com/ru

blog.orange.tw

swarm.ptsecurity.com

malicious.link/post

adsecurity.org

posts.specterops.io/archive



:

portswigger.net/web-security

www.hackthebox.eu

overthewire.org/wargames

ctftime.org



:

.

Web Application Hacker's Handbook

The Tangled Web





Mais maintenant, la littérature ne manque pas - la difficulté est plutôt de choisir dans la masse de matériaux ce qui vous convient. Google "cours pentest" - il y aura beaucoup de tout à la fois. HackTheBox est génial; Je n’ai rien décidé là-dessus, mais j’ai une idée. Je pense que beaucoup de compétences peuvent être acquises là-bas.



Q: quel autre langage de programmation vaut la peine d'apprendre en plus de Python et Bash?



Bash a probablement vraiment besoin d'être fait. À propos, il existe un excellent site OverTheWireBandit où vous pouvez bien pratiquer Bash. Et donc - juste une langue, que vous connaissez suffisamment pour accomplir les tâches. Bien sûr, il existe des tâches pour lesquelles Python ne convient pas - par exemple, si vous avez besoin de collecter rapidement des données de nombreux hôtes sur Internet. Mais pour la plupart des tâches, cela fera l'affaire. Cependant, plus vous connaissez de langues - du moins au niveau de la compréhension du paradigme et de la lecture de la syntaxe - mieux c'est. Au cours des tests de pénétration et des audits, vous rencontrerez différentes piles et applications écrites dans différentes langues - vous devez être en mesure de comprendre leur fonctionnement. De plus, même si vous n'auditez pas du tout la source du logiciel - vous ne vous occupez que de l'infrastructure - vous devez toujours connaître différentes langues.De nombreux outils ne sont pas écrits en Python. Si l'outil ne fonctionne pas bien, vous devrez peut-être le comprendre, lire le code, le corriger. Disons que sur une infrastructure Windows, c'est principalement C #.



Q: Quels certificats sont les plus demandés pour redtim, mais à part OSCP?



Précisément pour Redtim? Il existe des certificats appelés ainsi - Certified Redream Professional, Certified Redteam Expert, Pentester Academy. Mais ils ne sont pas très demandés, ils existent simplement. J'ai du mal à répondre à ceux qui sont vraiment demandés. La demande est calculée en fonction du nombre d'employeurs les inscrivant dans les exigences des postes vacants et du nombre de clients - dans les exigences de l'appel d'offres. Il arrive souvent que les employés de l'entrepreneur soient tenus d'avoir un certificat - et là le plus souvent OSCP ou CEH - un ancien certificat, encore plus théorique que pratique.



Avez-vous besoin de compétences de décompilation dans un pentest?



Dans une certaine mesure, oui. Surtout si vous travaillez avec la sécurité des applications, dans l'analyse de la sécurité des applications. Là, cela pourrait être utile. Mais le plus souvent - avec les applications mobiles: pour elles, vous ne recevrez peut-être pas le code source, mais vous aurez l'application elle-même, et vous la décompilerez, la désosserez.



En général, si vous demandez «avez-vous besoin de compétences» - enfin, sur toute compétence, vous pouvez dire qu'elle est utile. Mais il est impossible de tout savoir absolument. Savoir beaucoup, c'est bien, mais vous devez tout de même comprendre votre spécialisation, comprendre ce que vous pouvez faire mieux. Même au sein des applications Web, il existe des spécialisations; il existe des spécialisations par secteurs - par exemple, une personne peut bien connaître les vulnérabilités des services de paiement. Cela n'a pas d'importance au niveau du Web ou de la logique financière; il y a des gens qui ne font que tester les terminaux de paiement, les services bancaires sur Internet, l'acquisition de cartes, etc. Il semble que ce soit tout - un domaine, mais en fait, il y a des choses très différentes. Et le matériel peut être différent (cartes à puce, terminaux), Web, API et applications mobiles. En bref, toute compétence peut être utile, mais pas obligatoire.Il est impératif d'avoir une sorte de masse critique de compétences et de connaissances.



Je peux ajouter sur le coût et la demande. Selon mes estimations, la taille du marché russe des tests de pénétration est d'environ 1 à 1,5 milliard de roubles. C'est ce que j'ai compté à la fin de 19. Cela signifie que c'est exactement ce que les entreprises russes dépensent en pentests. Bien sûr, les entreprises de pentester peuvent vendre au moins un peu des services à l'étranger, de sorte que la taille totale du marché sera légèrement plus grande. Bien entendu, le marché du pentest est très fragmenté; il y a beaucoup de petites entreprises qui gagnent peu d'argent. Les clients ont tendance à changer de fournisseur de tests de pénétration car la rotation offre un nouveau look et une couverture maximale. Une équipe, par exemple, manque une vulnérabilité, tandis que l'autre la remarquera, mais peut en manquer une autre. Pour cette raison, il n'y a pas de monopole complet - pour une équipe de s'asseoir, et les pentests n'achètent qu'à elle.Ils changent chaque année.



Q: combien d'heures avez-vous terminé avec les examens OSCP?



Je ne me souviens pas, quelques heures. Pour être honnête, je suis passé deux fois; la première fois que j'ai tout résolu au cours de la journée, j'ai écrit un rapport de 80 pages, mais je n'ai pas lu les exigences. Il s'est avéré qu'un certain format de captures d'écran était nécessaire, et mon rapport n'a pas été accepté, j'ai donc dû le soumettre à nouveau. Il a fallu 5 heures pour repasser le test .



Q: conseiller les blogueurs russophones dans le domaine du pentesting



Notre entreprise a un blog. Certes, nous écrivons rarement. Fondamentalement, vous devez suivre les gens sur Twitter; la plupart des pentesters écrivent en anglais, y compris les pentesters russophones. Nous essayons de dupliquer - nous écrivons à la fois en russe et en anglais. Je reçois des informations de Twitter - je m'abonne à des personnes intéressantes qui, tôt ou tard, republieront tout ce qui est intéressant, vous ne pouvez donc pas suivre les blogs en particulier, mais tout obtenir via Twitter. Ou via les chaînes Telegram. Il n'y a pas de blogueurs russophones, me semble-t-il.



Q: Quelles sont les chances pour un administrateur Linux / réseau d'entrer dans le Pentest?



Route directe vers le test de pénétration de l'infrastructure. Cela devrait être assez facile à intégrer si l'administrateur a une bonne compréhension de la mise en réseau et de Linux. La seule chose est que la route sera encore plus courte s'il s'agit d'un administrateur Windows; les réseaux d'entreprise sont généralement Windows. Mais ça va quand même, c'est un bon fond.



En fait, j'ai une plaque Google où j'ai écrit un ensemble de connaissances pour différentes spécialisations et niveaux de testeurs de pénétration. Stagiaire, Junior, Intermédiaire, Senior, Web et Infrastructure. Probablement, le lien peut être inséré; ce sera sur Habré, s'il y a un dernier post. Ce sont mes exigences subjectives, mais je les ai un peu modifiées en fonction des commentaires des personnes qui ont donné leurs commentaires et suggestions et ajouté quelque chose. Par conséquent, nous pouvons les considérer comme plus ou moins adéquats et nous concentrer sur eux. Il existe des certifications répertoriées, et même des taux de salaire sur le marché, et des orientations de développement.



Q: comme il est beau de s'éloigner de la question du client, qu'il peut poser lors du test d'intrusion - "Eh bien, avez-vous trouvé quelque chose?"



Pourquoi s'éloigner de la question? Répondre. Si vous n'avez encore rien trouvé, vous ne l'avez pas trouvé. Tôt ou tard, vous devrez répondre à cette question dans le rapport. Par conséquent, il est normal que l'on vous ait posé la question une semaine après le début du travail et que vous disiez que vous ne l'avez pas trouvé.



Q: où chercher des postes vacants sur un pentester? Il y a très peu de hh.



Oui, Headhunter n'a pas grand-chose. Habituellement, tout le monde se cherche par connaissance, donc, probablement, vous avez juste besoin de communiquer avec les gens. Vous pouvez publier votre CV - peut-être que dans ce mode, il y aura plus d'attention. Vous pouvez également rechercher des emplois sur LinkedIn. Et il y a aussi des chaînes Telegram où les offres d'emploi sont affichées



Q: que pensez-vous de tryhackme?



Je n'en connais pas. Maintenant, il y a beaucoup de sites, sur le Web, je recommanderais à Portswigger Academy de décider. Portswigger est l'entreprise derrière Burp.



Q: pentest et télécommande. Est-ce que c'est réel? Ou, en raison des spécificités du travail, essaient-ils de recruter au bureau?



Vraiment. Eh bien, maintenant tout le monde travaille à distance, même les grandes entreprises. Il est clair que si vous envisagez une option purement distante, il peut y avoir des difficultés. Il existe également un format tel que vous venez d'abord au bureau pour travailler, pendant un mois, par exemple, puis à distance.



Q: Existe-t-il une base de données publique ou une liste de vulnérabilités typiques dont il faut tirer des leçons? Ou un livre quelconque?



Oui, par exemple, OWASP Top 10. C'est une chose controversée, mais ce sont les 10 principales vulnérabilités dans les applications Web. Il existe également CWE (Common Weakness Enumeration) - une tentative de classer toutes les vulnérabilités, en les divisant en un système hiérarchique. Vous pouvez voir qu'il existe des exemples de vulnérabilités spécifiques. Un autre répertoire est CVE, c'est juste un répertoire de vulnérabilités dans divers logiciels. Il y a aussi de vrais exemples là-bas, vous pouvez voir et comprendre comment fonctionnent les exploits.



Q: Pouvez-vous lire un peu de votre plaque signalétique?



Le format de la voix est, bien sûr, étrange. Je peux partager l'écran. [l'écran n'est pas partagé] Je pense que le lien vers le document sera sur Habré. Il indique combien d'expérience (en années) est nécessaire pour chaque niveau; ceci est, bien sûr, subjectif - plutôt comme point de référence. Les compétences sont décrites, sans ordre particulier. Salaire et certification à cibler. Et le chemin de la croissance - que faire pour atteindre le niveau suivant. Par exemple, pour un pentester junior, vous avez besoin d'environ un an d'expérience - travail ou études; si une personne n'a pas étudié pendant au moins un an - n'a pas été impliquée dans l'informatique ou la programmation - et a immédiatement essayé de participer au test de pénétration, alors elle n'a guère les connaissances et les compétences. Les principales exigences à ce niveau sont la connaissance générale de la méthodologie pentest, la connaissance des bases de la technologie, la capacité à utiliser Linux et à écrire des scripts simples fonctionnant avec le réseau (parseurs, par exemple),connaissance des expressions régulières, connaissance du protocole HTP, travail avec des outils - scanners de vulnérabilité et Burp. En général, lisez-le, je ne vais pas tout énumérer.



Q: que faire dans des conditions où presque tous les postes vacants nécessitent au moins 2 ans d'expérience? Vous vous en tenez à Bug Bounty et HackTheBox, ou essayez de percer à un niveau que vous ne correspondez pas?



C'est de la merde. Ils exigent et exigent - en fait, ils examineront la connaissance. Vous pouvez écrire dans "expérience" simplement bounty et HackTheBox. Si vous ne correspondez vraiment pas au niveau requis de connaissance et de compréhension, cela signifie que vous ne correspondez pas. Mais le critère formel du nombre d'années d'expérience n'est pas si important, je pense.






All Articles