网络渗透技术其实就是安全研究员促进计算系统(包括硬件系统、软件系统)安全的技术,也是黑客用来入侵系统的技术。

下面我从入侵者的职业角色划分渗透测试工程师、代码审计工程师、逆向工程师、社会工程学(也是属于渗透一部分)、脚本小子详细说明网络渗透技术。

脚本小子技能现成工具使用,脚本小子通常只是掌握了网上现有的入侵工具(脚本),不需知道原理对系统进行入侵。

渗透工程师通过模仿恶意黑客的攻击手法,来评估计算机网络系统。

技能渗透工程师又分为Web渗透、APP渗透。具体需要技能:编程技能(熟悉各种编程方式,擅长两到三门自己擅长的开发语言或脚本语言)、精通常见的漏洞原理具备漏洞复现能力、精通Linux/Windows系统(系统的使用、配置等)、精通常见的渗透工具或自己具备开发工具的能力(burpsuite等工具)、应急响应能力(入侵事件发生之后的清除、恢复、追踪能力等)、精通各种漏洞的防御策略、精通各种安全产品、熟悉《网络安全法》、熟悉网络架构、精通网络协议等。

渗透流程社会工程学利用人性的漏洞进行入侵攻击,如网络钓鱼、网络诈骗等。这类天马行空。

技能:信息收集能力--通过一切手段收集目标信息,为分析目标做准备。

心理学--掌握心理学,通过分析收集的信息能大致掌握目标。

“欺诈”能力--构建目标容易上当的场景。

一定的开发、工具使用的能力--一些场景需要网络界面的支持。

胆大心细、脸皮厚、沟通能力强--有些是需要和目标直接进行交流的,可参考电影《我是谁:没有绝对安全的系统》。

代码审计属于白盒测试即在代码中分析问题。

技能精通一到两种代码(Java/Php/.net等)--代码审计说白了就是看代码,从源代码中发现漏洞。

工具使用能力--常见代码审计工具使用,提高效率。

精通常见漏洞原理及某种代码中常见问题原理--不知道漏洞原理,看代码也白看,只能脑袋大。

逆向分析师通过逆向分析,还原应用系统或某物体的(如汽车)对应用的编写过程进行还原、对物体的生产过程进行还原。突破原有限制达到绕过或篡改内部数据达到所需目标。这种对技术要求比较高,要掌握底层原理。

分类安卓逆向、ios逆向、windows逆向、linux逆向、mac逆向

技能必须掌握汇编语言、C语言、及各种底层系统精通语言指令

逆向工具使用如IDA Pro,OllyDBG等

加固技术--常见的加壳方式、代码混淆方式

脱壳技术--能掌握脱壳原理,对加壳应用进行脱壳