J'ai un peu de mal à comprendre : je suis administrateur sur une machine Windows 10 et un Mac Catalina.
La machine Windows exécute actuellement un logiciel qui présente un bogue connu - les commandes SSH sont envoyées à un Mac par un gros morceau de logiciel .NET qui est difficile à RE (plus en raison de sa taille que de sa complexité) par SSH. Les deux PC sont sur le même réseau.
Les commandes SSH échouent, mais je ne sais pas ce qu'elles sont. J'aimerais enregistrer ces actions, ou du moins les visualiser d'une manière ou d'une autre, afin de pouvoir modifier le comportement du destinataire (Mac) pour qu'il prenne la bonne action (contournement du bogue).
Voici ce que j'ai essayé de faire pour afficher les commandes SSH :
- Exécuter Wireshark (des deux côtés), essayer de décoder l'échange Diffie-Hellman via les clés SSH (je ne sais pas comment cela fonctionne exactement, donc je tâtonne - par exemple, je ne sais pas comment utiliser les clés RSA pour décoder la conversation)
- Essayez Strace - n'existe pas sur les machines Mac. Option alternative dtruss peut fonctionner mais je ne connais pas les commandes et je dois contourner le SIP.
- Essayez d'enregistrer les commandes SSH en utilisant .bashrc l'enregistrement automatique - il a maintenant été remplacé par .zprofile y .zshrc - cela ne semble pas fonctionner, et aucun historique n'est laissé dans z_history ou bash_history. En revanche, cela fonctionne lorsque j'exécute des commandes de terminal interactives. Cela peut être dû au fait que les commandes sont enchaînées à la commande SSH initiale, par exemple ssh user@host SOMECOMMAND.
- Exécuter ProcMon voir si les commandes sont dans un fichier de configuration secret. Je n'arrive pas à le trouver.
- Décompiler en utilisant Réflecteur y dnSpy - Je trouve une certaine logique sur la façon de transmettre les commandes SSH, mais pas de commandes réelles codées en dur.
Qu'est-ce que je rate ? Y a-t-il un moyen évident de le faire que j'ai négligé ?
Je suis relativement versé dans l'art de faire fonctionner les choses, donc si j'ai une idée de la meilleure façon d'avancer, alors je concentrerai mon attention là-dessus. Il semble juste y avoir trop d'options dans un grand espace pour savoir comment procéder
J'ai lu qu'il y avait peut-être des moyens de faire cela via le sshd_config sur l'hôte SSH (Mac), mais je n'ai aucune idée des paramètres qui fonctionneraient réellement, et apparemment le Mac fait les choses d'une manière spéciale.
(N'hésitez pas à déplacer le site StackExchange approprié, je ne suis pas sûr qu'il soit le meilleur pour cela).
0 votes
Comme une mise à jour mineure - j'ai essayé d'utiliser pam_tty_audit.so pour enregistrer les commandes dans le fichier sshd fichier de configuration
/etc/pam.d/sshd
mais cette librairie fait planter SSH0 votes
Vous dites qu'il s'agit d'un bug connu, avez-vous pensé à contacter la liste de bugs du développeur pour connaître les commandes qu'il essaie d'exécuter ? L'autre option serait de regarder du côté MAC de l'équation plutôt que d'essayer d'obtenir les commandes avant qu'elles ne soient exécutées, voir ce qu'elles sont du côté client. La session SSH est-elle créée (en dernier) ? Quelque chose est-il enregistré dans /var/log/dmsg ? Si vous ne voyez pas de session créée, alors vous avez un problème plus basique de configuration de la connexion. Pouvez-vous vous connecter en SSH au Mac depuis le PC ?
0 votes
@RowanHawkins - SSH fonctionne bien - MSFT est conscient du problème, mais je suis plus curieux de savoir comment faire une sorte d'enregistrement SSH. Il ne semble pas y avoir de /var/log/dmsg sur mon Mac, à moins que quelque chose ne m'échappe. De plus, si je lance une session SSH standard (sans enchaîner les commandes), je peux enregistrer les commandes en utilisant deux astuces,
script
yexpect
qui proviennent d'autres techniques. Mais je n'obtiens toujours rien de la session SSH de MSFT.0 votes
Honnêtement, à ce stade, je parierais que DTRUSS est ma meilleure option, mais à chaque fois que je l'active, il me donne des journaux système bruts presque incompréhensibles - je n'arrive pas à y trouver quoi que ce soit qui ressemble à des commandes réelles.
0 votes
Considérez cette suggestion d'URL, s'il vous plaît. fr.wikipedia.org/wiki/Tee_(commande) Avec votre version MAC, vous pouvez avoir quelque chose de similaire. Avec mon Windows 10, TEE est disponible.