文章目录
- 信息收集
- 分析汇编代码
信息收集
下载后是一个加密的zip
压缩包,里面是一个exe
文件
解压密码获取:
- 使用
zip2john
暴破,失败
zip2john Find\ The\ Easy\ Pass.zip >hash.txt
john -w=/usr/share/wordlists/rockyou.txt hash.txt
-
使用软件
AZPR
,适用于6位以下或有确定范围的密码暴破,否则穷举时间过长,本题不适用
其实,密码是hackthebox
,最后靠搜索引擎,但是并没有在靶机界面看到这个提示
打开exe
文件,是输入密码判断对错的 (crackme01就是这种)
分析汇编代码
od 打开,右键——> 中文搜索引擎 ——> 搜索ASCII ,目的是搜索出现的字符串
翻到最后,错误提示字符串
双击跳转到汇编代码
jnz 是 jump not zero
,就是不为 0 时跳转,也就是不相等时跳转
jnz short EasyPass.00454144
相等:继续执行下一条语句
Good Job
不相等:跳转
Wrong Password
在上一条语句处F2
下断点,是调用函数call EasyPass.00404628
,EasyPass
是指程序本身, EasyPass.00404628
是指函数调用地址,调试运行程序,输入字符串密码,这里随便输入testtest
,F7
进入函数
需要注意的是cmp
比较指令,因为肯定要比较输入字符串是否和密码相同,此时eax
的值就是我们的输入值,而edx
基本就可以确定是正确密码了 fortran!
,继续运行,后面就没什么值得注意的操作了,函数运行后会返回结果