İçeriğe geç

Ngrok Nedir? Yerel Sunucularınızı Güvenli Tüneller ile yapın

Ngrok ile benim gibi modemle başı belada olup port açma sorunu yarayan herkesin tanışması gerekiyor. Kendisi sayesinde ister localhost unuzu paylaşın isterseniz dilediğiniz yerden erişim sağlayın. Herhangi bir sunucuya ihtiyaç duymadan çalıştığınız projeyi localhostunuz üzerinden rahatlıkla paylaşabilirsiniz. Üstelik güvenli.

Ngrok güvenliği nedir

Ngrok nedir? Ngrok nasıl kullanılır? ngrok port açma işlemleri, yerel sunucuları güvenlik duvarlarının arkasına, güvenli tüneller üzerinden halka açık internete çıkarmanızı sağlar. Neredeyse hiçbir ayar yapmadan kendisi herşeyi hallediyor.

Tünel açma yıllardır yaygındı, VPn`lerin çoğu da size web sitelerine sınırsız erişim sağlamak için tünel konseptini kullanıyor. Benzer şekilde, ngrok kamu internet ve localhost sunucunuz arasında güvenli bir tünel oluşturur. Temel olarak, // localhost: 8080 internet üzerinden tek bir komutla web sitesi / web uygulaması / web hizmeti çalıştırabilirsiniz.

Ben ne için kullandım

Ben modemimden dolayı port soru yaşıyordum ve pentest çalışmalarında shell alamıyordum. Sağolsun bir abimin tavsiyesi ve öğretmesi üzerine (ismini yazmıyorum bilerek) ngrok u kullandım ve shell alma sıkıntım ortadan kalktı.

Peki nasıl çalıştırdım.

öncelikle web sitesi

https://ngrok.com/

windows 10 işletim sistemi kullandığım için ilk etapta windows dosyasını indirdim bilgisayarıma.

daha sonra rar dosyasını klasöre aktardım ve cmder ile açtım. Burada cmder çokta önemli değil ms-dos(cmd) ile de powershell ile de açabilirsiniz bunun özellikle bir nedeni yok. Ben Cmder kullanmayı seviyorum o yüzden öyle açtım. ve Amacım bir site üzerinden backconnect almak olduğu için ngrok tcp 8081 komutunu uyguladım.

daha sonra ngrok.exe tcp 8081 komutunu çalıştırdım. ve ngrok bana bir url ve port bilgisi verdi. 0.tcp.ngrok.io:11272

burada ip yerine 0.tcp.ngrok.io port yerine ise 11272 yazmam yeterli olacaktır.

Daha sonra windows için netcat ile 8081 portunu dinlemeye aldım çünkü amacım bu port üzerinden gelen backconnect bağlantısına erişmekti.

Daha sonra ip yerine 0.tcp.ngrok.io port yerine de 11272 yazarak bağlantıyı sağladım. Ngrok sayesinde modemimde port açma işlemi olmaksızın bağlantıyı sağladım. Burada ngrok benim yerime aracılık yaparak bağlantıyı bana getirdi.

Ben ngrok u bu amaç için kullandım fakat asıl olayı sadece bu değil tabiki

Ngrok localhost paylaşımı ve erişime açmar

 

ngrok http 8080

Windows işletim sistemi üzerinde http 8080 portunu forward edecek.

örnek olarak

https://abc2a526.ngrok.io

localhost un http 8080 portunu  adresine forward ediyor. Yani siz localhost unuz üzerinden yönettiğiniz güncel projenizi anlık olarak istediğiniz kişiler ile paylaşabilirsiniz. Yine istediğiniz zaman kendi localhost unuza erişim sağlayabilirsiniz.

Not:  Ücretsiz şekilde en fazla 8 saat açık kalır 8 saatin bitiminde o linkten bir daha ulaşılmaz.

Kurulum ve gerekli ayarlamalar.

İlk olarak Ngrok yazılımını bilgisayarımıza indirmemiz gerekmekte. Şu adresten sizin için uygun olan versiyonu indirebilirsiniz. İndirme işlemi tamamlandıktan sonra indirdiğiniz dizine zip dosyasını çıkartın.

Bu adresten kayıt olabilir ve dashboard da auth sekmesinden tokeninizi oluşturabilirsiniz.

Tokeninizi kopyaladıktan sonra:

konfigürasyonumuzu tamamlıyoruz.

Port tünelleme.

Çalışan bir lokal sunucunuzun portunu tünellemek için (ex 8000)

Belirtilen adreslere bir kaç istek yaptığınızda terminalin altında loglanmaya başladığını göreceksiniz.

Ayrıca gelen isteklerin detaylı bilgilerini görebileceğiniz bir inceleme aracıda 4040 portundan yayın yapmaya başladı.

Örnek request-response döngüsü.

Kullanıcı adı parola korumalı port tünelleme.

Kolayca davetsiz misafirleri engellemek için auth sistemi kurmak.

Son olarak Ngrok gerçekten hayat kurtaran pratik bir araç. Daha fazla bilgi için dökümantasyon ve ücretli versiyonlarında ne gibi olanaklar sunuyor diye ücretlendirme sayfasına göz atmak isteyebilirsiniz.

 

Ngrok Nedir?

ngrok, NAT’ların (Network Address Translation / NAT, Türkçe: Ağ Adresi Dönüştürme) arkasındaki yerel sunucuları güvenli tünellerden halka açık internete sunar. Yapmamız gereken sadece ngrok’a hangi portun işleme alınacağını söylemek.

ngrok http 80

Elbette bu işlem için ön tanımlı olarak localhost yayınının olması gerekiyor. Bu amaçla daha önce yayınladığım macOS X Üzerinde Kurulumsuz PHP Çalıştırmak başlıklı yazıma göz atabilirsiniz. Alternatif durumda ise build-in fileserver kullanılabilir.

ngrok http file:///Users/kullanici-adi/Desktop/../

İlgili bağlantıyı şifre korumalı hale getirmek için komutumuzu şu şekilde güncelleyebiliriz:

ngrok http -auth "[kullanici-adi]:[sifre]" 80

Ngrok’u başlattığınızda, terminalinizde tünelin genel URL’sini ve tüneliniz üzerinden yapılan bağlantılarla ilgili diğer durum ve ölçüm bilgilerini içeren bir UI görüntüler. Ngrok, bir hesap oluşturulmadan çalıştırıldığında oluşturulan adres üzerinden belirli bir süre için görüntülemeye izin verir, oturum süresi tamamlandığında uygulama public erişimi sonlandırır. Üyelik işlemi için dashboard.ngrok.com sayfasına göz atabilirsiniz. Ücretsiz üyelik seçeneğinde şu özellikler mevcuttur:

  • HTTP/TCP tunnel’ler için rastgele URL’ler/port’lar tanımlanır,
  • 1 çevrimiçi ngrok işlemi gerçekleştirilir,
  • 4 tünel / ngrok süreci işleme alınır,
  • Dakikada 40 bağlantı sunulabilir.

Üyelik seçenekleriyle ilgili daha detaylı bilgi almak amacıyla Pricing sayfasını inceleyebilirsiniz.

ngrok

Ngrok, tüm HTTP trafiğini göz önünde bulundurabileceğiniz gerçek zamanlı bir web arayüzü sunar. Uygulama başlatıldıktan sonra, istek ayrıntılarını incelemek isterseniz tarayıcı üzerinden http://localhost:4040/status adresine göz atabilirsiniz.

Ngrok Nasıl Kurulur?

İndirme işlemi için ilk tercihim paket yönetici kullanımı olacak elbette. Homebrew aracılığıyla ilgili kurulumu şu şekilde gerçekleştirebiliriz:

brew cask install ngrok

İndirme işleminin tamamlanmasının ardından dashboard.ngrok.com/get-started sayfasında yer alan authtoken kodunu bilgisayarımıza indirdiğimiz ngrok dosyasına tanımlamalıyız. İlgili tanımı şu şekilde komut ile gerçekleştirebiliriz:

ngrok authtoken [authtoken-key]

Kimlik tanımının /Users/kullanici-adi/.ngrok2/ngrok.yml dosyasına işlenmesinin ardından localhost bağlantılarımızı (veya build-in fileserver ile dosyaları) internet üzerinden erişebilir hale getirebiliriz. Ngrok ile ilgili diğer bilgiler ve dokümantasyon için Get Started ve Documentation sayfalarını inceleyebilirsiniz.

 

Kaynakça :Dokuman hazırlama aşamasında faydalanılan siteler

https://ceaksan.com/tr/ngrok-nedir/

www. egehangundogdu.com/ ngrok-nedir-nasil-kullanilir/

https:// www. unsalgel.com/ngrok-nedir-nasil-kullanilir/

https:// medium.com/@mcakir/localhosta-statik-ip-olmadan-her-yerden-eri%C5%9Fim-ngrok-99465b6e235

Tarih:ngrokpentest