5. Phương pháp nghiên cứu
4.3.2 Các chương trình có trong hệthống
Trước khi bắt đầu cài đặt và cấu hình hệ thống, ta cần phài cài trước một số chương trình và thư viện sau:
1. Cài đặt python
Chúng ta sử dụng câu lệnh sau: $ sudo apt-get install python
2. Cài đặt SqlAlchemy application
Cuckoo cần các SQLAlchemy application như bộ công cụ cơ sở dữ liệu cho Python. Vì vậy, ta cần phải cài đặt SQLAlchemy với dòng lệnh sau đây: $ sudo apt-get install python-sqlalchemy
Bạn cũng có thể sử dụng lệnh pip để cài đặt SQLAlchemy. ( Pip là một công cụ để cài đặt và quản lý các gói Python.)
$ sudo pip install sqlalchemy
3. Các chương trình tùy chọn cài thêm ( Không bắt buộc )
Các thư viện sau đây, không yêu cầu, nhưng ta nên có các thư viện để đảm bảo Cuckoo Sandbox hoạt động tốt trong môi trường của chúng ta:
• dpkt: Thư viện này là rất được khuyên dùng và sử dụng để trích xuất thông tin từ các tập tin pcap.
• jinja2: Thư viện này là cũng được khuyến khích và được sử dụng để sinh ra các báo cáo có định dạng HTML và web interface.
• magic: Thư viện này là tùy chọn và được sử dụng để xác định các định dạng tập tin (nếu không sử dụng các tập tin tiện ích dòng lệnh).
• ssdeep: Thư viện này cũng là tùy chọn và được sử dụng để tính toán hash mờ cho các tập tin.
• pydeep: Thư viện này là tùy chọn và được sử dụng để tính ssdeep băm mờ của tập tin. 54
• pymongo: Thư viện này là tùy chọn và được sử dụng để lưu trữ các kết quả trong cơ sở dữ liệu MongoDB.
• Yara và Yara python: Thư viện này là tùy chọn và được sử dụng để so khớp với chữ ký được viết bằng Yara.
• libvirt: Thư viện này là tùy chọn và nó sử dụng quản lý máy KVM
• bottlepy: Thư viện này là tùy chọn và nó được sử dụng cho web.py và các hàm trong api.py.
• pefile: Thư viện này là tùy chọn và được sử dụng để phân tích tĩnh của PE32 dưới dạng nhị phân.
Tất cả các gói trên có thể được cài đặt bằng cách sử dụng một dòng lệnh apt-get:
$ sudo apt-get install python-dpkt python-jinja2 python-magic python-pymongo python-libvirt python-bottle python-pefile ssdeep
Hoặc chúng ta có thể cài đặt tất cả các gói trên sử dụng trình quản lý gói pip (trừ python-magicvà python-libvirt):
$ sudo pips install dpkt jinja2 pymongo bottle pefile
Ta phải cài đặt pydeep cho ssdeep fuzzy hash của mẫu; nhưng trước khi cài đặt Pydeep, chúng ta cần phải cài đặt một số phụ thuộc với các dòng lệnh sau đây:
• Build-essential • Git • Libpcre3 • Libpcre3-dev • Libpcre++-dev Lệnh cài đặt:
$ sudo apt-get install build-essential git libpcre3 libpcre3-dev libpcre++-dev
Tiếp theo, bạn phải clone pydeep từ git (và đặt pydeep vào trong các thư mục /opt): $ cd /opt
$ git clone https://github.com/kbandla/pydeep.git pydeep $ cd /opt/pydeep/
python setup.py build sudo python setup.py install
Ta cũng sẽ cần phải cài đặt Yara để phân loại các mẫu phần mềm độc hại (đặt Yara trong / opt thư mục):
$ sudo apt-get install automake -y $ cd /opt
$ svn checkout http://yara-project.googlecode.com/svn/trunk/yara $ cd /opt/yara
$ sudo ln -s /usr/bin/aclocal-1.11 /usr/bin/aclocal-1.12 $ ./configure
$ make
$ sudo make install $ cd yara-python
$ python setup.py build $ sudo python setup.py install
Ta cũng cần phải cài đặt tcpdump để dump lưu lượng mạng trong quá trình phân tích: $ sudo apt-get install tcpdump
Nếu muốn chạy tcpdump, ta cần quyền root; nhưng kể cả khi bạn không muốn Cuckoo chạy dưới quyền root, bạn sẽ phải thiết lập đường dẫn Linux cho các file nhị phân, bằng các dòng lệnh sau đây:
$ sudo apt-get install libcap2-bin
Chúng ta có thể xác minh các kết quả của lệnh trên bằng lệnh sau:
$ getcap /usr/sbin/tcpdump /usr/sbin/tcpdump =cap_net_admin,cap_net_raw+eip Nếu bạn không có setcap cài đặt, bạn nên cài đặt thư viện này:
$ sudo apt-get install libcap2-bin
Nếu không (tuy không khuyến khích) thì có thể chạy dòng lệnh sau đây: 56
$ sudo chmod + s / usr / sbin / tcpdump
Các lệnh chmod + s là bit SUID,ta thêm cả ID người dùng và nhóm ID cho phép vào một tập tin. Trong trường hợp này, nó là tcpdump. Nếu bạn thiết lập SUID bit "s" vào tcpdump, sau đó người dùng khác có thể chạy nó và họ sẽ trở thành các root trong quá trình tcpdump được thực hiện. Đó là lý do tại sao bước này không được khuyên dùng. Sau khi bạn hoàn thành việc thiết lập các hệ điều hành chủ, bạn cần phải cài đặt và cấu hình Cuckoo Sandbox cho Host OS của chúng ta.