Redis 데이터베이스는 최근 활용 프로세스와 결합하여 비교적 일반적입니다.
인트라넷 머신에서 Redis를 다운로드하고 make를 압축 해제할 필요가 없습니다
A) 일반적인 상황에서는 경로를 알고 셸을 작성합니다
./redis-cli -h IP config set dir /home/wwwroot/default/ config set dbfilename redis.php set webshell " phpinfo(); ?>" save
B) 공개 키를 사용하여 비밀번호 없이 로그인합니다. 1 로컬에서 공개 키를 생성합니다. 2 Redis를 사용하여 공개 키를 백업합니다. redis 머신 C) Linux 작업을 사용하여 셸 리바운드
1 /var/spool/cron은 Linux 머신에서 기본 예약 작업입니다. cron이 켜져 있으면 Linux는 내부에서 정기적으로 작업을 실행합니다. 파일 이름은 사용자 이름 2입니다. Redis는 dbfilename을 위와 같이 설정하여 Shell을 직접 바운스합니다.
Redis는 일반적으로 Redis 서버의 권한을 얻기 위해 위의 세 가지 방법을 주로 사용한다고 요약합니다. 루트 권한으로 시작하면 권한이 매우 큽니다.
그런데 침투 과정에서는 항상 예상치 못한 상황이 발생하게 마련인데, 혹시 없나요?
첫 번째 방법은 redis 데이터베이스가 너무 커서 PHP 말이 한계를 초과하고 직접 500이 구문 분석되지 않는 경우 세 번째 명령을 통해 웹 디렉터리에 말을 쓸 수 있습니다. 🎜>
*/1 * * * * echo " phpinofo();?>" >/var/www/html/90sec.php;crontab -r이런 말은 문제 없을 겁니다두 번째 방법은 기계를 문제 없이 테스트했는데, 침투 환경에서는 문제가 있습니다. ssh 비밀번호 없이 로그인해야 합니다. ssh 디렉토리 권한 문제, 성공 확률은 너무 크지 않습니다 제가 가장 좋아하는 세 번째 방법은 간단하고 조잡하며 명확하며 권한 상승도 저장합니다( 중요한 머신이라면 일반적으로 루트 사용자가 예정된 작업을 하기 때문에 먼저 낮은 권한을 사용하는 것이 좋습니다) 사용자는 (루트에서) 상황을 확인하기 위해 쉘을 바운스하지만 연결을 허용하지 않는 매우 이상한 머신과 마주하게 됩니다 따라서 유일한 옵션은 웹 디렉토리에 쉘을 작성하거나 내부 네트워크에서 bash 쉘을 모니터링하고 직접 연결하는 것입니다. Redis의 또 다른 발견은 Linux는 권한을 에스컬레이션할 수 없습니다. 또한 타사 소프트웨어를 통한 권한 에스컬레이션 방법인 redis를 통해 직접 권한을 에스컬레이션할 수도 있습니다.