1. 개요

- 최근 고 언어 기반의 스캐너 고브루트포서(GoBruteforcer)라는 봇넷 멀웨어가 새롭게 발견

- FTP, MySQL, phpMyAdmin, Postgre 서비스를 제공하는 서버를 대상으로 함

- 스캔을 통해 열려 있는 포트들을 찾아내면, Bruteforce 통해 침투 후 IRC 봇 유포

 

2. 동작방식 [1]

- 특정 서비스(phpMyAdmin, MySQL, FTP, Postgres)를 제공하는 웹 서버를 대상으로 스캔 후 Bruteforce로 액세스 시도\

※ Postgres: 확장 가능성 및 표준 준수를 강조하는 객체-관계형 데이터베이스 관리 시스템

- Bruteforce를 위한 계정 정보 및 C2 서버와 통신을 위한 명령은 스캐너 내에 하드코딩 되어있음

① 80_phpMyAdmin, 21_FTP, 3306_MySQL, 5432_Postgres 포트가 열린 웹 서버를 스캔

② 해당 서버가 phpMyAdmin인지, 다른 서버인지 확인 후 Bruteforce 수행

③ 공격자가 제어하는 C2와 통신하기 위해 서버의 유형에따라 통신 수단이 다름

> phpMyAdmin: 피해 시스템에 IRC 봇 유포

IRC(Internet Relay Chat) 봇
- IRC(Internet Relay Chat) 실시간 채팅 프로토콜에서 작동하는 자동화된 소프트웨어 프로그램
- 일반적으로 프로그래밍 언어의 스크립트로 작성되며, 채팅방에서 입력된 명령어를 인식하고 해당 명령에 따라 프로그래밍 된 동작을 수행

> 타 서비스: 피해 시스템에 웹 쉘 업로드

 

[사진 1] 공격 방식

2.1 네트워크 스캔

- 주어진 대상 IP 대역을 대상으로 phpMyAdmin, MySQL, FTP, Postgres 서비스 검색

[사진 2] 서비스 체크

2.1.1 phpMyAdmin 서비스

- 스캐너는 80 포트가 Open 되어있는지 확인

- 오픈된 포트를 찾은 경우 스캐너 내 하드코딩된 자격 증명 세트를 이용해 Bruteforce 수행

- 접속 성공 후 IRC 봇 배포 및 C2와 통신을 수행

> IRC 봇은 주기적인 실행을 위해 cron 등록

[사진 3] IRC 봇과 C2 간 통신

2.2.2 MySQL, Postgres 서비스

- 스캐너는 3306, 5432 포트가 Open 되어있는지 확인

- 오픈된 포트를 찾은 경우 서버 데이터베이스에 특정 사용자 계정으로 ping을 보냄

[사진 3] MySQL 쿼리(위) 및 Postgres 쿼리(아래)

 

- 이후, PostResult 모듈을 호출해 C2 서버와 통신

[사진 4] PostResult 모듈을 이용한 C2 통신

2.2.3 FTP

- 스캐너는 21 포트가 Open 되어있는지 확인

- 오픈된 포트를 찾은 경우 Golang용 FTP 클라이언트 패키지의 goftp라이브러리를 사용하여 서버에 인증 시도

[사진 5] FTP 인증 시도

2.2 C2 통신

- 피해자 서버에 업로드한 웹쉘을 통해 통신을 수행

- 웹쉘에는 리버스 쉘, 바인드 쉘 기능과 패킷 제작 기능이 있음

 

3. 대응방안

① 모니터링 강화

 

② 침해지표 IoC 등을 보안장비에 적용

- 참고의 IoC를 참고하여 적용[1]

 

4. 참고

[1] https://unit42.paloaltonetworks.com/gobruteforcer-golang-botnet/
[2] https://www.boannews.com/media/view.asp?idx=115111&kind=1&search=title&find=GoBruteforcer
[3] https://www.youtube.com/watch?v=_HV3gzZLPWM

'취약점 > Scanner' 카테고리의 다른 글

SIPVicious scanner  (0) 2022.12.09
Masscan Scanner  (0) 2022.10.06
ZGrab Scanner  (0) 2022.10.06

+ Recent posts