cuckoo沙箱常见报错总结
使用cuckoo沙箱的過(guò)程中不時(shí)出現(xiàn)一些錯(cuò)誤,網(wǎng)上幾乎沒(méi)有中文的問(wèn)題帖,解決方法都是在github找到。在此記錄一些解決方法。
1. Cuckoo沙箱有一本Book,里邊提到一些用戶問(wèn)過(guò)的問(wèn)題。
文件地址:https://readthedocs.org/projects/cuckoo/downloads/pdf/latest/。
2. CuckooCriticalError: Unable to bind ResultServer on 192.168.56.1:2042 [Errno 99] Cannot assign requested address. This usually happens when you start Cuckoo without bringing up the virtual interface associated with the ResultServer IP address. Please refer to https://cuckoo.sh/docs/faq/#troubles-problem for more information.
解決方法:先開(kāi)一下虛擬機(jī)運(yùn)行一下,再啟動(dòng)cuckoo。
3.?報(bào)錯(cuò):沒(méi)有m2crypto 0.24.0(一定要這個(gè)版本,安裝比這新的版本會(huì)接著報(bào)錯(cuò))
要安裝swig,libssl-dev,libpcre3,libpcre3-dev,gcc-multilib
用pip安裝m2crypto0.24.0的過(guò)程中常會(huì)出錯(cuò),如下面這個(gè):
error: ‘CRYPTO_NUM_LOCKS’ undeclared
于是采用https://github.com/cuckoosandbox/cuckoo/issues/2606中網(wǎng)友leniwiec16的方案,整套執(zhí)行下來(lái)還是有錯(cuò),在python中?import M2Crypto?時(shí)會(huì)報(bào)錯(cuò):ImportError: M2Crypto/__m2crypto.so: undefined symbol: sk_find_ex
之后尋遍百度谷歌也找不到能解決這個(gè)問(wèn)題的方法。
后來(lái)想到,我是在conda環(huán)境中安裝cuckoo的,而官方建議在virtualenv環(huán)境下運(yùn)行,于是換用一個(gè)virtualenv環(huán)境,問(wèn)題解決。
4.?報(bào)錯(cuò):virtual machine hasn’t been able to contact back to the cuckoo host
把iptables卸掉,把ufw關(guān)掉。虛擬機(jī)里的防火墻也得關(guān)了。(虛擬機(jī)可以不用聯(lián)網(wǎng))。
確保虛擬機(jī)里的agent.pyw處于運(yùn)行狀態(tài)(任務(wù)管理器中能看到pythonw后臺(tái)程序)
更新:發(fā)現(xiàn)配置好iptables轉(zhuǎn)發(fā)規(guī)則后,host-only的虛擬機(jī)能聯(lián)網(wǎng)……轉(zhuǎn)發(fā)規(guī)則如下(僅供參考):
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.56.0/24 -j MASQUERADE
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -s 192.168.56.0/24 -j ACCEPT
5.?Analysis results folder does not contain any behavior log files?(報(bào)告中沒(méi)有behavior的部分)
把虛擬機(jī)中的UAC(用戶賬號(hào)管理)關(guān)掉,避免在運(yùn)行程序時(shí)彈出彈框問(wèn)是否運(yùn)行。
6.?CuckooPackageError: Unable to execute the initial process, analysis aborted
在分析迅雷的安裝程序時(shí)報(bào)的錯(cuò)。后來(lái)發(fā)現(xiàn)分析一個(gè)virusshare的樣本時(shí)也有同樣的報(bào)錯(cuò)。
按網(wǎng)上的說(shuō)法,虛擬機(jī)中的登錄賬號(hào)需要是administrator。
先激活之:
net user administrator /active:yes
然后注銷當(dāng)前賬號(hào)并登錄administrator
以后的操作中要確保agent.py由admin啟動(dòng)(有時(shí)開(kāi)機(jī)時(shí)先自動(dòng)登錄了非管理員賬號(hào)并根據(jù)設(shè)置的開(kāi)機(jī)自啟項(xiàng)啟動(dòng)了agent.py,這時(shí)就可能出錯(cuò))
7.?Warning: It appears that you haven’t loaded any Cuckoo Signatures.
cuckoo推薦這個(gè)cuckoo簽名,說(shuō)有了它可以讓分析得的信息更豐富,也讓打分更準(zhǔn)確。 命令行執(zhí)行
cuckoo community即可。
附:官網(wǎng)舉了四點(diǎn)cuckoo簽名的用處:
8.?使用REST API提交任務(wù)時(shí),報(bào)錯(cuò):AttributeError: ‘Request’ object has no attribute 'is_xhr’
出錯(cuò)的地方在werkzeug包里,是Flask包的版本依賴問(wèn)題,按網(wǎng)友的說(shuō)法,將werkzeug降為0.17即可(原來(lái)是1.0.1)。
9. 使用python調(diào)用REST API后的401錯(cuò)誤
一般是http請(qǐng)求頭部的authorization字段值的問(wèn)題,需要有 Authorization: Bearer \<TOKEN\> ,其中token值在cuckoo.conf中配置,找到設(shè)置api_token值的那一行并設(shè)置其值(或使用cuckoo為用戶生成的默認(rèn)token值)
# 任務(wù)插隊(duì) url = "http://192.168.2.142:8090/tasks/create/file" SAMPLE_FILE = "C:\\Users\\40622\\Desktop\\demo\\cuckoo_test.exe" header = {"Authorization": "Bearer " + token } data = {"priority": 3 } with open(SAMPLE_FILE, "rb") as sample:files = {"file": ("cuckoo_test111.exe", sample)}res = requests.post(url=url, headers=header, files=files, data=data)?
10.?調(diào)用REST API提交任務(wù)后cuckoo后臺(tái)發(fā)現(xiàn)沒(méi)有任務(wù)在進(jìn)行
本人在jupyter notebook中寫代碼調(diào)用REST API,并因?yàn)?01錯(cuò)誤而改過(guò)authorization。重新運(yùn)行當(dāng)前jupyter頁(yè)面的kernel,問(wèn)題解決。
11. 使用REST API提交大量文件后,cuckoo后臺(tái)出現(xiàn)同時(shí)starting任務(wù)的情況,并且之后會(huì)報(bào)錯(cuò):?(sqlite3.OperationalError) database is locked
在操作中發(fā)現(xiàn)提交文件較少的話就沒(méi)這個(gè)問(wèn)題,但本人一次提交幾百個(gè)文件會(huì)有這個(gè)問(wèn)題。
使用cuckoo的web界面提交一整個(gè)文件夾(其中有超過(guò)1000個(gè)文件)則常會(huì)卡住,久久無(wú)反應(yīng)。 最后用命令行執(zhí)行命令的方法,執(zhí)行cuckoo submit <存放可執(zhí)行文件的目錄>,成功提交多個(gè)任務(wù)。
使用REST API出現(xiàn)的鎖數(shù)據(jù)庫(kù)的問(wèn)題暫時(shí)不知道如何解決。也許應(yīng)該先關(guān)了cuckoo后臺(tái),等把文件都提交完了之后,再運(yùn)行cuckoo。
12. Error enumerating exported functions: ‘Invalid NT Headers signature’.
遇到一次,之后沒(méi)出現(xiàn)過(guò)。暫無(wú)解決方法。
13. 某些文件出現(xiàn)?Analysis timeout hit, terminating analysis.?報(bào)告中無(wú)behavioral分析。
分析文件的timeout的設(shè)置再cuckoo.conf中的timeouts節(jié)中,默認(rèn)是120秒。
在提交任務(wù)時(shí)加上--timeout選項(xiàng),長(zhǎng)一點(diǎn),如300秒。
發(fā)現(xiàn)有一些是因?yàn)槿笔Я薲ll(彈窗報(bào)錯(cuò)),但cuckoo模擬點(diǎn)擊操作沒(méi)有作用到彈窗的按鈕上,最后才timeout。
14.?啟動(dòng)cuckoo時(shí)的報(bào)錯(cuò):The maximum number of open files is low (4096). If you do not increase it, you may run into errors later on.
/etc/security/limits.conf文件限制著用戶可以使用的最大文件數(shù),最大線程,最大內(nèi)存等資源使用量。 在該文件末尾添加:
* hard nofile 500000
* soft nofile 500000
root hard nofile 500000
root soft nofile 500000
15. ERROR: Virtual machine /status failed. HTTPConnectionPool(host=‘192.168.56.3’, port=8000): Read timed out. (read timeout=5)
這個(gè)鏈接 https://github.com/cuckoosandbox/cuckoo/issues/2965 提到解決方法是修改iptables規(guī)則。
本人的實(shí)踐中發(fā)現(xiàn)即使對(duì)同一exe文件,這個(gè)問(wèn)題時(shí)有時(shí)無(wú)。而導(dǎo)致這個(gè)問(wèn)題的原因是虛擬機(jī)中的agent程序沒(méi)有響應(yīng),有可能是網(wǎng)絡(luò)不通的問(wèn)題,也有可能是虛擬機(jī)本身系統(tǒng)出問(wèn)題了,比如卡死。分析發(fā)現(xiàn)本人的情況可能是后者,于是進(jìn)入虛擬機(jī),發(fā)現(xiàn)CPU占用率100%,幾乎不降,鼠標(biāo)也卡,于是關(guān)機(jī)后增加CPU核數(shù)(原先只有1核),再重啟,保存快照,問(wèn)題解決。
16.?WindowsError
當(dāng)虛擬機(jī)系統(tǒng)為win10時(shí),有時(shí)會(huì)出現(xiàn)此錯(cuò)誤;換成win7則沒(méi)有。原因暫不明。
總結(jié)
以上是生活随笔為你收集整理的cuckoo沙箱常见报错总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: USACO Section1.2 You
- 下一篇: 管理项目失败的教训