WHISTL
휘슬(WHISTL)은 Web Hacking Inspection Security TooL의 약자로 한국인터넷진흥원(이하 KISA, krcert.or.kr)에서 공개한 WebShell 탐지 프로그램이다.
소정의 신청양식과 함께 사용 신청을 하면 휘슬을 사용할 수 있다. 휘슬은 Windows용과 Linux용이 존재하며 JSP,PHP, ASP 3개의 스크립트 언어를 지원한다.
- WHISTL 프로그램은 공격자가 웹 서버를 해킹 한 후 생성한 웹쉘 파일 및 악성코드 은닉 사이트를 서버 관리자들이 쉽게 탐지 할 수 있도록 패턴과 인터페이스를 제공하는 프로그램입니다.
- 또한 WHISTL은 홈페이지의 보안 강화용으로 사용할 수 없습니다. 웹서버 해킹을 예방하기 위해서는 웹 전용 보안장비를 운영 하시고 취약점 여부를 점검하셔야 합니다.
- 개인, 관공서, 공공기관, 공기업, 국립대 등 정부기관이나 산하기관들은 이용하실 수 없습니다.
NeoPI NeoPI는 resources.infosecinstitute.com/web-shell-detection/에서 공개한 python으로 제작된 오픈 소스 툴이다.
python으로 제작되었기 때문에 윈도우, 리눅스 모두에서 사용할 수 있는 이식성이 좋은 툴이며, 난독화된 파일에 대해서도 탐지가 가능한 매우 강력한 툴이다.
entropy, longest word, Index of Coincidence, auto의 4가지 알고리즘으로 탐지를 하기 때문에 더정확한 탐지 결과를 얻을 수 있다.
WebShellFinder WebShellFinder는 윈도우용 WebShell 탐지 도구이다. 직관적인 인터페이스와 쉬운 사용법이 특징으로, 이 도구는 File Option과 Signature Option을 제공합니다.
휘슬과는 다르게 ASP 스크립트만 탐지가능하며, 일반적으로 중국어를 사용하지 않는 사이트라면 기본적으로 체크되어있는 Signature에 더해서
gb2312(중국어 간체) 항목을 체크하고 실행하면 더 정확한 결과를 얻을 수 있다.
WSF WSF는 Mr8Open님이 공개한 Windows용 오픈 소스 툴로 Geekslab.com에서 다운로드 할 수 있다.
이 툴은 직접 DB를 업데이트 할 수 있으며, 특정한날짜, Zip 파일의 탐지까지 가능하다.
또한, 직접 DB 업데이트가 가능하기 때문에 암호화 된 코드에서도 특정 부분을 발취하여 룰을 작성할 수 있다.
BWSF BWSF는 Bar4mi님이 공개한 오픈 소스 툴로 bar4mi.tistory.com/61에서 다운로드 핛 수 있다.
이 툴은 perl로 제작되어 윈도우, 리눅스모두에서 실행가능하다.
또한, 정규표현식 지원, 점검 시 예외 디렉터리 설정, 점검할 파일 크기 설정 등 다양한 기능이 제공되고 있다.
WSCAN WSCAN은 중국의 보안업체 safe3 network에서 제작한 Windows용 프리웨어 툴이다. 언어는 중국어만 지원하지만 메뉴가 단순하여 간단하게 사용할 수 있다.
DB가 공개되어있지 않아 DB의 내용은 알 수 없지만 대부분의 해킹 툴 및 WebShell이 중국에서 제작되기 때문에
다른 Scanner를 수행한 후 WSCAN을 이용해서 재 스캐닝을 수행하면 더 좋다.
하로스 웹쉘/악성코드 탐지 전용솔루션 Web Guard
http://www.halos.co.kr/product/shellguard1.do
자이온 웹쉘 탐지 솔루션 ShellMonitor
http://zionlife.co.kr/products/product/shellmonitor-product-introduce/
유엠브이기술
http://www.qvsec.co.kr/web/qvsec/solution/ws01.php?depth1=3&depth2=3
SK인포섹
에이전트형 웹쉘 탐지솔루션 `W쉴드 안티웹쉘'
안랩
보안관제시스템 쉘모니터 탑재
ASP웹쉘 상세분석및 탐지방안
웹쉘(webshell) 에 대해서
출처: http://cdral.net/m/post/959
○ 다운 : https://code.google.com/p/bwsfinder/source/checkout
○ 출처 : http://cdral.net/m/post/view/id/959
웹을 통해 웹쉘을 업로드하는 경우가있는데 이미 웹셀이 구동중에 있고 다른 포트를 오픈해서 쓰고있다면 netstat 으로 확인해보자
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 26032/httpd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 588/sshd
udp 0 0 0.0.0.0:37028 0.0.0.0:* 25089/sshd
udp 0 0 0.0.0.0:37029 0.0.0.0:* 25479/httpd
위에 두개는 정상포트인데 아래 두개는 hack프로세스이다.
lsof -p pid번호 로 해당 프로세스 트리를 조회해보자
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME httpd 25479 apache cwd DIR 0,8 280 321300582 /dev/shm/bq httpd 25479 apache txt REG 0,8 612470 321300590 /dev/shm/bq/httpd
/dev/shm/ 이하 디렉토리에 웹쉘프로그램이 설치되어있다.
find 명령어로 /dev 디렉토리내에 파일을 검색해보자
# find /dev -type f
/dev/.udev/db/block:sdb1 /dev/.udev/db/block:sdb /dev/.udev/db/block:sda2 /dev/.udev/db/block:sda /dev/.udev/db/block:sr0
위에가 정상이라면 아래는 hack파일들이다.
/dev/shm/c.pl
/dev/shm/stopex.pl
/dev/shm/st/src/dcc.c
웹쉘권한을 얻었을때 이와같은 hack프로그램이 설치된이유는 해당 디렉토리가 777 퍼미션이기 때문이다.
/dev/shm, /var/tmp, /tmp 등은 주의깊게 관찰해야된다. 이외에도 디렉터리에 apache나 nobody, www-data유저에 쓰기 권한을 주거나 777같은 퍼미션을 주는 경우는 매우 잘못된 습관이라고 할 수 있다. 물론 curl, wget, lynx 등의 파일에도 755 퍼미션을 주면안된다.
chmod 701 /
chmod 701 /home
cd /etc
chmod 600 fstab
chmod 600 hosts.*
chmod 600 modprobe.conf
chmod 600 sysctl.conf
chmod 600 redhat-release
cd /usr/bin
chmod 700 wget
chmod 700 lynx
chmod 700 curl
chmod 700 lwp-*
몇가지 권한 설정을 하는건 필요하다.
만약 웹권한으로 웹쉘을 업로드하면 결과적으로 root 권한까지 탈취하게 되는데 최소한 php를 사용할 경우는 반드시 php.ini 파일에 아래 설정은 off를 해주자
allow_url_fopen = Off
register_globals = Off
그리고 필요없는 php 함수들은 사용 할 수 없게 하는 것도 하나의 방법이다
대부분이 서버의 정보를 보여주는 설정들이다. 서비스에 별 필요 없는 기능들이고 서버에 어떠한 영향을 주는 함수들은 아니지만 해커에 의해 악용 될 수 있기 때문에 막아 놓은 것이 나을것이다.
disable_functions = php_uname, ini_set, getenv, get_user, phpversion, ini_get, ini_get_all, phpinfo, system, exec, passthru, escapeshellcmd, pcntl_exec, shell_exec
특히 주의할 점은 system, exec, passthru, escapeshellcmd, pcntl_exec, shell_exec 함수들은
서버상에서 운영체제 명령어를 실행 시키는 명령들이다. 일단 웹쉘이 업로드 되면 위의 함수들로 서버상에서 작업을 할 수 있으므로
막는게 좋으나 실제 운영되고 있는 홈페이지에서도 사용 할 수 있으므로 잘 알아 보고 필요한 함수는 빼고 설정 하는 것이 좋다.
웹쉘을 탐지해보자
참조 : http://hackersnews.org/hn/index.cgi?command=search&words=%C0%A5%BD%A9
참조: http://bar4mi.tistory.com/61
Bar4mi WebShell Finder Ver0.5
2010/07/18 22:09 |
'보안 > 웹 해킹_보안' 카테고리의 다른 글
[BackTrack5 R3] skipfish를 이용한 웹 취약점 스캐닝 (0) | 2014.10.12 |
---|---|
[해킹툴활용] John the ripper 를 이용한 패스워드 크랙 (0) | 2014.07.22 |
국내 주요 해킹 사례 (0) | 2014.05.09 |
해커의 공격 방법론 상세 설명 (0) | 2014.04.14 |
웹 쉘 (0) | 2013.10.31 |