
Git Web Hook Tunnel für C2
Git-Webhook-Tunnel für C2
# apt-get update && apt-get upgrade -y
# apt-get install python3-pip git -y
# pip install --upgrade pip
# pip install virtualenv
# virtualenv -p python venv
# . venv/bin/activate
# git clone https://github.com/dsnezhkov/octohook
# pip install prompt_toolkit PyGithub bottle pygments pyaml delegator.py
oder
pip install -r doc/requirements.txt
Melde dich als Service-GH-Konto an.
Generiere ein App-Token gemäß: https://github.com/settings/tokens/new
Aktualisiere git_app_token: '86c0ec38b90909c4fbb1cf7f4e20c8f7f451' in config/client.yml und config/server.yml
Setze deine Agent-IDs auf Server und Client Z. B. agentid: 'b932e9f5'
Generiere keys/server.pem
Der erste Client oder Server erstellt das Repo git_repo_name: 'rendezvous'
Richte anfängliche Webhook(s) ein: https://github.com/your-id/rendezvous/settings/hooks/new
Setze Payload URL: https://IP-or-HOST:PORT/route/ als Payload-URL, wobei IP die IP deines OC-Webdienstes ist, PORT der Port, auf dem er lauscht, und /route/ die Hook-Route ist,
die in der Direktive hook_route: '/server/' in der Konfigurationsdatei angegeben ist.
Setze: Content-type: application/json
„Standardmäßig überprüfen wir SSL-Zertifikate bei der Zustellung von Payloads.“ Für Demo deaktivieren, in Produktion aktivieren (letsencrypt)
Du kannst wählen, alle Ereignisse zu erhalten, oder einfach ‚Let me select individual events‘ auswählen.
OC benötigt mindestens: „Issue comment“, „Issues“.
Stelle sicher, dass du deinen Octohook-Server bei der Webhook-Erstellung unter der obigen Payload-URL startest. Wenn „Aktiv“ („Wir senden Ereignisdetails, wenn dieser Hook ausgelöst wird.“) gesetzt ist, wird eine Ping-Registrierungsanfrage an den OC-Server gesendet.
Sobald du in den Webhooks einen „grünen Haken“ siehst, bist du registriert. Wenn nicht – überprüfe deine Parameter und „stelle den Ping erneut zu“.
Wiederhole die Einrichtung für andere Webhooks bei Bedarf (bidirektionales RTM und Swarm (in Zukunft))
python octohook.py ./config/server.yml
python octohook.py ./config/client.yml