
멀웨어 (웹) 스캐너로, CyperCamp Hackathon 2017에서 개발됨
현재, 모든 유형의 웹사이트(커스텀 또는 CMS)에서 사용할 수 있는 기능과 일부 플랫폼에서만 사용할 수 있는 기능이 있습니다:
컴퓨터에 _masc_를 설치하려면 이 저장소를 간단히 클론하면 됩니다. 또한 최신 릴리즈를 다운로드하여 압축을 풀고 시도할 수 있습니다. 또는 pip ('pip3 install masc')를 사용하여 설치할 수도 있습니다.
실행 전에 요구사항을 확인하세요.
Debian Linux를 사용하는 경우 이 공지를 먼저 확인하세요.
Mac OSX를 사용하는 경우 이 공지를 먼저 확인하세요.
masc는 Linux 및 Mac OSX 플랫폼에서만 테스트되었습니다. Windows에서도 실행되어야 하지만 아직 시도해보지 않았습니다.
먼저, 이 도구는 Linux 및 Mac OSX 환경에서 개발되었으며 현재 이 운영 체제에서만 테스트되었습니다.
santi@zenbook:$ pip3 install python-magic yara-python watchdog termcolor pypandoc progress pyclamd
제 노트북에서 Debian testing으로 업그레이드한 후, masc가 Yara와 관련된 오류를 표시하기 시작했습니다.
OSError: /usr/lib/libyara.so: cannot open shared object file: No such file or directory
인터넷에서 찾은 많은 해결책을 시도한 후, 이 파일이 내 컴퓨터의 _/usr/local/lib/python3.5/dist-packages/usr/lib_에 위치해 있음을 알게 되어, 이전 경로에서 _/usr/lib_로 심볼릭 링크를 생성했습니다.
santi@zenbook:$ ln -s /usr/local/lib/python3.5/dist-packages/usr/lib/libyara.so /usr/lib/libyara.so
이제 masc와 Yara 라이브러리가 문제 없이 실행됩니다.
_masc_는 Linux에서 개발되었지만 Mac OSX에서 테스트되었습니다. 어쨌든 Unix 호환 OS에서 문제 없이 실행되어야 합니다.
특히 Mac OSX에서는 python-magic 라이브러리를 _libmagic_로 제대로 사용하기 위해 Homebrew를 설치해야 함을 알게 되었습니다. 먼저 brew 홈페이지의 이전 링크를 확인한 후 아래와 같이 설치할 수 있습니다:
santi@zenbook:$ brew install libmagic
또한 내 컴퓨터에서는 masc.py 스크립트의 첫 줄을 변경해야 했습니다. Python3는 _/usr/local/bin_에 설치되어 있으며 _/usr/bin_에서 심볼릭 링크를 생성하는 것이 허용되지 않습니다.
_masc.py_의 첫 줄을
#!/usr/bin/python3
다음 줄로 변경합니다
#!/usr/local/bin/python3
어쨌든 스크립트를 직접 실행하는 대신 Python 인터프리터를 사용하여 _masc_를 실행할 수 있습니다:
santi@zenbook:$ python3 masc.py
usage: masc [-h] [-af FILENAME] [--aw STRING] [-cc] [-c] [-l] [-b] [-m]
[-n NAME] [-p PATH] [-r] [-s] [-t {wordpress,drupal,custom}]
optional arguments:
-h, --help show this help message and exit
-af FILENAME, --add-file FILENAME
Add a suspect file to the dictionary
-aw STRING --add-word STRING
Add a suspect content to the dictionary
-cc, --clean-cache Clean masc cache (cache and logs files, NO backups)
-c, --clean-site Clean up the site (and apply some extra actions to hide information to attackers)
-l, --list-backups List local backups
-b, --make-backup Create a local backup of the current installation
-m, --monitor Monitor site to detect changes
-n NAME, --name NAME Name assigned to the scanned installation
-p PATH, --path PATH Website installation path
-r, --rollback Restore a local backup
-s, --scan Scan website for malware
-t {wordpress,drupal,custom}, --site-type {wordpress,drupal,custom}
which type of web you want to scan:: wordpress,
joomla, drupal or magento
웹 설치에 대해 수행할 수 있는 작업은 다음과 같습니다:
그리고 특정 종류의 웹 설치에 대해 작업을 수행하려면 유형(-t 또는 --type)과 경로(-p 또는 --path)를 지정해야 합니다.
예를 들어, /var/www/html에 WordPress 설치가 있고 전체를 스캔하려면:
santi@zenbook:$ ./masc.py --scan --site-type wordpress --path /var/www/html
그리고 정리 작업(예: 멀웨어 제거)을 수행하려면:
santi@zenbook:$ ./masc.py --scan --site-type wordpress --path /var/www/html --clean-site
samples zip 파일에는 해킹된 웹사이트의 두 가지 샘플이 있습니다:
또한 Docker Hub에 테스트를 위한 저장소가 있습니다 masc-wordpress
masc 사용 방법에 대한 튜토리얼은 위키에서 찾을 수 있습니다.
이 프로젝트에 기여하려면 위키를 확인하세요. 이 프로젝트에 기여하는 방법에 대한 섹션이 있습니다.
아이디어와 체크섬 및 YARA 규칙이 포함된 서명 데이터베이스(및 작동 방식 로드 방법)를 제공한 OWASP WebMalwareScanner에게 감사드립니다.
Santiago Faci [email protected]