다음을 사용하여 서버 측에서 셸을 생성할 수 있다는 것을 알고 있습니다.
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
다음과 같은 것이 필요할 수 있습니다.두 프로그램 간에 양방향 파이프를 만드는 방법은 무엇입니까?