1. Pascal / Говнокод #22425

    −100

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    var
      SysPath, WinPath, DrivePart, AppPath, CMDLine, AppName, AppExt:widestring;
      P:Integer;
      USBDrive:Boolean;
    begin
      Result:=True;
    
      SetLength(SysPath,300);
      SetLength(SysPath, GetSystemDirectoryW(PWideChar(SysPath), 300));
      SysPath:=IncludeTrailingPathDelimiter(SysPath);
      SysPath:=WideLowerCase(SysPath);
    
      SetLength(WinPath,300);
      SetLength(WinPath, GetWindowsDirectoryW(PWideChar(WinPath), 300));
      WinPath:=IncludeTrailingPathDelimiter(WinPath);
      WinPath:=WideLowerCase(WinPath);
    
      DrivePart:=ExtractFileDrive(lpCurrentDirectory);
      DrivePart:=ExtractFileDir(DrivePart);
      DrivePart:=wideLowerCase(DrivePart);
    
      AppName:=ExtractFileName(lpApplicationName);
      AppName:=wideLowerCase(AppName);
    
      AppExt:=ExtractFileExt(AppName);
      AppExt:=wideLowerCase(AppExt);
    
      AppPath:=ExtractFilePath(lpApplicationName);
      AppPath:=wideLowerCase(AppPath);
    
      CMDLine:=lpCommandLine;
      CMDLine:=Utf8Decode(Utf8StringReplace(UTF8Encode(CMDLine),#34,'',[rfReplaceAll]));
      P:=utf8Pos(utf8encode(string(lpApplicationName)), utf8encode(CMDline));
      if P >0 then
      Delete(CMDline, P, Length(lpApplicationName));
      CMDLine:=Trim(CMDLine);
      //CMDLine:=LowerCase(CMDLine);
    
      USBDrive:=IsUSBDevice(DrivePart);
      if (WideSameText(AppPath, SysPath) or WideSameText(AppPath, WinPath))  then
      begin
        if ((wideSameText(AppName,'wscript.exe')) or (wideSameText(AppName, 'cscript.exe')) or (wideSameText(AppName, 'mshta.exe'))) then
        begin
          // script blocked
          if CMDLine <> '' then
          if MessageBoxW(0,PWideChar(UTF8Decode(Format('Использование скриптов может повредить Ваш компьютер! %s%s%s', [#13#10#13#10'Приложение: '+lpApplicationName,#13#10'Файл: '+CmdLine,#13#10#13#10'Вы действительно хотите выполнить данный скрипт?']))),PWideChar(UTF8Decode('Rast Security: заблокирован скрипт!')),mb_yesno or mb_iconexclamation) <> IDYES then Exit;
          TrueCreateProcessW(lpApplicationName, lpCommandLine, lpProcessAttributes,
          lpThreadAttributes, bInheritHandles, dwCreationFlags, lpEnvironment,
          lpCurrentDirectory, lpStartupInfo, lpProcessInformation);
        end
        else if ((wideSameText(AppName, 'rundll32.exe')) or (wideSameText(AppName, 'cmd.exe')) or (wideSameText(AppName, 'hh.exe')) or (wideSameText(AppName, 'reg.exe')) or (wideSameText(AppName, 'regedit.exe'))) then
        begin
          // app launching
          if USBDrive then
          begin
          	if (CMDLine <> '') then
    				if Copy(CMDLine,1,28)='Shell32.DLL,ShellExec_RunDLL' then
          	begin
          		if MessageBoxW(0,PWideChar(UTF8Decode('Проводник пытается выполнить автозапуск! Данную функцию используют многие вредоносные программы.'+#13#10+'Мы настоятельно рекомендуем Вам не разрешать исполнение сценария и проверить устройство антивирусом.'+#13#10+'Разрешить исполнение?')),PWideChar(UTF8Decode('Rast Security: автозапуск заблокирован')),mb_yesno or mb_iconexclamation)<> IDYES then Exit;
          	end
          	else
          	 if MessageBoxW(0,PWideChar(UTF8Decode(Format('Легитимное (заслуживающее доверия) приложение пытается исполнить неизвестную программу на сменном диске. %s%s%s', [#13#10#13#10'Приложение: '+lpApplicationName,#13#10'Файл: '+CmdLine,#13#10#13#10'Разрешить доступ?']))),PWideChar(UTF8Decode('Rast Security: заблокирован ланчер')),mb_yesno or mb_iconexclamation) <> IDYES then Exit;
          end;
          TrueCreateProcessW(lpApplicationName, lpCommandLine, lpProcessAttributes,
          lpThreadAttributes, bInheritHandles, dwCreationFlags, lpEnvironment,
          lpCurrentDirectory, lpStartupInfo, lpProcessInformation);
        end
        else
        TrueCreateProcessW(lpApplicationName, lpCommandLine, lpProcessAttributes,
        lpThreadAttributes, bInheritHandles, dwCreationFlags, lpEnvironment,
        lpCurrentDirectory, lpStartupInfo, lpProcessInformation);
      end
      else
      //begin
        //if not masking app
      //end;
      if USBDrive then

    Я прусь с Лазаря.

    Запостил: CTEPTOP, 21 Февраля 2017

    Комментарии (58) RSS

    • Опа! Это же код из моего перехватчика!
      Ответить
      • У вас что, не только один аккаунт на кучу шизофреников, но ещё и один комп?
        Ответить
        • Возможно даже одно тело...
          Ответить
        • Помогите мне, доктор.
          Ответить
          • Давай я тебе помогу

            Значит, берешь двести грамм древесного спирта и двести грамм тормозной жидкости и выпиваешь залпом натощак. И так неделю. удачи!
            Ответить
            • Плохой ты доктор. После первого же залпа соблюдать дозировку будет уже некому.
              Ответить
              • а давай проверим

                ты попробуй и отпишись
                Ответить
                • Я тебе что, крыса подопытная? На своих домочадцах опробуй, убедись в его безопасности (главная заповедь врача - не навреди!) а мне пришлёшь уже готовый эликсир. Я выпью его залпом - обещаю.
                  Ответить
                • Же ву при пардон, а можно я попробую? Что это за эликсир?
                  Ответить
      • тест
        Ответить
    • Ты умамы Петцольд, Рихтер и Руссинович одновременно
      Ответить
    • Стертор опять соснул
      Ответить
    • > hh.exe
      Хм, а чем он опасен, кстати? Через эту читалку хелпов можно какой-то код исполнить?
      Ответить
      • А запросто. Банальное повышение превилегий в *.OCX
        Ответить
      • Она зарускает ком эксплорера внутри, это ж копелированный хтмл

        Бляди узнали мой пароль(123), и теперь спамят
        Ответить
        • Т.е. настолько решето, что даже доки из интернета в этом формате лучше не читать?
          Ответить
        • А я думал, что это просто зожатый хтмл с картинками и прочей роипенью. А мона пример опассного схм ?
          Ответить
          • При запуске файла в формате *CHM происходит подгрузка дроппера, выполненного в виде встраиваемого объекта, чей функционал зашит в OCX. Дроппер при загрузке запускает злонамеренное приложение.

            Итак, понадобятся 3 файла: html-страничка, библиотека *.ocx и сам троян.

            Запускаешь Visual Basic (ну, или делфи, если религия не позволяет), и ваяешь в нём встраиваемый объект ActiveX , в котором при событии подгрузки вызываешь ShellExecute своего троянца (должен лежать рядом с библиотекой). На выходе получаешь HTML и готовую библиотеку.
            Берёшь билдер справки (у него ещё мясорубка на иконке), и пропускаешь всё это через него, на выходе получаешь готовый файл справки. Знание преумножает боль.
            Ответить
            • Охуяссэ !
              Ну хоть где-то мне Дельфий пригодился.
              Въебал плюсы.
              Ответить
            • Жаль, что у нас на парах не юзают chm.
              А есть какие-нибудь уязвимости в docx или pdf ?
              Ответить
              • В pdf была возможность выполнения произвольного JS, пока дыру не прикрыли.
                Насчёт docx, к сожалению, не знаю. Я уже давно не интересуюсь подобными вещами, да и офиса на моём компьютере не было отродясь.
                Ответить
            • Кстати, а .ocx без запроса грузятся только из chm или из любой локально сохранённой странички тоже (если её открыть ие)?
              Ответить
              • x3, вроде, как я понел: ocx ≈ dll. И иё используют не хтмл-странички, а говнопрограммы на виндовс. В хтмл видел только в chm.
                Ответить
                • HTML странички их таки могли юзать (в IE).
                  Ответить
                  • Я сразу-то и не понял, что ты про ослика :)
                    Кто-то исчо его юзает ?
                    Ответить
                    • Ну это же тред про XP и прочую некрофилию (ведь на семёрке и выше уже сложно поймать авторан). Так что IE актуален :)
                      Ответить
    • Последний шанс попробовать моё творение. http://rastsecurity.do.am/load/1-1-0-4
      В мае лицензия истекает (довольно глупый стимул для обновления), а сорцы я проебал.
      Ответить
      • > сорцы проебал
        Ну как так можно ? Проебатель сорцов
        Ответить
        • Это уже не первый раз. Очевидно, я слишком глуп, чтобы быть IT.

          Мне долгое время звонил знакомый, угрожая то расправой, то судом за то, что я, якобы, взломал его страницу в ВК и читал переписки, - и нёс прочий бред. Зная его истеричный характер, я предположил, что такой псих и заявление напишет, а проблем я не хотел. По инерции я бросился шифровать свои данные, хотя прятать было, ровным счётом, нечего. Поставил BitLocker c 20-значным ключом, и выключил комп. Наутро включаю - пароль не подходит. ЧЗХН? Оказалось, что в биосе была включена опция "backup to HDD" - эта функция скидывает дамп в конец диска, где незанятые секторы, чтобы в случае сбоя восстановить биос. Пока диск был не шифрованный, это никак себя не проявляло, т.к. не было обращения к незанятому месту. С зашифрованным диском дела обстояли иначе. Очевидно, был задет образ и битлокер больше не смог его загрузить. Восстановление данных при этом абсолютно невозможно.
          Ответить
          • Ну, это не глупост, а рассеянность...
            ...погоди, это ты САМ свой сыр сожрал ?
            Ответить
          • > незанятые секторы
            Всё равно это пиздец какой-то а не фича. Сегодня они не занятые а завтра оно что-то полезное убьёт своим бекапом.
            Ответить
          • Так что в итоге-то, менты занялись твоими дырками?
            Ответить
      • > сорцы проебал
        Ну блин, github и bitbucket для кого?
        Ответить
      • О проекте

        Rast Security - некоммерческий проект, посвященный компьютерной безопасности. 2008-2017

        Вот эт мне нравится, лаконично, коротко и ясно
        Ответить
      • А много сыра пропало ?

        ЗЫ. Как-то проебал сырцы форт-системы, хоть и писал в целях изучения асма, но сёрамно абидна
        Ответить
      • 2 Мб
        Вот фсе бы так...
        Ответить
      • Что там?
        Ответить
        • Программка, которая не пускает всякую пакость в твой анус.

          ЗЫ. Так ты не Стертор? Или ты рекламируешь свой продукт?
          Ответить
          • Напустил в твой анус много разной пакости, проверь...
            Ответить

    Добавить комментарий