Cuckoo sandbox在Ubuntu16.04安装遇到的问题及解决方法

Cuckoo sandbox在Ubuntu16.04安装遇到的问题及解决方法,第1张

毕设需要安装cuckoo,无奈遇到很多问题,只能摸索着解决。


耗时一天终于安装成功了QAQ
环境:Ubuntu16.04、virtualbox
主要参考:
https://blog.csdn.net/Bingoooooo_/article/details/94248229
https://www.cxyzjd.com/article/vevenlcf/80908781
https://blog.51cto.com/u_15317888/3232503

1. cuckoo依赖的cryptography错误

报错:
ERROR: Could not build wheels for cryptography, which is required to install pyproject.toml-based projects

Could not build wheels for cryptography which use PEP 517 and cannot be installed directly

解决:
这是困扰我最久的问题,两种报错信息都出现过,google了很多相似的问题,解决方案基本都是升级pip或检查依赖。


但cuckoo支持的(也是Ubuntu16.04默认的)Python2.7最高只能安装pip20。



所以我先安装了Python3.8,切换到Python3.8环境后,升级pip到21,之后再安装cryptography模块。


以下是具体步骤:
下载python3.8版本的安装包:

wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tar.xz

解压python版本:

tar -xvJf  Python-3.8.1.tar.xz

更新pip和pip3下载源:

pip install --upgrade pip
pip3 install --upgrade pip

安装python3.8:

cd Python-3.8.1/
./configure prefix=/usr/local/python3
sudo -s
make && make install

备份原来的python路径,将python3.8设置成新的路径:

sudo -s mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/local/python3/bin/python3 /usr/bin/python

然而!用pip21直接安装cryptography还是会报错!于是我想,直接pip install会安装较高版本,手动选择低版本可能可行。


# 直接 pip install cryptography 安装的是高版本,试试cryptography2.8
pip install cryptography==2.8

结果可行~

(之后再pip install cuckoo的时候,不要忘记先换回Python2.7和对应的pip

2. cryptography2.8和其他包版本不兼容

pip install cuckoo后,会有两个包与cryptography2.8版本不兼容。


这是因为pip安装cuckoo,会按默认cryptography3.5的版本安装其他依赖包,但已经手动安装了cryptography2.8,所以会产生冲突,解决方法是手动安装低版本有冲突的包。


pip install pyopenssl==19.0
3. cuckoo运行样本后结果报告为空

没有截图,没有运行信息,查看运行日志发现出现exception

cuckoo1: analysis #1 caught an exception
Traceback (most recent call last):
  File "C:/tmprtexly/analyzer.py", line 808, in 
    success = analyzer.run()
  File "C:/tmprtexly/analyzer.py", line 608, in run
    __import__(name, globals(), locals(), ["dummy"], -1)
  File "C:\tmprtexly\modules\auxiliary\recentfiles.py", line 43
    '''
    ^
IndentationError: unexpected indent

发现是C:\tmprtexly\modules\auxiliary\recentfiles.py文件的问题,这个文件是由/home/.cuckoo/analyzer/windows/modules/auxiliary/recentfiles.py复制过去的,所以需要修改此文件。



参考https://github.com/cuckoosandbox/cuckoo/issues/1934
将一部分代码注释成这样

#r = SHELL32.SHGetKnownFolderPath(
# uuid.UUID(self.locations[location]).get_bytes_le(),
# 0, None, ctypes.byref(dirpath)
# )
# if r:
# log.warning("Error obtaining user directory: 0x%08x", r)
# return

之后就可以愉快地跑恶意代码,看分析报告了~~

小结

以上就是遇到的比较难解决的三个问题,尤其是第一个。


不过所幸网上的指导有很多,最后还是成功解决了。


完结撒花~

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/580300.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-11
下一篇 2022-04-11

发表评论

登录后才能评论

评论列表(0条)

保存