هش کیلر :: V i R u s Ʒ²

V i R u s Ʒ²

هک و امنیت

V i R u s Ʒ²

هک و امنیت

Virus 32

💢 دوستانم بی دفاع و دشمنانم بی جواب نخواهند ماند 💢

-->
آخرین نظرات
  • ۲۲ مرداد ۰۲، ۰۰:۳۴ - Sami
    مرسی
  • ۱۴ مرداد ۰۲، ۱۴:۴۶ - farhad
    salam

هش کیلر

سلام امیدوارم حالتون خوب باشه
در این پست قراره در مورد یکی از مهم ترین مسائل امنیتی بحث کنیم
همونطور که میدونید در انتهای مسیر هک و امنیت به چالشی به نام کدهای هش شده میرسیم
یعنی کلی تلاش میکنی ، از جونت مایه میزاری تا یکی رو هک کنی ولی آخرش اون بی معرفت بجای اینکه رمز عبورش رو بهت بده یسری کدهای عجیب غریب تحویل میگیری :( :|
خوب بریم سر اصل مطلب :
هش چیه؟
هش یه عملیات ریاضی یک طرفه است
یعنی رمز شما به کمک یه فرمولی تبدیل به یسری کارکتر ها و اعداد میشه که برای انسان قابل درک نیست!
این عملیات یک طرفه است یعنی کد شما تبدیل به هش Hash یا دایجست digest میشه ولی هش شما تبدیل به رمز اولیه نمیشه!
هش ها نمونه های مختلفی دارن
تو برنامه نویسی برای امنیت کارمون ما میتونیم خودمون هم این هش هارو طراحی کنیم
ولی بیشتر از هش های استانداری مثل :
MD5
FC97CC2B7961ED4492CA1A5AA7E03860
SHA1
6320A7DCE7641107EDD476F6C6F95088A97D2972
SHA256
0FD056DBBF9B231616689574C700A5E6DE0A0380FE53434B85F94C627648630B
و .... استفاده میشه که دایجست های بالا همه برای کلمه ی Virus32 هستن.
تولید این کدها برای یک برنامه نویس کار دشواری نخواهد بود
ولی شکستن این کدها تقریبا غیرممکنه!
همونطور که در ابتدا گفتم این یک عملیات یک طرفه است و نمیشه از این کدها به رمز اصلی برگردیم
پس تنها راهکار کرک کردن این کدها هستش
یعنی سایت هایی هم که با عنوان هش کیلر Hash Killer فعالیت میکنن رمز شمارو براتون هک نمیکنن
اونها فقط سعی میکنن کرکش کنن که این به این معنیه که اگه رمز مورد نظر تو لیست شون باشه میتونن کد رو برات کرک کنن درغیر این صورت هیچ شانسی ندارین
این مشکل برای ما ایرانی ها و یا غیر انگلیسی زبان ها بیشتر خواهد بود چون رمز هایی که ما هک میکنیم برگرفته از فارسی هستن اکثرشون ؛ مثلا رمز ساده ی 32akbar16 رو نمیشه تو هر سایت هش کیلری کرک کرد ولی رمز 7575john2016 رو خیلی راحت میشه کرک کرد
حالا چاره کار چیه؟
کاری که من انجام دادم (مثل بقیه دوستان) اینه که یه برنامه برای خودم ساختم که کدهامو تبدیل به هش میکنه
از همین روش استفاده کردم و یه دیتابیس طراحی کردم و هرچی پسوورد لیست داشتم رو تبدیل به هش کردم و تو دیتابیسم ذخیره میکنم
این دیتابیس هرچقد بزرگتر باشه برای من بهتره پس هر از گاهی آپدیتش میکنم و لیست جدید که به دستم رسید بهش اضافه میکنم
و یا وقتی یکی رو هک میکنی میتونیم تقریبا حدس بزنیم رمزش چی میتونه باشه
مثلا با اسمش و اعداد یه لیست درست میکنیم
و یا با سال تولدش و خلاصه هرچی که به ذهنت میرسه یه لیست درست میکنیم و به بانکمون اضافه میکنیم و بعد خیلی راحت میتونیم هش مون رو کرک کنیم!
حالا بریم سراغ ساختن این برنامه :
ببینید من خیلی وقته به شما و دوستای نزدیکم میگم که برنامه نویسی رو شروع کنید.
چون اول و آخر این مسیر حداقل یک زبان رو باید بلد باشید
این برنامه رو هم میشه با هر زبانی نوشت ولی من اینجا با سی شارپ آموزش میدم
دیگه مثل قدیما از صفر شروع نمیکنم
اگه هنوزم تو شروع کار و ایجاد پروژه مشکل داشتین پست های قبلی رو مطالعه کنید اونجا با رسم شکل توضیح دادم
برنامه ای که باید بسازید فرم اصلیش یه چیزی شبیه فرم زیر هستش
در این آموزش دو قسمت اولی که علامت زدم رو یاد میگیریم یعنی Make و Kill
ابتدا یه فرم دیگه به پروژه اضافه کنید به اسم Make و به شکلی شبیه فرم زیر درستش کنید
طراحی فرم فقط سلیقه است و میتونید هرجوری که دلتون میخواد درستش کنید
درکل چیزی که لازمه دوتا تکست باکس یکی معمولی یکی مولتی لاین و ...
حالا بریم سراغ کد نویسی :
من اینجا کد نویسی MD5  رو قرار میدم بقیه رو فکر کنم خودتون خیلی راحت میتونید انجامش بدین چون یکم دقت کنید خیلی ساده است فقط یه کلمه رو باید عوض کنید که اگه بازم نتونستید توضیح میدم!
به قسمت کد نویسی صفحه تون برین و کتابخونه ی زیر رو اضافه کنید
using System.Security.Cryptography;
و کد زیر رو که میتونید برای یک متد یا یک دکمه یا ... هرجایی استفاده کنید
void md5()
{
if (textBox1.Text != "")
{
using (MD5 md5 = MD5.Create())
{
byte[] inputBytes = Encoding.ASCII.GetBytes(textBox1.Text);
byte[] hashBytes = md5.ComputeHash(inputBytes);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < hashBytes.Length; i++)
{
sb.Append(hashBytes[i].ToString("X2"));
}
textBox2.Text = sb.ToString();
}
}
else
{
textBox2.Text = "";
}
}
من اینجا توی متد md5 کدهامو تعریف کردم که رمز در تکست باکس 1 وارد میشه و در تکست باکس 2 هم مقدار دایجست یا هش رو نمایش میده که با دستور شرطی درون اونت تکست چنجش قرار دادم
کدهای فرم make همین قدر خواهد بود
خودتون توی کدها عبارت md5 رو به sha1 یا هرچیز دیگه تغییر بدین تا بقیه استاندارد هارو بسازین و ...
بریم سراغ فرم کیلر kill
تو این فرم دو تا عملیات مهمی که انجام میدیم
یکی اضافه کردن پسوورد لیست به بانک اطلاعاتی
دومی پیدا کردن هش مورد نظر از دیتابیس (عملیات جستجو)
شکل کلی فرم میتونه به صورت زیر باشه
کدهای جستجو رو تو این صفحه تعریف مکنیم که به شکل زیر میشه
ابتدا یه کانکشن عمومی بالای کدها تعریف کردم
(بانک من اس کیو لایت هست ولی شما میتونید از هر بانکی استفاده کنید)
public SQLiteConnection cco = new SQLiteConnection(@"data source=|DataDirectory|hashdata.db; Version=3; password=****;"); 
و حالا تکه کد جستجو به شکل زیر میشه
cco.Open();
SQLiteCommand da = new SQLiteCommand("select * from md5 where hash=@ab", cco);
da.CommandType = CommandType.Text;
da.Parameters.AddWithValue("@ab", textBox1.Text);
SQLiteDataReader rdr = da.ExecuteReader();
if (rdr.Read())
{
textBox2.Text = rdr["pass"].ToString();
}
else
{
textBox2.Text = "";
}
cco.Close();
rdr.Close();
من تو دیتابیسم یه کلومن به اسم md5 دارم که توش دو تا ستون hash,pass داره
این کد هم هش موجود در تکست باکس 1 رو جستجو میکنه و نتیجه رو در صورت وجود که همون پسوورد هست رو در تکست باکس 2 نمایش میده
حالا بریم قسمت بعدی
اضافه کردن اطلاعات به دیتابیس
یه فرم به شکل زیر لازم داریم
کدهای دکمه جستجو
OpenFileDialog theDialog = new OpenFileDialog();
theDialog.Title = "Open Text File";
theDialog.Filter = "TXT files|*.txt";
if (theDialog.ShowDialog() == DialogResult.OK)
{
textBox1.Text = theDialog.SafeFileName.ToString();
string line;
var file = new System.IO.StreamReader(theDialog.FileName.ToString());
while ((line = file.ReadLine()) != null)
{
listBox1.Items.Add(line);
label3.Text = listBox1.Items.Count.ToString();
}
}
کدهای دکمه استارت
using (MD5 md5 = MD5.Create())
{
byte[] inputBytes = Encoding.ASCII.GetBytes(itemo);
byte[] hashBytes = md5.ComputeHash(inputBytes);
StringBuilder sb = new StringBuilder();
for (int m = 0; m < hashBytes.Length; m++)
{
sb.Append(hashBytes[m].ToString("X2"));
}
md5o = sb.ToString();
cco.Close();
cco.Open();
SQLiteCommand da = new SQLiteCommand("select * from md5 where hash=@ab", cco);
da.CommandType = CommandType.Text;
da.Parameters.AddWithValue("@ab", md5o);
SQLiteDataReader rdr = da.ExecuteReader();
if (rdr.Read())
{

}
else
{
cco.Close();
string strSql = "INSERT INTO md5 (pass , hash) VALUES (?,?)";
using (SQLiteCommand dbCmd = new SQLiteCommand(strSql, cco))
{
dbCmd.CommandType = CommandType.Text;
dbCmd.Parameters.AddWithValue("pass", itemo);
dbCmd.Parameters.AddWithValue("hash", md5o);
cco.Open();
dbCmd.ExecuteNonQuery();
cco.Close();
}
}
cco.Close();
rdr.Close();
}
متغییر هایی که در این صفحه تعریف کردم (کل متغییر ها)
string itemo = "", md5o = "", sha1o = "", sha256o = "";
int xi = 0, cn = 0;
خوب اینم از این
فکر نکنم برای کسی که یکم با برنامه نویسی آشنایی داشته باشه جای ابهام باقی مونده باشه
این پروژه در آموزش هایی که تازه شروع کردیم هم خیلی میتونه کاربرد داشته باشه
امیدوارم مفید بوده باشه
و اینکه لطفا نخوایید که برنامه ی آماده رو اینجا قرار بدم
هیچوقت این کار رو انجام نمیدم
پیروز باشید :)

نظر (۲۰)

ایولا...

چه عجب بالاخره یه پست تپل دیدیم ازت :)

Virus32 Attrib32 32 32 :
پایتونشم میزاریم 😎

یه لایک هم از طرف من به این پست قشنگ :) شد دو تا لایک تا الان.

Virus32 Virus 32 :
مرسی عزیزم :)

حاجی دیدم هر کی داره یه کامنتی میزاره

گفتم ضایعس منم از پستت تعریف نکنم :))))))

 

عالی بید ;0

Virus32 Virus 32 :
تیم نیس که دیوونه خونه است هههههههه
مچکر :)

عه همه اینجاین که :( بدویین بیاین خونه شام سرد شد D:

Virus32 Virus 32 :
ههههههههههههههه
دهنتون سرویس D:

ویروس دوباره برگشتی به مجازی؟
نبودی 
خوشحالم برگشتی

Virus32 Virus 32 :
من همیشه هستم داداش
عزیزی ♥

سلام به عشق خودم  که من و تووو خماری گذاشتعععععععععععععععععع

لعنتی قول فیک پیج داده بودی اخه عید نرسید اخر سر؟

Virus32 MR_C0D3R ‌ :
فیک پیج چی ؟ بوگو من بزارم تا چند ساعت دیگه هستم

عه اینو من تازه دیدم چه پست خفنی بود

دمت گرم (:

Virus32 32 Attacker ‌ :
فنات ;)

بنظرت بهتر نیست این برنامه رو تو گیت هاب بزاری و بعد مثلا همه روش کار کنن بجای اینکه دونه دونه کار کنن ؟ 

Virus32 32 Attacker ‌ :
نوچ ;) اینجا فقط سعی داریم تا کاربرای ایرانی رو ساپورت کنیم. هر ایرانی هم که دنبال چنین مطالبی باشه احتمالش هست پاش به این وب باز بشه D:

برنامه امادش رو نداری بدی 

Virus32 Attrib32 32 32 :
بساز پستش کنیم

والا #C خطای لاسینس میده حوصله ندارم کرک کنم بالا نمیاد.

Virus32 Attrib32 32 32 :
|:

 عالییی خسته نباشین
خدایی من با  این سایت خیلی چیزا به خصوص پایتنو یاد گرفتم و به دردم میخوره
 مستر کدر منو شناخته بود😂😂
 خلاصه خدایی دمتون گرم

داداشی اگ پایتونشم بزاری

دیگه جا بحث نمیمونه الان عالیه

اون فوق العاده میشه😎

خداییی دمت گرم ، مرسی که هستی

Virus32 MicRoB 32 :
پایتون کار هامون فعلا نیستن
امدن پیشنهادشو بهشون میدم

فایل exe رو هم میگذاشتید دیگه :/ ما که ویژوال استودیوی 20 گیگی نمیتونیم نصب کنیم  :|

Virus32 MicRoB 32 :
دیگه اون جوری می ترسیم مشکلات گوارشی براتون پیش بیاد 
یه حرکتی هم خودتون بزنین دیگه :/

 Microb 32 :

دیگه اون جوری می ترسیم مشکلات گوارشی براتون پیش بیاد 

یه حرکتی هم خودتون بزنین دیگه :/

_______________________________________________________________

چه حرکتی بزنیم؟ ویندوز رو داغون کنیم تا ویژوال استودیوی 20 گیگی نصب کنه :/  یا بریم شارپ دولوپ رو نصب کنیم واسه 1 خط 20 ارور بده :|    

 

وقتی که تو شارپ دولوپ می زنم این ارور هارو میده:

A namespace cannot directly contain members such as fields or methods (CS0116) - C:\Users\a\Documents\SharpDevelop Projects\hash boioier.cs\hash boioier.cs\MainForm.cs:2

 

Identifier expected (CS1001) - C:\Users\a\Documents\SharpDevelop Projects\hash boioier.cs\hash boioier.cs\MainForm.cs:8,26

 

Expected class, delegate, enum, interface, or struct (CS1518) - C:\Users\a\Documents\SharpDevelop Projects\hash boioier.cs\hash boioier.cs\MainForm.cs:8,28

 

Identifier expected (CS1001) - C:\Users\a\Documents\SharpDevelop Projects\hash boioier.cs\hash boioier.cs\MainForm.cs:9,26

 

Expected class, delegate, enum, interface, or struct (CS1518) - C:\Users\a\Documents\SharpDevelop Projects\hash boioier.cs\hash boioier.cs\MainForm.cs:9,28

 

Expected class, delegate, enum, interface, or struct (CS1518) - C:\Users\a\Documents\SharpDevelop Projects\hash boioier.cs\hash boioier.cs\MainForm.cs:10,44

 

Expected class, delegate, enum, interface, or struct (CS1518) - C:\Users\a\Documents\SharpDevelop Projects\hash boioier.cs\hash boioier.cs\MainForm.cs:13,47

 

Type or namespace definition, or end-of-file expected (CS1022) - C:\Users\a\Documents\SharpDevelop Projects\hash boioier.cs\hash boioier.cs\MainForm.cs:14,21

 

 

چرا تبدیل کردن متن به هش آسونه ولی تبدیل هش به متن اصلی سخت یا غیر ممکنه ؟

سلام با توجه حرف دوستمون parham ما میتونیم اصلا نصب نکنیم وی اس کد رو

چطوری؟

منم اصلا کامپیوتر خوبی ندارم رم لپتاپم یک گیگ هست ! و اصلا هیچی اجرا نمیکنه

من تو موبایل کامپایل میکنم 

با این برنامه:c# shell android

نصب کار های منو انجام میده اسمش این نیست ولی این رو بزنی تو گوگل اولین برنامه ایی که میاره 

C# shell(c# offline compiler )

Virus32 Virus 32 :
سلام
ممنون ♥

البته برنامه هه برای console میباشد اگر راه دیگری داشتید اصلاع بدهید فیض ببریم

ممنون👍

درود بر Virus32

آقا دمت گرم خیلی با حالی

همین که داری با حوصله و گام به گام توضیح میدی خودش خیلیه

دیگه نیازی نیست سورس کد رو بزاری

من تازه امروز وبلاگت رو دیدم خیلی خوشم اومد از مطالبت

درود بر Virus32

آقا دمت گرم خیلی با حالی

همین که داری با حوصله و گام به گام توضیح میدی خودش خیلیه

دیگه نیازی نیست سورس کد رو بزاری

من تازه امروز وبلاگت رو دیدم خیلی خوشم اومد از مطالبت

Virus32 Virus 32 :
خواهش میکنم ♥

سلام آقای ویروس 32 اجازه هست برخی از مطالبتون رو با نام منبع در وبلاگ خود نشر بدم؟

Virus32 Virus 32 :
سلام عزیز
بله اینجا کپی آزاد هست
ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی