Injection de binaires dans le terminal et manipulation de fichiers en bash - Christophe Casalegno

  Рет қаралды 3,858

Christophe Casalegno (Brain 0verride)

Christophe Casalegno (Brain 0verride)

3 жыл бұрын

Dans ce nouvel épisode de "secrets de #hackers" je vous montre dans un premier temps comment il est possible de manipuler des fichiers en bash sans avoir accès aux commandes systèmes "classiques" Linux tel que cp, rm, mv, cat, etc.
Dans la seconde partie, je vous explique comment il est possible d'injecter un binaire exécutable sur n'importe quel système, au travers du terminal sans avoir accès à des outils réseau comme netcat, ni à des protocoles réseau de transfert de fichiers que ce soit en download ou upload, tel que scp, ftp, sftp, http, etc..
N'hésitez pas à me partager vos propres expériences !
Concernant le site auquel je fais référence pour comprendre les lignes de bash, il s'agit de explainshell.com/
Enjoy !
Retrouvez-moi sur Telegram : t.me/ChristopheCasalegno
KZbin
-------------------------------------------------
Ma chaîne principale : / @christophecasalegno
Ma chaîne secondaire : / @brainbazar
Musiques, covers, textes & co : / @chrisiker
Réseaux sociaux
-------------------------------------------------
Twitter : / brain0verride
Instagram : / brain0verride
TikTok : / brainoverride
Linkedin : / christophecasalegno
Facebook (Page Pro) : / brain.override
Facebook (Perso) : / christophe.casalegno
Mais également sur
-------------------------------------------------
Twitch : / brain_0verride
Discord : / discord
t.me/Brain_TechnoBar (le Technobar)
t.me/Brain0verride (mon compte Telegram)
Par email : brain@christophe-casalegno.com
Sur le web : www.christophe-casalegno.com

Пікірлер: 55
@LouisSerieusement
@LouisSerieusement 2 жыл бұрын
super utile ! Merci beaucoup !
@iwokssama4772
@iwokssama4772 3 жыл бұрын
Excellente vidéo! Pour éviter de recopier le binaire à la main sur un physique. Mon astuce, une petite clé USB qui émule le clavier. 😉
@ChristopheCasalegno
@ChristopheCasalegno 3 жыл бұрын
Hello, yes, idem et on peut utiliser aussi un clavier virtuel.
@ChristopheCasalegno
@ChristopheCasalegno 3 жыл бұрын
Et pour le reste on peut utiliser aussi les classiques base 32, base64 avec un zip et ça fait le job également. Mais je cherchais à faire découvrir un autre outil que les classiques.
@k4rm664
@k4rm664 3 жыл бұрын
J'en apprends toujours avec t'es vidéos .
@ChristopheCasalegno
@ChristopheCasalegno 3 жыл бұрын
Bonjour K4R!M, alors c'est mission accompli. Je vais essayer de faire ce genre de vidéo puis de faire comprendre dans une autre vidéo où je voulais en venir au final quand on combine plusieurs de ces techniques.
@ericbenvenuti3223
@ericbenvenuti3223 3 жыл бұрын
Tres tres sympa le xxd merci pour cette astuce :-)
@ChristopheCasalegno
@ChristopheCasalegno 3 жыл бұрын
en fait tu peux faire encore beaucoup plus simple avec base32 ou base64, mais l'idée c'était de montrer encore une autre voie.
@eddybash1342
@eddybash1342 3 жыл бұрын
Si pas d'accès au ' chmod +x ' pour le compte de non confiance, alors via une JVM, ca fera l'affaire ?
@eddybash1342
@eddybash1342 3 жыл бұрын
Pour la réponse, c'est ' oui ' car je le signale au client à chaque fois. Lol
@eddybash1342
@eddybash1342 3 жыл бұрын
Bonjour, Est il possible d'empêcher le ' chmod +x ' pour un user de non confiance ?
@ChristopheCasalegno
@ChristopheCasalegno 3 жыл бұрын
Il existe tellement de biais :) Je pourrais tourner une vidéo par jour pendant plusieurs semaines avant d'en faire le tour je pense. Je vais en faire quelques autres dans le même rayon je pense.
@eddybash1342
@eddybash1342 3 жыл бұрын
@@ChristopheCasalegno faudrait il recoder certaines fonctions avec un RBAC sur de tels arguments des appels système ? Au moins Android est un peu plus safe. ;)
@ChristopheCasalegno
@ChristopheCasalegno 3 жыл бұрын
@@eddybash1342 Quand on voit le nombre de merde passées sur Android, je ne suis pas convaincu qu'il soit vraiment plus safe qu'un linux standard :) www.cvedetails.com/product/19997/Google-Android.html?vendor_id=1224
@eddybash1342
@eddybash1342 3 жыл бұрын
@@ChristopheCasalegno c'est toujours les mêmes erreurs des développeurs sur les couches du noyau et du software bas niveau : pointers du C, etc... Heureusement, qu'il y a des langages sans pointeur sur les couches applicatives sinon ça serait bien pire.
@thibalito
@thibalito 3 жыл бұрын
Merci encore pour cette vidéo. As-tu déjà présenter les outils que tu utilises au quotidien? Terminal (j'ai cru reconnaitre terminator), shell (bash, zsh?), ide (ou vi ou nano?), etc?
@ChristopheCasalegno
@ChristopheCasalegno 3 жыл бұрын
Hello, non, peut être que je le ferai dans un live. C'est bien terminator en effet. Pour le shell, j'utilise bash, pas zsh que je trouve trop usine à tout faire (pas encore comme systemd mais trop pour moi), et qui je trouve est trop éloigné de la philosophie unix. Coté éditeur console j'utilise le plus souvent vim, et coté éditeur "graphique", Sublime Text.
@JNSPUD
@JNSPUD 3 жыл бұрын
Super vidéo ! ou comment exploiter les commandes internes pour simuler des commandes externes. GG !
@ChristopheCasalegno
@ChristopheCasalegno 3 жыл бұрын
Salut Electric Dreams et merci pour ton commentaire. Dis toi qu'il y a plusieurs dizaines de choses détournables (pour sortir d'un shell restreint, utiliser une autre commande pas prévue pour ça pour exécuter du code, etc.). Je ne fais pas une vidéo d'ensemble car ça serait trop lourd mais je vais essayer de vous en montrer plusieurs, puis de vous montrer comment les assembler.
@elronn58
@elronn58 3 жыл бұрын
Génial ! Moi ça me troue le c... Impressionnant
@ChristopheCasalegno
@ChristopheCasalegno 3 жыл бұрын
Salut Elronn, en fait si tu add tu matériel (je ferais peut être des vidéos sur mon hardware "sécurité"), tu peux injecter ton binaire avec un clavier émulé dans une clef en moins de temps qu'il ne faut pour le dire. Je n'ai pas testé, mais je pense que c'est également possible avec un clavier virtuel piloté par un script pour les consoles type kvm, etc. qui sont limitées. A tester :)
@othewisp
@othewisp 3 жыл бұрын
Vidéo intéressante, merci. Mais maintenant comment se prémunir de ce type d'attaque ? Bannir le bash ? Echo ? Ne peut-on pas limiter l'exécution des binaires à une liste autorisée, ce qui empêcherait de créer ses propres outils et de les exécuter ?
@ChristopheCasalegno
@ChristopheCasalegno 3 жыл бұрын
Si le système est correctement sécurisé et non pas en utilisant ce genre d'artifices bidon, le fait qu'on puisse uploader des binaires ou non ne devrait pas poser de problème de compromission du système, là est tout le "problème".
@ChristopheCasalegno
@ChristopheCasalegno 3 жыл бұрын
Tu peux avec les access list, selinux, et autres apparmor, mais tu n'es pas à l'abri que le système d'ACL devienne lui même la porte d'entrée.
@PaulTheEldritchCat
@PaulTheEldritchCat 3 жыл бұрын
Super intéressant, un bon exemple de "thinking outside the box". Mais il y a quelque chose qui me chiffonne dans la première partie : pourquoi un utilisateur limité (privé de nombreux droits) aurait accès à /etc/passwd ? Est-ce normal ou une faiblesse de l'administration du système ? Idem pour l'accès à un autre dossier utilisateur. C'est une mauvaise gestion des droits via par exemple des droits gérés par le groupes ? Et quelle serait la parade à ce genre de manœuvre ? Peut-on interdire à un utilisateur d'exécuter des "primitives" bash ? Ou tout simplement une gestion plus propre des autorisations d'accès ? Merci Christophe !
@ChristopheCasalegno
@ChristopheCasalegno 3 жыл бұрын
Tous les users ont accès à /etc/passwd, pour ça qu’on a scindé la partie password dans shadow
@sylvainl.7301
@sylvainl.7301 3 жыл бұрын
Merci Christophe, bonne technique pour tester des exploits ( je préfère gz+b64 mais c'est la même idée ). Mais importer des binaires linux sur une version d'OS spécifique nécessite du temps ( cross compilation, dépendance,.. ), il ne sera pas forcement bien linké avec l'environnement cible si l'exécutable a été compilé chez soi
@ChristopheCasalegno
@ChristopheCasalegno 3 жыл бұрын
Personnellement j'utilise des vms adaptées ou sinon des binaires compilés en statique avec toutes les bibliothèques intégrées. Dans la pratique je n'utilise plus non plus d'entrées à la main depuis de longues années : une clef USB qui imite un clavier ou un clavier virtuel avec le code associé permet d'injecter tout ça à la vitesse de l'éclair : mais ça faisait trop long pour ce que je voulais montrer.
@vergnauddamien3521
@vergnauddamien3521 3 жыл бұрын
Rah, quand je vois ta vidéo je peut pas m'empêcher de penser aux Jail. Tu saurai nous montrer comment s'échapper de prison ? :)
@ChristopheCasalegno
@ChristopheCasalegno 3 жыл бұрын
Les jails BSD ? C’est du solide quand même :)
@vergnauddamien3521
@vergnauddamien3521 3 жыл бұрын
​@@ChristopheCasalegno Yes, je suis d'accord c'est un bon challenge, mais c'est comme tout, c'est une question de configuration et de confort, le confort est intimement lié à la sécurité. En tout cas j'ai été impréssionné par ton mot de passe sur ton serveur, ça doit être une passPhrase vu le nombre de caractères et la vitesse a laquelle tu les tapes, héhé super intéréssant ton contenu, j'adore ton générique aussi.
@ChristopheCasalegno
@ChristopheCasalegno 3 жыл бұрын
@@vergnauddamien3521 J'utilise des techniques particulières pour mes mots de passe en fait. Tiens je ferai une vidéo sur les stratégies de mots de passe ;) Ma préférée reste d'apprendre une chaîne aléatoire par cœur puis de l'appliquer à des passphrases simples, en alternant par exemple 1 caractère sur 2. Mais il y a des méthodes plus simples aussi bien sur, mais celle là reste ma préférée.
@vergnauddamien3521
@vergnauddamien3521 3 жыл бұрын
@@ChristopheCasalegno ouais quoi que tu ai choisi vu le nombre de caractère je pense que tu peut te passer d'un fail2ban, même si en réalité t'a tapé 45 fois "ae" ahahah
@eddybash1342
@eddybash1342 3 жыл бұрын
Il me semble que l'on peut injecter ce que l'on veut depuis le port USB d'un clavier si on ne peut rien transférer depuis une autre machine. Il faut ensuite le rendre executable au regard du système. On peut aussi organiser une fuite de données en affichant des qr codes haute densité sur l'écran de l'ordinateur et enregistrer avec une caméra. ;) Avec les environnements Citrix, on ne peut pas copier coller entre les 2 mondes protégé et vulnérable. ;) Que peut-on exploiter ?
@ChristopheCasalegno
@ChristopheCasalegno 3 жыл бұрын
Hello, tout à fait Eddy, j'ai des clefs USB qui font ça d'ailleurs, mais comme ce n'était pas le sujet j'ai préféré indiquer qu'on pouvait l'injecter "à la main", mais la dernière fois que je l'ai fait à la main, c'était il y a un paquet d'années : il est possible d'injecter un binaire via une clef qui émule un clavier. Un bon script accroché à un clavier virtuel doit aussi pouvoir faire le job pour l'exemple de kvm ou autre. J'ai beaucoup de "hardware" dédié à la sécurité ici j'en ferai peut être quelques vidéos aussi.
@eddybash1342
@eddybash1342 3 жыл бұрын
@@ChristopheCasalegno chez les assureurs, le sport des actuaires, c'est de se barrer de la boîte en pompant juste avant la base de données pour les concurrents. ;) La solution de base compliquant la fuite de données, c'est l'accès à une machine distante sans copier coller entre les 2 mondes mais il est toutefois possible d'extraire des données quand on est malin. ;)
@eddybash1342
@eddybash1342 3 жыл бұрын
A chaque fois que vous vous authentifiez sur une machine linux, le système se plaint en disant: ' The user is logged into the system ! ' lol
@merovee5509
@merovee5509 3 жыл бұрын
Dans un reverse shell, l'edition de fichier marche pas bien voir pas du tout, le renvoie avec un echo c'est a oublier aussi, faut chercher encore un peu ^^ Cool vidéo sinon :)
@ChristopheCasalegno
@ChristopheCasalegno 3 жыл бұрын
Je n'ai pas traité de reverse shells avec netcat ou autre :) Je pense que c est déjà un sujet bien traité par d'autres je pense.
@merovee5509
@merovee5509 3 жыл бұрын
@@ChristopheCasalegno yep mais ton sujet dans le cadre d'un reverse est interessant, sans parler du reverse en lui meme
@probefordify
@probefordify 3 жыл бұрын
Au bout d'un moment on ne voit plus la bonne fenêtre ...... c'est dommage mais on aura compris l"idée de la manip :)
@ChristopheCasalegno
@ChristopheCasalegno 3 жыл бұрын
Je remontre la manip juste après dans la vidéo.
@eddybash1342
@eddybash1342 3 жыл бұрын
Pourquoi n'aimez vous pas la programmation ? Puisque vous identifiez les problèmes de sécurité en exécutant les outils de bases du système alors pourquoi ne réfondez vous par l'architecture logicielle afin de sécuriser le système ? En comparaison un système décentralisé tel que le blockchain s'exécute sur un réseau public, sur des machines pouvant être corrompues et attaquees en permanence puisqu' exposées directement sur internet. La sécurité repose sur le chiffrement effectué en amont et le grand nombre de machines. Je vous suggère d' essayer plutôt d'attaquer un smart contract présentant un bug de programmation afin de vider un compte, c'est plus amusant. ;)
@ChristopheCasalegno
@ChristopheCasalegno 3 жыл бұрын
? Je n'ai jamais dit que je n'aimais pas la programmation. J'ai beaucoup programmé plus jeune, notamment en MSX BASIC, Assembleur Z80, Assembleur 8088/86 et Turbo Pascal :)
@ChristopheCasalegno
@ChristopheCasalegno 3 жыл бұрын
Mais en réalité l'architecture est bonne, ce n'est souvent ici pas le code qui est à revoir, mais davantage l'implémentation la configuration des systèmes. Bien entendu j'ai adapté les miennes en conséquences, tout du moins la plupart du temps :)
@eddybash1342
@eddybash1342 3 жыл бұрын
@@ChristopheCasalegno côté programmation, ça a évolué : objet, exécution Sandbox, suppression des pointeurs... ;) Les pointeurs c'est fini et trop dangereux pour les incompétents de développeur. C'est curieux les développeurs ne supportent pas l'administration système et inversement. J'avoue l'administration système je n'ai jamais aimé ça.
@SGVsbG9Xb3JsZA
@SGVsbG9Xb3JsZA 3 жыл бұрын
base64 avec un gzip c’est plus simple
@sylvainl.7301
@sylvainl.7301 3 жыл бұрын
C'est beaucoup plus simple avec ta technique : "cat monfichier | gzip | base64 " et sur la cible "cat monfichier"
@ChristopheCasalegno
@ChristopheCasalegno 3 жыл бұрын
Yes, totalement : encore une fois, comme je l'explique dans la vidéo il existe de nombreuses manières de faire, et mon idée était de montrer quelque chose de différent de ce que l'on peut trouver ailleurs. ça marche par ailleurs également très bien avec base32 également par exemple.
@sylvainl.7301
@sylvainl.7301 3 жыл бұрын
@@ChristopheCasalegno On est d'accord, il n'y a pas "une bonne technique" mais un bagage d'outils a utiliser/maitriser au bon moment. Il faut que tu continues de faire tes vidéos :)
Bash vs ZSH vs Fish: What's the Difference?
13:32
Eric Murphy
Рет қаралды 167 М.
Transport Layer Security (TLS) - Computerphile
15:33
Computerphile
Рет қаралды 473 М.
Useful gadget for styling hair 🤩💖 #gadgets #hairstyle
00:20
FLIP FLOP Hacks
Рет қаралды 9 МЛН
ЧУТЬ НЕ УТОНУЛ #shorts
00:27
Паша Осадчий
Рет қаралды 10 МЛН
18 Commands That Will Change The Way You Use Linux Forever
29:50
Akamai Developer
Рет қаралды 1,2 МЛН
Lancer son business d'infogérance en partant de zéro - Christophe Casalegno
41:47
Christophe Casalegno (Brain 0verride)
Рет қаралды 3,6 М.
Commandes MS-DOS utiles
13:28
Veille Techno
Рет қаралды 855
Malware development 101: Creating your first ever MALWARE
28:00
Leet Cipher
Рет қаралды 289 М.
Quel Linux pour quel usage ?
15:49
Darkone Linux
Рет қаралды 66 М.
35 Случаев, Когда Природа Сошла с Ума
25:03
Мастерская Настроения
Рет қаралды 9 МЛН
La trouvaille scandaleuse d'un chercheur sur Windows 11
18:14
Underscore_
Рет қаралды 1,1 МЛН
Arrêtez d’utiliser Google Drive et iCloud
14:44
Underscore_
Рет қаралды 365 М.
Linux New User Guide: 10 Things I Wish I Knew
23:31
Learn Linux TV
Рет қаралды 437 М.
Хакер взломал компьютер с USB кабеля. Кевин Митник.
0:58
Последний Оплот Безопасности
Рет қаралды 1,3 МЛН
iPhone socket cleaning #Fixit
0:30
Tamar DB (mt)
Рет қаралды 17 МЛН
1$ vs 500$ ВИРТУАЛЬНАЯ РЕАЛЬНОСТЬ !
23:20
GoldenBurst
Рет қаралды 1,9 МЛН
Samsung laughing on iPhone #techbyakram
0:12
Tech by Akram
Рет қаралды 5 МЛН