4837 Total CVEs
26 Years
GitHub
README.md
Rendering markdown...
POC / poc.py PY
import sqlite3
import os
import subprocess
import pathlib
import pandas as pd
import sys
import time

conn = sqlite3.connect('details.db')
c = conn.cursor()
c.execute("CREATE TABLE if not exists result(string text , count integer)")
conn.commit()

host = sys.argv[1]

path = 'benigncertain'
file = pathlib.Path(f'{path}/{host}.bin')

try:
    cp = subprocess.run([f"python2.7 benign.py {host} -o {host}.bin -n 10000"], cwd=path, universal_newlines=True, shell=True,
                        stdout=subprocess.PIPE,
                        stderr=subprocess.STDOUT)

    output = subprocess.run([f"strings {host}.bin"], cwd=path, universal_newlines=True, shell=True,
                            stdout=subprocess.PIPE,
                            stderr=subprocess.STDOUT)
    words = output.stdout.split()

    if words and file.exists():
        for word in words:
            c.execute("SELECT count FROM result WHERE string=?", (word,))
            query = c.fetchone()
            if query is None:
                c.execute("INSERT INTO result(string, count) VALUES(?,?)", (word, 1))
            else:
                c.execute("UPDATE result SET count =? WHERE string=?", (query[0] + 1, word,))

        conn.commit()
        os.remove(f'{path}/{host}.bin')

        print(pd.read_sql_query("SELECT * FROM result order by count DESC", conn))

except subprocess.TimeoutExpired:
    print('\'bc-id\' binary timed out, this will happen frequently with some hosts.' )