Web 모의해킹

Webshell 공격

5_jinseok12 2020. 1. 20. 10:32
728x90

웹쉘(Web shell)

파일 업로드 기능을 이용하여 시스템에 명령을 내릴 수 있는 웹 프로그램을 업로드 할 수 있는 취약점으로,

간단한 서버 스크립트 (jsp,php,asp)로 만드는 방법이 널리 사용되며 파일 업로드 시 확장자에 대한 검증을 제대로 하지 않게 되면 이 스크립트로 만든 파일이 업로드 되는 것이다.

웹쉘 설치 시 해커들은 보안 시스템을 피하여 별도의 인증 없이 시스템에 쉽게 접속이 가능하므로 위험하다.

 

즉, 공격자가 조작한 Server Site Script 파일을 업로드하고, 서버상에 저장된 경로를 유추하여 파일을 실행,

쉘을 획득할 수 있게 되며 쉘 권한을 획득한 후에 시스템 명령어를 홈페이지를 통하여 실행하고 그 결과값을 보며 시스템 관리자 권한을 획득 또는 인접 서버에 침입을 시도할 수 있으므로, 업로드 되는 파일에 대한 검증 및 업로드 폴더에 대한 접근통제가 필요하다.

 

 

 파일 업로드

구분

내용

취약점 내용

파일 업로드 기능을 이용하여 시스템 명령어를 실행할 수 있는 웹 프로그램을 업로드 할 수 있는 취약점으로 업로드 되는 파일의 확장자에 대한 적절성 여부를 검증하지 않은 취약점이다.

대상 위치

확장자에 대한 검증을 하지 않은 파일 업로드

메뉴 : 자유게시판 > 파일 업로드

URL : http://192.168.254.128/board_data/freeboard/test_php.php

조치 방안

업로드 된 파일은 공격자가 추측하기 힘들도록 길고 복잡한 파일명으로 수정하여 저장하도록 하되, 특수 문자의 필터링을 수행한다. 또 공격자가 추측하기 힘든 복잡한 디렉터리에 저장한다.


 

 

 

■ 확장자에 대한 검증을 하지 않은 파일 업로드

 

[그림 1] 확장자 검증을 하지 않은 파일 업로드 시도

 

 

[그림 2] 업로드 된 것을 확인

 

 

[그림 3] 다운로드 되는 디렉터리 경로를 확인

 

[그림 4] 웹쉘 공격 확인

 

 

대책 방안

 

1. 추측 불가능한 파일명 / 디렉터리 명

- 업로드 된 파일은 공격자가 추측하기 힘들도록 길고 복잡한 파일명으로 수정하여 저장하도록 하되, 특수 문자의 필터링을 수행한다. 또, 공격자가 추측하기 힘든 복잡한 디렉터리에 저장한다.

 

2. 업로드 디렉터리 실행권한 제거

FileMatch 지시자 이용하여 *.ph, *.ine, *.lib 등의 Server Side Script 파일에 대한 직접 URL 호출 금지시킨다. 파일이 업로드 되는 디렉터리에 운영에 필요한 서버 측 스크립트가 존재하는지 확인이 필요하다.

반응형

'Web 모의해킹' 카테고리의 다른 글

HTTP 웹 메소드 수동 점검  (0) 2021.04.22
SQL인젝션  (0) 2020.11.09
SQL Injection  (2) 2019.12.20
자동화 공격(AU)  (3) 2019.12.17
웹 테스트 환경 구축  (0) 2019.10.10