Skip to content

Commit

Permalink
correct legend and list blocks
Browse files Browse the repository at this point in the history
  • Loading branch information
JavaliMZ committed Oct 23, 2023
1 parent 37d4a45 commit c71aaf3
Show file tree
Hide file tree
Showing 19 changed files with 264 additions and 165 deletions.
49 changes: 27 additions & 22 deletions book/CursoCiberSeguranca/Anonimato/04_trabalho.html
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,8 @@ <h1 id="anonimato-na-internet"><a class="header" href="#anonimato-na-internet">
<li><a href="#4-conclus%C3%A3o">4. Conclusão</a></li>
<li><a href="#5-bibliografia">5. Bibliografia</a></li>
</ul>
<hr />
<hr />
<blockquote>
<p>No contexto do CTESP em cibersegurança que estou a efetuar, foi-me proposto a realização de um trabalho sobre o anonimato na internet. Este trabalho foi realizado no âmbito da unidade curricular de &quot;Técnicas de hacking&quot;. O objetivo deste trabalho é aprofundar os conhecimentos sobre o anonimato na internet, e sobre as ferramentas que permitem que os utilizadores possam navegar na internet de forma anónima.</p>
<p>Enunciado:</p>
Expand All @@ -202,6 +204,7 @@ <h1 id="anonimato-na-internet"><a class="header" href="#anonimato-na-internet">
<p>Como resultado devem verificar se o tráfego está a ser encaminhado pela rede TOR. Para isso verifiquem a configuração através deste site: https://check.torproject.org/</p>
<p>Indiquem também qual o IP atribuído e a área geográfica a qual o mesmo pertence.</p>
</blockquote>
<hr />
<h1 id="1-introdução"><a class="header" href="#1-introdução">1. Introdução</a></h1>
<p>Neste trabalho, iremos desenvolver um relatório sobre o anonimato na internet. Iremos tratar de entender o que é a rede TOR, como usar o Privoxy, iremos ainda falar sobre o sistema operativo TAILS e por fim, passando ainda por discutir sobre a importância do anonimato para o black hat hacker, as dificuldades que enfrentam as autoridades contra o anonimato e sobre a importância da coordenação e cooperação internacional para combater o cibercrime.</p>
<h1 id="2-anonimato-na-internet"><a class="header" href="#2-anonimato-na-internet">2. Anonimato na internet</a></h1>
Expand Down Expand Up @@ -255,28 +258,29 @@ <h3 id="215-É-possível-ser-identificado-através-da-rede-tor"><a class="header
<p>Como a rede TOR faz questão de enviar o trafego por vários nós, ficamos assim quase totalmente oculos na internet pelo seguinte motivo: O trafego passa por diversos países. Países alguns que nem legislação tem. Isso traz grandes dificuldades em pedir registo de lOGS dos provedores de internet desses países. Além disso, a cooperação entre países é muitas vezes complicada, e torna complicado recolher todos os lOGS necessários á reconstrução do caminho de tráfego. E outro ponto importante também, as autoridades demoram a responder, a burocracia é penosa, e demora-se meses até conseguir talvez o primeiro LOG, para saber o nó seguinte e fazer novos pedidos e assim por diante. A grande maioria das vezes, quando não há falta de lOGS, há falta de tempo, e os crimes prescrevem.</p>
<h3 id="216-então-porquê-mesmo-assim-podemos-não-estar-totalmente-ocultos"><a class="header" href="#216-então-porquê-mesmo-assim-podemos-não-estar-totalmente-ocultos">2.1.6. Então porquê mesmo assim podemos não estar totalmente ocultos?</a></h3>
<p>Existe outras formas de saber quem somos pela internet sem metermos os nosso dados. Existem dados nosso sobre tudo o que possamos imaginar e o que não imaginamos gravados na internet Um expert em OSINT consegue fazer ligações inimagináveis para determinar com um grau de certezas muito elevado que foi tal ou tal pessoa a fazer algo pela internet. Exemplos:</p>
<p>Exitem diversos dados que enviamos através do nosso browser que nos identificam, e outros que são acessíveis por código javascript que o nosso browser executa. Dados como:</p>
<pre><code>- tamanho do ecrã
- tamanho usável do browser
- user-agent
- Do Not Track header
- Timezone
- Content language
- layout de teclado
- Lista de fontes instaladas
- Lista de plugins instalados
- WebGL Renderer
- permissões do browser
- e muitos outros
</code></pre>
<p>Existem diversos dados que enviamos através do nosso browser que nos identificam, e outros que são acessíveis por código javascript que o nosso browser executa. Dados como:</p>
<ul>
<li>tamanho do ecrã</li>
<li>tamanho usável do browser</li>
<li>user-agent</li>
<li>Do Not Track header</li>
<li>Timezone</li>
<li>Content language</li>
<li>layout de teclado</li>
<li>Lista de fontes instaladas</li>
<li>Lista de plugins instalados</li>
<li>WebGL Renderer</li>
<li>permissões do browser</li>
<li>e muitos outros</li>
</ul>
<center>
<img src="./assets/amiunique.png" width="">
</center>
<div class='legend'>
<b>Figura 4:</b> Página de internet [https://amiunique.org/fingerprint](https://amiunique.org/fingerprint)
<b>Fonte:</b> Screenshot da página de internet [https://amiunique.org/fingerprint](https://amiunique.org/fingerprint)
<b>Figura 4:</b> Página de internet <a href='https://amiunique.org/fingerprint'> amiunique.org/fingerprint</a><br>
<b>Fonte:</b> Screenshot da página de internet <a href='https://amiunique.org/fingerprint'> amiunique.org/fingerprint</a>
</div>
<p>No meu caso em particular, sou único. totalmente identificável pela internet... Também posso dizer que talvés me ponho a geito. Teclado e linguagem em Portugues, computador Linux, fontes (tipos de letras) como &quot;<em>firacode</em>&quot; entre outras coisas fazem que não haja outra configuração igual.</p>
<p>No meu caso em particular, sou único. totalmente identificável pela internet... Também posso dizer que talvez me ponho a jeito. Teclado e linguagem em Portugues, computador Linux, fontes (tipos de letras) como &quot;<em>firacode</em>&quot; entre outras coisas fazem que não haja outra configuração igual.</p>
<p>E no caso de usar TOR? De certeza que não iria ser possível obter tanta informação, mas mesmo assim, seriam perfeitamente suficientes para me identificarem.</p>
<h3 id="217-como-tentar-ficar-anónimo-pela-internet"><a class="header" href="#217-como-tentar-ficar-anónimo-pela-internet">2.1.7. Como tentar ficar anónimo pela internet?</a></h3>
<p>Vimos anteriormente várias falhas no anonimato perfeito... Mas vamos tentar otimizar tudo para ficarmos o mais anónimos possível. Vimos que o nosso sistema fala para a internet. Isso é um problema para quem quiser ficar anónimo. Temos então que usar, para além do TOR e de uma VPN-over-TOR, podemos usar uma ferramenta que irá alterar todos esses elementos identificáveis do browser. Essa ferramenta é o privoxy.</p>
Expand All @@ -299,7 +303,7 @@ <h2 id="22-privoxy"><a class="header" href="#22-privoxy">2.2. Privoxy</a></h2>
<img src="./assets/TORproxy.png" width="">
</center>
<div class='legend'>
<b>Figura 5:</b> Configurações do TOR Browser
<b>Figura 5:</b> Configurações do TOR Browser<br>
<b>Fonte:</b> Screenshot do TOR Browser mediante o sistema operacional Linux Arch.
</div>
<br>
Expand All @@ -308,7 +312,7 @@ <h2 id="22-privoxy"><a class="header" href="#22-privoxy">2.2. Privoxy</a></h2>
<img src="./assets/TORproxy2.png" width="80%">
</center>
<div class='legend'>
<b>Figura 6:</b> Configurações do TOR Browser
<b>Figura 6:</b> Configurações do TOR Browser<br>
<b>Fonte:</b> Screenshot do TOR Browser mediante o sistema operacional Linux Arch.
</div>
<p>Agora que temos tudo configurado, estamos prontos para navegar na internet de forma praticamente anónima. Mas todo esse processo é demorado. Poderiamos criar um script para automatizar todo esse processo. Mas existe ainda melhor. O sistema operacional TAILS.</p>
Expand All @@ -322,8 +326,8 @@ <h2 id="24-antenas-wifi-direcionais-de-longo-alcance"><a class="header" href="#2
<img src="./assets/antena.webp" width="70%">
</center>
<div class='legend'>
<b>Figura 7:</b> Antena WiFi direcional de longo alcance
<b>Fonte:</b> [https://pt.aliexpress.com/item/1005005309375919.html](https://pt.aliexpress.com/item/1005005309375919.html)
<b>Figura 7:</b> Antena WiFi direcional de longo alcance<br>
<b>Fonte:</b> <a href='https://pt.aliexpress.com/item/1005005309375919.html'>aliexpress</a>
</div>
<h1 id="3-problemas-encontrados-na-busca-do-anonimato"><a class="header" href="#3-problemas-encontrados-na-busca-do-anonimato">3. Problemas encontrados na busca do anonimato</a></h1>
<p>Todo estes procedimentos são complexos, mas necessários para estar o mais anónimo possível. E certas organizações entenderam o perigo que isso representa. Por exemplo, o FBI, a NSA, a CIA, etc. Essas organizações têm como objetivo proteger os cidadãos, mas também têm como objetivo proteger o país. E estar totalmente anónimo para cibercriminoso ou um ciberterrorista é perigoso para as populações. Já houve, então, tentativas de contornar algumas dessas ferramentas.</p>
Expand All @@ -336,11 +340,12 @@ <h2 id="31-rede-tor-pode-ser-controlada"><a class="header" href="#31-rede-tor-po
<h1 id="4-conclusão"><a class="header" href="#4-conclusão">4. Conclusão</a></h1>
<p>O anonimato na internet é um assunto muito importante, pois permite que os utilizadores possam navegar na internet sem que sejam identificados. É um assunto muito relevante para quem se preocupa com a sua privacidade e segurança, mas é primordial para pessoas que vivem em países onde a liberdade de expressão é limitada. É ainda crítico para pessoas que trabalham em áreas sensíveis, como jornalistas, ativistas, denunciantes, etc. E claro, para quem pratica atividades ilegais, como o cibercrime.</p>
<p>A forma mais fácil de ficar anónimo é usando o sistema operacional TAILS. Mas para quem quer estar minimamente anónimo, basta usar o TOR e o privoxy. As sua ferramentas juntas já trazem um nível de anonimato excecional.</p>
<p>Todas as técnicas aqui referidas foram para tratar a anonimidade na internet. Não confundir estar anónimo com estar livre de malwares, vírus, etc. Além disso, essas técnicas são inúteis se o utilizador não tiver cuidado com o que faz na internet. Se o utilizador usar a sua conta pessoal do facebook, e publicar X ou Y coisa, não importa ter tido o cuidado de usar a rede TOR ou o TAILS, pois toda a gente sabe que ele publicou X ou Y coisa.</p>
<p>Todas as técnicas aqui referidas foram para tratar a anonimidade na internet. Não confundir estar anónimo com estar livre de malwares, vírus, etc. Além disso, essas técnicas são inúteis se o utilizador não tiver cuidado com o que faz na internet. Se o utilizador usar a sua conta pessoal do facebook, e publicar X ou Y coisa, sim a comunicação até aos servidores do facebook são anónimas, sim é muito dificil (praticamente impossível) reconstruir o caminho que cada pacote usou, mas não importa ter tido o cuidado de usar a rede TOR ou o TAILS, pois toda a gente sabe que ele publicou X ou Y coisa.</p>
<h1 id="5-bibliografia"><a class="header" href="#5-bibliografia">5. Bibliografia</a></h1>
<ul>
<li><a href="https://www.torproject.org/">https://www.torproject.org/</a></li>
<li><a href="https://www.avast.com/pt-br/c-tor-dark-web-browser">https://www.avast.com/pt-br/c-tor-dark-web-browser</a></li>
<li><a href="https://www.wired.co.uk/article/nsa-targeting-tor-users">Notícia: NSA targeting Tor users</a></li>
</ul>

</main>
Expand Down
32 changes: 20 additions & 12 deletions book/CursoCiberSeguranca/SELinux/TrabalhoSELinux.html
Original file line number Diff line number Diff line change
Expand Up @@ -207,20 +207,28 @@ <h2 id="2-instalação"><a class="header" href="#2-instalação">2. Instalação
<pre><code class="language-bash">yum install policycoreutils-python
</code></pre>
<p>Existem ainda outros pacotes que poderão ser instalados dependendo das necessidades. Na documentação oficial do Red Hat, encontramos a seguinte lista de pacotes:</p>
<pre><code>- policies: selinux-policy-targeted, selinux-policy-mls
- tools: policycoreutils, policycoreutils-gui, libselinux-utils, policycoreutils-python-utils, setools-console, checkpolicy
</code></pre>
<ul>
<li>policies: selinux-policy-targeted, selinux-policy-mls</li>
<li>tools: policycoreutils, policycoreutils-gui, libselinux-utils, policycoreutils-python-utils, setools-console, checkpolicy</li>
</ul>
<h2 id="3-configuração"><a class="header" href="#3-configuração">3. Configuração</a></h2>
<p>O ficheiro principal de configuração do SELinux é o /etc/selinux/config. Este ficheiro contém as seguintes opções:</p>
<pre><code>- SELINUX: define o modo de execução do SELinux
- SELINUX=disabled: desativa o SELinux durante o arranque
- SELINUX=permissive: coloca o SELinux em modo permissivo, imprimindo apenas mensagens de aviso
- SELINUX=enforcing: coloca o SELinux em modo de execução
- SELINUXTYPE: define o tipo de política SELinux a ser usada
- SELINUXTYPE=targeted: define a política SELinux como targeted
- SELINUXTYPE=minimum: define a política SELinux como minimum, apenas processos selecionados são protegidos
- SELINUXTYPE=mls: define a política SELinux como multi level security (MLS)
</code></pre>
<ul>
<li>SELINUX: define o modo de execução do SELinux
<ul>
<li>SELINUX=disabled: desativa o SELinux durante o arranque</li>
<li>SELINUX=permissive: coloca o SELinux em modo permissivo, imprimindo apenas mensagens de aviso</li>
<li>SELINUX=enforcing: coloca o SELinux em modo de execução</li>
</ul>
</li>
<li>SELINUXTYPE: define o tipo de política SELinux a ser usada
<ul>
<li>SELINUXTYPE=targeted: define a política SELinux como targeted</li>
<li>SELINUXTYPE=minimum: define a política SELinux como minimum, apenas processos selecionados são protegidos</li>
<li>SELINUXTYPE=mls: define a política SELinux como multi level security (MLS)</li>
</ul>
</li>
</ul>
<p>Na mesma pasta, existe ainda o ficheiro /etc/selinux/semanage.conf. Este ficheiro <strong>&quot;/etc/selinux/semanage.conf&quot;</strong>, é um ficheiro de configuração para a ferramenta de gestão SELinux &quot;semanage&quot;. Ele contém definições para a localização padrão do armazenamento de políticas, a localização padrão do armazenamento de módulos de políticas e o caminho padrão dos módulos de políticas. Estas definições são usadas pelo &quot;semanage&quot; para gerir as políticas e módulos SELinux no sistema. O ficheiro pode ser editado para alterar as definições padrão do &quot;semanage&quot;.</p>
<div style="page-break-after: always;"></div>
<h3 id="31-semanage"><a class="header" href="#31-semanage">3.1. Semanage</a></h3>
Expand Down
14 changes: 9 additions & 5 deletions book/CursoCiberSeguranca/Trabalho2/Trabalho2.html
Original file line number Diff line number Diff line change
Expand Up @@ -308,11 +308,15 @@ <h2 id="9-verificação-do-acesso-ao-servidor-ssh"><a class="header" href="#9-ve
<div style="page-break-after: always;"></div>
<h2 id="10-conclusão"><a class="header" href="#10-conclusão">10. Conclusão</a></h2>
<p>Neste trabalho, demonstrei como é possível limitar um utilizador a uns meros comandos, como instalar e habilitar um servidor SSH, como alterar o porto lógico de acesso ao mesmo. Deparei-me com um problema de permissões devido a políticas de segurança do sistema operativo Rocky e aprendi a resolve-lo, com a ajuda do <strong>journal</strong>, assim como alterar as regras do firewall também instalado por defeito neste sistema.</p>
<pre><code>- Fontes úteis:
- https://serverfault.com/questions/998399/how-to-create-a-very-limited-linux-user
- https://docs.rackspace.com/support/how-to/change-the-ssh-port-in-centos-and-redhat/
- https://www.digitalocean.com/community/tutorials/additional-recommended-steps-for-new-centos-7-servers
</code></pre>
<ul>
<li>Fontes úteis:
<ul>
<li>https://serverfault.com/questions/998399/how-to-create-a-very-limited-linux-user</li>
<li>https://docs.rackspace.com/support/how-to/change-the-ssh-port-in-centos-and-redhat/</li>
<li>https://www.digitalocean.com/community/tutorials/additional-recommended-steps-for-new-centos-7-servers</li>
</ul>
</li>
</ul>
<center >
<image src='./Assets/Coding-bro.svg' width=50%>
</center>
Expand Down
52 changes: 36 additions & 16 deletions book/HTB/HTB-Windows-Medium-Cascade.html
Original file line number Diff line number Diff line change
Expand Up @@ -401,22 +401,42 @@ <h2 id="23-dotpeek-jetbrains"><a class="header" href="#23-dotpeek-jetbrains">2.3
<p>Vemos que, na linha 39, o programa connecta-se à base de dados, como prevíamos. E na linha 46, percebemos que a string EncryptedString é a tal palavra que encontramos com o sqlite3. A seguir na linha 49, o programa tenta decryptar a palavra passe. Essa função &quot;<strong><em>Crypto.DecryptString(EncryptedString, &quot;c4scadek3y654321&quot;)</em></strong>&quot; está a ser importada do CascCrypto.dll</p>
<p><img src="Assets/HTB-Windows-Medium-Cascade/dotpeek-casccrypto.png" alt="DotPeek CascCrypto.dll" /></p>
<p>Na linha 39 do Crypto.cs é que está definido a função &quot;<strong><em>DecryptString</em></strong>&quot;. E dái já vemos muitas informações.</p>
<pre><code>- Crypto.DecryptString(EncryptedString, &quot;c4scadek3y654321&quot;); (MainModule.cs)
- O trabalho de desencriptação parte daí
- public static string DecryptString(string EncryptedString, string Key);
- Isto é o nome da função, e os seus argumentos. a Key usada foi a que está em cima em texto claro (&quot;c4scadek3y654321&quot;)
- byte[] buffer = Convert.FromBase64String(EncryptedString);
- Confirma-se que a palavra passe que encontramos na base de dados está em base64, pois o programa está a descodificar antes de tratá-lo
- Aes aes = Aes.Create();
- Aes é um tipo de criptografia de dados...
- Aes é amplamente usado por ser um tipo de criptografia virtualmente inquebrável, que levaria vidas inteiras para decifrá-la por brute force... Mas com o código fonte, a coisa muda...
- aes.IV = Encoding.UTF8.GetBytes(&quot;1tdyjCbY1Ix49842&quot;);
-
- aes.Mode = CipherMode.CBC;
- O método de codificação usado é o CBC cipher
- aes.Key = Encoding.UTF8.GetBytes(Key);
- confirma-se da situação da Key ser &quot;c4scadek3y654321&quot;
</code></pre>
<ul>
<li>Crypto.DecryptString(EncryptedString, &quot;c4scadek3y654321&quot;); (MainModule.cs)
<ul>
<li>O trabalho de desencriptação parte daí</li>
</ul>
</li>
<li>public static string DecryptString(string EncryptedString, string Key);
<ul>
<li>Isto é o nome da função, e os seus argumentos. a Key usada foi a que está em cima em texto claro (&quot;c4scadek3y654321&quot;)</li>
</ul>
</li>
<li>byte[] buffer = Convert.FromBase64String(EncryptedString);
<ul>
<li>Confirma-se que a palavra passe que encontramos na base de dados está em base64, pois o programa está a descodificar antes de tratá-lo</li>
</ul>
</li>
<li>Aes aes = Aes.Create();
<ul>
<li>Aes é um tipo de criptografia de dados...</li>
<li>Aes é amplamente usado por ser um tipo de criptografia virtualmente inquebrável, que levaria vidas inteiras para decifrá-la por brute force... Mas com o código fonte, a coisa muda...</li>
</ul>
</li>
<li>
<h2 id="aesiv--encodingutf8getbytes1tdyjcby1ix49842"><a class="header" href="#aesiv--encodingutf8getbytes1tdyjcby1ix49842">aes.IV = Encoding.UTF8.GetBytes(&quot;1tdyjCbY1Ix49842&quot;);</a></h2>
</li>
<li>aes.Mode = CipherMode.CBC;
<ul>
<li>O método de codificação usado é o CBC cipher</li>
</ul>
</li>
<li>aes.Key = Encoding.UTF8.GetBytes(Key);
<ul>
<li>confirma-se da situação da Key ser &quot;c4scadek3y654321&quot;</li>
</ul>
</li>
</ul>
<p>Resumo: - AES - Key == &quot;c4scadek3y654321&quot; - IV == &quot;1tdyjCbY1Ix49842&quot; - Mode == &quot;CBC&quot;</p>
<h3 id="231-decrypt-password"><a class="header" href="#231-decrypt-password">2.3.1. Decrypt Password</a></h3>
<p>Agora é só decifrá-lo. Isto claramente não vou fazer com uma calculadora (de uma não sei como se faz, e não deve ser fácil lol). Para isso existe ferramentas online, e programas diversos no github. Vou usar uma ferramenta online. o <strong><em>CyberChef</em></strong>. è só procurar as &quot;operations&quot;, por o input e guardar o Output</p>
Expand Down
2 changes: 1 addition & 1 deletion book/searchindex.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion book/searchindex.json

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions book/theme/css/additional.css
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,9 @@ code {
p {
text-align: justify;
}

.legend {
font-size: 0.8em;
line-height: 110%;
text-align: center;
}
Loading

0 comments on commit c71aaf3

Please sign in to comment.