54 lines
3.8 KiB
Markdown
54 lines
3.8 KiB
Markdown
# Alpha A/D
|
||
|
||
## AD чеклист
|
||
|
||
- [ ] Поднять инфру на vulnbox (Pacmate+Firegex)
|
||
- [ ] Поднять ферму в локалке с вашей командой с сетевым доступом к борде (+настроить конфиг фермы) (возможно локально у одного участника команды)
|
||
- [ ] Поменять в start_sploit.py ip-адрес и пароль от фермы (запушить!)
|
||
- [ ] Склонить репу с сервисами каждому участнику, закинуть туда выданные сервисы, продублировав в папку services_vulnerable для сохранения диффа, все патчи делать в папке services
|
||
- [ ] Склонить репу на vulnbox, чтобы можно было делать git pull
|
||
- [ ] Поднять сервисы на vulnbox
|
||
- [ ] Настроить фильры в Pacmate по регулярке флага и добавить сервисы
|
||
|
||
Далее как писать сплойты:
|
||
сплойт - это python скрипт, который принимает
|
||
```python
|
||
ip = sys.argv[1]
|
||
```
|
||
этот ip будет в argv передавать start_sploit.py с фермы
|
||
|
||
далее в сплойте обязательно надо поставить
|
||
```python
|
||
#!/bin/python3
|
||
```
|
||
|
||
далее сплойт должен печатать флаги и вместе с ним любой мусор в stdout (можно не фильтровать флаги из всего вывода, это сделаем start_sploit.py), для этого надо во всех print() делать
|
||
|
||
```python
|
||
print("", flush=True)
|
||
```
|
||
|
||
запускать сплойт через start_sploit.py
|
||
|
||
```python3
|
||
./start_sploit.py splot.py
|
||
```
|
||
|
||
автоматом все флаги, которые собрал сплойт, будут отправляться на ферму
|
||
|
||
Флоу во время AD:
|
||
- При выдаче сервисов сразу натравливаем агентов искать уязы и писать сплойты, скормив правила написания выше
|
||
- Можно поднимать локально для тестов сплойтов
|
||
- Поменять все дефолт креды и токены в коде (запушить, подтянуть на vulnbox, ребилдить и редеплойнуть на vulnbox!!) но сохранить старые в файле где то
|
||
- Как только открывается сеть запукаем сплойты через start_sploit.py (мониторим что ферма работает и получает флаги и отправляет в борду!!!)
|
||
- Патчим все сервисы на найденные уязы (редеплоим)
|
||
- Так же если были открыты БД на портах во вне, запускаем сплойты на дефолт креды на БД
|
||
- Далее смотрим куда чекеры кладут флаги по Pacmate - ищем flag store и говорим агентам понять как туда добраться через уязы - пишем сплойты
|
||
- Отдельно мониторим что сервисы не падают и чекеры проходят
|
||
- Отдельно мониторим когда у вас крадут флаги - сразу смотрим в пакмейт и ищем через что они у вас утекают
|
||
- (проверить не у всех ли одинаковый пароль ssh от vulnbox!!)
|
||
|
||
## CI/CD
|
||
|
||
Там короче собирает вот, не забудьте добавить в compose.yaml `image: git.itqdev.xyz/4x10m/<service>:${IMAGE_TAG:-latest}`
|