
ఈ కథనం ఫైల్లెస్ మాల్వేర్ సిరీస్లో భాగం. సిరీస్లోని అన్ని ఇతర భాగాలు:
- ది అడ్వెంచర్స్ ఆఫ్ ది ఎలుసివ్ మాల్వేర్, పార్ట్ IV: DDE మరియు వర్డ్ డాక్యుమెంట్ ఫీల్డ్స్ (మేము ఇక్కడ ఉన్నాము)
ఈ కథనంలో, నేను సిస్టమ్పై పిన్ చేయడంతో మరింత క్లిష్టమైన బహుళ-దశల ఫైల్లెస్ దాడి దృశ్యంలోకి ప్రవేశించబోతున్నాను. కానీ అప్పుడు నేను చాలా సరళమైన, నో-కోడ్ దాడిని చూశాను- వర్డ్ లేదా ఎక్సెల్ మాక్రోలు అవసరం లేదు! మరియు ఈ కథనాల శ్రేణిలో ఉన్న నా అసలు పరికల్పనను ఇది మరింత ప్రభావవంతంగా రుజువు చేస్తుంది: ఏదైనా సంస్థ యొక్క బయటి చుట్టుకొలతను విచ్ఛిన్నం చేయడం కష్టమైన పని కాదు.
నేను వివరించే మొదటి దాడి మైక్రోసాఫ్ట్ వర్డ్ దుర్బలత్వంపై ఆధారపడి ఉంటుంది కాలం చెల్లిన (DDE). ఆమె అప్పటికే . రెండవది Microsoft COM మరియు ఆబ్జెక్ట్ బదిలీ సామర్థ్యాలలో మరింత సాధారణ దుర్బలత్వాన్ని ఉపయోగించుకుంటుంది.
DDEతో భవిష్యత్తుకు తిరిగి వెళ్ళు
ఇంకెవరికైనా DDE గుర్తుందా? బహుశా చాలా కాదు. ఇది మొదటి వాటిలో ఒకటి డేటాను బదిలీ చేయడానికి అప్లికేషన్లు మరియు పరికరాలను అనుమతించే ఇంటర్-ప్రాసెస్ కమ్యూనికేషన్ ప్రోటోకాల్లు.
నేను టెలికాం ఎక్విప్మెంట్ని చెక్ చేసి టెస్ట్ చేసేవాడిని కాబట్టి నాకు దానితో కొంచెం పరిచయం ఉంది. ఆ సమయంలో, DDE అనుమతించింది, ఉదాహరణకు, కాల్ సెంటర్ ఆపరేటర్లు కాలర్ IDని CRM అప్లికేషన్కి బదిలీ చేయడానికి అనుమతించారు, ఇది చివరికి కస్టమర్ కార్డ్ను తెరిచింది. దీన్ని చేయడానికి, మీరు మీ ఫోన్ మరియు మీ కంప్యూటర్ మధ్య RS-232 కేబుల్ను కనెక్ట్ చేయాలి. అవీ అసలు రోజులు!
ఇది మారుతుంది, Microsoft Word ఇప్పటికీ ఉంది DDE.
కోడ్ లేకుండా ఈ దాడిని ప్రభావవంతంగా చేసేది ఏమిటంటే మీరు DDE ప్రోటోకాల్ను యాక్సెస్ చేయవచ్చు నేరుగా వర్డ్ డాక్యుమెంట్లోని ఆటోమేటిక్ ఫీల్డ్ల నుండి (దీని కోసం సెన్స్పోస్ట్కు హ్యాట్సాఫ్ దాని గురించి).
ఫీల్డ్ కోడ్లు మీ డాక్యుమెంట్కి డైనమిక్ టెక్స్ట్ మరియు కొంచెం ప్రోగ్రామింగ్ని జోడించడానికి మిమ్మల్ని అనుమతించే మరొక పురాతన MS వర్డ్ ఫీచర్. అత్యంత స్పష్టమైన ఉదాహరణ పేజీ సంఖ్య ఫీల్డ్, ఇది {PAGE *MERGEFORMAT} విలువను ఉపయోగించి ఫుటర్లోకి చొప్పించబడుతుంది. ఇది పేజీ సంఖ్యలను స్వయంచాలకంగా రూపొందించడానికి అనుమతిస్తుంది.

సూచన: మీరు ఇన్సర్ట్ కింద ఫీల్డ్ మెను ఐటెమ్ను కనుగొనవచ్చు.
నేను వర్డ్లో ఈ లక్షణాన్ని మొదటిసారి కనుగొన్నప్పుడు, నేను ఆశ్చర్యపోయాను. మరియు ప్యాచ్ దానిని డిసేబుల్ చేసే వరకు, Word ఇప్పటికీ DDE ఫీల్డ్స్ ఎంపికకు మద్దతు ఇస్తుంది. DDE వర్డ్ అప్లికేషన్తో నేరుగా కమ్యూనికేట్ చేయడానికి అనుమతిస్తుంది, తద్వారా ప్రోగ్రామ్ యొక్క అవుట్పుట్ను డాక్యుమెంట్లోకి పంపవచ్చు. ఆ సమయంలో ఇది చాలా చిన్న సాంకేతికత - బాహ్య అనువర్తనాలతో డేటా మార్పిడికి మద్దతు. ఇది తరువాత COM సాంకేతికతగా అభివృద్ధి చేయబడింది, దీనిని మేము క్రింద కూడా పరిశీలిస్తాము.
చివరికి, హ్యాకర్లు ఈ DDE అప్లికేషన్ కమాండ్ షెల్ అని గ్రహించారు, ఇది పవర్షెల్ను ప్రారంభించింది మరియు అక్కడ నుండి హ్యాకర్లు తమకు కావలసినది చేయగలరు.
నేను ఈ స్టెల్త్ టెక్నిక్ని ఎలా ఉపయోగించానో దిగువ స్క్రీన్షాట్ చూపిస్తుంది: DDE ఫీల్డ్ నుండి ఒక చిన్న పవర్షెల్ స్క్రిప్ట్ (ఇకపై PSగా సూచిస్తారు) మరొక PS స్క్రిప్ట్ను లోడ్ చేస్తుంది, ఇది దాడి యొక్క రెండవ దశను ప్రారంభిస్తుంది.

అంతర్నిర్మిత DDEAUTO ఫీల్డ్ రహస్యంగా షెల్ను ప్రారంభించడానికి ప్రయత్నిస్తున్నట్లు పాప్-అప్ హెచ్చరిక కోసం Windowsకి ధన్యవాదాలు
స్క్రిప్టును స్వయంచాలకంగా అమలు చేసే DDEAUTO ఫీల్డ్తో వేరియంట్ను ఉపయోగించడం దుర్బలత్వాన్ని ఉపయోగించుకోవడానికి ఇష్టపడే పద్ధతి తెరిచినప్పుడు వర్డ్ డాక్యుమెంట్.
దీని గురించి మనం ఏమి చేయగలమో ఆలోచిద్దాం.
అనుభవశూన్యుడు హ్యాకర్గా, ఉదాహరణకు, మీరు ఫెడరల్ టాక్స్ సర్వీస్కు చెందినవారని నటిస్తూ ఫిషింగ్ ఇమెయిల్ను పంపవచ్చు మరియు మొదటి దశ (డ్రాపర్, ముఖ్యంగా) కోసం PS స్క్రిప్ట్తో DDEAUTO ఫీల్డ్ను పొందుపరచవచ్చు. మరియు నేను చేసిన విధంగా మీరు మాక్రోలు మొదలైన వాటి యొక్క నిజమైన కోడింగ్ కూడా చేయవలసిన అవసరం లేదు
బాధితుడు మీ పత్రాన్ని తెరుస్తాడు, ఎంబెడెడ్ స్క్రిప్ట్ సక్రియం చేయబడింది మరియు హ్యాకర్ కంప్యూటర్లో ముగుస్తుంది. నా విషయంలో, రిమోట్ PS స్క్రిప్ట్ కేవలం ఒక సందేశాన్ని ప్రింట్ చేస్తుంది, కానీ అది రిమోట్ షెల్ యాక్సెస్ను అందించే PS ఎంపైర్ క్లయింట్ను సులభంగా ప్రారంభించగలదు.
మరియు బాధితుడు ఏదైనా చెప్పడానికి ముందు, హ్యాకర్లు గ్రామంలో అత్యంత ధనవంతులైన యువకులుగా మారతారు.

చిన్న కోడింగ్ లేకుండా షెల్ ప్రారంభించబడింది. పిల్లవాడు కూడా చేయగలడు!
DDE మరియు ఫీల్డ్లు
మైక్రోసాఫ్ట్ తరువాత వర్డ్లో DDEని నిలిపివేసింది, అయితే ఈ ఫీచర్ కేవలం దుర్వినియోగం చేయబడిందని కంపెనీ పేర్కొనకముందే. దేన్నైనా మార్చడానికి వారి అయిష్టత అర్థమవుతుంది. నా అనుభవంలో, పత్రాన్ని తెరిచేటప్పుడు ఫీల్డ్లను అప్డేట్ చేయడం ప్రారంభించబడిన ఉదాహరణను నేను స్వయంగా చూశాను, అయితే Word మాక్రోలు IT ద్వారా నిలిపివేయబడ్డాయి (కానీ నోటిఫికేషన్ను చూపుతోంది). మార్గం ద్వారా, మీరు Word సెట్టింగ్ల విభాగంలో సంబంధిత సెట్టింగ్లను కనుగొనవచ్చు.
ఏదేమైనప్పటికీ, ఫీల్డ్ అప్డేట్ ప్రారంభించబడినప్పటికీ, పైన ఉన్న DDEలో వలె తొలగించబడిన డేటాకు ఫీల్డ్ యాక్సెస్ అభ్యర్థించినప్పుడు Microsoft Word అదనంగా వినియోగదారుకు తెలియజేస్తుంది. మైక్రోసాఫ్ట్ నిజంగా మిమ్మల్ని హెచ్చరిస్తోంది.
కానీ చాలా మటుకు, వినియోగదారులు ఇప్పటికీ ఈ హెచ్చరికను విస్మరిస్తారు మరియు వర్డ్లో ఫీల్డ్ల నవీకరణను సక్రియం చేస్తారు. ప్రమాదకరమైన DDE ఫీచర్ను నిలిపివేసినందుకు మైక్రోసాఫ్ట్కు ధన్యవాదాలు తెలిపే అరుదైన అవకాశాలలో ఇది ఒకటి.
ఈ రోజు అన్ప్యాచ్ చేయని విండోస్ సిస్టమ్ను కనుగొనడం ఎంత కష్టం?
ఈ పరీక్ష కోసం, నేను వర్చువల్ డెస్క్టాప్ని యాక్సెస్ చేయడానికి AWS వర్క్స్పేస్లను ఉపయోగించాను. ఈ విధంగా నేను అన్ప్యాచ్ చేయని MS ఆఫీస్ వర్చువల్ మెషీన్ను పొందాను, అది DDEAUTO ఫీల్డ్ను చొప్పించడానికి నన్ను అనుమతించింది. అవసరమైన భద్రతా ప్యాచ్లను ఇంకా ఇన్స్టాల్ చేయని ఇతర కంపెనీలను ఇదే విధంగా మీరు కనుగొనగలరనడంలో నాకు సందేహం లేదు.
వస్తువుల రహస్యం
మీరు ఈ ప్యాచ్ని ఇన్స్టాల్ చేసినప్పటికీ, MS ఆఫీస్లో ఇతర భద్రతా రంధ్రాలు ఉన్నాయి, ఇవి వర్డ్తో మనం చేసిన దానిలానే హ్యాకర్లను చేయడానికి అనుమతిస్తాయి. తదుపరి దృష్టాంతంలో మనం నేర్చుకుంటాము ఎటువంటి కోడ్ రాయకుండానే ఫిషింగ్ దాడికి ఎక్సెల్ని ఎరగా ఉపయోగించండి.
ఈ దృష్టాంతాన్ని అర్థం చేసుకోవడానికి, మైక్రోసాఫ్ట్ కాంపోనెంట్ ఆబ్జెక్ట్ మోడల్ లేదా సంక్షిప్తంగా గుర్తుంచుకోండి COM (కాంపోనెంట్ ఆబ్జెక్ట్ మోడల్).
COM 1990ల నుండి ఉంది మరియు RPC రిమోట్ ప్రొసీజర్ కాల్ల ఆధారంగా "భాష-తటస్థ, ఆబ్జెక్ట్-ఓరియెంటెడ్ కాంపోనెంట్ మోడల్"గా నిర్వచించబడింది. COM పరిభాష యొక్క సాధారణ అవగాహన కోసం, చదవండి స్టాక్ ఓవర్ఫ్లో.
ప్రాథమికంగా, మీరు COM అప్లికేషన్ని Excel లేదా Word ఎక్జిక్యూటబుల్ లేదా రన్ చేసే ఇతర బైనరీ ఫైల్గా భావించవచ్చు.
COM అప్లికేషన్ కూడా అమలు చేయగలదని తేలింది దృష్టాంతంలో - జావాస్క్రిప్ట్ లేదా VBScript. సాంకేతికంగా దీనిని పిలుస్తారు స్క్రిప్ట్. మీరు Windowsలో ఫైల్ల కోసం .sct ఎక్స్టెన్షన్ని చూసి ఉండవచ్చు - ఇది స్క్రిప్ట్ల కోసం అధికారిక పొడిగింపు. ముఖ్యంగా, అవి XML రేపర్లో చుట్టబడిన స్క్రిప్ట్ కోడ్:
<?XML version="1.0"?>
<scriptlet>
<registration
description="test"
progid="test"
version="1.00"
classid="{BBBB4444-0000-0000-0000-0000FAADACDC}"
remotable="true">
</registration>
<script language="JScript">
<![CDATA[
var r = new ActiveXObject("WScript.Shell").Run("cmd /k powershell -c Write-Host You have been scripted!");
]]>
</script>
</scriptlet>
విండోస్లో COM ఆబ్జెక్ట్లను అంగీకరించే ప్రత్యేక యుటిలిటీలు మరియు అప్లికేషన్లు ఉన్నాయని మరియు తదనుగుణంగా స్క్రిప్ట్లెట్లను కూడా హ్యాకర్లు మరియు పెంటెస్టర్లు కనుగొన్నారు.
నేను pubprn అని పిలవబడే VBSలో వ్రాసిన Windows యుటిలిటీకి స్క్రిప్ట్లెట్ను పంపగలను. ఇది C:Windowssystem32Printing_Admin_Scripts యొక్క లోతుల్లో ఉంది. మార్గం ద్వారా, వస్తువులను పారామితులుగా అంగీకరించే ఇతర విండోస్ యుటిలిటీలు ఉన్నాయి. ముందుగా ఈ ఉదాహరణను చూద్దాం.

ప్రింట్ స్క్రిప్ట్ నుండి కూడా షెల్ ప్రారంభించబడటం చాలా సహజం. Microsoft వెళ్ళండి!
పరీక్షగా, నేను ఒక సాధారణ రిమోట్ స్క్రిప్ట్లెట్ని సృష్టించాను, అది షెల్ను ప్రారంభించి, “మీరు ఇప్పుడే స్క్రిప్ట్ చేసారు!” అనే ఫన్నీ సందేశాన్ని ప్రింట్ చేస్తుంది. ముఖ్యంగా, pubprn స్క్రిప్ట్లెట్ ఆబ్జెక్ట్ను ఇన్స్టాంటియేట్ చేస్తుంది, VBScript కోడ్ను రేపర్ని అమలు చేయడానికి అనుమతిస్తుంది. ఈ పద్ధతి మీ సిస్టమ్లోకి చొరబడి దాచాలనుకునే హ్యాకర్లకు స్పష్టమైన ప్రయోజనాన్ని అందిస్తుంది.
తదుపరి పోస్ట్లో, ఎక్సెల్ స్ప్రెడ్షీట్లను ఉపయోగించి హ్యాకర్లు COM స్క్రిప్ట్లెట్లను ఎలా ఉపయోగించుకోవచ్చో వివరిస్తాను.
మీ హోంవర్క్ కోసం, ఒకసారి చూడండి Derbycon 2016 నుండి, హ్యాకర్లు స్క్రిప్ట్లెట్లను ఎలా ఉపయోగించారో ఖచ్చితంగా వివరిస్తుంది. మరియు కూడా చదవండి స్క్రిప్ట్లు మరియు ఒక రకమైన మోనికర్ గురించి.
మూలం: www.habr.com
