Journal ssh inverse

Posté par  (site web personnel) .
Étiquettes : aucune
0
2
juin
2004
Bonjour
Je cherche un ssh inverse c'est a dire que c'est le serveur qui contrôle le client ssh.

Exemple: j'ai un ami qui est derrière NAT+Firewall donc seul lui peut se connecté à moi. Je veux pouvoir contrôler son PC.
Est ce que ça existe?

2eme question: quelqu'un aurait-il des sources en C/C++ d'un client/serveur ssh/telnet SIMPLE. ( genre tutorial )

merci
  • # port forwarding

    Posté par  (site web personnel) . Évalué à 5.

    Comme il est derrière un firewall/nat, c'est forcément à lui d'initier la connexion.

    Le mieux alors c'est qu'il se connecte chez toi en ssh et active un port-forwarding vers chez lui du genre

    ssh lui@cheztoi -R2222:127.0.0.1:22


    Cela provoque l'ouverture du port 2222 chez toi qui a pour conséquence de se connecter chez lui sur SON ssh.

    Donc une fois lui connecté, TU peux faire, depuis TA machine :

    ssh toi@127.0.0.1 -p 2222


    pour se connecter chez lui.

    Je ne sais pas si j'ai été très clair, mais man ssh est notre meilleur ami ;)
    • [^] # Re: port forwarding

      Posté par  (site web personnel) . Évalué à 1.

      merci je vais regarder de suite ca.
      Jaurais aimé un logiciel qui le fasse de base mais bon ca a lair sympa ca.
      • [^] # Re: port forwarding

        Posté par  . Évalué à 1.

        > Jaurais aimé un logiciel qui le fasse de base

        Ben moi j'aimerais pas qu'on se connecte à mes machines derrière le firewall :D
      • [^] # Re: port forwarding

        Posté par  . Évalué à 4.

        Jaurais aimé un logiciel qui le fasse de base mais bon ca a lair sympa ca.
        Tu peux mettre cette commande dans un script shell si ça t'amuses, mais appeler ça un logiciel à part entière ce serait un peu du foutage de gueule ;-)
        • [^] # Re: port forwarding

          Posté par  . Évalué à 3.

          bah, tant que tu déposes pas un brevet pour "simplification de lancement de ligne de commande", il n'y a pas vraiment encore foutage de gueule... ;-)
  • # Dis lui...

    Posté par  . Évalué à 2.

    ... de créer un tunnel remote (et non local), de sorte à rediriger les ports par exemple de VNC (5900 je crois, le port) sur sa machine à lui. Ca devrait suffire. J'ai plus la syntaxe pour la commande SSH, mais s'il est sous Windows avec PuTTY c'est super simple.

    Sinon, il peut tjrs rediriger le port 5900 du NAT sur sa machine, hein.

    Les sources pour SSH ? Ah, euh, c'est loin d'être "simple" :) Regarde plutôt du côté de google avec "socket C server client", ça devrait faire ton bonheur.
    • [^] # Re: Dis lui...

      Posté par  (site web personnel) . Évalué à 0.

      Pour les sockets ca va je maitrise. cest surtous la partie création terminal/console que je veux en fait du ssh/telnet.
      • [^] # Re: Dis lui...

        Posté par  (site web personnel) . Évalué à 2.

        J'ai jamais vraiment regardé la source mais il y a netcat.

        pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

  • # Ben !

    Posté par  . Évalué à 3.

    lui il a toujours le serveur ssh sur sa machine, son firewal redirige le port 22
    sur sa machine

    par ex dans pf en gros de tete:

    pass in on $ext_if proto tcp from any to any port 22 keep state (laisse ouvert port ssh)


    et rdr on $ext_if proto tcp from any to any port 22 -> ip-machine-local port 22

    (redirige port 22 sur sa l'ip de sa machine)

    et voila ;)
    • [^] # Re: Ben !

      Posté par  (site web personnel) . Évalué à 1.

      arg jai oublié un truc important. Il n'a pas les droits sur le firewall.
      Cest au boulot donc pas de touchage au firewall.
      c'est pour ca qu'il ny a pas le choix: cest lui qui sort (la connection).
      • [^] # Re: Ben !

        Posté par  (site web personnel) . Évalué à 1.

        Ben s'il n'a pas les droits sur le firewall et si celui-ci est bien configuré, c'est rapé (encore heureux !).

        Toutes les méthodes que je connais impliquent un forward de port ou une publication de serveur/service... et ça se fait sur le FW.

        Fais lui installer un modem sur son PC (ainsi qu'un call back ?) et appeles le : C'est encore la meilleure solution que je connaisse pour contourner le FW.
        • [^] # Re: Ben !

          Posté par  (site web personnel) . Évalué à 3.

          Cf. le premier commentaire : Fait un forwarding de port via ssh. Pas besoin de modem :-)
        • [^] # Tss, tss, tss...

          Posté par  . Évalué à 2.

          Fais lui installer un modem sur son PC (ainsi qu'un call back ?) et appeles le : C'est encore la meilleure solution que je connaisse pour contourner le FW.
          Et le meilleur moyen de se retrouver avec un courrier recommandé de l'employeur pour faute lourde. Si cet employeur a pris la peine de mettre en place une passerelle/firewall, ce ne doit pas être que chacun ouvre le réseau de l'entreprise avec un modem...
          • [^] # Re: Tss, tss, tss...

            Posté par  (site web personnel) . Évalué à 2.

            Et le circonvenir avec un forward de port, on a le droit?

            Allons, soyons sérieux : il demande des solutions : on lui en propose.

            Remarque, je n'ai pas encore parlé de borne wifi avec son antenne ricorée prêt de la fenetre ou de bricollage dans l'autocom.

            ^^
            • [^] # Re: Tss, tss, tss...

              Posté par  . Évalué à 2.

              Il s'agit juste d'une mise en garde concernant les obligations en milieu professionnel qu'on a parfois tendance à oublier... rien de plus.

              Mais pas vu, pas pris... et l'antenne ricorée a toutes les chances de se fondre dans le paysage ;o))
    • [^] # Re: Ben !

      Posté par  . Évalué à 3.

      Euh oui mais non :

      et rdr on $ext_if proto tcp from any to any port 22 -> ip-machine-local port 22

      Là même ce qui sort de la carte réseau sera redirigé dedans non ?

      rdr on $ext_if proto tcp from any to ($ext_if) port 22 -> ip-machine-local port 22
      serait plus approprié pour qu'il prenne l'adr, même dynamique, de la carte sur l'extérieur.

      Même chose pour la règle de pass :)

      Je sais, je chipote.
      • [^] # Re: Ben !

        Posté par  . Évalué à 2.

        Je pense qu' il doit checker si ip externe public demander =! de l'ip du fw
        car je l'ai deja fais ca fonctionne ou si cela passe par carte interne d'abord la rdr ne doit pas marcher.
        mais remarque interessante surtout avec une regle antispoof dans pf.

        En tous cas a revoir dans le detail :)
  • # merci TESO

    Posté par  . Évalué à 2.

    TESO avait publié un reverse SSH y'a quelque temps. Le seul problème c'est qu'il n'a pas été mis a jour et il reste quelque failles de sécu a patcher (ouai en même temps pour une backdoor on s'en fou un peu)

    http://www.packetstormsecurity.org/groups/teso/index3.html(...)

    Autrement dans le genre pas secure tu fais un remote shell a coup de requete http inverse :-)

    http://madchat.org/coding/perl/perl::src/rwwwshell-2.0backdoor-nico(...)

    par exemple.

    Plus serieusement s'il est d'accord et qu'il a la main sur le NAT suffit de rediriger un port de la machine qui fait NAT vers son serveur SSH c'est quand meme plus propre.
    Pour la deuxième question oui ici :
    /usr/src/contrib/telnet/telnetd/ une fois que tu as virer tout les ifdef il reste plus grand chose (oui je sais je sors)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.