1

Я взял продукт у подрядчика на моем рабочем месте. Инструмент собирает метаинформацию. Точная природа информации не важна для вопроса, но она существует в виде простого файла и / или в базе данных. Каким-то образом подрядчик настроил что-то на сервере для пересылки журналов (в виде текста) нашему перенаправителю Splunk. Мы не думаем, что он использует Splunk Forwarder, так как мы не видим доказательств его существования (установленного где-либо на дисках или как работающие службы).

Мы знаем , что удаленный порт вперед будет, и мы видим , трафик с сервера Windows (на котором установлено приложение) к удаленному порту.

Когда соединение происходит, кажется случайным и очень недолгим. Я пытаюсь понять, какой процесс устанавливает это соединение и где он находится на сервере Windows.

С этой целью я написал следующий скрипт, но я ни в коем случае не женат на идее использования Powershell, если есть лучший метод:

$foundConnections = @()
$foundProcesses = @()

while($true)
{
    Start-Sleep -Milliseconds 100
    $connections = Get-NetTCPConnection -RemotePort 30117 -ErrorAction Ignore
    if($connections -ne $null)
    {
        if($connections.Count -ne $null -and $connections.Count -gt 1)
        {
            foreach($aConnection in $connections)
            {
                $foundConnections += $aConnection
                $process = Get-Process -Id $aConnection.OwningProcess
                Write-Output ($process)
                $foundProcesses += $process
                Add-Content -Path C:\Temp\procs.csv -Value ((Get-Date).ToString() + "," + $process.Name + "," + $process)
            }

        }
        else
        {
            $foundConnections += $connections
            $process = Get-Process -Id $connections.OwningProcess
            Write-Output ($process)
            $foundProcesses += $process
            Add-Content -Path C:\Temp\procs.csv -Value ((Get-Date).ToString() + "," + $process.Name + "," + $process)
        }

    }
}

...Который в итоге обнаруживает трафик, но созданный CSV выглядит так:

... 8.11.2017 8:25:06 ,,

8.11.2017 8:25:06 ,,

8.11.2017 8:25:07 ,,

8.11.2017 8:25:07 ,,

8.11.2017 8:25:07 ,,

8.11.2017 8:25:07 ,,

08.11.2017, 8:25:14, в режиме ожидания, система.Диагностика.Процесс (Idle)8.11.2017 8:25:14, Idle, System.Диагностика.Процесс (Idle)08.11.2017 8:25:15, Idle, System.Диагностика.Процесс (Idle)08.11.2017 8:25:15, Idle, System.Диагностика.Процесс (Idle)08.11.2017 8:25:15, Idle, System.Диагностика.Процесс (Idle)08.11.2017 8:25:15, Idle, System.Диагностика.Процесс (Idle)08.11.2017 8:25:15, Idle, System.Диагностика.Процесс (Idle)08.11.2017 8:25:15, Idle, System.Диагностика.Процесс (Idle)08.11.2017 8:25:15, Idle, System.Диагностика.Процесс (Idle)08.11.2017 8:25:16, Idle, System.Диагностика.Процесс (Idle)08.11.2017 8:25:16, Idle, System.Диагностика.Процесс (Idle)08.11.2017 8:25:16, Idle, System.Диагностика.Процесс (Idle)08.11.2017 8:25:16, Idle, System.Диагностика.Процесс (Idle)08.11.2017 8:25:16, Idle, System.Диагностика.Процесс (Idle)08.11.2017 8:25:16, Idle, System.Диагностика.Процесс (в режиме ожидания)

...

...Несколько сотен строк этого.

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

1 ответ1

0

Возможно, вы захотите попробовать использовать инструмент для захвата пакетов, такой как Netmon (он же Network Monitor). Используйте фильтр захвата, который будет держать его маленьким, фильтруйте на основе целевого порта и IP, дайте ему поработать несколько часов, и вы должны увидеть процесс. Тогда просто найдите диск для этого exe. Netmon DL https://www.microsoft.com/en-us/download/details.aspx?id=4865 Netmon был заменен более новым "анализатором сообщений", который я не так часто использовал, некоторые люди также любят Wireshark, но Я не уверен, что Wireshark переходит на уровень процесса, как это делают инструменты захвата MS.

Если они пересылаются с помощью запланированной задачи ... древовидное представление планировщика задач может быть утомительным для поиска. Но есть также CLI для задач с powershell Get-ScheduledTask который возвращает все имена заданий и путь к задаче. Может быть, стоит посмотреть на это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .