← All talks

Ohhhh365 - How To (Quite) Reliably Hack Into Microsoft 365, And What To Do Afterwards

BSides Cheltenham41:20269 viewsPublished 2024-07Watch on YouTube ↗
Speakers
Tags
CategoryTechnical
StyleTalk
Show transcript [en]

thank you all for coming to my talk uh especially after lunch the first one's toughest uh B of A lofty title there uh I'll give it more caveat later I'm sure uh you would expect that but first of all who am I I'm a consultant at jumps SEC doing F simulation red teaming with them since 21 used to be a pediatrician before cyber um maybe a story over a couple of Pines that were kids before passionate and all things red teaming these days especially in the cloud uh we primarily do azour because that's a lot of our clientele you know they use Azure but um we delve a bit more into AWS and possibly gcp later um as ja M mrock are

my jam if you like those you're a cool person otherwise you're cool too but anyway um here my socials uh if you need to uh want to get in touch for some reason though um you say if you check the program schedule and this talk you you you you notice that I've secretly changed the title from um quite reliably to somewhat reliably but uh it's just a little joke um hopefully I piqued your interest in a bit of a click platy title um I strongly feel that is M365 initial access is an underd discussed Topic in our community um hopefully if you in an offensive role you've learn something new um want to try something out uh if you in the blue

team or sis admin or ciso even um you've GI given some thoughts into how to secure your Microsoft 365 um identities after the talk right um though we must ask why though uh as it in many things in life it's the most uh and most important question as was the first one to ask um historically uh outlock accounts were mere mailboxes uh you know it was valuable uh business email compromise was no joke but uh it was not the Lynch pin or the crown roll of the sorts in the you know on Prem ad stuff um which might be your domain controller your domain admins or your critical file servers and the like right uh yeah they

were or or you know even in many many many many cases these days still are but anyway um how about in 2024 um most organizations that we see has been hybrid or you know the your startups or your fintech are actually mostly clown native these days so the Microsoft 365 accounts should they use you know Microsoft um bless them uh would be the key to their business applications for example SharePoint would uh you know M365 grants access to SharePoint which means Grant granting access to data access to the attacker much like a s SMP file server uh teams access would mean you know sensitive check locks and in addition to the emails that you get from

Outlook and of course uh if it's a development or application heavy environment you would use or see administrative accounts that grants um access to like key Vols or sort of storage blobs or the applications and the like um DeVos pipeline pipeline compromise could you know uh lead to uh uh your your main application being you know compromised to an attacker and um I've added you know I I've given this talk in Cardiff before uh since since then I've um been doing a uh Z Cloud native red team so I've added the over integration in uh and as last point because um when you compromise the sort of um Azure mp65 identity and the organization used Azure o off or like

M365 o off um you know single sign on integration for sort of SAS application for example an IT service man management platform you could Lally move into that platform and utilize that platform with the identity so it's um quite critical so yep let's give it more context right if you're not convinced yet that M65 is quite important these days imagine you know you have a users M365 identity compromised somehow right so any SharePoint that the user could read and write um uh if they in incidentally host some sort of critical business data and you have no disaster or recovery plan or backup then the attacker The Ransom group can essentially you know randomware your uh organization from the

web portal with a delete button uh if you have no backup but of course there's a a bit of caveat that Microsoft can actually you know they hold a secret qu secret backup that they could spin back for you but not for individual you know SharePoint size but for your entire organ is a lot of pain to deal with Microsoft so there's actually definitely disruption there and also from some very nice chaps I've been talking to uh before the talk you could actually host your Mal way on SharePoint U and change you know sort of like uh a document that everyone sees or uses every day you add a bit of Juicy malw in there and you know you you share

with the whole uh Department essentially so would lock bit okay they they've been busted since the first talk but uh insert ransomware group right would they care that the ransomware it's low Tech because it's just a delete button no they say okay I get paid easier good it's good for me right so it's tough you know one of our Cloud tenants uh within my uh my team is that we should or we think of our Cloud identities of our client as endpoint devices right the bad guy sees identities like um entry points into the cloud environment you when you have compromise and identity they could laterally move through all the you know M365 apps through Azure through SA

you know uh uh there are a lot of things that tied into that one login so fo for for after the the the talk might be you know are you protecting and monitoring your critical identities well enough right so how do I hack into it though right being uh being a consultant myself I get asked uh this by my client a whole lot like we on Microsoft we are on sure so we should be good um they they don't they have the best engineering uh teams out there you know best Engineers right um I promise I'll get back to this point uh at some point uh during the talk because after after all it's you know why you're here anyway um

but before uh we go into Microsoft themselves uh uh we have to cover social engineering first um to get into a cloud you know sort of Tenon you steal a post MFA token through some sort of man- in the middle fishing uh which is company done these days for example uh evil jinkx is a well-known tool that does that we use that on engagements as well um traditionally uh fright actors or red teams use email based delivery um but email futters are getting more you know sophisticated these days U it's hard to get through get past you can you still can do it but it's a lot of work um more FR actors been using you know um Team

space uh fishing because you know if you allow external tenant then the user could uh be you know having could be be getting uh unsolicited um message from a red team or other sort of productivity apps that you know in instant that supports insta messaging right so if you're not too familiar with what men and model fishing is like uh is essentially a transparent you know reverse proxy that sits between the user and their you know Microsoft login the users goes through the uh the your server to complete their U sign in and the attacker would capture the their um you know password U user credentials and they complete the MFA uh flow through your transparent proxy so to uh

Microsoft bluring Google is a bit of fun when preparing the slide so uh either Microsoft or Google they would see uh the reverse proxy servers IP completing the the login and you know uh uh give the the the cookies to to to the reverse proxy server but the user would get you know a valid login session as well but then as an attacker you steal that session and do stuff with it right so um as as said uh in you prior prior SL uh you could deliver some sort of man Mill fishing length through uh Ms teams uh which you know is sort of what we play Microsoft a lot uh having you know vulnerable default setting for example

like external tenants being allowed by default right you have to specific go through a you know admin portal to disable that okay fine right um when the user gets the external tenant you know uh message they would need to click unblock so that's good but um another method would be to call the user directly through teams and you know that's still possible um as of last month right so um teams as of yet don't have a native way to you know fish out filter out fishing lenss like um you know the a lot of you email clients would so shout out to our own research um uh that jump sected um uh Max cobridge my very good friend and

colleague uh said in this article like organizations that use Microsoft teams inherit the default organiz uh default configuration that allows users from outside their orc to reach out to their staff members basically so yeah but then okay social engineering is a lot of work I'm an introvert I don't I don't like to talk to people what if I could get through you know naturally without you know send them pre Tex and all that you know Troublesome stuff right so this is the point we get back to Microsoft so um it's a new is research now uh or like a report now uh you can say see midnight blizzard guidance for uh responsible for nation state attack basically Microsoft

themselves got poed uh late 2023 and um by you know a FR group called um midnight blizzard um tied to a certain you know Nation St right uh but how did they get through though uh did they do it through a you know zero day they bought from a uh dark web or some like fancy you know speed fishing uh that took you know months to prepare after all it's Microsoft that uh we're talking about they have the best Engineers don't they um turns out with a technique as well as cyber security itself uh password spraying um so besides roasting Microsoft uh which I'm sure like I'm I'm sorry I know they a sponsor that many of us would enjoy

apologies uh the interesting part is uh in in here the you know uh initial access through password spray okay accounts that did not have MFA enabled okay you know fair enough but using a low number of attemps to vate uh detection that's interesting interesting bit and the most interesting bit would be to use distributed um proxy infrastructure uh residential proxy infrastructure no less to get through that so there is some sort of fancy tag after all right um so to further build credibility our own red team has been using a similar approach uh since 203 and we gain access to we've gain access to uh very sophisticated client in the finan financial sector as well uh so you know I need to talk about

what a password spray is before going into details and how right um it is very light on passwords you don't try like hundreds of thousands of passwords like you do on a password crack for example but it's very heavy on relatively heavy on users you know um at least hundreds right uh in our own engagement as well uh at least uh I won't go into details and how to use oen to collect um you know valid data uh user emails uh there are plenty of sort of uh tutorials out there to how U as to how to do it but um let's say we we are successful in gaing you know like a couple hundreds of

emails that uh we found to be valid somehow right so if you go down deeper into the the science of password spraying is is a stat statistical attack that one of the hundreds of users password is you know welcome at 2024 spraying at 24 you know welcome at 24 exclamation mark uh no decapitalization as well I don't know why people love using season and Year and welcome as part of the password I I guess it's a you know speaks to parts of our human nature I guess you know you You' like to be welcome or like or why why ad or you know exclamation mark is so sort of um popular when I try to set

up my Broadband phone password over the phone I I I said to the person like I like it to be pipe character capital N 9-h dollar sign B you know Capital W1 backs slash and you know the salesperson thought I was insane so I I I'm sure you get the idea right so uh the what is theory Theory be behind is that they quotequote complex password that gets past complexity requirement doesn't mean it's good uh a good password is a unguessable one to an attack right or statistically you know a very uncommon one uh and if it has high entropy the better right but if you as this admin unfortunately uh you know users going to

user uh so this hard uh symbol on the slide I I give to theem in in the in the in the audience they all deserve more of our love um maybe uh pass key is the is the answer I've talked to some uh very nice chat over lunch today uh 90% of his users in the his organization use Pass key so uh I mean we're going to run into some trouble if we try to Red Team their organization so I guess but it's hard to implement for a lot of other organizations as well so uh the base message is that statistics are on the attacker side if you have you know hundreds of user hundreds or more

users um but wait what about you know multiactor uh you know aren't that supposed to stop you know pure spraying um turns out that you know implementing uh in in the past before you know going deep into you know this technique I thought you know uh MFA is supposed to to stop this as well at worse you're just going to alert the blue team that somebody's attacking attacking them or at best you're trying to prove that MFA is working as intended to protect people weak passwords so turns out uh sorry implementing MFA in Microsoft 365 is not as simple as flipping as switch there are a number of reasons why accounts certain accounts don't have MFA right so

if it's accounts that does not support MFA usage or maybe even worse on Prem service account that's sync to the cloud for some reason um a new starter uh sign signed up today on your on your R team assessment who has no company phone yet right or a lever account from 2018 back from the time when you know MFA wasn't a thing uh yet right in in the organization even if some sort of dig access policies being applied to that user retroactively uh if that account is not disabled uh if I or any you know FR actor spray into that account they could oh oh blind me cool I could set up my phone as the MFA device now that's very

great so for example or even you know Legacy applications that the business need and which not support MFA for example is a sentos 5 um you know custom Apache server that the company that roll that server actually you know gone our business what're going to do you know smack of it so yeah I guess you get the idea so is wir this uh switch switch trees model uh we all operate in the real world nothing's perfect you know some imperfections generate more you know adrenaline rush for the Defenders and the rimers though um you have the users Legacy app overwork atmin default setting you know all working against your environment so so so far what I've

talked about right to hack into M365 with some confidence um steel session token with uh man and middle fishing okay not very exciting we we we most of us would know that weak password without MFA okay but why don't all the script kitties out there run Hydra against your company's you know M65 portal um there there's a question you know uh that I'm going to answer so turns out there's a bit of last line defense there from Microsoft called um entra ID Smart Lock out I didn't make up the name but it what it is so there's uh a default setting of locking a user's account after uh 10 fail attempts right so if 10 password

being tried on that user and fail um it would will be locked and after each subsequent failure the account will be locked again and the incremental timer interestingly is not you know disclos to us um you know good on you Microsoft uh uh and it also defens between familiar and unfamiliar you know location so if the user usually logs in from London and you're at you know chham for example during a red team uh the you locking uh the user on you know entra smart lockout would actually just lock you but not the user so you know uh it's less less disruption so I guess that you know is good um so at least it does what itess

on the team it is and indeed a smart lockout timer but the interesting bit is how to get pass it but before that um you know what are the other you know default settings uh users can selfs serve password reset uh is enabled by default um even if I you know set up a free M365 tenant that's a three four a month right I would get this sort of Defense but um I remember it requiring P1 or P2 license to you know tweak the settings but uh even threee tenants would you know have it by default um and also there's some more small print apologies if you can read that but basically there's something called um

default Protections in which um entra would analyze you know IP address uh signal traffic and other enormous Behavior Uh and give you a you know ID locked error code without regardless of password validity so Bas basically if uh you look like a bot to the m to to the Microsoft you know machine learning algorithms it will lock you and not give you a reason even if you have a correct password so we we need to get through that as well so that's when we get back to sort of the uh the Fred group like report thing which the Fred group like midnight blizzard they use distributed uh residential proxy basically they rotate their IP every request uh that's why

they you know sort of Microsoft defenses the default protection here doesn't see that as a password spray and lock that user immediately um for our m of adversaries rather than you know using it through a residential proxy we do um AWS Gateway proxying um through a tool called fire Pro but there are other ways to implement it as well basically you know every request every login request that is a post request to you know login. microsoftonline.com um would be proxy through you know AWS API gateways and Microsoft will see a different IP address for you know uh each request and you could actually for more fun you can change a region for every request as

well so now you're in Croatia now you're in Brazil now you're in Vietnam so uh and so on and so forth and that is to how you know we can get past uh IP and location check through htics at least you know uh as of yet in mid 204 um as we can see if we just try to spin up fire procs and you know do a curl on if conf. me so basically what does the server for if conf. me see my IPS um is as you can see it's the same you know API Gateway the xuj whatever if we do a curl um on it each time it will see a different you know IP the catch

would be that uh Microsoft can see that it comes from AWS because it comes from AWS you know ASN unfortunately unlike the frag actors will come from renal proxy but essentially we can do you know IP rotation easily as for other heuristics and other you know checks um we use a long duration in between each uh spray to get past you know the the smart lockout timer that Microsoft doesn't disclose um 1 hour turns turns out to be good enough usually for us but for you know very uh clients that we anticipate to be very Vigilant and very sophisticated we do even you know as slow as one one round per day but against hundreds of users

while we do you know other things in the background of course you're not you know sort of waiting for the spray to to finish while you know sitting around sipping at Pine you know uh we scramble the user list as well we you know do user AP d c in first round and ACB on second round and a a um no DBA on the third round you you get the idea some some sort of jittering so that you don't you know have a 10c gap in between each um sort of attemp all and all just try to look as uh not like a bot as as possible Right but the most important thing would be rotating ipn

region um so it all sounds you know very complicated so far he uh do we have tools to do that for us so yes there are a couple of tools that does that for for for us um our own red team use team filtration for the a lot of the other quality of live features that we want and we like though all of them I've checked um to be using five procs or itest Gateway for IP rotation so um infation itself is written in C you can you know read it uh it's not very uh long to get through source code you could you know Implement your own as well but anyway let's go through team

filtration for a bit um what is what what is it what it does um how to use it right there's a enumeration module that validates users uh emails that you found through teams or you know the uh Microsoft online API basically if you search for someone on teams on the UI you can see whether they're online or not uh if you know they allow external tenants that's basically how how team filtration does the you know validation but uh the cat is that service account that doesn't have teams uh you won't be able to validate it here but you might use the uh MSO online uh feature to enumerate instead um the spray itself is a slow and low and slow pass spray and

the X filtration bit looks for an MFA Gap uh you log in and loot everything you want and you need so I'm not going deep into how to set it up the the offer has a YouTube series it's quite good um I recommend it and also give credit to flan viic uh very nice to in here thank you and um just very short on the the spray spraying command um of course I've could have put this up on the first slide and you know some some of you the theimers would take pictures and go away but that's not the point really it's not about the tool this tool itself but it's about like why this works right um You

can see you know I uh put the shuffle regions flag uh as red and bold because uh that's what gets P you know the smart protection the best and we we like to use slip minimal as 60 Minutes that means you try run round for all users wait for an hour and then wait uh uh and then and then go for another round right uh J you give a password list actually the default passwords given by the two itself is very good like it has the best like welcome at 254 exclamation mark that's one of the most common that he saw and what we see as well um another caveat uh other red teams definitely use

uh other tools and found you know a lot of sucess as well I'm I'm very sure anyway so what happens during a spray right um for context in our own engagements we usually generate around 1K to 5K login requests uh depending on you know how good the organization is of course uh before we get a valid account um valid as in you know we can get past MFA and the credentials are valid right um the math goes as as such like eight business day eight business hour per day 200 user per roundish uh 1 hour in in between each round that that be 1.6 th000 requests per day so it takes about 1 to 3 days to perform a dedicated

password spray so it's in time wise it's far more economical than the email campaign but if you do it through uh for teams Spas sort of fishing campaign is you know it's similar but uh I like it because you know I don't need to think of a preex um it's viable uh I want to stress to fit into many types of Engagement Windows not just red teams even you know in an external perimeter pant test if the client you know you feel has such a need uh you can actually feel into that as well and you can stop and uh restart the spray at any time and uh quality life stuff you can have uh

set up a API key for your you know phone's push notification and U Bing oh you got to use a nice you know time to you know grab a coffee and xill uh uh run in the background R your hack and other stuff uh so on and so forth right so a couple of more quick fire rounds of tips um the common only flag is very good um I've said already but uh said again um you could or you should actually spin up your own testing M365 Tenon uh which is one month free before you use this tool or any you password spraying to against a live client because you don't want actually to you

know lock out your clients for example CEO or ceso in the process because you know locking out the wrong account we we know it's not uh it is a big deal and and that's not the professionalism that the the client expect of uh myself I at least I think so um also check the user list with your client first there might be some sort of like business critical you know automation account that you found that they don't want you to try okay fair enough um also um there are aure error messages there's another thing that you can look into uh like what the er error code mean it's very rose uh uh trust sa is a good block post on this yep um be

very sure about what the tool does uh is is she sh uh reach scho first but most important bit ask for permission before starting a spray because uh lockouts although are unlikely you know you can't say okay sunny at Chum told me it's not going to lock out anyone right I'm not going to take responsibility for you uh good idea to spray during office office hour only uh so that the you know it person or is online and can you know raise alarms and talk to you rather than middle of night uh small start with small subset of user first confirm the list with the client if uh in our experience we make the risk SL uh value

proposition clear clients are usually quite okay with us you know going for this uh technique because it does you know shock them that to find out usually to find out oh you you could potentially spray into my M365 go ahead Sunny you know try it you know I want to see do it right anyway um the experienced red team in the red te in the audience may say okay uh it sounds all cool and fun but how low are you know thousands of fail locking requests so turns out uh in a organization with you know hundreds of user they actually do see low thousands of fail uh fail locked in every day in the background so that's one thing um

but the uh region rotation would be be would be the loud thing actually for example if they only see users logging in from the UK if there's anyone looking uh one from Croatia one from Vietnam one from Brazil That's you know they will see you know somebody's spraying them behind a proxy but the problem is what they going to do about it uh of course that raised the alertness level that that's true but uh as of you know today I see you know the community not being very you know popular popular about you know the Technic hasn't been popularized enough that I I see it as an issue and the furthermore actual fractor is using

that so I I think we should test our socks whe whether they see it or not um and also actually uh alerting by default starts starts at a successful login that is defined by username password pair and unsuccessful attempts are locked but there's no default alerting the uh the sock need to write some sort of custom detection to actually catch you so we actually recommend using the credential as soon as you got them uh before a password reset happens or you know a session revoke happens um what happens after a positive hit so um this uh from act actual engagement uh the two would start enumerating through potential conditional access policy pairs for example like Microsoft to team uh no

windows on teams iPhone on teams uh no teams on iPhone teams on Android teams on Linux and then to the next app Outlook uh with with windows outlock with iPhone so and so forth um sometimes conditional access policy have gaps that uh it you could get through for example in this real engagement U we found that somehow iPhone can access um Ms teams without MFA and then we got in right but for the another user we we sprayed in our in the same engagement the M MFA is airtight so we can see you know power Shell through iPhone for for some reason uh Asus iPhone Linux uh they they all by MFA right so after exilation um no after

getting the credential we go through go through exfiltration and um what you see on screen um when we look back into in our time stamp only took 9 Minutes uh we took two 2,000 emails all the users uh teams Chat lock and 200 Max of uh one drrive files which in essence uh already completed the action objective for for that you know client for us because uh the ESS sta on on SharePoint so we Pro that we could but um you know for other engagements uh you might want to take through the email do something else which I'll get to the next Point next slide um you might want to get the session token you grab from the valid

login to use to use it through some sort of post filtration no post post exploitation framework such as graph Runner is very good tool I've seen U some of red teams uses as well um it leverages the graph API to do things like uh in rating for dynamic access uh Dynamic group rules uh whether there are any groups that you can add yourselves to uh invite your own malicious user or um register for a malicious you know um Enterprise application you know all sort of goodies and um I I've also seen uh blue teams are starting to pick this up um write detection blocks as well so it's it'll be interesting to to to look

at the uh you know Advance evasion bits on you know some of these uh very popular tooling uh in the coming months so what are the limitations on you know the password spraying you know sort of approach um for example uh there are indeed organizations that are very small for example my own company um if your your C your clients has less than 50 users for example then statistics is not on your side um some sort of targeted social engineering campaign uh or even you know target targeted fish might be a better approach um you might see a client with air Ty set up through and through no MFA Gap everyone has strong password or they even use passwordless

or maybe the S row custom detection and jump on you within five minutes right uh well in that case I'd say you know it's good to tell a client they've done well when they have it's not it's a lot of work to set everything airtight so I'll be very happy to write you know good job well done on my report if it's the case although you know with after a lot of frustration right so um that's a bit on um M365 password spraying and a bit of uh post exploitation I will give a bit of shi for a tool that I wrote um aure uh again in uh with the three hes for you know easy memorization it's a one

command you know install of a vulnerable uh Azure environment uh has uh five flag so far uh you provide your own tenant of course don't put your proc stuff production stuff on there uh and and you can you can learn how to hack Azure or try out the password rain stuff even and um uh there might be walkthroughs coming uh in our Labs uh uh block uh uh check it out give a start if you like what you see uh and then there will be time for credits before Q&A yep team infiltration five proc scrunner allot written by wonderful people very great tools check out their stuff and

Q&A oh good keep your mind hi yeah um I've been monitoring a for some years and looking at logs and I'm seeing persistent a uh well there an AP definitely that's persistently just banging away you know so just as the attacks you uh you've described there that's um you one password well looks like one password but many users it's just been going on for years and years and years I don't know if you know if you have any intel on um who the uh the culprits might be well uh unfortunately I'm not a frat tell person but the the a lot of frag groups that that does that and tie to some sort of nation states that uh you

know have a strategic interest in you know compromising you know this country and you know the West in general I'm not going to name names but uh you you you will see a lot of the names uh for example like midnight blard is is a black one but uh even our clients they they would get IP uh IPS from certain regions of the world that you know appears often so if you monitor as Z locks you certainly know

yeah okay uh the the thing is um using residential proxy is uh exp uh more expensive and uh it's quite Troublesome to set up as a red team but for example the a AWS uh API Gateway uh it's actually not designed for this I'm sorry you you understand it's designed for you know uh actual web apis to be served to you know uh to be serving thousands of requests so if you do you know even the low thousand sort of request that that would you know only cause us cause us like pennies so that's the that's the reason any more than anymore

so yes uh MFA Gap can be now I would classify them by by by two methods uh the first one would be when you set up condition access policies you could actually add exclusions to Cloud apps uh that uh that would be allowed to you know log in without MFA and that would be the type one MFA Gap that I described on slide and actually if the you uh if the attacker could get uh into one of the car apps they could uh if they have a refresh token they could actually ask for Access token for the other car apps as well so that's uh the unfortunate part about you know Microsoft the second MFA Gap that uh I would describe would

be the uh requirement not equals to enrollment Gap in which you know MFA is required for that user but never set it up because that user is not there anymore so you could get into it and set up as your own and yeah

yes yeah for example like uh in the previous slide that uh I've shown uh you can see MST teams on iPhone uh doesn't require uh MFA for example here but we use that access token to log in to further like uh teams to uh outload to SharePoint to you know all the popular you know um M365 or uh

applications yeah yeah thank you all if that's ah okay yeah go ahead

[Music]

I would say the the most the the biggest thing that I would I would say and I would see is the uh requirement equals uh in Roman um understanding Gap uh and and that's a you know sort of not not that hard to fix um in my mind if you tell them okay um just that the user needs MFA doesn't doesn't mean they have uh and you need to you know sort of like face out your stale user that hasn't locked in for a while then and uh that's a know easier easier thing to to to get get through to them uh and and it's sort of like um common commonly seen as well I I I I do

have a question for you as well as a contact on Microsoft right or or x Microsoft I'm not sure um so if if the user were to you know find in remediation we tell them to look for the MFA Gap and then fix that um what would be a good approach uh to undergo a organization R uh wide audit on an MFA Gap by you know excluding some sort of um Cloud apps for example would you advise them to use some sort of workbook or would you like tell them to click through the Contin access policies and and remove the excution

to

yeah

yeah yeah yeah thank you uh it's actually very reassuring to to me to know that it's actually indeed a you know very hard problem to solve as I would think it's a very hard problem to solve and there's no easy reation and that's why also I bring this talk you know to more than one place because I think more people needs to be talking about this as all thank you thank you very much