Socat interagindo com o host específico (shell reverso) de múltiplos clientes / conexões

1

Eu tenho um aplicativo c / c ++ encadeado que fornece um shell reverso pty instalado em vários clientes linux que todos eles conectam de volta ao mesmo servidor / porta
Agora eu preciso encontrar um método confiável para interagir com um host específico para que eu possa, por exemplo, bash script / alias depois.

usando socat Eu acho que deveria ser como continuar a ouvir e esperar por um host específico para selecionar e bifurcar e interagir com seu shell e fechar / sair se não for esse host específico, eu pensei que algo assim funcionaria

socat TCP-LISTEN:8080,fork SYSTEM:'[ $(hostname) != "host.d.com" ] && { exit;}',pty,stderr

mas não me dá nenhuma saída, eu tentei com um comando simples como

socat TCP-LISTEN:8080,fork SYSTEM:'/usr/bin/id',pty,stderr

e recebo esse erro toda vez que um cliente se conecta

socat[1567] E write(5, 0x7faa9c802c00, 341): Input/output error

tenha em mente que eu recebo o shell usual esperando por entrada com este comando que está funcionando bem para o primeiro cliente que se conecta em

socat - TCP-LISTEN:8080

Eu também tentei com a opção ncat --allow do nmap ncat -lvvp 8080 --keep-open --max-conns 1 --allow some ip/host mas infelizmente não posso usá-lo porque hosts são nados sob o mesmo IP

Então, existe alguma solução para este problema que me permita gerenciar / selecionar / interagir com vários shells de cliente reverso sem ter que usar porta diferente para cada cliente também estou mantendo isso simples para testes, mas eu preciso que ele funcione por SSL é por isso que eu estou tentando com socat e ncat

Eu já vi alguns projetos python no github, mas eles são todos bugs e fracos

    
por Chris Bovier 01.08.2017 / 08:55

0 respostas