[Tools/Linux] - 바이퍼(Viper) #01 - 개요 및 설치
[Tools/Linux] - 바이퍼(Viper) #02 - 프로젝트(Project)
[Tools/Linux] - 바이퍼(Viper) #03 - 샘플파일 수집
1. 스토어 (Store)
스토어 명령은 외부에 있는 저장소에서 파일이나 압축 파일(ZIP)을 바이퍼 저장소에 저장하는 역할을 하는 명령어이다. "바이퍼(Viper) #03 - 샘플파일"에서 다운로드 받은 악성코드를 저장한다. 저장하기 전에 해야할 것은 프로젝트를 선택한다.
도움말을 살펴보면 -d 원본 파일 삭제, -f 폴더 선택, -s 파일사이즈 선별, -y 파일 포맷 설정, -n 파일 이름, -t 태그 입력 기능을 가진다. 다만, -s 파일사이즈 선별 기능은 제대로 동작하지 않는다. -y 옵션을 사용할 때 유의 사항은 대문자로 사용한다. -n 옵션 뒤에 파일 이름을 입력하는데 asterisk(*) 를 사용할 수 있다.
store 명령 도움말
-s 옵션을 사용하지 못하는 이유는 관리자가 입력한 정수형의 값을 처리하는 과정 정수형으로 처리하지 않고 문자형으로 처리하기 때문에 발생하는 문제이다. 해결 방안은 viper/update.py를 수행하여 바이퍼를 업데이트하면 사용할 수 있다. 패치되는 소스코드는 viper/viper/core/ui/commands.py 에서 확인 할 수 있다.
store -f 명령을 통해 사전에 다운로드 받은 악성코드를 저장한다. 디렉토리를 지정할때 절대경로, 상대경로 모두 써도 된다. 등록될때는 project 디렉토리에 sha 256 해시값에 따라 디렉토리를 생성하여 저장된다. 이러한 과정은 viper/viper/core/storage.py 에서 확인할 수 있으며, 해당 프로젝트 디렉토리에서 tree 명령을 통해 확인 할 수 있다.
sudo apt-get install tree
디렉토리 내 파일 저장
저장된 파일 디렉토리화
만약 등록하는 과정에서 동일한 해시값을 가지고 있다면, Skip 이 발생하여 저장하지 않는다.
Skip이 발생하는 경우
저장한 악성코드는 프로젝트 디렉토리 안에(viper/projects/fngs1/) viper.db로 데이터베이스가 생성된다. 이 데이터베이스는 sqlite3로 확인할 수 있다.
sudo apt-get install sqllite3
.tables 명령으로 테이블을 확인하면 malware 테이블이 존재한다. 이 테이블 안에 저장된 파일에 대한 정보를 볼 수 있다.
Sqlite3 데이터베이스 확인
'Information Security > OpenSource' 카테고리의 다른 글
vt-tool - Find the name of the evil (0) | 2015.01.18 |
---|---|
CapTipper - Malicious HTTP traffic explorer tool (4) | 2015.01.16 |
바이퍼(Viper) #03 - 샘플파일 수집 (0) | 2015.01.09 |
바이퍼(Viper) #02 - 프로젝트(Project) (0) | 2015.01.05 |
바이퍼(Viper) #01 - 개요 및 설치 (3) | 2015.01.04 |