- Learning Penetration Testing with Python
- Christopher Duffy
- 441字
- 2021-07-09 21:52:53
Understanding what penetration testing is not
Other types of assessments and activities are often advertised or confused as penetration tests. Examples of these types of engagements include vulnerability assessments, large-scale reverse engineering projects, and hacking. Let's address each of these in turn so as to understand where penetration testing fits in.
Vulnerability assessments
A Vulnerability Assessment (VA) uses a VMS to scan for vulnerabilities. The good VAs then use an assessor to eliminate false positives, after which the actual risk rating of the findings may be adjusted on the basis of the business impact and the likelihood of exploitation. Often security consultants or penetration testers execute these assessments, which may require the actual exploitation of these vulnerabilities for a proof of concept. This type of assessment is great for showing how good an organization is at performing patching and deploying assets in a secure configuration. The key here is that these types of assessments do not focus on gaining access to critical data from the perspective of a malicious actor, but instead relate to finding vulnerabilities.
Reverse engineering engagements
Reversing can be part of a penetration test, but it is much rarer today than in the past. Chapter 8, Exploit Development with Python, Metasploit, and Immunity, will discuss this in greater detail as an actual exploit development will be described here. Current penetration tests may include exploit development, but it is done to create a proof of concept related to homegrown code and gaining access to a critical system where the data may reside.
In contrast, in large-scale reversing engagements, an assessor tries to prove the overall susceptibility of the application to being reversed and the weaknesses related to the source code, compilation, and associated libraries. These types of engagements are better suited to a reversing engineer, who spends time identifying common attack chains and methods to compromise an application, versus gaining access to critical data. The level of experience in this specific arena is extensive. Often, many assessors move from penetration testing to this specific skillset where they do reversing full time.
Hacking
Hacking is not an assessment, but deals directly with taking advantage of exploitable vulnerabilities; it could be related to malicious activity or it could be done for research. The purpose of hacking is not to gain access to critical data, but to solely crack vulnerabilities. There are many definitions of hacking, and it is often directly related penetration testing, but there are no specific or explicit goals related to hacking. Now that some of the big differences between a penetration test and the other activities have been delineated, the methodology related to achieving goals can be highlighted.
- Advanced Quantitative Finance with C++
- 造個小程序:與微信一起干件正經事兒
- R語言數據可視化之美:專業圖表繪制指南
- Python自動化運維快速入門
- 薛定宇教授大講堂(卷Ⅳ):MATLAB最優化計算
- C/C++常用算法手冊(第3版)
- 從Excel到Python:用Python輕松處理Excel數據(第2版)
- R語言與網絡輿情處理
- Solr Cookbook(Third Edition)
- 寫給程序員的Python教程
- 深入解析Java編譯器:源碼剖析與實例詳解
- Android Game Programming by Example
- 3ds Max 2018從入門到精通
- Software Architecture with Python
- HTML5+CSS3+jQuery Mobile+Bootstrap開發APP從入門到精通(視頻教學版)