Initial commit
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
# 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}`
|
||||
Reference in New Issue
Block a user