Kwa nini uchunguzi wa bandari hubadilika unapouendeshwa kwa sudo
Wakati soketi mbichi hazipatikani, Nmap hubadilisha kimya uchunguzi wa SYN na uchunguzi wa TCP connect, kwa hiyo root na mtumiaji wa kawaida hupima njia tofauti.
Nmap haitumi kila wakati kifurushi unachodhani umeomba. Wakati soketi mbichi hazipatikani, hubadilisha uchunguzi wa SYN wa chaguo-msingi na uchunguzi wa TCP connect, kwa hiyo kuendesha kama mtumiaji wako wa kawaida na kuendesha chini ya sudo kunaweza kujibu maswali tofauti kuhusu bandari moja. Matokeo yanaonekana kama tatizo la ruhusa, na mara nyingi ni mabadiliko ya mbinu. Kufanya mbinu iwe wazi ndiyo njia pekee ya kulinganisha uendeshaji huo miwili.
Vichunguzi viwili, bandari moja, njia tofauti za msimbo
Uchunguzi wa SYN hujenga kichwa cha TCP yenyewe, hukituma kutoka soketi mbichi na kusoma jibu kutoka mtandao kabla safu ya TCP ya kerneli haijawahi kurekodi muunganisho uliokamilika. Uchunguzi wa connect huomba mfumo wa uendeshaji kufungua soketi ya kawaida na kuripoti kile connect() inarudisha. Zote mbili zinaweza kuita bandari wazi, lakini moja tu huacha jaribio la nusu-wazi na moja tu iko chini ya sera ya ngazi ya soketi iliyounganishwa na mchakato unaotuma.
Njia mbichi inahitaji CAP_NET_RAW, ndiyo sababu uchunguzi wa chaguo-msingi hupungua kimya wakati uwezo huo haupo. Marejeo ya mbinu za uchunguzi ya Nmap yenyewe yanaandika ubadilishaji huu: uchunguzi wa connect ni mbadala kwa sababu hauhitaji ruhusa yoyote maalum. Ubadilishaji hutokea bila onyo katika uendeshaji mwingi, na ndiyo hufanya iwe rahisi kukosea kusoma. Ukisha kujua kwamba mbadala upo, “wazi kama root, imefungwa kama mtumiaji” haisikiki tena kama hitilafu ya ruhusa na huanza kusikika kama vipimo viwili tofauti.
Nini sudo hubadilisha kweli katika uchunguzi
Kuinua ruhusa hurejesha njia ya soketi mbichi, na hilo hubadilisha zaidi ya hukumu. Uchaguzi wa bandari chanzo, muda wa vifurushi, tabia ya kutuma tena na jinsi jibu lililochujwa huainishwa vyote hutoka kwenye msimbo tofauti. Kifaa cha kati kinachopunguza kasi ya SYN huwatendea uendeshaji huo miwili kwa usawa usio sawa hata wakati mwenyeji lengwa ni yule yule.
Uwekaji kumbukumbu upande wa lengo pia hutofautiana. Ushikaji mkono uliokamilika huonekana kwa huduma na kwa hesabu yoyote ya soketi, wakati kichunguzi cha nusu-wazi kilichowekwa upya mara nyingi hakiui. Ikiwa unalinganisha uendeshaji dhidi ya mwenyeji ambaye kumbukumbu zake pia unazisoma, sehemu ya tofauti unayoona ni uchunguzi wenyewe.
Weka mbinu bila kubadilika katika uendeshaji wote miwili
Lazimisha mbinu ile ile katika miito yote miwili na ulinganisho huanza kuwa na maana. Bendera -sT inaomba uchunguzi wa connect kwa uwazi, -Pn huondoa ugunduzi wa mwenyeji, -n huondoa utatuzi wa majina, na -p moja huondoa tofauti za orodha ya bandari.
nmap -sT -Pn -n -p 8443 198.51.100.77
sudo nmap -sT -Pn -n -p 8443 198.51.100.77
Badilisha anwani na bandari kwa mwenyeji uliyeruhusiwa kujaribu; safu ya nyaraka hapo juu ni mfano, sio lengo. Ikiwa uendeshaji huo miwili sasa unakubaliana, tofauti ya awali ilitoka kwenye mbinu ya uchunguzi. Ikiwa bado haukubaliani, kitu kingine kinaainisha trafiki, na sehemu inayofuata ni mahali pa kuangalia.
Muktadha wa akaunti sio bendera ya ruhusa tu
Uwekaji wa VPN unaweza kuainisha vifurushi kwa UID, kwa cgroup au kwa kanuni iliyounganishwa na mchakato uliofungua soketi. Kisha trafiki ya root na trafiki ya mtumiaji hutoka kupitia majedwali tofauti ya uelekezaji au hugonga seti tofauti za kanuni, na hakuna nidhamu ya mbinu ya uchunguzi inayowapatanisha.
Chunguza sera, sio ruhusa. Kwenye Linux nftables huwasilisha hili kwa meta skuid na iptables kwa ulinganifu wa mmiliki, na yoyote kati yao inaweza kutuma UID moja kupitia handaki wakati nyingine inaendelea kutumia njia ya msingi ya kimwili.
sudo nft list ruleset | grep -n skuid
sudo iptables-save | grep -n uid-owner
ip rule show
ip route get 198.51.100.77
Kabla ya kulinganisha matokeo, thibitisha kichunguzi
Kabla ya kufikia hitimisho, thibitisha ni kichunguzi kipi kilifanya kazi. Nmap huitaja mbinu katika matokeo yake, na --reason huongeza ushahidi nyuma ya kila hali, na hiyo ndiyo sehemu inayokuambia kama ushikaji mkono ulikamilika kweli.
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
Uendeshaji miwili unaoripoti hali moja kwa sababu tofauti si kinyume, na uendeshaji miwili unaoripoti hali tofauti kwa sababu moja unaelekeza kwenye uelekezaji au sera, sio kwenye uchunguzi. Weka lengo, bandari, nafasi ya majina na muda sawa, kisha badilisha kigezo kimoja kwa wakati mmoja. Kuendesha huduma kama root sio ukarabati wa kutokubaliana kwa sera; ukarabati ni kuwasilisha sera iliyokusudiwa kupitia mmiliki wa huduma.