Tips arşivleri • CanYouPwnMe! - For Cyber Security Researchers https://canyoupwn.me cypm! Sat, 22 Jun 2019 21:48:33 +0000 tr hourly 1 https://wordpress.org/?v=6.0 https://canyoupwn.me/wp-content/uploads/2016/02/cropped-Başlıksız-1-32x32.png Tips arşivleri • CanYouPwnMe! - For Cyber Security Researchers https://canyoupwn.me 32 32 TR | Bluetooth Low Energy Nedir ? https://canyoupwn.me/tr-bluetooth-low-energy-nedir/ https://canyoupwn.me/tr-bluetooth-low-energy-nedir/#respond Thu, 13 Sep 2018 17:14:18 +0000 https://canyoupwn.me/?p=7546 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Öğrenilmesi Gereken Terimler GAP (Generic Access Protocol) GATT (Generic Attribute Profile) UUID (Universally Unique Identifier) (128 Bit Özel Tanımlayıcı) Giriş BLE protocolü Bluetooth SIG tarafından geliştirimiltir. Bluetooth ile karşılaştırıldığında(Bluetooh Classic)’e göre BLE daha az güç tüketir, cihazları eşleştirmek daha az zaman ve efor gerektirir. Bluetooth classic’e göre daha düşük bir bağlantı hızı sağlar. Bluetooth protokolü […]

TR | Bluetooth Low Energy Nedir ? Enes ERGÜN

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Öğrenilmesi Gereken Terimler

  • GAP (Generic Access Protocol)
  • GATT (Generic Attribute Profile)
  • UUID (Universally Unique Identifier) (128 Bit Özel Tanımlayıcı)

Giriş

BLE protocolü Bluetooth SIG tarafından geliştirimiltir. Bluetooth ile karşılaştırıldığında(Bluetooh Classic)’e göre BLE daha az güç tüketir, cihazları eşleştirmek daha az zaman ve efor gerektirir. Bluetooth classic’e göre daha düşük bir bağlantı hızı sağlar.

Bluetooth protokolü iki kategoriye ayrılmıştır. Denetleyici ve Ana bilgisayar. Ayrıca bu kategorilerin belirli rolleri yerine getiren alt kategorileri vardır. Bunlardan GAP ve GATT bizim için önemlidir.

GAP ve GATT arasında ki farkı şöyle açıklayalım.

GAP

BLE Stacki üzerinde ki genel topolojiyi tanımlar.

GATT

İki cihaz arasında transfer edilen verinin hangi özellikleri taşıyacağının detaylarını açıklar.
GATT genellikle verinin nasıl formatlandığı, paketlendiğini açıklanan kurallara göre gönderilip gönderilmediğine odaklanır. Bir de işin ATT kısmı vardır. ATT ise GATT’a yakın konumlanan bir protokoldür. Şöyle ki: GATT iki cihaz arasında ki gidip gelen verinin tanımını yapmak için ATT’yi kullanır.

GAP

Dış dünyada Bluetooth cihazların birbiri ile iletişime geçebilmesi için 2 adet mekanizma vardır. Bunlar: Yayın yapmak(Broadcasting) veya Bağlanmak(Connecting). GAP bu iki mekanizmayı tanımlamaktadır.

Bir cihaz aşağıda ki GAP rollerinden birini kabul ederek Bluetooth ağına dahil olabilir.

Yayın Yapmak Bu rolde bir cihaza veri aktarmak için bağlantıya gerek yoktur.

  • Yayın yapan(Broadcaster): Bu rolde verilerin aktarılması için cihazlarnı açıkca birbirine bağlı olması gerekmez.
  • Observer: Bu rolde ki bir cihaz Yayın yapan cihazdan gelen verileri dinler. Cihazların birbiri ile bağlı olmasına gerek yoktur.

Bağlanmak Bu rolde veri transferi için cihazların bağlı olması gerekmektedir. Bu rol Yayın Yapma(Broadcasting) rolüne göre daha fazla kullanılmaktadır.

  • Çevresel cihazlar(Peripheral Devices) Merkezi cihazlar ile bağlantı kurabilir. Bağlantı kurulduktan sonra herhangi bir veri yayınlamaz. Dinleyici modda kalırlar. Çevresel cihazlar düşük güç tüketimlidir bunun sebebi ise sadece periyodik zamanlarda sinyal göndermekle zorunlu olmasından dolayıdır. Arada ki iletişimi düzenlemek merkezi cihazın sorumluluktur.

Çevresel cihazlar ve Merkezi cihazların bağlantıları bir çok sebeple kopabilir fakat cihazlar kendi bağlantılarını da sonlandırabilirler.

  • Merkezi cihaz Çevresel cihaz ile bağlantıyı sağlayan cihazdır. Bir merkezi cihaz birden fazla çevresel cihaza bağlanabilir. Bağlantı için çevresel cihaza bir istek gönderir ve çevresel cihaz bunu kabul ederse bağlantı sağlanmış olur. Örnek olarak: Bilgisayarınız da Bluetooth 4.0 destekli bir Bluetooth cihazınız var ise bunu diğer çevresel cihazlara bağlanmak için kullanabilirsiniz. Bu durumda bilgisayarınız bir Merkezi cihaz olur.

Merkezi cihaz ile çevresel cihazın birbirine bağlanabilmesi için çeşitli bağlantı parametrelerine ihtiyacı vardır. Bu parametreler sadece Merkezi cihaz tarafından değiştirilebilir ve güncellenebilir fakat çevresel bir cihaz merkezi cihazdan bağlantı parametrelerini değiştirmesini isteyebilir.

GATT (Generic Attribute Profile)

Roller

GAP’a benzer bir şekilde cihazların etkileşime geçebilmesi için kabul edebileceği/benimseyebileceği roller bulunmaktadır.

Bunlar:

  • İstemci: Sunucu(Server) üzerinde ki parametreleri okuyabilir veya parametre yazabilir.
  • Sunucu: Sunucunun ana rollerinden birisi parametreleri saklamaktır. İstemci bir istekte bulunduğunda sunucu bu parametre/özellikleri kullanılabilir hale getirmek zorundadır.

Bluetooth Stack’i aşağıda ki gibidir.

BLE Günlük Hayatta Nerelerde Kullanılıyor?

  • Alışveriş merkezlerinde belirli bir range girdiğinizde yanlış hatırlamıyorsam reklam amaçlı olarak kullanılabiliyor. Eminim başınıza gelmiştir bir mağazanın önünden geçerken o mağazaya ait telefonunuza reklam SMS’i gelir.
  • Bir çok IOT cihazda bağlantı için kullanılıyor.
  • Akıllı bileklikler vs.
  • Araba anahtarları. Bu anahtarlar klasik anahtarlar değildir. Örnek vermek gerekirse yanına gittiğinizde otomatik kapıları açılan arabalarda bu teknoloji kullanılmaktadır.

BLE ile ilgili çıkmış açıklıklar

Metasploit

BLE ile ilgili araçlar

Ayrıca ESP32 ile de araştırmalar veya çalışmalar yapabilirsiniz.

ESP32 Hakkındaki yazım

İleride belki bununla ilgili teknik bir yazı yazabilirim. Şuanlık yazımız bu kadar.

Okuduğunuz için teşekkürler.

Daha detaylı bilgi için:

GATT
GAP

TR | Bluetooth Low Energy Nedir ? Enes ERGÜN

]]>
https://canyoupwn.me/tr-bluetooth-low-energy-nedir/feed/ 0
TR | Gizlilik Rehberi – 1 https://canyoupwn.me/tr-gizlilik-rehberi-1/ https://canyoupwn.me/tr-gizlilik-rehberi-1/#respond Fri, 15 Jun 2018 06:10:58 +0000 https://canyoupwn.me/?p=7526 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Son zamanlarda kulağımıza çok gelir oldu bu kelime “gizlilik”. Facebook’un Cambridge Analytica vakası, Twitter’ın iç ağdaki log sistemindenden kaynaklanan bir açıklıktan dolayı kullanıcı parolalarının açık şekilde iletildiğini duyurması, seçmen bilgilerinin yayılması, sürecini yakınen takip ettiğimiz, gizliliğimizi ve özgürlüğümüzü kısıtlayan VPN, site engellemeleri ve daha nicesi. Tüm bu olaylara bakıldığında gizliliğin hayatımızda ne noktada olduğunu daha […]

TR | Gizlilik Rehberi – 1 Berk İMRAN

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Son zamanlarda kulağımıza çok gelir oldu bu kelime “gizlilik”. Facebook’un Cambridge Analytica vakası, Twitter’ın iç ağdaki log sistemindenden kaynaklanan bir açıklıktan dolayı kullanıcı parolalarının açık şekilde iletildiğini duyurması, seçmen bilgilerinin yayılması, sürecini yakınen takip ettiğimiz, gizliliğimizi ve özgürlüğümüzü kısıtlayan VPN, site engellemeleri ve daha nicesi. Tüm bu olaylara bakıldığında gizliliğin hayatımızda ne noktada olduğunu daha net görebiliyoruz. Bu yazımızda internette nasıl anonimlik sağlayacağınızdan bahsederken örnek olaylarla da istihbarat servislerinin ve 0-day araştırmacılarının nasıl bu gizliliği hiçe saydıklarını göreceğiz. Her şey kamerayı kapatmaktan ibaret değil…

 

1) WebRTC IP Leak

WebRTC (Web Real-Time Communication), adından da anlaşılabileceği üzere eş zamanlı dosya aktarımı, konferans, canlı akış ve web uygulamaları için tarayıcıların doğrudan birbiri ile haberleşebilmesini adına geliştirilmiş bir teknolojidir. Günümüz tarayıcılarında gömülü olarak gelmektedir ve direkt olarak çalıştırılabilmektedir. Her tarayıcıda gömülü gelen ve tetiklenmesi için herhangi ek bir aktiviteye gerek duymayan bir teknoloji için zafiyet de kaçınılmazdır. Peki nedir gizliliğimizi tehlikeye atan?

WebRTC, IP tanımlamasında standarttan farklı teknikler kullanır. Bu teknik Interactive Connectivity Establishment (ICE)’dir. ICE IP adresi tespitinde STUN/TURN sunucularını kullanılır. WebRTC açısından bakıldığında bu sunucular “IP adresim nedir?” sorusuna yanıt verir. Zafiyeti detaylı anlamak için bu kavramları da incelemek gerek.

Session Traversal Utilities for NAT (STUN)

WebRTC eşler aracılığıyla data alışverişi yaptığı için bu alışverin sağlanmasında STUN sunucuları kullanılır. Bağlantı sağlarken gönderilen bilgiler arasında LAN ve WAN bilgilerimiz de mevcut. Protokolün işleyişindeki mantıkda zafiyet ortataya çıkıyor. Buradaki IP bilgilerimiz gizlenmediği yani sunucu ve eş arasında düz metin halinde veri akışı sağlandığı için bilgilerimiz sızıyor.

Traversal Using Relays around NAT (TURN)

STUN protokolünden farkı eşler arasındaki veri akışında köprü görevi görmesidir. Diğer eşe bilgi giderken TURN sunucularından çıkış yapıldığı için kendi WAN ve LAN IP bilgilerimiz iletilmiş olur. Aşağıdaki şemada çalışma mantığı görülmektedir.

Zafiyetimiz WEB sitelerinin STUN sunucularına yapılan istekteki IP bilgilerinin kaydedilmesinden ibaret. VPN kullansanız dahi VPN protokolleri STUN sunucularına giden bilgilerin kontrolünü yapmadığı için VPN sunucularının atadığı IP gözükmeyecektir. Bu durumda triple VPN, proxy ya da diğer yöntemleri kullansanız dahi iç ağ IP adresiniz sızmış olacaktır. Zafiyet sırasında gerçekleşen isteğin kod bloğundan bir kesit;

function findIP(onNewIP) {
  var myPeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
  var pc = new myPeerConnection({iceServers: [{urls: "stun:stun.l.google.com:19302"}]}),
    noop = function() {},
    localIPs = {},
    ipRegex = /([0-9]{1,3}(\.[0-9]{1,3}){3}|[a-f0-9]{1,4}(:[a-f0-9]{1,4}){7})/g,
key;

https://berkimran.com.tr/ipleak/ipleak.html adresinden kendi tarayıcınızda testi gerçekleştirebilirsiniz.

Zafiyetli bir tarayıcıda iç ağ IP adresi resimdeki gibi ifşa olacaktır. Belirtmekte fayda var bu testi yaparken VPN kullandım. Testi yaptınız ve iç ağ IP adresiniz ifşa oldu, bu durumda tarayıcınıza bağlı olarak çeşitli korunma yöntemleri bulunmakta.

Firefox

  1. Adres satırına about:config yazıp ayarlara girin.
  2. İlk defa giriyorsanız riski kabul ediyorum butonuna tıklamalısınız.
  3. media.peerconnection.enabled değerini aratın.
  4. Çift tıklayarak değerini ‘false’ yapın.

Chrome

Günümüz itibarıyla sadece eklentiler ile engellemek mümkün. Bunun için WebRTC Network Limiter eklentisini kullanabilirsiniz.

Safari

Herhangi bir ayar yapmanıza gerek kalmadan Safari zafiyeti önlemektedir.

2) DNS Leak

Anonim olmak için mümkün olduğunca verilerinizi paylaşmamanız gerek. Dolayısıyla tüm trafiğinizin anonim şekilde sağlanması çok önemli. Güvenli iletişiminize birisizi sızarsa tüm bilgileriniz tehlikededir demektir. Söz konusu DNS olunca da bir zayıflık söz konusu oluyor tabii ki. İşletim sisteminiz ya da modeminizden dolayı size atanan bir DNS sunucundan dolayı tüm trafiğiniz ifşa olabilir. Bir anonim ağda bulunsanız dahi çeşitli durumlarda varsayılan DNS sunucusu ile bağlantı kurabilirsiniz. Bunu dnsleaktest.com sitesinde çok güzel açıklamışlar.

Görüldüğü üzere direk ISP servisinin DNS sunucu ile haberleşildiğinde zafiyet ortaya çıkabilmektedir. Günümüz servis sağlayıcılarının ve onun atadığı DNS sunucularının bizi izlediğini varsayarsak bir anonim bağlantının ne kadar güvenli olduğunu daha iyi kavrayabiliriz. Örnek bir test ve zayıflığın kanıtı;

Çözüm çok basit. VPN servisi ile anonim bir ağ kullanmak ve VPN servisinin DNS sunucularını kullanmak. Ayrıca bkz. Dnscrypt

3) VPN(Virtual Private Network)

Yasaklamalardan ve sansürlerden dolayı Türkiye’nin teknoloji gündemini oldukça meşgul eden bir konu. Konu ile alakalı çok güzel yazılar yazıldı, teknik olarak açıklandı. Ancak ben farklı bir soruya cevap bulmak istiyorum “peki hangi VPN?”. Açıkcası 2012’den bu yana bir fiil her türlü VPN firmasını test ettim, kullandım. 6 yılda neredeyse her firmanın gizlilik politikasını, double & triple VPN mantığını ve işin detaylarına hakim oldum. Şöyle tecrübeleri aktarmak isterim;

  • Aşinası olduğumuz bir “kayıt tutmuyoruz” klasiği

Türkiye’nin de yakından bildiği bir VPN firması, politikasında kendinden kayıt(log) tutmuyoruz diye bahsettiği halde bir hacklenme vakası ile sarsıldı. Zamanının 1day exploit kiti ile VPN firmasının sunucularına girmeyi başaran hacker, tutulan tüm logları tek tek gözler önüne serdi. Bundan dolayı da insanlarda “log tutmadıklarını nereden bilebiliriz” şeklinde sorular oluştu. Cevabı aslında hepimiz biliyoruz.

  • FBI, CIA, NSA gibi istihbarat çalışması yapanlara bilgi vermiyoruz

Uzun uzun yazıp açıklamak istemiyorum. Sadece şunu düşünmeniz yeterli. Ortalama aylık 100 dolar verdiğiniz bir firma sizi tüm istihbarat servislerine karşı koruyor 🙂

Peki hangi VPN firması seçilmeli?

Tecrübelerime dayanarak aşağıdaki maddelere dikkat çekmek isterim;

  • Ödeme yöntemi olarak elektronik para kabul etmesi(btc, eth. vs.),
  • Dns isteklerini, trafiği, timestamps, IP adres, ödeme yöntemi gibi kayıtları tutmaması,
  • Trafiğin hangi algoritma ile şifrelendiği,
  • Bağlı olduğu ülkenin yasaları,
  • Hizmet verdiği sunucu lokasyonları, varsa bandwidth sınırlaması,
  • E-mail ve parola ile değil kendi atadığı sistemle giriş yapılması(dolayısıyla veri tutulmayacak).

Özetle bir VPN firmasının gizlilik politikasında belirttiği yazıdan bir kesit;

…kullanıcılarımızla ilgili bilgileri ifşa etmemiz istendiğinde, elimizde verebileceğimiz hiçbir bilginin bulunmadığı anlamına geliyor. Ancak, kredi kartı ödemeleri ve banka havaleleri kayıt altına alınmaktadır. Bu kayıtlar, bankalar veya kart firmaları tarafından tutulmakta ve tarafımızca silinmesi imkanı bulunmamaktadır. Anonim olarak işlem yapabilmek için nakit veya kripto para birimi ile ödeme yapma seçeneklerini kullanın.

kıyaslama için https://thatoneprivacysite.net/ adresini kullanabilirsiniz. Ek olarak;

https://torrentfreak.com/vpn-services-keep-anonymous-2018/
https://medium.com/@blackVPN/no-logs-6d65d95a3016
https://spideroak.com/articles/guest-post-can-you-trust-a-vpn-to-protect-your-privacy/

 

5 göz 9 Göz 14 göz

Şimdi tüm söylediklerimi unutun. Yukarıdaki en güvenli dediğimiz VPN firmaları bile neden güvensiz inceleyelim.
Ülkeler arasında istihbarat toplamak amaçlı bir ittifak vardır. Ülkelerin topluca vatandaşlarını izleme ve gözetlemesi üzerine kuruludur. Sızan verilerde Türkiye’nin de bunun için “milyon” dolar civarında bir yazılıma ödeme yaptığı görülmektedir. Detayını bilemediğimiz gibi kesinliği hakkında da bilgi sahibi değiliz. Gelelim göz(etleme)lere.
5 Göz;

  1. Avustralya
  2. Kanada
  3. Yeni Zelanda
  4. İngiltere
  5. Amerika

bkz. https://en.wikipedia.org/wiki/UKUSA_Agreement

Dokuz Göz(öncekileri de içerir);

  1. Danimarka
  2. Fransa
  3. Hollanda
  4. Norveç

Ondört Göz(öncekileri de içerir);

  1. Almanya
  2. Belçika
  3. İtalya
  4. İsveç
  5. İspanya

Şimdi sizden ricam o çok övdüğünüz VPN firmalarının hangi lokasyonda olduğuna bakmanız 🙂

Warrant Canary

Ekşi Sözlük’te ssg gayet net açıklamış şu şekilde alıntılayalım.

ing. mahkeme emri kanaryası. “kanarya” tabiri madenlerde gaz kaçağını tespit etmek için kanaryaların kullanımından geliyor. kanarya bıcır bıcır öttüğü sürece sürece gaz kaçağı olmadığını anlıyorsun. ne zaman kanarya susarsa gaz kaçağı olduğunu anlıyorsun. bu taktik, yani gaz kaçağı olduğunu değil ama olmadığını anlamak, amerikan şirketleri tarafından beyan etmenin suç olduğu hukuksal gizlilik durumlarını aşmak için kullanılıyor.
bir firmanın amerikan mahkemesi tarafından gizli emir almasını beyan etmesi hukuken yasak, ama almadığını beyan etmesi değil. dolayısıyla firma ta ki alana kadar:

“bugüne kadar mahkemeden gizli bir emir almadık”

beyanı yazıyor. ne zaman o yazı kaybolursa anlıyorsun ki gizli emir almışlar. bildiğim kadarıyla bu tekniğin gerçekten mahkemede uygulayanı akladığı test edilmedi ama büyük mecra ve servis sağlayıcılar tarafından yaygın olarak kullanılıyor.

VPN kullanmak sizi tamamen anonim yapmaz. Ancak eskisine göre daha iyi bir çözüm sunar.

 

4)TOR(The Onion Routing)

Üzerine onlarca yazı yazıldı, onlarca eğitim videosu çekildi. O yüzden yine bilinen kısımdan ziyade biraz yorumsal kısmına değinmek istiyorum. TOR projesi gizlilik için en büyük çalışmalardan birisi. Günümüzde hakkında onlarca fikir var. Çoğunluk projenin istihbarat servisleri tarafından fonlandığını ve suçluları bulmak için ellerinde 0day exploitler bulundurduğunu düşünmekte. Bug bounty kapsamında gönderilen örnek bir raporu incelemekte fayda var “https://hackerone.com/reports/253429“. Çoğu kişinin bundan daha kritik zafiyetleri bulduğuna eminiz. Aşağıdaki haberleri okuyalım.

https://thehackernews.com/2017/11/tor-browser-real-ip.html
https://thehackernews.com/2017/09/tor-zero-day-exploits.html

Özetle çok büyük bir illegal aktivite için değilseniz, sadece gizliliğini düşünüyorsanız gayet yerinde bir tercih. Ancak %100 gizlilik sağlamadığını da umarım anlatabilmişimdir. Özellikle VPN ve TOR bağlantısı yapsanız bile hatta VPN > VPN > VPN > TOR > Web Proxy şeklinde bir şema izleseniz dahi bahsettiğimiz gibi WebRTC ile IP adresiniz ifşa olabilir.

5) HTTP Başlık Bilgileri

Siteleri görüntülemek için her istek yaptığımızda bir HTTP trafiği de oluşturmuş oluruz. Bu trafiğin içinde bilgilerimiz de gitmekte. Dolayısıyla bu trafikte giden bilgilerimizi mümkün olduğunca değiştirmeli ya da korumalıyız.

DNT (Do Not Track)

Beni izleme özelliği tarayıcılarımızda yıllardır mevcut. Siteye yaptığınız her isteğe “DNT: 1” değerini işler. Dolayısıyla siteye “beni izleme” mesajı vermiş oluruz. Ancak, bu sitenin %100 sizi izlemeyeceğine işaret değildir. Verilerinizin izlenip izlenmeyeceğini bu hususta yine site belirleyecektir. Aşağıda örnek bir istek gösterilmiştir.

User Agent

User-Agent bilgisinde hangi tarayıcıyı kullandığımız hangi işletim sistemine sahip olduğumuz gibi bilgiler gitmektedir. Dolayısıyla gerçekten farklı olarak bu bilgileri değiştirmemiz gizlilik açısından bir artı olacaktır. Reklam içeren link kısaltma sitelerine girdiğinizde genellikle işletim sisteminize göre zararlı yazılım gösterirler. GNU/Linux kullanan bir kullanıcı Windows işletim sistemine ait bir user-agent bilgisi kullanıyorsa karşısına Windows için üretilmiş bir zararlı yazılım çıkacaktır. Bundan dolayı hem gizliliğini sağlamış hem de güvenli kalmış olacaktır.

Resimde de görüldüğü gibi user-agent başlığından Mac bilgisini alan site ona göre zararlı göstermiş oldu. Bundan dolayıdır ki user-agent bilgimizi olduğundan farklı göstermek gerekli.

Cookie

Web sunucusu gelen kullanıcıları ayırt etmek için her kullanıcıya bir session tanımlar. Sunucunun tuttuğu Session id’yi şifreliyerek (değişiklik gösterebilir) Cookie bölümüne ekler. Özetle cookie sizin web sitesindeki parmak izinizdir. XSS zafiyeti ile kendisini yakından tanımaktayız. Oturum bilgilerinizin XSS ya da diğer zafiyetlerle elde edilmesi hem gizliliğiniz hem de güvenliğiniz açısından son derece kritiktir. Bu yazımızda çerezlerin güvenliği ve gizliliği hakkında iki hususta durmak istiyorum. Bunlardan ilki tarayıcıda saklanan cookie güvenliği diğeri ise web zafiyetleri ile alakalı.

  • Stealer

2011’den bu yana (tabii ki öncesinde de dahil olmak üzere) popülerleşmiş yerini fidye yazılımlarına bırakan bir backdoor türüdür. Stealer’ın amacı tarayıcıdaki çerezlerinizi alıp mail adresine, FTP adresine ya da sizin belirleyeceğiniz bir yöntemle size iletmektir. Başlangıca yerleşmez, kendini kopyalamaz, sadece tarayıcılardaki çerezleri okur ve ilgili adreslere iletir. Dolayısıyla diske erişim izni isteyecek ve dışarıya bağlantı oluşturacaktır. Diğer zararlı yazılımlara istinaden daha az izin istemektedir. Dolayısıyla korunmak adına diskte(tarayıcıda) çerez tutulmamalıdır. Bunun için tarayıcılarda seçenek bulunmakta, eklentilerle de bu olay güçlendirilmektedir. Daha öncesinden kalan çerezleriniz varsa Gutmann metoduyla silmeniz gerekmektedir.

  • Web Zafiyetleri

Web zafiyetleri ve cookie dendiği zaman akla gelen ilk zafiyet XSS’dir şüphesiz. XSS zafiyetinin işlevselliğine ve türevine bağlı olarak çerez bilginiz elde edilebilir. Buna önlem olarak çoğu tarayıcı özellikle Reflected(yansıtılan) XSS için iyileştirmeler yapmıştır. Ancak günümüzde bunlar hala yeterli değildir ve kolay atlatılabilmektedir. Bu durumda kullanıcılara ve geliştiricilere düşen sorumluluklar var. Geliştiriciler açısından bakıldığında, çerezlerin HttpOnly olarak işaretlenmesi ve SecureFlag kullanılması gereklidir. Bu şekilde örnek bir JavaScript XSS payload’ı ile tarayıcıdaki çereze erişilemeyecektir. Kullanıcı tarafından bakıldığında NoScript tarzı eklentiler ile her JavaScript dosyasının çalıştırılması engellenmelidir. Böylelikle Coinhive tarzı zararlı kod blokları ile siz video izlerken, sizin işlemciniz kullanılarak yapılan madenciliği engellemiş de olmaktasınız.

 

 

Referanslar:

https://en.wikipedia.org/wiki/Interactive_Connectivity_Establishment
https://tools.ietf.org/html/rfc5766
https://github.com/VoidSec/WebRTC-Leak
https://www.privacytools.io/
https://dnsleaktest.com

 

TR | Gizlilik Rehberi – 1 Berk İMRAN

]]>
https://canyoupwn.me/tr-gizlilik-rehberi-1/feed/ 0
TR | Yerel Ağ Sızma Testlerinde icebreaker Araç Kullanımı https://canyoupwn.me/tr-yerel-ag-sizma-testlerinde-icebreaker-arac-kullanimi/ https://canyoupwn.me/tr-yerel-ag-sizma-testlerinde-icebreaker-arac-kullanimi/#respond Wed, 28 Mar 2018 15:56:45 +0000 https://canyoupwn.me/?p=7467 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

icebreaker Aracı Nedir? icebreaker aracı https://github.com/DanMcInerney/icebreaker adresinden ulaşabileceğiniz açık kaynak kodlu bir sızma testi aracıdır. Yerel ağda  bulunduğunuz fakat Active Directory dışında olduğunuz zamanlar size düz metin kimlik bilgilerini iletmek için Active Directory’ye karşı ağ saldırılarını otomatik hale getirir.  Yerel ağ testlerinde oldukça kullanışlı olan ve içinde bir çok aracı modül olarak bulunduran yeni bir araçtır.  Bu […]

TR | Yerel Ağ Sızma Testlerinde icebreaker Araç Kullanımı Ahmet Gürel

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

icebreaker Aracı Nedir?

icebreaker aracı https://github.com/DanMcInerney/icebreaker adresinden ulaşabileceğiniz açık kaynak kodlu bir sızma testi aracıdır. Yerel ağda  bulunduğunuz fakat Active Directory dışında olduğunuz zamanlar size düz metin kimlik bilgilerini iletmek için Active Directory’ye karşı ağ saldırılarını otomatik hale getirir.  Yerel ağ testlerinde oldukça kullanışlı olan ve içinde bir çok aracı modül olarak bulunduran yeni bir araçtır.  Bu modüllerin bazıları Nmap, Empire, Responder, impacket gibi yerel ağ testlerinde sık sık kullandığımız araçlardan oluşmaktadır. Aşağıdaki resim ile araçta bulunan tüm modülleri görebilirsiniz.

5 farklı atağı sıra ile deneyerek açık metin parolaları ve bulduğu hash değerlerini  JohnTheRipper ile kırmaya çalışarak otomatik olarak atakları tamamlamaktadır.

RID Cycling Atağı

Nmap kullanarak boş SMB oturumlarını bulmaktadır.

SCF Dosya Yükleme Atağı

Ağ üzerinde anonim olarak yazılabilir paylaşımları bulmak için Nmap kullanır. Daha sonra böyle bir alan tespit ettiğinde SCF dosyası yükleme atağı gerçekleştirmektedir. Yakaladığı hash değerlerinide John ile kırmaya çalışmaktadır.

LLMNR/NBTNS/mDNS Poisoning Atağı

Bu atakta Resporder aracını kullanarak Katman  2 de  LLMNR/NBTNS/mDNS zehirleme atağı gerçekleştirmektedir. Yine yakaladığı hash değerlerinide John ile kırmaya çalışmaktadır.

SMB Relay Atağı

ntlmrelay.py ve Responder.py araçlarını kullanarak elde ettiği hashlerden john ile kırdığı parolaları kullanarak hedef makinaya bağlanarak admin kullanıcısı eklemeye çalışmaktadır. Bu adımdan sonra mimikatz aracını çalıştırıp bellekten parola ve hash dökümlerine ulaşabilirsiniz.

IPv6 DNS Poison Atağı

mitm6 ve ntlmrelayx.py araçlarını kullanarak  IPv6 DNS zehirleme yaparak  kulanıcı ve makina hash değerlerini yakalamaya çalışmaktadır. Kimlik doğrulama için sahte WPAD (Web Proxy Autodiscovery Protocol)  ler oluşturmaktadır. Bu kullanıcılar için ağ sorunlarına neden olabilir.

icebreaker Araç Kurulumu : 

Kali-Linux’a kuracaksanız kurulumdan önce apt-get remove python-impacket yapmanız gerekmektedir.

git clone https://github.com/DanMcInerney/icebreaker.git
cd icebreaker
./setup.sh
pipenv shell

Kurulum tamamlandığında bazı paketlerin eksik olduğu hatasını alabilirsiniz. Bunun için pip3 ile birlikte paketleri  yüklemelisiniz. Eğer pip3 yüklü değil ise ilk olarak  apt-get install python3-pip komutu ile onu kurmalısınız. Daha sonra eksik olan paketleri aşağıdaki komutlar ile birlikte kullanabilirsiniz.

pip3 install libtmux
pip3 install netifaces
pip3 install python-libnmap
pip3 install netaddr

Paketleride kurduktan sonra  python3 icebreaker.py -h  veya ./icebreaker.py -h komutları ile aracın parametrelerini görebilirsiniz.

icebreaker aracını isterseniz target.txt veya nmap tarama sonuçlarını vererek  çalıştırabilirsiniz.

python3 icebreaker.py -l targets.txt -i eth0 -t 30 -c default komutu ile  target.txt dosyasındaki IP adresi/adresleri için 30 dakika boyunca LLMNR/NBTNS poisining atağı gerçekleştirecektir. Sistemde çalıştırılacak komut için -c parametresi ile belirtebilirsiniz.

Gördüğünüz gibi yakaladığı hash değerini John ile kırarak açık metin parolasını göstermektedir. Aynı zamanda aracın dizinindede tutulmaktaır. Daha sonra gerekli olduğunda hash değerini ve açık metin parolaya aşağıdaki resimde görüldüğü gibi ulaşılabilmektedir.

Hedef sistemde yakaladığı hash değerleri ve ele geçirdiği açık metin parolalar ile bağlanarak komut çalıştırabilmektedir. Bunun için Empire ile powershell kullanılmaktadır.

./icebreaker -l targets.txt -c “powershell -nop -w hidden -exec bypass -enc WwFk…”

Araç bir çok atağı ve aracı  otomatik  hale  getirdiğini gördüğümde paylaşmak istedim  başka bir yazıda görüşmek üzere ?

TR | Yerel Ağ Sızma Testlerinde icebreaker Araç Kullanımı Ahmet Gürel

]]>
https://canyoupwn.me/tr-yerel-ag-sizma-testlerinde-icebreaker-arac-kullanimi/feed/ 0
TR | IDN Homograph Attack https://canyoupwn.me/tr-idn-homograph-attack/ https://canyoupwn.me/tr-idn-homograph-attack/#comments Tue, 18 Apr 2017 19:16:51 +0000 https://canyoupwn.me/?p=6930 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Yukarıdaki ekran görüntülerine baktığınızda resmi ve güvenli bir site olduğunu düşünüyorsanız yanılıyorsunuz. Chrome tarayıcının şu anki sürümünü (57.0.2987) ya da Firefox’un şu anki sürümünü (52.0.2) kullanıyorsanız siteleri daha yakından incelemek için bağlantılara tıklayın http://www.apple.com https://www.epic.com Şimdi de orjinal siteleri ziyaret edelim https://www.apple.com http://www.epic.com Internet Explorer ya da Safari tarayıcılarını kullanıyorsanız durumun farkına varmış olmanız gerek. […]

TR | IDN Homograph Attack Gökay Atar

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Yukarıdaki ekran görüntülerine baktığınızda resmi ve güvenli bir site olduğunu düşünüyorsanız yanılıyorsunuz. Chrome tarayıcının şu anki sürümünü (57.0.2987) ya da Firefox’un şu anki sürümünü (52.0.2) kullanıyorsanız siteleri daha yakından incelemek için bağlantılara tıklayın http://www.apple.com https://www.epic.com

Şimdi de orjinal siteleri ziyaret edelim https://www.apple.com http://www.epic.com Internet Explorer ya da Safari tarayıcılarını kullanıyorsanız durumun farkına varmış olmanız gerek.

Size sanki bankanızdan gelmiş gibi bir mail atılmış olsun ve bağlantıya tıkladığınızda bankanın gerçek sitesinde dolaştığınızı sanarken aslında banka sitesini klonlayan saldrıgan arkaplanda bilgilerinizi çalıyor olabilir. Peki yukardaki örneklerde orjinal siteyle sahte arasında ki fark ne? Alan adları aynı görünmesine rağmen nasıl farklı sitelere ulaştık?

Şimdi http://www.apple.com ssl sertifikasına bakalım.

İlk başta Firefox alan adını normalmiş gibi gösterirken sertifikayı görüntülediğimizde www.xn--80ak6aa92e.com adresini görüyoruz. Bu arada büyük bir uyarı yapalım  ssl sertifikası olan her  site güvenlirdir diye algı var var fakat bu tamamen yanlıştır.

Eskiden sadece kısıtlı karakterlerde alan adı kaydı yapabiliyorduk. İçinde ingilizce karakterler  a-z, A-Z, 0-9 ve ‘-” dışında alan adlarını kayıt etmemiz izin verilmiyordu. Bu kural kendi dilimizde alan adı almamızı engelliyordu. Farklı dillerdeki karakterleri de kayıt edebilmemiz için internationalized domain name (IDN) standardı oluşturuldu. Türkçe ya da diğer dillerdeki özel karakterleri içeren alan adları kayıt edebilmemize olanak sağlandı.

IDN standartları, var olan alan adı sistemini yeniden tasarlamaktan ziyade var olanı genişletmeye yönelik oluşturuldu. Bu yüzden unicode’u ASCII şekilde ifade edebilmek için punycode oluşturuldu. Böylece çince ya da türkçe gibi dillerdeki karakterleri punycode ile ascii karakterlere çevirebiliyoruz.

Örneğin özgürmüyüyüz.com alan adını almak istediğimizde zgrmyyz-80a0dcbb.com punycode olarak çevirlir ve ASCII uyumluluğunu belirtmek için başına “xn--” ön eki eklenir. Kısaca özgürmüyüyüz.com karşımıza xn--zgrmyyz-80a0dcbb.com olarak çıkar.

Japonca 天照  (katakana: amaterasu) kelimesini örnek alalım. 天照.com alan adını almak istediğimde ASCII uyumlu xn--rss077c.com’a çevrilir punycode sayesinde de her iki şekilde siteye erişebiliriz.

Punycode’u öğrendiğimzie göre apple’a geri dönelim. apple.com hali hazırda ASCII uyumlu iken sahte sitemiz xn--80ak6aa92e.com  olarak gözüktü çünkü “a” karakteri kiril alfabesine göre kayıt edilmiş.

https://unicode-table.com/en/#control-character  adresinden 0061. karakter latin alfabesinde ki “a” iken 0430.karakterin kiril alfabesinde ki “а” olduğunu görebilrisiniz.

Firefox ve chrome bir sonraki güncellemelerinde siteleri adres satırında unicode yerine punycode olarak gösterecek böylece bu tarz aldatmaların farkına varabileceksiniz.

Firefoxta güncellemeyi beklemeden tarayıcının gelişmiş ayarlarından punycode görüntülenemsini sağlayabilirsiniz. Bunun için adres satırına about:config  yazıp,  network.IDN_show_punycode  saıtınındaki false değerini true olarak güncelleyebilirsiniz.

TR | IDN Homograph Attack Gökay Atar

]]>
https://canyoupwn.me/tr-idn-homograph-attack/feed/ 3
TR | MAC (Media Access Control) https://canyoupwn.me/tr-mac-media-access-control/ https://canyoupwn.me/tr-mac-media-access-control/#respond Wed, 29 Mar 2017 06:30:39 +0000 https://canyoupwn.me/?p=6800 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

MAC Nedir? Nasıl Bulunur? Bir cihazın belirli bir alandaki ağ donanımını tanımaya yaran kimlik numarasına MAC denir. MAC adresleri yereldir ve donanım ile alakalıdır yani bilgisayarın fiziksel adresidir. MAC adresi bir bilgisayarın Ethernet kartı üreticisi tarafından kodlanan, ROM’da saklanan bir bilgidir. Her donanıma sahip bir aygıt için özel MAC adresleri, dünyada başka bir benzeri olmayacak […]

TR | MAC (Media Access Control) CypmUni FÜ

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

MAC Nedir? Nasıl Bulunur?

Bir cihazın belirli bir alandaki ağ donanımını tanımaya yaran kimlik numarasına MAC denir.
MAC adresleri yereldir ve donanım ile alakalıdır yani bilgisayarın fiziksel adresidir. MAC adresi bir bilgisayarın Ethernet kartı üreticisi tarafından kodlanan, ROM’da saklanan bir bilgidir.
Her donanıma sahip bir aygıt için özel MAC adresleri, dünyada başka bir benzeri olmayacak şekilde IEEE standartlarına uygun verilir. Aynı MAC adresine sahip birden fazla ağ cihazı yoktur.
MAC adresleri 6 oktet yani 48 bitlik ve hexadecimal formatında, eşsiz bir adrestir. İlk üç oktet yani ilk 24 biti donanımı üreten firmayı işaret etmektedir, son üç oktet yani diğer 24 biti de donanımı işaret etmektedir.
Yazılımlar ile sahte MAC adresleri oluşturulabilmektedir. ARP ve RARP protokolleri MAC adresi ve ip adresi arasındaki bağlantıyı sağlar.
MAC adresi, yerel ağlardaki cihazların iletişim kurması için adres görevi görürken, dış ağa çıkacağı zaman da DHCP sunucusundan ip kiralamak için kullanılırlar.
Ağ içerisinde cihazların bağlantı kurmasında ve birbirlerini tanımalarında kullanılır. Ağa bağlanan cihaza atanan ip adresine karşılık gelen MAC adresi bir tabloda tutulur. Ağa bir cihaz bağlandığı zaman bu tablo kontrol edilir. Bu özellikten yararlanarak ağdaki MAC adresleri filtrelenebilir ya da sadece belli MAC adreslerine izin verilmesi sağlanabilir.

MAC Adresi Protokolleri

  • Ethernet
  • Token Ring
  • Wifi
  • Bluetooth
  • FDDI
  • SCSI

 

MAC Adresi ile Ne Tür Saldırılar yapılabilir?

MAC adresi ile whatsapp mesajları dahil bir çok bilgiye ulaşılabilir. MAC Flooding yapılarak ağ trafiği yoğunlaştırılabilir ve trafik dinlenebilir. Çünkü MAC adresi bilinen iki ağ birbiri ile haberleşebilir. Örneğin ARP Spoofing saldırıları bir İP adresine karşılık sahte MAC adresi oluşturma yardımı ile yapılmaktadır.

 

Nasıl korunmalıyız?

MAC adresleri filtrelenebilir. Bu şekilde ağınıza istenmeyen kişilerin erişimi engellenebilir. Aynı zamanda saldırı yapacak bilgisayar da şifreleyicinin IP – MAC adres eşlemelerini port sayısı kadar yapmaları sayesinde atak yapan bilgisayar şifreleyicinin port yerine farklı bir IP – MAC adresi gönderme işlemi olan ARP saldırısını yapamayacaktır.

Ve aslında en güzel önlem tanımadığınız ve güvenmediğiniz ortamlarda Wİ-Fİ ile ağa bağlanmamaktır.

 

Windows İşletim Sisteminde MAC Adresi Bulma

Başlat>Çalıştır>cmd karşımıza gelen konsol ekranına getmac /v  yazarak mac adresini öğrenebiliriz.

Physical address yazan kısım MAC adresini verir.  Bu komutu yazdığımız da görüldüğü gibi birden fazla mac adresi gelebilir, denetim masasında ağ ve paylaşım merkezine girip;

MAC adresini görmek istediğiniz hariç diğer bağlantıları devre dışı bırakıp tekrar getmac yazdığınız da istediğiniz bağlantının MAC adresini görebilirsiniz.

Windows işletim sistemlerinde MAC adresini en kolay

Başlat>çalıştır>cmd>ipconfig –all   yazarak öğrenebilirsiniz.

MAC adresi bir tane olmaz. Ethernet, wifi, bluetooth gibi ağ donanımı üzerinde birbirinden farklı MAC adresleri bulunmaktadır.

Örneğin; ipconfig/all yazdığımızda gelen kısımda Ethernet adapter Ethernet bölümünün altındaki Physical Address kısmındaki 12 haneli karakter dizisi ethernet kartımızın MAC adresidir. Aynı şekilde hangi ağ kartınızın MAC adresini öğrenmek istiyorsanız o başlık altında ki Physical Address, MAC adresini verecektir. Fiziksel adres kısmı 44 ile başlıyorsa bu ethernet kartının vs. MAC adresini göstermez, modemin MAC adresini gösterir.

 

Android Cihazlarda MAC Adresi Bulma

Telefonda ayarlardan cihaz hakkında kısmına giriyoruz.

Burada durum bölümüne giriyoruz.

MAC adresi bu kısımda bulunuyor.

MAC Adresi Değiştirme

Wİ-Fİ modemlerinizin ara yüzünde kara liste, beyaz liste gibi buna benzer seçenekler bulunmakta muhtemelen de görmüşsünüzdür. Eğer bu filtrelerden siyah listeye eklenmişseniz bunu aşmanın yolu MAC adres değişikliğidir. Diyeceksiniz ki MAC adresleri sadece okunabilir değil miydi? Evet, sadece okunabilir ama yardımcı programlar sayesinde sanal bir MAC adresi oluşturulabilir. Başka bir kullanım amacı da kendinizi gizlemektir. Herhangi bir suç durumunda IP adresinin takibinden sonra, DHCP den ilgili IP adresinin, hangi MAC adresine karşılık geldiğine bakılır. Eğer tespit edilirseniz hukuksal süreç başlayacaktır.

 

Windows İşletim Sisteminde MAC Adresi Değiştime

 Spoof-Me-Now

Spoof-Me-Now çalıştırılabilir özellikte olduğu için kurulum gerektirmeyen kolay programlardandır. En iyi özelliği ise, başlat menüsünde yeni girdilerin yenilenmemesinden dolayı program silindiğinde arkada kalıntı bırakmamasıdır.

spoofmenow.exe  dosyasını çalıştırıyoruz.

Arayüzü basit olan ve kullanımı kolay olan Sppof-Me-Now çalıştırıldıktan sonra gelen ekran hemen işlemleri yapabilmemizi sağlamaktadır.

Choose a Device, kısmından istediğiniz ağı seçerek Current Mac kısmında MAC adresinizi görebilirsiniz. Spoof To kısmında ise sizin için random atanmış MAC adresi bulunmaktadır. İsterseniz Spoof To kısmını elle de değiştirebilirsiniz. Daha sonra aşağıda gösterildiği gibi spoofu tıklayarak  MAC adresinizi değiştirmiş olacaksınız.

 

Log penceresinden yapılan değişiklikleri görebilirsiniz.

 

Elle MAC Adresi Değiştirme

MAC adresini elle değiştirmek de bir yöntemdir. Bunu yapmak için; Denetim Masasından Ağ ve İnternet seçeneğine girip Ağ ve Paylaşım Merkezine gelin. Kullandığınız bağlantıya sağ tıklayıp özellkikler –> yapılandır diyoruz. Daha sonra gelişmiş sekmesinden Network Address kısmına tıklayıp 12 haneli MAC adresini istediğimiz gibi değiştirebiliyoruz. cmd komut satırında ya da diğer yöntemlerle MAC adresinin değişip değişmediğini kontrol edebiliriz.

 

Windows da Technitium MAC Address Changer (TMAC) ile MAC Değiştirme

TMAC programını  https://technitium.com/tmac/ adresinden indirebilirsiniz. Programı indirdikten sonra zip dosyasından çıkarıp kurulumu başlatabilirsiniz. Programımızın kurulumu klasik Windows programlarının kurulumu şeklinde olduğu için resimlerle göstermeyeceğiz. Programımızda MAC adresini elle girebilir ya da otomatik olarak atayabilirsiniz.

  1. Numarada orijinal Mac adresi yer alır
  2. Numarada aktif olan Mac adresi yer alır
  3. Numarada ipconfig –all  yazarak programın doğruluğunu kontrol ediyoruz

Şekilde de görüldüğü üzere Mac adreslerimiz aynı şimdi rastgele bir mac adresi atayıp aktif edelim ve sonucunu cmd de karşılaştıralım.

  1. Rastgele Mac adres ata dedik
  2. Mac adresini değiştir dedik
  3. Tamam, kutucuğuna tıkladık

Yukardaki kutucukta değişmiş olan Mac adresimizi görebilirsiniz.  Eğer elle Mac adresi gireceksiniz 1 numaralı kutucuğun yanındaki  – – – – –  olan boş yere farenizle sol tık yapıp istediğiniz adresi atayabilirsiniz.

CMD de görecek olursak

Gördüğünüz üzere Mac adresimiz değişti. Burada bir şeye daha dikkat etmenizi istiyoruz. Mac adresi değişince ip adresi de değişti. DHCP tablo doldurma saldırısı bu mantık üzerine yapılan bir saldırıdır.

Eski Mac adresimizi kullanmak istediğimizde Restore Orginal  butonuna tıklayarak eski Mac adresimizi aktif edebiliriz.

Linux ta Mac Adresi Öğrenme

Terminal ekranını açıyoruz.

Eğer root değil isek, “su” yazıp enter a basıyoruz. (root olmak için)

Terminale “ifconfig eth0” yazıyoruz. Önümüze çıkan sonuçta “ether” yazan yerin karşısındaki değer MAC adresimiz.

Macchanger ile Linux da MAC Adresi Değiştirme

Macchanger Linux’ta MAC adresimizi değiştirmemize olanak sağlıyor. Macchanger ile rastgele MAC adresi atabildiğimiz gibi macchanger ile ağ donanım aygıtı üreten herhangi bir firmanın MAC adreslemede kullandığı ilk 24 bitlik kısmı öğrenerek kendi MAC adresimizi oluşturabiliriz. MAC adresi değiştirme;

  1. Rastgele MAC adresi atama;

terminal de “sudo macchanger -r eth0”  komutunu kullanıyoruz. Daha sonra;

  1. sudo ifconfig eth0 down
  2. sudo ifconfig eth0 up
  3. ifcongif eth0

kaydedip yeni MAC adresinin görüntülüyoruz.

  1. Özel MAC adresi oluşturma, yani herhangi bir ağ donanım aygıtı üreten firmanın ilk 3 oktetlik kısmını öğrenme

Terminal ekranına “sudo macchanger -l | grep “Sony” yazıp Sony markasını MAC adreslemede kullandığı ilk 24 bit listesini karşımıza çıkarıyoruz.

İlk 24 biti seçtikten sonra “sudo macchanger -m 88:ae:1d:c2:11:a1” son 24 bitlik kısmı 0-9 ve a-f aralığında giriyoruz ve en son terminale;

 

  1. sudo ifconfig eth0 down
  2. sudo ifconfig eth0 up

yazarak,

Değişikliği tamamlamış oluyoruz.

 

Modem Ara Yüzünden MAC Filtreleme

İnternet tarayıcınıza girerek adres çubuğuna 192.168.1.1 veya 192.168.2.1 yazarak modem ara yüzüne ulaşılır. Kullanıcı adı ve parola yazılarak ara yüze girilir.

Bağlantı durumundan modeme bağlı cihazlar görülür ve üzerine tıklayarak bilgi yazan kısma girilerek cihazla ilgili MAC adresi, IP’si gibi bilgiler alınabilir.

Güvenlik kısmından MAC filtrelemeye girilerek liste hazırlanır.

Burada MAC filtrelemeyi aktif edip beyaz listeyi seçerek listeyi oluşturursak sadece listeye eklediğimiz cihazlar bağlanabilir. Filtrelemeyi aktif edip kara listeyi seçerek listeyi oluşturursak listeye eklediğimiz cihazlar bağlanamazlar. Listeyi oluşturduktan sonra uygula diyoruz ve MAC filtrelemesi tamamlanmış oluyor.

MAC Flooding

Switchlerin MAC adreslerini kontrol etmek için kullandığı MAC tablosu vardır. Bu tablo çıkışın hangi  porttan yapılacağını belirler. Saldıran kişi sürekli MAC adresini değiştirerek MAC tablosunu doldurmak için paketler gönderir ve tabloda olmayan MAC adreslerine ulaşan paketler bütün portlara yayılmış olur. Bu şekilde switchler hub’a dönüşmüş olurlar ve paket trafiği izlenir. Macof programı ile bu saldırı düzenlenir.

 

  • macof -i eth0 -n 15 => Random Flooding

  • macof -i eth0 -d 192.168..160.130 -n 20 => Target Flooding

TR | MAC (Media Access Control) CypmUni FÜ

]]>
https://canyoupwn.me/tr-mac-media-access-control/feed/ 0
TR | CloudBleed https://canyoupwn.me/tr-cloudbleed/ https://canyoupwn.me/tr-cloudbleed/#respond Thu, 02 Mar 2017 06:30:40 +0000 https://canyoupwn.me/?p=6434 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Cloudflare 2009 yılında piyasaya çıkmış olan premium paketi olduğu gibi free paketinden de yararlanabileceğiniz bir servistir. Cloudflare alan adınızı nerden alırsanız alın Cloudflare e devredip ekstra hız, güvenlik ve performans konularında destek alabileceğiniz bir servistir. Google un Project Zero Team adını verdiği ekibinden Tavis Ormandy isimli mühendisi cloudflare üzerinde zafiyet bulmuş olup 23 Şubat günü açık kapatılmadan […]

TR | CloudBleed Mustafa Kaan Demirhan

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Cloudflare 2009 yılında piyasaya çıkmış olan premium paketi olduğu gibi free paketinden de yararlanabileceğiniz bir servistir. Cloudflare alan adınızı nerden alırsanız alın Cloudflare e devredip ekstra hız, güvenlik ve performans konularında destek alabileceğiniz bir servistir.

Google un Project Zero Team adını verdiği ekibinden Tavis Ormandy isimli mühendisi cloudflare üzerinde zafiyet bulmuş olup 23 Şubat günü açık kapatılmadan da duyurmuştur.

Açığa gelicek olursak;

Tavisin raporuna göre Cloudflare` in uç sunucularında çalıştırılan bazı HTTP istekleri sonucu bazı bozuk web web sayfaları görüyordu. Yapılan inceleme sonucunda ise uç sunucularda cache den gizli bilgiler, cookieler ve doğrulama tokenleri, sunucuların gerçek adresleri ve bir çok hasas bilginin geri döndüğünü gördüler ve arama motorları bu bilgileri indexleyip arama yapan herkese servis ettiğini farkettiler.

/* generated code */ if ( ++p == pe ) goto _test_eof;

Hata kaynağı kodda >=  parametresi yerine ==  kullanarak isteklerin buffer dan taşarak sızmasına neden olmaasıdır.

Bug`ın yayılmasından sonra ortaya çıkan https://github.com/pirate/sites-using-cloudflare  adresindeki adresler cloudflare kullancılarının listesidir ancak listenin hepsinin bu zafiyetten etkilenmemiştir. Zafiyetten etkilenenler SSL hizmeti almayan kullancıları etkilemiştir.

Alttaki dorkla arama motorlarında arama yaptığınızda alacağınız örneklerden bazıları;

{"scheme":"http"} CF-Host-Origin-IP

Cloudflare üzerinden SSL private anahtarları leak olmadı çünkü cloudflare SSL hizmeti alan kullanıcıları bu istekleri bu zafiyetten etkilenmeyen NGINX sunucu üzerinden servis etmektedir.

Zafiyet 7 saat içerisinde giderilmiştir. Adımları alttan inceleyebilirsiniz.

All times are UTC.

2017-02-18 0011 Tweet from Tavis Ormandy asking for Cloudflare contact information 
2017-02-18 0032 Cloudflare receives details of bug from Google 
2017-02-18 0040 Cross functional team assembles in San Francisco 
2017-02-18 0119 Email Obfuscation disabled worldwide 
2017-02-18 0122 London team joins 
2017-02-18 0424 Automatic HTTPS Rewrites disabled worldwide 
2017-02-18 0722 Patch implementing kill switch for cf-html parser deployed worldwide

2017-02-20 2159 SAFE_CHAR fix deployed globally

2017-02-21 1803 Automatic HTTPS Rewrites, Server-Side Excludes and Email Obfuscation re-enabled worldwide

Zafiyetin giderilme aşamalarını anlık olarak paylaşan bu konudaki şeffaflıkları için Cloudflare teknik ekibini tebrik etmek gerekir.

Zafiyet sonrası yapabilecekleriniz;

  • Cloudbleed üyeliğinizi parolanızı değiştirebilir ve 2aut doğrulamaya geçebilirsiniz.
  • Sunucunuzun reel IP adresinin leak olma ihtimaline karşın sunucunuzu taşıyarak reel IP adresini değiştirebilirsiniz.
  • Sitenizdeki kullanıcı hesaplarının parolarını sıfırlayarak onlarında 2uth doğrulamaya geçirebilirsiniz.

TR | CloudBleed Mustafa Kaan Demirhan

]]>
https://canyoupwn.me/tr-cloudbleed/feed/ 0
TR | Windows Sunucu Güvenliği ile İlgili Öneriler https://canyoupwn.me/tr-windows-sunucu-guvenligi-ile-ilgili-oneriler/ https://canyoupwn.me/tr-windows-sunucu-guvenligi-ile-ilgili-oneriler/#respond Tue, 10 Jan 2017 21:14:43 +0000 https://canyoupwn.me/?p=5037 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Dosya ve Yazıcı sistemlerini güvende tutmak için basit önlemler; Sunucularınızı fiziki olarak güvende tutun. NTFS dosya sistemini bütün sürücülerinizde kullanın . Sisteminizi güncel tutun İşinize yaramayan servisleri ve uygulamaları sistemden kaldırın. Kullanıcılar sadece dosyalara erişimini ve yazdırma sistemini kullanmalarına yetecek izinler verilmelidir. Password Policy security kullanarak kullanıcıların güçlü şifreler seçmelerini zorunlu kılın. Administrator ve Guest […]

TR | Windows Sunucu Güvenliği ile İlgili Öneriler CypmUni İYTE

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Dosya ve Yazıcı sistemlerini güvende tutmak için basit önlemler;

  • Sunucularınızı fiziki olarak güvende tutun.
  • NTFS dosya sistemini bütün sürücülerinizde kullanın . Sisteminizi güncel tutun
  • İşinize yaramayan servisleri ve uygulamaları sistemden kaldırın.
  • Kullanıcılar sadece dosyalara erişimini ve yazdırma sistemini kullanmalarına yetecek izinler verilmelidir.
  • Password Policy security kullanarak kullanıcıların güçlü şifreler seçmelerini zorunlu kılın.
  • Administrator ve Guest hesaplarını güçlü şifrelerle koruyun.
  • Sunucularınızda işlem yaparken mümkün olduğunca az izinle çalışın.
  • Sunucunun kullanıcılar tarafından kullanılabilmesi için print spooler servisinin aşağıdaki gibi yapılandırılması gereklidir.

 

Windows + R kombinasyonuna services.msc yazarak erişebilirsiniz.

Services.msc  penceresinde aşağıdaki bölümden kullanıcıların kullanacağı şifrelerin güvenliğini arttırabilirsiniz.

Enforce password history : kullanıcıların şifre değiştirecekleri zaman seçecekleri şifrenin önceki şifrelerle aynı olmamasını sağlamak için kullanılır. Windows Server 2008de her kullanıcı için önceki 24 şifresi hatırlatılabilir.
Maximum password age : Bir şifre atandıktan sonra belirlenen gün sonrası şifrenin tekrar değiştirilmesi istenir.
Minimum password age : Atanan şifrenin tekrar değiştirilmesi için gereken minimum süre. Kullanıcıların sürekli şifre değiştirerek eski şifresini tekrar atamasını engellemek için kullanınız.

Password must meet complexity requirements: Aktifleştirildiğinde şifrelerin karşılaması gereken özellikler şu şekilde değiştirilir;

  • Kullanıcı adı, tam adının kendisi ya da bir parçasını içeremez.
  • En az 6 karakter uzunluğunda olmalı
  • Bu 4 koşuldan en az üçünü karşılamalı;Büyük harfler,küçük harfler,rakamlar,özel karakterler

Kullanıcı izinleri

Varsayılan izinler aşağıda gösterilmiştir.

  • Administrators:Full Control
  • System: Full Control
  • Users: Read, Read and Execute
  • Creator Owner: Herhangi bir izni yok
  • Everyone: Herhangi bir izni yok

Dosya izinlerini düzenlemek için;

  1. İzinleri düzenlenecek dosyaya sağ tıklayın.> Özellikler > Güvenlik
  2. Ekle  bölümünden yukarıdaki nesneleri ekleyin.
  3. İzinleri istediğiniz şekilde düzenleyin. Tam kontrol seçeneği altındaki bütün izinleri aktif hale getirir.Read & Execute  seçeneği otomatik olarak Read  seçeneğini de aktifleştirir.

DESX algoritmasını daha güvenli olan 3DES algoritmasıyla değiştirin. Regedit penceresinden ilerleyin.

  1. Kayır Defteri Düzenleyicisi’ni açınız
  2. HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/EFS  alt anahtarına girin.
  3. Yeni DWORD  değeri açın.
  4. İsmini AlgorithmID , değerini 0x6603  olarak kaydedin.
  5. Restart the computer

TR | Windows Sunucu Güvenliği ile İlgili Öneriler CypmUni İYTE

]]>
https://canyoupwn.me/tr-windows-sunucu-guvenligi-ile-ilgili-oneriler/feed/ 0
TR | Scalpel ile Dosya Kurtarma https://canyoupwn.me/linuxta-scalpel-ile-silinmis-dosya-kurtarma/ https://canyoupwn.me/linuxta-scalpel-ile-silinmis-dosya-kurtarma/#respond Fri, 09 Dec 2016 06:30:05 +0000 https://canyoupwn.me/?p=4744 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Scalpel sisteminizden, harici disklerinizden her hangi bir nedenle silinen dosyalarınızı kurtarmanızı sağlayabilen küçük, hızlı ve kullanışlı bir araçtır. Bu yazımda kurulumu ve nasıl kullanıldığını anlatmaya çalışacağım. Öncelikle  sudo apt-get install scalpel komutu ile sistemimize kuruyoruz. Paket depoları dağıtımtan dağıtıma farklılık gösterir debian tabanlı bir dağıtım kullanmıyorsanız paket yöneticisi farklı olacaktır. Scalpel i sistemimize kurduktan sonra […]

TR | Scalpel ile Dosya Kurtarma Ahmet Gürel

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Scalpel sisteminizden, harici disklerinizden her hangi bir nedenle silinen dosyalarınızı kurtarmanızı sağlayabilen küçük, hızlı ve kullanışlı bir araçtır. Bu yazımda kurulumu ve nasıl kullanıldığını anlatmaya çalışacağım.
  • Öncelikle
 sudo apt-get install scalpel

komutu ile sistemimize kuruyoruz. Paket depoları dağıtımtan dağıtıma farklılık gösterir debian tabanlı bir dağıtım kullanmıyorsanız paket yöneticisi farklı olacaktır.

1

Scalpel i sistemimize kurduktan sonra

sudo vim /etc/scalpel /scalpel.conf

 diyerek scalpel in ayar dosyasını açıyoruz.

2
Ben ayar dosyasını vim ile açtım siz vi, nano, gedit gibi editörler ilede açabilirsiniz. vim kurulu olarak gelmemekte bir live cd ile çalıştığınızda vim i kurmadıysanız bu komut hata verecektir.
3
  • Şimdi scalpel in ayar dosyasında bolca # (diyez) işareti görmekteyiz. Bunlarda yorum satırı olarak algılanıp çalışmamaktadır. Kurtarmak istediğiniz dosya formatının önündeki #(diyez) işaretlerini kaldırarak arama esnasında o uzantılı dosyayı arayıp kurtarmasını sağlayacağız. Ayar dosyasında gördüğünüz y nin yanındakiler bytes olarak dosyanın büyüklüğüdür. Daha büyük dosyaları aramayacaktır onuda değiştirmek elinizdedir. Son olarak #(diyez) i kaldırıp vim in :wq komutu ile dosyayı kaydetip ve çıktım. Bundan sonrası istediğimiz disk, kurtarılcak alanı gösterip dosylarımızı kurtarmaya kaldı.
4
sudo scalpel /dev/sda1 -o /home/ahmet-gurel/Desktop/output

diyerek scalpel i sda1 disk bölümündeki .jpg ve .png uzantılı silinmiş dosyaları arayarak kurtardığı dosyaları  masaüstünde output adlı bir klasöre kaydetmiştir. Diskin büyüklüğüne göre tarama ve kurtarma işlemi uzayacaktır ben deneme amaçlı 100 mb lık küçük bir alanı taradım genel anlamda kullanımı bu şekildedir.  -o parametresinden sonraki kısım kurtarılan dosyaların nereye kaydedileciğini göstermektedir istediğiniz gibi bir yol klasör verebilirsiniz.

TR | Scalpel ile Dosya Kurtarma Ahmet Gürel

]]>
https://canyoupwn.me/linuxta-scalpel-ile-silinmis-dosya-kurtarma/feed/ 0
TR | WebRTC IP Leak https://canyoupwn.me/tr-webrtc-ip-leak/ https://canyoupwn.me/tr-webrtc-ip-leak/#respond Thu, 17 Nov 2016 06:34:52 +0000 https://canyoupwn.me/?p=4631 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

WebRTC Nedir? Real-Time Communications yani gerçek zamanlı iletişimdir. Ses, video ve data transferi için, javascript api kullanılarak yapılan açık kaynak bir projedir. Günümüzde tarayıcılardan tam destek almasından ve kolay geliştirebilir olmasından dolayı popülerleşmiştir. W3C ve IETF tarafından desteklenmektedir. Günümüzde tarayıcılara gömülü olarak gelmektedir. Özetle hiçbir kuruluma gerek duyulmaması, geliştirilebilir ve açık kaynak olması, topluluklar tarafından […]

TR | WebRTC IP Leak Berk İMRAN

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

WebRTC Nedir?

Real-Time Communications yani gerçek zamanlı iletişimdir. Ses, video ve data transferi için, javascript api kullanılarak yapılan açık kaynak bir projedir. Günümüzde tarayıcılardan tam destek almasından ve kolay geliştirebilir olmasından dolayı popülerleşmiştir. W3C ve IETF tarafından desteklenmektedir. Günümüzde tarayıcılara gömülü olarak gelmektedir. Özetle hiçbir kuruluma gerek duyulmaması, geliştirilebilir ve açık kaynak olması, topluluklar tarafından desteklenmesi sebebiyle popülaritesi artmıştır.

Demo: https://www.appr.tc/
Güncellemeler için: https://webrtcweekly.com/
Detaylı bilgi için: https://webrtc.org/

WebRTC Leak

Öncelikle  zafiyeti anlamak için webrtc protokollerini inceleyelim.

Session Traversal Utilities for NAT (STUN)

WebRTC eşler aracılığıyla data alışverişi yaptığı için bu alışverin sağlanmasında stun sunucuları kullanılır. Bağlantı sağlarken gönderilen bilgiler arasında lan ve wan bilgilerimiz de mevcut. Protokolün işleyişindeki mantıkda zafiyet ortataya çıkıyor. Buradaki ip bilgilerimiz gizlenmediği yani sunucu ve eş arasında saf halde veri akışi sağlandığı için bilgilerimiz sızıyor.

Traversal Using Relays around NAT (TURN)

Stun protokolünden farkı eşler arasındaki veri akışında köprü görevi görmesidir. Diğer eşe bilgi giderken turn sunucularından çıkış yapıldığı için kendi wan ve lan ip bilgilerimiz gizlenmiş olur.

Zafiyetimiz web sitelerinin stun sunucularına yapılan istekteki ip bilgilerinin kaydedilmesinden ibaret. Vpn kullansanız dahi vpn protokolleri stun sunucularına giden bilgilerin kontrolünü yapmadığı için vpn sunucularının atadığı ip gözükmeyecektir. Bu durumda ister triple vpn, ister zenmate (ki kendisi oldukça güvensiz ama bir o kadar da popülerdir) isterseniz de adblock, ghostery, privacy badger gibi eklentileri kullanın, bu protokolün kontrolünü sağlamadığı için zafiyet giderilemeyecektir..

Zafiyet Tespiti ve Çözümü

http://berkimran.com.tr/ipleak/ipleak.html adresinden sonuca bakalım. ( Proje için: https://github.com/diafygi/webrtc-ips)
Test edebileceğiniz siteler: https://www.browserleaks.com/webrtc , https://ipleak.net/ (user agent xss açığı mevcut tavsiye etmiyorum).

ipleak2

Default olarak gelen tarayıcı ayarlarıyla yapılan test sonucu

Yukarıdaki ekran görüntüsünde tarayıcı olarak Chrome kullandım ve hiçbir güvenlik önlemi almadım. Bu durumda vpn, webproxy vs. kullanmak dahi bu bilgilerin sızmasında önlem olamaz. Pptp veya openvpn bağlantısı yapmanız da etkili olmayacaktır.
Bu durumda çözümleri tarayıcılara göre ele almak gereklidir.

Firefox

  1. Eklenti kurmakla çok basit çözülebilir. Ancak tarayıcı ayarlarını yapmak varken eklenti kullanmak çok da mantıklı değil. Disable WEBRTC eklentisi ile çözüm bulabilirsiniz.
    https://addons.mozilla.org/en-US/firefox/addon/happy-bonobo-disable-webrtc/
  2. Adres satırına about:config yazarak giriş yapın. media.peerconnection.enabled değerinin false olduğundan emin olun. Zafiyet devam ederse aşağıdaki değerlerde de değişiklik yapın.
    media.peerconnection.turn.disable = true
    media.peerconnection.use_document_iceservers = false
    media.peerconnection.video.enabled = false
    media.peerconnection.identity.timeout = 1

 

Chrome

  1. Şu an için sadece eklenti ile düzeltilebiliniyor. Tavsiyem Firefox kullanmanızdan yana.
    Link: https://chrome.google.com/webstore/detail/webrtc-leak-prevent/eiadekoaikejlgdbkbdfeijglgfdalml/related

 

Sonuç

ipleak

Gerekli önlemler alındığında sonuç.

Firefox tarayıcımda gerekli önlemleri aldığımda bilgilerimizin korunduğunu görüyoruz.

TR | WebRTC IP Leak Berk İMRAN

]]>
https://canyoupwn.me/tr-webrtc-ip-leak/feed/ 0
EN | Awesome Learn NodeJs https://canyoupwn.me/en-awesome-learn-nodejs/ https://canyoupwn.me/en-awesome-learn-nodejs/#respond Tue, 27 Sep 2016 08:09:59 +0000 https://canyoupwn.me/?p=4305 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Packages Mad science webtorrent – https://github.com/feross/webtorrent GitTorrent – https://github.com/cjb/GitTorrent peerflix – https://github.com/mafintosh/peerflix dat – http://dat-data.com/ ipfs – https://github.com/ipfs/js-ipfs stackgl – http://stack.gl/ peerwiki – https://github.com/mafintosh/peerwiki peercast – https://github.com/mafintosh/peercast BitcoinJS – http://bitcoinjs.org/ Bitcore – https://bitcore.io/ PDFKit – http://pdfkit.org/ turf – https://github.com/Turfjs/turf webcat – https://github.com/mafintosh/webcat js-git – https://github.com/creationix/js-git NodeOS – http://node-os.com/ limdu – https://github.com/erelsgl/limdu Cytoscape.js – http://js.cytoscape.org/ kad – https://github.com/kadtools/kad Command-line apps pageres – https://github.com/sindresorhus/pageres trash – https://github.com/sindresorhus/trash npm-name – https://github.com/sindresorhus/npm-name XO – https://github.com/sindresorhus/xo speed-test – https://github.com/sindresorhus/speed-test np – https://github.com/sindresorhus/np yo – https://github.com/yeoman/yo […]

EN | Awesome Learn NodeJs Mustafa Kaan Demirhan

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

ndjs

Packages

Mad science

  • webtorrent – https://github.com/feross/webtorrent
  • GitTorrent – https://github.com/cjb/GitTorrent
  • peerflix – https://github.com/mafintosh/peerflix
  • dat – http://dat-data.com/
  • ipfs – https://github.com/ipfs/js-ipfs
  • stackgl – http://stack.gl/
  • peerwiki – https://github.com/mafintosh/peerwiki
  • peercast – https://github.com/mafintosh/peercast
  • BitcoinJS – http://bitcoinjs.org/
  • Bitcore – https://bitcore.io/
  • PDFKit – http://pdfkit.org/
  • turf – https://github.com/Turfjs/turf
  • webcat – https://github.com/mafintosh/webcat
  • js-git – https://github.com/creationix/js-git
  • NodeOS – http://node-os.com/
  • limdu – https://github.com/erelsgl/limdu
  • Cytoscape.js – http://js.cytoscape.org/
  • kad – https://github.com/kadtools/kad

Command-line apps

  • pageres – https://github.com/sindresorhus/pageres
  • trash – https://github.com/sindresorhus/trash
  • npm-name – https://github.com/sindresorhus/npm-name
  • XO – https://github.com/sindresorhus/xo
  • speed-test – https://github.com/sindresorhus/speed-test
  • np – https://github.com/sindresorhus/np
  • yo – https://github.com/yeoman/yo
  • Babel – https://babeljs.io/docs/usage/cli/
  • ESLint – http://eslint.org/
  • Standard – https://github.com/feross/standard
  • cpy – https://github.com/sindresorhus/cpy
  • fkill – https://github.com/sindresorhus/fkill-cli
  • vantage – https://github.com/dthree/vantage
  • vtop – https://github.com/MrRio/vtop
  • tmpin – https://github.com/sindresorhus/tmpin
  • empty-trash – https://github.com/sindresorhus/empty-trash
  • is-up – https://github.com/sindresorhus/is-up
  • is-online – https://github.com/sindresorhus/is-online
  • public-ip – https://github.com/sindresorhus/public-ip
  • dark-mode – https://github.com/sindresorhus/dark-mode
  • ttystudio – https://github.com/chjj/ttystudio
  • David – https://github.com/alanshaw/david
  • http-server – https://github.com/indexzero/http-server
  • Live Server – https://github.com/tapio/live-server
  • bcat – https://github.com/kessler/node-bcat
  • normit – https://github.com/pawurb/normit
  • slap – https://github.com/slap-editor/slap
  • jsinspect – https://github.com/danielstjules/jsinspect
  • esformatter – https://github.com/millermedeiros/esformatter
  • pjs – https://github.com/danielstjules/pjs
  • license-checker – https://github.com/davglass/license-checker
  • browser-run – https://github.com/juliangruber/browser-run
  • modhelp – https://github.com/runvnc/modhelp
  • wifi-password – https://github.com/kevva/wifi-password
  • wallpaper – https://github.com/sindresorhus/wallpaper
  • brightness – https://github.com/kevva/brightness-cli
  • torrent – https://github.com/maxogden/torrent
  • tfa – https://github.com/jasnell/tfa
  • rtail – https://github.com/kilianc/rtail
  • kill-tabs – https://github.com/sindresorhus/kill-tabs
  • alex – https://github.com/wooorm/alex
  • pen – https://github.com/noraesae/pen
  • subdownloader – https://github.com/beatfreaker/subdownloader
  • iponmap – https://github.com/nogizhopaboroda/iponmap
  • Jsome – https://github.com/Javascipt/Jsome
  • itunes-remote – https://github.com/mischah/itunes-remote
  • dev-time – https://github.com/samverschueren/dev-time-cli
  • text-meme – https://github.com/beatfreaker/text-meme-cli
  • mobicon – https://github.com/samverschueren/mobicon-cli
  • mobisplash – https://github.com/samverschueren/mobisplash-cli
  • diff2html-cli – https://github.com/rtfpessoa/diff2html-cli
  • Cash – https://github.com/dthree/cash
  • vaca – https://github.com/sindresorhus/vaca
  • gh-home – https://github.com/sindresorhus/gh-home
  • npm-home – https://github.com/sindresorhus/npm-home
  • trymodule – https://github.com/VictorBjelkholm/trymodule
  • terminal-recorder – https://github.com/cortezcristian/terminal-recorder
  • jscpd – https://github.com/kucherenko/jscpd
  • atmo – https://github.com/Raathigesh/Atmo
  • auto-install – https://github.com/siddharthkp/auto-install

Functional programming

  • lodash – https://lodash.com/
  • immutable – https://github.com/facebook/immutable-js
  • mori – http://swannodette.github.io/mori/
  • Ramda – http://ramdajs.com/
  • Folktale – http://folktalejs.org/
  • Mout – http://moutjs.com/
  • Bacon.js – http://baconjs.github.io/
  • RxJS – http://reactivex.io/
  • Lazy.js – https://github.com/dtao/lazy.js
  • Kefir.js – https://github.com/rpominov/kefir

HTTP

  • got – https://github.com/sindresorhus/got
  • gh-got – https://github.com/sindresorhus/gh-got
  • request – https://github.com/request/request
  • Nock – https://github.com/pgte/nock
  • hyperquest – https://github.com/substack/hyperquest
  • axios – https://github.com/mzabriskie/axios
  • spdy – https://github.com/indutny/node-spdy
  • wreck – https://github.com/hapijs/wreck
  • download – https://github.com/kevva/download
  • http-proxy – https://github.com/nodejitsu/node-http-proxy
  • rocky – https://github.com/h2non/rocky
  • superagent – https://github.com/visionmedia/superagent
  • node-fetch – https://github.com/bitinn/node-fetch
  • flashheart – https://github.com/bbc/flashheart

Debugging / Profiling

  • ironNode – https://github.com/s-a/iron-node
  • node-inspector – https://github.com/node-inspector/node-inspector
  • devtool – https://github.com/Jam3/devtool
  • Theseus – https://github.com/adobe-research/theseus
  • longjohn – https://github.com/mattinsler/longjohn
  • debug – https://github.com/visionmedia/debug
  • jstrace – https://github.com/jstrace/jstrace
  • why-is-node-running – https://github.com/mafintosh/why-is-node-running
  • njsTrace – https://github.com/valyouw/njstrace
  • vstream – https://github.com/joyent/node-vstream
  • stackman – https://github.com/watson/stackman
  • TraceGL – https://github.com/traceglMPL/tracegl
  • locus – https://github.com/alidavut/locus
  • bugger – https://github.com/buggerjs/bugger
  • 0x – https://github.com/davidmarkclements/0x
  • ctrace – https://github.com/automation-stack/ctrace

Logging

  • winston – https://github.com/winstonjs/winston
  • Bunyan – https://github.com/trentm/node-bunyan
  • intel – http://seanmonstar.github.io/intel/
  • console-log-level – https://github.com/watson/console-log-level
  • storyboard – https://github.com/guigrpa/storyboard
  • pino – https://github.com/mcollina/pino

Command-line utilities

  • chalk – https://github.com/chalk/chalk
  • meow – https://github.com/sindresorhus/meow
  • minimist – https://github.com/substack/minimist
  • get-stdin – https://github.com/sindresorhus/get-stdin
  • user-home – https://github.com/sindresorhus/user-home
  • log-update – https://github.com/sindresorhus/log-update
  • Inquirer.js – https://github.com/SBoudrias/Inquirer.js
  • update-notifier – https://github.com/yeoman/update-notifier
  • ansi-escapes – https://github.com/sindresorhus/ansi-escapes
  • sudo-block – https://github.com/sindresorhus/sudo-block
  • configstore – https://github.com/yeoman/configstore
  • insight – https://github.com/yeoman/insight
  • log-symbols – https://github.com/sindresorhus/log-symbols
  • figures – https://github.com/sindresorhus/figures
  • boxen – https://github.com/sindresorhus/boxen
  • string-width – https://github.com/sindresorhus/string-width
  • first-run – https://github.com/sindresorhus/first-run
  • sparkly – https://github.com/sindresorhus/sparkly
  • vorpal – https://github.com/dthree/vorpal
  • blessed – https://github.com/chjj/blessed
  • yn – https://github.com/sindresorhus/yn
  • cli-table – https://github.com/Automattic/cli-table
  • drawille – https://github.com/madbence/node-drawille
  • googleauth – https://github.com/maxogden/googleauth
  • ascii-charts – https://github.com/jstrace/chart
  • progress – https://github.com/tj/node-progress
  • cli-cursor – https://github.com/sindresorhus/cli-cursor
  • columnify – https://github.com/timoxley/columnify
  • cli-columns – https://github.com/shannonmoeller/cli-columns
  • cfonts – https://github.com/dominikwilkowski/cfonts
  • multispinner – https://github.com/codekirei/node-multispinner
  • omelette – https://github.com/f/omelette
  • cross-env – https://github.com/kentcdodds/cross-env
  • shelljs – https://github.com/shelljs/shelljs
  • loud-rejection – https://github.com/sindresorhus/loud-rejection
  • ora – https://github.com/sindresorhus/ora
  • term-img – https://github.com/sindresorhus/term-img
  • yargs – https://github.com/yargs/yargs
  • liftoff – https://github.com/js-cli/js-liftoff
  • listr – https://github.com/samverschueren/listr

Build tools

  • gulp – http://gulpjs.com/
  • Broccoli – https://github.com/broccolijs/broccoli
  • browserify – https://github.com/substack/node-browserify
  • webpack – https://github.com/webpack/webpack
  • Brunch – https://github.com/brunch/brunch
  • strong-build – https://github.com/strongloop/strong-build
  • grunt – http://gruntjs.com/
  • start – https://github.com/start-runner/start
  • ygor – https://github.com/shannonmoeller/ygor
  • Fly – https://github.com/bucaran/fly

Hardware

  • johnny-five – https://github.com/rwaldron/johnny-five
  • serialport – https://github.com/voodootikigod/node-serialport
  • usb – https://github.com/nonolith/node-usb
  • cylon.js – http://cylonjs.com/
  • i2c-bus -https://github.com/fivdi/i2c-bus

Templating

  • marko – https://github.com/marko-js/marko
  • nunjucks – https://github.com/mozilla/nunjucks
  • handlebars.js – https://github.com/wycats/handlebars.js
  • hogan.js – http://twitter.github.io/hogan.js/
  • EJS – https://github.com/mde/ejs
  • Pug – https://github.com/pugjs/pug

Web frameworks

  • Koa – http://koajs.com/
  • Express – http://expressjs.com/
  • Feathers – http://feathersjs.com/
  • Hapi – http://hapijs.com/
  • LoopBack – http://loopback.io/
  • Meteor – https://www.meteor.com/
  • SailsJS – http://sailsjs.org/
  • Restify – http://restify.com/
  • Interfake – https://github.com/basicallydan/interfake
  • Derby – https://github.com/derbyjs/derby
  • Restberry – http://restberry.com/
  • Catberry – http://catberry.org/
  • ThinkJS – https://thinkjs.org/

Documentation

  • Docco – http://jashkenas.github.io/docco/
  • JSDoc – http://usejsdoc.org/
  • dox – https://github.com/tj/dox
  • jsdox – https://github.com/sutoiku/jsdox
  • apiDoc – https://github.com/apidoc/apidoc
  • documentation.js – http://documentation.js.org/
  • YUIDoc – http://documentation.js.org/
  • ESDoc – https://esdoc.org/

Filesystem

  • del – https://github.com/sindresorhus/del
  • globby – https://github.com/sindresorhus/globby
  • cpy – https://github.com/sindresorhus/globby
  • rimraf – https://github.com/isaacs/rimraf
  • mkdirp – https://github.com/substack/node-mkdirp
  • graceful-fs – https://github.com/isaacs/node-graceful-fs
  • chokidar – https://github.com/paulmillr/chokidar
  • find-up – https://github.com/sindresorhus/find-up
  • load-json-file – https://github.com/sindresorhus/load-json-file
  • write-json-file – https://github.com/sindresorhus/write-json-file
  • fs-write-stream-atomic – https://github.com/npm/fs-write-stream-atomic
  • filenamify – https://github.com/sindresorhus/filenamify
  • lnfs – https://github.com/kevva/lnfs
  • istextorbinary – https://github.com/bevry/istextorbinary
  • fs-jetpack – https://github.com/szwacz/fs-jetpack
  • fs-extra – https://github.com/jprichardson/node-fs-extra
  • pkg-dir – https://github.com/sindresorhus/pkg-dir
  • sander – https://github.com/rich-harris/sander
  • filehound – https://github.com/nspragg/filehound

Control flow

  • Promises
    • Bluebird – https://github.com/petkaantonov/bluebird
    • pinkie-promise – https://github.com/floatdrop/pinkie-promise
    • pify – https://github.com/sindresorhus/pify
    • rfpify – https://github.com/samverschueren/rfpify
    • delay – https://github.com/sindresorhus/delay
  • Callbacks
    • each-async – https://github.com/sindresorhus/each-async
    • async – https://github.com/caolan/async
    • async-chainable – https://github.com/hash-bang/async-chainable
    • after-all-results – https://github.com/watson/after-all-results
  • Generators
    • co – https://github.com/tj/co
    • suspend – https://github.com/jmar777/suspend
    • bluebird-co – https://github.com/novacrazy/bluebird-co
    • iterum – https://github.com/xgbuils/iterum
  • Streams
    • Highland.js – http://highlandjs.org/
  • Channels
    • js-csp – https://github.com/jlongster/js-csp
  • Other
    • zone – https://github.com/strongloop/zone

Streams

  • through2 – https://github.com/rvagg/through2
  • from2 – https://github.com/hughsk/from2
  • get-stream – https://github.com/sindresorhus/get-stream
  • concat-stream – https://github.com/maxogden/concat-stream
  • into-stream – https://github.com/sindresorhus/into-stream
  • duplexify – https://github.com/mafintosh/duplexify
  • pumpify – https://github.com/mafintosh/pumpify
  • peek-stream – https://github.com/mafintosh/peek-stream
  • binary-split – https://github.com/maxogden/binary-split
  • byline – https://github.com/jahewson/node-byline
  • first-chunk-stream – https://github.com/sindresorhus/first-chunk-stream
  • pad-stream – https://github.com/sindresorhus/pad-stream
  • multistream – https://github.com/feross/multistream
  • stream-combiner2 – https://github.com/substack/stream-combiner2
  • readable-stream – https://github.com/nodejs/readable-stream
  • through2-concurrent – https://github.com/almost/through2-concurrent
  • graphicsmagick-stream – https://github.com/e-conomic/graphicsmagick-stream

Real-time

  • Socket.io – http://socket.io/
  • SockJS – https://github.com/sockjs/sockjs-node
  • Faye – http://faye.jcoglan.com/
  • SocketCluster – https://github.com/SocketCluster/socketcluster
  • Primus – https://github.com/primus/primus
  • Straw – https://github.com/simonswain/straw
  • deepstream.io – https://deepstream.io/
  • Kalm – https://github.com/fed135/Kalm

Image

  • sharp – https://github.com/lovell/sharp
  • image-type – https://github.com/sindresorhus/image-type
  • gm – https://github.com/aheckmann/gm
  • lwip – https://github.com/EyalAr/lwip
  • pica – https://github.com/nodeca/pica
  • jimp – https://github.com/oliver-moran/jimp
  • is-progressive – https://github.com/sindresorhus/is-progressive
  • probe-image-size – https://github.com/nodeca/probe-image-size

Text

  • Underscore.string – https://github.com/epeli/underscore.string
  • iconv-lite – https://github.com/ashtuchkin/iconv-lite
  • repeating – https://github.com/sindresorhus/repeating
  • string-length – https://github.com/sindresorhus/string-length
  • camelcase – https://github.com/sindresorhus/camelcase
  • escape-string-regexp – https://github.com/sindresorhus/escape-string-regexp
  • execall – https://github.com/sindresorhus/execall
  • splice-string – https://github.com/sindresorhus/splice-string
  • indent-string – https://github.com/sindresorhus/indent-string
  • strip-indent – https://github.com/sindresorhus/strip-indent
  • detect-indent – https://github.com/sindresorhus/detect-indent
  • he – https://github.com/mathiasbynens/he
  • i18n-node – https://github.com/mashpie/i18n-node
  • babelfish – https://github.com/nodeca/babelfish
  • parse-columns – https://github.com/sindresorhus/parse-columns
  • hanging-indent – https://github.com/codekirei/hanging-indent
  • matcher -https://github.com/sindresorhus/matcher

Number

  • random-int – https://github.com/sindresorhus/random-int
  • random-float – https://github.com/sindresorhus/random-float
  • unique-random – https://github.com/sindresorhus/unique-random
  • round-to – https://github.com/sindresorhus/round-to

Math

  • ndarray – https://github.com/scijs/ndarray
  • mathjs – https://github.com/josdejong/mathjs
  • math-sum – https://github.com/sindresorhus/math-sum
  • math-clamp – https://github.com/sindresorhus/math-clamp
  • algebra – https://github.com/fibo/algebra

Date

  • Moment.js – http://momentjs.com/
  • Moment Timezone – http://momentjs.com/timezone/
  • dateformat – https://github.com/felixge/node-dateformat
  • tz-format –  https://github.com/samverschueren/tz-format

URL

  • normalize-url – https://github.com/sindresorhus/normalize-url
  • humanize-url – https://github.com/sindresorhus/humanize-url
  • url-unshort – https://github.com/nodeca/url-unshort
  • speakingurl – https://github.com/pid/speakingurl
  • linkify-it – https://github.com/markdown-it/linkify-it
  • url-pattern – https://github.com/snd/url-pattern
  • embedza – https://github.com/nodeca/embedza

Data validation

  • joi – https://github.com/hapijs/joi
  • is-my-json-valid – https://github.com/mafintosh/is-my-json-valid
  • property-validator – https://github.com/nettofarah/property-validator
  • schema-inspector – https://github.com/Atinux/schema-inspector
  • ajv – https://github.com/epoberezkin/ajv

Parsing

  • remark – https://github.com/wooorm/remark
  • markdown-it – https://github.com/markdown-it/markdown-it
  • parse5 – https://github.com/inikulin/parse5
  • strip-json-comments – https://github.com/sindresorhus/strip-json-comments
  • strip-css-comments – https://github.com/sindresorhus/strip-css-comments
  • parse-json – https://github.com/sindresorhus/parse-json
  • URI.js – https://github.com/medialize/URI.js
  • PostCSS – https://github.com/postcss/postcss
  • JSONStream – https://github.com/dominictarr/JSONStream
  • csv-parser – https://github.com/mafintosh/csv-parser
  • neat-csv – https://github.com/sindresorhus/neat-csv
  • PEG.js – https://github.com/pegjs/pegjs
  • x-ray – https://github.com/lapwinglabs/x-ray
  • nearley – https://github.com/Hardmath123/nearley
  • binary-extract – https://github.com/juliangruber/binary-extract
  • json-mask – https://github.com/nemtsov/json-mask
  • Stylecow – https://github.com/stylecow/stylecow
  • js-yaml – https://github.com/nodeca/js-yaml
  • excel-stream – https://github.com/dominictarr/excel-stream
  • xml2js – https://github.com/Leonidas-from-XIV/node-xml2js
  • Jison – http://zaach.github.io/jison/
  • google-libphonenumber – https://github.com/seegno/google-libphonenumber
  • ref – https://github.com/TooTallNate/ref

Humanize

  • pretty-bytes – https://github.com/sindresorhus/pretty-bytes
  • pretty-ms – https://github.com/sindresorhus/pretty-ms
  • ms – https://github.com/rauchg/ms.js
  • pretty-error – https://github.com/AriaMinaei/pretty-error
  • humanize – https://github.com/taijinlee/humanize
  • read-art – https://github.com/Tjatse/node-readability

Compression

  • Archiver – https://github.com/archiverjs/node-archiver
  • decompress-zip – https://github.com/bower/decompress-zip
  • pako – https://github.com/nodeca/pako
  • tar-stream – https://github.com/mafintosh/tar-stream
  • decompress – https://github.com/kevva/decompress

Network

  • get-port – https://github.com/sindresorhus/get-port
  • ipify – https://github.com/sindresorhus/ipify
  • getmac – https://github.com/bevry/getmac
  • polo – https://github.com/mafintosh/polo

Database

  • Drivers
    • LevelUP – https://github.com/Level/levelup
    • MongoDB – https://github.com/mongodb/node-mongodb-native
    • PostgreSQL – https://github.com/brianc/node-postgres
    • MySQL – https://github.com/felixge/node-mysql
    • Redis – https://github.com/luin/ioredis
    • nano – https://github.com/dscape/nano
    • Aerospike – https://github.com/aerospike/aerospike-client-nodejs
  • ODM / ORM
    • Bookshelf – http://bookshelfjs.org/
    • Massive – https://github.com/robconery/massive-js
    • Mongoose – http://mongoosejs.com/
    • Sequelize – https://github.com/sequelize/sequelize
    • Waterline – https://github.com/balderdashy/waterline
    • Iridium – https://github.com/SierraSoftworks/Iridium
    • OpenRecord – https://github.com/PhilWaldmann/openrecord
    • orm2 – https://github.com/dresende/node-orm2
    • firenze – https://github.com/fahad19/firenze
    • pg-promise – https://github.com/vitaly-t/pg-promise
    • Objection.js – https://github.com/Vincit/objection.js
  • Query builder
    • Knex – http://knexjs.org/
  • Other
    • NeDB – https://github.com/louischatriot/nedb

Testing

  • AVA – https://ava.li/
  • tap – https://github.com/isaacs/node-tap
  • tape – https://github.com/substack/tape
  • Mocha – http://mochajs.org/
  • power-assert – https://github.com/power-assert-js/power-assert
  • Mochify – https://github.com/mantoni/mochify.js
  • trevor – https://github.com/vdemedes/trevor
  • loadtest – https://github.com/alexfernandez/loadtest
  • istanbul – https://github.com/gotwarlost/istanbul
  • nyc – https://github.com/bcoe/nyc
  • Sinon.JS – https://github.com/sinonjs/sinon
  • navit – https://github.com/nodeca/navit
  • nock – https://github.com/pgte/nock
  • intern – https://github.com/theintern/intern
  • toxy – https://github.com/h2non/toxy
  • hook-std – https://github.com/sindresorhus/hook-std
  • testen – https://github.com/egoist/testen
  • Nightwatch – https://github.com/nightwatchjs/nightwatch
  • WebdriverIO – http://webdriver.io/

Security

  • snyk – https://github.com/Snyk/snyk
  • nsp – https://github.com/nodesecurity/nsp
  • RegEx-DoS – https://github.com/jagracey/RegEx-DoS

Benchmarking

  • Benchmark.js – http://benchmarkjs.com/
  • matcha – https://github.com/logicalparadox/matcha

Minifiers

  • UglifyJS2 – http://lisperator.net/uglifyjs/
  • clean-css – https://github.com/jakubpawlowicz/clean-css
  • minimize – https://github.com/Swaagie/minimize
  • imagemin – https://github.com/imagemin/imagemin

Authentication

  • Passport – http://passportjs.org/
  • everyauth – https://github.com/bnoguchi/everyauth
  • passwordless – https://passwordless.net/
  • Lockit – https://github.com/zemirco/lockit
  • Grant – https://github.com/simov/grant
  • CloudRail – https://github.com/CloudRail/cloudrail-si-node-sdk

Email

  • Nodemailer – https://github.com/andris9/Nodemailer
  • emailjs – https://github.com/eleith/emailjs

Job queues

  • kue – https://github.com/Automattic/kue
  • bull – https://github.com/OptimalBits/bull
  • agenda – https://github.com/rschmukler/agenda

Node.js management

  • n – https://github.com/tj/n
  • nave – https://github.com/isaacs/nave
  • nodeenv – https://github.com/ekalinin/nodeenv
  • nvm for Windows – https://github.com/coreybutler/nvm-windows

Polyfills

  • Node.js
    • set-immediate-shim – https://github.com/sindresorhus/set-immediate-shim
    • path-is-absolute – https://github.com/sindresorhus/path-is-absolute
    • os-tmpdir – https://github.com/sindresorhus/os-tmpdir
    • os-homedir – https://github.com/sindresorhus/os-homedir
    • user-info – https://github.com/sindresorhus/user-info
    • debug-log – https://github.com/sindresorhus/debug-log
    • buffer-equals – https://github.com/sindresorhus/buffer-equals
    • buffer-includes – https://github.com/sindresorhus/buffer-includes
    • buf-indexof – https://github.com/sindresorhus/buf-indexof
    • buf-compare – https://github.com/sindresorhus/buf-compare
    • fs-access – https://github.com/sindresorhus/fs-access
    • exec-file-sync – https://github.com/sindresorhus/exec-file-sync
    • child-process-ctor – https://github.com/sindresorhus/child-process-ctor
    • node-status-codes – https://github.com/sindresorhus/node-status-codes
    • exit-code – https://github.com/isaacs/exit-code
    • core-assert – https://github.com/sindresorhus/core-assert
    • deep-strict-equal – https://github.com/sindresorhus/deep-strict-equal
  • JavaScript
    • object-assign – https://github.com/sindresorhus/object-assign
    • pinkie-promise – https://github.com/floatdrop/pinkie-promise
    • harmony-reflect – https://github.com/tvcutsem/harmony-reflect
    • es6-shim – https://github.com/paulmillr/es6-shim

Natural language processing

  • retext – https://github.com/wooorm/retext
  • franc – https://github.com/wooorm/franc
  • leven – https://github.com/sindresorhus/leven
  • natural – https://github.com/NaturalNode/natural

Process management

  • PM2 – https://github.com/Unitech/pm2
  • node-windows – https://github.com/coreybutler/node-windows
  • node-mac – https://github.com/coreybutler/node-mac
  • node-linux – https://github.com/coreybutler/node-linux
  • forever – https://github.com/foreverjs/forever
  • nodemon – https://github.com/remy/nodemon
  • supervisor – https://github.com/petruisfan/node-supervisor
  • Phusion Passenger – https://www.phusionpassenger.com/node_weekly
  • naught – https://github.com/andrewrk/naught

Automation

  • robotjs – https://github.com/octalmage/robotjs

AST

  • Acorn – https://github.com/ternjs/acorn
  • Rocambole – https://github.com/millermedeiros/rocambole

Static site generators

  • Metalsmith – http://www.metalsmith.io/
  • Wintersmith – http://wintersmith.io/
  • Assemble – http://assemble.io/
  • DocPad – https://github.com/docpad/docpad
  • Phenomic – https://phenomic.io/

Content management systems

  • KeystoneJS – http://keystonejs.com/
  • Calipso – http://calip.so/.
  • Apostrophe2 – http://apostrophenow.org/

Forum

  • nodeBB – https://nodebb.org/

Blogging

  • ghost – https://ghost.org/
  • Hexo – https://hexo.io/

Weird

  • superb – https://github.com/sindresorhus/superb
  • cat-names – https://github.com/sindresorhus/cat-names
  • dog-names – https://github.com/sindresorhus/dog-names
  • superheroes – https://github.com/sindresorhus/superheroes
  • supervillains – https://github.com/sindresorhus/supervillains
  • cool-ascii-faces – https://github.com/maxogden/cool-ascii-faces
  • cat-ascii-faces – https://github.com/melaniecebula/cat-ascii-faces
  • cows – https://github.com/sindresorhus/cows
  • nerds – https://github.com/SkyHacks/nerds

Miscellaneous

  • execa – https://github.com/sindresorhus/execa
  • cheerio – https://github.com/cheeriojs/cheerio
  • Electron – https://github.com/atom/electron
  • opn – https://github.com/sindresorhus/opn
  • hasha – https://github.com/sindresorhus/hasha
  • dot-prop – https://github.com/sindresorhus/dot-prop
  • onetime – https://github.com/sindresorhus/onetime
  • mem – https://github.com/sindresorhus/mem
  • require-uncached – https://github.com/sindresorhus/require-uncached
  • stringify-object – https://github.com/yeoman/stringify-object
  • strip-bom – https://github.com/sindresorhus/strip-bom
  • deep-assign – https://github.com/sindresorhus/deep-assign
  • os-locale – https://github.com/sindresorhus/os-locale
  • nan – https://github.com/nodejs/nan
  • multiline – https://github.com/sindresorhus/multiline
  • ssh2 – https://github.com/mscdex/ssh2
  • adit – https://github.com/markelog/adit
  • lazy-req – https://github.com/sindresorhus/lazy-req
  • file-type – https://github.com/sindresorhus/file-type
  • Bottleneck – https://github.com/SGrondin/bottleneck
  • webworker-threads – https://github.com/audreyt/node-webworker-threads
  • node-pre-gyp – https://github.com/mapbox/node-pre-gyp
  • opencv – https://github.com/peterbraden/node-opencv
  • common-errors – https://github.com/shutterstock/node-common-errors
  • dotenv – https://github.com/motdotla/dotenv
  • remote-git-tags – https://github.com/sindresorhus/remote-git-tags
  • semver – https://github.com/npm/node-semver
  • nar – https://github.com/h2non/nar
  • banshee – https://github.com/eleme/banshee
  • Faker.js – https://github.com/Marak/Faker.js
  • nodegit – https://github.com/nodegit/nodegit
  • json-strictify – https://github.com/pigulla/json-strictify
  • parent-module – https://github.com/sindresorhus/parent-module
  • resolve-from – https://github.com/sindresorhus/resolve-from
  • simplecrawler – https://github.com/cgiffard/node-simplecrawler
  • jsdom – https://github.com/tmpvar/jsdom
  • hypernova – https://github.com/airbnb/hypernova

Resources

Tutorials

  • Nodeschool – http://nodeschool.io/
  • The Art of Node – https://github.com/maxogden/art-of-node/#the-art-of-node
  • stream-handbook – https://github.com/substack/stream-handbook
  • browserify-handbook – https://github.com/substack/browserify-handbook
  • module-best-practices – https://github.com/mattdesl/module-best-practices
  • The Node Way – http://thenodeway.io/
  • You Don’t Know Node.js – https://github.com/azat-co/you-dont-know-node

Discovery

  • npms – https://npms.io/
  • node-modules.com – http://node-modules.com/
  • npm addict – https://npmaddict.com/
  • npmcompare.com – https://npmcompare.com/

Newsletters

  • node weekly – http://nodeweekly.com/
  • nmotw – http://nmotw.in/

Videos

  • Introduction to Node.js with Ryan Dahl – https://www.youtube.com/watch?v=jo_B4LTHi3I
  • Introduction to Node.js Fundamentals – http://strongloop.com/node-js/videos/#a-video-intro-to-nodejs-fundamentals
  • Hands on with Node.js – https://learn.bevry.me/node/preface
  • Full Streams Ahead – http://dry.ly/full-streams-ahead
  • StrongLoop Talks – https://strongloop.com/node-js/videos/
  • thenewboston’s Node.js for Beginners – https://www.thenewboston.com/videos.php?cat=355
  • Nodetuts – http://nodetuts.com/
  • Node Interactive 2015 – https://github.com/duffn/nodeinteractive-2015

Podcasts

  • NodeUp – http://nodeup.com/
  • Mostly Node – http://mostlynode.com/

Books

  • Node.js in Action – http://www.amazon.com/Node-js-Action-Mike-Cantelon/dp/1617290572
  • Node.js in Practice – http://www.amazon.com/Node-js-Practice-Alex-R-Young/dp/1617290939
  • Mastering Node – http://visionmedia.github.io/masteringnode/
  • Professional Node.js: Building Javascript Based Scalable Software – http://www.amazon.com/Professional-Node-js-Building-Javascript-Scalable-ebook/dp/B009L7QETY/
  • Practical Node.js: Building Real-World Scalable Web Apps – http://practicalnodebook.com/
  • Mixu’s Node book – http://book.mixu.net/node/
  • Web Development with Node and Express – http://shop.oreilly.com/product/0636920032977.do
  • Pro Express.js – http://proexpressjs.com/
  • Secure Your Node.js Web Application – http://www.amazon.com/Secure-Your-Node-js-Web-Application/dp/1680500856

Blogs

  • Node.js blog – https://nodejs.org/en/blog/
  • HowToNode – http://howtonode.org/
  • webapplog.com – http://webapplog.com/tag/node-js/

Courses

  • Real Time Web with Node.js – http://campus.codeschool.com/auth/codeschool
  • Learn and Understand Node.js – https://www.udemy.com/understand-nodejs

Cheatsheets

  • Express.js – https://github.com/azat-co/cheatsheets/blob/master/express4
  • Stream FAQs – https://github.com/stephenplusplus/stream-faqs

Tools

  • GitHub Linker – https://chrome.google.com/webstore/detail/github-linker/jlmafbaeoofdegohdhinkhilhclaklkp
  • npm-hub – https://chrome.google.com/webstore/detail/npm-hub/kbbbjimdjbjclaebffknlabpogocablj
  • RequireBin – http://requirebin.com/
  • Tonic – http://blog.tonicdev.com/2015/09/30/embedded-tonic.html

Community

  • #node.js on Freenode
  • Stack Overflow – http://stackoverflow.com/questions/tagged/node.js
  • Reddit – https://www.reddit.com/r/node
  • Twitter -https://twitter.com/nodejs

Miscellaneous

  • nodebots – http://nodebots.io/
  • node-module-boilerplate – https://github.com/sindresorhus/node-module-boilerplate
  • generator-nm – https://github.com/sindresorhus/generator-nm
  • awesome-cross-platform-nodejs – https://github.com/bcoe/awesome-cross-platform-nodejs
  • Microsoft Node.js Guidelines – https://github.com/Microsoft/nodejs-guidelines

EN | Awesome Learn NodeJs Mustafa Kaan Demirhan

]]>
https://canyoupwn.me/en-awesome-learn-nodejs/feed/ 0