Nov 29

Nowadays new generations of hardware key-loggers are emerged, and unfortunately attackers are using them intensively to steal the keystrokes of users. These key-loggers are OS independent and are in different shapes. They are even capable of stealing the BIOS password. Most of them look like a convertor for PS/2 and/or USB to PS/2 and/or USB (Fig. 1). Besides, some of them are chipsets which are embedded in the keyboard itself (Fig. 2). And others use electromagnetic features to steal the keystrokes which are put around the wire of the keyboard or work remotely by capturing the frequency spectrum of the keyboard communication[1]. The problem is that these hardware key-loggers have become very cheap and simply available[2]. Moreover, there are some free articles about how to make their circuits[3].

Simple Hardware Keyloggers

Figure 2. Embeded Hardware Keylogger

So, how can we stop it if we could not remove its hardware from our computer or there is a danger of electromagnetic key-logger?

The first and the simplest idea is using an on-screen keyboard and click on it by using a mouse. However in order to get the best result, this on-screen keyboard should be dynamic in order to prevent a hardware key-logger for the mouse itself, which captures the mouse movements and its clicks. Another way is using encryption between the keyboard and its driver. For instance, there is no doubt that by using TPM and having strong encryption methods between keyboard and motherboard (or OS itself), the keyboard can encrypt the keystrokes before sending them to the computer. But, I want to be more initiative. Another idea can be using an optical-dynamic keyboard device which shows a keyboard on your desk or on your palm, and you can touch it in order to press a key (Fig. 3). There is also an application which claims that it can detect a hardware key-logger, but I have not tried it yet and I think it is still possible to hide a hardware key-logger completely from the OS.

Figure 3.

Figure 3.

This text is completely based on my own idea, so please respect the copyright.


[1] http://keznews.com/4985_Researchers_hack_wired_keyboards__hijack_keystrokes

[2] http://www.google.co.uk/products?q=hardware+keylogger

[3] http://derek.chezmarcotte.ca/?page_id=24

.

So, how can we stop it if we could not remove its hardware from our computer or there is a danger of electromagnetic key-logger?

The first and the simplest idea is using an on-screen keyboard and click on it by using a mouse. However in order to get the best result, this on-screen keyboard should be dynamic in order to prevent a hardware key-logger for the mouse itself, which captures the mouse movements and its clicks. Another way is using encryption between the keyboard and its driver. For instance, there is no doubt that by using TPM and having strong encryption methods between keyboard and motherboard (or OS itself), the keyboard can encrypt the keystrokes before sending them to the computer. But, I want to be more initiative. Another idea can be using an optical-dynamic keyboard device which shows a keyboard on your desk or on your palm, and you can touch it in order to press a key (Fig. 3). There is also an application which claims that it can detect a hardware key-logger, but I have not tried it yet and I think it is still possible to hide a hardware key-logger completely from the OS.

This text is completely based on my own idea, so please respect the copyright.


[1] http://keznews.com/4985_Researchers_hack_wired_keyboards__hijack_keystrokes

[2] http://www.google.co.uk/products?q=hardware+keylogger

[3] http://derek.chezmarcotte.ca/?page_id=24

Feb 02

I added Domain 4 Sale section to my weblog.
Hope you enjoy these domains.

http://soroush.secproject.com/blog/domain4sale/

Jan 31

I found some XSS vulnerabilities in my blog’s template, so I reported them to its creator (Inanis).

Thanks from Inanis because of fast fix and also for this beautiful template.

You can see these in this link:

http://www.inanis.net/blog/index.php/downloads/inanis-glass-wordpress-theme/inanis-glass-readme/

Jan 18

Thanks from Mark because of telling me a good point about MobWars cheat. (In this link Please read this first if you are new)

So, I updated the codes to this new version:

Now you can send your special message and also select your friend list. Also, there is a trick to disable images during this operation in order to save the bandwidth and time!

Download .js file
or
Just save below codes as “AddmobwarsFriend.js” file and run it with iMacros. For more help, check this post.

//—————————-Begin “AddmobwarsFriend.js” ————————————

/********* By Soroush Dalili Jan-2009 Soroush.SecProject.Com *********/
/********* Begin Configuration – You can change these settings *********/
var startPage = 20; // You can change this value to your page number!
var mobInviteMessage = “Welcome to my MobWars!”; // You can add your message here
var mobFriendList = “”; // You can add your special friend list (you must made it before)
var showImages = “0″; // You can change it to “0″ (for disabling) and to “1″ (for enabling)
/********* End Configuration – You can change these settings *********/

/********* Begin Code *********/
// Replace <SP> instead of space character
mobInviteMessage = addImacrosSpace(mobInviteMessage);
mobFriendList = addImacrosSpace(mobFriendList);
var jsNewLine=”\n”;

/********* Begin Openning Mobwars Wall’s Pages *********/
var MW_AddFromWall_Pages_Code;
MW_AddFromWall_Pages_Code = “CODE:”;
MW_AddFromWall_Pages_Code = MW_AddFromWall_Pages_Code+”SET !ERRORIGNORE YES” + jsNewLine;
if(showImages == “0″){
// Disable images to have more speed
MW_AddFromWall_Pages_Code = MW_AddFromWall_Pages_Code+”FILTER TYPE=IMAGES STATUS=ON” + jsNewLine;
}
// Open mobwars wall
MW_AddFromWall_Pages_Code = MW_AddFromWall_Pages_Code+”URL GOTO=http://www.facebook.com/wall.php?id=8743457343&page={{PageNumber}}” + jsNewLine;
MW_AddFromWall_Pages_Code = MW_AddFromWall_Pages_Code+”FILTER TYPE=IMAGES STATUS=OFF” + jsNewLine;
MW_AddFromWall_Pages_Code = MW_AddFromWall_Pages_Code+”WAIT SECONDS=2″;
/********* End Openning Mobwars Wall’s Pages *********/

/********* Begin Openning Mobwars Wall’s Links *********/
var MW_AddFromWall_Links_Code;
MW_AddFromWall_Links_Code = “CODE:”;
MW_AddFromWall_Links_Code = MW_AddFromWall_Links_Code+”SET !ERRORIGNORE YES” + jsNewLine;
if(showImages == “0″){
// Disable images to have more speed
MW_AddFromWall_Links_Code = MW_AddFromWall_Links_Code+”FILTER TYPE=IMAGES STATUS=ON” + jsNewLine;
}
MW_AddFromWall_Links_Code = MW_AddFromWall_Links_Code+”TAG POS={{LinkNumber}} TYPE=A ATTR=HREF:http://www.facebook.com/s.php?k=100000080*” + jsNewLine;
MW_AddFromWall_Links_Code = MW_AddFromWall_Links_Code+”TAG POS=1 TYPE=A ATTR=TXT:Add<SP>as<SP>Friend” + jsNewLine;
// Insert Message
if(mobInviteMessage!=”"){
MW_AddFromWall_Links_Code = MW_AddFromWall_Links_Code+”TAG POS=1 TYPE=A ATTR=TXT:Add<SP>a<SP>personal<SP>message*” + jsNewLine;
MW_AddFromWall_Links_Code = MW_AddFromWall_Links_Code+”WAIT SECONDS=1″+ jsNewLine;
MW_AddFromWall_Links_Code = MW_AddFromWall_Links_Code+”TAG POS=1 TYPE=TEXTAREA ATTR=ID:message CONTENT=” + mobInviteMessage + jsNewLine;
}
// Select Friendlist
if(mobFriendList!=”"){
MW_AddFromWall_Links_Code = MW_AddFromWall_Links_Code+”TAG POS=1 TYPE=SELECT FORM=NAME:NoFormName ATTR=ID:add_to_friend_list_widget_select_* CONTENT=$” + mobFriendList + jsNewLine;
}
// Press Add Button
MW_AddFromWall_Links_Code = MW_AddFromWall_Links_Code+”TAG POS=1 TYPE=INPUT:BUTTON ATTR=ID:dialog_button1″ + jsNewLine;
MW_AddFromWall_Links_Code = MW_AddFromWall_Links_Code+”FILTER TYPE=IMAGES STATUS=OFF” + jsNewLine;
MW_AddFromWall_Links_Code = MW_AddFromWall_Links_Code+”WAIT SECONDS=1″;
/********* End Openning Mobwars Wall’s Links *********/

/********* Begin Internal JavaScript Code *********/
var i1=0;
var i2=0;
var j=0;
var p=0;
for(p=startPage;p>=0;p–){
iimSet (“-var_PageNumber”, p);
i1 = iimPlay(MW_AddFromWall_Pages_Code);
for(j=1;j<40;j+=2){
iimSet (“-var_LinkNumber”, j);
i2 = iimPlay(MW_AddFromWall_Links_Code);
}
}

function addImacrosSpace(str){
str = str.replace(/ /g, “<SP>”);
return str;
}
/********* End Internal JavaScript Code *********/
/********* End Code*********/
/********* By Soroush Dalili Jan-2009 Soroush.SecProject.Com *********/
//—————————-End “AddmobwarsFriend.js” ————————————

preload preload preload