해킹 Redis

2844 단어 securityctfredis
Redis는 REmote DIctionary Server의 약자입니다. 키-값 쌍으로 정보를 저장하는 메모리 내 데이터베이스입니다.

실제로 마스터-슬레이브 아키텍처 및 Redis 클러스터와 같은 더 많은 고급 기능을 제공합니다.

그러나 Redis는 종종 간단한 캐시 시스템 또는 메시지 브로커로 사용됩니다.

여러 측면에서 환상적인 기술이지만 사용자가 기본 구성을 고수하거나 Redis 서버를 노출할 때 보안 문제가 발생합니다.

Redis 인스턴스를 노출하지 마십시오.



많은 설치는 편의를 위해 Redis 인스턴스를 인터넷에 노출하여 누구나 기본 포트 6379를 통해 서버에 액세스할 수 있도록 합니다.

다음 명령으로 테스트할 수 있습니다.

sudo apt install redis-tools
redis-cli -h {IP} PING


성공적인 응답은 "PONG"이지만 테스트에서 다른 명령을 시도할 수 있습니다.

인스턴스가 다른 포트를 사용하더라도 Metasploit과 같은 프레임워크에는 열거를 자동화하는 특정 모듈이 포함되어 있습니다.

최악의 시나리오(또는 최선의 경우 공격자라면 ^^)에는 방화벽 규칙도 인증도 없습니다. CTF는 그러한 잘못된 구성을 에뮬레이션하는 것을 좋아하는데, 불행히도 현실적입니다.

신뢰할 수 있는 클라이언트만 허용되어야 합니다.

주의: 최신 버전의 Redis에는 여전히 기본 구성을 사용하는 설치를 수정하는 것을 목표로 하는 "보호 모드"(3.2.0 이후)가 포함되어 있다는 점에 유의해야 합니다.

공격자가 Redis 서버를 해킹하는 이유와 방법



Redis는 다양한 이유로 해킹될 수 있지만 가장 일반적인 이유는 다음과 같습니다.
  • 웹 쉘 주입
  • 권한 에스컬레이션
  • 데이터 절도(예: 데이터베이스 덤핑)

  • 그렇기 때문에 Redis 문서에서는 명령 세트에 대한 전체 액세스를 비활성화할 것을 권장합니다. CTF 및 펜 테스트에서 사용되는 가장 일반적인 핵 중 하나는 CONFIG 명령을 기반으로 합니다.

    {IP}:6379> config set /var/www/html
    {IP}:6379> config set dbfilename webshell.php
    {IP}:6379> set test "<?php system($_REQUEST['cmd']); ?>"
    {IP}:6379> save
    


    공격자는 이를 사용하여 새 파일에 임의의 명령을 전달할 수 있습니다.

    http://{IP}/webshell.php?cmd={COMMAND}
    


    또 다른 접근 방식은 Redis-Server-Exploit과 같은 도구를 사용하여 악성 SSH 액세스를 생성하는 것입니다.

    인증된 익스플로잇



    구성이 매우 잘못되면 인증되지 않은 적이 권한이 없는 명령을 전달하고 Redis 인스턴스를 엉망으로 만들 수 있습니다.

    익명 연결을 금지하는 것이 좋습니다.

    하지만 Redis 서버가 약한 비밀번호를 사용하는 것은 드문 일이 아닙니다.

    데이터는 기본적으로 암호화되지 않음



    Redis는 redis.conf 파일에서 구성할 수 있는 인증 계층을 제공합니다. 활성화되면 관리자는 AUTH 명령을 사용하여 강력한 암호를 설정할 수 있습니다.

    다른 보호 기능이 실패할 경우를 대비한 추가 계층이지만 기본적으로 암호화가 없으므로 네트워크 트래픽을 스니핑한 공격자는 이론적으로 통신을 가로챌 수 있습니다.

    루아 샌드박스 탈출



    사이버 범죄자는 취약한 라이브러리를 활용하여 Redis를 통해 RCE(원격 코드 실행)를 이식할 수 있습니다.

    예를 들어 Redis를 사용하면 사용자가 스크립트Lua를 실행할 수 있습니다.
    서버가 오래된 종속성을 사용하면 지저분해질 수 있습니다.

    this one 과 같은 일부 CTF는 해당 공격을 에뮬레이트합니다.

    마무리



    Redis 보안을 기본값으로 설정하지 말고 인스턴스가 최신 상태인지 확인하십시오.

    좋은 웹페이지 즐겨찾기