Yr hyn y mae ProxyChains yn ei ryng-gipio, a'r hyn y mae'n ei adael yn llonydd
Mae ProxyChains yn bachu galwadau llyfrgell yn y rhaglen y mae'n ei lansio. Gwiriwch gynnwys TCP gyda maps, strace ac un cais, yna peidiwch â chymryd yn ganiataol fod DNS neu UDP yn dilyn.
Nid yw ProxyChains-NG yn creu twnnel. Mae'n rhaglwytho llyfrgell sy'n disodli galwadau libc rhwydwaith o fewn yr un rhaglen y mae'n ei lansio, felly'r ffin yw galwad mewn proses, nid llwybr ar draws y ddyfais. Y gwahaniaeth hwnnw sy'n penderfynu beth y mae prawf llwyddiannus yn ei brofi mewn gwirionedd. Mae curl sy'n gweithio drwy'r gadwyn yn cadarnhau un alwad wedi'i bachu, nid bod datrys enwau, UDP na phob proses blentyn wedi dilyn yr un llwybr. Mae'r llawlyfr isod yn gwirio cynnwys mewn tri cham, yna'n rhestru'r hyn na all y bachyn ei gyrraedd.
Sut mae'r rhaglwytho yn cyrraedd cysylltiad
Wrth gychwyn, mae'r lansiwr yn rhoi libproxychains yn LD_PRELOAD ac yna'n gweithredu'r rhaglen darged. Mae'r llyfrgell yn datrys symbolau libc go iawn ac yn rhoi ei fersiynau ei hun o swyddogaethau fel connect a getaddrinfo yn eu lle. Mae galwadau sy'n mynd drwy'r symbolau hynny'n cael eu hailysgrifennu i'r proxy SOCKS neu HTTP o'r ffeil ffurfweddu. Nid yw galwadau sy'n cymryd llwybr arall byth yn cwrdd â'r bachyn, a dyna pam mae'r warant yn unol â galwad ac nid yn unol â pheiriant.
Dim ond rhaglenni wedi'u cysylltu'n ddeinamig sy'n cymryd rhan, ac mae deuaidd setuid o dan weithrediad diogel yn anwybyddu'r rhaglwytho'n llwyr. Mae plant yn etifeddu'r amgylchedd, ond dim ond tra bo'r lansiwr yn ei gadw yn ei le.
Cadarnhewch fod y llyfrgell wedi'i llwytho yn y broses honno
Dechreuwch y cais ac archwiliwch y broses fyw yn hytrach na'r plisgyn a'i lansiodd. Mae'r ffeil maps yn dangos pob gwrthrych a rennir sydd wedi'i fapio i'r broses ar hyn o bryd.
proxychains4 -q curl -sS --max-time 8 https://example.com/ -o /dev/null &
pgrep -a curl
grep libproxychains /proc/$(pgrep -n curl)/mapsMae cyfatebiaeth yn cadarnhau bod y llyfrgell fachog yn bresennol, sy'n angenrheidiol ond heb fod yn ddigonol. Mae canlyniad gwag fel arfer yn golygu eich bod wedi archwilio proses wahanol, er enghraifft porwr a roddodd yr URL i achos a gychwynnwyd cyn y lansiwr. Gwiriwch gyda ldd fod y deuaidd wedi'i gysylltu'n ddeinamig cyn mynd ar drywydd unrhyw beth arall, oherwydd ni all adeiliad statig lwytho'r rhaglwytho o gwbl. Yna darllenwch y rhestr proxy yn y ffurfweddiad a ddefnyddiodd y lansiwr mewn gwirionedd, gan fod llwybr hen neu borth caeedig yn rhoi bachyn gweithredol heb gadwyn weithredol.
Olrheiniwch y cysylltiadau sy'n gadael y broses
Nid yw presenoldeb y llyfrgell yn profi bod pob galwad wedi'i hailysgrifennu, felly dilynwch y galwadau system. Rhedwch un cais o dan yr olrheinydd a darllenwch i ble'r aeth y socedi mewn gwirionedd.
strace -f -e trace=connect -o /tmp/pc.trace proxychains4 -q curl -sS https://example.com/ -o /dev/null
grep -o "sin_port=htons([0-9]*)" /tmp/pc.trace | sort -uDylai'r olrhaith ddangos cysylltiadau i'ch pwynt diwedd proxy yn unig, gyda'r porth yn cyfateb i'r cofnod yn y ffeil ffurfweddu. Mae cyfeiriadau cyrchfan y safle targed yn ymddangos yn syth yn yr olrhaith yn golygu bod yr alwad honno wedi osgoi'r bachyn, a dyna'r darganfyddiad y buasech yn chwilio amdano. Cymharwch y rhifau porth â'r rhestr proxy yn lle ymddiried yn enw'r ffeil, oherwydd ffurfweddiad dros ben o brosiect arall yw ffynhonnell gyffredin mynediad uniongyrchol tawel. Cadwch yr olrhaith ar gyfer y cofnod derbyn; mae'n cymryd eiliadau ac yn setlo dadleuon am gynnwys.
Penderfynwch beth na all y bachyn ei gwmpasu
Mae prosiect proxychains-ng yn cyfyngu ailgyfeirio i TCP ac yn rhybuddio y gall sgriptiau, prosesau cefndir a modiwlau wedi'u llwytho ymddwyn yn wahanol i'r prif raglen. Mae UDP ac ICMP y tu allan i'r mecanwaith, felly mae angen eu llwybr cefnogol eu hunain ar unrhyw beth sy'n dibynnu arnynt. Mae DNS yn dilyn y gosodiad proxy_dns ac ymddygiad datryswr yr ap ei hun, sy'n golygu nad yw un cais HTTPS llwyddiannus yn dweud dim wrthych am ddatrys enwau. Cadwch dilysu tystysgrifau yn ei le hefyd: nid yw cyrraedd gweinydd drwy proxy yn rheswm i analluogi gwiriadau hunaniaeth.
Os rhaid i'r cwymp uniongyrchol fod yn amhosibl, defnyddiwch ffin orfodi sy'n rheoli'r traffig ei hun, fel gofod enw rhwydwaith, rheolau firewall neu VPN, a'i chadw ar wahân i fachyn y llyfrgell. Mae'r bachyn yn offeryn cydnawsedd ar gyfer rhaglen benodol, nid kill switch. Cofnodwch y rhaglen, yr union orchymyn, y porth proxy a welwyd yn yr olrhaith ac a ddatryswyd DNS o bell; mae'r pedwar peth hynny'n gwahaniaethu rhwng cwmpas wedi'i wirio a chwmpas gobeithiol.