GDG Devfest İstanbul 2015

Devfest İstanbul geçtiğimiz pazar günü Bahçeşehir Üniveritesi'nde gerçekleşti. Biz de Çanakkale'den bir grupla oradaydık. (+Necdet Yücel , +Kerem Hallaç , +Ayşe Melike Yurtoğlu , +Gülşah Köse , +Kader Tarlan+yeliz taneroğlu)

İlk katıldığım sunum, sabahki sponsor sunumuydu. Sunum boyunca konuşmacının; cümle kurarken, el ve yüz hareketleri ile  bana ne düşündürdüğünü, bildiğini ne kadar aktardığına dikkat ettim. Konuşmacı hakkındaki gözlemlerimin sonucu olumlu olmadı. Benim konuşmacı olduğumda neler yapmamam gerektiği hakkında iyi bir örnekti.

Bence güzel bir sunum yapmak ve bildiklerimizi iyi bir şekilde aktarmak istiyorsak; dinleyicinin karşıdan bizi nasıl gördüğünü düşünerek davranmalı, konuşurken hareketlerimizin ve yüz ifademizin dinleyiciye ne hissettirdiğine dikkat etmeliyiz. Doğru kelimeleri seçmek de çok önemli. O sunumdan sonra başka bir sunuma katılmadım, standlarda dolaşıp yeni insanlarla tanışmayı tercih ettim. :)

Elbette Devfest'teki tüm sunumlar için değil bu yorumum. Katılan diğer arkadaşlarımdan çok güzel sunumların olduğunu da duydum. Bizim sunumumuz da çok akıcıymış mesela :D

Ben, +Gülşah Köse , +Kader Tarlan ve +yeliz taneroğlu  sunumumuzda, Libreoffice'e katkı sürecini ve Çanakkale'de çalıştığımız ekip ile şimdiye kadar neler yaptıklarımızı anlattık. Birlikte çalıştığım arkadaşlarımla, yaptığımız işleri anlatmak bana çok keyif verdi. Ayrıca sunumun sonundaki soru-cevap kısmı da oldukça eğlenceli geçti benim için. Slaytımıza buradan ulaşabilirsiniz.

Etkinliğin benim için artısı, yeni insanlar tanımak ve sık sık göremediğim arkadaşlarımla hasret gidermek oldu. Bir de sunum deneyimlerime bir yenisini eklemiş oldum.

Görüşmek üzere. :)








3 Aralık 2015

Posted In: devfest, dfist, gdg, Gezegen, kripton, libreoffice

Amazon Kindle Fire (5th) Nasıl Rootlanır? (Linux)

Kindle Fire, Amazon'un ürettiği, donanım fiyatını oldukça ucuz tutarak yapılmış ama müşterinin beklediğini de veren bir tablet bence :) Özelliklerine bakmak isteyenleri ve satın almak isteyenleri sayfaya yönlendirmiş olayım.

Root işlemine başlamadan önce bu linkten "root_fire_5thGen_2015.zip" dosyasını indirmeli ve sıkıştırılmış halinden çıkartmalıyız.

Tabletten Settings>Devices Options diyip, Serial Number kısmına birkaç kez tıklayarak Developer Options kısmını görünür hale getirmeliyiz.

Developer Options da Enable ADB seçeneğinin aktif olduğundan emin olmalıyız. 


Gerekli paketler: sudo apt-get install android-tools-adb android-tools-fastboot

Tableti bilgisayara bağladıktan sonra "$adb devices" komutunu verdiğimizde aygıt görünüyor olmalı:


İndirdiğimiz dosyada bize gereken sadece sh betiği olan fire_root.sh dosyası.

"$sh fire_root.sh" dediğimizde hızlıca rootlama işlemi başlıyor. Tablet yeniden başladığında "SuperSU" görünüyor olmalı :)


Google Play uygulamasını eklerken:

Buradan uygulama dosyasını indirmeliyiz ve sıkıştırılmış halinden çıkartmalıyız.

"$cd Amazon-Fire-5th-Gen-Install-Play-Store" diyerek dizin içine girip aşağıdaki komutları vermeliyiz:

$adb install com.google.android.gms-6.6.03_\(1681564-036\)-6603036-minAPI9.apk

$adb install GoogleLoginService.apk

$adb install GoogleServicesFramework.apk

$adb shell pm grant com.google.android.gms android.permission.INTERACT_ACROSS_USERS

$ adb install com.android.vending-5.9.12-80391200-minAPI9.apk

$ adb shell pm hide com.amazon.kindle.kso

$ adb kill-server


Bu işlemler sonunda Google Play tablette kullanılabiliyor olmalı.

Wiki sayfası da burada.
Cynogenmod için buraya bakabilirsiniz.
Kolay gelsin :)

10 Kasım 2015

Posted In: amazon, fire, Gezegen, gnu/linux, kindle, root, ubuntu

DNS Hijacking Nasıl Yapılır?

DNS(alan adı sunucusu)'nun yaptığı iş ulaşılmak istenen alan adının ip adresini döndürmek, ya da ters dns ile yazılan ipnin gerçekten hangi alan adına sahip olduğunu doğrulamaktır.

Web tarayıcımızda ulaşmak istediğimiz sitenin adını yazıp açmak için tıkladığımızda kısaca olanlar:

İlk önce yerelde cache'e, ip adresi var mı diye bakılır. Yoksa sorgu yerel ağdaki DNS sunucuya yollanır.(udp 53) Burada da yoksa yereldeki dns sunucusu kendisinden bir üstteki dns sunucusuna sorgu yapar.(tcp 53) En son bulunan ip istemciye döndürülür.

Peki biz bulunduğumuz ağdaki DNS sorgularına cevap vermek istersek nasıl bir yol izleyeceğiz?

Kendi bilgisayarımda olan Ubuntu üzerine bir dhcp sunucusu, bir http sunucusu, bir de dns sunucusu kurdum. DHCP sunucusu ile sanal makinalarıma ip dağıtıyorum. Yapılandırmalarını düzenledikten sonra, aynı ağda bulunan sanal makinadaki kullanıcı hurriyet.com'a ulaşmak istediğinde dns sorgusu benim dns sunucuma gelecek ve benim istediğim sayfayı hurriyet.com'muş gibi gösteriyor olacak.

Kurulumlar için:

DHCP sunucusu: 

$sudo apt-get install isc-dhcp-server


HTTP sunucusu (Apache2):

$sudo apt-get install  apache2 php5 libapache2-mod-php5 mysql-server-5.5 php5-mysql libapache2-mod-auth-mysql phpmyadmin

DNS sunucusu (bind):

$sudo apt-get install bind9 bind9utils

Yapılandırmalar:
* DHCP için: /etc/dhcp/dhcp.conf içinde:

"option domain-name-servers 192.168.56.1;" diyerek dns sunucu adresimizi tanımlamalıyız.

* Apache2'nin yapacağı iş, dns sonucu gösterilecek sayfayı ulaşılabilir kılmak. Bunun için kullanıcıya göstermek istediğimiz sayfanın web tasarımı kodları .conf dosyasında da yazdığı gibi /var/www/html/ dizini altında olmalı. Ben yeni bir sayfa oluşturmayıp hazır olan index.html sayfasını gösterdim.

* Dns kısmını ayarlarken:

/etc/bind/named.conf.options dosyasının sonuna aşağıdaki kısım eklenmeli. Burada bir zone tanımı yapıyoruz. "hurriyet.com" diye gelen isteklere dns sunucumuzun hangi dosyadan bakacağını söylüyoruz. 

$sudo vim /etc/bind/named.conf.default-zones

zone "hurriyet.com" {
        type master;
        file "/etc/bind/hurriyet.zone";
        allow-update { none; };
};

tanımladığımız /etc/bind/hurriyet.zone dosyasını oluşturmalıyız ve içeriği aşağıdaki gibi olmalı:

$sudo vim /etc/bind/hurriyet.zone






















Son olarak DNS sunucumuzu başlatırken: $sudo /etc/init.d/bind9 start

Sanal makinadan hurriyet.com sayfasına ulaşmak istersem:


$dig hurriyet.com çıktısı:

 
Görüşmek üzere.

5 Kasım 2015

Posted In: apache2, bind9, dhcp, dns, http, spoofing, ubuntu, yapılandırma

Libreoffice Çalışmalarım 1

Herkese merhaba,

Bu dönemin başından beri Libreoffice ile ilgili çalışıyorum. Derleme ve yama gönderme nasıl oluyor diye de bir yazı yazmıştım. Sonrasında neler yaptığımdan bahsetmek istiyorum.

İlk yamam kabul edildikten sonra, Libreoffice arayüzüne(UI) özellik eklemek, iyileştirmek üzerine çalışmaya başladım. 

Üzerinde çalıştığım özellik Draw aracındaydı. Şimdiye kadar, şeffaf arka plan görünürlüğü, yapılandırma dosyasından sağlanmış. Ancak geliştiriciler bunun yapılandırma dosyasından bağımsız olmasını istiyorlardı. İstediklerini yapıp yama hazırladım.

Yamanın alınma süreci ise bence bir miktar heyecanlı geçiyor :) Her yollanan yama Jenkins ile 3 platformda kontrol ediliyor. (Linux, MacOS ve Windows) Sorunsuz derlenen yamalara ayrıca geliştiriciler de bakıyor. Sonunda herşey uygun şekildeyse yamayı kabul ediyorlar. 

İki gün önce yamam alındı. Birkaç gün sonra yayınlanacak olan 5.1 sürümünde bu özellik kullanılabilir olacak :)

                              Yamadan önce                                   Yamadan Sonra


Bu haftasonu gerçekleşecek bug hunting etkinliğinden sonra da güzel haberler vermek dileğiyle :)

29 Ekim 2015

Posted In: bug, draw, fix, Gezegen, libreoffice, linux, ui

Libreoffice Derlemek ve Gerrit İle Yama Göndermek

Libreoffice'in ne olduğunu bilmeyen de yoktur ama yine de kısaca bahsetmiş olayım. Libreoffice bir masaüstü ofis paketidir. Uzun da bir geçmişe sahip. Staroffice adı altında başlayıp, daha sonra Openoffice olarak geliştirilmiş ve en son Libreoffice adıyla hala geliştirilmeye devam ediyor. Bunun güzel bir yanı da uğraştığımız birşey hakkında rahatça belge bulabilmek oluyor.

Gelelim derleme işlemine. Bekleme kısmını saymazsak çok da zor bir yanı yok. Büyük bir proje olduğu için birazcık sabırla beklemek gerekiyor. Ben Ubuntu 15.04 kullandığımdan izlediğim adımları yazacağım. Tüm Linux türevleri için de sayfa oldukça güzel anlatmış.

Bağımlı paketleri kuralım:

$ sudo apt-get build-dep libreoffice

Depoyu yerelimize alalım ve proje dizinine geçelim:

$ git clone git://anongit.freedesktop.org/libreoffice/core libreoffice
$ cd libreoffice

Make işleminden önce betik dosyasının hatasız çalıştığını görmeliyiz:

$ ./autogen.sh

Daha sonra uzunca bekleyeceğimiz make komutunu çalıştıralım:

$ make -j[çekirdek sayisi]

Derlemeden sonra writer'ı çalıştırıp Libreoffice5'in çalıştığından emin olalım:

$ instdir/program/soffice --writer

Bir de derleme yaparken karşılaştığım bir hata:
(libkrb5-dev paketini kurduğumda düzelmişti)

configure: error: could not find function 'krb5_sendauth' required for Kerberos 5

Yazarın notu :D
Geliştirme yapmak işteyenler için KDevelop aracı öneriliyor. Bunun için modüllerin kdevelop ile açılabilir olması gerekiyor.
"make kdevelop-ide-integration" komutu ile modüller Kdevelop ile açılabilir hale geliyor.

Yama Yollarken:

Gerrit kod işbirliği aracı olarak kullanılıyor. İlk kez yama yollayanlar için önce buraya kendinizi eklemeniz gerekiyor. Eklerken Lisans kısmı için libreoffice@lists.freedesktop.org a bir mail atmanız gerekiyor.
mail başlığı:
<your name> license statement

içeriği:
"
 All of my past & future contributions to LibreOffice may be
licensed under the MPLv2/LGPLv3+ dual license.

Gerrit kullanmak için adımlar:

$ ./logerrit setup komutunu çalıştırdıktan sonra oluşan "/home/[username]/.ssh/id_rsa.pub" içerigini gerrit üyeliğimizde ayarlar sekmesinden ssh kısmına eklemeliyiz.
 
$ ./logerrit test komutu sorunsuz çalışıyorsa gerrit aracını kullanabiliriz. 

Daha sonra yeni bir dal oluşturup değişiklik yaptığımız dosyaları ekleyip commit yapacağız.

$ git checkout -b <yeni dal adı>

$ git add dosya (tüm değişiklik yapılan dosyalar için 'git add .')

$ git commit (burada commit mesajı ile bug numarasını ilişkilendirmeliyiz. bunu da commit mesajına "tdf#<bug _id>" ekleyerek yapıyoruz )

Son olarak gerrit'e bu commiti yollayacağız:

$ ./logerrit submit master

Gerrit sayfasından da commitinizi görebilirsiniz :)

Kolay gelsin.

30 Eylül 2015

Posted In: compile, derleme, gerrit, Gezegen, git, gnu/linux, libreoffice, patch

Metasploit Framework Giriş

Metasploit Framework, güvenlik açıklarının bulunmasını ve bulunan açıkların kullanılmasını sağlayan bir araçtır. Ruby ile sıfırdan tekrar yazılmıştır.(öncesinde Perl ile yazılmış) Kullanılan terimlerin anlamlarını öğrenip birşeyler denemeye başlayınca ne olduğu insanın aklında daha çok şekilleniyor :) 

Terminoloji:

Exploit: Bir sistemin ya da programın zayıflığından faydalanarak sisteme girişi sağlayabilen ya da zarar veren yöntemlerin tamamıdır.

Local Exploit: Oturum açılmış halde olan sistemde bulunan servis veya yazılımların zayıflıklarını sömüren exploit türüdür.

Remote Exploit: Ağ üzerinden uzaktaki sistemin zayıflıklarını sömüren exploit türüdür.

Payload: Hedef sistemde istenilen eylemi gerçekleştiren bileşendir. Exploitten sonra çalışır.

Auxiliary: Modüller için geliştirilen ek programlar, yardımcı araçlardır. Exploit öncesi sistem hakkında bilgi toplama amaçlı kullanılırlar.

MsfConsole, içinde pek çok hazır exploit bulunduran aynı zamanda bu exploitleri yerel ve uzak erişim için yapılandırabilen bir yazılımdır.

Ubuntu'ya Msfconsole kurulumu için buraya bakabilirsiniz.

MsfConsole:


help: Kullanabileceğimiz komutları ve ne işe yaradıklarını görebiliriz.

Komut          Açıklama
banner        MsfConsole açılış ekranını gösterir.
info             Bir veya daha fazla modül hakkında bilgi verir.
irb               İrb scripting modunu getirir.
jobs            Yapılan işleri gösterir ve düzenler.
load            Eklenti yüklenmesi için kullanılır.
loadpath     Belirtilen yoldan istenilen modülü/exploiti yükler.
route           Oturum trafiğinin yönlendirilmesini sağlar.
save            Etkin veriyi kaydeder.
search         Modül ismi veya açıklamalarda arama yapar.
sessions      Aktif oturumları gösterir ve oturum bilgisi verir.
set               Payload seçiminde bir verinin atamasını yapar.
show           Belirtilen modülü veya tüm modlleri listeler.
sleep           Belirtilen zaman zarfında hiçbir işlem yapılmaması gerektiğini belirtir.
use              Modül seçer.
version        Konsol uygulamasının versiyonunu gösterir.

show exploits: MsfConsole platformundaki exploitleri listeler.
use <exploit>: Exploit seçmek için kullanılır.
show targets: Seçilen exploitin hangi sistemleri etkilediğini görmek içn kullanılır.











set targets <hedefno>: Hedefi seçmek için kullanılır. 
show payloads: Msf’de bulunan payloadları listelemek için kullanılır.


info <payload_adi>: İstenilen payload hakkında detaylı bilgi döndürür.
set PAYLOAD <payload_adi>: Payload seçmek için kullanılır.
show options: Yapılacak saldırı için seçeneklerin görülmesinde kullanılır. "Required" sütununda yes ile belirtilmiş olan seçeneklerin ayarlanması gerekir.


set <RHOST, RPORT, LHOST, LPORT>: Required kısmındaki bilgileri girmek için kullanılır.
exploit:  Gerekli tüm yapılandırma bittikten sonra saldırı başlatmak için kullanılır.

Güvenlik yeni yeni ilgimi çeken bir konu. Öğrendikçe daha fazla yazmaya çalışacağım. Kolay gelsin :)

9 Mayıs 2015

Posted In: giriş, güvenlik, linux, metasploit, msfconsole

WP Twitter Auto Publish Powered By : XYZScripts.com