Anรกlise forense
Sessรฃo de aprendizagem 9 Anรกlise forense avanรงada em Windows
Sumário Análise forense avançada em Windows Coleta de informações básicas Processos Bibliotecas do sistema Informações sobre arquivos abertos Serviços em execução
Análise forense avançada em Windows Windows tem características que tornam mais complexa a coleta de evidências Mesmo assim, as técnicas vistas até agora continuam valendo: Informações básicas sobre o sistema Identificação e coleta de processos em execução Informações sobre bibliotecas em uso Serviços
Coleta de informações básicas Informações sobre o sistema D:\IR\xp> uptime 18:38:20 up
3:58,
D:\IR\xp> hostname Computador
D:\IR\xp> whoami Usuario
0 users,
load average: 0.00, 0.00, 0.00
Coleta de informações básicas Informações sobre o sistema D:\IR\xp> psgetsid SID for \\COMPUTADOR: S-1-5-21-4042056708-2335835806-3410500470 D:\IR\xp> psgetsid Usuario SID for COMPUTADOR\Usuario: S-1-5-21-4042056708-2335835806-3410500470-1006
Coleta de informações básicas Informações sobre o sistema D:\IR\xp> psloggedon Users logged on locally: Error: could not retrieve logon time NT AUTHORITY\LOCAL SERVICE Error: could not retrieve logon time NT AUTHORITY\NETWORK SERVICE 29/1/2008 14:40:10 COMPUTADOR\Usuario Error: could not retrieve logon time NT AUTHORITY\SYSTEM No one is logged on via resource shares.
Coleta de informações básicas Informações sobre o sistema D:\IR\xp> logonsessions [2] Logon session User name: Auth package: Logon type: Session: Sid: 3410500470-1006 Logon time: Logon server: DNS Domain: UPN:
00000000:00018df7: COMPUTADOR\Usuario NTLM Interactive 0 S-1-5-21-4042056708-233583580629/1/2008 14:40:08 COMPUTADOR
Coleta de informações básicas Informações sobre o sistema D:\IR\xp> net users User accounts for \\COMPUTADOR __vmware_user__ Administrator curso Guest Usuario SUPPORT_12312331 D:\IR\xp> userdump \\COMPUTADOR usuario Querying Controller \\COMPUTADOR Privs: Admin Privs OperatorPrivs: No explicit OP Privs Password age: Tue Jan 29 21:43:33 2008 LastLogon: Fri Jul 20 19:40:29 2007 LastLogoff: Thu Jan 01 00:00:00 1970 Acct Expires: Never
ASPNET HelpAssistant
Coleta de informações básicas Informações sobre o sistema D:\IR\xp> ntfsinfo c: Allocation Size ---------------Bytes per sector : Bytes per cluster : Bytes per MFT record : Clusters per MFT record: MFT Information --------------MFT size : MFT start cluster : MFT zone clusters : MFT zone size : MFT mirror start : Meta-Data files ---------------
512 4096 1024 0
176 MB (0% of drive) 6 5656576 - 5676928 79 MB (0% of drive) 629425
Coleta de informações básicas Informações sobre o sistema D:\IR\xp> mem 655360 bytes total conventional memory 655360 bytes available to MS-DOS 598160 largest executable program size 1048576 bytes total contiguous extended memory 0 bytes available contiguous extended memory 941056 bytes available XMS memory MS-DOS resident in High Memory Area
Coleta de informações básicas Informações sobre o sistema D:\IR\xp> psinfo System information for \\COMPUTADOR: Uptime: 0 days 4 hours 56 minutes 29 seconds Kernel version: Microsoft Windows XP, Uniprocessor Free Product type: Professional Product version: 5.1 Service pack: 2 Kernel build number: 2600 Registered organization: Registered owner: Usuario Install date: 18/10/2005, 19:19:17 Activation status: Error reading status IE version: 7.0000 System root: C:\WINDOWS Physical memory: 1022 MB
Processos em execução no sistema
D:\IR\xp> ps -a -W PID PPID PGID WINPID TTY 4 0 0 4 ? unknown *** 944 0 0 944 ? \SystemRoot\System32\smss.exe 1068 0 0 1068 ? \??\C:\WINDOWS\system32\winlogon.exe 1112 0 0 1112 ? C:\WINDOWS\system32\services.exe 1124 0 0 1124 ? C:\WINDOWS\system32\lsass.exe 1272 0 0 1272 ? C:\WINDOWS\system32\Ati2evxx.exe 1284 0 0 1284 ? C:\WINDOWS\system32\svchost.exe …
UID STIME COMMAND 0 16:24:48 *** 0 14:39:48 0 14:39:58 0 14:39:58 0 14:39:58 0 14:39:59 0 14:39:59
Processos em execução no sistema Necessidade de descobrir o caminho completo do executável Programas maliciosos se disfarçam como executáveis válidos Se você observar os processos msmgs.exe ou scvhost.exe, vai identificá-los como maliciosos? É importante conhecer os processos mais comuns em sistemas Windows
Processos em execução no sistema Processo
Descrição
Pode ser terminado pelo Gerenciador de tarefas?
Alg.exe
Application Layer Gateway Service, serviço relacionado com o firewall do Windows.
Sim
csrss.exe
client/server run-time subsystem
Não
explorer.exe
Interface do usuário.
Sim
internet.exe
Executado na inicialização, permite a troca de configuração do teclado e aparece como ícone no System Tray.
Sim
lsass.exe
Local security authentication server
Não
mstask.exe
Task scheduler service
Não
smss.exe
Session manager subsystem, responsável por iniciar a sessão do usuário.
Não
spoolsv.exe
Spooler service, responsável pela fila de impressão.
Não
svchost.exe
Generic Service Process, atua como host para outros processos executados por dlls; normalmente existe em mais de uma instância. É utilizado também para executar serviços de rede.
Não
services.exe
Services Control Manager, responsável por iniciar e terminar serviços do sistema.
Não
system
System kernel-mode threads
Não
system idle process
Processo que contabiliza o processamento disponível no sistema, normalmente ocupando a maioria do processamento disponível (99%).
Não
taskmgr.exe
Gerenciador de tarefas
Sim
winlogon.exe
Responsável pelo processo de login/logout do usuário.
Não
Processos em execução no sistema
Processos em execução no sistema
D:\IR\xp> pslist Process information for COMPUTADOR: Name Pid Pri Thd Hnd Idle 0 0 1 0 System 4 8 68 645 smss 944 11 3 21 csrss 1040 13 13 747 winlogon 1068 13 22 448 services 1112 9 15 337 lsass 1124 9 21 461 ati2evxx 1272 8 5 71 svchost 1284 8 18 220 ...
Priv 0 0 168 2004 6388 1996 5868 796 3384
CPU Time 5:22:42.671 0:01:50.234 0:00:00.015 0:00:53.640 0:00:00.937 0:00:10.515 0:00:05.187 0:00:00.343 0:00:00.203
Elapsed Time 0:00:00.000 0:00:00.000 6:18:01.531 6:17:55.000 6:17:52.234 6:17:52.046 6:17:52.031 6:17:51.218 6:17:51.203
Processos em execução no sistema D:\IR\xp> ..\diamondcs\cmdline.exe DiamondCS Commandline Retrieval Tool for Windows NT4/2K/XP 944 - \SystemRoot\System32\smss.exe <Error> Unable to read memory from PID 944 1040 - \??\C:\WINDOWS\system32\csrss.exe C:\WINDOWS\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16 1068 - \??\C:\WINDOWS\system32\winlogon.exe winlogon.exe 1112 - C:\WINDOWS\system32\services.exe C:\WINDOWS\system32\services.exe 1124 - C:\WINDOWS\system32\lsass.exe C:\WINDOWS\system32\lsass.exe 1272 - C:\WINDOWS\system32\Ati2evxx.exe
Processos em execução no sistema
Processos em execução no sistema É necessário comparar diversas ferramentas, pois alguns programas maliciosos escondem informações do Windows Rootkits usam essa técnica Inconsistências entre duas ferramentas podem ser a indicação de um rootkit É sempre útil ter disponível uma ferramenta anti-rootkit
Processos em execução no sistema
Bibliotecas do sistema Windows utiliza bibliotecas compartilhadas, conhecidas como Dinamic Link Library (DLL) Normalmente ficam armazenadas no diretório C:\WINDOWS\SYSTEM32 Pode ser um problema quando bibliotecas comprometidas são utilizadas para modificar a forma de funcionamento de um processo, comprometendo o sistema Um exemplo desse tipo de ataque é a injeção de código no Internet Explorer, através da exploração de alguma falha do programa
Bibliotecas do sistema D:\IR\xp> listdlls wordpad wordpad.exe pid: 676 Command line: "C:\Program Files\Windows NT\Accessories\wordpad.exe" Base Size Version Path 0x01000000 0x37000 5.01.2600.2180 C:\Program Files\Windows NT\Accessories\wordpad.exe 0x7c900000 0xb0000 5.01.2600.2180 C:\WINDOWS\system32\ntdll.dll 0x7c800000 0xf5000 5.01.2600.3119 C:\WINDOWS\system32\kernel32.dll 0x5f800000 0xf2000 6.02.8071.0000 C:\WINDOWS\system32\MFC42u.DLL 0x77c10000 0x58000 7.00.2600.2180 C:\WINDOWS\system32\msvcrt.dll 0x77f10000 0x47000 5.01.2600.3159 C:\WINDOWS\system32\GDI32.dll 0x7e410000 0x90000 5.01.2600.3099 C:\WINDOWS\system32\USER32.dll â&#x20AC;Ś
Bibliotecas do sistema D:\IR\xp> ..\winfingerprint\procinterrogate -pid 676 ProcInterrogate Version 0.0.1 by Kirby Kuehl vacuum@users.sourceforge.net wordpad.exe (Process ID: 676) Entry Point Base Size Module 0x01019B4D 0x01000000 00037000 C:\Program Files\Windows NT\Accessories\wordpad.exe 0x7C913156 0x7C900000 000B0000 C:\WINDOWS\system32\ntdll.dll 0x7C80B5AE 0x7C800000 000F5000 C:\WINDOWS\system32\kernel32.dll 0x5F806A61 0x5F800000 000F2000 C:\WINDOWS\system32\MFC42u.DLL 0x77C1F2A1 0x77C10000 00058000 C:\WINDOWS\system32\msvcrt.dll 0x77F16597 0x77F10000 00047000 C:\WINDOWS\system32\GDI32.dll 0x7E42E966 0x7E410000 00090000 C:\WINDOWS\system32\USER32.dll 0x77DD70D4 0x77DD0000 0009B000 C:\WINDOWS\system32\ADVAPI32.dll â&#x20AC;Ś
Bibliotecas do sistema
Informações sobre arquivos abertos Arquivos abertos D:\IR\xp> handle -a -u wordpad csrss.exe pid: 1040 NT AUTHORITY\SYSTEM 730: wordpad.exe(676): 1684 csrss.exe pid: 1040 NT AUTHORITY\SYSTEM 8A0: wordpad.exe(676): 3428 csrss.exe pid: 1040 NT AUTHORITY\SYSTEM AD0: wordpad.exe(676) lsass.exe pid: 1124 NT AUTHORITY\SYSTEM 69C: wordpad.exe(676) svchost.exe pid: 1576 NT AUTHORITY\SYSTEM 1390: wordpad.exe(676) cmdagent.exe pid: 380 NT AUTHORITY\SYSTEM 4DC: wordpad.exe(676) wordpad.exe pid: 676 COMPUTADOR\Usuario 60: HKCU\Software\Microsoft\Windows\ CurrentVersion\Applets\Wordpad wordpad.exe pid: 676 COMPUTADOR\Usuario 84: wordpad.exe(676): 2812 wordpad.exe pid: 676 COMPUTADOR\Usuario 14C: wordpad.exe(676): 1684 wordpad.exe pid: 676 COMPUTADOR\usuario 168: wordpad.exe(676): 3428
Informaçþes sobre arquivos abertos
Serviços em execução Serviços são programas iniciados pelo sistema operacional Funções: Oferecer algum tipo de serviço aos usuários Controlar algum tipo de acesso aos dispositivos conectados Por exemplo, o compartilhamento de arquivos em rede é controlado pelo serviço “Servidor” e as conexões com uma câmera digital ou celular são feitas pelos respectivos serviços instalados pelos drivers de dispositivo
Serviços em execução
D:\IR\xp> net start These Windows services are started: Ad-Aware 2007 Service Adobe LM Service Application Layer Gateway Service Ati HotKey Poller Automatic Updates avast! Antivirus avast! iAVS4 Control Service Background Intelligent Transfer Service …
Serviços em execução D:\IR\xp> servicelist \\COMPUTADOR ServiceList v1.0 Copyright 1999 www.NetLatency.com Service Name Stats Alerter Display Name: Alerter State: Stopped Type: Windows Shared Process Controls: UNKNOWN #0 ALG Display Name: Application Layer Gateway Service State: Running Type: Windows Own Process Controls: START STOP aswUpdSv Display Name: avast! iAVS4 Control Service State: Running Type: Windows Own Process Desktop Interactive Process Controls: START STOP SYSTEM SHUTDOWN
Serviços em execução D:\IR\xp> psservice /? PsService lists or controls services on a local or remote system. Usage: psservice [\\Computer [-u Username [-p Password]]] <cmd> <optns> Cmd is one of the following: query Queries the status of a service config Queries the configuration setconfig Sets the configuration start Starts a service stop Stops a service restart Stops and then restarts a service pause Pauses a service cont Continues a paused service depend Enumerates the services that depend on the one specified find Searches for an instance of a service on the network security Reports the security permissions assigned to a service
Serviços em execução Inicialização do sistema Diversas configurações do Windows permitem iniciar programas junto com o sistema O registro é um conjunto de configurações do sistema Alguns programas podem ser iniciados antes de qualquer antivírus ou firewall
Serviços em execução D:\IR\xp> reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run Listing of [Software\Microsoft\Windows\CurrentVersion\\Run] REG_SZ SynTPLpr C:\Program Files\Synaptics\SynTP\SynTPLpr.exe REG_SZ SynTPEnh C:\Program Files\Synaptics\SynTP\SynTPEnh.exe REG_SZ eabconfg.cpl C:\Program Files\HPQ\Quick Launch Buttons\EabServr.exe /Start REG_SZ DAEMON Tools-1033 "C:\Program Files\DTools\daemon.exe" -lang 1033 REG_SZ Broadcom Wireless Manager UI C:\WINDOWS\system32\bcmntray REG_SZ Windows Defender "C:\Program Files\Windows Defender\MSASCui.exe" -hide REG_SZ COMODO Firewall Pro "C:\Program Files\Comodo\Firewall\CPF.exe" /background REG_SZ avast! C:\PROGRA~1\ALWILS~1\Avast4\ashDisp.exe
Serviços em execução D:\IR\xp> autorunsc Autoruns v8.61 - Autostart program viewer HKLM\System\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\StartupPrograms rdpclip RDP Clip Monitor Microsoft Corporation c:\windows\system32\rdpclip.exe HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit C:\WINDOWS\system32\userinit.exe Userinit Logon Application Microsoft Corporation c:\windows\system32\userinit.exe HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run SynTPLpr TouchPad Driver Helper Application Synaptics, Inc. c:\program files\synaptics\syntp\syntplpr.exe
Serviços em execução
Serviços em execução
D:\IR\xp> schtasks TaskName Next Run Time ==================================== AppleSoftwareUpdate 09:42:00, 4/2/2008 MP Scheduled Scan 01:36:00, 30/1/2008
Status
Conclusões Existem muitas informações que devem ser coletadas em um sistema comprometido Vimos como coletar informações básicas sobre o sistema, e também como listar e identificar os processos em execução na máquina As bibliotecas carregadas pelos processos e os arquivos abertos são importantes fontes de informação para auxiliar a investigação A execução automática de programas é uma informação que também deve ser coletada