Un guide du débutant sur la cybersécurité

Écrivez au recto :

  1. Ne franchissez pas la ligne légale.

  2. La loi n’est que la dernière ligne, et non la norme pour mesurer la personnalité.

La sécurité du réseau peut être grossièrement divisée en trois aspects :

安全研发安全研究:二进制方向安全研究:网络渗透方向

Actuellement, le domaine qui compte le plus grand nombre de praticiens est celui de la sécurité contre la pénétration du Web. Ici on parle principalement de binaire et de sens de pénétration.

1. Pénétration du Web

Commençons par un parcours d’apprentissage général sur la sécurité web (voir l’image originale haute définition en fin d’article)

 

Le test d'intrusion légal actuel consiste à mener une pénétration (attaque) sur la cible par divers moyens et à tester la capacité de protection de la sécurité et la sensibilisation à la sécurité de la cible par la pénétration, ce qui est également un exercice pratique.

Ce type de parcours de pénétration du Web très long a été publié en ligne. Ils sont fondamentalement les mêmes. Voici quelques idées personnelles. (Il n’est pas recommandé de considérer les établissements de formation à la légère)

Tout d’abord, les tests d’intrusion ne doivent pas se limiter à l’utilisation de divers outils et au simple mining de vulnérabilités. Les tests d'intrusion incluent, sans s'y limiter, les bases de données, les réseaux, les systèmes d'exploitation, la programmation, etc.

Il n'y a pas de sécurité sans développement. L'apprentissage précoce doit être indissociable de la programmation et des bases de données. Quant aux systèmes d'exploitation et aux réseaux, vous les maîtriserez progressivement en apprentissage précoce. (Il ne faut pas être trop pointilleux sur le choix des vidéos lorsqu’on débute au début. Une vidéo relativement complète suffit. Je ne choisis vraiment pas de lire la fin de l’article)

Partie de base (vous n’avez pas besoin de tous les maîtriser, vous approfondirez progressivement au fil des apprentissages ultérieurs) :

通信协议:TCP、HTTP、HTTPS操作系统:Linux、Windows服务架设:Apache、Nginx、LAMP架构数据库:MySQL、SQL Server、Oracle(建议MySQL入手)编程语言:前端语言(HTML/CSS/JavaScript)、后端语言(PHP/Java/ASP/Python)虚拟机操作,建站基本操作。

Entrez officiellement dans l'apprentissage de la pénétration du Web :

TOP10漏洞原理抓包分析谷歌语法等技巧简单代码审计(面试加分项)各种工具使用搭建靶场漏洞复现

Partie pénétration intranet (points supplémentaires pour l'entretien) :

利用系统漏洞进行提权(Metasploit)Src:漏洞响应平台,实战渗透测试,同时能获得一些外快。补天漏洞响应平台:https://www.butian.net/漏洞银行:https://www.bugbank.cn/阿里云漏洞响应平台:https://security.alibaba.com/i春秋SRC部落:https://www.ichunqiu.com/src腾讯应急响应中心:https://security.tencent.com/index.php漏洞平台列表:https://www.anquanke.com/src/

2. Sécurité binaire

Le travail binaire comprend l'exploration de vulnérabilités logicielles, l'ingénierie inverse, l'analyse de virus et de chevaux de Troie, etc., impliquant l'analyse du noyau du système d'exploitation, le débogage et l'anti-débogage, l'antivirus et d'autres technologies. Parce que la plupart du temps nous traitons de données binaires, la sécurité binaire est désormais utilisée pour désigner collectivement cette direction.

Ici, nous nous concentrons sur la sécurité Android et l’ingénierie inverse.

Suggestion personnelle : faites du développement avancé pendant quelques années avant de faire de l'ingénierie inverse. Si vous ne lisez pas le code, il se contentera de le décompresser ? Seulement xposé ? Loin d’être suffisants, les hooks ne représentent qu’une petite partie de la technologie, et xposed n’est que l’un des nombreux frameworks dotés de fonctions de hook. Par rapport au développement de n'importe quel programme, il y a très peu de points de connaissance inversés : la clé est la connaissance de base et la base est l'expérience de développement avancé.

Prérequis avant d'apprendre Android (questions de base posées dans les postes de sécurité)

从事3-5年真实的Android开发工作,熟练使用C/C++,Java,kotlin,dart等Android开发常用语言;熟悉Android NDK开发和JNI技术,熟悉Log原理。最好有几年FrameWork开发经验;熟悉Android虚拟机机制,打包原理,系统启动流程,App启动流程;了解ARM、Smali汇编语言,熟悉IPC原理,能够熟练搭建IPC框架;熟练使用Fiddler和Charles抓包工具进行抓包;最好熟悉Python基础语法,并能写简单的脚本和爬虫。

La première phase:

Examen des bases d'Android :

回顾Android 开发编程,深入理解Android系统原理和层次结构,深入分析Handler源码和原理。回顾Java,C/C++,Kotlin、dart 在Android开发中必用的语言,熟悉一下几种语言混淆后的特性。回顾Android IPC和JNI的底层原理和热更新技术回顾Native开发要点,使用C++结合NDK完成Android Native开发。回顾Android开发中常用的 AMS、PMS、WMS原理和App启动中服务加载的流程。回顾Android开发中必用的 Google的MVVM框架:DataBinding+LiveData+ViewModel。回顾Android开发中必用的 Google的MVP框架:Dagger2。回顾Android开发必用的网络架构:Okhttp3+RxJava2+Retrofit2+Rxdownload4+Rxcache+Glide。

Bases de l'ingénierie inverse Android :

熟悉Android逆向工具的使用,如apktool,IDA,dex2jar,JEB,AndroidKiller,Androguard等;深入分析APK中包含的各文件格式,分析Android系统源码中解析APK的相关代码;学习和熟悉smali语言(重点);仿微信写一个APP,并利用工具逆向出apk内的代码,并对比源码分析。

Résumé des connaissances introductives et pratiques de combat (saisie inversée) :

知识梳理,常用工具安装,adb命令与Linux常用命令,常见登录逻辑分析。分析ELF可执行程序,调式ELF可执行程序;ARM汇编与寄存器,ARM反汇编速成,ARM指令机器码,常用ARM指令集。反编译ELF文件与ObjDump,ELF文件解析与readelf,ELF文件解析与010Editor,深入分析ELF文件结构;IDA静态分析,IDA动态调式。简易计算器实现及分析(练习)。字符串加密与解密,冒泡排序算法分析。关键android_server文件检测,IDA调试端口检测。ELF可执行程序加载so库,DEX解析与dexDump,DEX解析与010Editor。实现自己的Dex解析工具与GDA(练习)。Androidkiller动态调试smali代码插件,AS+smalidea调式smali代码。Log注入实现免注册,如何定位关键代码,去除java层签名验证,去除广告和弹窗(实战)。推荐阅读《AndroidXXXXXX……》随便找本系统源码讲解的书看看吧。


Algorithmes de base et protocoles de sécurité Android :

密码学,对称加密算法,非对称加密算法,散列函数;数字签名,数字证书,SSL证书检测,协议与安全协议;了解服务器端与客户端通信协议分析;使用Charles抓登录封包和验证码,协议构造与Java层MD5算法,动态调式smali代码与sign字段;协议构造类与SO层DESCBC算法,协议关键字段SIGN与SO层MD5算法,动态调试协议字段,动态调式协议关键字段SIGN;协议关键字段pwad和sign,动态调式协议字段拼接与MD5加密,分析so层OpenSSLSHA1算法;封包加密与反编译失败,使用方法跟踪分析加密;java层逆向分析,分析so层TEA算法;练习:抓取验证码和登录封包,分析协议关键字段与RSA算法,证书与RSA原理及源码分析;对称加密AES、PBE与CRC算法,数字签名RSA、DSA算法;



La deuxième étape :
l'apprentissage avancé inversé d'Android :

Android 系统结构深入分析,自定义 ClassLoader,自定义注解和元注解原理分析;了解AndroidNDK,静态注册,动态注册,SO加载分析,App保护策略去除霸哥磁力搜素APK签名验证,一键去除签名验证,静态代{过}{滤}理,动态代{过}{滤}理Hook Activity启动函数,Hook签名验证函数介绍xposed框架:Xposed框架:绕过验证码注册Xposed框架:登陆劫持Xposed框架:篡改IMEI信息介绍CydiaSubstrate框架:Java层Hook:篡改系统文字颜色Java层Hook:修改方法返回值绕过登录Java层Hook:篡改游戏金币Java层Hook:篡改主机名和端口号Native层Hook:ADBI框架:ELFARMHOOK框架内存抠取Dex文件过反调试技巧C++游戏逆向练习:动态调试2048纯算法游戏,Zygote+Hook使2048游戏秒过关;


Analyse complète d'Android NDK et JNI :

so动态库的介绍JNI动态注册和静态注册NDK Build 工具介绍Cmake工具介绍JNI.h介绍Android 源码工具和技巧ijkplayer 源码分析及原理讲解AndFix 源码分析及原理讲解Java调用so库的动态流程解析NDK实现增量更新案例:NDK实现换脸等工业级图像识别案例:NDK文件实现拆分和加密处理


Introduction au renforcement de la protection et au bombardement d'Android :

DEX文件、ODEX文件与OAT文件;XML文件与ARSC文件;分析App加固的产生及背景,最初加固方式,加固技术的发展;HOOK制作脱壳机,定制自己的脱壳系统;DexClassLoader动态加载分析,DEX自解析重构技术;三代梆梆加固原理分析;爱加密加固原理分析;360加固与脱壳机,360加固VM与置换表;辅助脱壳机,IDA动态调式脱爱加密壳;IDA动态调式脱360壳,IDA动态调式脱SO壳;脱360壳-dex2oat,脱360壳-drizzleDumper;百度加固DD大法,百度加固VM与置换表;阿里加固与脱壳机,腾讯乐固;ARSC资源保护与注解;脱壳神器ZjDroid:捕鱼达3加固技术总结;


Analyse des bombardements et anti-shelling Android :

Android脱壳中的思路,技巧elf结构详解:动态运行库so文件的文件组成结构elf结构详解:加载so文件的流程elf文件变形与保护,elf文件修复分析,so加壳文件修复常用调试检测方法与过检测方法Android源码定制添加反反调试机制Android dvm 脱壳,Dalvik dex处理分析IDA脱壳脚本编写,Odex修复方法,IDAOdex修复脚本编写


Résumé des connaissances avancées et pratique au niveau de l'entreprise (progression inverse) :

病毒分析与脱壳学习,用Ransomware类和木马类进行学习;手动脱壳《王者X耀》练习;从0开始打造自己的破解代码库;


La troisième étape :
analyse et minage des vulnérabilités Android :

学习常见的漏洞类型和原理。例如堆溢出,栈溢出,UAF等,可以参考漏洞分析相关书籍;关注Android Security Bulletin,根据提供的diff分析漏洞成因;学习并调试以前的经典漏洞;学习漏洞挖掘fuzzing思路,参考书籍推荐《Android安全XXXX》;病毒分析与病毒脱壳实战;


Technologie de machine virtuelle Android, analyse du code source du système, introduction au mécanisme de flashage et création d'un package de flashage de ROM :

ASP代码注入式写法;Android 免root进行hook;Android虚拟机原理,Android多开原理讲解;在apk内部写一个虚拟机,在apk内安装apk;虚拟机适配Android 10和64位系统;从0开始开发自己的虚拟机库;最完善的刷机工具 :魔趣 ROM;最完善的刷机工具 :Devices - TWRP;


Pratique sur des projets à grande échelle au niveau de l'entreprise (cinq projets) :

  • légèrement……

trois. R&D en sécurité

Les postes de R&D sont davantage axés sur la technologie de programmation que sur les deux autres domaines, et se concentrent principalement sur les produits de sécurité défensive et les outils de sécurité contre les attaques.

Voici quelques produits

防火墙、IDS、IPSWAF(Web网站应用防火墙)数据库网关NTA(网络流量分析)SIEM(安全事件分析中心、态势感知)大数据安全分析EDR(终端设备上的安全软件)DLP(数据泄漏防护)杀毒软件安全检测沙箱

Le développement de ces produits repose principalement sur les trois langages majeurs C/C++, Java et Python, avec un peu de GoLang et Rust.

Réponse en arrière-plan d'intégration de l'itinéraire de sécurité réseau [Carte de sécurité]

 

Je suppose que tu aimes

Origine blog.csdn.net/hdwlwang/article/details/130487526
conseillé
Classement