리모트 셸
1. 개요
리모트 셸은 원격 시스템에서 명령을 실행하기 위한 셸이다. 1983년 4.2BSD에서 rcp, rlogin과 함께 시작되었으며, rsh 명령어를 통해 사용된다. rsh 프로토콜은 보안에 취약하여, 암호화되지 않은 정보를 전송하고 비밀번호를 노출하는 문제가 있어 시큐어 셸(SSH)로 대체되었다. 리모트 셸 세션은 바인드 셸과 리버스 셸로 나뉘며, 리버스 셸은 접근이 제한된 시스템의 원격 유지보수나 공격에 사용될 수 있다.
| 이름 | 원격 셸 (rsh) |
|---|---|
| 개발자 | 불명 |
| 최초 출시일 | 1983년 |
| 최신 버전 출시일 | 알 수 없음 |
| 저장소 | 알 수 없음 |
| 프로그래밍 언어 | C |
| 운영 체제 | 크로스 플랫폼 |
| 장르 | 알 수 없음 |
| 라이선스 | 알 수 없음 |
| 웹사이트 | 알 수 없음 |
-
인터넷 프로토콜 -
IPTV
IPTV는 인터넷 프로토콜을 사용하여 실시간 방송, VOD 등 다양한 콘텐츠를 제공하는 텔레비전 서비스이며, 고속통신망과의 통합, 양방향 서비스 등의 장점을 가지지만 망 사업자 제한 등의 제한 사항도 존재한다. -
인터넷 프로토콜 -
DNSSEC
-
유닉스 네트워크 관련 소프트웨어 -
Rlogin
rlogin은 네트워크를 통해 다른 서버에 로그인하는 응용 계층 프로토콜이자 명령어로, 보안 취약성으로 인해 SSH로 대체되고 있다. -
유닉스 네트워크 관련 소프트웨어 -
아파치 HTTP 서버
아파치 HTTP 서버는 아파치 소프트웨어 재단에서 관리하는 오픈 소스 웹 서버 소프트웨어로, 다양한 운영체제 지원, 모듈을 통한 기능 확장, 가상 호스팅 등의 기능을 제공하며 전 세계적으로 널리 사용된다. -
OS/2 명령어 -
파일 전송 프로토콜
-
OS/2 명령어 -
CHKDSK
CHKDSK는 디스크의 파일 시스템 무결성을 검사하고 오류를 수정하는 시스템 도구로, 다양한 운영체제에서 구현되었으며 파일 시스템 오류 수정 및 손상된 파일 조각 복구 기능을 제공하지만 데이터 손상이나 시스템 불안정을 야기할 수 있다는 비판도 있다.
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) 프로그램으로 대체되었다.
3. 사용 예시
유닉스 계열 시스템에서 host.example.com 컴퓨터에 있는 remoteuser 사용자의 권한으로 mkdir testdir 명령을 실행하는 예시는 다음과 같다.
rsh -l remoteuser host.example.com "mkdir testdir"
위 명령을 실행하면 원격 컴퓨터에서 mkdir testdir 명령이 수행되고, 명령 실행이 완료되면 `rsh` 프로그램은 종료된다. 만약 실행할 명령어를 지정하지 않으면, `rsh`는 Rlogin 프로토콜을 사용하여 원격 시스템에 로그인한다. 원격 컴퓨터의 네트워크 주소는 도메인 네임 시스템(DNS)을 통해 찾는다.
4. 바인드 셸과 리버스 셸
원격 셸 세션은 명령을 보내는 로컬 장치나 명령이 실행될 원격 장치 중 어느 쪽에서든 시작될 수 있다. 로컬 장치에서 시작하는 경우를 바인드 셸(bind shell), 원격 장치에서 시작하는 경우를 리버스 셸(reverse shell)이라고 부른다.
4.1. 리버스 셸의 활용
리버스 셸은 명령을 실행해야 하는 장치에 직접 접근할 수 없을 때 유용하게 사용될 수 있다. 대표적인 예로, 외부에서 직접 접근하기 어려운 NAT 환경 뒤에 있는 컴퓨터의 원격 유지 관리를 들 수 있다.
또한, 일부 익스플로잇은 공격 대상 장치에서 공격자가 제어하는 시스템으로 리버스 셸을 생성하는 방식으로 악용되기도 한다. 이를 "리버스 셸 공격"이라고 부른다. 이러한 공격은 공격 대상 시스템의 표준 출력 및 표준 에러를 공격자에게 전송하여 원격 제어를 가능하게 한다.