logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

RB5009 - blokada stron, svchost.exe i Dnscache, co sprawdzić?

siewcu 18 Lis 2024 13:39 303 10
REKLAMA
  • #1 21308184
    siewcu
    Poziom 35  
    Posty: 3805
    Pomógł: 133
    Ocena: 458
    Dzień dobry. Mam dziwny problem...

    Któregoś dnia przyszedł do mnie w pracy kolega z informacją, że przestały mu się otwierać strony internetowe - szybko ipconfig /renew i flushdns, i używaj dalej. Drugi raz to samo - ustawiłem DNSy na jedynki(wcześniej z routera pobierał automatycznie bodajże OpenDNS), kazałem zostawić. Sytuacja powtórzyła się trzeci raz, do tego na drugim komputerze też się taki problem pojawił, no i zaczęło się drapanie w głowę... Okazało się, że chwilę wcześniej na routerze(RB5009) pojawiła się regułka: https://help.mikrotik.com/docs/spaces/ROS/pages/28606504/DDoS+Protection w związku z czym wynegocjowałem dostęp do logów i kazałem krzyczeć jak coś się zacznie dziać. Codziennie rano odpalam TCPView, żeby nie szukać na biegu o który proces chodzi, no i po kilku dniach przychodzi - znowu nie działa. Wchodzę w logi routera, a tam...

    Logi routera z komunikatami DDoS i szczegółami połączeń

    I to tylko krótki wycinek, bo podobnie to wyglądało kilka minut wcześniej i później, odnowa IP nie pomogła tym razem i zrestartowałem system. Co mi pokazał TCPView - winny jest proces svchost.exe, w kolumnie Module Name widnieje Dnscache. Nie ma znaczenia czy komputer(a konkretniej laptop, jeśli robi to komuś jakąś różnicę) jest podłączony przewodowo czy bezprzewodowo, czy jest to Windows 10 czy 11(moją pierwszą myślą było, że MS znowu zafundował jakąś ciekawą aktualizację, okazało się, że jednak nie). Chwilę później zobaczyłem jeszcze takie coś w logach - i tu ciekawostka, bo źródłem tego jest... telefon.

    Logi routera pokazujące aktywności związane z regułami firewall i działaniami DDoS.

    I teraz pytanie - o co tu chodzi? Zbieg okoliczności, że akurat po dodaniu reguły to wyszło? Aktualizacja Windowsa? W jakim kierunku rozpocząć poszukiwania? Czego w ogóle szukać? Próbowałem grzebać w google, nic nie znalazłem. Wirusa bym się nie spodziewał(ale nie wykluczam, w końcu antywirus nawet po skanie nie wszystko złapie), bo na żadnych dziwnych stronach nie bywa użytkownik(i skanowane było), ale z drugiej strony taki sam problem dotyczący już trzech(jednego nie zablokowało) laptopów? Ja się podśmiewałem, przyszło do mnie, potem trafiło biurko obok tego pierwszego i teraz drapiemy się w głowy o co chodzi i jak w ogóle próbować ugryźć ten temat, bo żaden z nas(w firmie) nie ma na tyle doświadczenia, żeby uderzyć od razu w konkretnym kierunku.
  • REKLAMA
  • #2 21308262
    Bródka
    Poziom 42  
    Posty: 7245
    Pomógł: 900
    Ocena: 723
    Pierwsze co to pokaż jak masz ustawiony firewall na MikroTiku, do tego skan FRST (Farbar Recovery Scan Tool) na każdym kompie i sprawdzanie co wyszło
    Coś możesz mieć ale podstawa to odizolowanie ruchu z zewnątrz, czy dobrze jest ustawiony Router
    Pomogłem? Kup mi kawę.
  • #3 21308329
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #4 21308987
    netTv
    Poziom 32  
    Posty: 1462
    Pomógł: 193
    Ocena: 579
    Zablokować na fw dostęp do lokalnego DNS od strony WAN + analiza ruchu na fw.
  • REKLAMA
  • #5 21309008
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • #7 21309658
    siewcu
    Poziom 35  
    Posty: 3805
    Pomógł: 133
    Ocena: 458
    Router nie jest konfigurowany przeze mnie. Z firewalla dostałem informację, że jest jeszcze całe to https://help.mikrotik.com/docs/spaces/ROS/pages/328513/Building+Advanced+Firewall a konfiguracja wygląda tak:

    # 2024-11-19 14:25:19 by RouterOS 7.16
    # software id = ***
    #
    # model = RB5009UPr+S+
    # serial number = ***
    /ip firewall address-list
    add address=0.0.0.0/8 comment="defconf: RFC6890" list=no_forward_ipv4
    add address=169.254.0.0/16 comment="defconf: RFC6890" list=no_forward_ipv4
    add address=224.0.0.0/4 comment="defconf: multicast" list=no_forward_ipv4
    add address=255.255.255.255 comment="defconf: RFC6890" list=no_forward_ipv4
    add address=127.0.0.0/8 comment="defconf: RFC6890" list=bad_ipv4
    add address=192.0.0.0/24 comment="defconf: RFC6890" list=bad_ipv4
    add address=192.0.2.0/24 comment="defconf: RFC6890 documentation" list=bad_ipv4
    add address=198.51.100.0/24 comment="defconf: RFC6890 documentation" list=\
        bad_ipv4
    add address=203.0.113.0/24 comment="defconf: RFC6890 documentation" list=\
        bad_ipv4
    add address=240.0.0.0/4 comment="defconf: RFC6890 reserved" list=bad_ipv4
    add address=0.0.0.0/8 comment="defconf: RFC6890" list=not_global_ipv4
    add address=10.0.0.0/8 comment="defconf: RFC6890" list=not_global_ipv4
    add address=100.64.0.0/10 comment="defconf: RFC6890" list=not_global_ipv4
    add address=169.254.0.0/16 comment="defconf: RFC6890" list=not_global_ipv4
    add address=172.16.0.0/12 comment="defconf: RFC6890" list=not_global_ipv4
    add address=192.0.0.0/29 comment="defconf: RFC6890" list=not_global_ipv4
    add address=192.168.0.0/16 comment="defconf: RFC6890" list=not_global_ipv4
    add address=198.18.0.0/15 comment="defconf: RFC6890 benchmark" list=\
        not_global_ipv4
    add address=255.255.255.255 comment="defconf: RFC6890" list=not_global_ipv4
    add address=224.0.0.0/4 comment="defconf: multicast" list=bad_src_ipv4
    add address=255.255.255.255 comment="defconf: RFC6890" list=bad_src_ipv4
    add address=0.0.0.0/8 comment="defconf: RFC6890" list=bad_dst_ipv4
    add address=224.0.0.0/4 comment="defconf: RFC6890" list=bad_dst_ipv4
    /ip firewall filter
    add action=fasttrack-connection chain=forward connection-state=\
        established,related disabled=yes hw-offload=yes
    add action=drop chain=input comment=SpamListy in-interface-list=WAN log-prefix=\
        SpamFireHOL src-address-list=z-blocklist-FireHOL-L2
    add action=drop chain=input comment=SpamListy in-interface-list=WAN log-prefix=\
        SpamSentinel src-address-list=z-blocklist-Sentinel
    add action=drop chain=input comment=SpamListy in-interface-list=WAN log-prefix=\
        SpamHaus src-address-list=z-blocklist-SpamHaus
    add action=accept chain=forward connection-state=established,related
    add action=accept chain=input comment="defconf: accept ICMP after RAW" \
        protocol=icmp
    add action=accept chain=input comment=\
        "defconf: accept established,related,untracked" connection-state=\
        established,related,untracked
    add action=accept chain=input dst-port=22,8899 protocol=tcp src-address=\
        192.168.1.0/24
    add action=accept chain=input dst-port=22,8899 protocol=tcp src-address=\
        10.0.0.0/24
    add action=accept chain=input comment="L2TP, WireGuard" dst-port=\
        500,1701,4500,13231 protocol=udp
    add action=drop chain=input comment="defconf: drop all not coming from LAN" \
        in-interface-list=!LAN
    add action=accept chain=forward comment=\
        "defconf: accept all that matches IPSec policy" ipsec-policy=in,ipsec
    add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
        connection-state=established,related hw-offload=yes
    add action=accept chain=forward comment=\
        "defconf: accept established,related, untracked" connection-state=\
        established,related,untracked
    add action=drop chain=forward comment="defconf: drop invalid" connection-state=\
        invalid
    add action=drop chain=forward comment=\
        "defconf:  drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
        connection-state=new in-interface-list=WAN
    add action=drop chain=forward comment=\
        "defconf: drop bad forward IPs (multicast - potrzebny do IPTV)" disabled=\
        yes src-address-list=no_forward_ipv4
    add action=drop chain=forward comment=\
        "defconf: drop bad forward IPs (multicast - potrzebny do IPTV)" disabled=\
        yes dst-address-list=no_forward_ipv4
    add action=jump chain=forward connection-state=new jump-target=detect-ddos
    add action=return chain=detect-ddos dst-limit=32,256,src-and-dst-addresses/10s
    add action=add-dst-to-address-list address-list=ddos-targets \
        address-list-timeout=10m chain=detect-ddos log=yes log-prefix=\
        "ddos add dst to address"
    add action=add-src-to-address-list address-list=ddos-attackers \
        address-list-timeout=10m chain=detect-ddos log=yes log-prefix=\
        "ddos src add to address"
    add action=return chain=detect-ddos dst-limit=32,256,src-and-dst-addresses/10s \
        protocol=tcp tcp-flags=syn,ack
    add action=add-src-to-address-list address-list=bruteforce_blacklist \
        address-list-timeout=1d chain=input comment=Blacklist connection-state=new \
        dst-port=22 protocol=tcp src-address-list=connection3
    add action=add-src-to-address-list address-list=connection3 \
        address-list-timeout=1h chain=input comment="Third attempt" \
        connection-state=new dst-port=22 protocol=tcp src-address-list=\
        connection2,!secured
    add action=add-src-to-address-list address-list=connection2 \
        address-list-timeout=15m chain=input comment="Second attempt" \
        connection-state=new dst-port=22 protocol=tcp src-address-list=connection1
    add action=add-src-to-address-list address-list=connection1 \
        address-list-timeout=5m chain=input comment="First attempt" \
        connection-state=new dst-port=22 protocol=tcp
    add action=accept chain=input dst-port=22 protocol=tcp src-address-list=\
        !bruteforce_blacklist
    add action=drop chain=forward dst-address=192.168.1.0/24 log=yes src-address=\
        192.168.10.0/24
    add action=drop chain=forward dst-address=192.168.1.0/24 log=yes src-address=\
        192.168.20.0/24
    /ip firewall nat
    add action=accept chain=srcnat comment=\
        "defconf: accept all that matches IPSec policy" ipsec-policy=out,ipsec
    add action=masquerade chain=srcnat comment="defconf: masquerade" disabled=yes \
        out-interface=sfp-sfpplus1 to-addresses=***
    add action=masquerade chain=srcnat comment="defconf: masquerade" disabled=yes \
        out-interface=ether2 to-addresses=***
    add action=src-nat chain=srcnat out-interface=sfp-sfpplus1 src-address=\
        192.168.1.0/24 to-addresses=***
    add action=src-nat chain=srcnat out-interface=sfp-sfpplus1 src-address=\
        192.168.10.0/24 to-addresses=***
    add action=src-nat chain=srcnat out-interface=sfp-sfpplus1 src-address=\
        192.168.20.0/24 to-addresses=***
    add action=src-nat chain=srcnat out-interface=sfp-sfpplus1 src-address=\
        10.0.0.0/24 to-addresses=***
    add action=masquerade chain=srcnat comment="Hairpin NAT" dst-address=\
        !192.168.1.1 src-address=192.168.1.0/24
    add action=dst-nat chain=dstnat comment="Hairpin NAT - NVR" dst-address=\
        !192.168.1.1 dst-port=9000 protocol=tcp to-addresses=192.168.1.230 \
        to-ports=8000
    /ip firewall raw
    add action=accept chain=prerouting comment=\
        "defconf: enable for transparent firewall (for all RAW rule)" disabled=yes
    add action=accept chain=prerouting comment="defconf: accept DHCP discover" \
        dst-address=255.255.255.255 dst-port=67 in-interface-list=LAN protocol=udp \
        src-address=0.0.0.0 src-port=68
    add action=drop chain=prerouting comment="defconf: drop bogon IP's" \
        src-address-list=bad_ipv4
    add action=drop chain=prerouting comment="defconf: drop bogon IP's" \
        dst-address-list=bad_ipv4
    add action=drop chain=prerouting comment="defconf: drop bogon IP's" \
        src-address-list=bad_src_ipv4
    add action=drop chain=prerouting comment="defconf: drop bogon IP's" \
        dst-address-list=bad_dst_ipv4
    add action=drop chain=prerouting comment="defconf: drop non global from WAN" \
        in-interface-list=WAN src-address-list=not_global_ipv4
    add action=drop chain=prerouting comment=\
        "defconf: drop forward to local lan from WAN" dst-address=192.168.1.0/24 \
        in-interface-list=WAN
    add action=drop chain=prerouting comment=\
        "defconf: drop forward to local lan from WAN" dst-address=192.168.10.0/24 \
        in-interface-list=WAN
    add action=drop chain=prerouting comment=\
        "defconf: drop forward to local lan from WAN" dst-address=192.168.20.0/24 \
        in-interface-list=WAN
    add action=drop chain=prerouting comment=\
        "defconf: drop local if not from default IP range" in-interface-list=LAN \
        src-address=!192.168.1.0/24
    add action=drop chain=prerouting comment=\
        "defconf: drop local if not from default IP range" in-interface-list=GUEST \
        src-address=!192.168.10.0/24
    add action=drop chain=prerouting comment=\
        "defconf: drop local if not from default IP range" in-interface-list=\
        SZKOLENIA src-address=!192.168.20.0/24
    add action=drop chain=prerouting comment="defconf: drop bad UDP" port=0 \
        protocol=udp
    add action=jump chain=prerouting comment="defconf: jump to ICMP chain" \
        jump-target=icmp4 protocol=icmp
    add action=jump chain=prerouting comment="defconf: jump to TCP chain" \
        jump-target=bad_tcp protocol=tcp
    add action=accept chain=prerouting comment=\
        "defconf: accept everything else from LAN" port=500,1701,4500,13231 \
        protocol=tcp
    add action=accept chain=prerouting comment=\
        "defconf: accept everything else from WAN" in-interface-list=WAN
    add action=drop chain=prerouting comment="defconf: drop the rest" disabled=yes
    add action=drop chain=bad_tcp comment="defconf: TCP flag filter" protocol=tcp \
        tcp-flags=!fin,!syn,!rst,!ack
    add action=drop chain=bad_tcp comment=defconf protocol=tcp tcp-flags=fin,syn
    add action=drop chain=bad_tcp comment=defconf protocol=tcp tcp-flags=fin,rst
    add action=drop chain=bad_tcp comment=defconf protocol=tcp tcp-flags=fin,!ack
    add action=drop chain=bad_tcp comment=defconf protocol=tcp tcp-flags=fin,urg
    add action=drop chain=bad_tcp comment=defconf protocol=tcp tcp-flags=syn,rst
    add action=drop chain=bad_tcp comment=defconf protocol=tcp tcp-flags=rst,urg
    add action=drop chain=bad_tcp comment="defconf: TCP port 0 drop" port=0 \
        protocol=tcp
    add action=drop chain=prerouting dst-address-list=ddos-targets log=yes \
        log-prefix=ddos-attackers src-address-list=ddos-attackers
    add action=accept chain=prerouting comment="!! PONIZSZE REGULY ICMP je\9Cli chce\
        sz mie\E6 bardzo \9Ccis\B3\B9 zapor\EA ogniow\B9, mo\BFna zastosowa\E6 takie\
        \_\9Ccis\B3e filtrowanie ICMP, ale w wi\EAkszo\9Cci przypadk\F3w nie jest to\
        \_konieczne i po prostu zwi\EAksza obci\B9\BFenie procesora routera. Limit s\
        zybko\9Cci ICMP w wi\EAkszo\9Cci przypadk\F3w jest r\F3wnie\BF niepotrzebny,\
        \_poniewa\BF j\B9dro Linuksa ju\BF ogranicza pakiety ICMP do 100 pps." \
        disabled=yes
    add action=accept chain=icmp4 comment="defconf: echo reply" disabled=yes \
        icmp-options=0:0 limit=5,10:packet protocol=icmp
    add action=accept chain=icmp4 comment="defconf: net unreachable" disabled=yes \
        icmp-options=3:0 protocol=icmp
    add action=accept chain=icmp4 comment="defconf: host unreachable" disabled=yes \
        icmp-options=3:1 protocol=icmp
    add action=accept chain=icmp4 comment="defconf: protocol unreachable" disabled=\
        yes icmp-options=3:2 protocol=icmp
    add action=accept chain=icmp4 comment="defconf: port unreachable" disabled=yes \
        icmp-options=3:3 protocol=icmp
    add action=accept chain=icmp4 comment="defconf: fragmentation needed" disabled=\
        yes icmp-options=3:4 protocol=icmp
    add action=accept chain=icmp4 comment="defconf: echo" disabled=yes \
        icmp-options=8:0 limit=5,10:packet protocol=icmp
    add action=accept chain=icmp4 comment="defconf: time exceeded " disabled=yes \
        icmp-options=11:0-255 protocol=icmp
    add action=drop chain=icmp4 comment="defconf: drop other icmp" disabled=yes \
        protocol=icmp
    


    Gwiazdkami zaznaczyłem dane firmowe. Na log z FRST z najbardziej problematycznego urządzenia jeszcze niestety muszę chwilę poczekać, użytkownik sprzętu na wyjeździe i zabrał ze sobą laptopa.
  • #8 21310207
    netTv
    Poziom 32  
    Posty: 1462
    Pomógł: 193
    Ocena: 579
    Reguły anty ddos nie powinny dotykać adresacji wewnętrznej. To blokuje komunikację lan bez uzasadnienia.

    Wyłącz tę regułę i sprawdź:

    add action=drop chain=prerouting dst-address-list=ddos-targets log=yes \
    log-prefix=ddos-attackers src-address-list=ddos-attackers

    Na pałę kopiowanie przykładów implementacji firewall wprost jest bez sensu.

    Na początku w raw w firewall powinna być reguła, która z założenia odciąża procesor routera dla ipsec poprzez ominięcie reguł w raw.

    /ip firewall raw
    add action=accept chain=prerouting comment="allow ipsec in" ipsec-policy=in,ipsec
    add action=accept chain=output comment="allow ipsec out" ipsec-policy=out,ipsec
  • #9 21310361
    Konto nie istnieje
    Poziom 1  
  • #10 21310516
    netTv
    Poziom 32  
    Posty: 1462
    Pomógł: 193
    Ocena: 579
    Zapytania są blokowane przez regułę anty ddos w RAW więc są ponowienia, nic dziwnego.
    Trzeba zrobić regułę na new session logowanie udp i tcp do port 53 i wtedy testować/obserwować.
    Temat banalny dla zaawansowanego administratora.
  • #11 21310740
    siewcu
    Poziom 35  
    Posty: 3805
    Pomógł: 133
    Ocena: 458
    netTv napisał:
    Reguły anty ddos nie powinny dotykać adresacji wewnętrznej. To blokuje komunikację lan bez uzasadnienia.

    Z komunikacją LAN nie mamy żadnych problemów.

    netTv napisał:
    Wyłącz tę regułę i sprawdź:

    add action=drop chain=prerouting dst-address-list=ddos-targets log=yes \
    log-prefix=ddos-attackers src-address-list=ddos-attackers

    I dalej będę w logu widział co się dzieje? U mnie z MT bardzo średnio, ale jeśli dobrze to rozumiem to wpisy znikną.

    Erbit napisał:
    Nie powinna ale tylko dzięki temu autor zauważył, że ma dużo zapytań DNS. Moim zdaniem bardzo dużo. Wszak jeszcze jest cache w Windows, który powinien znacznie zmniejszyć ilość tych zapytań.

    I wg. TCPView to są właśnie z cache'a DNS zapytania, chyba że trafiłem na jakiegoś syfa(dzisiaj powinno się udać sprawdzić), który się podszywa akurat pod svchost(ten prawdziwy) i dnscache.

Podsumowanie tematu

✨ Użytkownik zgłasza problem z dostępem do stron internetowych na routerze RB5009, który pojawia się po zastosowaniu reguł DDoS. Problemy z DNS i svchost.exe są podejrzewane. Użytkownicy sugerują sprawdzenie konfiguracji firewalla, blokowanie dostępu do lokalnego DNS z WAN oraz analizę ruchu. Wskazują na nadmierną ilość zapytań DNS, co może wskazywać na problem z złośliwym oprogramowaniem. Rekomendowane jest przywrócenie domyślnych ustawień routera oraz aktualizacja oprogramowania. Użytkownik zauważa, że problemy z DNS mogą być związane z cachem systemu Windows.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA