As we grow and operate on a number of continents, so does our dependence on a rock-solid IT infrastructure. We are expanding our repertoire to include a greater collection of Linux/Open Source/Windows and OS X products. With this, we are on the look-out for a rock star to wrangle control of our internal networks, external cloud infrastructure and help us us utilise technology in a way to make us even better.
Job Title: IT Network Packet Wrangling Penguin Master
Salary Range: Industry standard, commensurate with experience
Location: Johannesburg/Pretoria, South Africa
Real Responsibilities:
Today's smart cards such as banking cards and smart corporate badges are capable of running multiple tiny applications which are often written in high level programming languages like Java or Microsoft .NET and compiled into small card resident binaries. It is a critical security requirement to isolate the execution context and data storage of these applications in order to protect them from unauthorized access by other malicious card applications. To satisfy this requirement, multi-application smart cards implement an “Application Firewall” concept in their operating system which creates an execution sandbox for card applications.
During the recent 44con conference in London, we presented the "HiveMod" reverse engineering tool for .NET smart cards and demonstrated the exploitation of a vulnerability to bypass the card's application firewall. The talk also highlighted threats and possible attack scenarios against smart corporate or military badges.
The presentation slides can be viewed below:
Please contact SensePost research team for more information.
While doing some thinking on threat modelling I started examining what the usual drivers of security spend and controls are in an organisation. I've spent some time on multiple fronts, security management (been audited, had CIOs push for priorities), security auditing (followed workpapers and audit plans), pentesting (broke in however we could) and security consulting (tried to help people fix stuff) and even dabbled with trying to sell some security hardware. This has given me some insight (or at least an opinion) into how people have tried to justify security budgets, changes, and findings or how I tried to. This is a write up of what I believe these to be (caveat: this is my opinion). This is certainly not universalisable, i.e. it's possible to find unbiased highly experienced people, but they will still have to fight the tendencies their position puts on them. What I'd want you to take away from this is that we need to move away from using these drivers in isolation, and towards more holistic risk management techniques, of which I feel threat modelling is one (although this entry isn't about threat modelling).
Auditors
The tick box monkeys themselves, they provide a useful function, and are so universally legislated and embedded in best practise, that everyone has a few decades of experience being on the giving or receiving end of a financial audit. The priorities audit reports seem to drive are:
But security vendors prioritisation of controls are driven by:
Every year around Black Hat Vegas/Pwn2Own/AddYourConfHere time a flurry of media reports hit the public and some people go into panic mode. I remember The DNS bug, where all that was needed was for people to apply a patch, but which, due to the publicity around it, garnered a significant amount of interest from people who it usually wouldn't, and probably shouldn't have cared so much. But many pentesters trade on this publicity; and some pentesting companies use this instead of a marketing budget. That's not their only, or primary, motivation, and in the end things get fixed, new techniques shared and the world a better place. The cynical view then is that some of the motivations for vulnerability researchers, and what they end up prioritising are:
Unfortunately, as human beings, our decisions are coloured by a bunch of things, which cause us to make decisions either influenced or defined by factors other than the reality we are faced with. A couple of those lead us to prioritising different security motives if decision making rests solely with one person:
The result of all of this is that different companies and people push vastly different agendas. To figure out a strategic approach to security in your organisation, you need some objective risk based measurement that will help you secure stuff in an order that mirrors the actual risk to your environment. While it's still a black art, I believe that Threat Modelling helps a lot here, a sufficiently comprehensive methodology that takes into account all of your infrastructure (or at least admits the existence of risk contributed by systems outside of a “most critical” list) and includes valid perspectives from above tries to provide an objective version of reality that isn't as vulnerable to the single biases described above.
On a recent assessment we came across the following scenario:
1) We have command execution through a web command interpreter script (cmd.jsp) on a remote Linux webserver 2) The box is firewalled only allowing 53 UDP ingress and egress
3) The box is sitting on the network perimeter, with one public IP and one internal IP, and not in a DMZ So we want to tunnel from the SensePost offices to Target Company's internal machines, with this pretty restrictive setup. How did we accomplish this?
1) Upload and compile dns2tcp to the target machine
2) Create a dns2tcp tunnel from target (dns2tcp client) to SPDNSTUNNEL (dns2tcp server)
See the attached picture for a summary of the above.
-Glenn
Hi guys...
Just a few words to allow me to semi rant, because im secretly someone who wishes he had a blog and emails like this are better cause you guys are a semi-captive audience..
Recently i heard a few questions similar to "Isnt that too much for what they (the customer) are paying for?" or "Where do we draw the line?" etc.. They are reasonable questions and i thought i'd give my 0.000002c on it officially..
i have 2 general guidelines that cover most situations :
[a] We stop when we stop adding value.. {if u can prove the point by hacking 2 boxes you dont have to hack 200} [b] We stop when we have earned the customers trust/respect/ears
[b] is slightly tricksy.. it means using ur judgement a little more than [a] does.. It is generally what makes us perform a social that involves Telkom, fake creds, and even possibly fake router boxes on a standard "3rd party router configuration assessment" because we _needed_ to go in hard..
The difference between us and a XXXXXX / YYYYYYY / insert_name_here is not that we are smarter than them (cause they had/have some wicked smart ppl) but that we almost always want to give more value.. and its what has made SensePost the name that it is.. It occured to me today while discussing what we do on a firewall rulebase assessment that what we do.. is what it takes to make the point / id and fix problems..
to labour the fw point, its howcome "rule-base assessments" in the past have included us going onsite to compromise the fw-admins machine, going to a 3rd party to compromise a shared host and going on-site to see if we could social access to the Rule-base when we knew the fw-admin was on vac..
Im not saying we need to be dramatic.. those cases all happened because we felt the customer had administrative problems, and we felt they needed to see the repercussions to believe it.. What i _do_ want to stress though is the thinking.. We dont aim to finish the report so that it looks like the last report someone did, we aim to do whatever we need to do to make the point we most think the customer needs to grok...
Thats why we get the big bucks.. cause we make clear what they need to grok...
With that line in mind (by the way), im introducing a new negative point for report QA'ing which im calling a "lazy point" deduction.. This refers to those times when we provide the customer with data, expecting them to do the analysis. _We_ do the analysis.. thats why we get... ;>
Breaking into companies is fun, but you will find the novelty wears off, and you stop feeling cleverer than devs the first time you have to dev something, but what makes our profession leet, is the ability to make a difference.. Yesterday peoples private medical records could have been all over the web.. today they r not because George did a leet web-app test on XXXX , or because rob had them restore sanity to their rule-base.. its a lot of power and should leave you with a warm fuzzy feeling long after the dust settles..
Conversely.. if u broke them "stukkend", and showed you know 10*(what their devs know) and called them idiots.. but have not really made them get it / better for the experience.. you might as well not have done the work at all...
so.. when is it done? when we have done what we think its going to take to make them get it..
/mh