Как происходит управление децентрализованными ботнетами?
Злоумышленник имеет у себя свою версию бота, только слегка продвинутую, с возможностью менять конфигурацию. По сути смена конфигов и будет считаться командой. Главный параметр - версия бота. Если она больше, чем у бота на соседней машине, то соседний бот захочет скачать новые файлы и конфиги и обновиться до более актуального состояния, а там и новый функционал подъедет.
Другие боты расценивают бота на компе злоумышленника, как самого обычного бота. Они не знают, что злоумышленник настраивает его вручную. Таким образом, поймать его гораздо сложнее. Плюс такой ботнет устойчивее к разным проблемам в сети.
Принцип действия напоминает торренты. Достаточно, чтобы фильм скачал полностью хотя бы один лич, и он уже становится пиром, а источник может спокойно уйти в оффлайн, и уже невозможно вычислить источник (кроме как по теме, созданной на форуме, но у ботнетов такого нету).
Каждый бот хаотично опрашивает разные ip и ищет собратьев, сверяется с ними, у кого конфиг новее и правильнее. В случае чего - сразу обмен. Только в отличие от торрентов размеры файлов микроскопические, в современных сетях качаются почти моментально. Хотя, для незаметности можно не делать резких нагрузок на канал и растянуть удовольствие скачивания, но это уже отдельные тонкости.
Копай в сторону Backscatter analysis и Fast-Flux DNS botnet