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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
sisu | Kitploit
도구/GitHubGitHub/semonte/sisu
Cloud Infrastructure SecurityReconnaissanceVulnerability AnalysisConfiguration AuditingInformation GatheringCloud SecurityDevSecOpsSecret DetectionMisconfigurationIncident ResponseLog Analysis
487개월 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
GitHub
semonte/sisu

sisu

저장소 보기

sisu ⚡

당신의 AWS를 파일시스템으로.

데모

이렇게:

root@kitploit:~
grep -l "AdministratorAccess" iam/users/*/policies.json

이 대신에:

root@kitploit:~
aws iam list-users --query 'Users[].UserName' --output text | \
  xargs -I{} sh -c 'aws iam list-attached-user-policies --user-name {} --query "AttachedPolicies[].PolicyArn" --output text' | \
  grep AdministratorAccess

목차

  • 이게 뭐죠?
  • 설치
  • 빠른 시작
  • 핵심 기능
  • 옵션
  • 지원 범위
  • CloudWatch Logs 스트리밍 동작 방식
  • 통합 로그
  • ECS 탐색기
  • CloudFront 탐색기
  • S3 버킷 메타데이터
  • EC2 연결, 콘솔 및 원격 파일시스템
  • 함께 쓰면 좋은 도구
  • AI에게 인프라에 대해 물어보기
  • 실전 디버깅 예시
  • 팁

이게 뭐죠? 🤔

sisu는 AWS 리소스를 로컬 파일시스템으로 마운트합니다. JSON과 AWS CLI로 씨름하는 대신 이미 알고 있는 도구(grep, cat, diff, vim)를 사용하세요.

설계부터 AI 친화적: AI 도구는 서버에 SSH로 접속하거나 대화형 AWS CLI 세션을 실행할 수 없습니다. 하지만 sisu를 사용하면 전체 AWS 인프라가 어떤 AI든 읽을 수 있는 단순한 파일 경로가 됩니다. 원격 EC2 파일시스템은 ec2/<instance>/fs/ 경로로 접근할 수 있어서, AI가 SSH 없이도 /var/log, /etc 및 인스턴스의 모든 파일을 탐색할 수 있습니다.

현재 S3, SSM, IAM, VPC, Lambda, EC2, ECS, CloudFront, Secrets Manager, Route 53 및 CloudWatch Logs를 지원합니다.

설치 📦

root@kitploit:~
go install github.com/semonte/sisu@latest

FUSE가 필요합니다:

root@kitploit:~
sudo apt install fuse    # Ubuntu/Debian
sudo yum install fuse    # RHEL/CentOS

빠른 시작 🚀

root@kitploit:~
sisu

시작됐습니다. 이제 AWS가 손끝에 있습니다:

root@kitploit:~
~/.sisu/mnt/
├── default/              # AWS profile
│   ├── global/           # IAM, S3, Route 53 (region-independent)
│   │   ├── iam/
│   │   ├── route53/
│   │   └── s3/
│   ├── us-east-1/        # Regional services
│   │   ├── cloudfront/
│   │   ├── ec2/
│   │   ├── ecs/
│   │   ├── lambda/
│   │   ├── logs/
│   │   ├── secrets/
│   │   ├── ssm/
│   │   └── vpc/
│   └── eu-west-1/
│       └── ...
├── prod/                 # Other profiles from ~/.aws/credentials
└── staging/

작업이 끝나면 exit를 입력하세요.

핵심 기능 🔥

인프라 탐색

root@kitploit:~
# Who has admin access?
grep -l "AdministratorAccess" */global/iam/users/*/policies.json

# Security groups with SSH open
grep -r '"FromPort": 22' */us-east-1/vpc/*/security-groups/

# Roles that Lambda can assume
grep -l "lambda.amazonaws.com" */global/iam/roles/*/info.json

# Secrets in SSM?
grep -r "password" */us-east-1/ssm/

# Lambda functions with secrets in env vars
grep -r "PASSWORD\|SECRET\|API_KEY" */us-east-1/lambda/*/env.json

# Functions using deprecated runtimes
grep -r "python3.8\|nodejs16" */*/lambda/*/config.json

# EC2 instances with public IPs
grep -r "PublicIpAddress" */*/ec2/*/info.json

# Find stopped instances (wasting money?)
grep -r '"Name": "stopped"' */*/ec2/*/info.json

# Connect to an EC2 instance via SSM (no SSH keys needed!)
./default/us-east-1/ec2/i-abc123/connect

# View EC2 boot logs and kernel messages
cat default/us-east-1/ec2/i-abc123/console.log

# View all secrets
ls */us-east-1/secrets/

# Read a secret value
cat default/us-east-1/secrets/myapp/database/value

# List all DNS zones
ls */global/route53/

# View DNS records for a zone
cat default/global/route53/example.com/records.json

# Find all CNAME records
grep -r '"Type": "CNAME"' */global/route53/*/records.json

# Grep recent logs for errors
grep -i "error" default/us-east-1/logs/aws/lambda/my-function/latest.log

# View all log groups
ls */us-east-1/logs/

# List log streams (shows 20 most recent)
ls default/us-east-1/logs/aws/lambda/my-function/

# View events from a specific stream
cat default/us-east-1/logs/aws/lambda/my-function/2024_01_15_abc123/events.log

# ECS: Browse clusters, services, and tasks
ls default/us-east-1/ecs/my-cluster/my-service/
cat default/us-east-1/ecs/my-cluster/my-service/logs/latest.log

# CloudFront: View distributions and functions
ls default/us-east-1/cloudfront/distributions/
cat default/us-east-1/cloudfront/functions/my-auth/code.js

# S3: Check bucket policies and access settings
cat default/global/s3/my-bucket/.meta/policy.json
cat default/global/s3/my-bucket/.meta/public-access-block.json

환경 간 차이 비교

root@kitploit:~
# Compare IAM roles between accounts
diff prod/global/iam/roles/api/info.json staging/global/iam/roles/api/info.json

# Security group drift between regions
diff default/us-east-1/vpc/vpc-xxx/security-groups/sg-xxx.json default/eu-west-1/vpc/vpc-yyy/security-groups/sg-yyy.json

# Lambda config differences
diff prod/us-east-1/lambda/my-func/config.json staging/us-east-1/lambda/my-func/config.json

무엇이든 파이프로 처리

root@kitploit:~
# Pretty print with jq
cat default/global/iam/roles/my-role/info.json | jq '.AssumeRolePolicyDocument'

# Count your roles
ls default/global/iam/roles/ | wc -l

# Find untagged resources
cat default/us-east-1/vpc/vpc-xxx/info.json | jq 'select(.Tags == null)'

# List all Lambda runtimes in use
grep -h "Runtime" */*/lambda/*/config.json | sort | uniq -c

SSM을 파일처럼 편집

root@kitploit:~
cat default/us-east-1/ssm/myapp/database-url          # read
echo "postgres://prod:5432" > default/us-east-1/ssm/database-url  # write
vim default/us-east-1/ssm/myapp/config                # edit

S3, 유닉스 방식으로

root@kitploit:~
cp local.txt default/global/s3/my-bucket/backup/
cat default/global/s3/my-bucket/logs/app.log | grep ERROR
rm default/global/s3/my-bucket/old-file.txt

옵션 ⚙️

root@kitploit:~
sisu                                    # Start at root
sisu --profile prod                     # Start in prod/
sisu --profile prod --region us-east-1  # Start in prod/us-east-1/
sisu stop                               # Unmount
sisu --debug                            # Debug logging

지원 범위 ✅

CloudWatch Logs 스트리밍 동작 방식 📜

로그 스트림 events.log 파일은 AWS에서 전체를 메모리에 로드하는 대신 지연(lazy) 스트리밍 방식으로 가져옵니다:

  • 온디맨드 페칭: 파일을 읽어 나가면서 이벤트를 100개씩 배치로 가져옵니다
  • 메모리 효율적: 전체 스트림이 아니라 가져온 내용만 버퍼링됩니다
  • 순차 읽기: cat, grep, head, less와 함께 동작합니다
root@kitploit:~
# Fetches only enough batches to find the match
grep "ERROR" .../my-stream/events.log

# Fetches just the first batch
head -50 .../my-stream/events.log

# Scroll through with on-demand loading
less .../my-stream/events.log

# Will fetch all events
cat .../my-stream/events.log | wc -l

참고: tail은 파일 끝을 찾아가므로 스트리밍 파일에서는 제대로 동작하지 않습니다. 실제 파일 크기는 전체가 로드될 때까지 알 수 없기 때문입니다. 해결 방법으로 cat ... | tail을 사용하세요.

통합 로그 📋

각 서비스의 로그는 리소스 바로 아래에 있습니다. 로그 그룹을 찾아 헤맬 필요가 없습니다:

root@kitploit:~
# Lambda function logs
cat default/us-east-1/lambda/my-function/logs/latest.log

# EC2 instance logs (searches for log groups containing instance ID)
cat default/us-east-1/ec2/i-abc123/logs/latest.log

# ECS service logs
cat default/us-east-1/ecs/my-cluster/my-service/logs/latest.log

# CloudFront function logs
cat default/us-east-1/cloudfront/functions/my-auth/logs/latest.log

모든 통합 로그는 스트리밍을 사용합니다. 읽는 동안 이벤트를 온디맨드로 가져옵니다.

ECS 탐색기 🐳

ECS 클러스터, 서비스, 작업을 탐색합니다:

root@kitploit:~
ecs/
├── my-cluster/
│   ├── web-service/
│   │   ├── info.json          # Service configuration
│   │   ├── logs/
│   │   │   └── latest.log     # Streaming service logs
│   │   └── tasks/
│   │       └── abc123/
│   │           └── info.json  # Task details
│   └── api-service/
│       └── ...
root@kitploit:~
# List all ECS clusters
ls default/us-east-1/ecs/

# View service configuration
cat default/us-east-1/ecs/my-cluster/web-service/info.json

# Stream service logs
cat default/us-east-1/ecs/my-cluster/web-service/logs/latest.log

# List running tasks
ls default/us-east-1/ecs/my-cluster/web-service/tasks/

CloudFront 탐색기 🌐

CloudFront 배포와 함수를 탐색합니다:

root@kitploit:~
cloudfront/
├── distributions/
│   └── E1ABC123/
│       ├── info.json          # Distribution config
│       └── origins.json       # Origins with OAC/OAI info
└── functions/
    └── my-auth/
        ├── code.js            # Function source code
        ├── config.json        # Function configuration
        └── logs/
            └── latest.log     # Function execution logs
root@kitploit:~
# List distributions
ls default/us-east-1/cloudfront/distributions/

# Check origin access configuration (debug S3 access issues!)
cat default/us-east-1/cloudfront/distributions/E1ABC123/origins.json

# View and edit CloudFront function code
cat default/us-east-1/cloudfront/functions/my-auth/code.js

# Debug function execution
cat default/us-east-1/cloudfront/functions/my-auth/logs/latest.log

S3 버킷 메타데이터 🪣

각 S3 버킷에는 버킷 구성이 담긴 숨겨진 .meta/ 디렉터리가 있습니다:

root@kitploit:~
# View bucket policy
cat default/global/s3/my-bucket/.meta/policy.json

# Check public access block settings
cat default/global/s3/my-bucket/.meta/public-access-block.json

CloudFront-to-S3 액세스 문제를 디버깅할 때 유용합니다!

EC2 연결, 콘솔 및 원격 파일시스템 🖥️

각 EC2 인스턴스는 다음을 제공합니다:

root@kitploit:~
ls default/us-east-1/ec2/i-abc123/
# info.json  security-groups.json  tags.json  console.log  connect  fs/  logs/

SSM으로 연결 (SSH 키, 공용 IP 불필요):

root@kitploit:~
./default/us-east-1/ec2/i-abc123/connect

Session Manager 플러그인이 필요합니다.

부팅 로그 및 커널 메시지 보기:

root@kitploit:~
cat default/us-east-1/ec2/i-abc123/console.log

인스턴스 파일시스템 원격 탐색 (SSM Run Command 사용):

root@kitploit:~
# List files on the instance
ls default/us-east-1/ec2/i-abc123/fs/etc/

# Read remote files
cat default/us-east-1/ec2/i-abc123/fs/etc/hostname

# Grep across remote logs
grep ERROR default/us-east-1/ec2/i-abc123/fs/var/log/syslog

# Compare configs between instances
diff prod/us-east-1/ec2/i-111/fs/etc/nginx/nginx.conf \
     prod/us-east-1/ec2/i-222/fs/etc/nginx/nginx.conf

SSH 키나 개방된 포트가 필요 없습니다. 내부적으로 SSM Run Command를 사용합니다.

함께 쓰면 좋은 도구 🔧

도구용도
fzf미리보기가 있는 퍼지 파인더
jqJSON 쿼리/변환
difftastic구조적 diff (JSON 이해)
root@kitploit:~
# Browse and preview any resource interactively
find */global/iam/roles -name "info.json" | fzf --preview 'jq . {}'

# Find Lambda functions with high memory
jq -r 'select(.MemorySize > 512) | .FunctionName' */us-east-1/lambda/*/config.json

# Compare prod vs staging config
difft prod/us-east-1/lambda/api/config.json staging/us-east-1/lambda/api/config.json

AI에게 인프라에 대해 물어보기 🤖

단순한 파일일 뿐이므로 AI 도구가 AWS를 직접 읽고 분석할 수 있습니다:

root@kitploit:~
cd ~/.sisu/mnt && claude

"Find security groups that allow SSH from 0.0.0.0/0"
"Review IAM roles for overly permissive policies"
"Compare prod and staging Lambda configs"

실전 디버깅 예시 🔍

문제: ECS 서비스가 "No Container Instances were found in your cluster" 오류로 실패함

SSH 없이 sisu로 진단하기:

root@kitploit:~
# Check cluster status - no instances registered
cat ecs/jobdeck-cluster/info.json | jq '.RegisteredContainerInstancesCount'
# → 0

# Check service config - using EC2 launch type
cat ecs/jobdeck-cluster/jobdeck-api/info.json | jq '.LaunchType, .FailedTasks'
# → "EC2", 136

# EC2 instance exists - check its ECS config
cat ec2/i-xxx/fs/etc/ecs/ecs.config
# → ECS_CLUSTER=jobdeck-cluster ✓

# Check ECS agent logs - no agent log!
ls ec2/i-xxx/fs/var/log/ecs/
# → ecs-volume-plugin.log (missing ecs-agent.log!)

# Check what AMI is running
cat ec2/i-xxx/fs/etc/image-id
# → image_name="amzn2-ami-minimal-hvm"  ← NOT ECS-optimized!

근본 원인 발견: EC2 인스턴스가 ECS 최적화 AMI 대신 Amazon Linux 2 Minimal AMI를 사용하고 있습니다. Minimal AMI에는 ECS 패키지가 설치되어 있지만 에이전트 서비스가 기본적으로 활성화되어 있지 않습니다.

해결 방법: ECS 최적화 AMI를 사용하거나 user-data에 systemctl enable --now ecs를 추가하세요.

이 모든 디버깅은 Claude AI가 sisu를 통해 파일시스템을 탐색하면서 수행했습니다. 수동 SSH가 필요 없습니다!

팁 💡

  • 결과는 5분간 캐시됩니다
  • S3 목록은 디렉터리당 최대 100개 항목으로 제한됩니다
  • CloudWatch Logs는 이벤트를 100개씩 배치로 가져옵니다

라이선스 📄

MIT

도구 다운로드
서비스읽기쓰기삭제
S3 (객체, 버킷 정책, 액세스 설정)✓✓✓
SSM Parameter Store✓✓✓
IAM (사용자, 역할, 정책, 그룹)✓--
VPC (서브넷, 보안 그룹, 라우트)✓--
Lambda (구성, 정책, 환경 변수, 로그)✓--
EC2 (인스턴스, 보안 그룹, 태그, 로그, 원격 파일시스템)✓--
ECS (클러스터, 서비스, 작업, 로그)✓--
CloudFront (배포, 함수, 로그)✓--
Secrets Manager✓--
Route 53 (영역, 레코드)✓--
CloudWatch Logs✓--