맨위로가기

리모트 셸

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

리모트 셸은 원격 시스템에서 명령을 실행하기 위한 셸이다. 1983년 4.2BSD에서 rcp, rlogin과 함께 시작되었으며, rsh 명령어를 통해 사용된다. rsh 프로토콜은 보안에 취약하여, 암호화되지 않은 정보를 전송하고 비밀번호를 노출하는 문제가 있어 시큐어 셸(SSH)로 대체되었다. 리모트 셸 세션은 바인드 셸과 리버스 셸로 나뉘며, 리버스 셸은 접근이 제한된 시스템의 원격 유지보수나 공격에 사용될 수 있다.

더 읽어볼만한 페이지

  • 유닉스 네트워크 관련 소프트웨어 - Rlogin
    rlogin은 네트워크를 통해 다른 서버에 로그인하는 응용 계층 프로토콜이자 명령어로, 보안 취약성으로 인해 SSH로 대체되고 있다.
  • 유닉스 네트워크 관련 소프트웨어 - 아파치 HTTP 서버
    아파치 HTTP 서버는 아파치 소프트웨어 재단에서 관리하는 오픈 소스 웹 서버 소프트웨어로, 다양한 운영체제 지원, 모듈을 통한 기능 확장, 가상 호스팅 등의 기능을 제공하며 전 세계적으로 널리 사용된다.
  • OS/2 명령어 - 파일 전송 프로토콜
    파일 전송 프로토콜(FTP)은 클라이언트-서버 모델 기반으로 네트워크를 통해 파일을 전송하는 표준 통신 규약이며, 명령 연결과 데이터 연결을 사용하고, 보안 취약점 때문에 암호화된 방식 사용이 권장된다.
  • OS/2 명령어 - CHKDSK
    CHKDSK는 디스크의 파일 시스템 무결성을 검사하고 오류를 수정하는 시스템 도구로, 다양한 운영체제에서 구현되었으며 파일 시스템 오류 수정 및 손상된 파일 조각 복구 기능을 제공하지만 데이터 손상이나 시스템 불안정을 야기할 수 있다는 비판도 있다.
  • 인터넷 프로토콜 - IPTV
    IPTV는 인터넷 프로토콜을 사용하여 실시간 방송, VOD 등 다양한 콘텐츠를 제공하는 텔레비전 서비스이며, 고속통신망과의 통합, 양방향 서비스 등의 장점을 가지지만 망 사업자 제한 등의 제한 사항도 존재한다.
  • 인터넷 프로토콜 - DNSSEC
    DNSSEC는 DNS의 보안 취약점을 개선하기 위해 도메인 정보에 디지털 서명을 추가하여 응답 레코드의 무결성을 보장하고 DNS 위장 공격을 막는 기술로, RRSIG, DNSKEY 등 다양한 리소스 레코드 유형을 사용하여 인증 체인을 구성하며 공개 키 암호 방식을 활용한다.
리모트 셸 - [IT 관련 정보]에 관한 문서
프로그램 정보
이름원격 셸 (rsh)
개발자불명
최초 출시일1983년
최신 버전 출시일알 수 없음
저장소알 수 없음
프로그래밍 언어C
운영 체제크로스 플랫폼
장르알 수 없음
라이선스알 수 없음
웹사이트알 수 없음

2. 역사

rsh는 1983년 BSD 유닉스 운영 체제의 일부로 처음 등장했으며, 이는 4.2BSD의 Rlogin 패키지에 포함된 rcp와 함께 제공되었다. 이후 rsh는 다른 운영 체제로도 이식되었다.

한편, rsh라는 이름은 PWB/UNIX에서 처음 등장한 다른 유닉스 유틸리티인 제한 셸(restricted shell)과 동일하다. 시스템 V 릴리스 4에서는 이 제한 셸이 종종 /usr/bin/rsh 경로에 위치하기도 했다.

2. 1. 제한

Rlogin과 마찬가지로, rsh 프로토콜은 네트워크를 통해 암호화되지 않은 정보를 전송하는 등 여러 이유로 컴퓨터 보안에 취약하다. 일부 구현에서는 암호화되지 않은 비밀번호를 네트워크로 보내 인증하기도 한다. 이러한 보안 문제 때문에 rsh는 로컬 네트워크에서도 시큐어 셸(ssh) 프로그램으로 대체되었다.[1][2]

3. 사용 예시

유닉스 계열 시스템에서 ''host.example.com'' 컴퓨터에 있는 ''remoteuser'' 사용자의 권한으로 ''mkdir testdir'' 명령을 실행하는 예시는 다음과 같다.

''rsh -l remoteuser host.example.com "mkdir testdir"''

위 명령을 실행하면 원격 컴퓨터에서 ''mkdir testdir'' 명령이 수행되고, 명령 실행이 완료되면 `rsh` 프로그램은 종료된다. 만약 실행할 명령어를 지정하지 않으면, `rsh`는 Rlogin 프로토콜을 사용하여 원격 시스템에 로그인한다. 원격 컴퓨터의 네트워크 주소는 도메인 네임 시스템(DNS)을 통해 찾는다.

4. 바인드 셸과 리버스 셸

원격 셸 세션은 명령을 보내는 로컬 장치나 명령이 실행될 원격 장치 중 어느 쪽에서든 시작될 수 있다.[3] 로컬 장치에서 시작하는 경우를 바인드 셸(bind shell), 원격 장치에서 시작하는 경우를 리버스 셸(reverse shell)이라고 부른다.[4]

4. 1. 리버스 셸의 활용

리버스 셸은 명령을 실행해야 하는 장치에 직접 접근할 수 없을 때 유용하게 사용될 수 있다. 대표적인 예로, 외부에서 직접 접근하기 어려운 NAT 환경 뒤에 있는 컴퓨터의 원격 유지 관리를 들 수 있다.[5][6]

또한, 일부 익스플로잇은 공격 대상 장치에서 공격자가 제어하는 시스템으로 리버스 셸을 생성하는 방식으로 악용되기도 한다. 이를 "리버스 셸 공격"이라고 부른다.[7] 이러한 공격은 공격 대상 시스템의 표준 출력 및 표준 에러를 공격자에게 전송하여 원격 제어를 가능하게 한다.

참조

[1] 웹사이트 SSH, the Secure Shell: The Definitive Guide https://www.research[...] 2023-11-11
[2] 웹사이트 Secure Shell Protocol – Everything you need to know https://dev.to/me_je[...] 2023-11-11
[3] 웹사이트 Secure Shell (SSH) https://www.techtarg[...] 2023-11-11
[4] 웹사이트 Difference Between Bind Shell and Reverse Shell https://www.geeksfor[...] 2023-11-11
[5] 웹사이트 What is a Reverse Shell? https://www.techslan[...] 2023-11-11
[6] 웹사이트 The Evolution of Remote Shell and the Security Layers of Browser-Based Law Software https://www.lawsuppo[...] 2023-11-11
[7] 웹사이트 What is a Reverse Shell? https://sysdig.com/l[...] 2023-11-28



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com