Information Security
[DreamHack]-WHA Exploit Tech: DBMS Misconfiguration 본문
DBMS는 설정 파일을 통해 특정 기능을 활성화하거나 접근 가능한 디렉터리 등을 설정할 수 있음
“Security Misconfiguration” : 계정 및 권한이 적절하게 분리되지 않았거나 불필요한 기능의 활성화, 그리고 데이터베이스의 보안 설정이 미흡한 경우
DBMS의 설정 항목을 잘못 설정했을 때 발생할 수 있는 문제점에 대해서 소개
Out of DBMS
DBMS에서 제공하는 특별한 함수 또는 기능 등을 이용해 파일 시스템, 네트워크, 심지어는 OS 명령어 등에도 접근 가능
데이터베이스의 정보를 획득, 파일 시스템, 네트워크, 시스템 모두 장악 가능
-> DBMS의 버전이 올라감에 따라 위험한 함수나 기능을 제거하거나, 기본 설정/권한으로 접근하지 못하게 하는 등 다양한 방법으로 해당 공격 방식에 대해 패치를 진행하고 있음
Out of DBMS: MySQL
mysql 권한으로 수행되며, “my.cnf” 설정 파일의 secure_file_priv 값에 영향을 받음
secure_file_priv는 mysql 쿼리 내에서 load_file 혹은 outfile을 이용해 파일에 접근할 때 접근할 수 있는 파일 경로에 대한 정보를 갖고 있음
load_file
load_file 함수는 인자로 전달된 파일을 읽고, 출력
전달되는 파일은 전체 경로를 입력해야 하며 해당 파일에 접근 권한이 있어야 함
into outfile
SELECT ... INTO 형식의 쿼리는 쿼리 결과를 변수나 파일에 쓸 수 있음
secure_file_priv의 값이 올바르지 않아 임의 경로에서 파일 작업을 수행할 수 있다면 이를 통해 웹셸을 업로드하는 등의 공격이 가능
DBMS 권한 문제 주의 사항
DBMS 애플리케이션 작동 권한
리눅스 서버에서는 이용자 별로 권한을 나누어 관리
서버에서 DBMS를 작동할 때에는 DBMS 전용 계정 (nologin)을 만들어 사용해야 함
DBMS 계정 권한
DBMS 내부에 계정과 권한이 존재
루트 계정의 사용을 지양하고, 서비스 및 기능 별로 계정을 생성해 사용해야 함
'INTERLUDE > Web Hacking' 카테고리의 다른 글
[DreamHack]-WHA sql injection bypass WAF Advanced (0) | 2022.04.07 |
---|---|
[DreamHack]-WHA sql injection bypass WAF (0) | 2022.04.07 |
[DreamHack]-WHA ExploitTech: Bypass WAF (0) | 2022.03.29 |
[DreamHack]-WHA ExploitTech: System Table Fingerprinting (0) | 2022.03.29 |
[DreamHack]-WHA ExploitTech: DBMS Fingerprinting (0) | 2022.03.29 |