netcat을 사용하여 localhost에서 바인드 쉘을 설정했지만 "-e" 플래그에 문제가 있음

netcat을 사용하여 localhost에서 바인드 쉘을 설정했지만 "-e" 플래그에 문제가 있음

나는 netcat을 사용하여 바인드 쉘을 호스팅하는 "서버"를 설정해야 하는 간단한 연습을 하려고 합니다. 내 로컬 호스트에서. 우분투 20.04를 실행 중입니다.

나는 후속 조치를 취하고 있다이것튜토리얼에는 다음과 같은 간단한 라인이 있습니다.

nc -nvlp 5555 -e /bin/bash

그러나 이것을 복사하여 붙여넣으면 netcat이 -e플래그로 인해 혼동됩니다.

netcat: invalid option -- 'e'

플래그를 제거해 -e도 별 도움이 되지 않습니다. 이 경우 netcat은 단순히 사용 지침을 인쇄합니다. 내가 어디서 잘못됐나요?

편집하다

내 netcat 버전을 확인하세요.

ask@Garsy:~$ netcat -h
OpenBSD netcat (Debian patchlevel 1.206-1ubuntu1)

답변1

모든 버전에 netcat-e {command}옵션이 포함되어 있는 것은 아닙니다. 예를 들어, 내 버전의 Debian에서 man netcat내가 설치한 OpenBSD 파생 문서(참고자료 참조)에 따르면 다음과 같습니다.

여기에는 또는 옵션이 없지만 -c파일 설명자를 리디렉션하여 연결을 설정한 후에도 명령을 실행할 수 있습니다. 포트를 열고 연결하는 모든 사람이 사이트에서 임의의 명령을 실행하도록 허용하는 것은 위험하므로 여기서 주의하십시오. 정말로 이 작업을 수행해야 한다면 다음 예를 참조하세요.-enetcat

그런 다음 몇 가지 예를 통해 명령 리디렉션을 구현하는 방법을 보여줍니다.

관련 정보