# Sıkça Sorulan Sorular

# Genel Sorular



# Cuckoo ile URL'leri analiz edebilir miyim?

Sürüm 0.5 ile gelen yeni özellik: Cuckoo'ya URL analizi için yerleşik destek eklendi.

Sürüm 2.0-rc1'de değişiklik: Cuckoo artık sadece tarayıcıyı başlatmakla kalmayacak (örneğin Internet Explorer), aynı zamanda ilginç sonuçlar çıkarmak için etkili bir şekilde enstrüman yapmaya çalışacaktır; bu sonuçlar arasında yürütülen JavaScript, iframe URL'leri gibi veriler bulunur.

URL gönderimi hakkında ek ayrıntılar, bir Analiz Gönderme konusunda belgelenmiştir, ancak özünde şu komutu içerir:

`cuckoo submit --url http://example.com`

# Cuckoo ile Volatility'i kullanabilir miyim?

Sürüm 0.5 ile yeni eklenen özellik: Cuckoo, analiz sürecinin sonunda oluşturulan isteğe bağlı memory dump destekler. Bu memory dumpları kullanarak [<span class="link-annotation-unknown-block-id--683581710" style="border-bottom: 0.05em solid; border-color: rgba(55,53,47,.4); opacity: 0.7;">Volatility</span>](https://github.com/volatilityfoundation/volatility) gibi memory forensic analizlerini gerçekleştirebilirsiniz.

Ayrıca, lütfen bunu özellikle teşvik etmediğimizi göz önünde bulundurun: Cuckoo, işlemlerini gerçekleştirmek için bazı rootkit benzeri teknolojiler kullanır, bu nedenle bir forensic analizin sonuçları, sandbox'ın bileşenleri tarafından kirletilebilir.

# Cuckoo'yu VMware ESXi ile kullanabilmek için neler gereklidir?

VMware vSphere Hypervisor (veya ESXi) ile çalıştırmak için, Cuckoo, libvirt veya VMware vSphere API için Python SDK olan pyVmomi'ye dayanır. Sanal makineler üzerinde kontrol sağlamak için VMware API'leri kullanılır, ancak bu API'ler yalnızca lisanslı sürümde bulunur. VMware vSphere ücretsiz sürümünde bu API'ler yalnızca okunurdur, bu nedenle Cuckoo ile kullanamazsınız. Minimum gerekli lisans için lütfen VMware web sitesine göz atın.

# Sorun Giderme



# Cuckoo güncelleme sonrası çalışmayı durduruyor.

Muhtemelen yanlış bir şekilde güncellediniz. Cuckoo'nun karmaşıklığı ve hızlı gelişimi nedeniyle dosyaları yeniden yazmak iyi bir uygulama değildir.

Lütfen önceki bir sürümden güncelleme adımlarını açıklayan "Önceki Sürümden Güncelleme" adlı kılavuzu takip edin.

# KVM ile mevcut anlık görüntüyü kontrol edin ve geri yükleyin

Sanal makinede bir şeyler ters giderse, mevcut anlık görüntü durumunu kontrol etmek en iyi uygulamadır. Bunu aşağıdakilerle yapabilirsiniz:

> $ virsh snapshot-current "&lt;Name of VM&gt;"

Çıktı olarak uzun bir XML'iniz varsa, mevcut anlık görüntünüz yapılandırılmıştır ve bu bölümün geri kalanını atlayabilirsiniz; yine de, aşağıdaki gibi bir hata aldıysanız, mevcut anlık görüntünüz bozuk:

> $ virsh snapshot-current "&lt;Name of VM&gt;"  
> error: domain '&lt;Name of VM&gt;' has no current snapshot

Mevcut bir anlık görüntüyü düzeltmek ve oluşturmak için önce tüm makinenin anlık görüntülerini listeleyin:

> $ virsh snapshot-list "&lt;Name of VM&gt;"  
>  Name Creation Time State  
> \------------------------------------------------------------  
>  1339506531 2012-06-12 15:08:51 +0200 running

Bir anlık görüntü adı seçin ve güncel olarak ayarlayın:

> $ snapshot-current "&lt;Name of VM&gt;" --snapshotname 1339506531  
> Snapshot 1339506531 set as current

Artık sanal makinenizi kullanabilirsiniz.

# VirtualBox ile mevcut anlık görüntüyü kontrol edin ve geri yükleyin

Sanalda bir şeyler ters giderse, sanal makine durumunu ve mevcut anlık görüntüyü kontrol etmek en iyi uygulamadır. Öncelikle sanal makine durumunu aşağıdakilerle kontrol edin:

> $ VBoxManage showvminfo "&lt;Name of VM&gt;" | grep State  
> State: powered off (since 2012-06-27T22:03:57.000000000)

Durum "powered off" ise bir sonraki kontrole devam edebilirsiniz, durum "aborted" veya başka bir şeyse, daha önce "powered off" durumuna geri yüklemeniz gerekir:

> $ VBoxManage controlvm "&lt;Name of VM&gt;" poweroff

Aşağıdaki komutla mevcut anlık görüntülerin durumunu kontrol edin:

> $ VBoxManage snapshot "&lt;Name of VM&gt;" list --details  
> Name: s1 (UUID: 90828a77-72f4-4a5e-b9d3-bb1fdd4cef5f)  
> Name: s2 (UUID: 97838e37-9ca4-4194-a041-5e9a40d6c205) \*

Yıldız "\*" ile işaretlenmiş bir anlık görüntünüz varsa, anlık görüntünüz hazırdır, yine de geçerli anlık görüntüyü geri yüklemeniz gerekir:

> $ VBoxManage snapshot "&lt;Name of VM&gt;" restorecurrent

# Unable to bind result server hatası

Cuckoo başlangıcında bunun gibi bir hata mesajı alırsanız:

`2014-01-07 18:42:12,686 [root] CRITICAL: CuckooCriticalError: Unable to bind result server on 192.168.56.1:2042: [Errno 99] Cannot assign requested address`

Bu, Cuckoo'nun cuckoo.conf'ta (veya içinde resultserver\_ip seçeneğini kullanıyorsanız machinery.conf'ta) yazılan IP adresinde result server başlatamadığı anlamına gelir. Bu genellikle, result server IP adresiyle ilişkili sanal arayüzü getirmeden Cuckoo'yu başlattığınızda olur. Manuel olarak getirebilirsiniz, bir sanallaştırma yazılımından diğerine bağlıdır, ancak nasıl yapacağınızı bilmiyorsanız, iyi bir yol bir analiz sanal makinesini manuel olarak başlatmak ve durdurmaktır, bu sanal ağı getirecektir.

VirtualBox tarafında host-only arayüzü vboxnet0 aşağıdaki gibi oluşturulabilir:

> \# If the hostonly interface vboxnet0 does not exist already.  
> $ VBoxManage hostonlyif create
> 
> \# Configure vboxnet0.  
> $ VBoxManage hostonlyif ipconfig vboxnet0 --ip 192.168.56.1 --netmask 255.255.255.0

# Şablon oluşturma sırasında hata:

2.0-rc1 sürümünde değiştirildi.

2.0-rc1 sürümünde aşağıdaki ekran görüntüsünde gösterildiği gibi bir hata tanıtıldı. Bu sorunu yerel kurulumunuzda çözmek için lütfen <span class="notion-enable-hover" data-token-index="1" spellcheck="false" style="font-family: 'SFMono-Regular', Menlo, Consolas, 'PT Mono', 'Liberation Mono', Courier, monospace; line-height: normal; background: rgba(135,131,120,.15); color: #eb5757; border-radius: 4px; font-size: 85%; padding: 0.2em 0.4em;">web/analysis/urls.py</span> dosyasını açın ve 21. satıra bir alt çizgi ekleyerek aşağıdaki gibi değiştirin:

> \- "/(?P&lt;ip&gt;\[\\d\\.\]+)?/(?P&lt;host&gt;\[a-zA-Z0-9-\\.\]+)?"  
> \+ "/(?P&lt;ip&gt;\[\\d\\.\]+)?/(?P&lt;host&gt;\[ a-zA-Z0-9-\_\\.\]+)?"

[![resim.png](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2023-12/scaled-1680-/XIGresim.png)](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2023-12/XIGresim.png)

# 501 Unsupported Method (‘GET’)

2.0-rc1 sürümünde değiştirildi.

2.0-rc1'den bu yana Cuckoo, Gelişmiş Cuckoo Agent'ını ve yeni bir REST API tabanlı Cuckoo Agent'ını destekler. Bu Agentlar, Konuk ve Ana makine arasında iletişim için kullanılır. Yeni Cuckoo Agent, Cuckoo dışında da kullanılabilme özelliğine sahip bir geliştirilmiş Agent olarak kabul edilir. Örnek olarak, VMCloak tarafından kullanılır ve Otomatik olarak Sanal Makineler oluşturmak, yapılandırmak ve gizlemek için kullanılır.

Cuckoo Host, Cuckoo'nun yeni veya eski Agent ile iletişim kurup kurmadığını belirlemek için kök dizine (/) bir HTTP GET isteği gönderir. Eski Cuckoo Agent, xmlrpc tabanlı olduğu için bu belirli yolun işlenmesini sağlamaz ve bu nedenle bir hata olan 501 Desteklenmeyen yöntem döndürür.

Bununla birlikte, bu mesaj aslında bir hata değildir, sadece Cuckoo'nun hangi sürümdeki Cuckoo Agent ile iletişim kurmaya çalıştığını belirlemeye çalıştığı bir durumdur.

<p class="callout info">Yeni bir Cuckoo Agent mevcut olsa da, eski Cuckoo Agent için geriye dönük uyumluluk hala mevcut ve düzgün bir şekilde çalışıyor.</p>

[![resim.png](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2023-12/scaled-1680-/iDGresim.png)](https://acikkaynak.lastguard.com.tr/uploads/images/gallery/2023-12/iDGresim.png)

# tcpdump Permission Denied hatası

Sürüm 2.0.0'da değiştirildi.

Yeni Cuckoo yapısıyla birlikte, tüm depolama varsayılan olarak <span class="notion-enable-hover" data-token-index="1" spellcheck="false" style="font-family: 'SFMono-Regular', Menlo, Consolas, 'PT Mono', 'Liberation Mono', Courier, monospace; line-height: normal; background: rgba(135,131,120,.15); color: #eb5757; border-radius: 4px; font-size: 85%; padding: 0.2em 0.4em;">~/.cuckoo</span> içinde bulunur, bu arada PCAP dosyası, <span class="notion-enable-hover" data-token-index="3" spellcheck="false" style="font-family: 'SFMono-Regular', Menlo, Consolas, 'PT Mono', 'Liberation Mono', Courier, monospace; line-height: normal; background: rgba(135,131,120,.15); color: #eb5757; border-radius: 4px; font-size: 85%; padding: 0.2em 0.4em;">~/.cuckoo/storage/analyses/task\_id/dump.pcap</span> konumunda saklanır. Ubuntu'da varsayılan olarak etkin olan AppArmor (AppArmor profili) ile dot-dizinlerine ($HOME içinde) yazma izni olmayan tcpdump, izin reddedildiği bir hata mesajı alır ve Cuckoo'nun PCAP dosyalarını yakalamasını engeller.

AppArmor araçlarını yükleyerek ve basitçe tcpdump AppArmor profilini tamamen devre dışı bırakarak çözülebilir:

> sudo apt-get install apparmor-utils  
> sudo aa-disable /usr/sbin/tcpdump

# DistributionNotFound / No distribution matching the version hatası

Sürüm 2.0.0'da değiştirildi.

Cuckoo'yu Python paketi aracılığıyla kurmak, esasen güncel olmayan Python package manager sorunlarına yol açar. Bu SSS girişi, aşağıdaki sorunu hedeflemektedir:

> $ cuckoo  
> Traceback (most recent call last):  
> File "/usr/local/bin/cuckoo", line 5, in &lt;module&gt;  
>  from pkg\_resources import load\_entry\_point  
> File "/usr/lib/python2.7/dist-packages/pkg\_resources.py", line 2749, in &lt;module&gt;  
>  working\_set = WorkingSet.\_build\_master()  
> File "/usr/lib/python2.7/dist-packages/pkg\_resources.py", line 446, in \_build\_master  
>  return cls.\_build\_from\_requirements(\_\_requires\_\_)  
> File "/usr/lib/python2.7/dist-packages/pkg\_resources.py", line 459, in \_build\_from\_requirements  
>  dists = ws.resolve(reqs, Environment())  
> File "/usr/lib/python2.7/dist-packages/pkg\_resources.py", line 628, in resolve  
>  raise DistributionNotFound(req)  
> pkg\_resources.DistributionNotFound: tlslite-ng==0.6.0a3

Bu ve buna benzer sorunlar güncel olmayan Python package manager yazılımından kaynaklanır. Neyse ki bunların düzeltilmesi oldukça basittir ve bu nedenle aşağıdaki komut işe yaramalıdır:

> pip install -U pip setuptools

# IOError: [Errno 24] Too many open files

Bu sorun, çok sayıda bırakılmış dosyası olan örnekleri analiz ederken karşılaşılabilecek bir sorundur, bu kadar çok dosya ki İşleme Yardımcısı artık yeni dosya tanımlayamaz hale gelir.

Bu sorunun en kolay çözümü, mevcut kullanıcı için dosya tanımlama sınırlarını artırmaktır. Bu işlemi buradaki yolu izleyerek yapabilirsiniz.

[Open Files Sınırını Arttırmak Yazısını İnceleyin](https://acikkaynak.lastguard.com.tr/books/sikca-sorulan-sorular/page/open-files-sinirini-arttirmak)

Eğer Supervisor kullanıyorsanız, <span class="notion-enable-hover" data-token-index="1" spellcheck="false" style="font-family: 'SFMono-Regular', Menlo, Consolas, 'PT Mono', 'Liberation Mono', Courier, monospace; line-height: normal; background: rgba(135,131,120,.15); color: #eb5757; border-radius: 4px; font-size: 85%; padding: 0.2em 0.4em;">supervisord.conf</span> dosyasında <span class="notion-enable-hover" data-token-index="3" spellcheck="false" style="font-family: 'SFMono-Regular', Menlo, Consolas, 'PT Mono', 'Liberation Mono', Courier, monospace; line-height: normal; background: rgba(135,131,120,.15); color: #eb5757; border-radius: 4px; font-size: 85%; padding: 0.2em 0.4em;">minfds</span>'yi ayarlamayı unutmayın.

Değişikliklerin etkili olabilmesi için genellikle önce oturumu kapatmanız (yani çıkış yapmanız) ve ardından yeni bir kabuk oturumu açmanız gerektiğini unutmayın.

# Open Files Sınırını Arttırmak

Eğer 'Too many open files (24)' hatası alıyorsanız, application/command/script Linux tarafından izin verilen maksimum açık dosya sınırına ulaşıyor demektir. Aşağıdaki gibi açık dosya sınırını artırmanız gerekecek:

#### Limiti Arttırmak

#### Per User Limit

/etc/security/limits.conf dosyasını açın ve aşağıdaki kısmı yapıştırın:

> \* hard nofile 500000  
> \* soft nofile 500000  
> root hard nofile 500000  
> root soft nofile 500000

Dosyayı kaydettikten sonra sisteme çıkış yapın ve tekrar giriş yapın.

##### pam-limits

Sınırın daemon işlemleri için değiştirilmesi için ek bir adım gerekebilir. Buna ihtiyaç duymayabilirsiniz, ancak yukarıdaki değişiklikler sizin için işe yaramazsa, bu yolu denemeyi düşünebilirsiniz.

/etc/pam.d/common-session dosyasını açın ve aşağıdaki satırı ekleyin:

> session required pam\_limits.so

#### <span class="notion-enable-hover" data-token-index="0">System-Wide Limit</span>

<span class="notion-enable-hover" data-token-index="0">Değeri yukarıda belirlenen kullanıcı sınırından daha yüksek bir şekilde ayarlayabilirsiniz.</span>

<span class="notion-enable-hover" data-token-index="0">/etc/sysctl.conf dosyasını açın ve aşağıdaki satırı ekleyin:</span>

> <span class="notion-enable-hover" data-token-index="0">fs.file-max = 2097152</span>

Sonrasında aşağıdaki komutu çalıştırın:

> sysctl -p

Yukarıdaki işlem, sistem genelinde açık kalabilen toplam dosya sayısını artırır.

#### Yeni Limit Belirlemek

Dosya tanımlarının maksimum sınırını görmek için aşağıdaki komutu kullanın:

> cat /proc/sys/fs/file-max

Hard Limit:

> ulimit -Hn

Soft Limit:

> ulimit -Sn

Eğer root kullanıcı ile giriş yaptıysanız:

##### Diğer kullanıcılar için limiti görmek

Sadece <span class="notion-enable-hover" data-token-index="1" spellcheck="false" style="font-family: 'SFMono-Regular', Menlo, Consolas, 'PT Mono', 'Liberation Mono', Courier, monospace; line-height: normal; background: rgba(135,131,120,.15); color: #eb5757; border-radius: 4px; font-size: 85%; padding: 0.2em 0.4em;">www-data</span> yerine kontrol etmek istediğiniz Linux kullanıcı adınızı (username) yazarak değiştirin:

> su - www-data -c 'ulimit -aHS' -s '/bin/bash'

##### Çalışan process’in limitini görmek

Process id’yi (PID) öğrenmek için:

> ps aux | grep process-name

XXX PID'dir, buna göre limitleri kontrol etmek için aşağıdaki komutu çalıştırın:

> cat /proc/XXX/limits

# pkg_resources.ContextualVersionConflict

Eğer Cuckoo Paketi kuruyorsanız veya güncelliyorsanız, aşağıdaki gibi bir hata alabilirsiniz:

> pkg\_resources.ContextualVersionConflict: (HTTPReplay 0.1.5  
> (/usr/local/lib/python2.7/dist-packages),  
> Requirement.parse('HTTPReplay==0.1.17'), set(\['Cuckoo'\]))

Bu sorunun kaynağı ilgili pip bağımlılıklarının güncel sürümlerinin değil de eski sürümlerinin yüklenmiş olmasıdır.

Bu sorunu çözmenin en kolay yolu, ilgili bağımlılığın tüm sürümlerini kaldırmak ve Cuckoo'yu yeniden yüklemektir. Aşağıda sunulan HTTPReplay örneğinde, işlem şöyle görünebilir:

> $ sudo pip uninstall httpreplay  
> Uninstalling HTTPReplay-0.1.17:  
> /usr/local/bin/httpreplay  
> /usr/local/bin/pcap2mitm  
> /usr/local/lib/python2.7/dist-packages/HTTPReplay-0.1.17-py2.7.egg-info  
> ...  
> Proceed (y/n)? y  
> Successfully uninstalled HTTPReplay-0.1.17
> 
> $ sudo pip uninstall httpreplay  
> Uninstalling HTTPReplay-0.1.5:  
> /usr/local/lib/python2.7/dist-packages/HTTPReplay-0.1.5-py2.7.egg-info  
> Proceed (y/n)? y  
> Successfully uninstalled HTTPReplay-0.1.5
> 
> $ sudo pip uninstall httpreplay  
> Cannot uninstall requirement httpreplay, not installed

Sonrasında Cuckoo'yu yeniden yüklemek için basitçe <span class="notion-enable-hover" data-token-index="1" spellcheck="false" style="font-family: 'SFMono-Regular', Menlo, Consolas, 'PT Mono', 'Liberation Mono', Courier, monospace; line-height: normal; background: rgba(135,131,120,.15); color: #eb5757; border-radius: 4px; font-size: 85%; padding: 0.2em 0.4em;">pip install -U cuckoo</span> komutunu kullanabilirsiniz.

# ValueError: incomplete format key hatası

Bu sorun, $CWD/conf içindeki ayarları değiştirdikten sonra runtime anında ortaya çıkabilir, çünkü input, runtime sırasında kaçırılmadan configuration parser’a iletilir. Yapılandırma dosyalarınızı, olası sorunlu karakter kombinasyonlarına (örneğin %() gibi) karşı kontrol ederken dikkatli bir şekilde gözden geçirmeniz önemlidir.

# Sanal makine (VM) ağ yapılandırması sorunu

Sanal Makinenizin ağ yapılandırması beklenildiği gibi çalışmıyorsa, Cuckoo analizlerini bu şekilde kullanamayacağınıza dair bir bildirim alacaksınız. Ağ yapılandırması ve/veya kurulumunuzun neden yanlış olduğuyla ilgili birçok olasılık vardır. Bununla birlikte, genellikle sorun aşağıdaki nedenlerden birinde bulunur:

1. Sanal makinenin IP adresi yanlış yapılandırılmış olabilir. Lütfen VM'in sabit bir IP adresine sahip olduğundan, bu IP adresinin Cuckoo yapılandırması ile eşleştiğinden ve yapılandırılmış ağ arabiriminin var ve aktif olduğundan emin olun. Ayrıca, VirtualBox kullanıyorsanız, ağ arabirimini <span class="notion-enable-hover" data-token-index="1" spellcheck="false" style="font-family: 'SFMono-Regular', Menlo, Consolas, 'PT Mono', 'Liberation Mono', Courier, monospace; line-height: normal; background: rgba(135,131,120,.15); color: #eb5757; border-radius: 4px; font-size: 85%; padding: 0.2em 0.4em;">Host-Only</span> arabirim olarak yapılandırdığınızdan emin olun.
2. Ana Makine ve Konuk arasındaki iletişimi engelleyen bir güvenlik duvarının olmadığından ve Ana Makine ile Konuk'un birbirlerine ping atabildiğinden ve birbirlerine bağlanabildiğinden emin olun.
3. Cuckoo Ana Makine'den Konuk'a bağlantılar çalışıyorsa, ancak ters yönde çalışmıyorsa, bazı ek sorunlar olabilir: 
    - Ana Makine ve Konuk üzerinde ağ yapılandırması eşit mi? Değilse, örneğin VM farklı IP aralıklarını görüyorsa, <span class="notion-enable-hover" data-token-index="1" spellcheck="false" style="font-family: 'SFMono-Regular', Menlo, Consolas, 'PT Mono', 'Liberation Mono', Courier, monospace; line-height: normal; background: rgba(135,131,120,.15); color: #eb5757; border-radius: 4px; font-size: 85%; padding: 0.2em 0.4em;">resultserver\_ip</span> ve <span class="notion-enable-hover" data-token-index="3" spellcheck="false" style="font-family: 'SFMono-Regular', Menlo, Consolas, 'PT Mono', 'Liberation Mono', Courier, monospace; line-height: normal; background: rgba(135,131,120,.15); color: #eb5757; border-radius: 4px; font-size: 85%; padding: 0.2em 0.4em;">resultserver\_port</span>'u yapılandırmanız gerekebilir.
    - Eğer Cuckoo Analyzer'ı (genellikle <span class="notion-enable-hover" data-token-index="1" spellcheck="false" style="font-family: 'SFMono-Regular', Menlo, Consolas, 'PT Mono', 'Liberation Mono', Courier, monospace; line-height: normal; background: rgba(135,131,120,.15); color: #eb5757; border-radius: 4px; font-size: 85%; padding: 0.2em 0.4em;">$CWD/analyzer</span> klasöründe bulunur) değiştirdiyseniz, bu hata mesajı, bir sözdizimi hatası veya başka bir istisna eklenmiş olabileceğini, Analyzer'ın düzgün başlatılamamasına ve dolayısıyla beklenildiği gibi analiz yapamamasına işaret edebilir.