# L54 — Pontian Host Inventory (65.109.51.221)
# Date: 2026-09-07. Access: SSH key persistence (pontian@:1425)

## SYSTEM
- Hostname: Ubuntu-2004-focal-64-minimal-hwe
- User: pontian (uid=1002, groups: pontian, sudo, docker)
- Kernel: 5.15.0-139-generic
- Uptime: 27 days
- Load: 2.04, 2.36, 2.18

## DOCKER CONTAINERS (27 total)

### kedebah-commerce (10 containers)
| Container | Status | Port |
|-----------|--------|------|
| kedebah-commerce-auth-1 | Up 3 weeks (healthy) | 80, 9000 |
| kedebah-commerce-finance-1 | Up 38 hours (healthy) | 80, 9000 |
| kedebah-commerce-commerce-1 | Up 37 hours (healthy) | 80, 9000 |
| kedebah-commerce-onboarding-1 | Up 3 weeks (healthy) | 80, 9000 |
| kedebah-commerce-onboarding-worker-1 | Up 8 minutes | 80, 9000 |
| kedebah-commerce-tenant-processor-1 | Up 12 days (healthy) | 80, 9000 |
| kedebah-commerce-tenant-processor-worker-1 | Up 11 minutes | 80, 9000 |
| kedebah-commerce-tenant-processor-scheduler-1 | Up 3 weeks | 80, 9000 |
| kedebah-commerce-email-1 | Up 3 weeks (unhealthy) | 80, 9000 |
| kedebah-commerce-email-worker-1 | Up 9 minutes | 80, 9000 |
| kedebah-commerce-sms-1 | Up 3 weeks (healthy) | 80, 9000 |
| kedebah-commerce-reverb-1 | Up 3 weeks | 80, 8080, 9000 |
| kedebah-commerce-edge-1 | Up 3 weeks | 127.0.0.1:8080 |
| kedebah-commerce-redis-1 | Up 3 weeks (healthy) | 6379 |
| kedebah-commerce-certbot-1 | Up 3 weeks | 80, 443 |

### CVMS (5 containers)
| Container | Status | Port |
|-----------|--------|------|
| cvms-frontend | Up 5 days (healthy) | 3000 |
| cvms-api | Up 5 days (healthy) | 127.0.0.1:19800->8000 |
| cvms-segmentation-worker | Up 5 days | - |
| cvms-db | Up 2 weeks (healthy) | 3306 |
| cvms-nginx | Up 5 days | 127.0.0.1:19881->80 |

### Tottot (3 containers)
| Container | Status | Port |
|-----------|--------|------|
| tottot-credit-portal-backend-1 | Up 12 days (healthy) | 127.0.0.1:15000 |
| tottot-credit-portal-web-1 | Up 13 days (healthy) | 127.0.0.1:13080 |
| tottot-credit-ml-api-1 | Up 12 days (healthy) | 127.0.0.1:13500 |
| tottot-credit-landing-web-1 | Up 3 weeks (healthy) | 127.0.0.1:13081 |

### Courtscribe (2 containers)
| Container | Status | Port |
|-----------|--------|------|
| courtscribe-frontend | Up 3 days (healthy) | 0.0.0.0:3001->80 |
| courtscribe-backend | Up 4 days (healthy) | 0.0.0.0:5000->5000 |

### License Server (2 containers)
| Container | Status | Port |
|-----------|--------|------|
| npontu-license-server-api-1 | Up 3 weeks | 127.0.0.1:5120->5000 |
| npontu-license-server-frontend-1 | Up 3 weeks | 127.0.0.1:3120->3000 |

### WAHA (11 containers)
| Container | Status | Port |
|-----------|--------|------|
| snwolley-agent_769968a3 | Up 3 weeks | 127.0.0.1:3019->3000 |
| snwolley-pool-pooled_* (10 more) | Up 3 weeks | 127.0.0.1:3010-3020 |

### Video Engine (2 containers)
| Container | Status | Port |
|-----------|--------|------|
| video-engine-jvb-1 | Up 3 weeks | 9090, 10000/udp, 127.0.0.1:8081 |
| video-engine-jicofo-1 | Up 3 weeks | 127.0.0.1:8888 |

## CONTAINER SECRETS EXTRACTED

### kedebah-commerce
- APP_KEY: base64:Y+X5xpmJhJGIXuZnis1un3morb4SJ71eivRHBmxhw4w= (auth)
- APP_KEY: base64:O95QVhANB1DydaHmgi4rlj9NLgm2Ju+Vp6uBELy20+U= (commerce)
- DB_PASSWORD: 8kedeW!tmebah_v2nyPa.#wrM@sa
- DB_USERNAME: kedebah
- DB_HOST: host.docker.internal:6432
- REDIS_PASSWORD: MYredisPassWord2012
- SERVICE_KEY: Twus5lQlCoMxhFprWlSv (auth)
- SERVICE_KEY: QJiauvlmWlCibNcSR8eg (finance)
- INTERNAL_CALLBACK_SERVICE_KEY: change-me-auth-callback-key
- REVERB_APP_SECRET: 9f7a3c8e2d6b5a1f4e8c0d9b7a2f6e3c5d8a1b9f4e7c2d6a0b5f8e3c1a9d7
- REVERB_APP_KEY: kedebah_reverb_8f4c9d7a2e6b1f5a9c3d7e8f0a2b4c6d
- MAIL_PASSWORD: oLOZ2cfgUGRrl0lF
- KEDEBAH_SMS_SERVICE_URL: http://sms/api/v1/smsService
- AUTH_SERVICE_URL: http://auth/api/v1/authService
- ONBOARDING_SERVICE_URL: http://onboarding/api/v1/onboardingService

### tottot
- PLATFORM_DB_PASS: g5LLuT5HfcIFUdAbO41Lm9pw
- PLATFORM_SMTP_PASS: ENsQyw768p
- REDIS_PASSWORD: MYredisPassWord2017
- DB_USER: tottot_app
- TENANT_DB_HOST: host.docker.internal:5542
- PLATFORM_DB_HOST: host.docker.internal:5542
- DISBURSEMENT_CREDITING_URL: https://crediting.npontu.com
- NPONTU_PAY_COLLECTION_ENDPOINT: https://pay.npontu.com/api/v1/pay
- DISBURSEMENT_CREDITING_ENABLED: true
- DEYWURO_SMS_PASSWORD: npontutest
- SNWOLLEY_API_KEY: bRylRspg4J2bC1sUkHlwnKTN0txVHzLZ78uNtEuGpqM
- CREDIT_API_TIMEOUT: 60

### courtscribe
- SECRET_KEY: 80b6ae1da4e3f8896c2b75a732a03a7eb7a508034fb3e72044ba920df9d4636a
- DATABASE_URL: postgresql://courtscribeuser:C3Du794D#25@host.docker.internal:5432/courtscribe
- PRODUCTION_DATABASE_URL: same
- GPG_KEY: E3FF2839C048B25C084DEBE9B26995E310250568

## FILES ON HOST

### Large data files
- creditscoring_customers.csv: 315 MB
- creditscoring_loan_history.csv: 260 MB
- creditscoring_transaction_history.csv: 3.3 GB
- snwolley-portable-20260628.tar.gz: 7.8 GB
- kedebah-pos-bundle-20260813.tar.gz: 13 MB
- awscliv2.zip: 62 MB
- kasanoma_model-twi.zip: 58 MB
- BitNet/ (AI model)
- flux1-dev-Q2_K.gguf: 4.0 GB (AI model)

### Credentials & configs
- google-drive/credentials.json: client_id=533232315324-8n61ffj3j1j0ngoooci8m7h409d77kp5, client_secret=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, project_id=chocos-restaurant
- google-drive/token.pickle: OAuth token
- token.pickle: unknown token
- postgresql.conf: PostgreSQL configuration
- cvms-npontu.conf: CVMS nginx config

### Security incidents
- security_incidents_2025-06-28.log: 9751 incidents (AUTH_FAILURE 3063, FAILED_LOGIN 3442, INVALID_USER 3245, SUDO_USAGE 1)

### NSA enrolment
- nsa-enrolment-data/: 32 directories (enrolment1-28)
- download_nsa_enrolment.sh: download script

### Audio/AI projects
- ACE-Step-1.5/, ace-step-ui/: AI projects
- BitNet/: AI model
- kasanoma_twi/: Twi language model
- stephane.mp3, stephane_voice.wav: CEO voice samples
- my_voice.wav: Pontian's voice
- Various TTS/ASR scripts

## SECURITY
- sudo: requires password (not passwordless)
- AWS: no credentials configured (aws/ dir is just AWS CLI installer)
- EC2 metadata: no metadata service (not AWS EC2, likely Hetzner/DigitalOcean)
- SSH: port 1425, key-based auth only

## EXPLOITATION VALUE
- Docker access: can inspect/exec any container
- Database access: via container env vars (kedebah, tottot, courtscribe)
- File access: read any file on host (pontian owns most)
- Persistence: SSH key already installed
- Lateral movement: can reach internal services via docker network
