Módulo 9 - Roteiro 2

Tarefas

No final deste módulo você deve submeter em um ÚNICO arquivo PDF os seguintes prints:

  • Atividade 9.6: passo 6.
  • Atividade 9.7: passo 9.
  • Atividade 9.8: passo 5.
  • Atividade 9.9: passo 10.
  • Atividade 9.10: passo 16.  

Atividade 9.6 – Revogando um certificado no Windows Server 2022

Nesta atividade vamos usar o Windows Server 2022 (servidor) para revogar um certificado, previamente emitido. Como pré-requisito deste laboratório você deve ter realizado as Atividades do Roteiro 1 deste módulo (atividades 9.1, 9.2, 9.3 e 9.4).

Vamos começar inicializando o Windows Server 2022 (servidor).

1) Clique onde está escrito “Type here to search”, escreva “Server Manager” e clique no botão “Server Manager”.

2) Clique em “Tools” (canto superior direito) --> “Certification Authority”.

3) Na coluna esquerda da janela aberta, expanda “aluno-DC01-CA” e clique em “Issued Certificates” para ver os certificados emitidos.

4) Veja na coluna da direita e clique com o botão direito no primeiro certificado --> “All Tasks” --> “Revoke Certificate”.

5) Na nova janela aberta, selecione a “Reason code” em “Certificate Hold” para suspender temporariamente um certificado digital. Clique em “Yes”. Pronto! O certificado está revogado (NÃO SE ESQUEÇA DE PRINTAR ESTE PASSO!).

6) Veja que a pasta “Issued Certificates” agora está vazia. Feche todas as janelas.

Parabéns! Agora você sabe como revogar um certificado emitido pelo Windows Server 2022.  

Atividade 9.7 – Cancelar a revogação de um certificado no Windows Server 2022

Nesta atividade vamos usar o Windows Server 2022 (servidor) para cancelar a revogação de um certificado, previamente revogado. Como pré-requisito deste laboratório você deve ter realizado a Atividades anterior.

1) Clique onde está escrito “Type here to search”, escreva “Server Manager” e clique no botão “Server Manager”.

2) Clique em “Tools” (canto superior direito) --> “Certification Authority”.

3) Na coluna esquerda da janela aberta, expanda “aluno-DC01-CA” e clique em “Revoked Certificates” para ver os certificados emitidos.

4) Veja que na coluna da direita se encontra o certificado revogado na atividade anterior. Clique duas vezes com o botão esquerdo no certificado e veja as abas “General”, “Details” e “Path”. Finalmente, clique em “OK”.

5) Clique com o botão direito no certificado --> “All tasks” --> “View Attributes/Extransions...”. Veja os parâmetros existentes nas abas “Attributes” e “Extensions”. Finalmente, clique em “OK”

6) Clique com o botão direito no certificado --> “All tasks” --> “Unrevoke Certificate”.

7) Veja que o certificado desapareceu da pasta “Revoked Certificates”.

8) Clique na pasta (coluna esquerda) “Issued Certificates”.

9) Veja que o certificado teve a revogação cancelada apareceu nessa pasta. Pronto! seu certificado não está mais revogado e é válido (NÃO SE ESQUEÇA DE PRINTAR ESTE PASSO!).

10) Feche todas as janelas.

Parabéns! Agora você sabe como cancelar a revogação de um certificado no Windows Server 2022.  

Atividade 9.8 – Verificando a validade e avaliando certificados Web no Kali Linux

Nesta atividade vamos usar o Kali Linux para avaliar certificados Web no Kali Linx por meio do protocolo OCSP. Exploraremos todas as características que um certificado Web tem.

Vamos começar inicializando nosso Kali Linux.

1) Abra o Terminal e execute o seguinte comando para ser super usuário:

┌──(aluno㉿kali)-[~]
└─$ sudo -i
[sudo] senha para aluno:

2) Vamos escolher um site comercial para avaliar o seu certificado. Execute o seguinte comando e explore seu conteúdo:

┌──(root㉿kali)-[~]
└─# openssl s_client -connect www.grancursos.com.br:443 -status
Connecting to 172.67.175.92
CONNECTED(00000003)
depth=2 C=US, O=Google Trust Services LLC, CN=GTS Root R4
verify return:1
depth=1 C=US, O=Google Trust Services, CN=WE1
verify return:1
depth=0 CN=grancursos.com.br
verify return:1
OCSP response: 
======================================
OCSP Response Data:
    OCSP Response Status: successful (0x0)
    Response Type: Basic OCSP Response
    Version: 1 (0x0)
    Responder Id: 9077923567C4FFA8CCA9E67BD980797BCC93F938
    Produced At: Dec  2 17:35:25 2025 GMT
    Responses:
    Certificate ID:
      Hash Algorithm: sha1
      Issuer Name Hash: B9BED5F1A61E40B24196B0C29E7E1A9D8BFCB520
      Issuer Key Hash: 9077923567C4FFA8CCA9E67BD980797BCC93F938
      Serial Number: B57B7C7121C597FB1328D77A02E8828B
    Cert Status: good
    This Update: Dec  2 17:35:25 2025 GMT
    Next Update: Dec  9 16:35:24 2025 GMT

    Signature Algorithm: ecdsa-with-SHA256
    Signature Value:
        30:45:02:21:00:f0:81:23:20:94:1c:45:54:55:94:e3:e0:6e:
        6e:d7:49:ed:5f:78:a2:e8:b9:02:60:24:5b:eb:72:ce:7d:27:
        6e:02:20:09:ba:45:17:c8:79:90:5d:eb:95:4f:fc:57:2e:61:
        74:2d:66:3a:77:9c:fc:a5:1c:e5:65:4c:42:f2:08:50:d2
======================================
---
Certificate chain
 0 s:CN=grancursos.com.br
   i:C=US, O=Google Trust Services, CN=WE1
   a:PKEY: EC, (prime256v1); sigalg: ecdsa-with-SHA256
   v:NotBefore: Nov 27 15:16:12 2025 GMT; NotAfter: Feb 25 16:14:52 2026 GMT
 1 s:C=US, O=Google Trust Services, CN=WE1
   i:C=US, O=Google Trust Services LLC, CN=GTS Root R4
   a:PKEY: EC, (prime256v1); sigalg: ecdsa-with-SHA384
   v:NotBefore: Dec 13 09:00:00 2023 GMT; NotAfter: Feb 20 14:00:00 2029 GMT
 2 s:C=US, O=Google Trust Services LLC, CN=GTS Root R4
   i:C=BE, O=GlobalSign nv-sa, OU=Root CA, CN=GlobalSign Root CA
   a:PKEY: EC, (secp384r1); sigalg: sha256WithRSAEncryption
   v:NotBefore: Nov 15 03:43:21 2023 GMT; NotAfter: Jan 28 00:00:42 2028 GMT
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIDuDCCA16gAwIBAgIRALV7fHEhxZf7EyjXegLogoswCgYIKoZIzj0EAwIwOzEL
MAkGA1UEBhMCVVMxHjAcBgNVBAoTFUdvb2dsZSBUcnVzdCBTZXJ2aWNlczEMMAoG
A1UEAxMDV0UxMB4XDTI1MTEyNzE1MTYxMloXDTI2MDIyNTE2MTQ1MlowHDEaMBgG
A1UEAxMRZ3JhbmN1cnNvcy5jb20uYnIwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNC
AATm7EgWhu6wwuMOqlFKBZsQpMgCTji0ah4iTkmMEyXsFFLdZpWRI8bMoYtdF99F
j/uASKY+b85RB1DHlNBjkoXto4ICYDCCAlwwDgYDVR0PAQH/BAQDAgeAMBMGA1Ud
JQQMMAoGCCsGAQUFBwMBMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFGcFl5u2eVFK
eoVs5/IFIqI8pnZYMB8GA1UdIwQYMBaAFJB3kjVnxP+ozKnme9mAeXvMk/k4MF4G
CCsGAQUFBwEBBFIwUDAnBggrBgEFBQcwAYYbaHR0cDovL28ucGtpLmdvb2cvcy93
ZTEvdFhzMCUGCCsGAQUFBzAChhlodHRwOi8vaS5wa2kuZ29vZy93ZTEuY3J0MDEG
A1UdEQQqMCiCEWdyYW5jdXJzb3MuY29tLmJyghMqLmdyYW5jdXJzb3MuY29tLmJy
MBMGA1UdIAQMMAowCAYGZ4EMAQIBMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9j
LnBraS5nb29nL3dlMS9tR25WNFJXSXpuMC5jcmwwggEFBgorBgEEAdZ5AgQCBIH2
BIHzAPEAdwCWl2S/VViXrfdDh2g3CEJ36fA61fak8zZuRqQ/D8qpxgAAAZrGGdTh
AAAEAwBIMEYCIQDJzJfKrtXjDfrzgSUaT8MvXX9CcVVaucjVvjlikSYzVwIhAMGt
yhlJP2kE0qoqDouhEiuU/6qWthXhEjb8XyMgRGawAHYA0W6ppWgHfmY1oD83pd28
A6U8QRIU1IgY9ekxsyPLlQQAAAGaxhnVmAAABAMARzBFAiEA2M2X/6Ae0O9eeiGn
hYr3iURl/yy7UsjYd4c9F88mkE8CIFxa1iXJy2sNrRWNkI+/iz5BCCMnW0Yh7fo4
m5lztcWqMAoGCCqGSM49BAMCA0gAMEUCIQCyvx8mXa4qzXthzWbnndOJHPuH+N74
4dMrJETK/kYUGgIgERxKvqM2y87R3FghoD33nfHvJQCRxH7lnzM8DS4luus=
-----END CERTIFICATE-----
subject=CN=grancursos.com.br
issuer=C=US, O=Google Trust Services, CN=WE1
---
No client certificate CA names sent
Peer signing digest: SHA256
Peer signature type: ecdsa_secp256r1_sha256
Negotiated TLS1.3 group: X25519MLKEM768
---
SSL handshake has read 4219 bytes and written 1779 bytes
Verification: OK
---
New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384
Protocol: TLSv1.3
Server public key is 256 bit
This TLS version forbids renegotiation.
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)
---
---
Post-Handshake New Session Ticket arrived:
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_AES_256_GCM_SHA384
    Session-ID: 0E257BFDDB6775C94402BB4B863C7D84886D30D5CB5E342C9AE6415A963629AC
    Session-ID-ctx: 
    Resumption PSK: EB3068F52B1795CDF9F0E607D8AEF851951E6F569A6586BF9F37839F99129A54F5761BEFA42D8CC8FD98D4008550FC2A
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 64800 (seconds)
    TLS session ticket:
    0000 - f2 06 6f 51 33 fc e0 9a-db b1 27 29 e3 f1 78 62   ..oQ3.....')..xb
    0010 - 3c 26 78 11 53 dc 9f 75-79 69 87 7e 7a 3a 28 12   <&x.S..uyi.~z:(.
    0020 - ae a3 fa c0 f4 fa af 56-6d 17 2b cc 59 03 87 41   .......Vm.+.Y..A
    0030 - 0d 16 66 dc 4b fd e5 50-df fb 41 da 62 ec ac 09   ..f.K..P..A.b...
    0040 - 71 b0 04 32 a3 2a fc bc-c2 cc 24 f6 5c d6 15 29   q..2.*....$.\..)
    0050 - f7 6d b8 03 55 45 21 d9-01 67 48 8a 23 2a 5a 50   .m..UE!..gH.#*ZP
    0060 - d9 62 f9 d4 8c 3c 6a f2-8a 20 7d 7a 6c 00 c1 3b   .b...<j.. }zl..;
    0070 - 90 bd d2 6d 11 a8 4e 4c-95 31 3b 04 45 40 54 48   ...m..NL.1;.E@TH
    0080 - 9c 2c 41 58 01 6c 4a df-41 3f af c4 6b 35 ea be   .,AX.lJ.A?..k5..
    0090 - bd ea 78 78 ff 39 1e de-9f db d7 21 d1 28 9d d0   ..xx.9.....!.(..
    00a0 - 62 a1 83 9b 50 d7 57 82-7f 65 e9 a1 ad 32 5f c4   b...P.W..e...2_.
    00b0 - 9a 3d 38 c5 e9 21 24 50-f6 75 3d 6f b6 d3 29 1d   .=8..!$P.u=o..).

    Start Time: 1764815676
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
    Max Early Data: 0
---
read R BLOCK
---
Post-Handshake New Session Ticket arrived:
SSL-Session:
    Protocol  : TLSv1.3
    Cipher    : TLS_AES_256_GCM_SHA384
    Session-ID: 0808BBE006C40178961DC889937B4CA02087840F1C2D2A47D089F567B82B9287
    Session-ID-ctx: 
    Resumption PSK: 242BF0CDFBF6CD56FA77D8406C173569D73D2DC8E8508D5CB508CFF975648C8329D47F0536BFE42713595B7CBB2CB084
    PSK identity: None
    PSK identity hint: None
    SRP username: None
    TLS session ticket lifetime hint: 64800 (seconds)
    TLS session ticket:
    0000 - f2 06 6f 51 33 fc e0 9a-db b1 27 29 e3 f1 78 62   ..oQ3.....')..xb
    0010 - ba 21 ec e6 e5 9a e1 ee-5c e7 36 22 2e a3 d1 f1   .!......\.6"....
    0020 - 50 56 50 39 47 05 2b 12-09 2e 23 b5 f7 15 25 69   PVP9G.+...#...%i
    0030 - 6a 4d 3e a1 69 30 74 11-57 67 82 c7 fc c9 85 4d   jM>.i0t.Wg.....M
    0040 - d1 d5 28 94 6e a7 bb 6f-ce fa 08 aa e8 3b 12 a6   ..(.n..o.....;..
    0050 - a9 e0 77 55 f6 4e 84 e7-0c eb 18 7a 5e 1c 4b 49   ..wU.N.....z^.KI
    0060 - 63 67 4d 81 5c 41 86 6e-a3 ed f4 b2 ce 8d 91 ec   cgM.\A.n........
    0070 - 0b a9 34 98 52 28 54 be-41 8b 0e 34 c8 94 49 29   ..4.R(T.A..4..I)
    0080 - e6 af 7b 2d c3 d5 78 be-14 60 c8 8c 3b 53 83 d9   ..{-..x..`..;S..
    0090 - fa ce 54 21 ad de 43 1c-48 61 1e 9b 82 9a f2 42   ..T!..C.Ha.....B
    00a0 - f6 ce ff e4 35 5b 9a 6e-1e dc ac 85 c1 94 05 c6   ....5[.n........
    00b0 - 90 b9 98 98 3d 26 8a 9c-a0 ec 29 d1 0e f3 7b 96   ....=&....)...{.

    Start Time: 1764815676
    Timeout   : 7200 (sec)
    Verify return code: 0 (ok)
    Extended master secret: no
    Max Early Data: 0
---
read R BLOCK
closed

3) O comando anterior é utilizado no terminal Linux com o OpenSSL para estabelecer uma conexão com um site comercial na porta 443 e verificar o status do certificado usando o protocolo OCSP (Online Certificate Status Protocol). Os parâmetros usados nesse comando são:

  • openssl: É o comando para executar o OpenSSL, uma biblioteca e conjunto de ferramentas de criptografia e segurança.
  • s_client: É um subcomando do OpenSSL que permite que o cliente estabeleça uma conexão SSL/TLS com um servidor remoto.
  • -connect: É o parâmetro que especifica o host e a porta para estabelecer a conexão. No exemplo, www.grancursos.com.br:443 é o host (grancursos.com.br) e a porta (443) do site.
  • -status: É o parâmetro que instrui o OpenSSL a solicitar informações de status OCSP durante a conexão. Isso permitirá que você verifique o status de revogação do certificado durante a interação.

4) Leia todo o conteúdo de resposta resultante da verificação da validade de um certificado SSL/TLS usando o OCSP:

  • OCSP Response Data: Esta seção contém os detalhes da resposta OCSP.
  • OCSP Response Status: Indica o status da resposta OCSP. Neste caso, o status é "successful" (0x0), o que significa que a solicitação OCSP foi bem-sucedida.
  • Response Type: Indica o tipo de resposta, que é "Basic OCSP Response".
  • Version: Indica a versão do protocolo OCSP usada, que é a versão 1 (0x0).
  • Responder Id: Identifica o autor da resposta OCSP. No exemplo, é representado pelo hash "9077923567C4FFA8CCA9E67BD980797BCC93F938 ".
  • Produced At: Indica o momento em que a resposta OCSP foi produzida, que é "Dec 2 17:35:25 2025 GMT ".
  • Responses: Esta seção contém detalhes sobre as respostas individuais para cada certificado verificado.
  • Certificate ID: Identifica o certificado pelo hash do nome do emissor (Issuer Name Hash), hash da chave do emissor (Issuer Key Hash) e número de série (Serial Number).
  • Cert Status: Indica o status do certificado. Neste caso, o status é "good", o que significa que o certificado está válido.
  • This Update: Indica o momento em que esta atualização da resposta OCSP foi gerada.
  • Next Update: Indica o próximo momento em que a resposta OCSP será atualizada.
  • Signature Algorithm: Indica o algoritmo de assinatura usado para assinar a resposta OCSP.
  • Signature Value: Contém a própria assinatura da resposta OCSP.

5) Perceba que nem todo site permite sua verificação OCSP (NÃO SE ESQUEÇA DE PRINTAR ESTE PASSO!):

┌──(root㉿kali)-[~]
└─# openssl s_client -connect www.google.com:443 -status
Connecting to 192.178.155.106
CONNECTED(00000003)
depth=2 C=US, O=Google Trust Services LLC, CN=GTS Root R1
verify return:1
depth=1 C=US, O=Google Trust Services, CN=WR2
verify return:1
depth=0 CN=www.google.com
verify return:1
OCSP response: no response sent

...

A saída “OCSP response: no response sent” significa que o servidor não enviou uma resposta OCSP. Provavelmente os ervidor está configurado para não fornecer respostas OCSP como parte da sua postura de segurança. Feche o Terminal.

Parabéns! Agora você sabe como explorar e avaliar um certificado Web usando o Kali Linux!  

Atividade 9.9 – Criando uma carteira de Bitcoin no Kali Linux

Nesta atividade vamos usar o Kali Linux para criar uma carteira digital de Bitcoin com o software Electrum!

Vamos começar inicializando nosso Kali Linux.

1) Abra o Terminal e execute o seguinte comando para inicializar o Electrum (utilize o usuário “aluno” e não o “root”):

┌──(aluno㉿kali)-[~]
└─$ electrum

2) Na janela que aparece, escolha “I Accept” e “Next”.

3) Agora, não altere o nome de “default_wallet” no campo “Wallet” e clique em “Next”.

4) Escolha a opção “Standard wallet” e clique em “Next”.

5) Como é sua primeira vez na criação de uma carteira de Bitcoin, escolha “Create a new seed” e clique em “Next”.

6) Agora é mostrada uma frase em inglês, essa é a semente única e privada, caso você perca essa semente, não terá acesso a sua carteira e perderá as criptomoedas salvas nela. Copie ou anote essa frase porque será usada na próxima atividade! Nunca compartilhe essa frase nem a escreva em algum site. Importante: Não perca essa frase, será usada na próxima Atividade! Clique em “Next”.

7) Escreva ou cole a frase mostrada no passo anterior e clique em “Next”.

8) Não insira senha. Posteriormente você pode criar uma senha opcional para cifrar as chaves da sua carteira. Clique em “Finish”.

9) Clique “No” no aviso mostrado de notificações de atualização.

10) Pronto! Agora sua carteira de Bitcoin foi criada. Veja na aba “Wallet” --> “Information” os dados da sua conta (NÃO SE ESQUEÇA DE PRINTAR ESTE PASSO!).

11) Clique em “Close”, feche a janela do Electrum e o Terminal.

Parabéns! Agora você sabe como criar uma carteira de Bitcoin sem depender de uma corretora!  

Atividade 9.10 – Recuperando uma carteira perdida e recebendo Bitcoins no Kali Linux

Nesta atividade vamos usar o Kali Linux para criar uma carteira digital de Bitcoin com o software Electrum! Essa atividade tem como pré-requisito a atividade anterior, Atividade 9.9.

Vamos começar inicializando nosso Kali Linux .

1) Abra o Terminal e execute o seguinte comando para inicializar o Electrum Electrum (utilize o usuário “aluno” e não o “root”):

┌──(aluno㉿kali)-[~]
└─$ electrum

2) Na janela que aparece, escolha “File” --> “Delete” --> “Yes”. Isso apagará sua carteira no Electrum, simulando que seu disco rígido tenha sido danificado ou roubado. Eletrum fechará.

3) Agora, inicialize o Electrum conforme o passo 1.

4) No programa aberto, não altere o nome de “default_wallet” no campo “Wallet” e clique em “Next”.

5) Escolha a opção “Standard wallet” e clique em “Next”.

6) Agora, selecione a opção “I already have a seed” e clique em “Next”.

7) Insira a frase que você anotou no passo 6 da atividade anterior e clique em “Next”.

8) Insira a mesma senha que criou no passo 10 da atividade anterior. Caso não tenha criado, deixe o campo em branco. Clique em “Finish”.

9) Pronto! Agora você recuperou sua carteira!

10) Vamos aprender como receber Bitcoins nessa carteira. Selecione a aba “Receive”.

11) No campo “Description”, insira uma descrição relacionada ao pagamento, por exemplo “Pagamento de aposta de futebol” (isso é só uma 'brincadeira', contexto hipotético).

12) No campo “Requested amount” insira 1 mili Bitcoins a ser recebido. Essa unidade “mBTC” é referente a milésima parte do Bitcoin. Por exemplo, caso você coloque 1 mBTC, você estará solicitando 0,001 BTC.

13) Deixe o campo “Expirity” em “1 day”. Com isso, a requisição de pagamento é válida por 1 dia. Clique em “Onchain” para gerar os dados de recebimento por esse canal.

14) Ao ter clicado no botão “Onchain”, automaticamente o endereço de recebimento é copiado.

15) Clique no campo direito que apresenta o endereço de recebimento, automaticamente esse texto será copiado. Você pode enviar esse texto ao pagador para que efetue a transferência de 0,001 BTC.

16) Inclusive, pode gerar o QR Code correspondente. Clique no ícone de QR Code para visualizar o QR Code (NÃO SE ESQUEÇA DE PRINTAR ESTE PASSO!).

17) Você pode usar esse QR Code para encaminhar para pagamento. Feche o Electrum e o Terminal.

Parabéns! Agora você sabe como recuperar uma carteira de Bitcoin não usada e como gerar um pedido de recebimento de Bitcoin!