2022년 11월, 보안 엔지니어들은 Go 언어로 작성된 봇넷 Zerobot을 발견했다. 공격자는 WebSocket 프로토콜을 사용하여 C&C 서버와 통신했으며 11월 중순 부터 현재 버전의 악성코드를 배포하기 시작했다.
감염
Zerobot은 다수의 취약점을 이용하는데 다운로드 된 스크립트는 다음과 같으며 스크립트 다운로드 주소는 zero[.]sudolite[.]ml에서 176[.]65.137[.]5로 바뀌었다. 봇넷는 i386, amd64, arm, arm64, mips, mips64, mips64le, mipsle, ppc64, ppc64le, riscv64, s390x 등 다양한 아키텍처를 공격한다.
Zerobot은 두 가지 버전이 있으며 11월 24일 이전 버전은 기본적인 기능만 포함되어 있다. 새 버전은 selfRepo라는 모듈을 추가해 자체 복제와 공격을 진행한다.
이전 버전의 함수 목록은 다음과 같다.
초기화
Zerobot은 먼저 Cloudflare의 DNS 서버 1.1.1.1과의 연결을 확인한다.
이어 피해자의 운영체제 상황에 따라 악성코드를 복제한다. Windows 플랫폼의 경우 FireWall.exe라는 이름으로 %HOME% 폴더, Linux 플랫폼의 경우 /etc/init/ 및 /lib/systemd/system/ 시작폴더에 각각 복사된다.
그런 다음 AntiKill 모듈을 사용하여 사용자가 Zerobot 프로그램을 종료하는 것을 방지하고 특정 16진수 값을 모니터링하여 signal.Notify를 사용하여 프로세스를 종료하는 신호를 차단한다.
명령어
Zerobot은 WebSocket 프로토콜을 사용하여 C&C 서버 ws[:]//176.65.137.5/handle과의 연결을 시작한다.
WebSocket 프로토콜을 통해 피해자가 업로드한 데이터는 다음과 같다. {"Platform":"linux", "GCC":"386", "CPU":1, "Payload":"Direct", "Version":1} 과 같이 디코딩된 호스트 정보로 구성된 JSON 코드다.
지원되는 명령어는 다음과 같다.
명령어 | 설명 |
ping | 생존확인 |
attack | TCP, UDP, TLS, HTTP, ICMP 다중 프로토콜 공격 |
stop | 공격 중지 |
update | 업데이트 및 재부팅 |
enable_scan | 열린 포트 스캔 및 공격 |
disable_scan | 스캔 중지 |
command | 명령어 실행 |
kill | 프로세스 종료 |
취약점 이용
Zerobot에는 다음과 같이 21개의 취약점이 포함되어 있다.
영향을 받는 제품은 다음과 같으며 일부 IoT 장치 외에도 Spring4Shell, phpAdmin, F5Big 등이 포함된다.
ZERO_xxxxx라는 이름의 두 가지 취약점은 취약점 공개사이트 0day.today 웹 사이트에서 수집되었다.
취약점에서 사용 된 Payload는 앞서 설명한 스크립트 파일과 동일하다.
결론
Zerobot은 Websocket 프로토콜을 통해 C&C 서버와 통신을 수행하는 Go 언어로 작성된 새로운 봇넷이다. 11월 18일 처음 등장해 짧은 시간에 대폭 업그레이드 되어 공격과 감염 능력을 높였다.
'보안이야기 > 보안뉴스' 카테고리의 다른 글
무더기로 털린 한국 사이트들 (0) | 2023.02.28 |
---|---|
(과거 기록 방출)중국해커에게 털린 한게임 (0) | 2023.02.09 |
암호화폐 채굴장 BTC.com 해킹으로 300만 달러 탈취 돼 (0) | 2022.12.28 |
트위터 이용자 4억명 데이터 털렸다! (0) | 2022.12.26 |
GoTrim 봇넷, WordPress 관리자 계정 해킹 시도 중 (0) | 2022.12.15 |