Heartbleed Impact in Belgium?

Heartbleed-beHeartbleed“… Probably one of the top queries typed in search engines for a few weeks! Of course, I followed the story but I did not blog (yet) about it until today. Why repeat again and again what has been said? Some bloggers and analysts wrote very good overviews about this modern nightmare.

Read More →

DahuCon Wrap-Up or … Perhaps Not?

DahuI spent the end of the week “somewhere”  in Switzerland to attend a nice security event called “DahuCon” or perhaps not! Who knows! The event was organized by two Swiss guys. They successfully attracted 50 security professionals to a very nice place. Attendees came from Switzerland, France, Germany, Austria and… Belgium of course! (only with a  personal invitation) The challenge was not to bring them all together in a lost place but in a place without any network coverage! A very weak mobile signal which made all data connections allmost impossible (and forget the 3G!). Honestly, everybody survived!

The particularity of DahuCon was to be based on the “Chatam House Rule“. This means that, in an event held under this rule,  anyone who comes to the meeting is free to quote what has been said (except if explicitely requested to not disclose it), but is not allowed to say who. The goal is to make the event more open to discussions.

If there is a domain in which information disclosure can be very touchy, it is information security! So, speakers were free to discuss about their favourite topic, no guideline was given except to be “imaginative” and it was! Some topics covered:

  • 0-days attacks
  • ASP.NET
  • DDoS
  • Full-Disclosure (hot topic for many people!)
  • Memory tracing
  • Secure messaging
  • Old games
  • Hardware
  • Malware reversing

Thanks to the Chatam House Rule and the “anonymity” of speakers, it was an opportunity to see some talks going much deeper than in regular conferences. Some of them revealing very interesting information!

I would like to thank the organizers for inviting me. It was a pleasure and I hope to be invited to a second edition with the same format. It was really a challenge to organize this and you did it!

xip.py: Executing Commands per IP Address

Batch ProcessingDuring a penetration test, I had to execute specific commands against some IP networks. Those networks were represented under the CIDR form (network/subnet). Being a lazy guy, I spent some time to write a small Python script to solve this problem. The idea was based on the “xargs” UNIX command which is used to build complex command lines. From the xargs man page:

xargs reads items from the standard input, delimited by blanks (which can be protected with double or single quotes or a backslash) or newlines, and executes the command (default is /bin/echo) one or more times with any initial-arguments followed by items read from standard input. Blank lines on the standard input are ignored.

I called the tool logically “xip.py” as it allows you to execute a provided command for each IP address from a subnet or a range. The syntax is simple:

$ ./xip.py -h
Usage: xip.py [options]

Options:
 --version             show program's version number and exit
 -h, --help            show this help message and exit
 -i IPADDRESSES, --ip-addresses=IPADDRESSES
                       IP Addresses subnets to expand
 -c COMMAND, --command=COMMAND
                       Command to execute for each IP ("{}" will be replaced by the IP)
 -o OUTPUT, --output=OUTPUT
                       Send commands output to a file
 -s, --split           Split outfile files per IP address
 -d, --debug           Debug output

The IP addresses can be added in two formats: x.x.x.x/x or x.x.x.x-x. Multiple subnets can be delimited by commas and subnet starting with a “-” will be excluded. Examples:

$ ./xip.py -i 10.0.0.0/29,10.10.0.0/29,-10.0.0.1-4 -c "echo {}"

This command will return:

10.0.0.0
10.0.0.5
10.0.0.6
10.0.0.7
10.10.0.0
10.10.0.1
10.10.0.2
10.10.0.3
10.10.0.4
10.10.0.5
10.10.0.6
10.10.0.7

Like the “find” UNIX command, “{}” are replaced by the IP address (multiple {} pairs can be used). With the “-o <file>” option, the command output will be stored to the file (stderr & stdout). You can split the output across multiple files using the switch “-s“. In this case, <file> will end the IP addresses.

This is a quick and dirty tool which helped me a lot. I already have some ideas to improve it, if I’ve time… The script is available on my github repository.

Log Awareness Trainings?

ChuckawareMore and more companies organize “security awareness” trainings for their team members. With the growing threats faced by people while using their computers or any connected device, it is definitively a good idea. The goal of such trainings is to make people open their eyes and change their attitude towards security.

If the goal of an awareness training is to change the attitude of people, why not apply the same in other domains? Log files sounds a good example! Most log management solutions prone to be extended to collect and digest almost any type of log files. With their standard configuration, they are able to process logfiles generated by most solutions on the information security market but they can also “learn” unknown logfile formats. Maaaagic!

Read More →

The Day Windows XP Died!

XP TombstoneTuesday 8th of April 2014, a page of the computer industry has been turned! Windows XP is dead! Of course, I had to write a blog post about this event. For months now, Microsoft warned its customers that XP won’t be supported starting from today. Do you remember: Windows XP was available on floppies and had – in the beginning – no native USB support! What does it mean today? From a end-users’ point of view, their computer will not collapse! No need to repeat some voodoo formulas, it will boot again and work like yesterday… Except if something bad happens. In this case, Microsoft won’t help you (instead they will be very happy to propose you an upgrade to Windows 8.1). Well, this is not 100% true: Microsoft is still ready to “offer” you some support if you subscribe to their Premium Service program! (Business is business)

Things are more nasty from a security point of view! Your computer will still run but will be vulnerable to new attacks. By “new” I mean the ones that will be discovered (because XP will be a very nice target seeing its installed base – see the graph below). But I’m also pretty sure that some vulnerabilities have been discovered for a while and kept below the radar ready to be used in the wild. And this may occur very soon tomorrow. People are still migrating to a newer operating system and the surface attacks will reduce itself with time. For an attacker perspective, this is the right time!

But, is this old Windows XP still a problem? People had quite a long time to switch to alternative OS rights? Have a look at the following statistics. They come from the blog and are based on the last 30 days:

Windows Statistics

Based on Google Analytics, 11% of my visitors are still using Windows XP! Based on my regular audience and the content of this blog, I could expect people to have a “high-level profile” like IT professional, infosec people, etc. Those people should have get rid of XP for a while. Ok, let’s reduce this number by a few percents due to fake User-Agents used by some of you or bots and crawlers. Let’s make a final estimation to 7-8%? This remains a huge amount of vulnerable computers (my blog does not generate a lot of traffic). I’m curious to see statistics for big players on the web… Somebody can share?

If you’re still using XP today, have a look a top of your head, there is sword of Damocles! Windows XP was not only used on desktop computers. They are plenty of services still running on top of it:

  • Bank ATM’s
  • Medical devices
  • SCADA systems
  • PoS
  • Kioks

 What can you do against this? First reaction: upgrade as soon as possible (for laptops & desktops). Installation like medical devices have the bad reputation to not be easily upgradable (or not at all). In all other cases, security best practices apply as usual:

  • Locate devices running XP on your network! Could be stupid but many companies don’t know what devices are connected on the LAN!
  • Prohibit those devices or isolate them in a separate network zone. NAC (“Network Access Control“) solutions can be useful to put them in a dedicated & hardened VLAN
  • Disconnect them from the Internet
  • Don’t run “services” on them
  • Don’t surf from them

Finally, if you have old applications, test them on a newer OS in the “Windows XP” compatibility mode. Please take actions today!

Pwned or not Pwned?

Pwn3d!Just before the announce of the Full-Disclosure shutdown a few days ago, a thread generated a lot of traffic and finally turned into a small flame war. In the beginning of the month, a security researcher reported a vulnerability found on Youtube. According to him, the Google service was suffering of a file upload vulnerability. Reading such kind of post is juicy! Accepting files sent by visitors is always a touchy feature on a website. By example, if you allow your users to upload images to create an avatar, you must implement proper controls to be sure that the uploaded file is in the correct format and does not contain any malicious code. I won’t describe how to protect against this vulnerability and even less discuss about the Full-Disclosure thread but it reveal an important fact: the severity of an issue is linked to its “context“…

Read More →

2nd European Information Security Blogger Awards Announced

Security Bloggers Meet-upToday, Brian Honan announced on his blog the second European edition of the Security Bloggers Awards. In a few weeks, many infosec guys will join London to attend BSidesLondon and/or InfoSecurity Europe. This is the perfect time to organize a meet-up on Wednesday 30rd April. Security bloggers are welcome to have drinks and chats in a relaxed atmosphere. Bad timing for me, I won’t be able to attend…

Read More →

R.I.P Full-Disclosure… What’s Next?

TombstoneSad news received today, a (last) message was posted in the Full-Disclosure mailing-list. John Cartwright, one of the founder and owner, anounced the end of the list (copy here). Personally, I subscribed in December 2006 (more than seven years ago!). I was  a passive reader but learned so many interesting stuff!

I was surprised to read John’s announce but I can fully understand and respect his decision. Operating a public service in 2002 or today is something completely different. The word “public” is the main issue here. Why? First of all, the mailing-list was open to everybody after a simple registration. It started completely unmoderated but, around 2010, some controls were added. Was it a first smoke signal? Maybe… But, the list archive being replicated on multiple sites, Google & co made their job and indexed all the content. Today, the behavior of most organizations changed and they try to keep an eye on what’s being said about them. It became usual to send a request asking to remove some sensitive content. According to John, the number of such requests kept growing with the time. I could imagine the workload to handle this!

Over the years, more and more people subscribed to the list, “young” people jumped into the security community (no, I don’t consider myself as old ;-)) and the list was also known to be, from time to time often, flooded by flamewars. The last example was a few days ago about the vulnerability reported on Youtube… But that’s normal… a space to express yourself open to anymore, people from different countries, different experiences and generations, all the ingredients were present for clashes!

What is a shame is the lack of strong community in the infosec field. What’s next? A fork of a new Full-Disclosure? In which format? Mailing-list, forum, Google group? Personally I prefer a solution based on emails. It’s easy to read, archive, process. Who will join? If the same people move to the new platform, the same problems will occur again. What about restricting the access and moderation? I’m definitively for people freedom but today you can’t definitively publish everything online. Create an “underground” list whitout community? There are already plenty… It’s maybe time to review the concept but we definitively need a Full-Disclosure mailing list!

Thank you John for your awesome work!

Checking Reverse Dependencies in Linux

DependenciesAll modern Unix operating systems provide softwares as packages. I remember the good old times in the ’90s when you had to compile all the applications from their source code. Compiling source code has advantages: you enable only the features you need and perform configuration tweaks as you want. But it’s also a pain to manage dependencies! You should have all the required libraries and tools pre-installed and with the right versions! Today, package managers are very convenient and take care of all the boring stuff.

If package managers handle perfectly dependencies (they will install all extra packages required for you), they also have interesting features like checking for “reverse dependencies“: to give a list of packages using a given package. From a security point of view it can be very useful. Think about the recent issue discovered in the gnutls code (GNUTLS-SA-2014-2). While waiting for a patch to fix such important vulnerability, it could be interesting to know what tools & applications are using this piece of code and to try to mitigate the impact. How to achieve this?

On Debian/Ubuntu, use the apt-cache command with the “rdepends” keyword:

root@kali:~# apt-cache rdepends libgnutls26
libgnutls26
Reverse Depends:
 telepathy-gabble
 libvirt0
 libvirt-bin
 libgnutlsxx27
 [...]

On Fedora, CentOS or RedHat, use the rpm command with the “–whatrequires” flag:

[root@dom0 ~]# rpm -q --whatrequires openssl
openssh-4.3p2-72.el5_7.5
curl-7.15.5-9.el5_7.4
openssl-perl-0.9.8e-22.el5_8.3
[...]

For the story, libgnutls26 is used by 184 packages on my core Ubuntu home server! Those commands can save you some time and headaches…

Mr Microsoft Support is Back!

Mr Microsoft SupportIn a previous post, I explained how I was happy to have been targeted by Indian phishers who called me to report an issue with my Windows computer. Last Saturday they called back. This time, my VM was ready but I had no time for them. I asked if it was possible to call me back later and they approved! This morning, they called back as promised!

[Note to some operators and manufacturers, they provide better support then you because they really take care of their "customers" ;-)]

When the phone rang, I was not ready but they called again five minutes later. VM? Check! Recording? Check! The scenario is always the same: The “operator” presents himself and asks you if you are in front of your computer. The guy on the line was speaking a very bad english. Impossible to understand the URL he spelled. He forwarded me to a colleague. Let’s go! He asks you first some basic questions to ensure that you’re in front of your computers (and do this all the time during the conversation). Then he asked me to press “Windows-R” and to type an URL: hxxp://www.supportbe.webs.com. It did not work, no problem: he had plenty of alternatives. The second URL was ok ( hxxp://www.infosis.net). From this site, he asked me to download a TeamViewer client and to execute it. It took a long time because my VM did not had a direct access to the web, I had to change the proxy settings live. Once started, the client was unable to contact the Team Viewer servers due to the firewall. Again, I changed this on the fly. Honestly, those guys are really patient! Once the ID and password communicated, the fun began!

Read More →