学生个人网站设计,广州seo代理,电商网站建设最好的公司,中国建设银行贷款官网站前言
这几天我想学习一点逆向的知识#xff0c;但苦于入门较难#xff0c;教学视频废话太多#xff0c;也不想看#xff0c;就去刷ctf题#xff0c;不会的就看wp#xff0c;不得不说ctf真的是居家旅行#xff0c;杀人灭口必备良药啊。这不#xff0c;在做逆向题的时候…前言
这几天我想学习一点逆向的知识但苦于入门较难教学视频废话太多也不想看就去刷ctf题不会的就看wp不得不说ctf真的是居家旅行杀人灭口必备良药啊。这不在做逆向题的时候就发现有个软件用ida打开没啥函数查看wp才知道被加壳了照着wp用PEID查壳发现是upx的人家用od演示了怎么手动去壳但我看的云里雾里的各种名词她也没有解释例如oep,popad啥的我就只能去查而且我的od还跟他的不一样最后我通过x64dbg去掉壳去壳的过程使我对x64dbg的使用更加熟练也了解了壳的原理等。于是想记录下来。
脱壳的常见概念
壳是一种对应用程序加密压缩处理的技术
一般对可执行文件加壳的目的有三 ① 软件加壳保护数据、防止破解 ② 外挂加壳保护数据、防止破解 ③ 病毒加壳防止被查杀。 常见的壳分为压缩壳和加密壳两种upx属于压缩壳
脱壳 表示通过反汇编将壳去掉的过程。
OEP: 程序最开始执行的地方。
原始OEP: 程序加了壳后壳是先运行的所以OEP是壳程序的入口点而原始OEP就是程序原来的入口点。
dump内存 将内存中的数据或代码转储dump到本地。
IAT 导入地址表windows下可执行文件中文件格式中的一个字段描述的是导入信息函数地址在文件中是一个RVA数组在内存中是一个函数地址数组。
修复IAT: 在脱壳后不管是加密壳还是压缩壳都有一个从内存dump到本地存储并保存为文件而IAT在文件中是一个RVA数组在内存中是一个函数地址数组我们就需要将从内存dump出来的IAT从函数地址数组转换成RVA数组这样程序才能修复。
脱壳的环境 这个单独出来说主要原因就是不同的系统脱壳时遇到的问题可能是不一样的因为脱壳时要修改IAT而不同系统中同一个模块的API导出的顺序是不一样的所以修复时一般都会出现点问题。因此我建议脱壳的环境应该是在32位系统的虚拟机中以下的所有操作应该在32位系统的虚拟机中操作64位系统下可能会出现意想不到的问题。
pushad : 将所有的32位通用寄存器压入堆栈 ESP-32 。
popad : 将所有的32位通用寄存器出栈 ESP32。
脱壳的方法
单步调试法
一步一步分析每一条汇编指令吃透每一行汇编背后所代表的意思将壳代码读懂从而找到原始OEP然后脱壳。这种方法是最锻炼人的也是最难的。 说白了就是一点点的调试需要深厚的汇编功底和耐心。
平衡堆栈(又称ESP定律,技巧法)
一般加壳的程序都是先运行壳然后再内存中还原程序然后跳转到原始OEP,开始执行原程序代码。既然先运行壳那就必然进入壳程序然后再退出壳程序期间要遵守堆栈平衡进入前和退出后的栈指针是相同的也就是说壳退出后必然会操作堆栈指针为进入之前的堆栈指针。在进入壳程序时就可以在堆栈设置访问断点让程序跑起来当程序暂停的时候就是壳程序即将执行完的时候然后再其附近单步跟踪就可以找到原始OEP了。 这种方法比较适用于upx这种只对代码和数据压缩了的壳如果还对代码加密了那么就不是太好找了。加密的话就需要结合单步跟踪法。
脱壳三步法
不管是哪种脱壳方法都需要遵循脱壳三步法脱壳三步法分为以下三步 ① 寻找原始OEP 这一步骤的主要作用就是要确定原始程序代码到底在哪里能找到原始程序的代码说明壳代码执行完了我们只有找到原始OEP才能进行下一步的动作。 ② dump内存到文件 当我们找到原始OEP调试运行到原始OEP时只要代码被还原我们就可以在这个地方进行dump内存将内存中被还原的代码和数据抓取下来重新保存成一个文件这样脱完壳时我们就可以用静态分析工具分析程序了。
③ 修复文件 这一步主要就是修复IAT对从内存中转储到本地的文件进行修复。
UPX壳
①经过UPX压缩的win32/pe文件包含三个区段UPX0, UPX1, .rsrc或UPX0, UPX1, UPX2(原文件本身无资源时)。 UPX0在文件中没有内容它的Virtual size加上UPX1的构成了原文件全部区段需要的内存空间相当于区段合并。 ②UPX1起始位置为需解压缩的源数据目标地址为UPX0基址。紧接着源数据块是UPX stub即壳代码。一个典型的 pushad/popad 结构所以人们常用ESP定律来脱UPX。 ③.rsrc/UPX2在原文件有资源时含有原资源段的完整头部和极少部分资源数据(类型为ICON、GROUP_ICON、VERSION和MANIFEST)以保证explorer.exe能正常显示图标、版本信息。还有就是UPX自己的Imports内容导出表的库名和函数名(如果有的话)。
就是因为UPX是一个典型的 pushad/popad 结构又要遵守堆栈平衡即pushad之前的ESP需要跟popad之后的ESP相同所以当我们看到UPX壳进入pushad后对堆栈添加访问断点当壳即将及执行结束即执行到popad要去还原堆栈时必然会触发断点暂停下来然后单步调试往下走原始OEP就在附近了。
使用x64dbg进行脱壳
首先用PEID工具进行查壳发现为upx壳,这里我使用了一个CTF题给的程序。 打开x64dbg拖入程序。发现EIP指在这个位置往下看看并没有发现pushad不知道为啥人家用od打开就能看到pushad。这种情况我们就按 F8 单步调试不知按了多少次后终于遇到了pushad,我们可以看一下在没有执行pushad时的ESP为 0060FF74 如下图 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tklGXJZh-1693021558436)(https://image.3001.net/images/20220426/1650971512_6267d378728ba95c7901a.png!small)] 然后在按一次F8,使其执行pushad将此时的ESP记录一下0060FF54正好相差32。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7bV058E9-1693021558437)(https://image.3001.net/images/20220426/1650971382_6267d2f6523e876619116.png!small)]此时我们在堆栈打上断点右键ESP,点击 在内存窗口中转到 。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gb63i4M1-1693021558438)(https://image.3001.net/images/20220426/1650971388_6267d2fc232a6e40e61d8.png!small)]
然后在内存窗口中右键 断点-- 硬件访问–4字节。
打上断点后直接按F9运行到断点处观察ESP值为0060FF74跟pushad前一样遵循堆栈平衡。且上面就是popad此时原始OEP就不远了我们要理解壳程序执行完后必然有个大的跳转 跳转到原始OEP去执行源程序我们能看到下面有一个jmp 且跳转到401280,跳转范围很大这应该就是我们要找的原始OEP.
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d0SC9fjE-1693021558440)(https://image.3001.net/images/20220426/1650971559_6267d3a70ea08e9048fd5.png!small)]双击jmp跳转到401280使用插件sclla,修改OEP为401280点击dump,dump到本地文件。保存即可。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nFV1hWiW-1693021558442)(https://image.3001.net/images/20220426/1650971571_6267d3b315a85856e6d70.png!small)]但此时的文件无法正常运行因为没有修复IAT,但是通过IDA可查看原始代码了如果有运行程序的需求可以修复IAT。
修复IAT
依然使用Scylla,使用IAT自动扫描 成功后点击 GET Imports 获取导入表 然后再点击fix Dump 修复上一节的dump文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xkCBlSoD-1693021558445)(https://image.3001.net/images/20220426/1650971590_6267d3c63e34fc1c5e159.png!small)]
即可。
总结
对于像我这种想入门逆向的这种方式真的可以培养兴趣也从中学到了很多知识我也不会仅仅止步于脱upx的。
[外链图片转存中…(img-xkCBlSoD-1693021558445)]
即可。
总结
对于像我这种想入门逆向的这种方式真的可以培养兴趣也从中学到了很多知识我也不会仅仅止步于脱upx的。
题外话
初入计算机行业的人或者大学计算机相关专业毕业生很多因缺少实战经验就业处处碰壁。下面我们来看两组数据
2023届全国高校毕业生预计达到1158万人就业形势严峻
国家网络安全宣传周公布的数据显示到2027年我国网络安全人员缺口将达327万。
一方面是每年应届毕业生就业形势严峻一方面是网络安全人才百万缺口。
6月9日麦可思研究2023年版就业蓝皮书包括《2023年中国本科生就业报告》《2023年中国高职生就业报告》正式发布。
2022届大学毕业生月收入较高的前10个专业
本科计算机类、高职自动化类专业月收入较高。2022届本科计算机类、高职自动化类专业月收入分别为6863元、5339元。其中本科计算机类专业起薪与2021届基本持平高职自动化类月收入增长明显2022届反超铁道运输类专业5295元排在第一位。
具体看专业2022届本科月收入较高的专业是信息安全7579元。对比2018届电子科学与技术、自动化等与人工智能相关的本科专业表现不俗较五年前起薪涨幅均达到了19%。数据科学与大数据技术虽是近年新增专业但表现亮眼已跻身2022届本科毕业生毕业半年后月收入较高专业前三。五年前唯一进入本科高薪榜前10的人文社科类专业——法语已退出前10之列。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wcUCAGpb-1693021558447)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230809162658551.png)]
“没有网络安全就没有国家安全”。当前网络安全已被提升到国家战略的高度成为影响国家安全、社会稳定至关重要的因素之一。
网络安全行业特点
1、就业薪资非常高涨薪快 2021年猎聘网发布网络安全行业就业薪资行业最高人均33.77万 2、人才缺口大就业机会多
2019年9月18日《中华人民共和国中央人民政府》官方网站发表我国网络空间安全人才 需求140万人而全国各大学校每年培养的人员不到1.5W人。猎聘网《2021年上半年网络安全报告》预测2027年网安人才需求300W现在从事网络安全行业的从业人员只有10W人。
行业发展空间大岗位非常多
网络安全行业产业以来随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…
职业增值潜力大
网络安全专业具有很强的技术特性尤其是掌握工作中的核心网络架构、安全技术在职业发展上具有不可替代的竞争优势。
随着个人能力的不断提升所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟升值空间一路看涨这也是为什么受大家欢迎的主要原因。
从某种程度来讲在网络安全领域跟医生职业一样越老越吃香因为技术愈加成熟自然工作会受到重视升职加薪则是水到渠成之事。
黑客网络安全如何学习
今天只要你给我的文章点赞我私藏的网安学习资料一样免费共享给你们来看看有哪些东西。
1.学习路线图
行业发展空间大岗位非常多
网络安全行业产业以来随即新增加了几十个网络安全行业岗位︰网络安全专家、网络安全分析师、安全咨询师、网络安全工程师、安全架构师、安全运维工程师、渗透工程师、信息安全管理员、数据安全工程师、网络安全运营工程师、网络安全应急响应工程师、数据鉴定师、网络安全产品经理、网络安全服务工程师、网络安全培训师、网络安全审计员、威胁情报分析工程师、灾难恢复专业人员、实战攻防专业人员…
职业增值潜力大
网络安全专业具有很强的技术特性尤其是掌握工作中的核心网络架构、安全技术在职业发展上具有不可替代的竞争优势。
随着个人能力的不断提升所从事工作的职业价值也会随着自身经验的丰富以及项目运作的成熟升值空间一路看涨这也是为什么受大家欢迎的主要原因。
从某种程度来讲在网络安全领域跟医生职业一样越老越吃香因为技术愈加成熟自然工作会受到重视升职加薪则是水到渠成之事。
黑客网络安全如何学习
今天只要你给我的文章点赞我私藏的网安学习资料一样免费共享给你们来看看有哪些东西。
1.学习路线图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-knODOqGL-1693021558448)(C:\Users\Administrator\Desktop\网安思维导图\享学首创年薪40W网络安全工程师 青铜到王者技术成长路线V4.0.png)]
攻击和防守要学的东西也不少具体要学的东西我都写在了上面的路线图如果你能学完它们你去就业和接私活完全没有问题。
2.视频教程
网上虽然也有很多的学习资源但基本上都残缺不全的这是我自己录的网安视频教程上面路线图的每一个知识点我都有配套的视频讲解。
内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等都是网络安全入门必知必会的学习内容。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BcIvy4H2-1693021558449)(C:\Users\Administrator\Desktop\网安资料截图\视频课件.jpeg)]
都打包成一块的了不能一一展开总共300多集
因篇幅有限仅展示部分资料需要点击下方链接即可前往获取
如果你对网络安全入门感兴趣那么你需要的话可以点击这里网络安全重磅福利入门进阶全套282G学习资源包免费分享
3.技术文档和电子书
技术文档也是我自己整理的包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点电子书也有200多本由于内容的敏感性我就不一一展示了。
.png)
因篇幅有限仅展示部分资料需要点击下方链接即可前往获取
如果你对网络安全入门感兴趣那么你需要的话可以点击这里网络安全重磅福利入门进阶全套282G学习资源包免费分享
4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等感兴趣的同学不容错过。
还有我视频里讲的案例源码和对应的工具包需要的话也可以拿走。
因篇幅有限仅展示部分资料需要点击下方链接即可前往获取 如果你对网络安全入门感兴趣那么你需要的话可以点击这里网络安全重磅福利入门进阶全套282G学习资源包免费分享
最后就是我这几年整理的网安方面的面试题如果你是要找网安方面的工作它们绝对能帮你大忙。
这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的如果大家有好的题目或者好的见解欢迎分享。
参考解析深信服官网、奇安信官网、Freebuf、csdn等
内容特点条理清晰含图像化表示更加易懂。
内容概要包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF… 因篇幅有限仅展示部分资料需要点击下方链接即可前往获取
如果你对网络安全入门感兴趣那么你需要的话可以点击这里网络安全重磅福利入门进阶全套282G学习资源包免费分享