Yüksek Düzey Sqlmap

'ALTAY

Katılımcı Üye
16 Ara 2021
431
820
Bütün THT forum üyelerini ve dışarıdan gelen ziyaretçilerimizi selamlıyor, herkese iyi akşamlar diliyorum.

Bu anlatımımda, genel olarak güvenlik uzmanlarının sıklıkla kullandığı bir aygıt olan SQL ile alakalı kullanım şablonları aktaracağım sizlere.

Peki ne yapabiliriz bununla diyenler olacaktır, web aplikasyonlarda Enjeksiyon saptanması ve hatta zafiyetlerin exploit duruma getirilmesi için çalıştırabiliriz dostlarım.
Ve tabii open-source yazılmıştır belirtmekte fayda var.

Kendisine has bulunan nitelikleri ile database serverlerin denetimini elde etmekten tutun da, hedef haline getirdiğimiz bir serverin işletiminde kod yürütmeye kadar birden fazla işlemde yardımcı oluyor bizlere dostlarım.

Çokça database management system bölümlerine dayanak sağlayan uygulamamız için indirme linkini hemen şuraya hazır konuya giriş yapmamışken bırakayım dostlarım.

GitHub - sqlmapproject/sqlmap: Automatic SQL injection and database takeover tool


Kolay Kullanım Şekilleri

Şimdi dostlarım temel sayılan değişkenlerin kullanımlarına yönelik ibareler ile başlamak istiyorum, siz de bilgi sahibi olacaksınız konuyu sonuna kadar takip ederseniz.

Konu hakkında az çok bir şey duyan birisi bile en çok kullanılan değişkenin -u ya da --url olduğunu biliyordur dostlarım.(Bu URL'i temsil eden bir değişkendir canlar.)

Hemen aşağıya görsel olarak vereceğim değişkeni, komut ile bizim target dediğimiz web siteyi tanımlıyoruz.

gxciuva.PNG

Kod yardımı ile scanning işlemi yürütmek istediğiniz url'de SQL açığı var ise, açığın tipi, kullanılan DBSM gibi bunun harici verileri de bizlere gösterecektir.

Sonrasında ise SQL Enjeksiyon'un varlığından emin olduğumuzda adres aracılığı ile --dbs değişkenini yazarak hazır olan database list'i ekranımızda göreceğiz.

e7nj1qu.PNG


bxkjjnd.png

Dostlarım yukarıda verdiğim son görselden de anlayabileceğiniz gibi elimizde bulunan databaselerin hepsini listlemiş bulunuyoruz.

Bunun akbainde sıra sıra devam edecek ve tabloları, kolon ve tutanakları hatta yine vereceğim değişkenleri kullanacağız.


lobjfjx.PNG


cpurn3h.PNG


iaq3l0b.PNG


-D:
Dostlarım bu değişken sayesinde database ismini belirttik.

--tables:
Belirtmiş olduğumuz database'de tablo adlarını çekmemize yardımcı olacak değişkendir canlar.

-T:
Çektiğimiz tablo adlarını kolonlara göndermek istediğimiz adları yine bu değişkenle yazacağız.

--columns:
İsmiini belirttiğimiz tablodaki kolonları çeker arkadaşlar.

-C:
İstediğimiz kolon adını yazdığımız kısım.


--dump:
Ve bu değişkenimiz ile kolonlarımızdaki verileri bizlere gösterir.

Anektod:

Yalnız 1 (-) ya da birden fazla (--) kullandığımızda değişken ile değişkenin elde edeceği değer ortasında space ya da eşittir ibaresinden hangisini seçeceğini karıştıran arkadaşlar olabilir onlar için bu kısmı anlatıyorum. 1(-) değişken space, (--) çift değişken eşittir şeklinde aklınıza yazabilirsiniz.

Önemli Not:
İstediğimiz veritabanından bilgi alabilmek için sorgu dili ile tahlilini yaptığımız aplikasyonun userinin serverda tam sorumlu person halinde hazır kıta beklemesi çokça onemlidir, unutmayalım canlar.

İzin Denetimi


Az önce anlattığım şekilde, belirli kodlardan sonuç alabilmek adına connection kurduğumuz kişinin full+full yetkili olması gerekmektedir.

Tabii denetimini yapmamız için bize yardımcı olacak yine bazı değişkenlerden bahsedeceğim canlar.

Database userlerine bakabilmek için --users değişkenini, user passleri için --passwords değişkenini, user authorizationları için --privileges değişkenini ve son olarak user role kavramı için ise --roles
değişkenini kullanabiliriz değerli THT üyeleri ve ziyaretçileri.

Userlerin izin ya da rolleri ile ilgili bilgi istiyorsak user nickini -U değişkenini ile kullanabiliriz.

Eğer bu değişkeni kullanmazsak "şuan ki kullanıcı" şeklinde database'de roller ekranda gözlemlenebilir.

Yine user database manager mi yoksa değil mi bakmak istiyorsak --is-dba değişkenini kullanabiliriz canlar.

Kullandığımızda "True or "False" kısmını görebilirsiniz.

Bahsi geçen değişkenler ile alakalı örnek bir görseli aşağıya bırakıyorum.

r5xfrpl.PNG

2rnpk94.PNG

İkinci görseli görüntüyü bozmaması açısından tam ekran vermedim, anlayışla karşılayabileceğinizi umuyorum.

Çoklu Target Scan Etmek


Bizler sql'in -m değişkeni ile çokça URL'de scanning işlemi yapabilmekteyiz.

Örnek verecek olursam görselde bıraktığım links.txt filesinde var olan URL'lerin hepsini sql ile scan edebiliriz.

dslflqn.PNG


Ama önce değişkenin akabinde filesin konumu belirtilmelidir.

Nasıl yapacağınızı görsel olarak bırakıyorum canlar.

i2rktwz.PNG

Bir Talep Filesi Tahsis Etmek


Bunun için de -r değişkenini kullanacağız arkadaşlar.

Rastgele bir proxy devreye girecek ve talebinizi kopyalayıp txt olarak kaydetmenize olanak sağlıyor.

Örnek verecek olursam talepler.txt isimli bir dosyam var ve içerdikleri görselde vereceğim şekildedir diyelim.

pwgi4ae.PNG


SQL'de kullanım şekli vereceğim gibi olacak dostlarım.

btgc38f.PNG

POST Talebinde Bulunmak

Sqlmapi kullanan kişiler arasında yaygın bir düşünce var sadece GET uygulamaları yapılabildiğine dair.

Ancak böyle bir şey yok arkadaşlar GET kadar POST talebinde de bulunabiliyoruz.

Giriş ya da search kısmında olan SQL Enjeksiyon zafiyetlerini saptamak hatta bu zafiyetleri exploid yapabilmek için kullanıcılarına --data değişkeni ile post talebinde bulunmaları için imkan vermiştir bu yazılım.

Örnek bir admin paneli görseli bırakacağım ve bu adreste bir sql açığı aradığımızı düşünelim dostlarım.

3cccswa.PNG


Sql'da analiz adına POST verisi lazım bile.

Bu veriyi rastgele proxy yazılımı ile elimize çekebiliriz.

Saldırı örneğini de görsel olarak bırakıyorum.

tdj3ufx.PNG


Göreceğiniz gibi sql enjeksiyon search ettiğimiz kısmın post verisini, değişkenlerden hangilerini analiz için kullanacağını -p ile --dbsm verilerini entegreledik.

POST verilerinin sql'e çıkarılamayacağı hallerde işlemi talep filesine upload yaparak da yürütebiliriz.

Onun da örneğini veriyorum görsel olarak.

qhtgwip.PNG


Kullanmamız gereken kodu da veriyorum.
c0lkrba.PNG



Ek Not:

Basic değişken olarak bildiğimiz --dbms değişkeni yaptığımız işlemlerde süreci hızlandırabilir.

Evvelce bilinen veya analiz işlemi esnasında öğrenilen database management systemlarden neyi değerlendirdiğimizin verisini değişkene verirsek sql, daha sonrasında yalnızca verilen dbsm'e dikkatini verecektir.

Farklı DBMS'lere icap eden analizleri pass ederek atakların zamanını minimuma indirecektir.

Forms Değişkeni


POST talepleriyle ilgili farklı bir değişken de --forms değişkenidir.

Değişken aracılığı ile adresteki şekillerin sqlmap yardımı ile saptamak olağandır.

Kullanımını da veriyorum arkadaşlar.

qekyf6y.PNG


Akabinde sqlmaq bize bu şekili denemek ister miyiz şeklinde sual yöneltecek eğer istersek POST bilgilerini planlamamızı ister.

Böyle bir istekte bulunmuyorsak olumsuz yönde cevaplıyoruz bu suali dostlarım.


fnv8hnt.PNG

Uniform Resource Locator'de Yeniden Yazma'nın Etkin Olması


Smap, URI yollarına yönelik manuel değil de oto bir deneme yapılmamasına bağlı bu yolları manuel seçer ve böylelikle deneme yapılmasına olanak verir.

Teknik genellikle URL Yeniden Yazma niteliğinin etkin bulunduğu anlarda yararımızadır.

Tabii bu davranışı yapabilmesi için de yalnızca değişkenlerin değerinin sonunda yıldız karakteri olmalıdır.

Örneğini veriyorum bunun da.

asrcdwx.PNG


URL Yeniden Yazma etkin olmasaydı da görselde gördüğünüz gibi görünecekti.

1z7r43p.PNG


Az önce anlattığım üzere de hangi değişkenin seçilmesi hacetine manuel şekilde karar kılabilmek dışında, smap bizim onayımızı alınca kendiliğinden de gerçekleştirir.

HTTP Kimlik Doğrulaması


Smap ile kimlik onayı talep eden yazılımlarda da denetim yapabildiğimizi biliyor muydunuz dostlarım?

Bu denetim işlemi için kullanılan değişken ise --auth-type değişkenidir.

Lazım olan session verilerini ise --auth-cred değişkeni ile işletiyoruz.

Örnek olarak yine görselini bırakacağım hemen aşağıya canlar.

gs8wcdx.PNG


Session bilgilerinde olası bir terslikte görselini vereceğim hata ile karşılaşacaksınız.

ix37nbo.PNG

Proxy ve Tor Değişkenleri


Proxy yürütmek için verilen değişken --proxy değişkenidir sevgili forum üyeleri.

Yürütülecek proxy'e dair session var ise --proxy-cred değişkeni ile tanımlama yapmamız da şarttır.

Ve bir filesten Proxy list çekebilmek adına da --proxy-file değişkenini kullanabiliyoruz.

Unutmadan ekleyeyim, Proxy'e protokol girmek zorundayız, görsel olarak bırakıyorum onu da.

cd10vxp.PNG

Tor Değişkeni


Tor yürütmek de çok kolay bir işlemdir aslında.

Tor ile denetim yapmak adına ilk olarak sistemimizde Tor Browser'ın kurulu olduğundan emin olmalıyız.

Smap'te yürütülmesi --tor değişkeni ile olmaktadır.

Tabii öncesinde Tor'u çalıştırıyoruz.

Ve sonrasında --tor-proxy ile --tor-type değişkeni ile girişini veriyoruz.

Kullanımına ait görseli bırakıyorum.

4yu0vni.PNG


Bu kısımda sizlerden dikkatinizi vermenizi istediğim bir bölüm var ki o bölüm Tor'un kendine özgü port numberidir.

Bu number genelde 9050'dir değişmez fakat Tor Browser'in ise 9150 şeklinde gelir.

Ek olarak --check-tor değişkeniyle Tor bağlantımızın stabilitesine bakalım.

Görsel olarak veriyorum smap çıktısını.

fi381xj.PNG

Level - Risk Değişkenlerinin Kullanımı

Bu değişkenler smap'in ne denetimleri yapacağını gösterir.

İlk ayarlı biçimde --level değişkeni 1 şeklinde gelmektedir 5'e kadar değer çekebilir.

Buna ek olarak --risk değişkeni de ilk biçimde 1 gelir 3'e kadar değer çeker.

Yine örneğini veriyorum sevgili forum üyeleri.

6yb48r9.PNG


Türlü sınamalardan sonra smap'in karşımıza çıkardığı hata ekranını da bırakıyorum.
jmj8x7k.PNG


Smap, targetimize elverişli denetimi yapamamış ve bu sebeple targetta SQL Enjeksiyon'un varlığını da onaylayamamış.

Şu an biz komutlarımıza denetimlerimizi farklılaştıran --risk değişkeni ve payload türlerini belirleyen --level değişkenini ekleyeceğiz.

tbef7jv.PNG


Bir müddet bekledikten sonra "Boolean-based-blind", "AND/OR time based blind" şeklinde s-inj zafiyeti bulduğumuzu görüyoruz.

Bunun yanı sıra database adlarını bulabilmek adına da denemeler yapıyor.
Görsel olarak veriyorum.

ktghi46.png



Önemli Not:

Risk ve level değerleri yükseltilir ise yapılacak deneme sayısı da çoğalacaktır.

Denemeleri daha da çabuklaştırabilmek adına --threads değişkenini kullanabiliriz.

Yine değişken sayesinde connect rakamlarında oynama da yapabiliriz.

Önayar değer 1 iken çokça payload'ın birlikte denenmesi için 10 değer girebiliriz.

Buna artı şekilde --eta değişkeni ile yaptığımız işlemlerin farazi bitiş zamanını ekranda görebiliriz.

Örnek görselini yine bırakıyorum.

pk91uvz.png


Hangi level ve risk çapında, hangi database'ye hangi denemenin yapıldığını smap\xml kökünde mevcut payloads fileslerinde barınan XML kısımlarına bakarak öğrenme gibi durum söz konusu olabilir.

Hatta kişiye özel payload tanılamak adına fileslerde işlem işlem yapabilirsiniz.

Bahsedebileceğim Diğer Genel Değişkenler

Smap tabanında sayılması insanı yoran başlı başına her biri faydalı değişkenler bulundurur.

Konumuzun sonuna yaklaşıyoruz, bu kısıma gelene dek bazı değişkenleri örnekleri ile beraber aydınlatmaya çalıştık.

Bitirmeden bazı faydalı olabilecek değişkenleri de sıralayacağım.


--batch: Değişken ile smap’in yönelttiği suallere otomatik biçimde önayarlı cevabı veriyoruz.
--answer: --answer="quit=N,follow=N" şeklinde kullanırsak bize yöneltilen sualleri oto cevaplar ancak bizim istediğimiz biçimde.

-v: Önayarı 1’dir. 0-6 arası değer girebiliriz.
Bu değişken ile denemeler esnasında karşılaştığımız logları smap ekranında görebiliriz.

-t: Bütün HTTP yoğunluğunu ekranda göstermez, bunun yerine bizim belirliyeceğimiz bir txt filesine yollar.

--version: Mevcut smap sürümünü bizlere gösterir.

--update: Smap'i oto biçimde update eder.

Ancak Windows işletimlerde bu komut yürütülemez, update'yi Windows kullananlar elle yapmak zorundadır.


Okuyan herkese teşekkürü borç bilirim.
 

MGALIDER™

Katılımcı Üye
21 Eyl 2021
763
319
23
Bütün THT forum üyelerini ve dışarıdan gelen ziyaretçilerimizi selamlıyor, herkese iyi akşamlar diliyorum.

Bu anlatımımda, genel olarak güvenlik uzmanlarının sıklıkla kullandığı bir aygıt olan SQL ile alakalı kullanım şablonları aktaracağım sizlere.

Peki ne yapabiliriz bununla diyenler olacaktır, web aplikasyonlarda Enjeksiyon saptanması ve hatta zafiyetlerin exploit duruma getirilmesi için çalıştırabiliriz dostlarım.
Ve tabii open-source yazılmıştır belirtmekte fayda var.

Kendisine has bulunan nitelikleri ile database serverlerin denetimini elde etmekten tutun da, hedef haline getirdiğimiz bir serverin işletiminde kod yürütmeye kadar birden fazla işlemde yardımcı oluyor bizlere dostlarım.

Çokça database management system bölümlerine dayanak sağlayan uygulamamız için indirme linkini hemen şuraya hazır konuya giriş yapmamışken bırakayım dostlarım.

GitHub - sqlmapproject/sqlmap: Automatic SQL injection and database takeover tool



Kolay Kullanım Şekilleri

Şimdi dostlarım temel sayılan değişkenlerin kullanımlarına yönelik ibareler ile başlamak istiyorum, siz de bilgi sahibi olacaksınız konuyu sonuna kadar takip ederseniz.

Konu hakkında az çok bir şey duyan birisi bile en çok kullanılan değişkenin -u ya da --url olduğunu biliyordur dostlarım.(Bu URL'i temsil eden bir değişkendir canlar.)

Hemen aşağıya görsel olarak vereceğim değişkeni, komut ile bizim target dediğimiz web siteyi tanımlıyoruz.

gxciuva.PNG

Kod yardımı ile scanning işlemi yürütmek istediğiniz url'de SQL açığı var ise, açığın tipi, kullanılan DBSM gibi bunun harici verileri de bizlere gösterecektir.

Sonrasında ise SQL Enjeksiyon'un varlığından emin olduğumuzda adres aracılığı ile --dbs değişkenini yazarak hazır olan database list'i ekranımızda göreceğiz.

e7nj1qu.PNG


bxkjjnd.png

Dostlarım yukarıda verdiğim son görselden de anlayabileceğiniz gibi elimizde bulunan databaselerin hepsini listlemiş bulunuyoruz.

Bunun akbainde sıra sıra devam edecek ve tabloları, kolon ve tutanakları hatta yine vereceğim değişkenleri kullanacağız.


lobjfjx.PNG


cpurn3h.PNG


iaq3l0b.PNG


-D:
Dostlarım bu değişken sayesinde database ismini belirttik.

--tables:
Belirtmiş olduğumuz database'de tablo adlarını çekmemize yardımcı olacak değişkendir canlar.

-T:
Çektiğimiz tablo adlarını kolonlara göndermek istediğimiz adları yine bu değişkenle yazacağız.

--columns:
İsmiini belirttiğimiz tablodaki kolonları çeker arkadaşlar.

-C:
İstediğimiz kolon adını yazdığımız kısım.


--dump:
Ve bu değişkenimiz ile kolonlarımızdaki verileri bizlere gösterir.

Anektod:

Yalnız 1 (-) ya da birden fazla (--) kullandığımızda değişken ile değişkenin elde edeceği değer ortasında space ya da eşittir ibaresinden hangisini seçeceğini karıştıran arkadaşlar olabilir onlar için bu kısmı anlatıyorum. 1(-) değişken space, (--) çift değişken eşittir şeklinde aklınıza yazabilirsiniz.

Önemli Not:
İstediğimiz veritabanından bilgi alabilmek için sorgu dili ile tahlilini yaptığımız aplikasyonun userinin serverda tam sorumlu person halinde hazır kıta beklemesi çokça onemlidir, unutmayalım canlar.

İzin Denetimi


Az önce anlattığım şekilde, belirli kodlardan sonuç alabilmek adına connection kurduğumuz kişinin full+full yetkili olması gerekmektedir.

Tabii denetimini yapmamız için bize yardımcı olacak yine bazı değişkenlerden bahsedeceğim canlar.

Database userlerine bakabilmek için --users değişkenini, user passleri için --passwords değişkenini, user authorizationları için --privileges değişkenini ve son olarak user role kavramı için ise --roles
değişkenini kullanabiliriz değerli THT üyeleri ve ziyaretçileri.

Userlerin izin ya da rolleri ile ilgili bilgi istiyorsak user nickini -U değişkenini ile kullanabiliriz.

Eğer bu değişkeni kullanmazsak "şuan ki kullanıcı" şeklinde database'de roller ekranda gözlemlenebilir.

Yine user database manager mi yoksa değil mi bakmak istiyorsak --is-dba değişkenini kullanabiliriz canlar.

Kullandığımızda "True or "False" kısmını görebilirsiniz.

Bahsi geçen değişkenler ile alakalı örnek bir görseli aşağıya bırakıyorum.

r5xfrpl.PNG

2rnpk94.PNG

İkinci görseli görüntüyü bozmaması açısından tam ekran vermedim, anlayışla karşılayabileceğinizi umuyorum.

Çoklu Target Scan Etmek


Bizler sql'in -m değişkeni ile çokça URL'de scanning işlemi yapabilmekteyiz.

Örnek verecek olursam görselde bıraktığım links.txt filesinde var olan URL'lerin hepsini sql ile scan edebiliriz.

dslflqn.PNG


Ama önce değişkenin akabinde filesin konumu belirtilmelidir.

Nasıl yapacağınızı görsel olarak bırakıyorum canlar.

i2rktwz.PNG

Bir Talep Filesi Tahsis Etmek


Bunun için de -r değişkenini kullanacağız arkadaşlar.

Rastgele bir proxy devreye girecek ve talebinizi kopyalayıp txt olarak kaydetmenize olanak sağlıyor.

Örnek verecek olursam talepler.txt isimli bir dosyam var ve içerdikleri görselde vereceğim şekildedir diyelim.

pwgi4ae.PNG


SQL'de kullanım şekli vereceğim gibi olacak dostlarım.
btgc38f.PNG

POST Talebinde Bulunmak

Sqlmapi kullanan kişiler arasında yaygın bir düşünce var sadece GET uygulamaları yapılabildiğine dair.

Ancak böyle bir şey yok arkadaşlar GET kadar POST talebinde de bulunabiliyoruz.

Giriş ya da search kısmında olan SQL Enjeksiyon zafiyetlerini saptamak hatta bu zafiyetleri exploid yapabilmek için kullanıcılarına --data değişkeni ile post talebinde bulunmaları için imkan vermiştir bu yazılım.

Örnek bir admin paneli görseli bırakacağım ve bu adreste bir sql açığı aradığımızı düşünelim dostlarım.

3cccswa.PNG


Sql'da analiz adına POST verisi lazım bile.

Bu veriyi rastgele proxy yazılımı ile elimize çekebiliriz.

Saldırı örneğini de görsel olarak bırakıyorum.

tdj3ufx.PNG


Göreceğiniz gibi sql enjeksiyon search ettiğimiz kısmın post verisini, değişkenlerden hangilerini analiz için kullanacağını -p ile --dbsm verilerini entegreledik.

POST verilerinin sql'e çıkarılamayacağı hallerde işlemi talep filesine upload yaparak da yürütebiliriz.

Onun da örneğini veriyorum görsel olarak.

qhtgwip.PNG


Kullanmamız gereken kodu da veriyorum.
c0lkrba.PNG



Ek Not:

Basic değişken olarak bildiğimiz --dbms değişkeni yaptığımız işlemlerde süreci hızlandırabilir.

Evvelce bilinen veya analiz işlemi esnasında öğrenilen database management systemlarden neyi değerlendirdiğimizin verisini değişkene verirsek sql, daha sonrasında yalnızca verilen dbsm'e dikkatini verecektir.

Farklı DBMS'lere icap eden analizleri pass ederek atakların zamanını minimuma indirecektir.

Forms Değişkeni


POST talepleriyle ilgili farklı bir değişken de --forms değişkenidir.

Değişken aracılığı ile adresteki şekillerin sqlmap yardımı ile saptamak olağandır.

Kullanımını da veriyorum arkadaşlar.

qekyf6y.PNG


Akabinde sqlmaq bize bu şekili denemek ister miyiz şeklinde sual yöneltecek eğer istersek POST bilgilerini planlamamızı ister.

Böyle bir istekte bulunmuyorsak olumsuz yönde cevaplıyoruz bu suali dostlarım.


fnv8hnt.PNG

Uniform Resource Locator'de Yeniden Yazma'nın Etkin Olması


Smap, URI yollarına yönelik manuel değil de oto bir deneme yapılmamasına bağlı bu yolları manuel seçer ve böylelikle deneme yapılmasına olanak verir.

Teknik genellikle URL Yeniden Yazma niteliğinin etkin bulunduğu anlarda yararımızadır.

Tabii bu davranışı yapabilmesi için de yalnızca değişkenlerin değerinin sonunda yıldız karakteri olmalıdır.

Örneğini veriyorum bunun da.

asrcdwx.PNG


URL Yeniden Yazma etkin olmasaydı da görselde gördüğünüz gibi görünecekti.
1z7r43p.PNG


Az önce anlattığım üzere de hangi değişkenin seçilmesi hacetine manuel şekilde karar kılabilmek dışında, smap bizim onayımızı alınca kendiliğinden de gerçekleştirir.

HTTP Kimlik Doğrulaması


Smap ile kimlik onayı talep eden yazılımlarda da denetim yapabildiğimizi biliyor muydunuz dostlarım?

Bu denetim işlemi için kullanılan değişken ise --auth-type değişkenidir.

Lazım olan session verilerini ise --auth-cred değişkeni ile işletiyoruz.

Örnek olarak yine görselini bırakacağım hemen aşağıya canlar.


gs8wcdx.PNG


Session bilgilerinde olası bir terslikte görselini vereceğim hata ile karşılaşacaksınız.
ix37nbo.PNG

Proxy ve Tor Değişkenleri


Proxy yürütmek için verilen değişken --proxy değişkenidir sevgili forum üyeleri.

Yürütülecek proxy'e dair session var ise --proxy-cred değişkeni ile tanımlama yapmamız da şarttır.

Ve bir filesten Proxy list çekebilmek adına da --proxy-file değişkenini kullanabiliyoruz.

Unutmadan ekleyeyim, Proxy'e protokol girmek zorundayız, görsel olarak bırakıyorum onu da.

cd10vxp.PNG

Tor Değişkeni


Tor yürütmek de çok kolay bir işlemdir aslında.

Tor ile denetim yapmak adına ilk olarak sistemimizde Tor Browser'ın kurulu olduğundan emin olmalıyız.

Smap'te yürütülmesi --tor değişkeni ile olmaktadır.

Tabii öncesinde Tor'u çalıştırıyoruz.

Ve sonrasında --tor-proxy ile --tor-type değişkeni ile girişini veriyoruz.

Kullanımına ait görseli bırakıyorum.

4yu0vni.PNG


Bu kısımda sizlerden dikkatinizi vermenizi istediğim bir bölüm var ki o bölüm Tor'un kendine özgü port numberidir.

Bu number genelde 9050'dir değişmez fakat Tor Browser'in ise 9150 şeklinde gelir.

Ek olarak --check-tor değişkeniyle Tor bağlantımızın stabilitesine bakalım.

Görsel olarak veriyorum smap çıktısını.

fi381xj.PNG

Level - Risk Değişkenlerinin Kullanımı

Bu değişkenler smap'in ne denetimleri yapacağını gösterir.

İlk ayarlı biçimde --level değişkeni 1 şeklinde gelmektedir 5'e kadar değer çekebilir.

Buna ek olarak --risk değişkeni de ilk biçimde 1 gelir 3'e kadar değer çeker.

Yine örneğini veriyorum sevgili forum üyeleri.

6yb48r9.PNG


Türlü sınamalardan sonra smap'in karşımıza çıkardığı hata ekranını da bırakıyorum.
jmj8x7k.PNG


Smap, targetimize elverişli denetimi yapamamış ve bu sebeple targetta SQL Enjeksiyon'un varlığını da onaylayamamış.

Şu an biz komutlarımıza denetimlerimizi farklılaştıran --risk değişkeni ve payload türlerini belirleyen --level değişkenini ekleyeceğiz.

tbef7jv.PNG


Bir müddet bekledikten sonra "Boolean-based-blind", "AND/OR time based blind" şeklinde s-inj zafiyeti bulduğumuzu görüyoruz.

Bunun yanı sıra database adlarını bulabilmek adına da denemeler yapıyor.
Görsel olarak veriyorum.

ktghi46.png



Önemli Not:

Risk ve level değerleri yükseltilir ise yapılacak deneme sayısı da çoğalacaktır.

Denemeleri daha da çabuklaştırabilmek adına --threads değişkenini kullanabiliriz.

Yine değişken sayesinde connect rakamlarında oynama da yapabiliriz.

Önayar değer 1 iken çokça payload'ın birlikte denenmesi için 10 değer girebiliriz.

Buna artı şekilde --eta değişkeni ile yaptığımız işlemlerin farazi bitiş zamanını ekranda görebiliriz.

Örnek görselini yine bırakıyorum.

pk91uvz.png


Hangi level ve risk çapında, hangi database'ye hangi denemenin yapıldığını smap\xml kökünde mevcut payloads fileslerinde barınan XML kısımlarına bakarak öğrenme gibi durum söz konusu olabilir.

Hatta kişiye özel payload tanılamak adına fileslerde işlem işlem yapabilirsiniz.

Bahsedebileceğim Diğer Genel Değişkenler

Smap tabanında sayılması insanı yoran başlı başına her biri faydalı değişkenler bulundurur.

Konumuzun sonuna yaklaşıyoruz, bu kısıma gelene dek bazı değişkenleri örnekleri ile beraber aydınlatmaya çalıştık.

Bitirmeden bazı faydalı olabilecek değişkenleri de sıralayacağım.


--batch: Değişken ile smap’in yönelttiği suallere otomatik biçimde önayarlı cevabı veriyoruz.
--answer: --answer="quit=N,follow=N" şeklinde kullanırsak bize yöneltilen sualleri oto cevaplar ancak bizim istediğimiz biçimde.

-v: Önayarı 1’dir. 0-6 arası değer girebiliriz.
Bu değişken ile denemeler esnasında karşılaştığımız logları smap ekranında görebiliriz.

-t: Bütün HTTP yoğunluğunu ekranda göstermez, bunun yerine bizim belirliyeceğimiz bir txt filesine yollar.

--version: Mevcut smap sürümünü bizlere gösterir.

--update: Smap'i oto biçimde update eder.

Ancak Windows işletimlerde bu komut yürütülemez, update'yi Windows kullananlar elle yapmak zorundadır.


Okuyan herkese teşekkürü borç bilirim.
Güzel konu, yeni başlayan arkadaşlar için ideal.
 

K3D

Katılımcı Üye
1 Mar 2021
629
555
30
root
Eline sağlık, detaylı anlatım, çok rahat çok profesyonel. Teşekkür ederim :)
 
Üst

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