WinWiper - Sigurno ciscenje direktorijuma (demo)

  • Začetnik teme Začetnik teme lnxdr
  • Datum pokretanja Datum pokretanja

lnxdr

Obećava
Poruka
68
Na nekoj temi sam spomenuo AFINUS Project, za sigurnosno brisanje podataka. Poceo sam da radim GUI u Sinatri, kako bih napravio samostalan paket za bilo koji OS. Testirao sam nesto za Windows, i uradio WinWiper.exe koji je na kraju ispao koristan. Brise sve fajlove u folderu u kom je pokrenut, nema instalacije, i startuje odma sa duplim klikom. Svaki fajl bude prepisan sa random-byte i spustan na nulu. Konzola prikazuje koji faljovi su obrisani, i proteklo vreme. Ako ga pokrecete iz konzole, mozede dodati direktorijum kao argument winwiper.exe C://.

Koristio sam afinus.rb -e da kreiram dokumenta za brisanje. Nakon toga dupli klik na winwiper.exe. Ne brise direktorijume, niti sebe. Ostale fajlove u folderu prepise 9 puta, i obrise na kraju.

1-afinus.png2-afinus.png

Avast je skenirao, kao i Kasperski i VirusTotal.

3-winwiper.png4-winwiper.png5-winwiper.png

Ako zelite da proverite kako radi, i da li radi na vasem sistemu:

GitHub Repository
Direct Download Link
 
Ako su obrisani, mozes da koristis Afinus, prvo popunis prazan prostor, i onda ocisti sve. Tako sve ono sto je bilo negde sakriveno, vise nije. Ako govoris o skrivenim fajlovima, na linuxu ih nalazi, za Windows nisam siguran. Moram ga prepraviti za windows, jer ne radi opcija 'recursive', da cisti sve foldere, ne samo jedan. Dakle sto se tice vec obrisanih fajlova, slobodno afinus -e, i nakon toga pokrenes afinus, ili ovaj winwiper.exe.

Sto se tice pronalaska kako bi ih povratio nazad, to je vec drugaciji postupak, i nije lagan.

Tema na forumu gde sam opisao postupak
GitHub link
 
Zavisi kakav je Ransomware u pitanju. Imao sam situaciju gde je kompanija imala zakljucanih 14 racunara, asimetricnom enkripcijom. U prevodu nemoguce za razbiti, medjutim kljuc za dekripciju je prebacio na server, kako bi nakon placanja zrtva mogla da skine privatni kljuc. Napravio je gresku i prebacio kljuc preko HTTP protokola, a kompanija je imala wireshark aktivan u to vreme, te smo uspeli da vratimo fajlove. Sve zavisi od nacina napada, medjutim ako se izvede kako treba, nema tu dekripcije. Ako imas problem sa ransomware napadom, javi mi se preko PP.
Meni treba neki program za skeniranje i brisanje skrivenih fajlova na Windows 10 .
Kad zavrsim graficki interfejs za AFINUS imaces opciju da nadjes sakrivene fajlove, fajlove odredjene ekstenzije ili naziva, da uradis backup i jos nekoliko stvari poput proveravanja instaliranih programa na poznate viruse.

Kako "sigurno brisanje" funkcionise, evo par reci, ali samo uopsteno, jer su windows i linux drugaciji po pitanju memorije. U svakom slucaju, obrisani dokumenti se i dalje nalaze negde u memoriji. Pravljenjem i brisanjem novih dokumenata, unistavamo i te ostatke iz memorije. Za to sluzi opcija da popuni prazan prostor random-byte fajlovima. Kada smo popunili sav taj prazan prostor, unistili smo neke delove nasih obrisanih dokumenata, medjutim i dalje je moguce vratiti neke stvari. Zato je proces brisanja takav da se svaki fajl prepise sa random materijalom, maksimuma 512000b u ovom slucaju, i nakon toga srusi na 0 (nula) bajta, i to ponovi 3 puta, i nakon toga ceo taj proces jos 3, dakle 9 prepisivanja ukupno.

{ 3 x ( overwrite(random) -> truncate(0) -> overwrite(random) - truncate(0) -> overwrite(random) -> truncate(0) ) } => delete file

Evo kako izgleda taj deo koda, koji je zaduzen za random-byte:

Ruby:
  def truncate_file(file, byte = 512000, many = 3)    # file = dokumenat koji brisemo,  byte = maksimalan broj bajta,  many = koliko puta ponoviti proces)
    bytes_array = Array([rand(byte), rand(byte), rand(byte)])      #  rand(512) = bilo koji broj do 512
    many.times do 
      bytes_array.each do |bytes|
        File.write(file, Random.new.bytes(bytes).to_s)    # dokument se prepisuje sa random-byte pretvorenim u string (.to_s)
        File.truncate(file, 0)    # smanji fajl na null-byte
      end 
    end
  end

Na taj nacin je i onaj prazan prostor prepisan 9 puta, a veoma lako je povecati broj, ako ima potrebe. Treba vremena, ali je brze nego bilo koji program koji ces naci na netu. Instaliraj Ruby (lako je, imas instaler) i pokreni skriptu. Popunis praza prostor i obrises sve to. Jedino na windows-u ne radi 'recursive', da cisti i sve direktorijume u glavnom, moram pogledati zasto se to desava, ali proces popunjavanja praznog prostora i brisanja svega u zadatom direktorijumu radi veoma brzo. Takodje Ruby ima metod each_byte, koji bi isao svaki bajt po bajt i prepisivao, sto je jako sporo, a efekat je isti. Each_Byte cu ubaciti za "paranoid" mod, ako neko bas hoce, ali licno smatram da nakon ovakvog popunjavanja praznog prostora i 9 prepisivanja, nije moguce vratiti bilo sta.
 
U dobrom delu slucajeva antivirusne kompanije naprave kad-tad dekriptor, ako kojim slucajem imas vazne fajlove koji su kriptovani nekim ransomware virusom, nemoj da ih brises, cuvaj ih.
Nista "vazno " osim knjiga koje sam pisao, i to na tri diska , sto bi jos neverovatnije zvucalo jedan disk je kopija na fat 32 sto bi iskljucilo svaku mogucnost napada "dot peta " , jer kriptovanje navodno nije omoguceno na fat particijama.
 

Back
Top