{"id":22159,"date":"2025-03-03T00:05:00","date_gmt":"2025-03-03T03:05:00","guid":{"rendered":"https:\/\/www.ethicalhacker.com.br\/site\/?p=22159"},"modified":"2025-03-03T12:43:31","modified_gmt":"2025-03-03T15:43:31","slug":"forense-digital-com-linux-tecnicas-praticas-parte-9","status":"publish","type":"post","link":"https:\/\/www.ethicalhacker.com.br\/site\/2025\/03\/exploits\/forense-digital-com-linux-tecnicas-praticas-parte-9\/","title":{"rendered":"Forense Digital com Linux &#8211; T\u00e9cnicas Pr\u00e1ticas &#8211; Parte 9"},"content":{"rendered":"\n<p>\u00a0<\/p>\n<p><strong>Aplica\u00e7\u00f5es pr\u00e1ticas em cen\u00e1rios reais<\/strong><\/p>\n<p style=\"text-align: justify;\">Vamos agora aplicar o Plaso em um cen\u00e1rio pr\u00e1tico. Imagine que voc\u00ea est\u00e1 investigando um incidente de seguran\u00e7a em que um atacante comprometeu um servidor. Utilizando o Plaso, voc\u00ea pode:<\/p>\n<p>\u00a0<\/p>\n<p>\u00a0<\/p>\n<ul>\n<li>\n<p><strong>Identificar o ponto de entrada<\/strong>:<\/p>\n<ul>\n<li>\n<p>Analisar logs de autentica\u00e7\u00e3o para detectar logins suspeitos.<\/p>\n<\/li>\n<li>\n<p>Verificar se houve execu\u00e7\u00e3o de scripts ou programas maliciosos.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Rastrear atividades do atacante<\/strong>:<\/p>\n<ul>\n<li>\n<p>Reconstruir a linha do tempo das a\u00e7\u00f5es realizadas pelo atacante.<\/p>\n<\/li>\n<li>\n<p>Identificar arquivos criados, modificados ou exclu\u00eddos.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p><strong>Coletar evid\u00eancias para relat\u00f3rios<\/strong>:<\/p>\n<ul>\n<li>\n<p>Exportar eventos espec\u00edficos para incluir em relat\u00f3rios forenses.<\/p>\n<\/li>\n<li>\n<p>Utilizar os dados para embasar decis\u00f5es de resposta a incidentes.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\">Aqui est\u00e3o as linhas de comando no shell do Linux para aplicar o Plaso (Log2Timeline) no cen\u00e1rio pr\u00e1tico descrito, anunciado no artigo &#8220;Forense Digital com Linux &#8211; T\u00e9cnicas pr\u00e1ticas &#8211; parte 8&#8221;, conforme informa\u00e7\u00f5es anteriores:<\/p>\n<h3>\u00a0<\/h3>\n<p><strong>1. Identificar o ponto de entrada<\/strong><\/p>\n<p><strong>Analisar logs de autentica\u00e7\u00e3o para detectar logins suspeitos:<\/strong><\/p>\n<div class=\"md-code-block\">\n<pre><strong>psort.py <span class=\"token parameter variable\">-o<\/span> dynamic <span class=\"token parameter variable\">--filter<\/span> <span class=\"token string\">\"parser == 'linux:auth_log'\"<\/span> <span class=\"token parameter variable\">-w<\/span> <\/strong><br \/><strong>auth_logs.csv timeline.plaso<\/strong><br \/><br \/><\/pre>\n<\/div>\n<ul>\n<li>\n<p style=\"text-align: justify;\">Este comando filtra eventos relacionados a logs de autentica\u00e7\u00e3o (como\u00a0<code>\/var\/log\/auth.log<\/code>) e os exporta para um arquivo CSV chamado\u00a0<code>auth_logs.csv<\/code>.<\/p>\n<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p><strong>Verificar se houve execu\u00e7\u00e3o de scripts ou programas maliciosos:<\/strong><\/p>\n<div class=\"md-code-block\">\n<pre><strong>psort.py <span class=\"token parameter variable\">-o<\/span> dynamic <span class=\"token parameter variable\">--filter<\/span> <span class=\"token string\">\"parser == 'bash:history' OR parser == 'linux:syslog'\"<\/span> <span class=\"token parameter variable\">-w<br \/><\/span> executed_scripts.csv timeline.plaso<\/strong><br \/><br \/><\/pre>\n<\/div>\n<ul>\n<li>\n<p>Este comando filtra eventos relacionados ao hist\u00f3rico do Bash (<code>~\/.bash_history<\/code>) e logs do sistema (<code>\/var\/log\/syslog<\/code>) para identificar a execu\u00e7\u00e3o de scripts ou programas.<\/p>\n<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p><strong>2. Rastrear atividades do atacante<\/strong><\/p>\n<p><strong>Reconstruir a linha do tempo das a\u00e7\u00f5es realizadas pelo atacante:<\/strong><\/p>\n<div class=\"md-code-block\">\n<pre><strong>psort.py <span class=\"token parameter variable\">-o<\/span> dynamic <span class=\"token parameter variable\">--filter<\/span> <span class=\"token string\">\"user == 'atacante'\"<\/span> <span class=\"token parameter variable\">-w<\/span> attacker_timeline.csv timeline.plaso<\/strong><br \/><br \/><\/pre>\n<\/div>\n<ul>\n<li>\n<p style=\"text-align: justify;\">Este comando filtra todos os eventos associados ao usu\u00e1rio\u00a0<code>atacante<\/code>\u00a0e os exporta para um arquivo CSV chamado\u00a0<code>attacker_timeline.csv<\/code>.<\/p>\n<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p><strong>Identificar arquivos criados, modificados ou exclu\u00eddos:<\/strong><\/p>\n<div class=\"md-code-block\">\n<pre><strong>psort.py <span class=\"token parameter variable\">-o<\/span> dynamic <span class=\"token parameter variable\">--filter<\/span> <span class=\"token string\">\"parser == 'filestat'\"<\/span> <span class=\"token parameter variable\">-w<\/span> file_activities.csv timeline.plaso<\/strong><br \/><br \/><\/pre>\n<\/div>\n<ul>\n<li>\n<p style=\"text-align: justify;\">Este comando extrai eventos relacionados a opera\u00e7\u00f5es de arquivos (cria\u00e7\u00e3o, modifica\u00e7\u00e3o e exclus\u00e3o) e os exporta para\u00a0<code>file_activities.csv<\/code>.<\/p>\n<\/li>\n<\/ul>\n<h3>\u00a0<\/h3>\n<p><strong>3. Coletar evid\u00eancias para relat\u00f3rios<\/strong><\/p>\n<p><strong>Exportar eventos espec\u00edficos para incluir em relat\u00f3rios forenses:<\/strong><\/p>\n<div class=\"md-code-block\">\n<pre><strong>psort.py <span class=\"token parameter variable\">-o<\/span> dynamic <span class=\"token parameter variable\">--filter<\/span> <span class=\"token string\">\"timestamp &gt;= '2023-10-01' AND timestamp &lt;= '2023-10-31'\"<\/span> <span class=\"token parameter variable\">-w<\/span> <\/strong><br \/><strong>october_events.csv timeline.plaso<\/strong><br \/><br \/><\/pre>\n<\/div>\n<ul>\n<li>\n<p style=\"text-align: justify;\">Este comando filtra eventos que ocorreram entre 1\u00ba de outubro de 2023 e 31 de outubro de 2023 e os exporta para\u00a0<code>october_events.csv<\/code>.<\/p>\n<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p><strong>Utilizar os dados para embasar decis\u00f5es de resposta a incidentes:<\/strong><\/p>\n<div class=\"md-code-block\">\n<pre><strong>psort.py <span class=\"token parameter variable\">-o<\/span> dynamic <span class=\"token parameter variable\">--filter<\/span> <span class=\"token string\">\"event_type == 'file:creation' OR event_type == 'file:deletion'\"<\/span> <\/strong><br \/><strong><span class=\"token parameter variable\">-w<\/span> critical_file_changes.csv timeline.plaso<\/strong><br \/><br \/><\/pre>\n<\/div>\n<ul>\n<li>\n<p style=\"text-align: justify;\">Este comando filtra apenas eventos de cria\u00e7\u00e3o e exclus\u00e3o de arquivos, que podem ser cr\u00edticos para a investiga\u00e7\u00e3o, e os exporta para\u00a0<code>critical_file_changes.csv<\/code>.<\/p>\n<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p><strong>Explica\u00e7\u00e3o dos comandos<\/strong><\/p>\n<ul>\n<li>\n<p><strong><code>psort.py<\/code><\/strong>: Ferramenta do Plaso para processar e filtrar eventos armazenados em um arquivo\u00a0<code>.plaso<\/code>.<\/p>\n<\/li>\n<li>\n<p><strong><code>-o dynamic<\/code><\/strong>: Define o formato de sa\u00edda como din\u00e2mico, que \u00e9 adequado para exporta\u00e7\u00e3o em CSV.<\/p>\n<\/li>\n<li>\n<p><strong><code>--filter<\/code><\/strong>: Permite aplicar filtros espec\u00edficos para extrair apenas os eventos relevantes.<\/p>\n<\/li>\n<li>\n<p><strong><code>-w<\/code><\/strong>: Especifica o arquivo de sa\u00edda onde os resultados ser\u00e3o salvos.<\/p>\n<\/li>\n<li>\n<p><strong><code>timeline.plaso<\/code><\/strong>: Arquivo gerado pelo\u00a0<code>log2timeline.py<\/code>\u00a0que cont\u00e9m todos os eventos extra\u00eddos.<\/p>\n<\/li>\n<\/ul>\n<h3>\u00a0<\/h3>\n<p><strong>Como utilizar os resultados<\/strong><\/p>\n<ul>\n<li>\n<p style=\"text-align: justify;\">Os arquivos CSV gerados podem ser abertos em ferramentas como Excel, Google Sheets ou qualquer software de planilhas para an\u00e1lise detalhada.<\/p>\n<\/li>\n<li>\n<p style=\"text-align: justify;\">Utilize os dados para identificar padr\u00f5es, correlacionar eventos e construir um relat\u00f3rio forense completo.<\/p>\n<\/li>\n<\/ul>\n<p>\u00a0<\/p>\n<p style=\"text-align: justify;\">Esses comandos permitem que voc\u00ea aplique o Plaso de maneira eficiente em cen\u00e1rios reais de investiga\u00e7\u00e3o de seguran\u00e7a cibern\u00e9tica.<\/p>\n<p>\u00a0<\/p>\n<p>Fonte e imagens: <a href=\"https:\/\/www.kali.org\/tools\/plaso\/\" target=\"_blank\" rel=\"noopener\">https:\/\/www.kali.org\/tools\/plaso\/<\/a><\/p>\n\n\n","protected":false},"excerpt":{"rendered":"<p>\u00a0 Aplica\u00e7\u00f5es pr\u00e1ticas em cen\u00e1rios reais Vamos agora aplicar o Plaso em um cen\u00e1rio pr\u00e1tico. Imagine que voc\u00ea est\u00e1 investigando um incidente de seguran\u00e7a em que um atacante comprometeu um servidor. Utilizando o Plaso, voc\u00ea pode: \u00a0 \u00a0 Identificar o ponto de entrada: Analisar logs de autentica\u00e7\u00e3o para detectar logins suspeitos. Verificar se houve execu\u00e7\u00e3o [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":22146,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[89,100,21],"tags":[],"class_list":["post-22159","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-basico","category-diversos","category-exploits"],"_links":{"self":[{"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/posts\/22159","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/comments?post=22159"}],"version-history":[{"count":13,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/posts\/22159\/revisions"}],"predecessor-version":[{"id":22216,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/posts\/22159\/revisions\/22216"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/media\/22146"}],"wp:attachment":[{"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/media?parent=22159"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/categories?post=22159"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ethicalhacker.com.br\/site\/wp-json\/wp\/v2\/tags?post=22159"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}