Python逆向之我逆向我自己的马子

admin 2025年2月21日23:12:16评论8 views字数 1621阅读5分24秒阅读模式
宇宙免责声明!!!

本推文提供的信息、技术和方法仅用于教育目的。文中讨论的所有案例和技术均旨在帮助读者更好地理解相关安全问题,并采取适当的防护措施来保护自身系统免受攻击。

严禁将本文中的任何信息用于非法目的或对任何未经许可的系统进行测试。未经授权尝试访问计算机系统或数据是违法行为,可能会导致法律后果。

作者不对因阅读本文后采取的任何行动所造成的任何形式的损害负责,包括但不限于直接、间接、特殊、附带或后果性的损害。用户应自行承担使用这些信息的风险。

我们鼓励所有读者遵守法律法规,负责任地使用技术知识,共同维护网络空间的安全与和谐。

 

  • 起因:一位师学员溯源我前面在正式群里发的钓鱼后门

Python逆向之我逆向我自己的马子
  • 但是他只是把我用pyinstaller打包的远控马子反编译出了pyc,而且只有一个入口文件,因为我是做了混淆加密的

  • 入口文件pyc反编译出源码为,仅仅几行,但是调用了一个loader.get_code(),这才是核心代码,到这里这位师傅就没办法继续了,因为他根本找不到这个加载的loader文件,原因是加密过的

  • pyc反编译网站

https://pylingual.io/ (这个好用点)

https://www.lddgo.net/string/pyc-compile-decompile (这个反编译不全)

Python逆向之我逆向我自己的马子

反编译exe

  • 首先把钓鱼exe文件,反编译成pyc,python exe反编译,入口文件为main.pyc,反编译出来就是上面那几行代码

Python逆向之我逆向我自己的马子

找key

  • 现在我们需要找到这个加载的包,loader,全局搜索带loader关键字的文件,有两个

Python逆向之我逆向我自己的马子
  • 但是,格式为pyc.encrypted,被加密过的,使用pyinstaller 打包,可以使用--key参数来加密,但是这个密钥也是在这个exe里的,通过exe反编译成pyc,可以找到,pyimode00_crypto_key.pyc文件

Python逆向之我逆向我自己的马子
  • 通过上面的反编译pyc网站,反编译这个文件得到key

Python逆向之我逆向我自己的马子

反编译加密的pyc

  • 现在我们拿到了key,就可以去反编译loader.pyc.encrypted文件了,也就是钓鱼马的核心文件,loader包

  • 编写解密代码(完整代码只对学员开放),填入密钥8r4cl9ya8PKxhEuN,4.0以下和4.0以上是有区别的,具体自行查阅资料吧

Python逆向之我逆向我自己的马子

  • 需要注意的是,各个版本的header头是不一样的,举几个例子

Python 2.7: x03xf3x0dx0a���� Python 3.0: x3bx0cx0dx0a���� Python 3.1: x4fx0cx0dx0a���� Python 3.2: x6cx0cx0dx0a���� Python 3.3: x9ex0cx0dx0a�������� Python 3.4: xeex0cx0dx0a�������� Python 3.5: x17x0dx0dx0a�������� Python 3.6: x33x0dx0dx0a�������� Python 3.7: x42x0dx0dx0a������������ Python 3.8: x55x0dx0dx0a������������ Python 3.9: x61x0dx0dx0a������������ Python 3.10: x6fx0dx0dx0a������������
  • 然后运行反编译这个loader包,这个就是反编译出来的pyc文件

Python逆向之我逆向我自己的马子
  • 注意:如果你使用pycharm运行代码,反编译后,是看不到pyc文件的,因为pycharm隐藏了此类型文件,需要手动打开,删除pyc类型

Python逆向之我逆向我自己的马子
  • 再将pyc拿去反编译出源码,得到核心loader代码

Python逆向之我逆向我自己的马子

调试

  • 打断点调试,拿到shellcode

Python逆向之我逆向我自己的马子

参考文档

https://blog.csdn.net/GalaxySpaceX/article/details/130591614

https://www.cnblogs.com/hhdom/p/18261105

原文始发于微信公众号(Zer0 sec):Python逆向之我逆向我自己的马子

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年2月21日23:12:16
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   Python逆向之我逆向我自己的马子https://cn-sec.com/archives/3767118.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息