Raspberry Pi İşletim Sistemleri

Çok hızlı bir şekilde yaygınlaşan Raspberry Pi bilgisayarı dünyada tek kart bilgisayar denilince akla ilk gelenlerden biridir. Buna bağlı olarak kullanıcı sayısı da her geçen gün artmaktadır. 2022 yılı itibari ile 40 milyon adet Raspberry Pi bilgisayarı satılmış durumdadır.

Okumaya devam et “Raspberry Pi İşletim Sistemleri”

Raspberry Pi Eklentileri (GPIO HATS)

Raspberry Pi, dünyadaki en yaygın tek kart bilgisayar (sbc – single board computer) sistemlerinden biridir ve buna paralel olarak birçok donanımsal eklenti veya diğer adıyla HAT (Hardware Attached on Top) geliştirilmiştir. HAT adı verilen eklenti kartları GPIO konnektörüne uyumlu olan soketi ile bağlanarak Raspberry Pi üzerinde bulunmayan veya zayıf olan bazı özelliklerin kullanılabilmesini ve eklenebilimesini sağlar.

Okumaya devam et “Raspberry Pi Eklentileri (GPIO HATS)”

Raspberry Pi’ın Çevre Birimleri

Raspberry Pi’ı donanımını bilinen klasik bilgisayarlardan ayıran bazı çevre birimleri vardır. Disk olarak kullandığı SD kart, güç ihtiyacını karşılamak için kullandığı besleme adaptörü, DSI port’undan bağlanan ekran ve CSI port’undan bağlanan kamera bunların başında gelir ve bu çevre birimlerini seçerken özel bir itina gerekir. Bu başlıkta çevre birimleri için gerek satın alma süreci hakkında gerekse de kullanım süresince karşılaşabileceğiniz durumlar hakkında bilgi verilecektir. DSI ve CSI port’ları hakkında bilgiye ayrı olarak donanım başlığı altından ulaşabilirsiniz. Ayrıca kitabın, kamera modülü ile ilgili bölümünde de detaylı bilgiler yer alıyor.

Okumaya devam et “Raspberry Pi’ın Çevre Birimleri”

Raspberry Pi Modelleri ve Satın Alma

Raspberry Pi’ın farklı ihtiyaçlara ve kullanım amaçlarına hitap eden A, B, Zero ve Compute Board olarak dört farklı modeli vardır. Modellerin fiziksel boyutları birbirinden farklı olmakla birlikte GPIO portları fiziksel olarak uyumludur. Modellerin sahip olduğu fiziksel ölçülerin karşılaştırmalı bir görseli aşağıda yer almaktadır.

Raspberry Pi A+, B+ ve Zero modellerinin boyutları

Okumaya devam et “Raspberry Pi Modelleri ve Satın Alma”

Neden Linux

Kitap boyunca kullanılan ve anlatılan Raspberry Pi OS bir Linux işletim sistemi dağıtımıdır. Linux ile ihtiyacınız olan her türlü yazılımı ücretsiz olarak alabiliyorken neden lisansların yasal yaptırımları ile uğraşasınız. İhtiyacınız olan bir yazılımı internette aramanıza gerek yok. Linux depoları ihtiyacınız olan tüm yazılımları içerir, tek komutla yüklemenizi ve güncelleştirmenizi sağlar ve bunu yaparken de diğer meşhur işletim sisteminin aksine bilgisayarınızı yeniden başlatmanıza bile gerek yoktur. Linux’ta masaüstü ortamınızı özelleştirerek konforunuzu yükseltebilirsiniz. Birbirinden bağımsız masaüstleri ile ekranınızı çok daha verimli kullanabilirsiniz. Üstelik Linux bunu çok daha az donanım gereksinimi ile yapabilir.

Okumaya devam et “Neden Linux”

GNU Linux ve GNU felsefesi

Linux yaygın bilinenin aksine kendi başına bir işletim sistemi değildir, sadece işletim sistemi çekirdeğidir ve günümüz kullanıcısının işletim sisteminden beklediği görevleri yerine getirmek ve kullanışlı bir çalışma ortamı oluşturmak anlamında bir altyapı sunmaz. Örneğin Linux çekirdeği bir işletim sisteminden beklenen CPU, bellek ve diğer donanım bileşenlerinin yönetimi ve organizasyonu konusunda çalışırken, kullanıcının programları başlatmak, yönetmek, dosya kopyalamak, oluşturmak, ağ ve internet bağlantısı kurmak gibi görevleri yerine getirmesi için bir imkân sağlamaz. Bunun için GNU araçları adı verilen açık kaynak kod araçlar topluluğu kullanılır.

Okumaya devam et “GNU Linux ve GNU felsefesi”

İşletim Sistemi ve Linux

İşletim sistemi, özünde bir bilgisayar programdır. Bu bilgisayar programı, diğer bütün programlardan önce çalışarak bilgisayarın donanım birimlerini kontrolü altına alır ve diğer programların çalışabilmesi için uygun bir ortam hazırlar. İşletim sistemi, bilgisayar açık olduğu sürece RAM bellekte yüklü ve çalışır durumdadır. İşletim sistemi temel olarak, üzerinde çalışan programlara ihtiyaç duydukları CPU zamanını ve belleği (RAM) verimli şekilde tahsis etmek için çalışır. Donanımlardan veya kullanıcı programlarından gelen giriş/çıkış çağrılarını işler, diğer programlar ve donanım birimleri arasında yönlendirir. Esasında oldukça fazla görevi olan ve programcılık açısından oldukça karmaşık kabul edilebilecek bir program olan işletim sistemi, diğer programların daha kolay, sadece amaçlarına yönelik olarak programlanabilmesine imkân tanımış olur. Eğer işletim sistemi olmasaydı, her bir program CPU’yu ve RAM’i tek başına kullanmak isteyecekti ve donanımları yönetmek zorunda kalacaktı. Ayrıca bu kaynakları diğer programlar ile nasıl paylaşacağını bilemeyecekti. Diğer taraftan, farklı donanımlar üzerinde çalışması gerektiğinde de her bir donanım ile (üreticisi ve modeli farklı donanımlar) nasıl iletişim kuracağını (G/Ç işlemleri) bilmesi gerekecekti (bu görevi işletim sistemine yüklenen driver yazılımları sağlar). Görüleceği gibi tüm bu önemli ve kritik görevleri hakkıyla yerine getirebilecek bir işletim sistemi programı şarttır. Linux tüm bu görevleri ve daha fazlasını başarılı ve verimli şekilde icra edebilen en iyi işletim sistemidir. Daha doğrusu işletim sistemi çekirdeğidir.

Okumaya devam et “İşletim Sistemi ve Linux”

Raspberry Pi Nedir?

Raspberry Pi’ın fotoğrafını yukarıda görebilirsiniz. Onu ilk defa görenler biraz garipseyeceklerdir. Raspberry Pi nedir ve onunla neler yapılabilir sorusu ile karşılaştığımda, bence ucu yeterince açık olan cevap şudur: “Raspberry Pi bir bilgisayardır ve bir bilgisayar ile neler yapabiliyorsanız daha fazlasını onunla yapabilirsiniz.” Raspberry Pi normal bir bilgisayara göre çok daha fazla avantaja ve yeteneğe sahiptir.

Okumaya devam et “Raspberry Pi Nedir?”

WiFi 6: OFDMA ve MU-MIMO’nın farkı

OFDMA ve MU-MIMO birbirini tamamlayan teknolojilerdir. OFDMA, IoT sensörleri gibi düşük bant genişliğine sahip küçük paket uygulamalar için ideal olsa da, MU-MIMO görev açısından kritik sesli aramalar ve video akışı gibi yüksek bant genişliğine sahip uygulamalarda kapasiteyi ve verimliliği artırır.

Okumaya devam et “WiFi 6: OFDMA ve MU-MIMO’nın farkı”

Avrdude ile Arduino Klonlamak

Arduino IDE, Arduino’ya kod yüklerken (upload) arka planda avrdude (AVR Downloader Uploader) isimli araçtan faydalanır. avrdude, STK500 protokolü ile Arduino Bootloader’ı ile konuşarak mikrodenetleyicinin flash belleğine yazar veya içeriğini okur (okuma/yazma yaparken kullanılan bootloader hakkındaki detayları ilerleyen paragraflarda bulacaksınız). avrdude.exe aracını “C:\Program Files (x86)\Arduino\hardware\tools\avr\bin” dizininde bulabilirsiniz. Arduino IDE’nin yükleme yapmak için kullandığı aşağıdaki komutu Arduino IDE üzerinde görmek için; Dosya->Tercihler menüsü ile ulaşılan yapılandırma ekranındaki derleme ve yükleme için “Ayrıntılı çıktı” seçeneğini etkinleştirebilirsiniz. Böylece Arduino IDE’nin avrdude aracını arka planda nasıl kullandığını görebilirsiniz.

avrdude -C"C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf" -v -patmega328p -carduino -PCOM4 -b115200 -D -Uflash:w:"hex_dosyasi.hex":i
Okumaya devam et “Avrdude ile Arduino Klonlamak”

Elektromanyetik Alan ve İnsan Sağlığı

Elektromanyetik enerji uzayda sonsuza kadar yayılır. Bu elektromanyetik enerjinin 3 çeşit kaynağı vardır. Bu kaynak “alan” mıdır, “dalga” mıdır?

Doç. Dr. Selçuk Çömlekçi – Elektromanyetik Enerji Kullanımı ve Sağlık Etkileri

Okumaya devam et “Elektromanyetik Alan ve İnsan Sağlığı”

DNS üzerinden veri sızdırma: DNS extfiltration örneği

SQLmap‘i kullanırken out-of-band yöntemlerinden biri ile karşılaştım; time based olmayan blind sql injection‘larda dışarıya hızlıca veri çıkarabilmek için kullanılan bir yöntem. Adı DNS extfiltration.

Bu yönteme göre;

Exploit SQL’i içine SQL’i çalıştıran sunucunun çözmesi gereken bir sub.domain koyularak sub üzerinden dışarıya veri çıkartılııyor. Domain tarafında ise; domain bizim kontrolümüzde olduğundan UDP 53’ü dinler durumdayız. UDP 53 standart olarak DNS trafiği taşıdığından güvenlik duvarlarından da rahatça geçebiliyor.

Okumaya devam et “DNS üzerinden veri sızdırma: DNS extfiltration örneği”

Subdomain Takeover Zafiyeti Hakkında

Alt alan adını ele geçirmek anlamına gelen subdomain takeover az rastlanan ilginç zafiyetlerden birtanesidir ve alt domain’i ele geçirerek diğer saldırı vektörlerini çalıştırmak için kullanılır. Basitçe açıklayalım, hedefimizde alt.firma.com şeklinde bir alt domain olsun;

  1. alt.firma.com CNAME DNS kaydı ile alt.wordpress.com‘a yönlendirilmiştir.
    (wordpress.com herkesin dilediği subdomain ile hesap açabileceği biryer)
  2. alt.wordpress.com hesap silinmesi veya kullanımdan kalkması gibi bir nedenden dolayı devre dışı kalır.
  3. Artık saldırgan wordpress.com üzerinde alt adıyla kendine ait bir hesap açabilir ve dosyalarını yükleyebilir.
  4. alt.firma.com halen alt.wordpress.com‘a yönlendirilmiş olduğundan saldırganın eline geçmiş olur.

Bu dört madde subdomain takeover saldırısının en basit açıklamasıdır. WordPress.com gibi kullanıcı tanımlı subdomain’lere izin veren diğer altyapı sağlayıcı ve servislerin listesine buradan ve buradan bakabilirsiniz.

Okumaya devam et “Subdomain Takeover Zafiyeti Hakkında”

sub.sh: Subdomain keşfi için en keyifli araç

Subdomain enumeration için birçok araç var. Bu nedenle yazının başlığı biraz iddialı olmuş olabilir. Bu tabiki benim kendi düşüncem ;)

Atak vektörünü genişletmek için hedef domain’in alt domain’lerini de kümeye dahil etmek gerekir. Bazı durumlarda alt domain’lerden ana domain’e yürümek veya diğer alt/ana domain’leri barındıran sunucu üzerinde erişim elde etmek mümkün olabilir.

Alt alanları tespit etmek için giriştiğim araştırma neticesinde, oldukça kapsamlı sonuçlar veren sub.sh aracını keşfetmiş ve burada tanıtmıştım. Araç birçok popüler çevrimiçi servisi ve aracı kullanarak çalışan bir combo araç. En sevdiğim yanı ise bir bash betiği olarak yazılmış olması.

Aracı birsüre kullandıktan sonra uzun zamandır güncellenmediğini ve buna bağlı olarak bazı eksikliklerinin ve çalışmayan kısımlarının olduğunu farkettim. CMD tarafından yazılan (2 yıl önce) sub.sh‘ı tamir etmek ve iyileştirmek için kendi github hesabım üzerinde bir çatal oluşturdum (fork) ve değişikliklerimi yaptım. Yaptığım bazı değişiklikler şunlardı:

  1. Used name servers for verifying subdomains ınstead of checking 80/443 (httprobe avoided).
  2. Some ortopedical improvements about outputs (file and screen).
  3. Updated depricated install method of go.
  4. Amass runs in passive mode in short scan (-s) otherwise runs in active brute mode.

Aracı yüklemek ve kullanmaya başlamak için aşağıdaki komutu çalıştırabilirsiniz:

curl -sL bit.ly/3bUdFHv | bash /dev/stdin -s example.com

Elinizin altında deneme yapacak bir linux makine yoksa hemen bir goole cloud server üzerinde de çalıştırabilirsiniz. Bunun için şu bağlantıya tıklatmanız yeterli:

https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/enseitankado/sub.sh&tutorial=README.md

SQLMap parametre ve seçenekleri

sqlmap oldukça fazla parametre ve seçeneğe sahip bir araç. Github sayfasında komut satırı seçenekleri hakkında uzun bir döküman yer alıyor. Bu dökümandaki bazı sık kullanılan seçenekleri türlerine göre gruplayarak Türkçe’ye çevirdim ve bazılarına deneyimlerimden elde ettiğim açıklamalar da ekledim. Bu sayfadaki parametre listesine ve açıklamalarına eklemeler yaparak sürekli olarak güncelleyeceğim. Konuyla ilgili olanlar sqlmap ile ilgili şurada karaladıklarıma da bakmak isteyebilirler.

Seçeneklerin gruplaması şu şekilde:

Okumaya devam et “SQLMap parametre ve seçenekleri”

CMD sub.sh ile subdomain keşfi

Daha önce burada amass aracını tanıtmıştım ve ardından burada da diğer araçlarla birlikte daha kapsamlı bir subdomain listesinin nasıl elde edilebileceğine yer vermiştim. Yeni keşfettiğim ve CMD (Cihan Mehmet DOĞAN) tarafından yazılmış olan sub.sh aracı verdiği çıktı kalitesi açısından tüm bunların papucunu dama atmış durumda. sub.sh taradığı servisler ve kullandığı araçlar bakımından oldukça tatminkar sonuçlar üretten pratik bir bash script’i. Script’i buradan inceleyebilirsiniz.

Okumaya devam et “CMD sub.sh ile subdomain keşfi”