
Túnel de Webhook do Git para C2
Túnel de webhook do Git para 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
ou
pip install -r doc/requirements.txt
Faça login com a conta de serviço do GH.
Gere o token do app conforme: https://github.com/settings/tokens/new
atualize git_app_token: '86c0ec38b90909c4fbb1cf7f4e20c8f7f451' em config/client.yml e config/server.yml
defina seus IDs de agente no servidor e no cliente Ex.: agentid: 'b932e9f5'
gere keys/server.pem
O primeiro cliente ou servidor cria o repositório git_repo_name: 'rendezvous'
Configure o(s) webhook(s) inicial(is): https://github.com/your-id/rendezvous/settings/hooks/new
Defina Payload URL: https://IP-or-HOST:PORT/route/ onde IP é o IP do seu serviço web OC, PORT é a porta em que ele escuta, e /route/ é a rota do hook
especificada na diretiva hook_route: '/server/' no arquivo de configuração.
Defina: Content-type: application/json
" Por padrão, verificamos certificados SSL ao entregar payloads. " Desative para demonstração, ative em produção (letsencrypt)
você pode optar por receber todos os eventos ou apenas escolher 'Let me select individual events.'
A OC precisa, no mínimo, de: "Issue comment", "Issues".
Certifique-se de iniciar seu servidor octohook na Payload URL acima ao criar o Webhook. Se estiver definido como "Active" "We will deliver event details when this hook is triggered.", uma solicitação de registro de ping será enviada ao servidor OC.
Quando você vir a "marca de verificação verde" nos webhooks, você está registrado. Se não - verifique seus parâmetros e "redeliver" o ping.
Repita a configuração para outros webhooks, se necessário ( RTM bidirecional e swarm (futuro) )
python octohook.py ./config/server.yml
python octohook.py ./config/client.yml