
Tunnel per webhook Git per C2
Git Web Hook Tunnel per 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
oppure
pip install -r doc/requirements.txt
Accedi come account di servizio GH.
Genera un token per app come da: https://github.com/settings/tokens/new
aggiorna git_app_token: '86c0ec38b90909c4fbb1cf7f4e20c8f7f451' in config/client.yml e config/server.yml
imposta i tuoi ID agent su server e client Es. agentid: 'b932e9f5'
genera keys/server.pem
Il primo client o server crea il repository git_repo_name: 'rendezvous'
Configura webhook iniziale(i): https://github.com/your-id/rendezvous/settings/hooks/new
Imposta Payload URL: https://IP-or-HOST:PORT/route/ dove IP è l'IP del tuo servizio web OC, PORT la porta su cui ascolta, e /route/ è la route dell'hook
specificata nella direttiva hook_route: '/server/' nel file di configurazione.
Imposta: Content-type: application/json
"Per impostazione predefinita, verifichiamo i certificati SSL durante la consegna dei payload." Disabilita per demo, abilita in produzione (letsencrypt)
Puoi scegliere di ricevere tutti gli eventi, ma puoi semplicemente 'Scegli: "Let me select individual events".'
OC richiede come minimo: "Issue comment", "Issues".
Assicurati di avviare il server octohook sul Payload URL sopra al momento della creazione del Webhook. Se impostato su "Active", "We will deliver event details when this hook is triggered." una richiesta di registrazione ping verrà inviata al server OC.
Una volta che vedi il "Green checkmark" nei webhook, sei registrato. Se non lo vedi, controlla i tuoi parametri e "redeliver" il ping.
Ripeti la configurazione per altri webhook se necessario (RTM bidirezionale e swarm (futuro))
python octohook.py ./config/server.yml
python octohook.py ./config/client.yml