Получить Mac ID компьютера или ноутбука, который изменил ваш БД. SQL Server - PullRequest
0 голосов
/ 07 мая 2018

Можно ли получить MAC-идентификатор ПК / ноутбука, который использовался для выполнения некоторых вредоносных операций с базой данных SQL Server.

Я использовал эту команду SQL:

DECLARE @current VARCHAR(500);
DECLARE @start VARCHAR(500);
DECLARE @indx INT;

SELECT @current = path
FROM sys.traces
WHERE is_default = 1;

SET @current = REVERSE(@current)

SELECT @indx = PATINDEX('%\%', @current)

SET @current = REVERSE(@current)

SET @start = LEFT(@current, LEN(@current) - @indx) + '\log.trc';

-- CHNAGE FILER AS NEEDED
SELECT 
    CASE EventClass
       WHEN 47 THEN 'Object:Deleted'
       WHEN 164 THEN 'Object:Altered'
    END, *
FROM::fn_trace_gettable(@start, DEFAULT)
WHERE 
    EventClass IN (47, 164) 
    AND EventSubclass = 0 
    AND DatabaseID <> 2
ORDER BY 
    StartTime DESC

Это может дать много информации относительно операции. Одним из них было имя хоста, также можно было бы получить MAC-идентификатор указанного имени хоста.

Я где-то читал, что могу получить MAC ID, только если он использует ту же локальную сеть. Но это не тот случай, здесь. Я тоже попробовал приведенный ниже код.

use master

select 
    hostname, 
    MAC = substring(net_address, 1, 2) + '-' +
          substring(net_address, 3, 2) + '-' +
          substring(net_address, 5, 2) + '-' +
          substring(net_address, 7, 2) + '-' + 
          substring(net_address, 9, 2) + '- ' +
          substring(net_address, 11, 2)
from 
    sysprocesses
where 
    spid in ('51','55','64','58','60','65','73','79','80','81','83')

Здесь, спид, я получил предыдущую команду. Но это не уникально для этого конкретного имени хоста / ПК. Таким образом, я получил только macid серверов. Любая помощь будет оценена.

1 Ответ

0 голосов
/ 07 мая 2018
SELECT DISTINCT hostname,net_address FROM sys.sysprocesses
WHERE net_address<>''
...