3.2.1 WarFTP 공격 예
취약점이 있는 WarFTP 서버 버전을 운영하는 시스템을 발견했다. 때마침 인터넷에서 해당 취약점 공격 스크립트를 찾았다고 가정해 보자(http://downloads.securityfocus.com/vulnerabilities/exploits/22944.py). 다음은 취약점을 실습하기 전에 확인할 사항이다.
• 어떻게 공격 스크립트를 실행할 것인가? 어떤 언어로 작성했는가? 컴파일해야 하는가? 추가로 필요한 라이브러리는 없는가?
• 스크립트를 구동하는 특수한 조건은 없는가? 어떤 윈도나 리눅스 버전이 필요한가? DEP를 사용하는가, 아니면 ASLR을 사용하는가?
• EIP 주소나 다른 레지스터, 패딩 값을 특정 버전에서만 작동하도록 만들었는가? 직접 수정할 필요가 있는가?
• 공격을 수행하면 대상 서비스를 종료하는가? 호스트를 함락할 수 있는 기회가 여러 번인가, 아니면 한 번에 성공해야 하는가? 한 번에 성공해야 한다면, 미리 고객과 준비를 하거나 실험용 시스템을 마련한다.
그림 3-2는 취약점 공격 스크립트의 예다. 제대로 실행하면 공격 대상 서버의 셸에 접근할 수 있다.
▲ 그림 3-2 취약점 공격 스크립트 예