Prévia do material em texto
RELATÓRIO DE TESTE DE INTRUSÃO
Exemplo Corp
15/05/2024
DOCUMENTO CONFIDENCIAL
Página 2 de 89
SUMÁRIO
INTRODUÇÃO ............................................................................................................................................................................................ 3
OBJETIVO ............................................................................................................................................................................................... 3
METODOLOGIA ..................................................................................................................................................................................... 3
DEFINIÇÃO DOS NÍVEIS DE PRIORIDADE .............................................................................................................................................. 4
PROGRESSO DOS TESTES ...................................................................................................................................................................... 5
VULNERABILIDADES ÚNICAS ................................................................................................................................................................ 5
PROGRESSO DE REMEDIAÇÃO .............................................................................................................................................................. 5
VISÃO GERAL DOS TESTES .................................................................................................................................................................... 6
SUMÁRIO DOS TESTES............................................................................................................................................................................... 7
ESCOPO DO PROJETO ............................................................................................................................................................................ 8
INFORMAÇÕES DE CONTATO ............................................................................................................................................................... 8
SUMÁRIO DE VULNERABILIDADES ............................................................................................................................................................ 9
PRIORIDADE CRÍTICA ............................................................................................................................................................................ 9
PRIORIDADE ALTA ................................................................................................................................................................................. 9
PRIORIDADE MÉDIA ............................................................................................................................................................................ 10
PRIORIDADE BAIXA ............................................................................................................................................................................. 10
INFORMACIONAL ................................................................................................................................................................................ 11
VULNERABILIDADES ................................................................................................................................................................................ 12
1. Injeção de Código SQL ..................................................................................................................................................................... 12
2. Bypass de extensões de arquivos para obter execução de código ................................................................................................. 17
3. Função de Envio de Currículo Vulnerável à Execução Remota ....................................................................................................... 20
4. HttpfileServer 2.3 Vulnerável à Execução Remota .......................................................................................................................... 23
5. AS-REP Roasting .............................................................................................................................................................................. 26
6. Cross-Site Scripting Persistente (XSS Persistente) ........................................................................................................................... 29
7. Cross-Site Request Forgery (CSRF) .................................................................................................................................................. 31
8. Cross-Site Scripting Stored(XSS Stored) .......................................................................................................................................... 33
9. Escalada de Privilégio Via CVE-2019-1458 ...................................................................................................................................... 35
10. Política Fraca de Senha ............................................................................................................................................................... 37
11. Força Bruta sem Taxa de Limitação ............................................................................................................................................ 39
12. Ausência de SSL .......................................................................................................................................................................... 42
13. Versão desatualizada do MikroTik RouterOS ............................................................................................................................. 44
14. Informações Sensíveis Expostas ................................................................................................................................................. 46
15. Exposição do Arquivo robots.txt ................................................................................................................................................. 48
CASOS DE TESTE ...................................................................................................................................................................................... 50
MAPEAMENTO DE ATIVOS AFETADOS POR VULNERABILIDADES ......................................................................................................... 82
MAPEAMENTO DE VULNERABILIDADES POR ATIVOS ............................................................................................................................ 83
PLANO DE AÇÃO ...................................................................................................................................................................................... 84
Página 3 de 89
INTRODUÇÃO
OBJETIVO
Este relatório foi meticulosamente elaborado com a finalidade primordial de identificar, analisar e catalogar as potenciais
vulnerabilidades presentes nos domínios, servidores e aplicações da Exemplo Corp. Nossa análise considerou
profundamente os pilares essenciais da segurança da informação: integridade, confidencialidade e disponibilidade das
informações. Além da rigorosa classificação dos problemas identificados, propomos abordagens estratégicas e
fundamentadas para a resolução eficiente de cada vulnerabilidade identificada.
METODOLOGIA
Em nossa análise, adotamos padrões de excelência e seguimos recomendações de renomados órgãos internacionais
especializados em segurança da informação, garantindo uma avaliação abrangente e precisa dos riscos associados a todas
as operações de TI da Exemplo Corp.
A abordagem da Guardsi para testesPROVA DE CONCEITO
Para realizar esta evidência, podemos clicar com o botão direito do mouse sobre a aplicação em questão e inspecionar
seu conteúdo.
Figure 34
Página 48 de 89
VULNERABILIDADE PRIORIDADE
15. Exposição do Arquivo robots.txt INFO
DESCRIÇÃO
O arquivo robots.txt é como um guia para os motores de busca, dizendo a eles onde podem ou não "olhar" em um site.
Se configurado incorretamente, ele pode expor informações estratégicas, funcionando quase como um mapa que
mostra onde estão as áreas sensíveis. É vital garantir que esse arquivo seja configurado de forma precisa para evitar que
informações críticas caiam nas mãos erradas. Isso é semelhante a garantir que informações importantes em uma
empresa sejam devidamente protegidas contra olhares curiosos.
CENÁRIO DE ATAQUE
Um atacante descobre o arquivo robots.txt do site por meio de uma simples pesquisa na URL. Este arquivo,
indevidamente detalhado, lista diretórios e arquivos que não devem ser acessados por crawlers. Utilizando estas
informações, o atacante consegue identificar diretórios potencialmente sensíveis ou páginas não indexadas e foca seus
esforços em explorar esses caminhos, que muitas vezes estão menos protegidos ou contêm informações confidenciais.
RECOMENDAÇÕES
1. Reconfiguração do Arquivo: Modificar o arquivo robots.txt para garantir que ele não revele informações
sensíveis sobre a estrutura do site. Idealmente, ele deve ser usado apenas para desindexar páginas que não
representem risco de segurança se descobertas.
2. Controles de Acesso: Implementar controles de acesso e autenticação para diretórios sensíveis, garantindo que
apenas usuários autorizados possam acessá-los, independentemente de sua visibilidade no robots.txt.
3. Monitoramento e Auditoria: Estabelecer rotinas de monitoramento e auditoria para detectar tentativas de
acesso a diretórios protegidos e reagir a potenciais tentativas de exploração.
4. Treinamento e Conscientização: Capacitar equipes de desenvolvimento e operações sobre as melhores práticas
de segurança, enfatizando a importância de configurações corretas de arquivos como o robots.txt.
TAGS
• CWE-200: Information Exposure
• CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:N
• CVSSv3.1 Base Score: 0
ATIVOS AFETADOS
• Em Aberto - example.com
PROVA DE CONCEITO
Para realizar esta prova de conceito, podemos manualmente acessar o caminho /robots.txt e verificar que a página
administrativa é exposta pelo arquivo.
Página 49 de 89
Figure 35
Página 50 de 89
CASOS DE TESTE
TESTES CONCLUÍDOS
1. Verify that an active session list is displayed in the account profile or similar of each user. The user should be
able to terminate any active session. – Última atualização em 29/04/2024
2. Verify that access controls fail securely. – Última atualização em 29/04/2024
3. Verify that data stored in client side storage - such as HTML5 local storage, session storage, IndexedDB,
regular cookies or Flash cookies - does not contain sensitive data or PII. – Última atualização em 29/04/2024
4. Verify that TLS is used for all connections (including both external and backend connections) that are
authenticated or that involve sensitive data or functions, and does not fall back to insecure or unencrypted
protocols. Ensure the strongest alternative is the preferred algorithm. – Última atualização em 29/04/2024
5. Verify that every HTTP response contains a content type header specifying a safe character set (e.g., UTF-8,
ISO 8859-1). – Última atualização em 29/04/2024
6. Verify that the HTTP headers or any part of the HTTP response do not expose detailed version information of
system components. – Última atualização em 29/04/2024
7. Verify the application has business limits and correctly enforces on a per user basis, with configurable
alerting and automated reactions to automated or unusual attack. – Última atualização em 29/04/2024
8. Verify that the web or application serveris configured by defaultto deny access to remote resources or
systems outside the web or application server. – Última atualização em 29/04/2024
9. Verify the application code does not execute uploaded data obtained from untrusted sources. – Última
atualização em 29/04/2024
10. Examine target web-based application source code and scripts to determine the existence of
additional targets in the network. – Última atualização em 29/04/2024
11. Examine service and application emanations. Manipulate and replay captured traffic to
invoke new requests or responses, gain depth, or expose additional information. For example, SQL, Citrix,
HTTP, SAP, DNS, ARP, etc. – Última atualização em 29/04/2024
12. Verify the application to the system and the version. – Última atualização em 29/04/2024
Página 51 de 89
13. Verify the method of obtaining the proper Authorization for the authentication. – Última atualização em
29/04/2024
14. Test for logic errors in the application of the authentication. – Última atualização em 29/04/2024
15. Verify if available caching mechanisms can be poisoned. – Última atualização em 29/04/2024
16. Hard coded sensitive information in Application Code – Última atualização em 29/04/2024
17. Malicious File Upload – Última atualização em 29/04/2024
18. Cleartext information under SSL Tunnel – Última atualização em 29/04/2024
19. Application does not have Logout Functionality – Última atualização em 29/04/2024
20. URL Modification – Última atualização em 29/04/2024
21. Improper exception Handling: In code – Última atualização em 29/04/2024
22. Cache smashing protection is not enabled [iOS] – Última atualização em 29/04/2024
23. App/Web Caches Sensitive Data Leak – Última atualização em 29/04/2024
24. Service Hijacking [Android] – Última atualização em 29/04/2024
25. Broadcast Thief [Android] – Última atualização em 29/04/2024
26. Cross Domain Scripting Vulnerability – Última atualização em 29/04/2024
27. Detailed Error page shows internal sensitive information – Última atualização em 29/04/2024
28. Cross Site Request Forgery (CSRF)/SSRF – Última atualização em 29/04/2024
29. Path Attribute not set on a Cookie – Última atualização em 29/04/2024
30. HttpOnly Attribute not set for a cookie – Última atualização em 29/04/2024
Página 52 de 89
31. Test for sensitive data in the clipboard – Última atualização em 29/04/2024
32. Test if sensitive data is exposed via IPC mechanisms – Última atualização em 29/04/2024
33. Test if memory is cleared when the app is backgrounded – Última atualização em 29/04/2024
34. Test user device management – Última atualização em 29/04/2024
35. Test app permissions – Última atualização em 29/04/2024
36. Test validation of input from external sources – Última atualização em 29/04/2024
37. Test if the app is debuggable – Última atualização em 29/04/2024
38. Test custom UI components – Última atualização em 29/04/2024
39. Test basic emulator detection – Última atualização em 29/04/2024
40. Test device binding – Última atualização em 29/04/2024
41. Whois Record Analysis – Última atualização em 29/04/2024
42. Enumeration of Cloud Services – Última atualização em 29/04/2024
43. Open DNS Resolvers – Última atualização em 29/04/2024
44. Subdomain Wildcard Handling – Última atualização em 29/04/2024
45. Web Server Technology Identification – Última atualização em 29/04/2024
46. Password Reset Token Validity Test – Última atualização em 29/04/2024
47. MFA Bypass Test – Última atualização em 29/04/2024
48. Clean-up and Trace Removal Verification – Última atualização em 29/04/2024
49. Testing for Session Prolongation – Última atualização em 29/04/2024
Página 53 de89
50. Verify that all password fields do not echo the user’s password when it is entered. – Última atualização em
29/04/2024
51. Verify all pages and resources by default require authentication except those specifically intended to be
public (Principle of complete mediation). – Última atualização em 29/04/2024
52. Verify all authentication controls are enforced on the server side. – Última atualização em 29/04/2024
53. Verify all account identity authentication functions (such as update profile, forgot password, disabled / lost
token, help desk or IVR) that might regain access to the account are at least as resistant to attack as the
primary authentication mechanism. – Última atualização em 29/04/2024
54. Verify that account passwords make use of a sufficient strength encryption routine and that it withstands
brute force attack against the encryption routine. – Última atualização em 29/04/2024
55. Verify all authentication controls fail securely to ensure attackers cannot log in. – Última atualização em
29/04/2024
56. Verify that if an application allows users to authenticate, they use a proven secure authentication
mechanism – Última atualização em 29/04/2024
57. Verify that session ids are sufficiently long, random and unique across the correct active session base. –
Última atualização em 29/04/2024
58. Verify that directory browsing/indexing is disabled unless deliberately desired. Additionally, applications
should not allow discovery or disclosure of file or directory metadata, such as Thumbs.db, .DS_Store, .git or
.svn folders. – Última atualização em 29/04/2024
59. Verify that the application sets appropriate anti-caching headers as per the risk of the application, such as
the following: Expires: Tue, 03 Jul 2001 06:00:00 GMT; Last-Modified: {now}; GMT Cache-Control: no-store,
no-cache, must-revalidate, max-age=0; Cache-Control: post-check=0, pre-check=0; Pragma: no-cache. –
Última atualização em 29/04/2024
60. Verify the application minimizes the number of parameters in a request, such as hidden fields, Ajax
variables, cookies and header values. – Última atualização em 29/04/2024
61. Verify accessing sensitive data is logged, if the data is collected under relevant data protection directives or
where logging of accesses is required. – Última atualização em 29/04/2024
62. Verify that proper certification revocation, such as Online Certificate Status Protocol (OSCP) Stapling, is
enabled and configured. – Última atualização em 29/04/2024
Página 54 de 89
63. Verify that the Content Security Policy V2 (CSP) is in use for sites where content should not be viewed in a
3rd-party X-Frame. – Última atualização em 29/04/2024
64. Verify application uses transport layer protection if transmitting sensitive information, such as
authenticated requests. – Última atualização em 29/04/2024
65. Verify application does not utilise predictable location for uploaded files. – Última atualização em
29/04/2024
66. Verify application enforces password security policy and/or requirements. – Última atualização em
29/04/2024
67. Trace the route of UDP packets to all targets for DNS and SNMP ports. – Última atualização em 29/04/2024
68. Identify TCP ISN sequence number predictability for all targets. – Última atualização em 29/04/2024
69. Verify system uptime compared to the latest vulnerabilities and patch releases. – Última atualização em
29/04/2024
70. Examine top level domain records for domains similar to those identified within the scope. – Última
atualização em 29/04/2024
71. Session Fixation – Última atualização em 29/04/2024
72. Application is vulnerable to OS Command Injection – Última atualização em 29/04/2024
73. Weak Password Policy – Última atualização em 29/04/2024
74. No Certificate Pinning – Última atualização em 29/04/2024
75. Store sensitive information outside App Sandbox (on SDCard) – Última atualização em 29/04/2024
76. Allow All Hosttitle Verifier [Android] – Última atualização em 29/04/2024
77. Use of Insecure and/or Deprecated Algorithms – Última atualização em 29/04/2024
78. Server/OS fingerprinting is possible – Última atualização em 29/04/2024
Página 55 de 89
79. Test validation of user input – Última atualização em 29/04/2024
80. Test basic root / jailbreak detection – Última atualização em 29/04/2024
81. Test for debugging symbols – Última atualização em 29/04/2024
82. Test debugging defenses – Última atualização em 29/04/2024
83. Test file tampering defenses – Última atualização em 29/04/2024
84. Test detection of commonly used reverse engineering tools – Última atualização em 29/04/2024
85. Sitemap Analysis for website enumeration – Última atualização em 29/04/2024
86. Account Lockout Check – Última atualização em 29/04/2024
87. Session ID Strength Check Test – Última atualização em 29/04/2024
88. Verify that measures are in place to block the use of commonly chosen passwords and weak passphrases. –
Última atualização em 29/04/2024
89. Verify that if an application allows usersto authenticate, they can authenticate using two-factor
authentication or other strong authentication, or any similar scheme that provides protection against
usertitle + password disclosure. – Última atualização em 29/04/2024
90. Verify that the session id is never disclosed in URLs, error messages, or logs. This includes verifying that the
application does not support URL rewriting of session cookies. – Última atualização em 29/04/2024
91. Verify that on the server, all cached ortemporary copies ofsensitive data stored are protected from
unauthorized access or purged/invalidated after the authorized user accesses the sensitive data. – Última
atualização em 29/04/2024
92. Verify that the same encoding style is used between the client and the server. – Última atualização em
29/04/2024
93. Verify application does not utilise third-party scripts from different origins. – Última atualização em
29/04/2024
Página 56 de 89
94. Verify application is not running on an outdated version of web server. – Última atualização em 29/04/2024
95. Verify application does not utilise hardcoded credentials or passwords. – Última atualização em 29/04/2024
96. Manipulate application and service requests outside of standard boundaries to include
special characters or special terminology of that service or application to gain access. – Última atualização em
29/04/2024
97. Verify the logic method of authentication. – Última atualização em 29/04/2024
98. Verify the method of being properly Identified for being provided the authentication. – Última atualização
em 29/04/2024
99. Test measures to access property within the scope by spoofing your network address as one of the trusted
hosts. – Última atualização em 29/04/2024
100. Privilege Escalation – Última atualização em 29/04/2024
101. Debug is set to TRUE [Android] – Última atualização em 29/04/2024
102. Sensitive information in Memory Dump – Última atualização em 29/04/2024
103. Autocomplete is not set to OFF – Última atualização em 29/04/2024
104. Open URL Redirects are possible – Última atualização em 29/04/2024
105. Redundancy Permission Granted [Android] – Última atualização em 29/04/2024
106. Test for sensitive data in the keyboard cache – Última atualização em 29/04/2024
107. Test for sensitive data in screenshots – Última atualização em 29/04/2024
108. Test biometric authentication – Última atualização em 29/04/2024
109. Test for session hijacking – Última atualização em 29/04/2024
110. Test custom URL schemes – Última atualização em 29/04/2024
Página 57 de 89
111. Test for debugging code and verbose error logging – Última atualização em 29/04/2024
112. Test variability of tampering responses – Última atualização em29/04/2024
113. Test trivial static analysis – Última atualização em 29/04/2024
114. Verify that obfuscations and functional defenses are integrated – Última atualização em 29/04/2024
115. DNS Amplification Testing – Última atualização em 29/04/2024
116. DNSSEC Analysis – Última atualização em 29/04/2024
117. Stored XSS Test – Última atualização em 29/04/2024
118. Robots.txt Analysis Enumeration – Última atualização em 29/04/2024
119. Directory Enumeration – Última atualização em 29/04/2024
120. CAPTCHA or Similar Challenges Check – Última atualização em 29/04/2024
121. Cross-Origin Embedding Security Verification – Última atualização em 29/04/2024
122. Verify that all suspicious authentication decisions are logged. This should include requests with relevant
metadata needed for security investigations. – Última atualização em 29/04/2024
123. Verify that sessions timeout/expire after a specified period of inactivity – Última atualização em 29/04/2024
124. Verify the user is prompted with the option to terminate all other active sessions after a successful change
password process. – Última atualização em 29/04/2024
125. Ensure forward secrecy ciphers are in use to mitigate passive attackers recording traffic. – Última atualização
em 29/04/2024
126. Verify that the TLS settings are in line with current leading practice, particularly as common configurations,
ciphers, and algorithms become insecure. – Última atualização em 29/04/2024
Página 58 de 89
127. Verify that untrusted file data submitted to the application is not used directly with file I/O commands,
particularly to protect against path traversal, local file include, file mime type, and OS command injection
vulnerabilities – Última atualização em 29/04/2024
128. Verify that files obtained from untrusted sources are stored outside the webroot, with limited permissions,
preferably with strong validation. – Última atualização em 29/04/2024
129. Verify that untrusted data is not used within cross-domain resource sharing (CORS) to protect against
arbitrary remote content. – Última atualização em 29/04/2024
130. Verify the use of Loose Source Routing to the target gateway and outer perimeter systems to
route packets to all targets. – Última atualização em 29/04/2024
131. Enumerate and test for use or inadequacies of daemons and systems to properly identify and
log access or interactions to property for specific evidence to challenge repudiation. – Última atualização em
29/04/2024
132. Application is vulnerable to LDAP Injection – Última atualização em 29/04/2024
133. iOS snapshot/backgrounding Vulnerability – Última atualização em 29/04/2024
134. Application makes use of Weak Cryptography – Última atualização em 29/04/2024
135. Sensitive information in Application Log Files – Última atualização em 29/04/2024
136. Back-and-Refresh attack – Última atualização em 29/04/2024
137. Insecure Application Permissions – Última atualização em 29/04/2024
138. Weak Custom Hosttitle Verifier [Android] – Última atualização em 29/04/2024
139. Malicious Broadcast Injection [Android] – Última atualização em 29/04/2024
140. Direct Reference to internal resource without authentication – Última atualização em 29/04/2024
141. Lack of Adequate Timeout Protection – Última atualização em 29/04/2024
142. Test SSL pinning – Última atualização em 29/04/2024
Página 59 de 89
143. Test the SSL configuration – Última atualização em 29/04/2024
144. Test WebViews – Última atualização em 29/04/2024
145. Test exception handling – Última atualização em 29/04/2024
146. Service Fingerprinting – Última atualização em 29/04/2024
147. Active Subdomain Enumeration – Última atualização em 29/04/2024
148. Pentest Subdomain Takeover Enumeration DNS – Última atualização em 29/04/2024
149. NXDOMAIN Analysis Enumeration DNS – Última atualização em 29/04/2024
150. Content Discovery - Enumeration WEB/API Pentest – Última atualização em 29/04/2024
151. Sensitive File Discovery – Última atualização em 29/04/2024
152. Cross-Site Request Forgery (CSRF) Test – Última atualização em 29/04/2024
153. Reflected XSS Test – Última atualização em 29/04/2024
154. User Enumeration via Registration – Última atualização em 29/04/2024
155. Session Fixation and Session Riding Pentest – Última atualização em 29/04/2024
156. JWT Algorithm Test – Última atualização em 29/04/2024
157. File Permissions and Access Control Check – Última atualização em 29/04/2024
158. Session Termination Check – Última atualização em 29/04/2024
159. Verify that all pages that require authentication have easy and visible access to logout functionality. –
Última atualização em 29/04/2024
160. Verify that only session ids generated by the application framework are recognized as active by the
application. – Última atualização em 29/04/2024
Página 60 de 89
161. Verify that the principle of least privilege exists - users should only be able to access functions, data files,
URLs, controllers, services, and other resources, for which they possess specific authorisation. This implies
protection against spoofing and elevation of privilege. – Última atualização em 29/04/2024
162. Verify that sensitive data is rapidly sanitized from memory as soon as itis no longer needed and handled in
accordance to functions and techniques supported by the framework/library/operating system. – Última
atualização em 29/04/2024
163. Verify that HTTP Strict Transport Security headers are included on all requests and for all subdomains, such
as Strict-Transport-Security: max-age=15724800; includeSubdomains – Última atualização em 29/04/2024
164. Verify that HTTP headers added by a trusted proxy or SSO devices, such as a bearer token, are authenticated
by the application. – Última atualização em 29/04/2024
165. Verify that files obtained from untrusted sources are validated to be of expected type and scanned by
antivirus scanners to prevent upload of known malicious content. – Última atualização em 29/04/2024
166. Verify that access to administration and management functions within the application is limited to
administrators. – Última atualização em 29/04/2024
167. Verify that XML or JSON schema is in place and verified before accepting input. – Última atualização em
29/04/2024
168. Verify application server does not expose clear-text protocols for communication with server such as FTP,
Telnet & SNMPv1 & 2. – Última atualização em 29/04/2024
169. Trace the route of TCP packets to all targets for ports SSH, SMTP, HTTP, and HTTPS ports. – Última
atualização em 29/04/2024
170. Verify VoIP services. – Última atualização em 29/04/2024
171. Verify the strength of the authentication through password cracking and re-applying
discovered passwords to all access points requiring authentication. – Última atualização em 29/04/2024
172. Verify the process for receiving authentication. – Última atualização em 29/04/2024
173. Enumerate all interactions with services within the scope for communications or assets transported over the
channel using secured lines, encryption, “quieted” or “closed” interactions to protect the confidentiality of
the information property between the involved parties. – Última atualização em 29/04/2024
Página 61 de 89
174. Improper or NO implementation of Change Password Page – Última atualização em 29/04/2024
175. Last Login information is not displayed – Última atualização em 29/04/2024
176. UI Impersonation through RMS file modification [JAVA] – Última atualização em 29/04/2024
177. UI Impersonation through JAR file modification [Android] – Última atualização em 29/04/2024
178. Clipboard is not disabled – Última atualização em 29/04/2024
179. Android Backup Vulnerability [Android]– Última atualização em 29/04/2024
180. Store Encryption Key Locally/Store Sensitive Data in ClearText – Última atualização em 29/04/2024
181. Failure to Implement Trusted Issuers [Android] – Última atualização em 29/04/2024
182. Leaking Content Provider [Android] – Última atualização em 29/04/2024
183. Local File Inclusion (might be through XSS Vulnerability) – Última atualização em 29/04/2024
184. Malicious Activity/Service Launch [Android] – Última atualização em 29/04/2024
185. Application allows HTTP Methods besides GET and POST – Última atualização em 29/04/2024
186. Cacheable HTTPS Responses – Última atualização em 29/04/2024
187. Test advanced root/jailbreak detection – Última atualização em 29/04/2024
188. Test memory integrity monitoring – Última atualização em 29/04/2024
189. Banner Grabbing Pentest – Última atualização em 29/04/2024
190. Passive Subdomain Enumeration – Última atualização em 29/04/2024
191. OS Detection Pentest – Última atualização em 29/04/2024
192. Service Discovery for Network Service Enumeration – Última atualização em 29/04/2024
Página 62 de 89
193. Enumeration of Virtual Hosts – Última atualização em 29/04/2024
194. Password Reset Functionality Test – Última atualização em 29/04/2024
195. Other Sensitive Areas Brute-force Test – Última atualização em 29/04/2024
196. Session Cookie Transmission Test – Última atualização em 29/04/2024
197. Rate Limiting and Throttling Test – Última atualização em 29/04/2024
198. Inadequate Security Configuration Check – Última atualização em 29/04/2024
199. WebSocket Security Test – Última atualização em 29/04/2024
200. Verify that the changing password functionality includes the old password, the new password, and a
password confirmation. – Última atualização em 29/04/2024
201. Verify that the forgotten password function and other recovery paths do not reveal the current password
and that the new password is not sent in clear text to the user. – Última atualização em 29/04/2024
202. Verify that all successful authentication and re-authentication generates a new session and session id. –
Última atualização em 29/04/2024
203. Verify that access to sensitive records is protected, such that only authorised objects or data is accessible to
each user (for example, protect against users tampering with a parameter to see or alter another user's
account). – Última atualização em 29/04/2024
204. Verify that sessions are invalidated when the user logs out. – Última atualização em 29/04/2024
205. Verify that administrative interfaces are not accessible to untrusted parties. – Última atualização em
29/04/2024
206. Verify that session ids stored in cookies have their path set to an appropriately restrictive value for the
application, and authentication session tokens additionally set the 'HttpOnly' and 'Secure' attributes –
Última atualização em 29/04/2024
207. Verify that the application limits the number of active concurrent sessions. – Última atualização em
29/04/2024
Página 63 de 89
208. Verify that an audit log or similar allows for non-repudiation of key transactions. – Última atualização em
29/04/2024
209. Verify that all sensitive data is sent to the server in the HTTP message body or headers (i.e., URL parameters
are never used to send sensitive data). – Última atualização em 29/04/2024
210. Verify that a path can be built from a trusted CA to each Transport Layer Security (TLS) server certificate, and
that each server certificate is valid. – Última atualização em 29/04/2024
211. Verify that all connections to external systems that involve sensitive information or functions are
authenticated. – Última atualização em 29/04/2024
212. Verify that the Content Security Policy V2 (CSP) is in use in a way that either disables inline JavaScript or
provides an integrity check on inline JavaScript with CSP noncing or hashing. – Última atualização em
29/04/2024
213. Verify that all API responses contain X-Content-Type-Options: nosniff and Content-Disposition: attachment;
filetitle = 'api.json' (or other appropriate filetitle for the content type). – Última atualização em 29/04/2024
214. Verify that all forms containing sensitive information have disabled client side caching, including
autocomplete features. – Última atualização em 29/04/2024
215. Verify that the X-XSS-Protection: 1; mode=block header is in place. – Última atualização em 29/04/2024
216. Verify that only strong algorithms, ciphers, and protocols are used, through all the certificate hierarchy,
including root and intermediary certificates of your selected certifying authority. This includes verifying
weak RC4 cipher or cipher less than 128bits is not in use. – Última atualização em 29/04/2024
217. Verify that untrusted data is not used within inclusion, class loader, or reflection capabilities to prevent
remote/local file inclusion vulnerabilities. – Última atualização em 29/04/2024
218. Verify that URL redirects and forwards only allow whitelisted destinations, or show a warning when
redirecting to potentially untrusted content. – Última atualização em 29/04/2024
219. Do not use Flash, Active-X, Silverlight,NACL, client-side Java or other clientside technologies not supported
natively via W3C browser standards. – Última atualização em 29/04/2024
220. Verify application sets appropriate X-Frame-Options header for all application responses, such as DENY
option. – Última atualização em 29/04/2024
Página 64 de 89
221. Verify that all input is limited to an appropriate size limit. – Última atualização em 29/04/2024
222. Trace the route of ICMP packets to all targets. – Última atualização em 29/04/2024
223. Verify IPID increments from responses for all targets. – Última atualização em 29/04/2024
224. Examine e-mail headers, bounced mails, read receipts, mail failures, and malware rejections
to determine outgoing gateway systems and internal addressing. – Última atualização em 29/04/2024
225. Verify that the application build and deployment processes are performed in a secure fashion. – Última
atualização em 29/04/2024
226. Search newsgroups, forums, IRC, IM, P2P, VoIP, and web-based communications for
connecting information of the target to determine outgoing gateway systems and internal addressing. –
Última atualização em 29/04/2024
227. Identify the components of the listening service. – Última atualização em 29/04/2024
228. Verify service uptime compared to the latest vulnerabilities and patch releases. – Última atualização em
29/04/2024
229. Does the application implement a web substrate that is vulnerable to cross-site scripting (XSS) attack? –
Última atualização em 29/04/2024
230. Verify HTTP and HTTPS for virtual hosting. – Última atualização em 29/04/2024
231. Application does not Verify MSISDN [WAP] – Última atualização em 29/04/2024
232. Usage of Persistent Cookies – Última atualização em 29/04/2024
233. Operation on a resource after expiration or release – Última atualização em 29/04/2024
234. Unencrypted Credentials in Databases (sqlite db) – Última atualização em 29/04/2024
235. Allow Global File Permission on App Data [Android] – Última atualização em 29/04/2024
236. Activity Hijacking [Android] – Última atualização em 29/04/2024
Página 65 de 89
237. Authentication bypassed – Última atualização em 29/04/2024
238. Symbols Remnant [iOS] – Última atualização em 29/04/2024
239. Test local data storage – Última atualização em 29/04/2024
240. Lack of Check-sum Controls/Altered Detection [Android] – Última atualização em 29/04/2024
241. Does the application enforce account lockout policy after a specific number of unsuccessful
login attempts? – Última atualização em 29/04/2024
242. Insecure use of network sockets[Android] – Última atualização em 29/04/2024
243. Attacker can bypass Second Level Authentication – Última atualização em 29/04/2024
244. Cleartext password in Response – Última atualização em 29/04/2024
245. Client Side Validation can be bypassed – Última atualização em 29/04/2024
246. Application is Vulnerable to Clickjacking/Tapjacking attack – Última atualização em 29/04/2024
247. Invalid SSL Certificate – Última atualização em 29/04/2024
248. Test for sensitive data in cloud storage – Última atualização em 29/04/2024
249. Sensitive Information is sent as Clear Text over network – Última atualização em 29/04/2024
250. Test for sensitive data in backups – Última atualização em 29/04/2024
251. Application build contains Obsolete Files – Última atualização em 29/04/2024
252. Test for unencrypted sensitive data on the network – Última atualização em 29/04/2024
253. Private IP Disclosure – Última atualização em 29/04/2024
254. Test PKI mutual authentication – Última atualização em 29/04/2024
Página 66 de 89
255. Cached Cookies or information not cleaned after application removal – Última atualização em 29/04/2024
256. Verify the app signature – Última atualização em 29/04/2024
257. ASLR Not Used [iOS] – Última atualização em 29/04/2024
258. Test for code injection – Última atualização em 29/04/2024
259. Bypass Certificate Pinning – Última atualização em 29/04/2024
260. Verify that compiler security features are activated – Última atualização em 29/04/2024
261. Insecure permissions on Unix domain sockets [Android] – Última atualização em 29/04/2024
262. Verify that Java bytecode has been minified – Última atualização em 29/04/2024
263. Cross Origin Resource Sharing – Última atualização em 29/04/2024
264. Test the custom keyboard – Última atualização em 29/04/2024
265. Reverse DNS Lookup – Última atualização em 29/04/2024
266. Zone Transfer Analysis – Última atualização em 29/04/2024
267. Service Banner Collection – Última atualização em 29/04/2024
268. SSL/TLS Certificate Verification – Última atualização em 29/04/2024
269. Test step-up authentication – Última atualização em 29/04/2024
270. Password Reset Token Randomness Check – Última atualização em 29/04/2024
271. Test X.509 certificate verification – Última atualização em 29/04/2024
272. User Enumeration via 'Forgot Password' Functionality – Última atualização em 29/04/2024
273. Verify that the app forces updates of outdated system components – Última atualização em 29/04/2024
Página 67 de 89
274. Password Strength Testing – Última atualização em 29/04/2024
275. Verify that the app checks its installation source – Última atualização em 29/04/2024
276. Port Scanning Test – Última atualização em 29/04/2024
277. Session Expiration Time Check – Última atualização em 29/04/2024
278. Cache Poisoning Testing – Última atualização em 29/04/2024
279. Secure Session Cookie Storage Test – Última atualização em 29/04/2024
280. Pentest DNS Record Query – Última atualização em 29/04/2024
281. MX Record Analysis – Última atualização em 29/04/2024
282. Pentest DNS Reconnaissance - Enumeration DNS – Última atualização em 29/04/2024
283. Clickjacking Test – Última atualização em 29/04/2024
284. Verify password entry fields allow, or encourage, the use of passphrases, and do not prevent long
passphrases/highly complex passwords being entered. – Última atualização em 29/04/2024
285. Verify that there is no custom session manager, or that the custom session manager is resistant against all
common session management attacks. – Última atualização em 29/04/2024
286. Verify that the application accepts only a defined set of required HTTP request methods, such as GET and
POST are accepted, and unused methods (e.g. TRACE, PUT, and DELETE) are explicitly blocked. – Última
atualização em 29/04/2024
287. Verify the application will only process business logic flows in sequential step order, with all steps being
processed in realistic human time, and not process out of order, skipped steps, process steps from another
user, or too quickly submitted transactions. – Última atualização em 29/04/2024
288. Verify application does not utilise self-signed certificate. – Última atualização em 29/04/2024
289. Verify __VIEWSTATE parameter is encrypted. – Última atualização em 29/04/2024
Página 68 de 89
290. Verify service and application against TTL and OS fingerprint results for all addresses. – Última atualização
em 29/04/2024
291. Enumerate accesses requiring authentication and document all privileges discovered which can be used to
provide access. – Última atualização em 29/04/2024
292. SQL Injection – Última atualização em 29/04/2024
293. CAPTCHA is not implemented on Public Pages/Login Pages – Última atualização em 29/04/2024
294. Sensitive information sent as a querystring parameter – Última atualização em 29/04/2024
295. Application is accessible on Rooted or Jail Broken Device – Última atualização em 29/04/2024
296. Directory Browsing – Última atualização em 29/04/2024
297. Certificate Chain is not Validated – Última atualização em 29/04/2024
298. Third-party Data Transit on Unencrypted Channel – Última atualização em 29/04/2024
299. Ignore SSL Certificate Error – Última atualização em 29/04/2024
300. Use Spoof-able Values for Authenticating User (IMEI, UDID) – Última atualização em 29/04/2024
301. Using Device Identifier as Session – Última atualização em 29/04/2024
302. Application has NO or improper Session Management/Failure – Última atualização em 29/04/2024
303. Improper Input Validation - Server Side – Última atualização em 29/04/2024
304. Secure Attribute not set for a cookie – Última atualização em 29/04/2024
305. Test if sensitive data is sent to third parties – Última atualização em 29/04/2024
306. Test whether insecure, external communication channels are used – Última atualização em 29/04/2024
Página 69 de 89
307. Test IPC functionality – Última atualização em 29/04/2024
308. Test for memory management bugs – Última atualização em 29/04/2024
309. Enumeration of Network Protocols – Última atualização em 29/04/2024
310. Enumeration of Exposed Databases – Última atualização em 29/04/2024
311. Pentest API Endpoint Enumeration – Última atualização em 29/04/2024
312. HTTP/HTTPS Header Collection – Última atualização em 29/04/2024
313. Open Redirect Test – Última atualização em 29/04/2024
314. Framework and Library Identification – Última atualização em 29/04/2024
315. Cookie-Based Authentication Testing – Última atualização em 29/04/2024
316. Role-Based Access Control (RBAC) Testing – Última atualização em 29/04/2024
317. Brute-force Authentication Login – Última atualização em 29/04/2024
318. Post-Exploitation Privilege Escalation - Web Configuration and Vulnerabilities – Última atualização em
29/04/2024
319. Verifique a manipulação do token de sessão – Última atualização em 29/04/2024
320. Verify Remote Code Execution (RCE) vulnerabilities – Última atualização em 29/04/2024
321. Directory Listing Check – Última atualização em 29/04/2024
322. Cookie Security Check – Última atualização em 29/04/2024
323. Parallel Session Test – Última atualização em 29/04/2024
Página 70 de 89
TESTES EM PROGRESSO
1. Verify responses to UDP packet requests with BAD CHECKSUMS to all discovered ports and for 0, 53, 69, 131,
and 161. – Última atualização em 29/04/2024
2. Verify responses from TCP service requests to ports 0, 21, 22, 23, 25, 53, 80, and 443. – Última atualização em
29/04/2024
3. Identify targets’ TTL response, system uptime, services, applications, application faults, and correlate this with
the responses from system and servicefingerprinting tools. – Última atualização em 29/04/2024
4. Pentest XXE (External Entity Attack) Test – Última atualização em 29/04/2024
5. Verify that all random numbers, random file titles, random GUIDs, and random strings are generated using
the cryptographic module’s approved random number generator when these random values are intended to
be not guessable by an attacker. – Última atualização em 29/04/2024
6. Code Execution via File Upload Test – Última atualização em 29/04/2024
7. Race Condition Verification – Última atualização em 29/04/2024
8. HTTP Response Splitting Test – Última atualização em 29/04/2024
9. Realizar tentativa de Brute-force Authentication Login – Última atualização em 29/04/2024
10. For auto-escaping template technology, if UI escaping is disabled, ensure thatHTML sanitization is enabled
instead. – Última atualização em 29/04/2024
11. Verify that there is an explicit policy for how cryptographic keys are managed (e.g., generated,
distributed,revoked, and expired). Verify thatthis key lifecycle is properly enforced. – Última atualização em
29/04/2024
12. Verify that all keys and passwords are replaceable, and are generated orreplaced at installation time. – Última
atualização em 29/04/2024
13. Verify that the application does not output error messages orstack traces containing sensitive data that could
assist an attacker, including session id, software/framework versions and personal information. – Última
atualização em 29/04/2024
14. Search web logs and intrusion logs for system trails from the target network. – Última atualização em
29/04/2024
Página 71 de 89
15. Verify responses from TCP SYN fragments to ports 0, 21, 22, 23, 25, 53, 80, and 443. – Última atualização em
29/04/2024
16. Verify the use of all targets with sequential IPIDs to enumerate systems within the network. – Última
atualização em 29/04/2024
17. LDAP Injection Test – Última atualização em 29/04/2024
18. Insecure Deserialization Test – Última atualização em 29/04/2024
19. Make sure untrusted HTML from WYSIWYG editors or similar are properly sanitized with an HTML sanitizer
and handle it appropriately according to the input validation task and encoding task. – Última atualização em
29/04/2024
20. Verify that cryptographic algorithms used by the application have been validated against FIPS 140-2 or an
equivalent standard. – Última atualização em 29/04/2024
21. Personally Identifiable Information should be stored encrypted at rest and ensure that communication goes
via protected channels. – Última atualização em 29/04/2024
22. Verify responses from all combinations of TCP flags to ports 0, 21, 22, 23, 25, 53, 80, and 443. – Última
atualização em 29/04/2024
23. Request known, common VPN services including those which utilize IPSEC and IKE for
connections from all addresses. – Última atualização em 29/04/2024
24. Request all service banners (flags) for discovered TCP ports. – Última atualização em 29/04/2024
25. Insecure File Upload Test – Última atualização em 29/04/2024
26. GraphQL Pentest Vulnerability – Última atualização em 29/04/2024
27. File Inclusion (LFI/RFI) Test – Última atualização em 29/04/2024
28. Code Injection Test – Última atualização em 29/04/2024
29. Template Injection Test – Última atualização em 29/04/2024
Página 72 de 89
30. Information Disclosure Test – Última atualização em 29/04/2024
31. Verify that structured data is strongly typed and validated against a defined schema including allowed
characters, length and pattern (e.g. credit card numbers or telephone, or validating that two related fields are
reasonable, such as validating suburbs and zip or post codes match). – Última atualização em 29/04/2024
32. Verify security logging controls provide the ability to log success and particularly failure events that are
identified as security-relevant. – Última atualização em 29/04/2024
33. Verify responses from a TCP ACK with a SOURCE port of 80 to ports 3100-3150, 10001-10050, 33500-33550,
and 50 random ports above 35000. – Última atualização em 29/04/2024
34. Verify service banners (flags) through interactions with the service comprising of both valid and invalid
requests. – Última atualização em 29/04/2024
35. Host Header Injection Verification – Última atualização em 29/04/2024
36. Verify that unstructured data is sanitised to enforce generic safety measures such as allowed characters and
length, and characters potentially harmful in given context should be escaped (e.g. natural titles with Unicode
or apostrophes). – Última atualização em 29/04/2024
37. Verify that data transferred from one DOM context to another, uses safe JavaScript methods, such as using
.innerText and .val. – Última atualização em 29/04/2024
38. Verify that where possible, keys and secrets are zeroed when destroyed. – Última atualização em 29/04/2024
39. Verify when parsing JSON in browsers, that JSON.parse is used to parse JSONon the client. Do not use eval() to
parse JSON on the client. – Última atualização em 29/04/2024
40. Verify that all cryptographic modules fail securely, and errors are handled in a way that does not enable
oracle padding. – Última atualização em 29/04/2024
41. Verify that authenticated data is cleared from client storage, such as the browser DOM, after the session is
terminated. – Última atualização em 29/04/2024
42. Verify that error handling logic in security controls denies access by default. – Última atualização em
29/04/2024
43. Verify that the application does not log sensitive data as defined underlocal privacy laws or regulations,
organizational sensitive data as defined by a risk assessment, or sensitive authentication data that could assist
Página 73 de 89
an attacker, including user’s session identifiers, passwords, hashes, or API tokens. – Última atualização em
29/04/2024
44. Verify that security logs are protected from unauthorized access and modification. – Última atualização em
29/04/2024
45. Verify responses from TCP SYN packet requests to ports 0-65535. – Última atualização em 29/04/2024
46. Verify service request responses to common and contemporary UDP remote access malware
ports. – Última atualização em 29/04/2024
47. Request known, common services which utilize UDP for connections from all addresses. – Última atualização
em 29/04/2024
48. Verify responses to UDP packet requests FROM SOURCE ports 0, 53, 139, and 161 to 0, 53, 69, 131, and 161. –
Última atualização em 29/04/2024
49. Map and verify for consistency visible systems and responding ports by TTLs. – Última atualização em
29/04/2024
50. Manipulate network service and routing to access past restrictions within the scope. – Última atualização em
29/04/2024
51. Server-side Request Forgery (SSRF) Test – Última atualização em 29/04/2024
52. SQL Injection Pentest – Última atualização em 29/04/2024
53. XML Injection Test – Última atualização em 29/04/2024
54. Verify that each log event includes necessary information that would allow for a detailed investigation of the
timeline when an event happens. – Última atualização em 29/04/2024
55. Verify all responses from UDP packet requests to ports 0-65535. – Última atualização em 29/04/2024
56. Verify the use of all targets with HTTP or HTTPS based VPNs, proxies, and URL redirectors to
redirect requests for targets within the scope. – Última atualização em 29/04/2024
57. Match each open port to a daemon (service), application (specific code or product which
uses the service), and protocol (the means for interacting with that service or application). – Última
atualização em 29/04/2024
Página 74 de 89
58. DOM-based Cross-site Scripting (XSS) Test – Última atualização em 29/04/2024
59. NoSQL Injection Test – Última atualização em 29/04/2024Página 75 de 89
TESTES PENDENTES
1. Verify that the system can be configured to disallow the use of a configurable number of previous passwords.
– Última atualização em 16/01/2024
2. Verify re-authentication, step up or adaptive authentication, two factor authentication, or transaction signing
is required before any application-specific sensitive operations are permitted as per the risk profile of the
application. – Última atualização em 16/01/2024
3. Enumerate information regarding the organization such as organization charts, key personnel titles, job
descriptions, personal and work telephone numbers, mobile phone numbers, business cards, shared
documents, resumes, organizational affiliations, private and public e-mail addresses, log-ins, log-in schemes,
passwords, back-up methods, insurers, or any particular organizational information stated implicitly as
confidential in regulations and policy. – Última atualização em 16/01/2024
4. Identify if any known vulnerabilities are residing on the systems (Vulnerability Scanning). – Última atualização
em 16/01/2024
5. Test 2-factor authentication – Última atualização em 16/01/2024
6. Verify there are no default passwords in use for the application framework or any components used by the
application (such as “admin/password”). – Última atualização em 16/01/2024
7. Verify that information enumeration is not possible via login, password reset, or forgot account functionality.
– Última atualização em 16/01/2024
8. Test cryptographic modules – Última atualização em 16/01/2024
9. Test user account lock/ exponential back-off in response to excessive login attempts – Última atualização em
16/01/2024
10. Verify that request throttling is in place to prevent automated attacks against common authentication attacks
such as brute force attacks or denial of service attacks. – Última atualização em 16/01/2024
11. Verify that account lockout is divided into soft and hard lock status, and these are not mutually exclusive. If
an account is temporarily soft locked out due to a brute force attack, this should not reset the hard lock
status. – Última atualização em 16/01/2024
12. Correlate information with non-responsive TCP and UDP ports to determine if availability is dependent upon a
private type of contact or protocol. – Última atualização em 16/01/2024
Página 76 de 89
13. Verify that Administration is done locally or with controls to limit who or what can access the remote
administration interfaces of the equipment. – Última atualização em 16/01/2024
14. Enumerate system, service and application exposures detailing the design, type, version, or state on the
targets or from resources outside the scope such as from postings or leaks. – Última atualização em
16/01/2024
15. Verify that random values are generated using a sufficiently secure random number generator – Última
atualização em 16/01/2024
16. Verify that forgotten password and other recovery paths use a soft token, mobile push, or an offline recovery
mechanism. – Última atualização em 16/01/2024
17. Verify that if knowledge based questions (also known as 'secret questions') are required, the questions should
be strong enough to protect the application. – Última atualização em 16/01/2024
18. Verify that SOAP based web services are compliant with Web Services-Interoperability (WS-I) Basic Profile at
minimum. – Última atualização em 16/01/2024
19. Verify the application explicitly checks the incoming Content-Type to be the expected one, such as
application/xml or application/json. – Última atualização em 16/01/2024
20. Test the strength and design of the encryption or obfuscation method. – Última atualização em 16/01/2024
21. Enumerate services within the scope for communications or assets transported using specific, individual
signatures, personal identification, “quieted” or “closed room” personal interactions to protect the privacy of
the interaction and the process of providing assets only to those within the proper security clearance for that
process, communication, or asset. – Última atualização em 16/01/2024
22. Verify that all keys and passwords are changeable, and are generated or replaced at installation time – Última
atualização em 16/01/2024
23. Verify the use of session-based authentication and authorisation. – Última atualização em 16/01/2024
24. Verify that the application is protected from Cross-Site Request Forgery (CSRF). – Última atualização em
16/01/2024
25. Verify that the message payload issigned to ensure reliable transport between client and service. – Última
atualização em 16/01/2024
Página 77 de 89
26. Examine controls to verify the configurations and baselines of systems, equipment and
applications meet the intent of the organization and reflect a business justification. – Última atualização em
16/01/2024
27. Verify default settings have been changed. Some devices or applications ship with a default or hidden
administrative account. These accounts should be changed, or if possible, disabled or deleted and replaced
with a new administrative account. – Última atualização em 16/01/2024
28. Identify and examine quarantine methods for aggressive and hostile contacts such as malware, rogue access
points, unauthorized storage devices, etc. – Última atualização em 16/01/2024
29. Examine and verify any means for gaining fraudulent authorization to gain privileges similar to that of other
personnel. – Última atualização em 16/01/2024
30. Verify that credentials are transported using a suitable encrypted link and that all pages/functions that
require a user to enter credentials are done so using an encrypted link. – Última atualização em 16/01/2024
31. Verify that all authentication credentials for accessing services external to the application are encrypted and
stored in a protected location. – Última atualização em 16/01/2024
32. Communications between components, such as between the application server and the database server
should be authenticated using an account with the least necessary privileges. – Última atualização em
16/01/2024
33. Verify that alternative and less secure access paths do not exist. – Última atualização em 16/01/2024
34. Communications between components, such as between the application server and the database server,
should be encrypted, particularly when the components are in different containers or on different systems. –
Última atualização em 16/01/2024
35. Test access to authenticated access points through the most appropriate and available
cracking techniques. Password cracking via dictionary or brute-force may be limited by the time frame of the
audit and therefore not a valid test of the protection from that authentication schema however any successful
discoveries do attest to its weakness. – Última atualização em 16/01/2024
36. Document and verify unprivileged access to alarm, log, and notification storage locations and property. –
Última atualização em 16/01/2024
37. Examine Access Control Lists (ACLs) and business roles configured on networks, systems, services, and
applications within the scope to ensure they meet the intent of the organization and reflect a business
justification. – Última atualização em 16/01/2024
Página 78 de 89
38. Verify that private information and confidential intellectual property, such as documents, service contracts,
OS/Software keys, etc. are not available to anyone without proper privileges. – Última atualização em
16/01/2024
39. Check for unnecessary or unused services/features available. – Última atualização em 16/01/2024
40. Check for default credentials. – Última atualização em 16/01/2024
41. Enumerate the use of default accounts on targets. – Última atualização em 16/01/2024
42. Test if local storage is wiped upon remote locking – Última atualização em 16/01/202443. Test enforcement of device-access-security policy – Última atualização em 16/01/2024
44. Test user authentication – Última atualização em 16/01/2024
45. Test session management – Última atualização em 16/01/2024
46. All components should be up to date with proper security configuration(s) and version(s). This should include
removal of unneeded configurations and folderssuch as sample applications, platform documentation, and
default or example users. – Última atualização em 16/01/2024
47. Verify application deployments are adequately sandboxed, containerized orisolated to delay and deter
attackers from attacking other applications. – Última atualização em 16/01/2024
48. Enumerate and test for inadequacies of integrity where using a documented process, signatures, encryption,
hash, or markings to assure that the asset cannot be changed, redirected, or reversed without it being known
to the parties involved. – Última atualização em 16/01/2024
49. Verify the boundaries of privileges on the target or across multiple targets and if the means
exists to escalate those privileges. – Última atualização em 16/01/2024
50. Test for sensitive data in memory – Última atualização em 16/01/2024
Página 79 de 89
TESTES NÃO APLICÁVEIS
51. Verify the system can protect against aggregate or continuous access of secured functions, resources, or
data. For example, consider the use of a resource governor to limit the number of edits per hour or to
prevent the entire database from being scraped by an individual user. – Última atualização em 29/04/2024
52. Verify that the application has defenses against HTTP parameter pollution attacks, particularly if the
application framework makes no distinction about the source of request parameters (GET, POST, cookies,
headers, environment, etc.) – Última atualização em 29/04/2024
53. Verify that all input data is validated, not only HTML form fields but all sources of input such as REST calls,
query parameters, HTTP headers, cookies, batch files, RSS feeds, etc; using positive validation (whitelisting),
then lesser forms of validation such as greylisting (eliminating known bad strings), or rejecting bad inputs
(blacklisting). – Última atualização em 29/04/2024
54. Verify broadcast requests and responses from all targets. – Última atualização em 29/04/2024
55. Test advanced emulator detection – Última atualização em 29/04/2024
56. Verify that the application orframework uses strong randomanti-CSRF tokens or has another transaction
protection mechanism. – Última atualização em 29/04/2024
57. Verify that the application correctly enforces context-sensitive authorisation so asto not allow unauthorised
manipulation by means of parameter tampering. – Última atualização em 29/04/2024
58. Verify that server side input validation failures result in request rejection and are logged. – Última
atualização em 29/04/2024
59. Verify responses from targets to select ports with TTL expiration set to less than 1 and 2 hops from the
targets. For example:
- TCP 8, 22, 23, 25, 80, 443, 445, 1433
- UDP 0, 53, 139, 161
- ICMP T00:C00, T13:C00, T15:C00, T17:C00 – Última atualização em 29/04/2024
60. Verify that all user and data attributes and policy information used by access controls cannot be
manipulated by end users unless specifically authorized. – Última atualização em 29/04/2024
61. Verify the application has additional authorization (such as step up or adaptive authentication) for lower
value systems, and / or segregation of duties for high value applications to enforce anti-fraud controls as per
the risk of application and past fraud. – Última atualização em 29/04/2024
Página 80 de 89
62. Verify that the runtime environment is not susceptible to buffer overflows, or that security controls prevent
buffer overflows. – Última atualização em 29/04/2024
63. Verify that input validation routines are enforced on the server side. – Última atualização em 29/04/2024
64. Verify default and likely SNMP community titles in use are according to practical
deployments of all SNMP versions. – Última atualização em 29/04/2024
65. Verify that the same access control rules implied by the presentation layer are enforced on the server side.
– Última atualização em 29/04/2024
66. Verify that all access control decisions can be logged and all failed decisions are logged. – Última atualização
em 29/04/2024
67. Verify that the application is not susceptible to LDAP Injection, or that security controls prevent LDAP
Injection. – Última atualização em 29/04/2024
68. Verify that the application is not susceptible to Remote File Inclusion (RFI) or Local File Inclusion (LFI) when
content is used that is a path to a file. – Última atualização em 29/04/2024
69. Verify active responses to probes from systems and services. This could be human or machine readable
notifications, packet responses, silent alarm trips, or the like. – Última atualização em 29/04/2024
70. Query all title servers and the title servers of the ISP or hosting provider, if available, for corresponding A,
AAAA, and PTR records as well as ability to perform zone transfers to determine the existence of all targets
in the network and any related redundancies, load
balancing, caching, proxying, and virtual hosting. – Última atualização em 29/04/2024
71. Verify that client side validation is used as a second line of defense, in addition to server side validation. –
Última atualização em 29/04/2024
72. Use network sniffing to identify emanating protocols from network service responses or requests where
applicable. For example, Netbios, ARP, SAP, NFS, BGP, OSPF, MPLS, RIPv2, etc. – Última atualização em
29/04/2024
73. Verify that the application is not susceptible to OS Command Injection, or that security controls prevent OS
Command Injection. – Última atualização em 29/04/2024
74. Ensure that all string variables placed into HTML or other web client code is either properly contextually
encoded manually, or utilise templates that automatically encode contextually to ensure the application is
not susceptible to reflected, stored and DOM Cross-Site Scripting (XSS) attacks. – Última atualização em
29/04/2024
Página 81 de 89
75. If the application framework allows automatic mass parameter assignment (also called automatic variable
binding) from the inbound request to a model, verify that security sensitive fields such as “accountBalance”,
“role” or “password” are protected from malicious automatic binding. – Última atualização em 29/04/2024
76. Verify ICMP responses for ICMP types 0-255 and ICMP codes 0-2 from all targets. – Última atualização em
29/04/2024
77. Verify that all SQL queries, HQL, OSQL, NOSQL and stored procedures, calling of stored procedures are
protected by the use of prepared statements or query parameterization, and thus not susceptible to SQL
injection. – Última atualização em 29/04/2024
78. Verify that the application is not susceptible to common XML attacks, such as XPath query tampering, XML
External Entity attacks, and XML injection attacks. – Última atualização em 29/04/2024
79. Map any applications, systems, or network segments within the scope which produce logs, alarms, or
notifications. This could include Network or Host based Intrusion Detection or Prevention Systems, syslog,
Security Information Management tools (SIMs), application logs, and the like. – Última atualização em
29/04/2024
80. Verify and examine the use of traffic and routing protocols for all targets. – Última atualização em
29/04/2024
Página 82 de 89
MAPEAMENTO DE ATIVOS
AFETADOS POR VULNERABILIDADES
1. Critical - Injeção de Código SQL
- Remediada – example.com
2. Critical - Bypass de extensões de arquivos para obter execução de código
- Remediada – example.com
3. Critical - Funçãode Envio de Currículo Vulnerável à Execução Remota
- Em Aberto – examplecorp.com
4. Critical - HttpfileServer 2.3 Vulnerável à Execução Remota
- Em Aberto – files.examplecorp.com
5. Critical - AS-REP Roasting
- Em Aberto – dc.example-corp.com
6. High - Cross-Site Scripting Persistente (XSS Persistente)
- Remediada – example.com
7. High - Cross-Site Request Forgery (CSRF)
- Em Aberto – example.com
8. High - Cross-Site Scripting Stored(XSS Stored)
- Em Aberto – example.com
9. High - Escalada de Privilégio Via CVE-2019-1458
- Remediada – examplecorp.com
10. Medium - Política Fraca de Senha
- Em Aberto – example.com
11. Medium - Força Bruta sem Taxa de Limitação
- Em Aberto – example.com
12. Medium - Ausência de SSL
- Em Aberto – example.com
13. Medium - Versão desatualizada do MikroTik RouterOS
- Em Aberto – dc.example-corp.com
14. Low - Informações Sensíveis Expostas
- Em Aberto – localhost
15. Info - Exposição do Arquivo robots.txt
- Em Aberto – example.com
Página 83 de 89
MAPEAMENTO DE
VULNERABILIDADES POR ATIVOS
1. dc.example-corp.com
- Critical – Em Aberto - AS-REP Roasting
- Medium – Em Aberto - Versão desatualizada do MikroTik RouterOS
2. example.com
- Critical – Remediada - Injeção de Código SQL
- Critical – Remediada - Bypass de extensões de arquivos para obter execução de código
- High – Remediada - Cross-Site Scripting Persistente (XSS Persistente)
- High – Em Aberto - Cross-Site Request Forgery (CSRF)
- High – Em Aberto - Cross-Site Scripting Stored(XSS Stored)
- Medium – Em Aberto - Política Fraca de Senha
- Medium – Em Aberto - Força Bruta sem Taxa de Limitação
- Medium – Em Aberto - Ausência de SSL
- Info – Em Aberto - Exposição do Arquivo robots.txt
3. examplecorp.com
- Critical – Em Aberto - Função de Envio de Currículo Vulnerável à Execução Remota
- High – Remediada - Escalada de Privilégio Via CVE-2019-1458
4. files.examplecorp.com
- Critical – Em Aberto - HttpfileServer 2.3 Vulnerável à Execução Remota
5. localhost
- Low – Em Aberto - Informações Sensíveis Expostas
Página 84 de 89
PLANO DE AÇÃO
1. Injeção de Código SQL – CRÍTICA CVSS 10
• Validação de Entrada: Todos os dados do usuário devem ser tratados como não confiáveis. Eles
devem ser validados e filtrados. Utilize listas de permissão (whitelists) em vez de listas de exclusão
(blacklists) para validar entradas.
• Uso de Consultas Parametrizadas: Evite construir consultas SQL por concatenação de strings. Em vez
disso, use consultas parametrizadas, declarações preparadas ou procedimentos armazenados, que
separam com segurança os dados das instruções SQL.
• Princípio do Privilégio Mínimo: Execute comandos SQL com os privilégios mínimos necessários,
evitando usar contas com privilégios de administrador ou superusuário para conectar-se ao banco de
dados.
• Erros Genéricos: Evite mostrar erros detalhados do banco de dados ao usuário final. Mensagens de
erro detalhadas podem revelar informações sobre a estrutura do banco de dados, facilitando a
exploração por atacantes.
• Monitore e Registre: Mantenha registros detalhados e monitore os acessos ao banco de dados.
Qualquer atividade suspeita deve ser investigada.
• Atualizações e Patches: Mantenha o software do banco de dados e quaisquer frameworks
relacionados atualizados para garantir que todas as correções de segurança estejam aplicadas.
2. Bypass de extensões de arquivos para obter execução de código – CRÍTICA CVSS 9.8
• Validação rigorosa de tipos de arquivo: Implementar um processo de validação que verifique o tipo
de arquivo com base em seu conteúdo (utilizando ferramentas como Fileinfo), e não apenas na
extensão, garantindo que apenas formatos de arquivo explicitamente permitidos sejam aceitos.
• Renomeação de arquivos: Renomear automaticamente os arquivos enviados para nomes aleatórios e
imprevisíveis, eliminando a possibilidade de um invasor inferir o nome do arquivo e sua função no
sistema.
• Armazenamento seguro: Armazenar os arquivos enviados em um diretório externo à raiz do servidor
web, inacessível diretamente por URL, e configurar o servidor web para servir os arquivos a partir
desse diretório com as permissões corretas.
• Proteção contra execução de scripts: Configurar o servidor web para não executar scripts (como PHP)
no diretório de upload, garantindo que mesmo que um arquivo malicioso seja enviado, ele não possa
ser executado.
• Lista de permissões (whitelist) de extensões: Manter uma lista restrita de extensões de arquivo
permitidas, rejeitando qualquer arquivo que não esteja nessa lista.
• Validação do conteúdo do arquivo: Além de validar a extensão, implementar mecanismos para
analisar o conteúdo do arquivo em busca de assinaturas de malware ou outros padrões suspeitos.
• Limitação do tamanho do arquivo: Estabelecer um limite máximo para o tamanho dos arquivos
enviados, evitando o upload de arquivos excessivamente grandes que possam sobrecarregar o
sistema.
Página 85 de 89
• Registro e monitoramento: Manter um registro detalhado de todos os uploads de arquivos, incluindo
informações como nome do arquivo, tipo, tamanho, data e hora do upload, e endereço IP do usuário.
Monitorar esses registros em busca de atividades suspeitas.
• Atualização do software: Manter o software do servidor web, sistema operacional e quaisquer
bibliotecas utilizadas atualizadas com as últimas correções de segurança.
3. Função de Envio de Currículo Vulnerável à Execução Remota – CRÍTICA CVSS 9.8
• Verificação apropriada do tipo de arquivo: Implementar uma verificação baseada no conteúdo do
arquivo, e não apenas na extensão, para garantir que somente tipos de arquivos permitidos sejam
carregados.
• Nomes de arquivo e pasta aleatórios: Implementar uma verificação baseada no conteúdo do arquivo,
e não apenas na extensão, para garantir que somente tipos de arquivos permitidos sejam carregados.
• Segurança do diretório de upload: Implementar uma verificação baseada no conteúdo do arquivo, e
não apenas na extensão, para garantir que somente tipos de arquivos permitidos sejam carregados.
• Verificação de antivirus: Implementar uma verificação baseada no conteúdo do arquivo, e não
apenas na extensão, para garantir que somente tipos de arquivos permitidos sejam carregados.
• Validação do nome do arquivo: Implementar uma verificação baseada no conteúdo do arquivo, e não
apenas na extensão, para garantir que somente tipos de arquivos permitidos sejam carregados.
• Upload e salvamento de documentos sensíveis em forma criptografada: Implementar uma
verificação baseada no conteúdo do arquivo, e não apenas na extensão, para garantir que somente
tipos de arquivos permitidos sejam carregados.
• Tokens de página: Implementar uma verificação baseada no conteúdo do arquivo, e não apenas na
extensão, para garantir que somente tipos de arquivos permitidos sejam carregados.
• Páginas de erro apropriadas: Implementar uma verificação baseada no conteúdo do arquivo, e não
apenas na extensão, para garantir que somente tipos de arquivos permitidos sejam carregados.
• Verbos adequados: Implementar uma verificação baseada no conteúdo do arquivo, e não apenas na
extensão, para garantir que somente tipos de arquivos permitidos sejam carregados.
• Lista de Controle de Acesso (ACL): Implementar uma verificação baseada no conteúdo do arquivo, e
não apenas na extensão, para garantir que somente tipos de arquivos permitidos sejam carregados.
• Registro de atividades do usuário: Implementar uma verificação baseada no conteúdo do arquivo, e
não apenas na extensão, para garantir que somente tipos de arquivos permitidos sejam carregados.
4. HttpfileServer 2.3 Vulnerável à Execução Remota – CRÍTICA CVSS 9.8
• Atualização do Software: Manter o software atualizado é crucial. Os desenvolvedores geralmente
corrigem vulnerabilidades conhecidas em versões mais recentes. Certifique-se de instalar as
atualizações de segurançafornecidas pelos fornecedores do software.
• Firewalls e Listas de Controle de Acesso (ACLs): Configurar firewalls e ACLs para restringir o tráfego
de entrada e saída, permitindo apenas comunicações essenciais. Isso pode ajudar a bloquear
tentativas de exploração.
Página 86 de 89
5. AS-REP Roasting – CRÍTICA CVSS 9.8
• Ativação da pré-autenticação do Kerberos: Habilitar a pré-autenticação do Kerberos para todas as
contas de usuário e serviço para impedir ataques de password spraying e outros métodos de
obtenção de credenciais não autorizadas. Isso adiciona uma camada extra de segurança ao exigir que
as solicitações de autenticação sejam devidamente validadas antes de serem processadas.
• Monitoramento constante de segurança: Implementar um sistema de monitoramento de segurança
contínuo que utilize ferramentas avançadas de detecção de ameaças e análise de comportamento.
Realizar revisões periódicas das configurações de segurança para garantir que estejam atualizadas e
alinhadas com as melhores práticas e os requisitos de conformidade.
• Treinamento contínuo dos funcionários: Desenvolver um programa robusto de treinamento de
segurança da informação que inclua sessões regulares de atualização e conscientização. Cobrir
tópicos como identificação de phishing, uso seguro de senhas, proteção de dados e resposta a
incidentes de segurança, garantindo que todos os funcionários estejam preparados para lidar com
ameaças cibernéticas.
• Resposta rápida a incidentes: Estabelecer um plano de resposta a incidentes detalhado que inclua
procedimentos claros para a detecção, contenção, erradicação e recuperação de incidentes de
segurança. Garantir que a equipe de resposta a incidentes esteja bem treinada e equipada para agir
rapidamente, minimizando os danos e restaurando as operações normais de forma eficiente.
6. Cross-Site Scripting Persistente (XSS Persistente) – ALTA CVSS 7.4
• Verificar e validar todos os dados de entrada do usuário antes de salvá-los no banco de dados é
essencial para remediar a vulnerabilidade de XSS Persistente, além de garantir que estes dados sejam
sanitizados para remover caracteres maliciosos.
• Para prevenir a vulnerabilidade de XSS Persistente, é útil utilizar frameworks de desenvolvimento
seguro que incluem recursos de validação de entrada, bem como empregar bibliotecas de sanitização
de entrada e codificar a entrada de dados do usuário.
• Configurar corretamente os cabeçalhos HTTP, como definir a política de segurança de conteúdo HTTP
(HTTP Content Security Policy), é outra medida importante, pois pode ajudar a limitar a execução de
scripts maliciosos em um site.
7. Cross-Site Request Forgery (CSRF) – ALTA CVSS 7
• É recomendado implementar um token anti-CSRF para todas as funções que permitem a modificação
do estado da aplicação. Adicione um valor gerado aleatoriamente e imprevisível (nonce) a cada
formulário ou link no site que altere dados, e verifique se o valor recebido corresponde ao valor
esperado antes de realizar a ação solicitada. Além disso, como um método alternativo, force os
usuários a se reautenticarem com sua senha antes que ações sensíveis de atualização sejam
realizadas.
Página 87 de 89
8. Reflected Cross-Site Scripting (Reflected XSS)– ALTA CVSS 7.3
• Validação de Entrada: Todas as entradas recebidas dos usuários devem ser validadas rigorosamente,
usando uma abordagem de lista branca. Somente permita caracteres conhecidos como seguros.
• Sanitização: Antes de refletir qualquer dado de entrada em respostas HTTP, é fundamental que estes
sejam sanitizados, removendo ou neutralizando caracteres que podem ser interpretados como
código.
• Codificação de Saída: Ao exibir dados na página, certifique-se de codificar caracteres que têm
significado especial em HTML, como aspas, sinais de menor e maior.
• Políticas de Segurança de Conteúdo (CSP): Implemente CSP para limitar as fontes de scripts e
recursos. Isso pode ajudar a prevenir a execução de scripts maliciosos, mesmo se eles forem
injetados.
• Use frameworks e bibliotecas que automaticamente cuidam da prevenção de XSS: Muitos
frameworks modernos de desenvolvimento web têm recursos integrados para evitar ataques XSS.
9. Escalada de Privilégio Via CVE-2019-1458 – ALTA CVSS 7.8
Os usuários devem aplicar as atualizações fornecidas pela Microsoft para corrigir essa vulnerabilidade. A
Microsoft disponibilizou um patch de segurança em 2019 que corrige o problema. É recomendado instalar
essa atualização em todos os sistemas afetados para prevenir a exploração da vulnerabilidade. Além disso, é
aconselhável seguir boas práticas de segurança, como o princípio do menor privilégio, para minimizar o
impacto potencial.
Mais informações: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2019-1458
10. Política Fraca de Senha – MÉDIA CVSS 5.3
• Política de Senhas Complexas: Exigir senhas em conformidade com uma política de alta complexidade
é fundamental, configurando a aplicação para impor um tamanho mínimo de caracteres, bem como o
uso de letras maiúsculas, números e caracteres especiais.
• Manutenção de Segurança: Sempre exigir senhas suficientemente complexas e que sejam alteradas
periodicamente é uma prática crucial para os mecanismos de autenticação.
11. Força Bruta sem Taxa de Limitação – MÉDIA CVSS 5.3
• Implemente Limites de Taxa: Configure um mecanismo de limitação de taxa que restrinja o número
de tentativas de login permitidas em um período específico, como tentativas por minuto ou por hora.
Isso ajudará a impedir ataques de força bruta, tornando-os menos eficazes.
• Utilize Autenticação de Dois Fatores (2FA): Incentive ou exija a ativação da autenticação de dois
fatores para contas de usuário. Isso adiciona uma camada adicional de segurança, tornando mais
difícil para os invasores obter acesso, mesmo se eles conseguirem adivinhar as credenciais.
Página 88 de 89
• Bloqueio de Contas: Implemente um mecanismo de bloqueio de contas após um número específico
de tentativas de login malsucedidas. As contas bloqueadas devem ser desbloqueadas apenas após
verificação adicional, como um reset de senha ou aprovação manual.
• Monitoramento de Atividade: Estabeleça um sistema de monitoramento de atividade de login para
detectar padrões suspeitos ou comportamento anormal. Isso pode ajudar a identificar tentativas de
força bruta em tempo real.
• Educação de Usuários: Eduque os usuários sobre a importância de senhas seguras e práticas de
segurança cibernética. Incentive a criação de senhas fortes e a atualização regular das senhas.
• Teste de Segurança Regular: Realize testes regulares de penetração e avaliações de segurança para
identificar e corrigir outras vulnerabilidades em potencial na aplicação.
• Avisos de Tentativas de Login: Forneça aos usuários avisos de tentativas de login malsucedidas,
informando-os sobre atividades suspeitas em suas contas.
12. Ausência de SSL – MÉDIA CVSS 5.3
• Implementação Segura com SSL/TLS: Configurar e implementar corretamente o SSL/TLS na aplicação,
utilizando certificados SSL confiáveis e atualizados para garantir uma conexão segura e criptografada
entre o cliente e o servidor.
• Redirecionamento para HTTPS: Forçar a conexão HTTPS em vez de HTTP, por meio de
redirecionamentos, para garantir que todos os acessos à aplicação sejam automaticamente
direcionados para o protocolo seguro (HTTPS).
13. Versão desatualizada do MikroTik RouterOS – MÉDIA CVSS 5
• Revisão de Configurações de Segurança: Regularmente revisar as configurações de segurança do
dispositivo para garantir que apenas os serviços necessários estejam expostos e acessíveis.
• Políticas de Controle de Acesso: Implementar políticas de controle de acesso para restringir o acesso
a interfaces administrativas.
• Monitoramento de Dispositivos: Monitorar regularmente os dispositivos em busca de atividades
suspeitas ou não autorizadas.
• Autenticação Forte ede intrusão é fundamentada na integração de metodologias reconhecidas
internacionalmente, como os frameworks da OWASP e os princípios do Penetration Testing Execution Standard (PTES).
Reforçamos essa base com o framework MITRE ATT&CK, que nos permite simular cenários de ataque realistas e identificar
as táticas, técnicas e procedimentos utilizados por adversários no mundo real. Esta fusão de práticas consagradas
possibilita uma análise de segurança abrangente e adaptável a diferentes contextos operacionais.
Em complemento a estes métodos estabelecidos, a Guardsi integra sua metodologia própria e exclusiva de pentest,
caracterizada por sua minuciosidade e rigor técnico, visando uma compreensão completa das vulnerabilidades de
segurança e proporcionando estratégias robustas para a mitigação eficaz dos riscos identificados.
Em resumo as fases das atividades de teste de intrusão incluem:
• Planejamento – Definição dos objetivos do cliente e estabelecimento das normas de atuação.
• Descoberta – Execução de varreduras detalhadas e processos de enumeração para identificar
vulnerabilidades potenciais, áreas frágeis e possíveis vetores de exploração.
• Ataque – Confirmação de vulnerabilidades potenciais por meio de exploração prática e realização de
descobertas adicionais ao obter novos acessos.
• Documentação – Documentação detalhada de todas as vulnerabilidades e explorações identificadas,
incluindo tentativas malsucedidas, além da análise dos pontos fortes e fracos do sistema.
Página 4 de 89
DEFINIÇÃO DOS NÍVEIS DE PRIORIDADE
PRIORIDADE DESCRIÇÃO
CRÍTICA
Vulnerabilidades com potencial de causar
danos extremos, permitindo acesso irrestrito
ou comprometimento de dados vitais. Ação
corretiva imediata é necessária para prevenir
ataques devastadores.
ALTA
Falhas graves que podem ser exploradas
para afetar significativamente a integridade,
confidencialidade ou disponibilidade do
sistema. Requerem correção urgente devido
ao potencial de dano elevado.
MÉDIA
Problemas de segurança que oferecem
riscos menores e geralmente exigem
condições específicas para serem
explorados. Enquanto não críticos, são
importantes e devem ser corrigidos para
fortalecer a defesa contra ataques.
BAIXA
Vulnerabilidades com impacto limitado e
que oferecem pouco benefício a atacantes.
Embora sua exploração seja menos provável,
devem ser resolvidas para evitar que se
tornem pontos de apoio em ataques mais
elaborados.
INFO
Estas não são explorações por si, mas podem
fornecer insights sobre a postura de segurança,
potencialmente guiando melhorias e prevenindo
futuros riscos de segurança.
Página 5 de 89
SUMÁRIO EXECUTIVO
PROGRESSO DOS TESTES
31/12/2023
a
10/03/2024
76% Concluído
Testes Concluídos 323 / 462
Testes Em Progresso 59 / 462
Testes Pendentes 50 / 462
Testes Não Aplicáveis 30 / 462
VULNERABILIDADES ÚNICAS
Total 15
Crítica 5
Alta 4
Média 4
Baixa 1
Info 1
PROGRESSO DE REMEDIAÇÃO
Remediadas 4
Em Reteste 4
Em Aberto 7
Página 6 de 89
VISÃO GERAL DOS TESTES
CONCLUSÃO
Após uma análise detalhada realizada pela equipe de segurança da Guardsi no período de 10 de março de 2024 a 10 de
abril de 2024, identificamos várias vulnerabilidades nas aplicações web do BancoCN que ameaçam a integridade e a
confiabilidade do sistema. Essas falhas, se não forem corrigidas, podem acarretar danos significativos aos ativos da
empresa, prejudicar a reputação da instituição, violar a privacidade dos clientes e resultar em perdas financeiras
consideráveis.
Uma vulnerabilidade crítica identificada foi o SQL Injection, que permite a inserção de comandos SQL maliciosos no
sistema, comprometendo a segurança dos dados do banco e de seus clientes. Para mitigar esse risco, é fundamental
implementar um sistema de validação e sanitização de entradas, além de utilizar técnicas como consultas
parametrizadas e stored procedures.
Entre as vulnerabilidades de alta severidade, destacam-se o Cross-Site Scripting Refletido (XSS Refletido), o Cross-Site
Request Forgery (CSRF) e a execução remota de código por meio de upload inseguro de arquivo. Essas falhas podem
permitir ações mal-intencionadas de terceiros, como roubo de sessões e dados sensíveis dos usuários, além da execução
de comandos arbitrários no servidor. Para corrigir essas vulnerabilidades, recomendamos a sanitização das entradas do
usuário, a implementação de tokens anti-CSRF, a restrição ao tipo e tamanho de arquivos permitidos para upload e a
configuração de um ambiente isolado para armazenamento e processamento desses arquivos.
As vulnerabilidades de severidade média, como a falta de proteção contra ataques de força bruta, políticas fracas de
senha, exposição de informações por meio da listagem de diretórios e ausência de SSL/TLS, exigem medidas corretivas,
como a implementação de mecanismos de limitação de tentativas de login, políticas de senha robustas, desativação da
listagem de diretórios nos servidores e a adoção de uma camada de segurança SSL/TLS para proteger as informações
transmitidas entre clientes e servidor.
Embora as vulnerabilidades relacionadas à exposição da versão do software do servidor e informações no arquivo
robots.txt sejam de menor severidade, elas também devem ser abordadas. Recomendamos ocultar as informações de
versão dos softwares utilizados e revisar as informações expostas no arquivo robots.txt para evitar a divulgação de
detalhes desnecessários do sistema.
A Guardsi agradece a colaboração do BancoCN e enfatiza a importância de uma abordagem proativa na identificação de
falhas de segurança para assegurar a proteção dos ativos do negócio e a confiança dos clientes. Estamos à disposição
para futuras parcerias e colaborações na área de segurança cibernética.
Pontos Positivos
1. A análise revelou uma compreensão profunda das vulnerabilidades existentes nas aplicações web do BancoCN,
permitindo a identificação de falhas críticas e de alta severidade que podem ser imediatamente abordadas para
melhorar a segurança. Essa detecção precoce é crucial para mitigar riscos e fortalecer a postura de segurança da
instituição. As recomendações fornecidas são claras e acionáveis, permitindo que a equipe técnica do BancoCN
implemente rapidamente as correções necessárias. As sugestões abrangem tanto medidas imediatas quanto
estratégias de longo prazo para fortalecer a segurança das aplicações. A dedicação à realização de testes
abrangentes e detalhados demonstra um compromisso com a segurança cibernética. Essa abordagem proativa
permite identificar e corrigir vulnerabilidades antes que possam ser exploradas por atacantes, protegendo assim
os ativos da empresa e a confiança dos clientes.
Página 7 de 89
Pontos Negativos
1. A presença de vulnerabilidades graves como SQL Injection, Cross-Site Scripting (XSS) Refletido e execução
remota de código aponta para deficiências significativas nos controles de segurança do BancoCN. Essas falhas
ameaçam a integridade dos dados e a privacidade dos clientes, indicando a necessidade urgente de melhorias
nos processos de segurança e desenvolvimento de software. A identificação de múltiplas vulnerabilidades de
alta e média severidade sugere que as práticas atuais de desenvolvimento e teste de software do BancoCN não
estão adequadamente alinhadas com as melhores práticas de segurança. Isso indica a necessidade de integrar
práticas de desenvolvimento seguro (DevSecOps) e de realizar auditorias de segurança regulares. As
vulnerabilidades encontradas, se exploradas, podem ter impactos significativos nas operações do BancoCN,
incluindo interrupções de serviço, perda de dados e danos à reputação. A gravidade dessas possíveis
consequências ressalta a importância de uma resposta rápida e eficaz para corrigir as falhas identificadas. A
implementação das correções recomendadas exigirá recursos significativos em termos de tempo,Credenciais Personalizadas: Utilizar autenticação forte e mudar as credenciais
padrão fornecidas pelo fabricante.
Página 89 de 89
14. Informações Sensíveis Expostas – BAIXA CVSS 2.4
• Ocultar Metadados do Servidor: Configurar o servidor para não enviar metadados específicos no
cabeçalho HTTP, ocultando assim informações sobre a versão e configuração do servidor.
• Minimizar Comentários no Código Fonte: Reduzir a inclusão de comentários no código HTML que
divulgam informações detalhadas sobre o servidor. Comentários excessivos podem inadvertidamente
expor dados sensíveis.
• Utilizar Ferramentas de Otimização de Código: Implementar ferramentas de otimização de código
para remover automaticamente informações desnecessárias e reduzir o tamanho do código fonte,
diminuindo a probabilidade de vazamento de dados sensíveis
15. Exposição do Arquivo robots.txt – INFO CVSS 0
• Reconfiguração do Arquivo: Modificar o arquivo robots.txt para garantir que ele não revele
informações sensíveis sobre a estrutura do site. Idealmente, ele deve ser usado apenas para
desindexar páginas que não representem risco de segurança se descobertas.
• Controles de Acesso: Implementar controles de acesso e autenticação para diretórios sensíveis,
garantindo que apenas usuários autorizados possam acessá-los, independentemente de sua
visibilidade no robots.txt.
• Monitoramento e Auditoria: Estabelecer rotinas de monitoramento e auditoria para detectar
tentativas de acesso a diretórios protegidos e reagir a potenciais tentativas de exploração.
• Treinamento e Conscientização: Capacitar equipes de desenvolvimento e operações sobre as
melhores práticas de segurança, enfatizando a importância de configurações corretas de arquivos
como o robots.txt.esforço e
investimento financeiro. O BancoCN precisará alocar esses recursos adequadamente para garantir que todas as
vulnerabilidades sejam mitigadas de forma eficaz e eficiente.
SUMÁRIO DOS TESTES
A Guardsi Cybersecurity foi contratada para realizar um teste de intrusão no período de 31/12/2023 a 10/03/2024.
Ao longo deste teste, a equipe da Guardsi Cybersecurity executou um total de 462 casos de teste, empregando
metodologias avançadas para avaliar a segurança do sistema.
Uma descrição completa pode ser encontrada em CASOS DE TESTE:
• 323 casos de teste foram concluídos.
• 59 casos de teste ainda estavam em andamento.
• 50 casos de teste não foram testados.
• 30 casos de teste foram considerados como não aplicáveis.
Como resultado, 15 vulnerabilidades únicas foram identificadas, com um total de 15 vulnerabilidades.
Uma descrição completa pode ser encontrada em VULNERABILIDADES:
• 5 vulnerabilidades críticas únicas, com 5 identificadas em todos os ativos no escopo.
• 4 vulnerabilidades altas únicas, com 4 identificadas em todos os ativos no escopo.
• 4 vulnerabilidades médias únicas, com 4 identificadas em todos os ativos no escopo.
• 1 vulnerabilidades baixas únicas, com 1 identificadas em todos os ativos no escopo.
• 1 vulnerabilidades informativas únicas, com 1 identificadas em todos os ativos no escopo.
A partir de 15/05/2024, o progresso de remediação é o seguinte:
Página 8 de 89
• 4 vulnerabilidades únicas foram remediadas.
• 4 vulnerabilidades únicas foram marcadas para reteste.
• 7 vulnerabilidades únicas ainda estão em aberto.
ESCOPO DO PROJETO
Os seguintes ativos foram definidos como alvos dentro do escopo para este teste de intrusão:
1. dc.example-corp.com
2. example.com
3. examplecorp.com
4. files.examplecorp.com
5. localhost
INFORMAÇÕES DE CONTATO
Para quaisquer dúvidas ou esclarecimentos adicionais sobre este relatório, entre em contato com os seguintes
profissionais:
Guilherme Junqueira - CEO da Guardsi
E-mail: guilherme@solyd.com.br
Luiz Viana - Coordenador de Pentest da Guardsi
E-mail: luiz.viana@solyd.com.br
SUMÁRIO DE VULNERABILIDADES
PRIORIDADE CRÍTICA
1. Injeção de Código SQL
- total de ativos afetados: 1
- total de ativos remediados: 1
- total de ativos em processo de reteste: 0
- total de ativos não remediados: 0
2. Bypass de extensões de arquivos para obter execução de código
- total de ativos afetados: 1
- total de ativos remediados: 1
- total de ativos em processo de reteste: 0
- total de ativos não remediados: 0
3. Função de Envio de Currículo Vulnerável à Execução Remota
- total de ativos afetados: 1
- total de ativos remediados: 0
- total de ativos em processo de reteste: 1
- total de ativos não remediados: 0
4. HttpfileServer 2.3 Vulnerável à Execução Remota
- total de ativos afetados: 1
- total de ativos remediados: 0
- total de ativos em processo de reteste: 1
- total de ativos não remediados: 0
5. AS-REP Roasting
- total de ativos afetados: 1
- total de ativos remediados: 0
- total de ativos em processo de reteste: 1
- total de ativos não remediados: 0
PRIORIDADE ALTA
6. Cross-Site Scripting Persistente (XSS Persistente)
- total de ativos afetados: 1
- total de ativos remediados: 1
- total de ativos em processo de reteste: 0
- total de ativos não remediados: 0
7. Cross-Site Request Forgery (CSRF)
- total de ativos afetados: 1
- total de ativos remediados: 0
- total de ativos em processo de reteste: 1
Página 10 de 89
- total de ativos não remediados: 0
8. Cross-Site Scripting Stored(XSS Stored)
- total de ativos afetados: 1
- total de ativos remediados: 0
- total de ativos em processo de reteste: 0
- total de ativos não remediados: 1
9. Escalada de Privilégio Via CVE-2019-1458
- total de ativos afetados: 1
- total de ativos remediados: 1
- total de ativos em processo de reteste: 0
- total de ativos não remediados: 0
PRIORIDADE MÉDIA
10. Política Fraca de Senha
- total de ativos afetados: 1
- total de ativos remediados: 0
- total de ativos em processo de reteste: 0
- total de ativos não remediados: 1
11. Força Bruta sem Taxa de Limitação
- total de ativos afetados: 1
- total de ativos remediados: 0
- total de ativos em processo de reteste: 0
- total de ativos não remediados: 1
12. Ausência de SSL
- total de ativos afetados: 1
- total de ativos remediados: 0
- total de ativos em processo de reteste: 0
- total de ativos não remediados: 1
13. Versão desatualizada do MikroTik RouterOS
- total de ativos afetados: 1
- total de ativos remediados: 0
- total de ativos em processo de reteste: 0
- total de ativos não remediados: 1
PRIORIDADE BAIXA
14. Informações Sensíveis Expostas
- total de ativos afetados: 1
- total de ativos remediados: 0
- total de ativos em processo de reteste: 0
- total de ativos não remediados: 1
Página 11 de 89
INFORMACIONAL
15. Exposição do Arquivo robots.txt
- total de ativos afetados: 1
- total de ativos remediados: 0
- total de ativos em processo de reteste: 0
- total de ativos não remediados: 1
Página 12 de 89
VULNERABILIDADES
VULNERABILIDADE PRIORIDADE
1. Injeção de Código SQL CRÍTICA
DESCRIÇÃO
A injeção de código SQL é uma técnica que explora falhas de segurança em um aplicativo, permitindo que um atacante
insira ou "injete" um código SQL malicioso em uma consulta. Esta vulnerabilidade ocorre quando um aplicativo não
valida, filtra ou escapa corretamente as entradas fornecidas pelo usuário antes de construir uma consulta SQL. Ao
explorar essa falha, um atacante pode manipular consultas SQL, o que pode levar a uma série de atividades não
autorizadas, incluindo exfiltração de dados, modificações ou até a exclusão de registros no banco de dados.
CENÁRIO DE ATAQUE
Um atacante, ao interagir com uma aplicação que aceita entradas de usuário, percebe que pode haver uma
oportunidade de explorar uma vulnerabilidade de injeção de SQL. Em vez de fornecer uma entrada esperada, como um
nome ou ID, o atacante introduz um payload de código SQL malicioso.
Se a aplicação estiver vulnerável e não tratar corretamente essas entradas, o fragmento de SQL inserido será
interpretado e executado pelo banco de dados como uma instrução legítima. Isso pode resultar em uma série de
comportamentos não intencionais, desde a exposição de informações que deveriam ser privadas até a modificação ou
deleção de registros no banco de dados.
A capacidade de executar comandos arbitrários através desta vulnerabilidade dá ao atacante o poder de comprometer a
integridade, disponibilidade e a confidencialidade do sistema, potencialmente levando a violações de dados, perda de
informações ou outros impactos negativos.
RECOMENDAÇÕES
1. Validação de Entrada: Todos os dados do usuário devem ser tratados como não confiáveis. Eles devem ser
validados e filtrados. Utilize listas de permissão (whitelists) em vez de listas de exclusão (blacklists) para validar
entradas.
2. Uso de Consultas Parametrizadas: Evite construir consultas SQL por concatenação de strings. Em vez disso, use
consultas parametrizadas, declarações preparadas ou procedimentos armazenados, que separam com
segurança os dados das instruções SQL.
3. Princípio do Privilégio Mínimo: Execute comandos SQL com os privilégios mínimos necessários, evitando usar
contas com privilégios de administrador ou superusuário para conectar-se ao banco de dados.
4. Erros Genéricos: Evite mostrar erros detalhados do banco de dados ao usuário final. Mensagens de erro
detalhadas podem revelar informações sobre a estrutura do banco de dados, facilitando a exploração por
atacantes.
5. Monitore e Registre: Mantenha registros detalhados e monitore os acessos ao banco de dados. Qualquer
atividade suspeita deve ser investigada.
Página 13 de 89
6. Atualizações e Patches: Mantenha o software do bancode dados e quaisquer frameworks relacionados
atualizados para garantir que todas as correções de segurança estejam aplicadas.
TAGS
• CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
• CVSSv3.1 Base Score: 10
ATIVOS AFETADOS
• Remediada - example.com
NOTAS DE REMEDIAÇÃO
Nota 15/05/2024:
Issue Closed: Issue has been fixed
Nota 29/04/2024:
Issue ready for retesting
NOTAS ADICIONAIS
Vazamento de Dados Sensíveis: Uma das consequências mais graves de um ataque de SQL Injection é o potencial
vazamento de dados sensíveis. Isso inclui informações pessoais dos clientes, dados financeiros, registros confidenciais de
negócios e propriedade intelectual. No contexto do Microsoft SQL Server, o atacante pode usar comandos SQL para
extrair essas informações, levando a sérias implicações legais e financeiras.
Perda de Integridade dos Dados: Além de extrair dados, um invasor pode modificar ou deletar informações críticas. Essa
alteração ou exclusão de dados pode comprometer a integridade da base de dados, resultando em perda de confiança
dos clientes e parceiros de negócios.
Escalada de Privilégios: Dependendo das configurações e do nível de acesso obtido, um invasor pode usar um ataque de
SQL Injection para elevar seus privilégios dentro do sistema. Isso poderia permitir acessar áreas restritas, modificar
configurações do servidor ou mesmo implantar funcionalidades maliciosas.
PROVA DE CONCEITO
Ao submeter a aplicação a testes de injeção de código SQL (SQLi), observamos um comportamento que frequentemente
indica a presença de vulnerabilidades relacionadas a esse tipo de ataque. A inserção de um apóstrofo (') como entrada
desencadeou um erro de sintaxe SQL, revelando que a aplicação não trata adequadamente os dados fornecidos pelo
usuário antes de incorporá-los em consultas SQL. Essa falha crítica na higienização da entrada possibilita que um agente
malicioso insira comandos SQL arbitrários, abrindo um vetor de ataque que pode comprometer a integridade e a
confidencialidade do banco de dados da aplicação.
Página 14 de 89
Figure 1
Prosseguindo com a exploração manual, conseguimos identificar três tabelas no banco de dados principal. Este
resultado foi obtido ao executar comandos de SQL Injection que revelaram a estrutura interna do banco de dados. A
descoberta dessas tabelas é significativa, pois demonstra que a aplicação expõe informações sensíveis sobre a
organização de seus dados, o que pode ser explorado por atacantes para obter acesso não autorizado a informações
confidenciais.
Figure 2
Para contornar o Web Application Firewall (WAF) da aplicação e automatizar o processo de exploração, utilizamos
cookies de sessão e a ferramenta SQLmap. Esta abordagem nos permitiu realizar uma exploração eficaz, identificando
informações detalhadas sobre o banco de dados da aplicação. Conseguimos extrair dados sensíveis, incluindo
credenciais de usuário e outras informações críticas, demonstrando a extensão do comprometimento possível devido à
vulnerabilidade de SQL Injection.
Página 15 de 89
Figure 3
Utilizando técnicas de injeção de código SQL, conseguimos enumerar todos os bancos de dados disponíveis no servidor.
Este processo revelou a existência de múltiplos bancos de dados, fornecendo uma visão abrangente da infraestrutura de
armazenamento de dados da aplicação. A capacidade de listar todos os bancos de dados destaca uma falha de
segurança significativa, pois permite que um atacante tenha uma visão clara do escopo de dados disponíveis para
exploração.
Figure 4
Empregando a injeção de código SQL, extraímos as tabelas contidas no banco de dados BancoCN. Esta operação nos
permitiu mapear a estrutura interna do banco de dados, identificando tabelas que armazenam informações críticas. A
exposição dessas tabelas confirma a presença de uma vulnerabilidade grave, que pode ser explorada para acessar e
manipular dados sensíveis, comprometendo a segurança geral da aplicação.
Figure 5
Página 16 de 89
Foi possível extrair informações da tabela de usuários, incluindo o nome de usuário e o hash da senha do administrador.
Figure 6
O hash foi identificado como sendo do tipo MD5, que é amplamente reconhecido como inseguro devido às suas
vulnerabilidades a ataques de força bruta e colisão. Explorando essas fraquezas conhecidas, conseguimos quebrar o
hash e revelar a senha do administrador. Esse acesso não autorizado ao painel administrativo aumenta
significativamente a gravidade da falha de segurança. Diante dessa vulnerabilidade, é imperativo implementar correções
imediatas e aderir rigorosamente às melhores práticas de segurança para prevenir futuras invasões e proteger a
integridade do sistema.
Página 17 de 89
VULNERABILIDADE PRIORIDADE
2. Bypass de extensões de arquivos para obter
execução de código
CRÍTICA
DESCRIÇÃO
A vulnerabilidade identificada relaciona-se com a capacidade de um invasor explorar sistemas que permitem o upload
de arquivos. O problema central reside no fato de que o sistema não efetua a verificação adequada das extensões dos
arquivos enviados, permitindo que arquivos com extensões alteradas sejam carregados e executados como código PHP.
A falha específica manifesta-se quando um invasor modifica a extensão de um arquivo, como de uma imagem, para
.php5. Diversos servidores estão configurados para processar arquivos .php5 como scripts PHP. Essa técnica de bypass,
que consiste em alterar a extensão do arquivo, explora uma vulnerabilidade na segurança do sistema, a qual se baseia
exclusivamente na extensão do arquivo para a verificação do arquivo
CENÁRIO DE ATAQUE
Uma vez que o script é executado, o atacante pode ganhar controle do servidor. Isso pode incluir acesso a bancos de
dados, alteração de páginas web, exfiltração de dados sensíveis, instalação de software malicioso adicional, e até
mesmo a propagação do ataque para outros sistemas conectados ao servidor
RECOMENDAÇÕES
1. Validação rigorosa de tipos de arquivo: Implementar um processo de validação que verifique o tipo de arquivo
com base em seu conteúdo (utilizando ferramentas como Fileinfo), e não apenas na extensão, garantindo que
apenas formatos de arquivo explicitamente permitidos sejam aceitos.
2. Renomeação de arquivos: Renomear automaticamente os arquivos enviados para nomes aleatórios e
imprevisíveis, eliminando a possibilidade de um invasor inferir o nome do arquivo e sua função no sistema.
3. Armazenamento seguro: Armazenar os arquivos enviados em um diretório externo à raiz do servidor web,
inacessível diretamente por URL, e configurar o servidor web para servir os arquivos a partir desse diretório com
as permissões corretas.
4. Proteção contra execução de scripts: Configurar o servidor web para não executar scripts (como PHP) no
diretório de upload, garantindo que mesmo que um arquivo malicioso seja enviado, ele não possa ser
executado.
5. Lista de permissões (whitelist) de extensões: Manter uma lista restrita de extensões de arquivo permitidas,
rejeitando qualquer arquivo que não esteja nessa lista.
6. Validação do conteúdo do arquivo: Além de validar a extensão, implementar mecanismos para analisar o
conteúdo do arquivo em busca de assinaturas de malware ou outros padrões suspeitos.
7. Limitação do tamanho do arquivo: Estabelecer um limite máximo para o tamanho dos arquivos enviados,
evitando o upload de arquivos excessivamente grandes que possam sobrecarregar o sistema.
8. Registro e monitoramento: Manter um registro detalhado de todos os uploads de arquivos, incluindo
informações como nome do arquivo, tipo, tamanho, data e hora do upload, e endereço IP do usuário. Monitorar
esses registros em busca de atividades suspeitas.
9. Atualização do software: Manter o software do servidor web, sistema operacional e quaisquer bibliotecas
utilizadas atualizadas com as últimas correções de segurança.Página 18 de 89
TAGS
• CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
• CVSSv3.1 Base Score: 9.8
ATIVOS AFETADOS
• Remediada - example.com
NOTAS DE REMEDIAÇÃO
Nota 15/05/2024:
Issue Closed: Issue has been fixed
Nota 29/04/2024:
Issue ready for retesting
PROVA DE CONCEITO
Inicialmente, é necessário desenvolver um script PHP que seja capaz de executar comandos fornecidos pelo usuário. Isso
será realizado por meio da implementação de uma funcionalidade que interpreta e processa as instruções recebidas
através do parâmetro "cmd" na interface do navegador.
Figure 7
Para burlar o mecanismo de proteção implementado na função de upload, empregaremos a extensão ".php5",
explorando assim possíveis lacunas na configuração de segurança que não reconhece essa extensão como executável.
Figure 8
Agora, com o script carregado, é possível empregar um shell reverso para estabelecer uma conexão inversa, permitindo
assim um acesso remoto ao servidor.
Figure 9
Página 19 de 89
Figure 10
Página 20 de 89
VULNERABILIDADE PRIORIDADE
3. Função de Envio de Currículo Vulnerável à
Execução Remota
CRÍTICA
DESCRIÇÃO
A vulnerabilidade identificada ocorre em um sistema Windows Server, caracterizada por uma falha de segurança no
processo de upload de arquivos. Esta lacuna de segurança permite que indivíduos externos enviem arquivos que contêm
macros. Macros são funcionalidades frequentemente empregadas para automatizar operações em softwares de
escritório, mas podem ser utilizadas de maneira prejudicial. O ponto crítico deste problema é a ausência de mecanismos
efetivos de verificação e sanitização dos arquivos recebidos pelo sistema, o que possibilita a inserção de documentos
contendo macros maliciosas. O risco se intensifica com a capacidade de um atacante de enviar um arquivo que, embora
pareça inofensivo - a exemplo de um currículo -, na realidade, carrega uma macro cuidadosamente elaborada para
executar código mal-intencionado
CENÁRIO DE ATAQUE
realizando o upload de um arquivo contendo código malicioso, como um script PHP, um executável ou um arquivo com
extensão modificada. Uma vez que o invasor tenha feito o upload com sucesso, ele pode acessar o arquivo malicioso em
nosso servidor. Esse arquivo, por sua vez, é executado pelo servidor web, resultando na execução remota de código. Isso
significa que o invasor pode ganhar controle total sobre o servidor, possibilitando a realização de ações prejudiciais,
como a obtenção de dados confidenciais, instalação de malware e comprometimento geral da segurança, tanto dos
usuários quanto da aplicação
RECOMENDAÇÕES
1. Verificação apropriada do tipo de arquivo: Implementar uma verificação baseada no conteúdo do arquivo, e
não apenas na extensão, para garantir que somente tipos de arquivos permitidos sejam carregados.
2. Nomes de arquivo e pasta aleatórios: Implementar uma verificação baseada no conteúdo do arquivo, e não
apenas na extensão, para garantir que somente tipos de arquivos permitidos sejam carregados.
3. Segurança do diretório de upload: Implementar uma verificação baseada no conteúdo do arquivo, e não apenas
na extensão, para garantir que somente tipos de arquivos permitidos sejam carregados.
4. Verificação de antivirus: Implementar uma verificação baseada no conteúdo do arquivo, e não apenas na
extensão, para garantir que somente tipos de arquivos permitidos sejam carregados.
5. Validação do nome do arquivo: Implementar uma verificação baseada no conteúdo do arquivo, e não apenas na
extensão, para garantir que somente tipos de arquivos permitidos sejam carregados.
6. Upload e salvamento de documentos sensíveis em forma criptografada: Implementar uma verificação baseada
no conteúdo do arquivo, e não apenas na extensão, para garantir que somente tipos de arquivos permitidos
sejam carregados.
7. Tokens de página: Implementar uma verificação baseada no conteúdo do arquivo, e não apenas na extensão,
para garantir que somente tipos de arquivos permitidos sejam carregados.
8. Páginas de erro apropriadas: Implementar uma verificação baseada no conteúdo do arquivo, e não apenas na
extensão, para garantir que somente tipos de arquivos permitidos sejam carregados.
9. Verbos adequados: Implementar uma verificação baseada no conteúdo do arquivo, e não apenas na extensão,
para garantir que somente tipos de arquivos permitidos sejam carregados.
Página 21 de 89
10. Lista de Controle de Acesso (ACL): Implementar uma verificação baseada no conteúdo do arquivo, e não apenas
na extensão, para garantir que somente tipos de arquivos permitidos sejam carregados.
11. Registro de atividades do usuário: Implementar uma verificação baseada no conteúdo do arquivo, e não apenas
na extensão, para garantir que somente tipos de arquivos permitidos sejam carregados.
TAGS
• CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
• CVSSv3.1 Base Score: 9.8
ATIVOS AFETADOS
• Em Aberto - examplecorp.com
NOTAS DE REMEDIAÇÃO
Uma outra estratégia eficaz de mitigar essa vulnerabilidade envolve o emprego de soluções de armazenamento de
arquivos na nuvem. Esse método impede a execução de códigos maliciosos no servidor, oferecendo uma camada
adicional de segurança ao isolar os arquivos em um ambiente controlado e externo.
PROVA DE CONCEITO
Durante a análise do mecanismo de upload da aplicação, observou-se que o servidor não efetua um processo de
filtragem adequado no conteúdo recebido. Essa lacuna na segurança abre a possibilidade de execução de código remoto
no servidor. Como parte da demonstração prática dessa vulnerabilidade, é necessário, inicialmente, desenvolver um
payload nocivo. Escolhemos um shell reverso, construído utilizando a linguagem de script PowerShell, como nossa
ferramenta para explorar essa falha.
Figure 11
Com o uso do LibreOffice Writer, é possível incorporar uma macro ao documento. Assim, no momento em que um
funcionário abrir e executar o currículo enviado, a macro será ativada, possibilitando a execução do código que
inserimos.
Figure 12
Página 22 de 89
Configuraremos inicialmente o nosso listener e, em seguida, procederemos com o upload do arquivo. Essa ação nos
permitirá, não apenas estabelecer uma conexão, mas também obter uma shell interativa dentro do servidor,
possibilitando o controle remoto e a execução de comandos.
Figure 13
Página 23 de 89
VULNERABILIDADE PRIORIDADE
4. HttpfileServer 2.3 Vulnerável à Execução
Remota
CRÍTICA
DESCRIÇÃO
A função findMacroMarker no arquivo parserLib.pas do Rejetto HTTP File Server (também conhecido como HFS ou
HTTP Fileserver) versão 2.3x, anterior à 2.3c, permite que atacantes remotos executem programas arbitrários através de
uma sequência %00 em uma ação de busca. Essa vulnerabilidade ocorre devido à inadequada sanitização de entrada de
dados na função de análise de macros.
CENÁRIO DE ATAQUE
A vulnerabilidade de Execução Remota de Código é basicamente uma brecha de segurança que permite que alguém
mal-intencionado "hackeie" um sistema à distância. É como se um invasor conseguisse se infiltrar em um computador
ou servidor de forma virtual. A parte mais preocupante é que, ao explorar essa falha, eles podem fazer com que o
sistema execute comandos que desejam, podendo até assumir total controle.
Imagine que você tem um sistema de vigilância em casa e, de repente, um invasor consegue abrir uma janela invisível à
distância, sem ser detectado pelas câmeras de segurança. Esse invasor agora pode não apenas observar, mas também
controlar sua casa remotamente.
RECOMENDAÇÕES
1. Atualização do Software: Manter o software atualizado é crucial. Os desenvolvedores geralmente corrigem
vulnerabilidades conhecidas em versões mais recentes. Certifique-se de instalar as atualizações de segurança
fornecidas pelos fornecedores do software.
2. Firewallse Listas de Controle de Acesso (ACLs): Configurar firewalls e ACLs para restringir o tráfego de entrada
e saída, permitindo apenas comunicações essenciais. Isso pode ajudar a bloquear tentativas de exploração.
TAGS
• CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
• CVSSv3.1 Base Score: 9.8
ATIVOS AFETADOS
• Em Aberto - files.examplecorp.com
NOTAS DE REMEDIAÇÃO
Nota 29/04/2024:
Issue ready for retesting
PROVA DE CONCEITO
Para realizar esta prova de conceito, primeiramente, identificamos o servidor vulnerável. Na própria página de Login, é
possível identificar a versão do servidor utilizado.
Página 24 de 89
Figure 14
Tendo em mãos a versão do servidor identificada na página de Login, dispomos de uma base sólida para iniciar uma
busca detalhada por exploits públicos. Essa pesquisa incluirá a consulta a bancos de dados de vulnerabilidades
reconhecidos e fóruns especializados, visando encontrar falhas já documentadas e possíveis métodos de exploração que
se alinham com a versão específica do servidor que estamos analisando.
Figure 15
Portanto, após confirmar a vulnerabilidade, empregamos o exploit conhecido como "rejetto_hfs_exec" para explorá-la
com sucesso, resultando na obtenção de uma shell no servidor, um passo crucial para o avanço da nossa análise de
segurança. Dessa forma, temos controle total sobre o sistema em questão.
Página 25 de 89
Figure 16
Página 26 de 89
VULNERABILIDADE PRIORIDADE
5. AS-REP Roasting CRÍTICA
DESCRIÇÃO
AS-REP Roasting é uma técnica que possibilita a invasores obter os hashes das senhas de contas de usuários com a pré-
autenticação do Kerberos desativada, os quais podem ser decifrados de forma offline.
Quando a pré-autenticação está ativa, um usuário que necessita de acesso a um recurso inicia o processo de
autenticação Kerberos enviando uma mensagem de Solicitação de Servidor de Autenticação (AS-REQ) ao controlador de
domínio (DC). O carimbo de data/hora nessa mensagem é criptografado com o hash da senha do usuário. Caso o DC
consiga descriptografar esse carimbo de data/hora utilizando o registro que possui do hash da senha do usuário, ele
responde com uma mensagem de Resposta do Servidor de Autenticação (AS-REP), que inclui um Ticket de Concessão de
Ticket (TGT) fornecido pelo Centro de Distribuição de Chaves (KDC).
CENÁRIO DE ATAQUE
Vamos imaginar uma grande corporação, com uma rede interna robusta e múltiplos servidores de domínio, que utiliza o
Kerberos para autenticação. No entanto, algumas contas de usuário estão com a pré-autenticação desativada, criando
uma vulnerabilidade.
Um grupo de invasores, após um meticuloso reconhecimento, identifica essas contas vulneráveis e executa o AS-REP
Roasting. Eles conseguem extrair os hashes das senhas dessas contas específicas.
Os sistemas que possuem esse tipo de vulnerabilidade estão sujeitos a:
1. Comprometimento de Dados Confidenciais;
2. Acesso Não Autorizado e Elevação de Privilégios;
3. Instalação de Malware e Backdoors;
4. Interrupção dos Serviços
RECOMENDAÇÕES
1. Ativação da pré-autenticação do Kerberos: Habilitar a pré-autenticação do Kerberos para todas as contas de
usuário e serviço para impedir ataques de password spraying e outros métodos de obtenção de credenciais não
autorizadas. Isso adiciona uma camada extra de segurança ao exigir que as solicitações de autenticação sejam
devidamente validadas antes de serem processadas.
2. Monitoramento constante de segurança: Implementar um sistema de monitoramento de segurança contínuo
que utilize ferramentas avançadas de detecção de ameaças e análise de comportamento. Realizar revisões
periódicas das configurações de segurança para garantir que estejam atualizadas e alinhadas com as melhores
práticas e os requisitos de conformidade.
3. Treinamento contínuo dos funcionários: Desenvolver um programa robusto de treinamento de segurança da
informação que inclua sessões regulares de atualização e conscientização. Cobrir tópicos como identificação de
phishing, uso seguro de senhas, proteção de dados e resposta a incidentes de segurança, garantindo que todos
os funcionários estejam preparados para lidar com ameaças cibernéticas.
4. Resposta rápida a incidentes: Estabelecer um plano de resposta a incidentes detalhado que inclua
procedimentos claros para a detecção, contenção, erradicação e recuperação de incidentes de segurança.
Garantir que a equipe de resposta a incidentes esteja bem treinada e equipada para agir rapidamente,
minimizando os danos e restaurando as operações normais de forma eficiente.
Página 27 de 89
TAGS
• CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
• CVSSv3.1 Base Score: 9.8
ATIVOS AFETADOS
• Em Aberto - dc.example-corp.com
NOTAS DE REMEDIAÇÃO
Nota 29/04/2024:
Issue ready for retesting
PROVA DE CONCEITO
Inicialmente, a execução deste procedimento de análise requer a identificação de usuários ativos. Ao conduzir uma
inspeção do website corporativo, é possível obter essas informações essenciais.
Figure 17
Pela vivência e experiência de nossos profissionais, sabemos que a maioria das empresas utiliza nome e sobrenome
como usuário. Baseado nessa informação, criaremos uma wordlist:
Figure 18
Página 28 de 89
Para confirmar se esses usuários são realmente válidos, utilizaremos um script chamado Kerbrute.
Figure 19
Após a validação dos usuário, foi possível prosseguir para um ataque de AS-REP Roasting para a tentativa de captura de
hashs kerberos dos usuários.
Figure 20
Em posse da hash do usuário, fizemos um ataque automatizado de força bruta para identificar a senha.
Figure 21
Agora, utilizando a ferramenta WinRM, conseguimos acesso total ao usuário em questão e a todos os seus privilégios
Figure 22
Página 29 de 89
VULNERABILIDADE PRIORIDADE
6. Cross-Site Scripting Persistente (XSS
Persistente)
ALTA
DESCRIÇÃO
A vulnerabilidade de Cross-Site Scripting Persistente (XSS Persistente) é uma falha de segurança em aplicações web que
permite que um invasor injete código malicioso que permanece armazenado no servidor e é executado toda vez que a
página afetada é acessada por um usuário.
CENÁRIO DE ATAQUE
Um atacante descobre que uma determinada aplicação web está vulnerável a um ataque de XSS Persistente, que ocorre
quando os dados fornecidos pelo usuário são armazenados pelo servidor e exibidos em outras páginas do site sem que
haja validação adequada. O atacante, então, insere um código malicioso em um campo de entrada da aplicação, como
um comentário em um fórum, por exemplo. Esse código é armazenado no banco de dados e exibido em outras páginas,
como a página de perfil do usuário. Quando um usuário acessa a página do perfil, o código malicioso é executado no
navegador do usuário, permitindo que o atacante execute ações maliciosas, como roubo de sessão, injeção de código ou
phishing.
RECOMENDAÇÕES
1. Verificar e validar todos os dados de entrada do usuário antes de salvá-los no banco de dados é essencial para
remediar a vulnerabilidade de XSS Persistente, além de garantir que estes dados sejam sanitizados para remover
caracteres maliciosos.
2. Para prevenir a vulnerabilidade de XSS Persistente, é útil utilizar frameworks de desenvolvimento seguro que
incluem recursos de validação de entrada, bem como empregar bibliotecas de sanitização de entrada e codificar
a entrada de dados do usuário.
3. Configurar corretamente os cabeçalhos HTTP, como definir a política de segurança de conteúdo HTTP (HTTP
Content Security Policy), é outra medida importante, pois pode ajudar a limitar a execução de scripts maliciosos
em um site.
TAGS
• CWE-79: Improper Neutralisation of Input During Web Page Generation ('Cross-site Scripting')
• CWE Top 25
• OWASP Top 10
• XSS
• CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:L
• CVSSv3.1 Base Score: 7.4
ATIVOS AFETADOS
• Remediada- example.com
NOTAS DE REMEDIAÇÃO
Nota 15/05/2024:
Página 30 de 89
Issue Closed: Risk accepted
Nota 29/04/2024:
Issue ready for retesting
PROVA DE CONCEITO
A aplicação web analisada apresenta uma vulnerabilidade conhecida como Cross-Site Scripting Persistente (XSS
Persistente). Essa falha de segurança permite a inserção de códigos maliciosos no conteúdo do site, que permanecem
mesmo após o logout do usuário ou o fechamento do navegador. A exploração dessa vulnerabilidade pode resultar em
diversos impactos negativos, como a indisponibilidade da aplicação, redirecionamento para sites maliciosos externos e
roubo de cookies de sessão para sequestro de contas. O XSS Persistente ocorre quando o aplicativo armazena dados
maliciosos inseridos pelo atacante e os exibe posteriormente a outros usuários, sem passar por um processo de
sanitização ou validação adequados.
No campo "Painel da Obra" da examplecorp, existem campos para a inserção de dados, especificamente "Título" e
"Comentário". Neste último, é possível injetar códigos JavaScript e armazená-los:
Figure 23
Nos testes realizados, foi possível injetar códigos e visualizar a execução do script no campo "Comentário", expondo
assim os cookies de sessão do usuário, o que revela uma vulnerabilidade de XSS Persistente:
Figure 24
Página 31 de 89
VULNERABILIDADE PRIORIDADE
7. Cross-Site Request Forgery (CSRF) ALTA
DESCRIÇÃO
Vulnerabilidades de Cross-site Request Forgery (CSRF) possibilitam que um atacante force o navegador da vítima a
enviar uma solicitação HTTP forjada, utilizando o cookie de sessão da vítima e outras informações armazenadas no
navegador, para a aplicação web vulnerável. Isso permite que o atacante faça solicitações à aplicação, aparentemente
legítimas, em nome da vítima, possibilitando a realização de ações sensíveis sem o conhecimento do usuário. Notamos
que a aplicação em questão não implementa controles contra falsificação de solicitação entre sites, tornando-a
vulnerável a esse tipo de ataque. Um atacante, com alguma interação com uma vítima autenticada, pode explorar essa
lacuna para induzir a vítima a executar ações arbitrárias dentro da aplicação.
CENÁRIO DE ATAQUE
A aplicação permite que usuários enviem solicitações de mudança de estado sem incluir dados secretos, por exemplo,
http://example.com/app/transferFunds?amount=1500&destinationAccount=4673243243. Um atacante pode construir
uma solicitação que transfira dinheiro da conta da vítima para a conta do atacante e incorporar esse ataque em uma
solicitação de imagem ou iframe armazenados em vários sites sob controle do atacante. Se a vítima visitar qualquer um
desses sites enquanto já estiver autenticada no example.com, as solicitações forjadas incluirão automaticamente as
informações da sessão do usuário, autorizando as ações do atacante.
RECOMENDAÇÕES
• É recomendado implementar um token anti-CSRF para todas as funções que permitem a modificação do estado
da aplicação. Adicione um valor gerado aleatoriamente e imprevisível (nonce) a cada formulário ou link no site
que altere dados, e verifique se o valor recebido corresponde ao valor esperado antes de realizar a ação
solicitada. Além disso, como um método alternativo, force os usuários a se reautenticarem com sua senha antes
que ações sensíveis de atualização sejam realizadas.
TAGS
• CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:H
• CVSSv3.1 Base Score: 7
ATIVOS AFETADOS
• Em Aberto - example.com
NOTAS DE REMEDIAÇÃO
Nota 29/04/2024:
Issue ready for retesting
PROVA DE CONCEITO
Ao criar um formulário HTML, é possível tentar realizar alguma ação na aplicação, como submeter um arquivo para
upload ou forçar uma alteração de senha por parte do usuário autenticado. Aqui, temos um exemplo do código.
Página 32 de 89
Figure 25
Nesta etapa, o formulário HTML malicioso é aberto no navegador web.
Figure 26
Ao simular a ação de um usuário legítimo do sistema com base no formulário malicioso, conseguimos enviar um arquivo
para upload no servidor da aplicação web legítima.
Figure 27
Página 33 de 89
VULNERABILIDADE PRIORIDADE
8. Reflected Cross-Site Scripting (Reflected XSS) ALTA
DESCRIÇÃO
Cross-Site Scripting Refletido (XSS Refletido) é uma vulnerabilidade de segurança que ocorre quando uma aplicação web
aceita dados de uma solicitação HTTP e os inclui diretamente na página sem uma validação e sanitização adequadas. Em
consequência, um atacante pode injetar scripts maliciosos no conteúdo web, que são então executados no navegador
da vítima. Diferentemente do XSS persistente, onde o script malicioso é armazenado e servido repetidamente a partir do
servidor, o XSS Refletido envolve scripts que são executados imediatamente após serem injetados e não são
armazenados no site em questão.
CENÁRIO DE ATAQUE
Um atacante, ao perceber a vulnerabilidade em uma aplicação, cria um URL malicioso contendo o payload do XSS. Ele
então engana a vítima para que clique no link, normalmente por meio de técnicas de engenharia social, como um e-mail
ou mensagem persuasiva. Ao clicar no link, a vítima envia a solicitação ao servidor web que, por sua vez, reflete o script
malicioso na resposta. O navegador da vítima executa o script como se fosse parte legítima do site, permitindo ao
atacante roubar informações, como cookies ou dados de sessão, ou executar ações em nome da vítima.
RECOMENDAÇÕES
1. Validação de Entrada: Todas as entradas recebidas dos usuários devem ser validadas rigorosamente, usando
uma abordagem de lista branca. Somente permita caracteres conhecidos como seguros.
2. Sanitização: Antes de refletir qualquer dado de entrada em respostas HTTP, é fundamental que estes sejam
sanitizados, removendo ou neutralizando caracteres que podem ser interpretados como código.
3. Codificação de Saída: Ao exibir dados na página, certifique-se de codificar caracteres que têm significado
especial em HTML, como aspas, sinais de menor e maior.
4. Políticas de Segurança de Conteúdo (CSP): Implemente CSP para limitar as fontes de scripts e recursos. Isso
pode ajudar a prevenir a execução de scripts maliciosos, mesmo se eles forem injetados.
5. Use frameworks e bibliotecas que automaticamente cuidam da prevenção de XSS: Muitos frameworks
modernos de desenvolvimento web têm recursos integrados para evitar ataques XSS.
TAGS
• OWASP Top 10
• CWE Top 25
• CWE-79: Improper Neutralisation of Input During Web Page Generation ('Cross-site Scripting')
• CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
• CVSSv3.1 Base Score: 7.3
ATIVOS AFETADOS
• Em Aberto - example.com
Página 34 de 89
PROVA DE CONCEITO
A partir do parâmetro ID, torna-se viável a inserção de um payload de XSS (Cross-Site Scripting). A execução do script
tem reflexo direto no navegador web, possibilitando a execução de código malicioso no contexto da vítima.
Figure 28
A partir do XSS (Cross-Site Scripting) identificado, abre-se a possibilidade de arquitetar um ataque sofisticado de roubo
de contas. Utilizando este vetor, um atacante poderia injetar scripts maliciosos em páginas da web confiáveis, visando
manipular as sessões de usuários e interceptar dados sensíveis como credenciais de login. Esse tipo de ataque não só
compromete a segurança individual dos usuários afetados, mas também a integridade e a confiabilidade da plataforma
como um todo.
Página 35 de 89
VULNERABILIDADE PRIORIDADE
9. Escalada de Privilégio Via CVE-2019-1458 ALTA
DESCRIÇÃO
Uma vulnerabilidade de elevação de privilégios que está presente no Windows quando o componente Win32k não
manipula adequadamente objetos na memória. Se essa vulnerabilidade for explorada, um invasor poderá executar
códigos arbitrários no modo kernel. Isso permite que o invasor instale programas, visualize, altere ou delete dados, ou
ainda crie novas contas com totalpermissão de usuário.
CENÁRIO DE ATAQUE
Um invasor que explorar com sucesso essa vulnerabilidade poderia executar processos arbitrários em um contexto de
privilégios elevados. Ele poderia então instalar programas; visualizar, alterar ou excluir dados; ou criar novas contas com
direitos totais de usuário. Para explorar a vulnerabilidade, o invasor primeiro precisaria fazer login no sistema, o que
pode ser feito de forma remota em muitos cenários.
RECOMENDAÇÕES
Os usuários devem aplicar as atualizações fornecidas pela Microsoft para corrigir essa vulnerabilidade. A Microsoft
disponibilizou um patch de segurança em 2019 que corrige o problema. É recomendado instalar essa atualização em
todos os sistemas afetados para prevenir a exploração da vulnerabilidade. Além disso, é aconselhável seguir boas
práticas de segurança, como o princípio do menor privilégio, para minimizar o impacto potencial.
Mais informações: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2019-1458
TAGS
• CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
• CVSSv3.1 Base Score: 7.8
ATIVOS AFETADOS
• Remediada - examplecorp.com
NOTAS DE REMEDIAÇÃO
Nota 15/05/2024:
Issue Closed: Risk accepted
Nota 29/04/2024:
Issue ready for retesting
PROVA DE CONCEITO
Empregando ferramentas aprimoradas de pós-exploração, como WinPEAS e Watson, é possível de forma eficiente
detectar a vulnerabilidade em foco. A utilização de exploits públicos previamente compilados facilita significativamente
o processo, possibilitando o acesso irrestrito ao sistema e permitindo uma análise profunda e detalhada das deficiências
de segurança presentes.
Página 36 de 89
Figure 29
Página 37 de 89
VULNERABILIDADE PRIORIDADE
10. Política Fraca de Senha MÉDIA
DESCRIÇÃO
A aplicação possui uma política fraca de senha. A aplicação não exige que os usuários tenham senhas fortes, o que torna
mais fácil para os usuários mal-intencionados comprometerem as contas dos usuários legítimos. Um mecanismo de
autenticação é tão forte quanto suas credenciais. Por esse motivo, é importante exigir que os usuários tenham senhas
fortes. A falta de complexidade da senha reduz significativamente o espaço de pesquisa ao tentar adivinhar as senhas do
usuário, facilitando os ataques de força bruta.
CENÁRIO DE ATAQUE
Quando essas configurações são ajustadas de maneira inadequada, as senhas tornam-se mais suscetíveis a serem
descobertas em ataques de força bruta. Em termos mais simples, se as regras de criação de senhas não são robustas o
suficiente, fica mais fácil para pessoas mal-intencionadas adivinharem as senhas dos usuários e, assim, ganharem acesso
não autorizado às contas. É como se a porta de entrada estivesse mais aberta para potenciais invasões.
RECOMENDAÇÕES
1. Política de Senhas Complexas: Exigir senhas em conformidade com uma política de alta complexidade é
fundamental, configurando a aplicação para impor um tamanho mínimo de caracteres, bem como o uso de
letras maiúsculas, números e caracteres especiais.
2. Manutenção de Segurança: Sempre exigir senhas suficientemente complexas e que sejam alteradas
periodicamente é uma prática crucial para os mecanismos de autenticação.
TAGS
• CWE-521: Weak Password Requirements
• CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
• CVSSv3.1 Base Score: 5.3
ATIVOS AFETADOS
• Em Aberto - example.com
PROVA DE CONCEITO
Ao criar uma conta na aplicação, é possível utilizar senhas simples e repetidas, sem qualquer restrição ou exigência de
complexidade. No teste realizado, foi possível efetuar o login na conta do administrador com uma senha comum e de
baixa complexidade
Página 38 de 89
Figure 30
Página 39 de 89
VULNERABILIDADE PRIORIDADE
11. Força Bruta sem Taxa de Limitação MÉDIA
DESCRIÇÃO
A vulnerabilidade "Brute Force No Rate Limit" ocorre quando uma aplicação não implementa limites para o número de
tentativas de login que um atacante pode realizar. Isso significa que um invasor pode realizar um ataque de força bruta
sem restrições, tentando repetidamente diferentes combinações de credenciais até encontrar a correta. Essa falta de
controle sobre as tentativas de login torna a aplicação suscetível a ataques de força bruta, que podem resultar na
violação de contas de usuário e no acesso não autorizado aos sistemas.
CENÁRIO DE ATAQUE
Um cenário de ataque típico envolve um invasor mal-intencionado que utiliza uma ferramenta automatizada para
realizar um ataque de força bruta contra a aplicação alvo. O invasor pode gerar uma lista de nomes de usuário e senhas
comuns ou até mesmo personalizadas, e a ferramenta de força bruta tentará várias combinações em rápida sucessão
até encontrar uma que funcione. Sem limites de taxa, o atacante pode realizar milhares ou até mesmo milhões de
tentativas de login sem ser bloqueado. Isso pode resultar na obtenção de acesso não autorizado a contas de usuário,
permitindo ao atacante prejudicar a integridade dos dados, a confidencialidade das informações ou até mesmo
controlar sistemas.
RECOMENDAÇÕES
1. Implemente Limites de Taxa: Configure um mecanismo de limitação de taxa que restrinja o número de
tentativas de login permitidas em um período específico, como tentativas por minuto ou por hora. Isso ajudará a
impedir ataques de força bruta, tornando-os menos eficazes.
2. Utilize Autenticação de Dois Fatores (2FA): Incentive ou exija a ativação da autenticação de dois fatores para
contas de usuário. Isso adiciona uma camada adicional de segurança, tornando mais difícil para os invasores
obter acesso, mesmo se eles conseguirem adivinhar as credenciais.
3. Bloqueio de Contas: Implemente um mecanismo de bloqueio de contas após um número específico de
tentativas de login malsucedidas. As contas bloqueadas devem ser desbloqueadas apenas após verificação
adicional, como um reset de senha ou aprovação manual.
4. Monitoramento de Atividade: Estabeleça um sistema de monitoramento de atividade de login para detectar
padrões suspeitos ou comportamento anormal. Isso pode ajudar a identificar tentativas de força bruta em
tempo real.
5. Educação de Usuários: Eduque os usuários sobre a importância de senhas seguras e práticas de segurança
cibernética. Incentive a criação de senhas fortes e a atualização regular das senhas.
6. Teste de Segurança Regular: Realize testes regulares de penetração e avaliações de segurança para identificar e
corrigir outras vulnerabilidades em potencial na aplicação.
7. Avisos de Tentativas de Login: Forneça aos usuários avisos de tentativas de login malsucedidas, informando-os
sobre atividades suspeitas em suas contas.
TAGS
• CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
• CVSSv3.1 Base Score: 5.3
Página 40 de 89
ATIVOS AFETADOS
• Em Aberto - example.com
PROVA DE CONCEITO
Para realizar esta prova de conceito, primeiramente, devemos construir um script de força bruta.
Figure 31
Página 41 de 89
Ao executar esse script, conseguimos efetivamente decifrar a senha da aplicação, evidenciando a eficácia da abordagem
e destacando a vulnerabilidade no mecanismo de autenticação.
Figure 32
Página 42 de 89
VULNERABILIDADE PRIORIDADE
12. Ausência de SSL MÉDIA
DESCRIÇÃO
Após uma investigação minuciosa, foi confirmado que a aplicação está operando sem o uso adequado do protocolo SSL.
Isso significa que todas as informações transmitidas entre o cliente e o servidor estão em texto simples, sujeitas a
interceptações maliciosas e potencialmente visíveis para terceiros não autorizados.
Imagine enviar uma carta pelo correio sem envelope, onde qualquer pessoa que a interceptar pode ler o conteúdo. A
ausência de SSL é como enviar informações sensíveis pela internet sem proteção, permitindo que terceirosacessem e
até alterem os dados durante a transmissão.
CENÁRIO DE ATAQUE
A ausência do protocolo SSL (Secure Socket Layer) na aplicação representa uma séria ameaça à segurança dos dados.
Essa ausência significa que informações sensíveis, como credenciais de login, dados pessoais e transações financeiras,
podem ser potencialmente interceptadas por terceiros mal-intencionados. Esse cenário coloca em risco a privacidade
dos usuários e pode ter repercussões significativas, incluindo consequências legais, perda de confiança por parte dos
clientes e danos à reputação da empresa.
O SSL desempenha um papel crucial na proteção das comunicações online, criptografando os dados durante a
transmissão e garantindo que apenas o destinatário pretendido possa acessar as informações. Sem essa camada de
segurança, as informações confidenciais ficam vulneráveis a ataques de interceptação, nos quais um atacante pode
obter acesso não autorizado aos dados.
RECOMENDAÇÕES
1. Implementação Segura com SSL/TLS: Configurar e implementar corretamente o SSL/TLS na aplicação, utilizando
certificados SSL confiáveis e atualizados para garantir uma conexão segura e criptografada entre o cliente e o
servidor.
2. Redirecionamento para HTTPS: Forçar a conexão HTTPS em vez de HTTP, por meio de redirecionamentos, para
garantir que todos os acessos à aplicação sejam automaticamente direcionados para o protocolo seguro
(HTTPS).
TAGS
• CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
• CVSSv3.1 Base Score: 5.3
ATIVOS AFETADOS
• Em Aberto - example.com
NOTAS DE REMENDIAÇÃO
O problema de criptografia TLS pode ser corrigido de forma rápida através da implementação de um WAF, forçando uma
conexão criptografada.
Página 43 de 89
PROVA DE CONCEITO
Ao acessar a página, é possível identificar imediatamente a ausência do certificado TLS ao inspecionar o ícone de
certificados.
Figure 33
Página 44 de 89
VULNERABILIDADE PRIORIDADE
13. Versão desatualizada do MikroTik RouterOS MÉDIA
DESCRIÇÃO
MikroTik RouterOS é um sistema operacional baseado em Linux utilizado para dispositivos de rede, como roteadores e
switches. Versões desatualizadas do MikroTik RouterOS podem conter falhas de segurança já conhecidas e corrigidas em
versões mais recentes. Manter uma versão desatualizada pode deixar a rede vulnerável a explorações mal-
intencionadas, levando a comprometimentos diversos.
CENÁRIO DE ATAQUE
Um atacante, ao identificar um dispositivo rodando uma versão desatualizada do MikroTik RouterOS, pode explorar
vulnerabilidades conhecidas associadas a essa versão específica. Estas explorações podem permitir ao atacante desde a
obtenção de acesso não autorizado ao dispositivo até a execução de comandos arbitrários na rede, potencialmente
comprometendo a infraestrutura inteira.
RECOMENDAÇÕES
Recomenda-se fortemente atualizar o MikroTik RouterOS para a versão mais recente e estável disponível.
Além da atualização, é aconselhável:
1. Revisão de Configurações de Segurança: Regularmente revisar as configurações de segurança do dispositivo
para garantir que apenas os serviços necessários estejam expostos e acessíveis.
2. Políticas de Controle de Acesso: Implementar políticas de controle de acesso para restringir o acesso a
interfaces administrativas.
3. Monitoramento de Dispositivos: Monitorar regularmente os dispositivos em busca de atividades suspeitas ou
não autorizadas.
4. Autenticação Forte e Credenciais Personalizadas: Utilizar autenticação forte e mudar as credenciais padrão
fornecidas pelo fabricante.
TAGS
• CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:L
• CVSSv3.1 Base Score: 5
ATIVOS AFETADOS
• Em Aberto - dc.example-corp.com
NOTAS ADICIONAIS
Embora estivéssemos cientes de exploits que poderiam ser usados contra essa versão do MikroTik RouterOS, decidimos
não executar qualquer teste de exploit devido ao risco potencial de causar uma negação de serviço no alvo. Nosso
objetivo é sempre garantir a integridade e disponibilidade dos sistemas durante o processo de teste.
Página 45 de 89
Vulnerabilidades relacionadas: https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=mikrotik
PROVA DE CONCEITO
No estágio inicial de reconhecimento e enumeração de serviços, observamos que a porta 2000 estava ativa e acessível,
indicando a presença do serviço "bandwidth-test" associado ao MikroTik RouterOS. A exposição desse serviço, sem
medidas de segurança adequadas, representa um ponto vulnerável, suscetível a ser explorado como um vetor de ataque
para induzir falhas, dentre outras ações mal-intencionadas.
A versão específica do MikroTik RouterOS identificada durante a análise possui falhas de segurança documentadas. A
exploração dessas vulnerabilidades pode resultar em uma série de atividades perniciosas, incluindo, mas não limitado a,
execução de código arbitrário, elevação de privilégios, negação de serviço, comprometendo significativamente a
integridade e a segurança do sistema.
Página 46 de 89
VULNERABILIDADE PRIORIDADE
14. Informações Sensíveis Expostas BAIXA
DESCRIÇÃO
A vulnerabilidade diz respeito à exposição de informações sensíveis por meio do código-fonte de uma página web. Este
tipo de falha ocorre quando detalhes fundamentais sobre a infraestrutura de TI, como características do servidor web,
sistema operacional e portas utilizadas, são inadvertidamente revelados no código-fonte que é acessível ao público. Ao
inspecionar o código-fonte da página, torna-se possível identificar informações críticas sobre o servidor web e o sistema
operacional, inclusive a porta em uso. A divulgação dessas informações pode oferecer a potenciais atacantes pistas
valiosas sobre a estrutura do sistema, auxiliando-os na identificação de vulnerabilidades específicas e no
desenvolvimento de estratégias de ataque mais eficientes.
CENÁRIO DE ATAQUE
Vamos reimaginar uma situação em que uma pessoa mal-intencionada, está tentando explorar brechas em um site.
Imagine que este site, por acaso, acaba expondo sem querer informações sobre o seu servidor no código fonte HTML. O
hacker, desejando obter detalhes específicos para planejar um ataque direcionado, decide analisar minuciosamente o
código fonte da página.
Agora, pense nisso como se fosse um jogo de estratégia. O site é como o seu território digital, e o hacker está tentando
encontrar pontos fracos para criar uma estratégia de ataque. No código fonte, que é como um mapa, ele descobre
informações sobre o servidor, fornecendo pistas valiosas para planejar suas ações.
RECOMENDAÇÕES
1. Ocultar Metadados do Servidor: Configurar o servidor para não enviar metadados específicos no cabeçalho
HTTP, ocultando assim informações sobre a versão e configuração do servidor.
2. Minimizar Comentários no Código Fonte: Reduzir a inclusão de comentários no código HTML que divulgam
informações detalhadas sobre o servidor. Comentários excessivos podem inadvertidamente expor dados
sensíveis.
3. Utilizar Ferramentas de Otimização de Código: Implementar ferramentas de otimização de código para
remover automaticamente informações desnecessárias e reduzir o tamanho do código fonte, diminuindo a
probabilidade de vazamento de dados sensíveis.
TAGS
• CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:L/I:N/A:N
• CVSSv3.1 Base Score: 2.4
ATIVOS AFETADOS
• Em Aberto - localhost
NOTAS DE REMEDIAÇÃO
É possível aprimorar a segurança do servidor Apache ocultando a versão do servidor e detalhes do sistema operacional,
tanto nas páginas de erro quanto nos cabeçalhos do servidor. Para realizar isso, basta ajustar as diretivas ServerTokens e
Página 47 de 89
ServerSignature na configuração do Apache. Essa medida contribui significativamente para a minimização da exposição a
potenciais ameaças, reduzindo as informações disponíveis para possíveis atacantes