记一次对加密后pythonEXP的解密以及分析
2024-5-18 22:17:55 Author: www.freebuf.com(查看原文) 阅读量:0 收藏

freeBuf

前不久,我获得了某个黑客以100U天价售卖的全自动GetShell工具,打开之后都是乱七八糟的加密,接下来我会解出源码并分析此工具。

1716040613_6648b3a51b6a9feeedaa3.png!small

首先看这个代码最后一行,是导入某模块,我们用ascii转换成字符串看看。

print(b"\x62\x61\x73\x65\x36\x34".decode(ascii))

结果出现base64,我便推测这些代码均可用ascii解码并用base64解密,从而解出源码

我先把其全部的密文转换成byte形式

1716040966_6648b50609edce3999250.png!small

其部分base64密文

然后我再将其解密:

1716041034_6648b54ac2880be6a5c98.png!small

解密完成。

接下来是分析

1716041085_6648b57d63f166e81e42b.png!small

这部分是导入相关模块以及给颜色变量,与工具的功能并无太大关联

1716041139_6648b5b357e3c402e743e.png!small

shell那就是一句话木马了,从中我大概可以猜到这个原理是通过某个漏洞或功能上传php马并获取部分权限,下边是设置请求头。

1716041204_6648b5f43ee0252b9cd67.png!small

打开有关文件并读取,这不重要

1716041225_6648b6091c815c836d917.png!small

URL重写,便于下面的文件上传等操作

1716041258_6648b62a61291930055a4.png!small

相对最重要的代码:

check = requests.get(url+'/wp-content/plugins/work-list/lang.php',headers=headers, allow_redirects=True,timeout=15)

check变量是检查是否有/wp-content/plugins/work-list/lang.php文件,如果有:则检查文件中有无"Yanz Webshell"字符。如果有则保存到shells.txt

综上所述,这只是一个扫webshell的工具,且只能扫描一种webshell

已在FreeBuf发表 0 篇文章

本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022


文章来源: https://www.freebuf.com/articles/network/401323.html
如有侵权请联系:admin#unsafe.sh