# 취약점 정보
- CVE Number : CVE-2014-4877
- Vulnerability Name : GNU Wget FTP Symlink Arbitrary Filesystem Access
# 취약점 공격 시나리오
Metasploit에는 해당 취약점을 테스트해볼 수 있는 “wget_symlink_file_write.rb” 모듈을 제공하고 있다.
아래 그림은 해당 시나리오를 기준으로 작성되었다. ( * 클릭 시 큰 화면을 볼 수 있음 )
# 취약점 공격 FTP 트래픽
위의 공격 시나리오는 클라이언트와 서버 사이에 다음과 같은 FTP 트래픽을 주고 받는다.
- >> : 클라이언트에서 서버로 전송
- << : 서버에서 클라이언트로 전송
- 편의상 FTP의 Control 채널과 Data 채널 데이터를 동시에 표시함.
실제 악의적인 FTP 서버를 대상으로 Wget -m 을 수행하고 나면, 다음과 같이 클라이언트 상에 서버와 동일한 디렉토리 및 파일들이 생성된다.
이 중에는 cron.d 디렉토리를 심볼릭 링크로 연결하고 있는 링크 파일도 생성되고,
이를 통해 로컬 상의 /etc/cron.d/ 상에는 cronshell 이라는 예약작업 파일이 생성되고 정해진 시간에 예약작업을 수행한다.
물론, 예제로 사용된 metasploit의 공격코드는 실행 후에 cronshell 파일을 삭제하도록 되어 있기 때문에,
공격실행 후 생성된 파일을 찾을 수 없다면, 로그 상에서 다음과 같이 cron 데몬이 실행한 로그를 확인해 보면 성공여부와 흔적을 확인할 수 있다.
# 참고
- https://community.rapid7.com/community/metasploit/blog/2014/10/28/r7-2014-15-gnu-wget-ftp-symlink-arbitrary-filesystem-access
- https://github.com/rapid7/metasploit-framework/blob/master/modules/auxiliary/server/wget_symlink_file_write.rb