OpenCTI Tool (Open Cyber Threat Intelligence) | Açık Siber Tehdit İstihbaratı Aracı

'Saruca

Uzman üye
4 Ocak 2020
1,098
751
tnziel
# Konu İçeriği #

# Siber Tehdit İstihbaratı Nedir? #
# OpenCTI Kurulumu #

k-rm-z-ayrac.png


# Siber Tehdit İstihbaratı Nedir? #

Siber tehdit istihbaratı; güncel olarak sistemler için oluşturulmuş saldırı tekniklerini ve yazılımlarını çeşitli araçlarla tespit edip, güncel raporlar oluşturarak saldırının önüne geçilmesine olanak sağlamaktadır. Siber tehdit istihbaratında verilerin analizi yapılmaktadır. Kullanılan birtakım araçlarda virüsler, exploitler, açıklar ve bunun gibi birçok şey hakkında raporlar dünyaya sunulmaktadır. Karşı taraftan gelecek olan bir saldırıyı bu raporlar sayesinde önceden engellemiş oluyoruz.

Yani Siber Tehdit İstihbaratı, sistemlerin güvenliği için çeşitli araçlarla saldırı engelleme bilgisi (istihbarat) toplayarak saldırıların engellenmesini sağlamaktadır.


k-rm-z-ayrac.png


# OpenCTI Kurulumu #

Siber Tehdit İstihbaratı için kullanacağımız aracımız "OpenCTI" adında bir araçtır. Bu aracın özelliği ise dünyaya sunulan zero-day ve bunun gibi birçok saldırı, zafiyet ve virüs hakkında oluşturulmuş raporları görmemizdir. Aracımız ücretsiz bir kullanıma sahip olup docker mimarisi ile kullanılmaktadır. Ben sizlere docker kullanarak kullanımını göstereceğim. OpenCTI yapımcıları tarafından da docker kurulumu önerilmektedir. Hemen kuruluma geçelim.

Evet arkadaşlar, öncelikle sistemimize update komutunu girmemiz gerekiyor. Hemen update atalım.

sudo apt-get update

Kurulum-11ac6a689941808cb.png


Şimdi sistemimize bir de upgrade komutunu girelim.

sudo apt-get upgrade -y


Kurulum-21cc73fec33f2a491.png


Evet, şimdi sistemimize docker-compose kurulumunu yapacağız. Repoda bulunduğu için hemen indirebiliyoruz.

sudo apt-get install docker-compose


Kurulum-31579c9e16198bd83.png


docker-compose kurulumu tamamlandıktan sonra istediğimiz bir dizine gidip bir klasör oluşturuyoruz ve içine giriyoruz.

mkdir opencti && cd opencti


Kurulum-4e10e4f083b77072e.png


Evet, şimdi github üzerinden OpenCTI-Platform docker indireceğiz. Hemen kurulumunu yapalım.

git clone https://github.com/OpenCTI-Platform/docker.git


Kurulum-59c647e956381d28f.png


Clone işlemini yaptıktan sonra docker klasörüne giriyoruz.

cd docker


Kurulum-63b8ad7a9b4eb3141.png


Evet arkdaşlar, şimdi içinde bulunan "docker-compose.yml" dosyasını düzenlememiz gerekiyor. Bunu hemen nano aracı ile açıyoruz ve düzenlemeleri yapacağız.

sudo nano docker-compose.yml

Kurulum-72541f67c1c3abe48.png


Evet, arkadaşlar burada düzenlememiz gereken birkaç yer var. Size burayı nasıl düzenleyeceğinizi göstermek için resim ekliyorum. Vereceğim resimde olan yerleri bulup düzeltme işlemi yapıyoruz. Ek olarak Bizden "token" veya "ID" gibi bilgiler de istemekte. Bunun için de arkadaşlar UUIDv4 gerekiyor. Bunun için internete girip UUIDv4'ten alabilirsiniz.

Kurulum-8a6bfd9f2857cea50.png


Kurulum-99fdcb0dfda8e272f.png


Kurulum-1050b59a8de8c5cb33.png


Evet, düzenleme işlemimiz tamam. Ctrl + O yapıyoruz. Daha sonra Enterleyip Ctrl + X ile çıkış yapıyoruz. Öncelikle arkadaşlar yapmamız gereken bir olayımız var. Bu olayımız ElasticSearch servisini Docker Hub üzerinden indirmek olacak. Hemen komutumuzu girelim.

sudo docker pull docker.elastic.co/elasticsearch/elasticsearch:7.6.2


Kurulum-11a36d3b0d7c3788b2.png


İndirme işlemimiz bittikten sonra "docker images" komutu ile container yapısını göreceğiz ve docker hub üzerinden indirmiş olduğumuz imagesleri farklı environment ile çalıştıracağız ve indirdiğimiz imagesi göreceğiz. Bu komutu kullandıktan sonra test amaçlı "single-node" arama başlatıyoruz. Bazı yerlerde boot olayı olduğu atlayacağız. Bunu da kodumuzda belirtiyoruz.

sudo docker images sudo docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.6.2


Kurulum-130d7e12ddc1cddbb8.png


En son kullandığımız komut sayesinde yein containerimiz 9200 ve 9300 portlarında barınıyor. Container idsi ise bize uzun bir şekilde dönen bilgidir. Şimdi asıl docker-compose.yml'den farklı olarak ElasticSearchü denemek için bir docker-compose.yml oluşturuyoruz.

sudo nano docker-compose.yml


Kurulum-1495877b18fe00c6b4.png


Bunun içeriğini vereceğim komutla dolduruyoruz.

version: '2.2' services: es01: image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0 container_name: es01 environment: - node.name=es01 - cluster.name=es-docker-cluster - discovery.seed_hosts=es02,es03 - cluster.initial_master_nodes=es01,es02,es03 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - data01:/usr/share/elasticsearch/data ports: - 9200:9200 networks: - elastic es02: image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0 container_name: es02 environment: - node.name=es02 - cluster.name=es-docker-cluster - discovery.seed_hosts=es01,es03 - cluster.initial_master_nodes=es01,es02,es03 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - data02:/usr/share/elasticsearch/data networks: - elastic es03: image: docker.elastic.co/elasticsearch/elasticsearch:7.14.0 container_name: es03 environment: - node.name=es03 - cluster.name=es-docker-cluster - discovery.seed_hosts=es01,es02 - cluster.initial_master_nodes=es01,es02,es03 - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 volumes: - data03:/usr/share/elasticsearch/data networks: - elastic volumes: data01: driver: local data02: driver: local data03: driver: local networks: elastic: driver: bridge


Kurulum-151df4d9736557cb4e.png


CTRL + O ve sonra CTRL + X yapıp çıkıyoruz. Daha sonra "docker-compose up" ile çalıştırıyoruz.

sudo docker-compose up




Kurulum-1622e3b0d2aae5a18e.png


Evet, şimdi arkadaşlar 9200:9200 portunda bulunan "
_cat/nodes" çalışıyor mu diye kontrol edeceğiz. Bunun için bir istek gönderiyoruz.

curl -X GET "localhost:9200/_cat/nodes?v=true&pretty"


Kurulum-170fe8e8d41b8d1b23.png

Evet, şuan çalışıyor arkadaşlar. OpenCTI aracı elasticsearche bağlı olduğu için çalıştırmadan önce birkaç sysctl değerini değiştireceğiz. Değiştirmeyi yaptıran sonra kaydetmek için de aynı komuta parametre ekleyip dosyanın yolunu belirtiyoruz.

sudo sysctl -w vm.max_map_count=1048575
sudo sysctl -p /etc/sysctl.conf


Kurulum-183e05672d9e830814.png


Evet, şimdi config dosyasına gidiyoruz ve sonuna demin yazmış olduğumuz değer değişiklik kodunu yazıp kaydediyoruz.

vm.max_map_count=1048575


Kurulum-1949e19d386aa94094.jpg


Evet, buradan da kaydedip çıkıyoruz. Daha sonra tekrardan docker-compose.yml'i çalıştırıyoruz ancak bu sefer asıl dosyanın içinde çalıştırıyoruz. Ek olarak durumu görmek için -d parametresi ekliyoruz.

sudo docker-compose up -d


Kurulum-21c163166750d6353b.png


Şimdi ise arkadaşlar birkaç ayarlama yapmak gerekiyor. Swarm modda ilk olarak init girerek bir cluster oluşturuyoruz. Sizler farklı bir node için burada verilen tokenler ile giriş yapabilirsiniz. Ben otomatik oluşturulan manager node ile devam edeceğim. Sizler farklı bir node daha eklemek isterseniz komuttan sonra verilen "docker swarm join" kısmını kullanarak node manager/worker olarak girersiniz.

Kurulum-2208c5e42b9201e595.png


Evet, artık son işlemimize geldik. Stack depoloy ile bilgiler yerleştirilecek. Bu bilgiler de sunucu tarafından açılacak tüm servisleri açmamızı sağlayacak. Hadi şimdi deploy işlemini yapalım.

sudo docker stack deploy --compose-file docker-compose.yml opencti


Kurulum-245918334672a9386e.png


Evet arkadaşlar, bu işlemden sonra artık localhost:8080 ya da opencti:8080'e giderek login ekranına gideceğiz.

Kurulum-25fac771ecc4a193f7.png


Girş ekranımız geldi. İlk başta belirlemiş olduğumuz bilgileri buraya giriyoruz. Eğer unuttuysanız docker-compose.yml ya da .env.sample dosyasından bakabilirsiniz.

Kurulum-2681e58dab3de4c821.png


Evet arkadaşlar, giriş yaptık. Bu sistem sayesinde haritadan bölge seçebilir ve orada raporlanan bilgilere ulaşabiliriz.


final.png
 

'Saruca

Uzman üye
4 Ocak 2020
1,098
751
tnziel
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.