SlideShare uma empresa Scribd logo
1 de 15
Privilégios Privilégios de processos no OpenSolaris
Objetivo ,[object Object]
Privilégios ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Dtrace  Providers
Metodologia ,[object Object],[object Object],[object Object],[object Object]
Script D: monitoramento de privilégios #!/usr/sbin/dtrace -s /* Não exibe mensagens de alerta do dtrace */ #pragma D option quiet /* * Mensagem de inicialização */ dtrace:::BEGIN { printf("Monitorando a utilizacao de privilegios... Ctrl-C pára a execução."); printf("%15s %15s %25s %15s", "execname", "probe", "probefunc", "privilégio"); } /* * Detecta quando um processo tentou utilizar algum privilegio. * se a tentativa ocorrer com sucesso, o probename será priv-ok; * se a tentativa falhar, o probename será priv-err. Isto significa * que o processo não tem permissão para utilizar o recurso solicitado. */ sdt:::priv-* { printf("%15s %15s %25s %15d", execname, probename, probefunc, arg0); }
Script Perl: geração de tabela de privilégios use Sun::Solaris::Privilege qw(:ALL); printf("%4s %20s", "id", "privilégio"); while ($priv = priv_getbynum($i)) { printf("%4d %20s", $i, $priv); $i++; }
Tabela de Privilégios 0  contract_event 1  contract_identity 2  contract_observer 3  cpc_cpu 4  dtrace_kernel 5  dtrace_proc 6  dtrace_user 7  file_chown 8  file_chown_self 9  file_dac_execute 10  file_dac_read 11  file_dac_search 12  file_dac_write 13  file_downgrade_sl 14  file_link_any 15  file_owner 16  file_setid 17  file_upgrade_sl 18  file_flag_set 19  graphics_access 20  graphics_map 21  ipc_dac_read 22  ipc_dac_write 23  ipc_owner 24  net_bindmlp 25  net_icmpaccess 26  net_mac_aware 27  net_observability 28  net_privaddr 29  net_rawaccess 30  proc_audit 31  proc_chroot 32  proc_clock_highres 33  proc_exec 34  proc_fork 35  proc_info 36  proc_lock_memory 37  proc_owner 38  proc_priocntl 39  proc_session
Tabela de Privilégios 40  proc_setid 41  proc_taskid 42  proc_zone 43  sys_acct 44  sys_admin 45  sys_audit 46  sys_config 47  sys_devices 48  sys_ipc_config 49  sys_linkdir 50  sys_mount 51  sys_dl_config 52  sys_ip_config 53  sys_net_config 54  sys_nfs 55  sys_res_config 56  sys_resource 57  sys_smb 58  sys_suser_compat 59  sys_time 60  sys_trans_label 61  virt_manage 62  win_colormap 63  win_config 64  win_dac_read 65  win_dac_write 66  win_devices 67  win_dga 68  win_downgrade_sl 69  win_fontpath 70  win_mac_read 71  win_mac_write 72  win_selection 73  win_upgrade_sl 74  xvm_control
Script Python: monitoramento de privilégios #!/usr/bin/python # -*- coding: utf-8 -*- import os from time import sleep privilegiosTxt = open("privilegios.txt") privilegios = {} for linha in privilegiosTxt.readlines(): try: id, priv = linha.split() privilegios[int(id)] = priv except: pass os.system("./privilegios.d > saidaD &") arquivo = open("saidaD") print "Monitorando privilégios de processos" print "%15s %15s %10s %25s" % ("execname", "probe", "id", "privilégio") while True: linha = arquivo.readline() if not linha: sleep(1) continue try: execname, probe, probefunc, id = linha.split() print "%15s %15s %10s %25s" % (execname, probe, id, privilegios[int(id)]) except: pass
Execução – Script D
Execução – Script Python
Execução – Erro de Permissão de Escrita
Execução – Erro de Permissão de Escrita
Obrigado! ,[object Object],[object Object],[object Object]

Mais conteúdo relacionado

Mais procurados

Fundamentos Replicação MySQL
Fundamentos Replicação MySQLFundamentos Replicação MySQL
Fundamentos Replicação MySQLAlexandre Almeida
 
PHP like a super hero
PHP like a super heroPHP like a super hero
PHP like a super heroElton Minetto
 
Desenvolvendo Extensões PECL
Desenvolvendo Extensões PECLDesenvolvendo Extensões PECL
Desenvolvendo Extensões PECLW3P Projetos Web
 
Palestra criando aplicações seguras com php (2)
Palestra  criando aplicações seguras com php (2)Palestra  criando aplicações seguras com php (2)
Palestra criando aplicações seguras com php (2)Leandro Lugaresi
 
Escrevendo códigos php seguros
Escrevendo códigos php segurosEscrevendo códigos php seguros
Escrevendo códigos php segurosDouglas V. Pasqua
 
Vale Security Conference - 2011 - 3 - Rener Alberto (Gr1nch) [DC Labs]
Vale Security Conference - 2011 - 3 - Rener Alberto (Gr1nch) [DC Labs]Vale Security Conference - 2011 - 3 - Rener Alberto (Gr1nch) [DC Labs]
Vale Security Conference - 2011 - 3 - Rener Alberto (Gr1nch) [DC Labs]Vale Security Conference
 
Introdução ao Zend Framework 2
Introdução ao Zend Framework 2Introdução ao Zend Framework 2
Introdução ao Zend Framework 2Elton Minetto
 
Segurança PHP - por Samyr Abdo
Segurança PHP - por Samyr AbdoSegurança PHP - por Samyr Abdo
Segurança PHP - por Samyr AbdoSamyr Abdo
 
Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014Michael Castillo Granados
 
Node.js - #5 - Process - Rodrigo Branas
Node.js - #5 - Process - Rodrigo BranasNode.js - #5 - Process - Rodrigo Branas
Node.js - #5 - Process - Rodrigo BranasRodrigo Branas
 
LabMM4 (T22 - 12/13) - segurança
LabMM4 (T22 - 12/13) - segurançaLabMM4 (T22 - 12/13) - segurança
LabMM4 (T22 - 12/13) - segurançaCarlos Santos
 
Python e Linux para a criação de ferramentas para pentest
Python e Linux para a criação de ferramentas para pentestPython e Linux para a criação de ferramentas para pentest
Python e Linux para a criação de ferramentas para pentestEdson Celio
 
Seminário PHP Injection/ SQL Injection
Seminário PHP Injection/ SQL InjectionSeminário PHP Injection/ SQL Injection
Seminário PHP Injection/ SQL InjectionDavi Rodrigues
 

Mais procurados (20)

Fundamentos Replicação MySQL
Fundamentos Replicação MySQLFundamentos Replicação MySQL
Fundamentos Replicação MySQL
 
Collectd
CollectdCollectd
Collectd
 
PHP like a super hero
PHP like a super heroPHP like a super hero
PHP like a super hero
 
Sapo Sessions PHP
Sapo Sessions PHPSapo Sessions PHP
Sapo Sessions PHP
 
Segurança Web com PHP5
Segurança Web com PHP5Segurança Web com PHP5
Segurança Web com PHP5
 
Desenvolvendo Extensões PECL
Desenvolvendo Extensões PECLDesenvolvendo Extensões PECL
Desenvolvendo Extensões PECL
 
Palestra criando aplicações seguras com php (2)
Palestra  criando aplicações seguras com php (2)Palestra  criando aplicações seguras com php (2)
Palestra criando aplicações seguras com php (2)
 
Escrevendo códigos php seguros
Escrevendo códigos php segurosEscrevendo códigos php seguros
Escrevendo códigos php seguros
 
Vale Security Conference - 2011 - 3 - Rener Alberto (Gr1nch) [DC Labs]
Vale Security Conference - 2011 - 3 - Rener Alberto (Gr1nch) [DC Labs]Vale Security Conference - 2011 - 3 - Rener Alberto (Gr1nch) [DC Labs]
Vale Security Conference - 2011 - 3 - Rener Alberto (Gr1nch) [DC Labs]
 
Introdução ao Zend Framework 2
Introdução ao Zend Framework 2Introdução ao Zend Framework 2
Introdução ao Zend Framework 2
 
Padrão Command
Padrão CommandPadrão Command
Padrão Command
 
Segurança PHP - por Samyr Abdo
Segurança PHP - por Samyr AbdoSegurança PHP - por Samyr Abdo
Segurança PHP - por Samyr Abdo
 
O esquecido do PHP
O esquecido do PHPO esquecido do PHP
O esquecido do PHP
 
Pdo do PHP Palestra
Pdo do PHP PalestraPdo do PHP Palestra
Pdo do PHP Palestra
 
Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014Código legado - PHP Conference Brasil - 2014
Código legado - PHP Conference Brasil - 2014
 
Node.js - #5 - Process - Rodrigo Branas
Node.js - #5 - Process - Rodrigo BranasNode.js - #5 - Process - Rodrigo Branas
Node.js - #5 - Process - Rodrigo Branas
 
LabMM4 (T22 - 12/13) - segurança
LabMM4 (T22 - 12/13) - segurançaLabMM4 (T22 - 12/13) - segurança
LabMM4 (T22 - 12/13) - segurança
 
Python e Linux para a criação de ferramentas para pentest
Python e Linux para a criação de ferramentas para pentestPython e Linux para a criação de ferramentas para pentest
Python e Linux para a criação de ferramentas para pentest
 
PHP e seus demônios
PHP e seus demôniosPHP e seus demônios
PHP e seus demônios
 
Seminário PHP Injection/ SQL Injection
Seminário PHP Injection/ SQL InjectionSeminário PHP Injection/ SQL Injection
Seminário PHP Injection/ SQL Injection
 

Destaque

Estudo Estratégico Sobre a BMW
Estudo Estratégico Sobre a BMWEstudo Estratégico Sobre a BMW
Estudo Estratégico Sobre a BMWThiago Bottoni
 
NoSQL Familia de Colunas Apresentação
NoSQL Familia de Colunas ApresentaçãoNoSQL Familia de Colunas Apresentação
NoSQL Familia de Colunas ApresentaçãoAugusto Giles
 
NoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas MonografiaNoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas MonografiaAugusto Giles
 
Arquitetura de Cluster do Google
Arquitetura de Cluster do GoogleArquitetura de Cluster do Google
Arquitetura de Cluster do GoogleRafael Barbolo
 
Sistemas de recomendação
Sistemas de recomendaçãoSistemas de recomendação
Sistemas de recomendaçãoRafael Barbolo
 
Universidad técnica particular de loja 2b 1p
Universidad técnica particular de loja 2b 1pUniversidad técnica particular de loja 2b 1p
Universidad técnica particular de loja 2b 1pPaulina JumBo
 
Consulta El Tarot Sin coste Del Amor Del Gabinete De Tarot De A. Galván
Consulta El Tarot Sin coste Del Amor Del Gabinete De Tarot De A. Galván
Consulta El Tarot Sin coste Del Amor Del Gabinete De Tarot De A. Galván
Consulta El Tarot Sin coste Del Amor Del Gabinete De Tarot De A. Galván waltersatwsbjiaqy
 
Ventajas y Desventajas
Ventajas y DesventajasVentajas y Desventajas
Ventajas y Desventajasponquesito12
 
Comunicado CVO: Acerca de la presencia de la Gendarmería Nacional en Oaxaca
Comunicado CVO: Acerca de la presencia de la Gendarmería Nacional en OaxacaComunicado CVO: Acerca de la presencia de la Gendarmería Nacional en Oaxaca
Comunicado CVO: Acerca de la presencia de la Gendarmería Nacional en OaxacaComunicación CVO
 
CERTIFICATION JAVA - Carlos Castillo Pérez (1)
CERTIFICATION JAVA - Carlos Castillo Pérez (1)CERTIFICATION JAVA - Carlos Castillo Pérez (1)
CERTIFICATION JAVA - Carlos Castillo Pérez (1)Carlos Castillo Pérez
 

Destaque (20)

Estudo Estratégico Sobre a BMW
Estudo Estratégico Sobre a BMWEstudo Estratégico Sobre a BMW
Estudo Estratégico Sobre a BMW
 
Bigtable and Dynamo
Bigtable and DynamoBigtable and Dynamo
Bigtable and Dynamo
 
NoSQL Familia de Colunas Apresentação
NoSQL Familia de Colunas ApresentaçãoNoSQL Familia de Colunas Apresentação
NoSQL Familia de Colunas Apresentação
 
NoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas MonografiaNoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas Monografia
 
Arquitetura de Cluster do Google
Arquitetura de Cluster do GoogleArquitetura de Cluster do Google
Arquitetura de Cluster do Google
 
Sistemas de recomendação
Sistemas de recomendaçãoSistemas de recomendação
Sistemas de recomendação
 
Trabajo de informatica
Trabajo de informaticaTrabajo de informatica
Trabajo de informatica
 
Rau
RauRau
Rau
 
Disfruta el pan que tienes hoy
Disfruta el pan que tienes hoyDisfruta el pan que tienes hoy
Disfruta el pan que tienes hoy
 
articulo cientifico
articulo cientificoarticulo cientifico
articulo cientifico
 
Son Nuestros Hijos
Son Nuestros Hijos
Son Nuestros Hijos
Son Nuestros Hijos
 
Universidad técnica particular de loja 2b 1p
Universidad técnica particular de loja 2b 1pUniversidad técnica particular de loja 2b 1p
Universidad técnica particular de loja 2b 1p
 
Consulta El Tarot Sin coste Del Amor Del Gabinete De Tarot De A. Galván
Consulta El Tarot Sin coste Del Amor Del Gabinete De Tarot De A. Galván
Consulta El Tarot Sin coste Del Amor Del Gabinete De Tarot De A. Galván
Consulta El Tarot Sin coste Del Amor Del Gabinete De Tarot De A. Galván
 
Ventajas y Desventajas
Ventajas y DesventajasVentajas y Desventajas
Ventajas y Desventajas
 
Profesion docente
Profesion docenteProfesion docente
Profesion docente
 
Estacion 2
Estacion 2Estacion 2
Estacion 2
 
Comunicado CVO: Acerca de la presencia de la Gendarmería Nacional en Oaxaca
Comunicado CVO: Acerca de la presencia de la Gendarmería Nacional en OaxacaComunicado CVO: Acerca de la presencia de la Gendarmería Nacional en Oaxaca
Comunicado CVO: Acerca de la presencia de la Gendarmería Nacional en Oaxaca
 
CERTIFICATION JAVA - Carlos Castillo Pérez (1)
CERTIFICATION JAVA - Carlos Castillo Pérez (1)CERTIFICATION JAVA - Carlos Castillo Pérez (1)
CERTIFICATION JAVA - Carlos Castillo Pérez (1)
 
Desde el botón inicio situado
Desde el botón inicio situadoDesde el botón inicio situado
Desde el botón inicio situado
 
(270)short reglas del juego
(270)short reglas del juego(270)short reglas del juego
(270)short reglas del juego
 

Semelhante a Privilégios de processos no OpenSolaris

Back track apresentação
Back track   apresentaçãoBack track   apresentação
Back track apresentaçãoKleber Santos
 
Desenvolvendo Sistemas de Arquivos no FUSE - Luis Otávio de Colla Furquim
Desenvolvendo Sistemas de Arquivos no FUSE - Luis Otávio de Colla FurquimDesenvolvendo Sistemas de Arquivos no FUSE - Luis Otávio de Colla Furquim
Desenvolvendo Sistemas de Arquivos no FUSE - Luis Otávio de Colla FurquimTchelinux
 
Mini Curso - Pen Test - Univem
Mini Curso - Pen Test - UnivemMini Curso - Pen Test - Univem
Mini Curso - Pen Test - Univemevandrovv
 
Linux4all#2
Linux4all#2Linux4all#2
Linux4all#2Daniel
 
Slide curso metasploit
Slide curso metasploitSlide curso metasploit
Slide curso metasploitRoberto Soares
 
Aula - Administração de usuários
Aula - Administração de usuáriosAula - Administração de usuários
Aula - Administração de usuáriosLeo Amorim
 
Ferramentas para desenvolvimento no blockchain Ethereum
Ferramentas para desenvolvimento no blockchain EthereumFerramentas para desenvolvimento no blockchain Ethereum
Ferramentas para desenvolvimento no blockchain EthereumOriginalMy.com
 
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
Proteja sua Hovercraft: Mantendo sua nave livre dos SentinelasProteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
Proteja sua Hovercraft: Mantendo sua nave livre dos SentinelasAlexandro Silva
 
Debian 6: Instalação e Hardening
Debian 6: Instalação e HardeningDebian 6: Instalação e Hardening
Debian 6: Instalação e HardeningBruna Griebeler
 
Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018
Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018
Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018Tchelinux
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2PrinceGuru MS
 
Webinar: Porque o RTOS não faz o que eu quero?
Webinar: Porque o RTOS não faz o que eu quero?Webinar: Porque o RTOS não faz o que eu quero?
Webinar: Porque o RTOS não faz o que eu quero?Embarcados
 
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...Aécio Pires
 
Seguranca informacao 1
Seguranca informacao 1Seguranca informacao 1
Seguranca informacao 1Nauber Gois
 

Semelhante a Privilégios de processos no OpenSolaris (20)

Back track apresentação
Back track   apresentaçãoBack track   apresentação
Back track apresentação
 
Desenvolvendo Sistemas de Arquivos no FUSE - Luis Otávio de Colla Furquim
Desenvolvendo Sistemas de Arquivos no FUSE - Luis Otávio de Colla FurquimDesenvolvendo Sistemas de Arquivos no FUSE - Luis Otávio de Colla Furquim
Desenvolvendo Sistemas de Arquivos no FUSE - Luis Otávio de Colla Furquim
 
Ruby On Rails Regis
Ruby On Rails RegisRuby On Rails Regis
Ruby On Rails Regis
 
Mini Curso - Pen Test - Univem
Mini Curso - Pen Test - UnivemMini Curso - Pen Test - Univem
Mini Curso - Pen Test - Univem
 
Linux4all#2
Linux4all#2Linux4all#2
Linux4all#2
 
Slide curso metasploit
Slide curso metasploitSlide curso metasploit
Slide curso metasploit
 
Aula - Administração de usuários
Aula - Administração de usuáriosAula - Administração de usuários
Aula - Administração de usuários
 
Ferramentas para desenvolvimento no blockchain Ethereum
Ferramentas para desenvolvimento no blockchain EthereumFerramentas para desenvolvimento no blockchain Ethereum
Ferramentas para desenvolvimento no blockchain Ethereum
 
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
Proteja sua Hovercraft: Mantendo sua nave livre dos SentinelasProteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
Proteja sua Hovercraft: Mantendo sua nave livre dos Sentinelas
 
PHP fora da Web
PHP fora da WebPHP fora da Web
PHP fora da Web
 
Squid proxy
Squid proxySquid proxy
Squid proxy
 
Debian 6: Instalação e Hardening
Debian 6: Instalação e HardeningDebian 6: Instalação e Hardening
Debian 6: Instalação e Hardening
 
Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018
Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018
Introdução ao SystemTap - João Avelino Bellomo Filho - Tchelinux Caxias 2018
 
Cacti
CactiCacti
Cacti
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2
 
Modern PHP
Modern PHPModern PHP
Modern PHP
 
Webinar: Porque o RTOS não faz o que eu quero?
Webinar: Porque o RTOS não faz o que eu quero?Webinar: Porque o RTOS não faz o que eu quero?
Webinar: Porque o RTOS não faz o que eu quero?
 
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
 
Comandos Linux Parte 2
Comandos Linux Parte 2Comandos Linux Parte 2
Comandos Linux Parte 2
 
Seguranca informacao 1
Seguranca informacao 1Seguranca informacao 1
Seguranca informacao 1
 

Mais de Rafael Barbolo

Aleph - Sistema de Monitoramento Visual de Pessoas
Aleph - Sistema de Monitoramento Visual de PessoasAleph - Sistema de Monitoramento Visual de Pessoas
Aleph - Sistema de Monitoramento Visual de PessoasRafael Barbolo
 
Robôs, CN e CNC - Automação de manufatura
Robôs, CN e CNC - Automação de manufaturaRobôs, CN e CNC - Automação de manufatura
Robôs, CN e CNC - Automação de manufaturaRafael Barbolo
 
Dependabilidade e Segurança
Dependabilidade e SegurançaDependabilidade e Segurança
Dependabilidade e SegurançaRafael Barbolo
 
Herança em Banco de Dados Objeto-Relacional (BDOR)
Herança em Banco de Dados Objeto-Relacional (BDOR)Herança em Banco de Dados Objeto-Relacional (BDOR)
Herança em Banco de Dados Objeto-Relacional (BDOR)Rafael Barbolo
 
Projeto de Banco De Dados - Upcoming Events
Projeto de Banco De Dados - Upcoming EventsProjeto de Banco De Dados - Upcoming Events
Projeto de Banco De Dados - Upcoming EventsRafael Barbolo
 
Monitoramento de System Calls com DTrace
Monitoramento de System Calls com DTraceMonitoramento de System Calls com DTrace
Monitoramento de System Calls com DTraceRafael Barbolo
 

Mais de Rafael Barbolo (7)

Aleph - Sistema de Monitoramento Visual de Pessoas
Aleph - Sistema de Monitoramento Visual de PessoasAleph - Sistema de Monitoramento Visual de Pessoas
Aleph - Sistema de Monitoramento Visual de Pessoas
 
Computação em Nuvem
Computação em NuvemComputação em Nuvem
Computação em Nuvem
 
Robôs, CN e CNC - Automação de manufatura
Robôs, CN e CNC - Automação de manufaturaRobôs, CN e CNC - Automação de manufatura
Robôs, CN e CNC - Automação de manufatura
 
Dependabilidade e Segurança
Dependabilidade e SegurançaDependabilidade e Segurança
Dependabilidade e Segurança
 
Herança em Banco de Dados Objeto-Relacional (BDOR)
Herança em Banco de Dados Objeto-Relacional (BDOR)Herança em Banco de Dados Objeto-Relacional (BDOR)
Herança em Banco de Dados Objeto-Relacional (BDOR)
 
Projeto de Banco De Dados - Upcoming Events
Projeto de Banco De Dados - Upcoming EventsProjeto de Banco De Dados - Upcoming Events
Projeto de Banco De Dados - Upcoming Events
 
Monitoramento de System Calls com DTrace
Monitoramento de System Calls com DTraceMonitoramento de System Calls com DTrace
Monitoramento de System Calls com DTrace
 

Privilégios de processos no OpenSolaris

  • 1. Privilégios Privilégios de processos no OpenSolaris
  • 2.
  • 3.
  • 5.
  • 6. Script D: monitoramento de privilégios #!/usr/sbin/dtrace -s /* Não exibe mensagens de alerta do dtrace */ #pragma D option quiet /* * Mensagem de inicialização */ dtrace:::BEGIN { printf("Monitorando a utilizacao de privilegios... Ctrl-C pára a execução."); printf("%15s %15s %25s %15s", "execname", "probe", "probefunc", "privilégio"); } /* * Detecta quando um processo tentou utilizar algum privilegio. * se a tentativa ocorrer com sucesso, o probename será priv-ok; * se a tentativa falhar, o probename será priv-err. Isto significa * que o processo não tem permissão para utilizar o recurso solicitado. */ sdt:::priv-* { printf("%15s %15s %25s %15d", execname, probename, probefunc, arg0); }
  • 7. Script Perl: geração de tabela de privilégios use Sun::Solaris::Privilege qw(:ALL); printf("%4s %20s", "id", "privilégio"); while ($priv = priv_getbynum($i)) { printf("%4d %20s", $i, $priv); $i++; }
  • 8. Tabela de Privilégios 0 contract_event 1 contract_identity 2 contract_observer 3 cpc_cpu 4 dtrace_kernel 5 dtrace_proc 6 dtrace_user 7 file_chown 8 file_chown_self 9 file_dac_execute 10 file_dac_read 11 file_dac_search 12 file_dac_write 13 file_downgrade_sl 14 file_link_any 15 file_owner 16 file_setid 17 file_upgrade_sl 18 file_flag_set 19 graphics_access 20 graphics_map 21 ipc_dac_read 22 ipc_dac_write 23 ipc_owner 24 net_bindmlp 25 net_icmpaccess 26 net_mac_aware 27 net_observability 28 net_privaddr 29 net_rawaccess 30 proc_audit 31 proc_chroot 32 proc_clock_highres 33 proc_exec 34 proc_fork 35 proc_info 36 proc_lock_memory 37 proc_owner 38 proc_priocntl 39 proc_session
  • 9. Tabela de Privilégios 40 proc_setid 41 proc_taskid 42 proc_zone 43 sys_acct 44 sys_admin 45 sys_audit 46 sys_config 47 sys_devices 48 sys_ipc_config 49 sys_linkdir 50 sys_mount 51 sys_dl_config 52 sys_ip_config 53 sys_net_config 54 sys_nfs 55 sys_res_config 56 sys_resource 57 sys_smb 58 sys_suser_compat 59 sys_time 60 sys_trans_label 61 virt_manage 62 win_colormap 63 win_config 64 win_dac_read 65 win_dac_write 66 win_devices 67 win_dga 68 win_downgrade_sl 69 win_fontpath 70 win_mac_read 71 win_mac_write 72 win_selection 73 win_upgrade_sl 74 xvm_control
  • 10. Script Python: monitoramento de privilégios #!/usr/bin/python # -*- coding: utf-8 -*- import os from time import sleep privilegiosTxt = open("privilegios.txt") privilegios = {} for linha in privilegiosTxt.readlines(): try: id, priv = linha.split() privilegios[int(id)] = priv except: pass os.system("./privilegios.d > saidaD &") arquivo = open("saidaD") print "Monitorando privilégios de processos" print "%15s %15s %10s %25s" % ("execname", "probe", "id", "privilégio") while True: linha = arquivo.readline() if not linha: sleep(1) continue try: execname, probe, probefunc, id = linha.split() print "%15s %15s %10s %25s" % (execname, probe, id, privilegios[int(id)]) except: pass
  • 13. Execução – Erro de Permissão de Escrita
  • 14. Execução – Erro de Permissão de Escrita
  • 15.