[ Curiosity,Experimentation ]

Random stuff from the parallel universe of Ones and Zeroes

Archive for August, 2009

Optimized Port Scanner [With Threading]

Posted by appusajeev on August 13, 2009

I had earlier presented here a Port Scanner program written in Python (In fact,it was my maiden post !). I had stated that the major bottleneck associated with its performance was the amount of time taken to complete the scan for even a small range of ports. The connections were made sequentially,one after the other and took mammoth time to verify the entire ports in the list.

Well,that problem is solved now by using threaded execution,the use of separate threads for processing each port. The entire ports are processed simultaneously by separate  threads and this has brought down the execution time to a great extent.Hence i am presenting here, an optimized version of the port scanner which i had earlier presented.

A thread is a sequence  of instructions that are executed concurrently with other instructions/threads. Python provides two modules to implement threading-Thread module and Threading module. I have used the latter module and has overridden the run() method in the Thread class(by subclassing it)present in the module Threading.

Download Source code

Or see the source below:

Port Scanner-Optimized Source

Port Scanner-Optimized Source

Here the scanner in action:

”]Port Scanning [Screenshot]

I have used microsoft.com as the example. Notice from the scan that port 443 is open. Its the port for HTTPS.

Suggestions are welcome

Port Scanner -Scanning

Posted in Port Scanner, Python | Tagged: , , | 9 Comments »

Malware Spreading [A Worm with source]

Posted by appusajeev on August 6, 2009

This post deals with a mechanism to spread your malware through removable media like pen drives or memory cards or portable hdds or whatever. The method described here is a potential mechanism that could be used for the said purpose. With this mechanism, a malware deployed on a single machine could spread itself in quite a small time (sort of a a chain reaction). This is a method commonly used by malware developers as part of their spreading policy.

Basically,this mechanism relies upon the AUTORUN feature provided by Windows. AUTORUN is a feature by which certain actions can be perfomed when a media device(like hdd,pen drives) is accessed. With Autorun,you can set to execute a file when the device is accessed. You could also alter the right click context menu actions on the device.Basically Microsoft introduced this concept with a view to enhance the user friendliness ,buts its been used more often for the sinister purpose .The actions are stored in an Autorun.inf file is the root path of the device.
A sample autorun.inf file for executing malware.exe upon access of a media device is shown below.

Sample autorun.inf

Sample autorun.inf

The Worm

Presented here is an ActiveX control which i developed in VB6(source can be downloaded here[VB6]) which well,could be embedded in your Visual Basic/Visual C++ application(or malware,he he) to copy the required malware executable to the removable media with the corresponding autorun.inf also being created to execute the malware upon the device access with the commands to alter the right click context menu actions like open,explore,autoplay.

Download Active X Control

Download Worm ActiveX Source

The Source of the ActiveX  control is given below:

VB6 Source Code:Worm

VB6 Source Code:Worm

The control starts its action when the start() method is called. This method takes 2 arguments-the path of the executable which is to be copied and the name of the executable under which it will be copied to the removable media(the name will hence be used in the autorun.inf file)

Once the method has been called,the control checks for the presence of any plugged in removable media(by the GetDriveType API) every 10 seconds and if found,copies the given file and creates the autorun.inf files and sets the attributes of both as hidden + system so that those will not be visible normally to the user.

When that removable media is plugged to another computer and is accessed normally,the executable specified in the autorun.inf file is executed(autorun feature is enabled by default on all machines running XP and higher). Thus,with a malware installation file(the below post deals with malware installation),you could install the malware on a machine as well as start spreading the malware from that machine.

Posted in Worm | Tagged: | 5 Comments »