Language - What language should I write my RAT in?

In the search for what language I should write my RAT software in, I thought about the aspects:

  • File size
    Ideally I want the file size of the final product to be as small as possible (Don’t we all?).
    From a malRAT perspective, a smaller filesize would mean a quicker distribution of the file.

  • Environment
    Does the host computer need certain software or dependencies to run my RAT?
    Does Python need to be installed? Or the .NET framework?
    I would want the RAT to work as universally as possible.
    That also means cross-platform support, meaning that any OS-specific code needs to be abstracted.

  • Code Paradigm
    Functional vs Object Oriented..
    Synchronous vs Asynchronous..
    There’s never a right or wrong when it comes to decisions - but rather - it is selecting the best language to suit this project.
     
    A lot of the times when I have to deal with some sort of network interaction, I often stick to some sort of async / event-based paradigm.

  • Have I used thing language before

In my TODO list, I have “Learn Rust”.
Buuuut I probably don’t have time to learn a new language on top of all of the R&D I’ll need to do for the actual functionality of this RAT, on top of the other components of this course, on top of the other courses I’m doing.
Thanks trimesters.


I’m deciding to write it in node.js, as I’ve been using it for a while in my own personal projects.

Yes, I know, node_modules.

Source: reddit.com/u/xaxaxa_trick

I’ll aim to write the software with not too many libraries as to minimise the program’s file size.

In terms of distribution, I’ll be using pkg by zeit, to package the files into a single executable.