netcat을 사용하여 클라이언트에서 쉘을 생성하는 방법은 무엇입니까?

netcat을 사용하여 클라이언트에서 쉘을 생성하는 방법은 무엇입니까?

다음을 사용하여 서버 측에서 쉘을 생성할 수 있다는 것을 알고 있습니다.

nc -l 1111 -e /bin/bash

하지만 클라이언트 측에서 쉘을 생성하고 싶습니다.

나는 이것을 시도한다:nc 127.0.0.1 1111 | /bin/bash

작동하지만 명령 실행 결과가 표시되지 않습니다.

그렇다면 문제는 netcat을 사용하여 클라이언트 측에 쉘을 생성하는 방법이 있느냐는 것입니다.

답변1

나에게 맞는 것 같지만 netcat 버전에 따라 다릅니다. 데비안 패키지는 다음과 같습니다: "Netcat-전통적" 그리고"netcat-openbsd". 전자는 -e클라이언트와 서버 모드를 모두 지원하지만 후자는 전혀 지원하지 않습니다.

$ nc.traditional localhost 1234 -e /bin/bash

$ nc.openbsd localhost 1234 -e /bin/bash
nc.openbsd: invalid option -- 'e'

내 OSX도 이를 지원하지 않습니다.

이 작업을 수행하기 위해 지원되지 않는 netcat을 사용해야 하는 경우 -e다음과 같이 해야 할 수도 있습니다.두 프로그램 간에 양방향 파이프를 만드는 방법은 무엇입니까?

관련 정보