reklama

Odhalení procesu přistupujícího na podezřelou IP adresu ve Windows

Zdravím vás.

Před časem jsem dostal od jednoho ze správcú naší korporátní sítě informaci, že se múj stroj pokoušel připojit na blacklistovanou ipadresu cituji: "vyhodnocenou jako Tor síť". Pokus o připojení jim zachytil firewall a jednalo se o adresu 91.203.146.126.
Chtěl jsem tedy zjistit co se na danou ip pokoušelo připojit. Je to ale problém, který jsem zatím neřešil a nejsem si tedy jistý zda jsou moje postupy a použité nástroje adekvátní.
Protože byl pokus o připojení zaznamenán pár dní po sobě, rozhodl jsem se pro jistotu ip zablokovat i na svém stroji. Použil jsem tedy nástroj wf.msc a vytvořil Outbound rule. Nyní jsem chtěl ve Win sprovoznit monitorování procesú a připojení. Nainstaloval jsem nástroj Sysmon a SysmonView pro následné prohlížení vyexportovaných eventú ze Sysmonu.
V této chvíli si však nejsem jistý jestli postupuji správně. Prošel jsem samozřejmě několik dostupných zdrojú avšak nakonec jsem zhodnotil, že nic nedám za to pokusit se o prosbu o radu i zde.
Když je ve firewallu zablokován přístup na ip, zaloguje Sysmon alespoň pokus o připojení? Z dokumentace jsem to bohužel nevyčetl. A pokud ne, je ten přístup někde zalogovaný alespoň někde ze strany Win?
SysmonView je jeden z nástrojú, které jsem objevil a zdál se mi nejrychlejší pro použití (spusit, importovat logy, prohlížet). Nevidím v něm ale žádnou možnost pro vyhledání dle ip adresy a také v grafické zobrazení připojení se zdá nefunkční. Mám v záloze asi dva další nástroje avšak jejich rozchození je časově trochu náročnejší. Máte tip na obdobný nástroj, resp. něco co používáte vy?
Také se mi nepodařilo najít opověď na to, jestli je vúbec nutné instalovat nějaké monitorovací nástroje. Poskytuje Win adekvátní funkcionalitu? Je možné ty pokusy o připojení zpětně dohledat i bez nich?
Předně me zajímá jestli jste podobný problém řešili jak (jestli vúbec) jste jej vyřešili.
Děkuji.

reklama



Nějaké možnosti existují. Process monitor je hodně slavná utilita, zkuste si pohrát s filtrem, každopádně pokud to necháte běžet, tak přesměrujte výstup do souboru, protože RAMky může snadno být málo. Process monitor sleduje zajímavé syscally (nebo snad i knihovní volání, nevím). Na tom webíku dále zmiňují netstat, spouštět ho ve smyčce nějakým skriptem. Což znamená, že získáte sérii "snímků" seznamu otevřených relací, kde každý snímek je k určitému okamžiku v čase = nejedná se o kompletní log, co kam otvíralo jaký socket. Hledaný provinilec může proklouznout. Dále: s pouhým parametrem "-t" se Vám vypíše seznam otevřených TCP relací, ale například se nedozvíte, který program má kterou relaci otevřenou. Osobně bych navrhoval netstat s argumenty -tno, kde "o" způsobí výpis PIDu (Process ID) pro každou otevřenou relaci. Bohužel není přímý způsob, jak vedle číselného PIDu vypsat taky název EXE souboru nebo nějaký textový popis, o jaký proces se jedná - a číselné PIDy se recyklují. Leda ten típanec okamžitě zpracovat nějakým skriptem, který přiřadí PIDu ještě textové jméno procesu - s trochou štěstí to stihne dostatečně rychle, aby tam nebyly chyby a prázdná místa.

No a nakonec třeba dojdete k tomu, že ty relace otvírá svchost.exe . Což je pod Windows "superslužba", v rámci které běží v jednotlivých vláknech jednotlivé "services". Tradičně se ve Windows dalo jen velmi obtížně dopátrat, která konkrétní služba užívá jaké konkrétní zdroje, nebo způsobuje spotřebu RAM / CPU / disk IO apod. A existoval postup, jak konfigurací jednotlivých služeb zařídit, aby běžela každá služba ve vlastní instanci svchost.exe. Takhle ten opruz fungoval pod XP a Win7. Situace se začla mírně zlepšovat tuším po Win 8.1. Pod desítkami (a v novějších verzích Windows Serveru) už je přinejmenším systémový "správce procesů" poměrně inteligentní, dokáže vypisovat spotřebu zdrojů per service - nejsem si jist, jak na desítkách vypadá výstup Process Monitoru (zmíněná utilita od SysInternals).

Ještě mě napadá, že poměrně podrobný seznam otevřených TCP relací ukazuje resmon.exe, od Win7 standardní součást Windows, možná že v desítkách už integrovaný do správce procesů (nejsem si jist). Bohužel ResMon minimálně v sedmičkách neumí ukládat log do souboru, přestože potřebné informace má zjevně hezky pohromadě k dispozici (nejsem si jistý, jestli trasuje syscally jako procmon, nebo jenom dělá snapshoty jako netstat).

...pak ještě koukám, že existuje starší TCPview od SysInternals. Vedle GUI má i konzolovou verzi. Jako lepší netstat, zřejmě jenom pro TCP. Odhadem některé jeho funkce Mark Russinovich integroval do novějších verzí Process Monitoru (což je takový švýcarský armádní nůž, do kterého postupně přibývají funkce z původně samostatných utilitek, klasicky filemon a portmon).

A pak bych ještě zmínil APImonitor - bohužel dost kanón na vrabce, pro kontinuální logování možná nepříliš použitelný, třeba jenom zorientovat se v konfiguraci je trochu dřina (veliký strom syscallů a knihovních funkcí, ze kterých je třeba si vybrat), tuším je třeba si vybrat konkrétní proces, který se má sledovat, a při forknutí nového procesu vyskočí GUI okno se žádostí o potvrzení, že ho má taky háknout apod.

 

reklama