Booter sur un compte utilisateur sans login
Résolu
Paqueuc
-
Paqueuc -
Paqueuc -
Bonjour,
Oui, rien que le titre énerve car c'est une énorme faille de sécurité diront les puristes à juste titre.
Mais
Il s'agit d'un Raspberry Pi transformé en Squeezebox (le système audio multiroom de Logitech) qui utilise une distro Debian. Bref, il n'y a rien dessus d'autre que cette squeezebox. Aucune autre données. Donc si on me la hacke, je m'en remettrai.
Je cherche à éteindre ce RPi quand je ne m'en sers pas (cad 23h par jour, environ, même si un RPi ne consomme "rien".) via un protocole Telnet (oui, une autre faille par rapport au SSH... mais le logiciel (Openremote) qui fait le telnet ne fait pas le SSH...). Actuellement le login / MDP et le message d'accueil qui suit perturbent le Telnet. En résumé, ca ne fonctionne pas.
Il me faudrait pouvoir booter depuis un compte utilisateur lambda et arriver directement sur le prompt sans passer par la case login / mdp. Là, au moment où je veux éteindre, un simple sudo halt ou shutdown -h via Telnet, sans login / mot de passe directement sur le prompt, suffit.
Je me répète, la Difficulté qu'il m'intéresse de résoudre est que cet accès se fera exclusivement headless via Telnet, pas via le clavier branché sur le RPi.
Quelqu'un saurait-il m'aider SVP car là, je suis complètement sec.
Merci.
Oui, rien que le titre énerve car c'est une énorme faille de sécurité diront les puristes à juste titre.
Mais
Il s'agit d'un Raspberry Pi transformé en Squeezebox (le système audio multiroom de Logitech) qui utilise une distro Debian. Bref, il n'y a rien dessus d'autre que cette squeezebox. Aucune autre données. Donc si on me la hacke, je m'en remettrai.
Je cherche à éteindre ce RPi quand je ne m'en sers pas (cad 23h par jour, environ, même si un RPi ne consomme "rien".) via un protocole Telnet (oui, une autre faille par rapport au SSH... mais le logiciel (Openremote) qui fait le telnet ne fait pas le SSH...). Actuellement le login / MDP et le message d'accueil qui suit perturbent le Telnet. En résumé, ca ne fonctionne pas.
Il me faudrait pouvoir booter depuis un compte utilisateur lambda et arriver directement sur le prompt sans passer par la case login / mdp. Là, au moment où je veux éteindre, un simple sudo halt ou shutdown -h via Telnet, sans login / mot de passe directement sur le prompt, suffit.
Je me répète, la Difficulté qu'il m'intéresse de résoudre est que cet accès se fera exclusivement headless via Telnet, pas via le clavier branché sur le RPi.
Quelqu'un saurait-il m'aider SVP car là, je suis complètement sec.
Merci.
A voir également:
- Booter sur un compte utilisateur sans login
- Créer un compte google - Guide
- Installer windows 10 sans compte microsoft - Guide
- Créer un compte gmail - Guide
- Créer un compte instagram sur google - Guide
- Tiktok sans compte - Accueil - TikTok
4 réponses
En fait conceptuellement le problème c'est que le fait de se logguer permet de connaître plein de chose (l'utilisateur courant, son home etc...). Donc à moins de se logguer arbitrairement avec un login déterminé la question n'a pas vraiment de sens.
En admettant que ce login soit root, à ce moment là ça revient à booter ton noyau en "single". Pendant très longtemps ça te lançait un shell root sans te demander de mot de passe (ce qui n'est plus le cas aujourd'hui), mais j'imagine qu'il y a moyen de retomber dans le contexte précédent...
Bonne chance
En admettant que ce login soit root, à ce moment là ça revient à booter ton noyau en "single". Pendant très longtemps ça te lançait un shell root sans te demander de mot de passe (ce qui n'est plus le cas aujourd'hui), mais j'imagine qu'il y a moyen de retomber dans le contexte précédent...
Bonne chance
Re-
J'ai trouvé ça : https://elinux.org/RPi_Debian_Auto_Login
Peut être serait-ce suffisant ?
J'ai trouvé ça : https://elinux.org/RPi_Debian_Auto_Login
Peut être serait-ce suffisant ?
Merci Zipe31.
Oui, j'avais vu cet article intéressant, qui fonctionne parfaitement bien en boot direct sur la machine devant son écran. Mais si j'attaque le Pi par le telnet, j'ai quand même le droit à la procédure de login / Mdp... Arghhh.
Du coup, je viens d'ouvrir un autre topic pour voir si je peux supprimer la phrase d'accueil juste après l'identifiant / mdp qui semble être à l'origine de mes problèmes.
Merci en tout cas.
Oui, j'avais vu cet article intéressant, qui fonctionne parfaitement bien en boot direct sur la machine devant son écran. Mais si j'attaque le Pi par le telnet, j'ai quand même le droit à la procédure de login / Mdp... Arghhh.
Du coup, je viens d'ouvrir un autre topic pour voir si je peux supprimer la phrase d'accueil juste après l'identifiant / mdp qui semble être à l'origine de mes problèmes.
Merci en tout cas.
Oui, également vu, malheureusement.
En fait, je pense que leur telnet est malheureusement trop basique n'autorisant aucune commande qui pourrait adapter le comporter du telnet à quelques cas particuliers. Le Message Of The Day semble perturber la logique : envoie info | réponse attendue | envoi info | réponse attendue...
J'ai l'impression, avec le message d'accueil qui s'insère là dedans, qu'après le password, cela rajoute une étape : message d'information que le telnet ne sait pas gérer. On devrait alors être dans un schéma : envoi info (password) | message info | réponse attendue | envoi info. Mais ça, le telnet openremote ne comprend pas...
Merci en tout cas.
En fait, je pense que leur telnet est malheureusement trop basique n'autorisant aucune commande qui pourrait adapter le comporter du telnet à quelques cas particuliers. Le Message Of The Day semble perturber la logique : envoie info | réponse attendue | envoi info | réponse attendue...
J'ai l'impression, avec le message d'accueil qui s'insère là dedans, qu'après le password, cela rajoute une étape : message d'information que le telnet ne sait pas gérer. On devrait alors être dans un schéma : envoi info (password) | message info | réponse attendue | envoi info. Mais ça, le telnet openremote ne comprend pas...
Merci en tout cas.
J'ai commencé à regarder pour faire des tests et voir s'il se dégage une commande que je pourrais implémenter dans OpenRemote.
Cependant, je ne pourrai pas me servir de Expect directement ensuite. L'intérêt d'OpenRemote est que ce logiciel pilote via différents protocoles un ensemble de fonctions de ma maison. Je ne peux donc pas m'en penser et suis obligé de composer avec ses faiblesses (ou les contourner. Je réfléchissais à la possibilité d'éteindre le Pi via une requête http... Je n'ai pas approfondi mais cela pourrait venir si je ne trouve pas de solution via telnet).
Donc je continue de regarder Expect afin d'essayer de comprendre mais je suis d'autres pistes en parallèle.
Merci Zipe31
Cependant, je ne pourrai pas me servir de Expect directement ensuite. L'intérêt d'OpenRemote est que ce logiciel pilote via différents protocoles un ensemble de fonctions de ma maison. Je ne peux donc pas m'en penser et suis obligé de composer avec ses faiblesses (ou les contourner. Je réfléchissais à la possibilité d'éteindre le Pi via une requête http... Je n'ai pas approfondi mais cela pourrait venir si je ne trouve pas de solution via telnet).
Donc je continue de regarder Expect afin d'essayer de comprendre mais je suis d'autres pistes en parallèle.
Merci Zipe31
Ah mais si c'est par telnet que tu veux court-circuiter l'authentification, je pense que c'est au niveau de pam que tu dois intervenir. Du coup ma suggestion du mode single ne répond pas non plus à ta question puisque là aussi c'est "devant ton écran".
Par exemple avec ssh, tu peux dire d'ignorer pam :
https://forum.ovh.com/
Peut-être que c'est faisable avec telnetd... Sinon peut être que dans la configuration de pam elle même tu peux désactiver les authentifications requises par le service telnet... (voir /etc/pam/pam.conf)
https://docs.oracle.com/cd/E19683-01/817-0365/pam-1/index.html
Bonne chance
Par exemple avec ssh, tu peux dire d'ignorer pam :
https://forum.ovh.com/
Peut-être que c'est faisable avec telnetd... Sinon peut être que dans la configuration de pam elle même tu peux désactiver les authentifications requises par le service telnet... (voir /etc/pam/pam.conf)
https://docs.oracle.com/cd/E19683-01/817-0365/pam-1/index.html
Bonne chance
Merci.
Je vais garder cette solution en réserve pour le moment.
J'ai un début de solution en supprimant le Message Of The Day et un autre message parasite de "last login". Je vais essayer de pousser cette idée un peu car elle me parait, de prime abord, plus simple que PAM (j'ai lu en diagonale les pages mais il faudra que j'y passe du temps si je veux comprendre, à mon avis).
Cependant, il est possible que je revienne à PAM rapidement car il me semble qu'OpenRemote comporterait bien un bug de délai d'attente non respecté entre un envoi d'info et une réponse. Et cela me fiche tout à l'eau.
Si je reviens à PAM, je ne manquerai pas de revenir donner quelques news.
Merci en tout cas.
Je vais garder cette solution en réserve pour le moment.
J'ai un début de solution en supprimant le Message Of The Day et un autre message parasite de "last login". Je vais essayer de pousser cette idée un peu car elle me parait, de prime abord, plus simple que PAM (j'ai lu en diagonale les pages mais il faudra que j'y passe du temps si je veux comprendre, à mon avis).
Cependant, il est possible que je revienne à PAM rapidement car il me semble qu'OpenRemote comporterait bien un bug de délai d'attente non respecté entre un envoi d'info et une réponse. Et cela me fiche tout à l'eau.
Si je reviens à PAM, je ne manquerai pas de revenir donner quelques news.
Merci en tout cas.