차례:
- 상황
- 첫째, 툴킷을 조립해야했습니다. 이 침투 테스트 당시, Andrews는 Paros Proxy, Absinthe, Cain & Abel, Data Thief 및 Microsoft SQL Server Management Studio / SQL Server (Express Edition)를 사용하기를 선호했는데 이들 모두는 무료로 사용할 수 있습니다 .
비디오: Sparrow DAST(웹취약점 분석): 8 취약점 확인하기 2024
이 사례 연구에서 SQL Server 보안 전문가 인 Chip Andrews는 클라이언트에게 (윤리적으로) 해킹 된 경험을 공유했습니다. 데이터베이스를 사용하여 보안 결함을 발견합니다. 이 예제는 건전한 데이터베이스 보안을 주장하여 중요한 정보를 보호하기위한주의 사항을 제공합니다.
상황
일반적인 침투 테스트에서 Andrews는 의무적 인 Google 검색, 도메인 이름 연구, 운영 체제 핑거 프린팅 및 포트 스캔을 수행했지만이 특정 웹 사이트는 엄격하게 잠겼습니다. 시스템에서 실행중인 웹 기반 응용 프로그램으로 이동하면서 그는 즉시 SSL 암호화 양식 인증을 사용하는 로그인 페이지에 직면했습니다.
결과첫째, 툴킷을 조립해야했습니다. 이 침투 테스트 당시, Andrews는 Paros Proxy, Absinthe, Cain & Abel, Data Thief 및 Microsoft SQL Server Management Studio / SQL Server (Express Edition)를 사용하기를 선호했는데 이들 모두는 무료로 사용할 수 있습니다.
사용 가능한 페이지에 대한 사이트를 스파이더링하고 SQL 인젝션에 대한 빠른 취약성 검사를 수행 한 후 App_Name 매개 변수가 응용 프로그램 오류를 나타내는 오류 500 예외를 던지게하는 것으로 확인되었습니다. 침투 테스트는 응용 프로그램 오류가 바람직한 결과 일 때 드문 경우 중 하나입니다.
Microsoft SQL Server 데이터베이스에서 작동하는 일반적인 테스트는 WAITFOR DELAY '00: 00: 10 '과 같은 명령을 주입하여 데이터베이스 서버를 10 초 동안 정지시킵니다. 일반적으로 1 초 이내에 페이지를 반환하는 응용 프로그램에서는 일관된 10 초 지연이 SQL 스트림에 명령을 주입 할 수있는 좋은 지표입니다.
Andrews는 데이터 도우미 도구를 사용하여 로그인 페이지를 공격하려고 시도했습니다.이 도구는 데이터베이스가 OPENROWSET 명령을 사용하여 대상 데이터베이스의 데이터를 인터넷에있는 Mr. Andrews의 데이터베이스로 복사하도록합니다.이것은 대개 취약한 데이터베이스의 많은 양의 데이터를 효과적으로 소화하는 효과적인 방법이지만,이 경우 그의 공격은 좌절되었습니다! 대상의 데이터베이스 관리자가 Adhoc 분산 쿼리 사용 안 함 옵션을 올바르게 구성하여 OPENROWSET 기능을 사용하지 않도록 설정했습니다.
Andrews는 그의 근면함을 부단히 지키며 다음 도구 인 Absinthe를 계속 사용했습니다. 이 도구는
blind SQL injection
이라는 기술을 사용하여 데이터베이스에 대한 간단한 예 또는 아니오 질문을 사용하여 데이터를 결정합니다. 예를 들어, 도구는 테이블의 첫 번째 문자가 "L"보다 작은 지 여부를 데이터베이스에 요청할 수 있습니다. "
예이면 응용 프로그램에서 아무 작업도 수행하지 않을 수 있지만 그렇지 않은 경우 응용 프로그램에서 예외를 throw 할 수 있습니다. 이 간단한 이진 로직을 사용하면이 기술을 사용하여 전체 데이터베이스 구조와 심지어 내부에 저장된 데이터를 매우 천천히 발견 할 수 있습니다. 이 도구를 사용하여 민감한 고객 정보 테이블을 확인하고 클라이언트에게 수백 가지 레코드를 다운로드했습니다. 마지막으로, 데이터베이스 최악의 마지막 행동을 시도 할 시간이었다. 먼저 Andrews 씨는 Cain & Abel이라는 도구를로드하고 스니핑 모드로 들어가도록 설정했습니다. 그런 다음 Paros Proxy와 이미 확인 된 취약 매개 변수를 사용하여 SQL Server 데이터베이스 사용자가 사용할 수있는 xp_dirtree 확장 저장 프로 시저를 사용하여 범용 명명 규칙 경로를 사용하여 인터넷에 연결된 컴퓨터에 디렉터리를 표시하려고했습니다. 이것은 대상 데이터베이스가 Andrews 씨의 기계에 대해 실제로 자체 인증을 시도하도록 강요했습니다. Cain & Abel이 유선을 듣고 있었기 때문에 노출 된 파일 공유를 인증하는 데 사용 된 챌린지의 해시를 얻었습니다. 이 해시를 Cain & Abel에 내장 된 암호 크래커에 전달하면 Andrews 씨는 취약한 SQL Server가 실행되는 계정의 사용자 이름과 암호를 잠시 후 확인할 수 있습니다.
해킹 된 계정이 웹 애플리케이션의 관리자 계정과 동일한 비밀번호를 사용합니까? 이 암호는 호스트의 로컬 관리자 계정과 동일합니까? 그들은 다른 날에 대한 질문이었습니다. 수집 된 모든 데이터를 수집하고, 고객을 위해 보고서를 준비하고, 다른 날 도구를 버릴 시간이었습니다.
Chip Andrews는 보안 컨설팅 회사 인 Special Ops Security, Inc. 및 SQLSecurity의 공동 창업자입니다. com, SQLPing3 도구를 포함하여 Microsoft SQL Server 보안에 대한 여러 리소스가 있습니다. Andrews는 SQL Server 보안 및 Black Hat 발표자에 대한 여러 도서의 공동 저자로 1999 년부터 SQL Server 및 응용 프로그램 보안을 홍보 해 왔습니다.