EASY7

r-명령어 (rlogin, rsh, rcp) 본문

보안 공부/리눅스

r-명령어 (rlogin, rsh, rcp)

E.asiest 2019. 8. 17. 00:31

r-명령어 (rlogin, rsh, rcp)

r-command : R-명령어들은 네트워크를 통해 로그인하거나 원격으로 시스템을 제어할 때 사용할 수 있다. 아이디, 패스워드가 아닌 IP를 이용한 트러스트 관계를 맺으면 신뢰관계가 형성 되기 때문에 IP spoofing으로 많이 이용된다.

rlogin : 원격 접속, 두 시스템 간 신뢰관계를 맺으면 암호 없이 로그인 할 수 있다.

rsh : rlogin처럼 사용할 수 있고 신뢰관계를 맺으면 로그인하지 안호 원격시스템에 명령을 실행 할 수 있다.

rcp : 원격지의 파일과 디렉터리를 복사해 오거나 내 시스템의 파일과 디렉터리를 복사해줄 수 있다.

 rlogin (513/tcp) , rsh (512/tcp) , rexec (514/tcp), rcp (514/tcp) 

r명령어가 평문전송을 하는 반면, ssh는 비밀키를 이용한 암호화방식을 이용한다고 하는데..

나는 왜 r명령어도 암호화 통신을 하는가!

 

 

신뢰관계 : 클라이언트 측, 서버 측 모두 /etc/hosts.equiv, $HOME/.rhosts 에서 서로를 등록

(클라이언트 측에서 등록을 안해도 되는듯??그리고 서버측 root 암호로 인증함.)

 
트러스트 관계 설정 파일
/etc/hosts.equiv : 시스템 전체에 영향을 주는 파일
$HOME/.rhost : 각 사용자 별로 설정하는 파일


 

rlogin, rsh, rcp 설치하기

1. rcommand 설치하기

# yum install rsh-server

-> rlogin, rsh, rexec 모두 설치됨.

 

 

 

2. 설정에서 활성화 및 부팅시 자동 실행하도록 설정.

**root계정으로 하기(로컬계정이면 파일이 흰화면으로 나옴..)

#nano /etc/xinetd.d/rlogin 와 /etc/xinetd.d/rsh 에서

에서 disable =no 로 설정

# chkconfig rsh on (또는 chkconfig --level 35 rsh on) : centos 에서 부팅시 자동으로 실행하도록 설정!

# chkconfig rlogin on (또는 chkconfig --level 35 rlogin on)

 

3. xinetd 재시작

#service xinetd restart

 

 

4. 사용하려는 홈디렉터리 밑에 .rhosts 만들어주기

# cd ~

# nano .rhosts 에서 접속 허가하는 ip주소 또는 domain네임 적어주기

 

 

 

5. /etc/hosts.equiv에도 똑같이 써준다.(root사용자는 /etc/hosts.equiv파일에 영향을 받지 않으므로 .rhosts만 해주면 될것이다. 나는 /etc/hosts.equiv에만 해줘도 root계정 됐다.)

 

 

 

 

 

6.보안에 걸려 실행이 안될 수도 있으므로 사용자 그룹과 모든 사용자에 대한 쓰기 권한을 없애야한다.

 

 

 

7. /etc/securetty 하단에

rsh 추가

rlogin 추가

(이 두개 해주면 pts 없어도 연결됨.)

 

 

8. rcp 보안 해제

/etc/pam.d/rlogin와 /etc/pam.d/rsh 에서

pam_nologin.so

pam_securetty.so

pam_env.so 이 세가지를 required에서 sufficient로 변경

 

 

 

9. 테스트...-> root계정으로 접속 불가하다고 한다. Permission denied!!

 

 

10. ssh설정파일에서

/etc/ssh/sshd_config

PermitRootLogin yes로 변경

 

/etc/init.d/sshd restart 재시작!

 

#rlogin IP주소

 

 

드뎌 연결 성공!

 

 

rsh 172.30.1.16

 

 

  • rcp = remote copy remote
  • scp = secure copy

 

 

scp 파일 보내기(https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_scp_%EC%82%AC%EC%9A%A9%EB%B2%95)

scp pwned root@IP주소:목적경로

 

 

scp 디렉토리 보내기

scp -r 디렉토리 root@IP주소:목적경로

 

 

 

scp 파일 가져오기

scp root@IP주소:원본경로 목적파일명(클라이언트의 현재 디렉터리에 복사한다.)

 

 

scp 디렉터리 가져오기

scp -r root@IP주소:원본디렉터리 상위디렉터리

 

 

 

rlogin 한 후 rcp 사용

http://dalzony.github.io/2016/05/copy-remote

 

 

 

통신방법

172.30.1.3 (kali, 클라이언트,33820port)

172.30.1.16 (centos, 서버,22port )

처음엔 TCP 22번 포트(SSH) 이용해서 통신함.

**왜 클라이언트의 요청이 먼저가지 않았는지는 의문.. 먼저 서버->클라이언트로 ACK가 온다.

 

 

 

급 SSHv2로 통신해버리기

 

 

 

 

Key Exchange Init(가능한 암호화 방법 서로 보내줌)

 

 

SSH-2.0 OpenSSH_5.3하자? 응!

그러고는 둘이서만 쿵짝쿵짝 암호화통신해버림......

 

 




'보안 공부 > 리눅스' 카테고리의 다른 글

CentOS Quota 설정  (0) 2019.09.17
리눅스 마스터 2급 공부  (0) 2019.09.17
pam.d  (0) 2019.08.15
rcp, scp  (0) 2019.08.15
centos chkconfig need  (0) 2019.08.15
Comments