상세 컨텐츠

본문 제목

패치되지 않은 파이썬과 자바 취약점, 해커들이 FTP 인젝션을 통해 방화벽 우회하도록 허용해

국내외 보안동향

by 알약(Alyac) 2017. 2. 23. 08:30

본문

패치되지 않은 파이썬과 자바 취약점, 해커들이 FTP 인젝션을 통해 방화벽 우회하도록 허용해

Unpatched Python and Java Flaws Let Hackers Bypass Firewall Using FTP Injection


자바와 파이썬에 승인되지 않은 이메일을 발송하고 어떠한 방화벽도 우회할 수 있는 보안 취약점이 존재하는 것으로 확인되었습니다. 이 두가지 취약점은 아직 패치가 되어있지 않기 때문에, 해커들은 이를 악용하여 중요한 네트워크와 인프라에 잠재적 공격 작업을 설계할 수 있습니다


이 취약점은 자바와 파이썬 프로그래밍 언어가 FTP 링크를 처리하는 방식에 존재합니다. Username 파라미터의 문법 체크(syntax check)를 하지 않아 프로토콜 인젝션 취약점이 발생하는 것입니다.



승인 되지 않은 SMTP 이메일 전송을 위한 자바/파이썬 FTP 인젝션


Alexander Klink 보안연구원은 자신의 블로그를 통해 자바의  XML eXternal Entity(XXE)에 존재하며 공격자들이 FTP 연결 요청 내에 FTP가 아닌 악성 명령어를 주입할 수 있도록 허용하는 FTP 프로토콜 인젝션 취약점에 대해 자세히 설명했습니다. 


이 공격을 입증하기 위해 FTP 연결을 시도하거나, 심지어 FTP 연결이 실패 되었을 경우에도 SMTP를 통해 승인 되지 않은 메일을 보내는 방법을 보여주었습니다. FTP 서버는 인증을 지원하지만 username에서 carriage 리턴(CR)이나 줄바꿈(LF)을 체크하지 않기 때문에 가능합니다. 보안연구원은 “이 공격은 XML을 파싱하는 머신으로부터 (스팸 또는 멀웨어 필터링과 같은 제한이 없는) 내부 메일 서버에 접근할 수 있는 시나리오이기에 특히 더 흥미롭다.”고 밝혔습니다.



방화벽을 우회할 수 있는 자바/파이썬 FTP 인젝션


Timothy Morgan 보안 연구원은 자바, 파이썬의 FTP URL 핸들러를 사용해 방화벽을 우회할 수 있는 더욱 위협적인 공격 시나리오를 보여주었습니다.


Morgan은 이러한 FTP 프로토콜 인젝션 결점이 피해자의 방화벽이 웹과 취약한 호스트의 시스템의 “high” 포트들(1024~65535) 사이의 TCP 연결을 허용하도록 속이는데 사용될 수 있다고 말했습니다.


FTP 프로토콜 인젝션 공격 외에도, FTP 프로토콜에는 ‘클래식 모드 FTP’라는 10년쯤 된 오래 된 보안 이슈가 존재합니다. 이는 클라이언트-서버 FTP 상호작용의 안전하지 않은 메커니즘이지만, 많은 방화벽 제조사들은 아직까지 이를 디폴트로 지원합니다.


클래식 모드 FTP 연결이 시작 되면, 방화벽은 임시로 포트를(일반적으로 1024~65535 사이의 포트들)을 오픈해 보안 위험을 초래합니다. 자바와 파이썬에 존재하는 FTP 프로토콜 주입 결점을 사용하면, 해당 호스트의 내부 IP 주소를 알고있는 공격자는 클래식 모드 FTP 연결을 시작할 수 있습니다. 따라서 공격자가 이를 악의적인 목적으로 사용할 수 있게 됩니다.


Morgan은 침입자가 아래 단 3개의 요청 만으로도 타겟 방화벽에서 포트 하나를 열 수 있다고 밝혔습니다.


1) 피해자의 내부 IP 주소 확인 – 공격자는 “URL을 보내 클라이언트가 어떻게 동작하는지 확인한 후, 이를 공격이 성공할 때까지 시도해야한다.”

2) 패킷 정렬을 확인하고 Port 명령어가 적절한 타이밍에 주입되도록 해 공격이 동작하도록 합니다.

3) 취약점을 악용합니다.


추가 요청을 보내면 또 다른 TCP 포트를 오픈할 수 있습니다.



악용이 쉬운 프로토콜 인젝션 결함


연구원은 그의 익스플로잇이 중간자 공격, SSRF, XEE 공격 등에 악용될 수 있다고 경고하였습니다. 또한 일단 방화벽을 우회하면, 자바가 설치 되어 있지 않은 경우라도 데스크탑 호스트가 공격받을 수 있다고 밝혔습니다. 공격자는 피해자를 서버에 설치된 악성 자바 또는 파이썬 응용 프로그램에 접근해 방화벽 전체를 우회하도록 속이기만 하면 됩니다.



프로토콜 인젝션 결함, 아직 패치되지 않아


Morgan은 FTP 프로토콜 인젝션 결함에 대하여 파이썬 팀에는 지난 2016년 1월, 오라클에는 2016년 11월 제보했지만 두 회사 모두 해당 이슈를 수정하는 어떠한 패치도 공개하지 않았습니다. 


Morgan은 PoC 익스플로잇을 개발한 상태이지만, 오라클과 파이썬이 패치를 공개할 때까지 공개하지 않고 있습니다.


Morgan의 익스플로잇은 Palo Alto Networks와 Cisco ASA 방화벽에 성공적으로 테스트를 마쳤으며, 더 많은 상용 방화벽들도 이 FTP 스트림 인젝션 공격에 취약할 것이라고 추측했습니다. 


따라서 모건은 패치가 나오기 전 까지 사용자들에게 데스크톱과 브라우저에서 자바를 삭제하고, 모든 방화벽의 “클래식 모드” FTP 지원을 비활성화 하기를 권고하고 있습니다. 







출처 : 

http://thehackernews.com/2017/02/python-java-ftp-protocol-injection.html

관련글 더보기

댓글 영역