[악성파일 업로드 공격]
: 파일 업로드 기능이 존재하는 웹 애플리케이션에서 확장자 필터링이 제대로 이루어지지 않았을 경우, 공격자가 악성 스크립트 파일(웹쉘)을 업로드해 웹을 통해 해당 시스템을 제어할 수 있어 명령어 실행 및 디렉터리 열람이 가능하고, 웹 페이지 또한 변조 가능.
-> 악성파일 업로드 수행 조건을 차단해 공격 차단 가능
*악성파일 업로드 수행 조건
- 업로드 된 파일 확장자의 웹 애플리케이션 서버에서 실행 가능
- 외부에서 url을 이용해 업로드된 파일로 접근 가능
- 업로드 된 파일이 속한 디렉터리에서의 파일 실행 권한
*악성파일 업로드 점검 목적
: 업로드 파일 확장자에 대한 적절성 여부 검증 로직을 통해 공격자가 조작된 server side script 파일 업로드 방지 및 서버 상에 저장된 경로를 유추해 해당 server side script 파일 실행을 불가능하게 하기 위해
*악성파일 업로드 보안 위협 방법
1. 공격자가 조작된 server side script 파일 업로드 및 실행
2. 쉘 권한 획득
3. 홈페이지 통해 시스템 명령어 실행
4. 시스템 관리자 권한 획득/인접 서버에 대한 침입 시도
**악성파일 업로드 점검 방법
1. 사용자 게시판에 파일 첨부 기능 존재하는지 확인
: 확장자가 jsp, php, asp, cgi 등인 server side script 프로그램들의 파일들이 업로드 가능한지 확인
2. 홈페이지에 있는 디렉터리 정보 이용
: 첨부한 server side script 프로그램 위치 조사 후, 브라우저 주소 창에서 해당 프로그램 실행 여부 확인
=> 악성파일 업로드 보안 설정
1. 화이트리스트 방식: 허용된 확장자만 허용
2. 업로드 파일을 디렉터리에 저장할 때, 파일명과 확장자를 외부 사용자가 추측할 수 없는 문자열로 변경해 저장
(파일 이름은 DB에 저장)
3. 업로드 파일 위한 전용 디렉터리 생성, 웹 서버 데몬 설정 파일(httpd.conf)에서 실행 설정 제거
4. 파일 업로드 필드 대상으로 특수문자 필터링하도록 웹 방화벽 룰셋 적용악성파일 업로드 공격
: 파일 업로드 기능이 존재하는 웹 어플리케이션에서 확장자 필터링이 제대로 이루어지지 않았을 경우, 공격자가 악성 스크립트 파일(웹쉘)을 업로드해 웹을 통해 해당 시스템을 제어할 수 있어 명령어 실행 및 디렉터리 열람이 가능하고, 웹 페이지 또한 변조 가능.
-> 악성파일 업로드 수행 조건을 차단해 공격 차단 가능
*악성파일 업로드 공격 원리
: 웹 애플리케이션 코드에는 DBMS와 연동하기 위한 계정 정보를 포함하는 경우가 있으며, 웹쉘 업로드가 성공했을 때 해당 정보를 탈취할 수 있는 경우
- 공격 절차
1. Q&A Board에 임의의 게시글 작성, 첨부파일로 c99.php 업로드
2. 웹 브라우저로 파일 업로드 위치에 접근
3. DB 관련 파일 찾아 사용 중인 DB, ID, PWD 확인
4. 웹 쉘 메뉴에서 SQL 클릭해 SQL 페이지로 이동
5. 웹 쉘 테이블에서 조회된 사용자 계정 정보 확인
- 공격 탐지 룰 작성
: 서버 측에서 실행 가능한 파일의 확장자를 검사해 업로드 되지 못하도록 설정하고, 특정 확장자(.php, .jsp, .asp, .cgi, etc.)가 포함된 파일이 요청 트래픽에서 발견될 경우 탐지 가능한 룰 생성
*rule1: SecRule REQUEST_URI|REQUEST_BODY "(\.asp|\.jsp|\.php|\.cgi)""id:45,msg:'Malicious File Upload Attack'"
- REQUEST_URI|REQUEST_BODY: 검색 대상 = 범위 지정
- "(\.asp|\.jsp|\.php|\.cgi)": 검색하고자 하는 것들, 하나라도 존재하면 탐지
- "id:45,msg:'Malicious File Upload Attack'": 로그에 기록될 ID와 메시지
*rule2: SecRule REQUEST_URI|REQUEST_BODY "c99.*""id:46,msg:'Malicious File Upload Attack - c99 is detected'"
- "c99.*": c99 다음에 아무 글자나 0개 이상 나오면 탐지
'네트워크 보안 > 네트워크 보안 운영(step)' 카테고리의 다른 글
XSS(Cross Site Scripting) 공격 (0) | 2024.11.18 |
---|---|
SQL Injection 공격 (3) | 2024.11.13 |
네트워크 보안 솔루션 ModSecurity (2) | 2024.11.12 |