Nmap sendir ekki alltaf þá pakka sem þú heldur að þú hafir beðið um. Þegar hrásokkar eru ekki tiltækir skiptir það sjálfgefnu SYN-skönnuninni út fyrir TCP connect-skönnun, svo keyrsla sem venjulegur notandi og keyrsla undir sudo geta svarað mismunandi spurningum um sama port. Niðurstöðurnar líta út eins og réttindavandamál, og þær eru venjulega aðferðabreyting. Að gera aðferðina skýra er eina leiðin til að bera keyrslurnar tvær saman yfirhöfuð.

Tvær prófunar, eitt port, mismunandi kóðaleiðir

SYN-skönnun byggir TCP-hausinn sjálf, sendir hann frá hrásokki og les svarið af netinu áður en TCP-stakk kjarnans skráir nokkurn tíma fullkláraða tengingu. Connect-skönnun biður stýrikerfið að opna venjulegan sokk og tilkynnir það sem connect() skilar. Báðar geta kallað port opið, en aðeins önnur skilur eftir hálfopna tilraun og aðeins önnur er háð stefnu á sokkastigi sem tengist sendandi ferlinu.

Hráa leiðin krefst CAP_NET_RAW, og þess vegna versnar sjálfgefna skönnunin hljóðlega þegar þessi geta vantar. Eigin viðmiðun Nmap um skönnunaraðferðir skjalfestir skiptin: connect-skönnun er varaleiðin því hún krefst alls ekki sérstakra réttinda. Skiptin eiga sér stað án viðvörunar í flestum keyrslum, og einmitt það gerir hana svo auðvelda að misskilja. Þegar þú veist að varaleiðin er til hættir „opið sem root, lokað sem notandi“ að hljóma eins og réttindabugur og byrjar að hljóma eins og tvær mismunandi mælingar.

Hvað sudo breytir í raun í skönnuninni

Aukin réttindi endurheimta hrásokksleiðina, og það breytir meiru en dómnum. Val upprunaports, tímasetning pakka, hegðun endursendingar og hvernig síuðu svari er flokkað koma allt frá mismunandi kóða. Millistykki sem takmarkar hraða SYN-anna kemur fram við keyrslurnar tvær ójafnt jafnvel þegar áfangahýsillinn er sá sami.

Skrásetning á áfangahlið er líka frábrugðin. Fullklárað handaband er sýnilegt þjónustunni og hvers kyns sokkauppgjöri, en endurstillt hálfopin prófun er það oft ekki. Ef þú berð keyrslur saman við hýsil sem þú lest líka skrárnar hjá er hluti af þeim mun sem þú sérð athugunin sjálf.

Haltu aðferðinni stöðugri í báðum keyrslum

Þvingaðu sömu tækni í báðum köllunum og samanburðurinn fer að þýða eitthvað. Fáninn -sT biður um connect-skönnun skýrt, -Pn fjarlægir uppgötvun hýsla, -n fjarlægir nafnaupplausn, og einn -p fjarlægir mun á portlistum.

nmap -sT -Pn -n -p 8443 198.51.100.77
sudo nmap -sT -Pn -n -p 8443 198.51.100.77

Skiptu út heimilisfanginu og portinu fyrir hýsil sem þú hefur heimild til að prófa; skjalamyndin hér að ofan er dæmi, ekki skotmark. Ef keyrslurnar tvær eru nú samhljóma kom upprunalegi munurinn frá skönnunaraðferðinni. Ef þær eru enn ósammála flokkar eitthvað annað umferðina, og næsti kafli er staðurinn til að líta á.

Reikningssamhengi er ekki bara réttindafáninn

VPN-uppsetning getur flokkað pakka eftir UID, eftir cgroup eða eftir reglu sem tengist ferlinu sem opnaði sokkinn. Þá fara root-umferð og notandaumferð út um mismunandi leiðartöflur eða lenda í mismunandi reglusöfnum, og engin skönnunaraðferðaragi sættir þau.

Skoðaðu stefnuna frekar en réttindin. Á Linux lýsir nftables þessu með meta skuid og iptables með samsvörun eiganda, og hvort sem er getur sent eitt UID niður göng, á meðan hitt heldur áfram að nota líkamlegu sjálfgefnu leiðina.

sudo nft list ruleset | grep -n skuid
sudo iptables-save | grep -n uid-owner
ip rule show
ip route get 198.51.100.77

Staðfestu prófunina áður en þú berð saman niðurstöður

Áður en þú dregur ályktanir skaltu sanna hvaða prófun var keyrð. Nmap nefnir tæknina í eigin úttaki, og --reason bætir við sönnuninni á bak við hvert ástand, sem er sá hluti sem segir þér hvort handaband hafi í raun verið fullklárað.

nmap --reason -sT -Pn -n -p 8443 198.51.100.77
sudo nmap --reason -sS -Pn -n -p 8443 198.51.100.77
getcap "$(command -v nmap)"
capsh --print | grep -i net_raw

Tvær keyrslur sem tilkynna sama ástand af mismunandi ástæðum eru ekki mótsögn, og tvær keyrslur sem tilkynna mismunandi ástand af sömu ástæðu benda til leiðar eða stefnu frekar en skönnunarinnar. Haltu áfangastað, porti, nafnrými og tímasetningu óbreyttum og breyttu síðan einni breytu í einu. Að keyra þjónustuna sem root er ekki viðgerðin á stefnumisræmi; að lýsa fyrirhugaðri stefnu í gegnum eiganda þjónustunnar er það.

Tengdir greinar