30.2 IAM Done Right
In short: IAM (Identity and Access Management) is the front door of your account.
Quick answer: the short, self-contained version of this lesson is the guide Cloud IAM Least Privilege.
IAM (Identity and Access Management) is the front door of your account. Get this right and most attacks fail.
1. Lock the root user. The root user (your sign-up email) can do everything, including closing the account.
- Enable MFA on root (IAM console, Security credentials, Assign MFA device).
- Delete any root access keys. Root should never have keys.
- Use root only for billing and account-level tasks; do daily work as an IAM user or through IAM Identity Center.
2. MFA for every human. A stolen password alone should never be enough.
3. Least privilege. Give only the permissions a job needs. Compare:
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": ["s3:GetObject", "s3:PutObject"],
"Resource": "arn:aws:s3:::reels-media-pune/*"
}]
}
This policy lets the app read and write objects in one bucket. Attaching AdministratorAccess to the app instead would let one bug in your PHP code hand an attacker your whole account.
4. Roles, not access keys. An EC2 instance should get permissions from an IAM role (you did this in Chapter 16), which gives short-lived credentials that rotate automatically. Long-lived access keys in code or ~/.aws/credentials on a server are the most common way cloud accounts get stolen.
5. Review regularly. IAM, Credential report (download CSV) shows who has MFA, old passwords and unused keys. IAM Access Analyzer flags resources shared outside your account.
aws sts get-caller-identity # who am I right now?
aws iam generate-credential-report
aws iam get-credential-report --query Content --output text | base64 -d > cred-report.csv
aws iam list-access-keys --user-name dev-sanket # any old keys?
Ravindra Bagale's Tip
The biggest mistake: writing an access key into your code and pushing it to GitHub. Bots scan public repos within minutes and use the key to start crypto-mining servers – and the bill comes to you. A key should never be in code. Use a role on EC2, aws configure on your laptop, and .gitignore. If it does get pushed, deactivate the key immediately (30.6).
Ravindra Bagale's Tip – मराठी
सर्वात मोठी चूक: access key code मध्ये लिहून GitHub वर push करणे. Bots काही मिनिटांत public repo scan करतात आणि key वापरून crypto-mining servers चालू करतात – bill तुम्हाला येते. Key कधीही code मध्ये नको. EC2 वर role, laptop वर aws configure आणि .gitignore. Push झाली तर लगेच key deactivate करा (30.6).
Ravindra Bagale's Tip – हिंदी
सबसे बड़ी गलती: access key code में लिखकर GitHub पर push करना. Bots कुछ ही मिनटों में public repo scan करते हैं और key इस्तेमाल करके crypto-mining servers चालू कर देते हैं – bill आपको आता है. Key कभी भी code में नहीं. EC2 पर role, laptop पर aws configure और .gitignore. Push हो गई तो तुरंत key deactivate करो (30.6).
Lab
In your own account: (1) enable MFA on root and on your IAM user, (2) download the credential report and find any user without MFA, (3) create a policy that allows only s3:GetObject on one test bucket, attach it to a test user, and prove with the CLI that s3:PutObject is denied (AccessDenied). Delete the test user afterwards.
Real incident: Ginkgo Bioworks – data taken from old, forgotten cloud environments (Oct 2026)
1. What happened
On 8 October 2026, US biotech company Ginkgo Bioworks said it had recently discovered that an unauthorised third party accessed data from cloud environments mainly linked to its former biosecurity business. The company believes the data came primarily from legacy cloud environments – older cloud setups left over from a business it no longer runs the same way. Ginkgo said it cut off the intruder's access, rotated credentials, took some legacy systems offline as a precaution, and found no evidence the intruder still had access or reached other environments. Its core systems, including financial systems, were not interrupted. The company was clear: this was not a ransomware or encryption event. It informed the FBI and notified customers whose data was involved. Ginkgo has not said how many people were affected, what kind of data was taken, or when the access happened.
2. How the hack happened (public reporting only – high-level)
- A company keeps old cloud environments running from a past business line – fewer people watch them, and their access rules may be years old.
- An outsider gets access to those legacy environments (Ginkgo has not published the exact entry path).
- The outsider reads and takes data stored there – no encryption, no ransom note, so nothing "breaks" that would alert staff quickly.
- The company discovers the access, cuts it off and rotates credentials – which tells us access credentials were a key part of the clean-up.
- Legacy systems are taken offline and checks confirm the main environments were not reached.
3. How to stop it / defend (this lesson: IAM Done Right)
- Every cloud account needs an owner. When a business unit closes or is sold, someone must either shut down its cloud accounts or hand them over formally – never just leave them running.
- Rotate and remove old credentials. Use the IAM credential report from this lesson to find access keys and users nobody has used for 90+ days, and disable them.
- Least privilege on legacy data too. Old buckets and databases should be locked to a small read-only group, or moved to archive with strict access.
- Same logging everywhere. Turn on CloudTrail (Chapter 30.5) in old accounts as well as new ones, so access to forgotten data still raises an alert.
- Delete data you no longer need. Data that does not exist cannot be stolen.
4. How to take care so it won't happen again (checklist)
- [ ] Make a list of every cloud account and project you have, with an owner name next to each.
- [ ] Mark which ones belong to old projects, closed teams or past clients.
- [ ] For each old one: delete it, or archive the data and lock access down.
- [ ] Download the credential report every month and disable unused keys and users.
- [ ] Check that CloudTrail and alerts are on in every account, not just the main one.
- [ ] India students: the same applies to old client projects at IT companies – when a project ends, remove access and clean up its cloud accounts. Report major incidents to CERT-In within the required time (see Ch.34).
Source: Ginkgo Bioworks press release "Ginkgo Bioworks Cybersecurity and Incident Response", 8 October 2026, as reported by TSN Media, "Cyber Breaches, 9 October 2026", 9 October 2026.
Check if you're safe: Website Security Checklist
Real incident: ConnectWise Cloud Backup (SkyKick) – one stolen vendor app secret used to sign in to hundreds of Microsoft 365 tenants (Oct 2026)
1. What happened
ConnectWise Cloud Backup (earlier called SkyKick) is a backup service that managed service providers (MSPs) use to back up their clients' Microsoft 365 mail, OneDrive, SharePoint and Teams data. To do that job, every client gives the backup app broad read and write permission in its Microsoft 365 tenant.
- On 15 October 2026, someone signed in to customer tenants as the backup app itself, using the app's own secret credential, and received Microsoft Graph access tokens.
- Huntress confirmed unauthorised sign-ins in 173 tenants it protects. Its later update said almost 1,000 Microsoft tenants saw sign-in activity from the attacker's server, and more than 300 of those sign-ins succeeded.
- Microsoft Threat Intelligence called it an active supply-chain attack. It said the attacker likely abused permissions customers had already given the app, including the very powerful
Directory.ReadWrite.All. - ConnectWise published an advisory on 16 October, disabled seven of its app identities on 17 October and suspended the backup service. It said it has no evidence the stored backup archives were accessed.
- The reports do not yet say how the attacker got the vendor's credential, and how much data was read is still unclear. Educational framing only.
2. How the hack happened (public reporting only – high-level)
- When a company connects the backup app, Microsoft Entra ID creates an app identity (service principal) for it inside that company's tenant, with the permissions the admin approved once.
- The app proves who it is with a secret or certificate kept in the vendor's own environment. The same credential works in every tenant where the app is installed, so one stolen credential opens many companies at once.
- A script signed in as the app to tenant after tenant, a few seconds apart. This is an app-only sign-in: no user and no phone, so MFA never comes into the picture.
- The tokens carried the app's existing rights – read and write mail, files, Teams chats and directory data. Microsoft also saw Graph reconnaissance and attempts to add extra credentials as a backdoor.
- In about 50 tenants, ConnectWise Cloud Management apps gave themselves admin roles, mostly Exchange Administrator. In one tenant, a Cloud Management app made itself Global Administrator and added new secrets to two other trusted apps – an MSP management tool and Huntress's own security app. A secret added like this keeps working even after the vendor app is switched off. Huntress has not yet confirmed whether this earlier activity was the same operator.
- It was hard to see: these sign-ins show only on the separate Service principal sign-ins tab, not the default user sign-ins tab, and directory reads through Microsoft Graph leave no audit trail.
3. How to stop it / defend (this lesson: IAM done right)
- Least privilege applies to apps and vendors too. Before you approve a third-party app, read the permissions it asks for. Ask the vendor why it needs directory write rights or admin roles.
- Remove apps you no longer use. ConnectWise asked partners to check even tenants with dormant SkyKick connections. An old, forgotten app with big permissions is an open door.
- MFA does not protect app identities. Protect them with the controls built for them: Conditional Access for workload identities (allow sign-in only from the vendor's expected locations), app management policies that block or shorten client secrets, and very few people holding the Application Administrator roles.
- The same idea in AWS: give a vendor an IAM role with an External ID and a narrow policy, never long-lived access keys. Watch CloudTrail for a vendor role that creates access keys or attaches policies to itself, and use IAM Access Analyzer to list everything shared outside your account.
- Alert on these events: an app adding itself to a directory role, an app changing other apps, or new credentials appearing on an app (SOC and SIEM, Chapter 31).
- During an incident: disable the vendor app (don't delete it), save the sign-in and audit logs early because they are kept only for a limited time, and remember that tokens already issued stay valid until they expire. Revoking user sessions does not stop app access.
4. How to take care so it won't happen again (checklist)
- [ ] If you use ConnectWise Cloud Backup or Cloud Management (or older SkyKick apps), follow the ConnectWise advisory: keep the listed apps disabled until ConnectWise gives restore steps, and check service principal sign-ins from 13 October 2026 onwards.
- [ ] Review the secrets and certificates on all your apps and remove any you did not create.
- [ ] Remove any directory role you never meant to give an app.
- [ ] Keep a list of every third-party app in your tenant or AWS account, its owner, its permissions and when it was last used.
- [ ] Turn on alerts for app role changes and new app credentials.
- [ ] Plan for a backup vendor outage: know how you would restore if the backup service is suddenly suspended.
Source: Huntress, Jonathan Semon, "ConnectWise (SkyKick) Vendor Credentials Abused in M365 Attacks", 16 October 2026 (updated 17 October 2026); BleepingComputer, Ionut Ilascu, "Hackers breach Microsoft 365 tenants via ConnectWise supply-chain attack", 17 October 2026; The Hacker News, Ravie Lakshmanan, "Hackers Use Compromised ConnectWise Credential to Sign In to 173 Microsoft 365 Tenants", 17 October 2026 (quoting Microsoft Threat Intelligence and Todyl); ConnectWise Trust Center advisory "Cloud Backup (formerly known as SkyKick) Service Interruption", first published 16 October 2026, updated 18 October 2026.
1. काय झालं
ConnectWise Cloud Backup (आधीचं नाव SkyKick) ही एक backup service आहे. Managed service providers (MSPs) ती त्यांच्या clients च्या Microsoft 365 मधल्या mail, OneDrive, SharePoint आणि Teams data चा backup घ्यायला वापरतात. हे काम करण्यासाठी प्रत्येक client आपल्या Microsoft 365 tenant मध्ये backup app ला मोठी read आणि write permission देतो.
- 15 ऑक्टोबर 2026 ला कुणीतरी app च्याच secret credential ने, स्वतः backup app बनून, customers च्या tenants मध्ये sign in केलं आणि Microsoft Graph चे access tokens मिळवले.
- Huntress ने ते सांभाळत असलेल्या 173 tenants मध्ये बिना परवानगीचे sign-ins झाल्याचं नक्की केलं. नंतरच्या update मध्ये सांगितलं की जवळपास 1,000 Microsoft tenants मध्ये attacker च्या server वरून sign-in चे प्रयत्न दिसले, आणि त्यातले 300 पेक्षा जास्त यशस्वी झाले.
- Microsoft Threat Intelligence ने याला चालू असलेला supply-chain attack म्हटलं. त्यांच्या मते attacker ने customers नी app ला आधीच दिलेल्या permissions चा गैरवापर केला, त्यात खूप ताकदवान
Directory.ReadWrite.Allपण आहे. - ConnectWise ने 16 ऑक्टोबर ला advisory काढली, 17 ऑक्टोबर ला आपल्या सात app identities बंद केल्या आणि backup service थांबवली. त्यांच्या मते साठवलेले backup archives उघडले गेल्याचा पुरावा नाही.
- Attacker ला vendor चं credential कसं मिळालं, हे reports मध्ये अजून सांगितलेलं नाही, आणि किती data वाचला गेला हे पण अजून स्पष्ट नाही. हे फक्त शिकण्यासाठी आहे.
2. Hack कसा झाला (फक्त public reporting – high-level)
- कंपनी backup app जोडते तेव्हा Microsoft Entra ID त्या कंपनीच्या tenant मध्ये त्या app साठी एक app identity (service principal) बनवतं, admin ने एकदाच मंजूर केलेल्या permissions सकट.
- App आपण कोण आहोत हे vendor च्या स्वतःच्या environment मध्ये ठेवलेल्या secret किंवा certificate ने सिद्ध करतं. तेच credential app बसवलेल्या प्रत्येक tenant मध्ये चालतं, म्हणजे एक चोरलेलं credential एकदम अनेक कंपन्यांची दारं उघडतं.
- एका script ने app बनून एकामागून एक tenants मध्ये, काही सेकंदांच्या अंतराने, sign in केलं. हे app-only sign-in आहे: कोणी माणूस नाही, phone नाही, म्हणून MFA चा प्रश्नच येत नाही.
- Tokens मध्ये app चे आधीचे सगळे हक्क होते – mail, files, Teams chats आणि directory data वाचणं आणि बदलणं. Microsoft ला Graph reconnaissance आणि backdoor म्हणून जास्तीचे credentials जोडायचे प्रयत्न पण दिसले.
- जवळपास 50 tenants मध्ये ConnectWise च्या Cloud Management apps नी स्वतःलाच admin roles दिले, बहुतेक Exchange Administrator. एका tenant मध्ये तर एका Cloud Management app ने स्वतःला Global Administrator बनवलं आणि दुसऱ्या दोन विश्वासातल्या apps वर नवीन secrets जोडले – एक MSP management tool आणि Huntress चं स्वतःचं security app. असं जोडलेलं secret vendor चं app बंद केलं तरी चालू राहतं. ही आधीची हालचाल त्याच माणसाची होती का, हे Huntress ने अजून नक्की केलेलं नाही.
- हे दिसायला अवघड होतं: हे sign-ins नेहमीच्या user sign-ins tab वर नाही, तर वेगळ्या Service principal sign-ins tab वरच दिसतात, आणि Microsoft Graph मधून directory वाचलं तर त्याचा audit trail राहत नाही.
3. कसं थांबवायचं / बचाव (हा lesson: IAM done right)
- Least privilege हा apps आणि vendors ना पण लागू आहे. Third-party app ला मंजुरी देण्याआधी ते कोणत्या permissions मागतंय ते नीट वाचा. Directory write rights किंवा admin roles का हवेत, हे vendor ला विचारा.
- न वापरलेली apps काढून टाका. ConnectWise ने partners ना बंद पडलेल्या (dormant) SkyKick connections असलेले tenants पण check करायला सांगितलं. मोठ्या permissions असलेलं जुनं, विसरलेलं app म्हणजे उघडं दार.
- MFA app identities ना वाचवत नाही. त्यांच्यासाठी बनवलेले controls वापरा: workload identities साठी Conditional Access (vendor च्या ठरलेल्या जागांवरूनच sign-in), client secrets बंद किंवा कमी मुदतीचे करणाऱ्या app management policies, आणि Application Administrator roles फार कमी लोकांकडे.
- AWS मध्ये पण हीच कल्पना: vendor ला External ID आणि छोटी policy असलेला IAM role द्या, जास्त दिवस चालणाऱ्या access keys कधीच नाहीत. Vendor role ने access keys बनवल्या किंवा स्वतःला policies लावल्या तर CloudTrail मध्ये लक्ष ठेवा, आणि account बाहेर share झालेलं सगळं IAM Access Analyzer ने बघा.
- या घटनांवर alert लावा: app ने स्वतःला directory role दिला, app ने दुसरी apps बदलली, किंवा app वर नवीन credentials आले (SOC आणि SIEM, Chapter 31).
- Incident चालू असताना: vendor app disable करा (delete नाही), sign-in आणि audit logs लवकर जपून ठेवा कारण ते ठराविक काळच राहतात, आणि लक्षात ठेवा की आधी दिलेले tokens संपेपर्यंत चालत राहतात. User sessions revoke केले तरी app access थांबत नाही.
4. परत असं होऊ नये म्हणून काय काळजी घ्यायची (checklist)
- [ ] तुम्ही ConnectWise Cloud Backup किंवा Cloud Management (किंवा जुनी SkyKick apps) वापरत असाल, तर ConnectWise ची advisory पाळा: ConnectWise restore च्या steps देईपर्यंत दिलेली apps बंदच ठेवा, आणि 13 ऑक्टोबर 2026 पासूनचे service principal sign-ins check करा.
- [ ] तुमच्या सगळ्या apps वरचे secrets आणि certificates बघा आणि तुम्ही न बनवलेले काढून टाका.
- [ ] तुम्ही मुद्दाम न दिलेला कोणताही directory role app कडून काढून घ्या.
- [ ] तुमच्या tenant किंवा AWS account मधल्या प्रत्येक third-party app ची list ठेवा – त्याचा owner, permissions आणि शेवटचा वापर कधी झाला.
- [ ] App roles बदलले किंवा app वर नवीन credentials आले की alert येईल असं करा.
- [ ] Backup vendor अचानक बंद पडला तर काय, याचा plan ठेवा: backup service थांबली तर restore कसं करणार ते आधीच ठरवा.
स्रोत: Huntress, Jonathan Semon, "ConnectWise (SkyKick) Vendor Credentials Abused in M365 Attacks", 16 ऑक्टोबर 2026 (17 ऑक्टोबर 2026 ला update); BleepingComputer, Ionut Ilascu, 17 ऑक्टोबर 2026; The Hacker News, Ravie Lakshmanan, 17 ऑक्टोबर 2026 (Microsoft Threat Intelligence आणि Todyl चा हवाला); ConnectWise Trust Center advisory, पहिल्यांदा 16 ऑक्टोबर 2026, update 18 ऑक्टोबर 2026.
1. क्या हुआ
ConnectWise Cloud Backup (पहले का नाम SkyKick) एक backup service है. Managed service providers (MSPs) इसे अपने clients के Microsoft 365 के mail, OneDrive, SharePoint और Teams data का backup लेने के लिए इस्तेमाल करते हैं. यह काम करने के लिए हर client अपने Microsoft 365 tenant में backup app को बड़ी read और write permission देता है.
- 15 अक्टूबर 2026 को किसी ने app के अपने secret credential से, ख़ुद backup app बनकर, customers के tenants में sign in किया और Microsoft Graph के access tokens ले लिए.
- Huntress ने अपने संभाले हुए 173 tenants में बिना इजाज़त के sign-ins की पुष्टि की. बाद के update में उसने बताया कि लगभग 1,000 Microsoft tenants में attacker के server से sign-in की कोशिशें दिखीं, और उनमें से 300 से ज़्यादा सफल रहीं.
- Microsoft Threat Intelligence ने इसे चल रहा supply-chain attack कहा. उसके मुताबिक़ attacker ने उन permissions का ग़लत इस्तेमाल किया जो customers ने app को पहले से दे रखी थीं, जिनमें बहुत ताक़तवर
Directory.ReadWrite.Allभी है. - ConnectWise ने 16 अक्टूबर को advisory जारी की, 17 अक्टूबर को अपनी सात app identities बंद कीं और backup service रोक दी. उसके मुताबिक़ रखे हुए backup archives खोले जाने का कोई सबूत नहीं है.
- Attacker को vendor का credential कैसे मिला, यह reports में अभी नहीं बताया गया, और कितना data पढ़ा गया यह भी अभी साफ़ नहीं है. यह सिर्फ़ सीखने के लिए है.
2. Hack कैसे हुआ (सिर्फ़ public reporting – high-level)
- जब कोई कंपनी backup app जोड़ती है, तो Microsoft Entra ID उस कंपनी के tenant में उस app के लिए एक app identity (service principal) बनाता है, admin की एक बार मंज़ूर की गई permissions के साथ.
- App अपनी पहचान vendor के अपने environment में रखे secret या certificate से साबित करता है. वही credential हर उस tenant में चलता है जहाँ app लगा है, यानी एक चोरी हुआ credential एक साथ कई कंपनियों के दरवाज़े खोल देता है.
- एक script ने app बनकर एक के बाद एक tenants में, कुछ सेकंड के फ़ासले पर, sign in किया. यह app-only sign-in है: कोई इंसान नहीं, कोई phone नहीं, इसलिए MFA का सवाल ही नहीं उठता.
- Tokens में app के पहले के सारे हक़ थे – mail, files, Teams chats और directory data पढ़ना और बदलना. Microsoft को Graph reconnaissance और backdoor के तौर पर अतिरिक्त credentials जोड़ने की कोशिशें भी दिखीं.
- लगभग 50 tenants में ConnectWise के Cloud Management apps ने ख़ुद को ही admin roles दे दिए, ज़्यादातर Exchange Administrator. एक tenant में तो एक Cloud Management app ने ख़ुद को Global Administrator बनाया और दो दूसरे भरोसेमंद apps पर नए secrets जोड़ दिए – एक MSP management tool और Huntress का अपना security app. ऐसे जोड़ा गया secret vendor का app बंद करने के बाद भी चलता रहता है. यह पहले वाली हरकत उसी operator की थी या नहीं, Huntress ने अभी इसकी पुष्टि नहीं की है.
- इसे देखना मुश्किल था: ये sign-ins सामान्य user sign-ins tab पर नहीं, बल्कि अलग Service principal sign-ins tab पर ही दिखते हैं, और Microsoft Graph से directory पढ़ने पर कोई audit trail नहीं बचता.
3. कैसे रोकें / बचाव (यह lesson: IAM done right)
- Least privilege apps और vendors पर भी लागू होता है. किसी third-party app को मंज़ूरी देने से पहले देखो कि वह कौन सी permissions माँग रहा है. Vendor से पूछो कि उसे directory write rights या admin roles क्यों चाहिए.
- जो apps इस्तेमाल नहीं होते, उन्हें हटा दो. ConnectWise ने partners से बंद पड़े (dormant) SkyKick connections वाले tenants भी check करने को कहा. बड़ी permissions वाला पुराना, भूला हुआ app मतलब खुला दरवाज़ा.
- MFA app identities को नहीं बचाता. उनके लिए बने controls इस्तेमाल करो: workload identities के लिए Conditional Access (सिर्फ़ vendor की तय जगहों से sign-in), client secrets को बंद या कम मियाद वाला करने वाली app management policies, और Application Administrator roles बहुत कम लोगों के पास.
- AWS में भी यही सोच: vendor को External ID और छोटी policy वाला IAM role दो, लंबे समय तक चलने वाली access keys कभी नहीं. Vendor role access keys बनाए या ख़ुद पर policies लगाए तो CloudTrail में नज़र रखो, और account के बाहर share हुई हर चीज़ IAM Access Analyzer से देखो.
- इन घटनाओं पर alert लगाओ: app ने ख़ुद को directory role दिया, app ने दूसरे apps बदले, या app पर नए credentials आए (SOC और SIEM, Chapter 31).
- Incident के दौरान: vendor app को disable करो (delete नहीं), sign-in और audit logs जल्दी संभालकर रखो क्योंकि वे सीमित समय तक ही रहते हैं, और याद रखो कि पहले से जारी tokens ख़त्म होने तक चलते रहते हैं. User sessions revoke करने से app access नहीं रुकता.
4. दोबारा ऐसा न हो, इसके लिए क्या ध्यान रखें (checklist)
- [ ] अगर आप ConnectWise Cloud Backup या Cloud Management (या पुराने SkyKick apps) इस्तेमाल करते हो, तो ConnectWise की advisory मानो: जब तक ConnectWise restore के steps न दे, बताए गए apps बंद ही रखो, और 13 अक्टूबर 2026 से आगे के service principal sign-ins check करो.
- [ ] अपने सारे apps पर लगे secrets और certificates देखो और जो आपने नहीं बनाए उन्हें हटा दो.
- [ ] जो directory role आपने जानबूझकर नहीं दिया, उसे app से वापस ले लो.
- [ ] अपने tenant या AWS account के हर third-party app की list रखो – उसका owner, permissions और आख़िरी बार कब इस्तेमाल हुआ.
- [ ] App roles बदलें या app पर नए credentials आएँ तो alert आए, ऐसा इंतज़ाम करो.
- [ ] Backup vendor अचानक बंद हो जाए तो क्या, इसका plan रखो: backup service रुक जाए तो restore कैसे करोगे, यह पहले से तय करो.
स्रोत: Huntress, Jonathan Semon, "ConnectWise (SkyKick) Vendor Credentials Abused in M365 Attacks", 16 अक्टूबर 2026 (17 अक्टूबर 2026 को update); BleepingComputer, Ionut Ilascu, 17 अक्टूबर 2026; The Hacker News, Ravie Lakshmanan, 17 अक्टूबर 2026 (Microsoft Threat Intelligence और Todyl के हवाले से); ConnectWise Trust Center advisory, पहली बार 16 अक्टूबर 2026, update 18 अक्टूबर 2026.