
Herramienta web de registro de actividad, generación de informes y conciencia situacional para red team con integración con Cobalt Strike y BloodHound.
Un centro para la actividad del Red Team que ayuda en el mantenimiento de registros, la conciencia situacional y la elaboración de informes. Stepping Stones proporciona una interfaz web para que el equipo registre la actividad y genere fragmentos de informes. La interfaz está pensada para ser lo suficientemente ágil como para usarse durante todo el compromiso, no solo en la fase de elaboración de informes.
Entrada del blog de lanzamiento
Stepping Stones es una aplicación Python Django, por lo que para obtener una copia local en funcionamiento:
python -m venv .venv.venv\Scripts\activate o source .venv/bin/activate en *nixpip install -r requirements.txtpython manage.py makemigrations background_taskpython manage.py migratepython manage.py runserver y python manage.py process_tasks simultáneamentepython manage.py check --deploy para obtener recomendaciones de endurecimiento y, a continuación, siga una guía como:
https://docs.djangoproject.com/en/6.0/howto/deployment/En el Team Server, abra un puerto en el cortafuegos para permitir que Stepping Stones se conecte, p. ej.
sudo ufw allow proto tcp from 172.31.16.0/20 to any port 50050Si está ejecutando una copia local, cuando el código se haya actualizado en git y quiera las nuevas funciones:
sudo service ssbot stopsudo service steppingstones stoprm -rf /tmp/stepping-stones-main; unzip /tmp/stepping-stones-main.zip && cp -R /tmp/stepping-stones-main/* /opt/steppingstones.venv\Scripts\activate o source .venv/bin/activate en *nixpip install -r requirements.txtpython manage.py makemigrations background_taskpython manage.py migrate.
python manage.py makemigrations, DETÉNGASE y contacte con los desarrolladores de Stepping Stones: es importante que todos los usuarios trabajen con el mismo conjunto de scripts de migración, y estos deben coordinarse a través de los desarrolladores.sudo service ssbot restartsudo service steppingstones restartjournalctl -u steppingstonesSi está usando la misma instancia para distintos trabajos y desea archivar los datos antiguos para empezar de cero, puede:
mv db.sqlite3 db.sqlite.OLD_CLIENT_NAMEEl sistema usa SQLite. Realice copias de seguridad periódicas del archivo db.sqlite3 en la raíz del servidor o mediante la interfaz web para proteger sus valiosos datos.
Cada una de las URLs de web hook configuradas recibirá un pequeño documento JSON en eventos clave. El documento JSON siempre tiene la estructura:
{
"type": "notification type",
"message": "Human readable message"
}
El campo type puede ser uno de los siguientes:
new beacon (Un beacon no visto anteriormente se ha conectado a un Team Server supervisado)respawned beacon (Un beacon visto anteriormente se ha conectado a un Team Server supervisado)returned beacon (Un beacon que ha sido expresamente supervisado para su reconexión acaba de reconectarse)Para consumir esto, puede utilizar un escenario de https://make.com, basado en el siguiente plano:
{"name":"Webhook to iOS","flow":[{"id":1,"module":"gateway:CustomWebHook","version":1,"parameters":{"hook":129792,"maxResults":1},"mapper":{},"metadata":{"designer":{"x":-386,"y":-129},"restore":{"parameters":{"hook":{"data":{"editable":"true"},"label":"My webhook"}}},"parameters":[{"name":"hook","type":"hook:gateway-webhook","label":"Webhook","required":true},{"name":"maxResults","type":"number","label":"Maximum number of results"}],"interface":[{"name":"type","type":"text"},{"name":"message","type":"text"}]}},{"id":8,"module":"ios:SendNotification","version":1,"parameters":{"device":171760},"mapper":{"body":"{{1.message}}","title":"{{1.type}}","action":"","priority":10,"collapsible":false},"metadata":{"designer":{"x":-31,"y":-128},"restore":{"expect":{"action":{"label":"Default"},"priority":{"label":"Deliver immediately"}},"parameters":{"device":{"data":{"editable":"undefined"},"label":"Personal Phone"}}},"parameters":[{"name":"device","type":"device:apn","label":"Device","required":true}],"expect":[{"name":"title","type":"text","label":"Title","required":true},{"name":"body","type":"text","label":"Body"},{"name":"action","type":"select","label":"Action","validate":{"enum":["open_url"]}},{"name":"priority","type":"select","label":"Priority","required":true,"validate":{"enum":[10,5]}},{"name":"collapsible","type":"boolean","label":"Collapse push notifications","required":true}]}}],"metadata":{"instant":true,"version":1,"scenario":{"roundtrips":1,"maxErrors":3,"autoCommit":true,"autoCommitTriggerLast":true,"sequential":false,"confidential":false,"dataloss":false,"dlq":false},"designer":{"orphans":[]},"zone":"eu1.make.com"}}