Showing posts with label Cryptography. Show all posts
Showing posts with label Cryptography. Show all posts

Friday, June 26, 2015

Introduction to Public Key Cryptography and RSA Encryption

Cryptographically secure pseudorandom number g...
Cryptographically secure pseudorandom number generator (Photo credit: Wikipedia)
Cryptography

The art of protecting information by transforming it (encrypting it) into an unreadable format, called cipher text. Only those who possess a secret key can decipher (or decrypt) the message into plain text. Encrypted messages can sometimes be broken by cryptanalysis, also called code breaking, although modern cryptography techniques are virtually unbreakable.

Cryptography systems can be broadly classified into:-

1. Symmetric-key Cryptography(or Secret Key Cryptography):-systems that use a single key that both the sender and recipient have.

2. Public-key Cryptography:-systems that use two keys, a public key known to everyone and a private key that only the recipient of messages uses.

3. Hash Functions: Uses a mathematical transformation to irreversibly "encrypt" information

See the Picture below :-

[Image: crypto_types.gif]

Today I will discuss with you Public Key Cryptography by taking RSA Encryption as an example:-

Public-Key Cryptography(PKC)

Public-key cryptography has been said to be the most significant new development in cryptography.Modern PKC was first described publicly by Stanford University professor Martin Hellman and graduate student Whitfield Diffie in 1976. Their paper described a two-key crypto system in which two parties could engage in a secure communication over a non-secure communications channel without having to share a secret key.

PKC depends upon the existence of so-called one-way functions, or mathematical functions that are easy to compute whereas their inverse function is relatively difficult to compute. Let me give you two simple examples:

Multiplication vs. factorization: Suppose I tell you that I have two prime numbers, 3 and 7, and that I want to calculate the product; it should take almost no time to calculate that value, which is 21. Now suppose, instead, that I tell you that I have a number, 21, and I need you tell me which pair of prime numbers I multiplied together to obtain that number. You will eventually come up with the solution but whereas calculating the product took milliseconds, factoring will take longer. The problem becomes much harder if I start with primes that have 400 digits or so, because the product will have ~800 digits.

Exponentiation vs. logarithms: Suppose I tell you that I want to take the number 3 to the 6th power; again, it is relatively easy to calculate 36 = 729. But if I tell you that I have the number 729 and want you to tell me the two integers that I used, x and y so that logx 729 = y, it will take you longer to find the two values.
While the examples above are trivial, they do represent two of the functional pairs that are used with PKC; namely, the ease of multiplication and exponentiation versus the relative difficulty of factoring and calculating logarithms, respectively. The mathematical "trick" in PKC is to find a trap door in the one-way function so that the inverse calculation becomes easy given knowledge of some item of information.

Generic PKC employs two keys that are mathematically related although knowledge of one key does not allow someone to easily determine the other key. One key is used to encrypt the plaintext and the other key is used to decrypt the ciphertext. The important point here is that it does not matter which key is applied first, but that both keys are required for the process to work (Figure 1B). Because a pair of keys are required, this approach is also called asymmetric cryptography.

In PKC, one of the keys is designated the public key and may be advertised as widely as the owner wants. The other key is designated the private key and is never revealed to another party. It is straight forward to send messages under this scheme. Suppose Alice wants to send Bob a message. Alice encrypts some information using Bob's public key; Bob decrypts the ciphertext using his private key. This method could be also used to prove who sent a message; Alice, for example, could encrypt some plaintext with her private key; when Bob decrypts using Alice's public key, he knows that Alice sent the message and Alice cannot deny having sent the message.

Examples of PKC :-
  • RSA
  • Diffie-Hellman
  • Digital Signature Algorithm(DSA)
  • Elliptic Curve Cryptography (ECC)
  • ElGamal

RSA

The first, and still most common, PKC implementation, named for the three MIT mathematicians who developed it — Ronald Rivest, Adi Shamir, and Leonard Adleman. RSA today is used in hundreds of software products and can be used for key exchange, digital signatures, or encryption of small blocks of data. RSA uses a variable size encryption block and a variable size key. The key-pair is derived from a very large number, n, that is the product of two prime numbers chosen according to special rules; these primes may be 100 or more digits in length each, yielding an n with roughly twice as many digits as the prime factors. The public key information includes n and a derivative of one of the factors of n; an attacker cannot determine the prime factors of n (and, therefore, the private key) from this information alone and that is what makes the RSA algorithm so secure.

Algorithm of RSA:-

To generate the encryption and decryption keys, we can

proceed as follows.

1. Generate randomly two “large” primes 'p' and 'q'.

2. Compute 'n' = pq and 'φ' = (p − 1)*(q − 1).

3. Choose a number 'e' so that gcd(e, φ) = 1.

4. Find the multiplicative inverse of 'e' modulo 'φ', i.e., find d so that
    e*d ≡ 1 (mod φ).

This can be done efficiently using Euclid’s Ex-tended Algorithm.

The encryption public key is KE = (n, e) and the decryption private key is KD = (n, d).

The encryption function is :- E(M ) = M^e mod n.
The decryption function is :- D(M ) = M^d mod n.
These functions satisfy D(E(M )) = M and E(D(M )) = M ,for any 0 ≤ M < n.
 

Now Let's take an example which will clear the facts :-

P = 61 <- first prime number (destroy this after computing E and D)
Q = 53 <- second prime number (destroy this after computing E and D)
PQ = 3233 <- modulus (give this to others)
E = 17 <- public exponent (give this to others)
D = 2753 <- private exponent (keep this secret!)


Your public key is (E,PQ).
Your private key is D.

The encryption function is:

encrypt(T) = (T^E) mod PQ = (T^17) mod 3233

The decryption function is:

decrypt(C) = (C^D) mod PQ= (C^2753) mod 3233

To encrypt the plaintext value 123, we do this:

encrypt(123) = (123^17) mod 3233 = 337587917446653715596592958817679803 mod 3233 = 855

To decrypt the ciphertext value 855, we do this:

decrypt(855) = (855^2753) mod 3233= 123

One way to compute the value of 855^2753 mod 3233 is like this:

2753 = 101011000001 base 2,
therefore, 2753 = 1 + 2^6 + 2^7 + 2^9 + 2^11= 1 + 64 + 128 + 512 + 2048

Consider this table of powers of 855:

855^1 = 855 (mod 3233)
855^2 = 367 (mod 3233)
855^4 = 367^2 (mod 3233) = 2136 (mod 3233)
855^8 = 2136^2 (mod 3233) = 733 (mod 3233)
855^16 = 733^2 (mod 3233) = 611 (mod 3233)
855^32 = 611^2 (mod 3233) = 1526 (mod 3233)
855^64 = 1526^2 (mod 3233) = 916 (mod 3233)
855^128 = 916^2 (mod 3233) = 1709 (mod 3233)
855^256 = 1709^2 (mod 3233) = 1282 (mod 3233)
855^512 = 1282^2 (mod 3233) = 1160 (mod 3233)
855^1024 = 1160^2 (mod 3233) = 672 (mod 3233)
855^2048 = 672^2 (mod 3233) = 2197 (mod 3233)


Given the above, we can do like this:

855^2753 (mod 3233)
= 855^(1 + 64 + 128 + 512 + 2048) (mod 3233)
= 855^1 * 855^64 * 855^128 * 855^512 * 855^2048 (mod 3233)
= 855 * 916 * 1709 * 1160 * 2197 (mod 3233)
= 794 * 1709 * 1160 * 2197 (mod 3233)
= 2319 * 1160 * 2197 (mod 3233)
= 184 * 2197 (mod 3233)
= 123 (mod 3233)
= 123



References :

http://www.garykessler.net/library/crypto.html
http://plansoft.org/wp-content/uploads/knowledge/inne/RSA.pdf


Thank You. Hope you like this tutorial. Share it among your friends :)


Continue Reading →

Tuesday, June 23, 2015

Modified Atbash Cipher code in Python

English: Icon from Nuvola icon theme for KDE 3...
(Photo credit: Wikipedia)

The Atbash cipher is a very specific case of a Monoalphabetic substitution cipher where the letters of the alphabet are reversed. In other words, all A's are replaced with Z's, all B's are replaced with Y's, and so on. 

I modified this general scheme somewhat and added support for encrypting digits and special characters too to make it stronger because reversing the alphabet twice will get you actual alphabet, you can encipher and decipher a message using the exact same algorithm.
Example:

Plaintext  : Ex094, You are a very Nice Guy!
Ciphertext: [liZeB?~uo?8r4?8?n4rk?_064?-okX

class AtBash:

   def __init__(self):
       self.alphabets = ' ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789~!@#$%^&*()_+|:"<>-=[];,.?/`'

   def encode(self, plaintext):
       cipher = ""
       for i in plaintext:
           index = self.alphabets.index(i)
           cipher += self.alphabets[abs(len(self.alphabets) - index - 1) % len(self.alphabets)]
       return cipher

   def decode(self, ciphertext):
       return self.encode(ciphertext)


if __name__ == "__main__":
   atbash = AtBash()

   enc = atbash.encode("Hello World!")
   print(enc)

   dec = atbash.decode(enc)
   print(dec)

I hope you liked this post. Share this post. Thank you.
Continue Reading →

Thursday, June 18, 2015

Hash Algorithm Identifier | Identify CryptoHash Types

Hash Algorithm Identifier is a tool which can be used to identify almost all types of hashes. This tool can detect the password hash of various forums like MyBB, phpBB3, Drupal, Joomla, wordpress etc.

I wrote a tutorial earlier on how to identify the different types of hashes and you can see that tutorial here. If you don’t know what a Hash Function is then I recommend you to read about it  here


Those who have used Kali Linux for different puposes, they might have come across a tool named hash-identifier and the link to the source of the tool :- https://code.google.com/p/hash-identifier/

But the tool is poorly programmed with a huge if-else-if ladder and method construct and some of them are not correct, exceeding 500+ LOC.


Here’s my version of HashIdentifier. (# of lines of code : 210 [With New lines and docstrings])

Screenshot

[Image: yuiiCFV.png]

Installing Required Packages using requirements.txt, Starting HashIdentifier Server on localhost, using the webservice
[Image: F2X5btc.png]

Using Hash Identifier Web Service

Python Code and Demonstration to Use Hash Identifier Web Service
[Image: NPs3Q60.png]
 
The style and design of the code has been kept same as the original hash-identifier in the Google-code project link given above.

How to Use [Instructions for Linux/Mac users] ?

To use this simply run (The app will start):-

python HashIdentifier.py

To give executable permissions, run :-
 
chmod +x HashIdentifier.py

and then starting it by executing (One’s the executable is made you can start it by typing the following text only):-
 
./HashIdentifier.py

If you don’t understand the steps above then don’t worry. I have included a start.sh [for Linux] and a start.bat [for Windows] files to make your life more easier

To execute the start.sh, type the following in the terminal :-
 
sh start.sh
 
Hash-Algorithm-Identifier Web Service

Hash-Algorithm-Identifier is now on Cloud and provides a web service to use it directly in your apps or so and so. The wrapper for web service is provided asweb.py. The Cloud app service is hosted at http://hashid.badwith.computer/

Usage instructions

./web.py or see --help for more options
 
To use the cloud service send a get (for single hash) or post (for multiple hash) request with the hash appended at the end of the url given above. In case you want the result for multiple hashes then in such cases send the hashes as JSON data.

Javascript

var hash = "3da541559918a808c2402bba5012f6c60b27661c";
 cors_request = new XMLHttpRequest();
 cors_request.onreadystatechange = function() {
 if (cors_request.readyState == 4) {
    console.log(cors_request.responseText);
    }
 }
 cors_request.open("GET", "http://hashid.badwith.computer/" + hash);
 cors_request.send();

Python Sample Example

import requests
hsh = "3da541559918a808c2402bba5012f6c60b27661c"
resp = requests.get("http://hashid.badwith.computer/%s" % hsh)
print(resp.text)

Python Example : Multiple hashes

import json
import requests
hashes = {'hashes': [
 "3da541559918a808c2402bba5012f6c60b27661c",
 "912ec803b2ce49e4a541068d495ab570"
 ]}
resp = requests.post("http://hashid.badwith.computer/", data=json.dumps(hashes))
print(resp.text)

The response is received as JSON data. The Demo usage has been already shown above under the screenshots header..

Thanks to moloch for contributing to the cloud app.

About the Code

As it is evident from the code that I have used regular expressions to identify the hashes. The hashes are being identified because they have certain characteristics and when matched properly they will produce the proper results. Using regular expressions to identify the hash makes the code neat and easy to understand. To understand the regex expressions used in the code, VISIT THIS SITE and paste the Regex Expression in its proper place and thereby you get the explanation. 

Suggestion and feedback are welcome. The tool will be updated with more new features and hashes for identification.

Quick Links


Thank you,
Sincerely,
Psycho_Coder

Continue Reading →

Cryptography | Identify Different types of Hashes

Cryptographically secure pseudorandom number g...
Cryptographically secure pseudorandom number generator (Photo credit: Wikipedia)
Hello Everyone,

If you are a hacker or a computer Geek or programmer or a general enthusiast regarding computing then you might have come across the term hash or cryptographic hash functions. Many a times even people call hashes as encryption which is absolutely wrong. This is going to be a short tutorial and we will be dealing with how to identify the various types of hashes that we come across. I hope after reading this tutorial you will have some idea that how to identify hashes.

Reader's Note:-

I assume the following while making this tutorial:-

1. You know basics of cryptography. If you don't then read this.
2. You have some experience with programming (though not required much in this tutorial bit its good to know as they will help you understand better).
3. You know basics of PHP [optional].

Let's Begin


Identifying MD5

MD5 hash : It is one of the most common type of hash function and it is used in many sites and is applied in different fields. Used in phpBB v2.x, Joomla version below 1.0.13 and many other forums and CMS.

Reasons for a hash to be MD5

Length: 32 characters.
Description: They are always 32 characters in length (16 Bytes).They are always hexadecimal (Only use characters 0-9 and A-F)
Algorithm: Same as the md5() function in PHP.

Example :- f5d1278e8109edd94e1e4197e04873b9
 
MD5 (UNIX) : Used in Linux and other similar OS.

Length: 34 characters.
Description: The hash begins with the $1$ signature, then there goes the salt (up to 8 random characters; in our example the salt is the string "12345678"), then there goes one more $ character, followed by the actual hash.
Algorithm: Actually that is a loop calling the MD5 algorithm 2000 times.

Example:- $1$12345678$XM4P3PrKBgKNnTaqG9P0T/
 
MD5 (APR) : Used in Linux and other similar OS.

Length: 37 characters.
Description: The hash begins with the $apr1$ signature, then there goes the salt (up to 8 random characters; in our example the salt is the string "12345678"), then there goes one more $ character, followed by the actual hash.
Algorithm: Actually that is a loop calling the MD5 algorithm 2000 times.

Example:- $apr1$12345678$auQSX8Mvzt.tdBi4y6Xgj.
 
MD5 (phpBB3) : Used in phpBB 3.x.x.

Length: 34 characters.
Description: The hash begins with the $H$ signature, then there goes one character (most often the number '9'), then there goes the salt (8 random characters; in our example the salt is the string "12345678"), followed by the actual hash.
Algorithm: Actually that is a loop calling the MD5 algorithm 2048 times.

Example: $H$9123456785DAERgALpsri.D9z3ht120
 
MD5(Wordpress) : Used in Wordpress sites.

Length: 34 characters.
Description: The hash begins with the $P$ signature, then there goes one character (most often the number 'B'), then there goes the salt (8 random characters; in our example the salt is the string "12345678"), followed by the actual hash.
Algorithm: Actually that is a loop calling the MD5 algorithm 8192 times.

Example:- $P$B123456780BhGFYSlUqGyE6ErKErL01

Identifying Salted MD5

Salted MD5 - Used in a large amount of applications to increase hash parity and to increase the time it takes to crack.

General Description : They consist of two blocks connected by a colon, the first is the hash the second is the salt. The first part of the salted hash is hexadecimal, the second is variable case alphanumeric. They first part will always be 32 characters long. The second part can be any length.

md5($pass.$salt) :Used in WB News, Joomla version 1.0.13 and higher.
Length: 16 bytes.

Example:- 6f04f0d75f6870858bae14ac0b6d9f73:1234
 
md5($salt.$pass) : Used in osCommerce, AEF, Gallery and other CMS.
Length: 16 bytes.

Example:- f190ce9ac8445d249747cab7be43f7d5:12
 
md5(md5($pass)) : Used in e107, DLE , AVE, Diferior, Koobi and other CMS.
Length: 16 bytes.

Example:- 28c8edde3d61a0411511d3b1866f0636
 
md5(md5($pass).$salt) :Used in vBulletin, IceBB.
Length: 16 bytes.

Example:- 6011527690eddca23580955c216b1fd2:wQ6
 
md5(md5($salt).md5($pass)) : Used in IPB.
Length: 16 bytes. 
 
Example:- 81f87275dd805aa018df8befe09fe9f8:wH6_S

md5(md5($salt).$pass) : Used in MyBB.
Length: 16 bytes. 
 
Example:- 816a14db44578f516cbaef25bd8d8296:1234
 
md5($salt.$pass.$salt) : Used in TBDev.
Length: 16 bytes.

Example:- a3bc9e11fddf4fef4deea11e33668eab:1234
 
md5($salt.md5($salt.$pass)) : Used in DLP (More info. :- Here).
Length: 16 bytes. 
 
Example:- 1d715e52285e5a6b546e442792652c8a:1234
Identifying SHA

SHA-1 : Used frequently on the internet and is one of a large family of Secure Hash Algorithms.Used in many forums and CMS.
Length: 20 bytes.
Description :They are always 40 Characters in length (160 bits).They are always hexadecimal (Only use characters 0-9 and A-F).
Algorithm: Same as the sha1() function in PHP. 
 
Example: 356a192b7913b04c54574d18c28d46e6395428ab

sha1(strtolower($username).$pass) : Used in SMF.
Length: 20 bytes.

Example:- Admin:6c7ca345f63f835cb353ff15bd6c5e052ec08e7a
 
SHA-256(Unix) : Used in Linux and other similar OS.
Length: 55 characters.
Description: The hash begins with the $5$ signature, then there goes the salt (up to 8 random characters; in our example the salt is the string "12345678"), then there goes one more $ character, followed by the actual hash.
Algorithm: Actually that is a loop calling the SHA-256 algorithm 5000 times.

Example: $5$12345678$jBWLgeYZbSvREnuBr5s3gp13vqiKSNK1rkTk9zYE1v0

SHA-512(Unix) :Used in Linux and other similar OS.
Length: 98 characters.
Description: The hash begins with the $6$ signature, then there goes the salt (up to 8 random characters; in our example the salt is the string "12345678"), then there goes one more $ character, followed by the actual hash.
Algorithm: Actually that is a loop calling the SHA-512 algorithm 5000 times. 
 
Example:- $6$12345678$U6Yv5E1lWn6mEESzKen42o6rbEmFNLlq6Ik9X3reMXY3doKEuxrcDohKUx0Oxf44aeTI​xGEjssvtT1aKyZHjs

Identifying Salted SHA

sha1($salt.sha1($salt.sha1($pass))) : Used in Woltlab BB.
Length: 20 bytes.

Example: cd37bfbf68d198d11d39a67158c0c9cddf34573b:1234
Identifying Other hash types

MySQL < 4.1 : These aren't used very often but still come up on very often because people have no idea what to do with them, they are used in older versions of MySQL.

Length : 16 characters(8 bytes)
Description :They are always hexadecimal (Only use characters 0-9 and A-F).

Example:- 606727496645bcba
MYSQL5 : Used in newer versions of MYSQL to store database user passwords.
Length: 41 characters
Description :They are always capitalized. They always begin with an asterisk .
 
Example:- *C8EB599B8E8EE7BE9F1A5691B7BC9ECCB8DE1C75
DES(Unix) : Used in Linux and other similar OS.
Length: 13 characters.
Description: The first two characters are the salt (random characters; in our example the salt is the string "Iv"), then there follows the actual hash.

Example:- IvS7aeT4NzQPM

Domain Cached Credentials :Used for caching passwords of Windows domain.
Length: 16 bytes.
Algorithm: MD4(MD4(Unicode($pass)).Unicode(strtolower($username)))

Example:- Admin:b474d48cdfc4974d86ef4d24904cdd91

I hope this information is useful to you and I belief that this post will help many others. 

References : Here
Continue Reading →

Wednesday, June 17, 2015

100 Best Open Source Security Tools

English: A candidate icon for Portal:Computer ...
English: A candidate icon for Portal:Computer security (Photo credit: Wikipedia)
Whether you’re a network administrator, security professional, or an end user, it’s important that you keep your system clean and secure. There are a variety of high quality open source security tools available, and many of them are free. Check out this list to find 100 of the best of them.

 
General

These tools offer a variety of useful security functions.
  1. Untangle: Untangle will provide you with spam, virus, and spyware protection, as well as Web filtering, firewall, and more.
  2. Network Security Toolkit: This tool combines a variety of open source apps that will help you stay on top of traffic, intrusions, and more.
  3. Bastille Linux: With this tool, you’ll answer questions about your security, and will get a custom lockdown for your machine.
  4. OSSIM: OSSIM brings together a number of open source security tools to give you network details and stay on top of intrusions.
  5. ProShield: Use Proshield to get a scan of your system for up to date software and malware.
  6. Hardened Linux: This Linux distribution will help you improve your security.
  7. eBox Platform: Use this network management framework for content filtering, proxy, firewalls, and more.sa
  8. Kismet: Kismet offers wireless network detection, intrusion detection, and packet sniffing, all in one.
Monitoring

With these tools, you’ll get constant monitoring of your security.
  1. Nessus: Use this free scanner to stay on top of your vulnerabilities.
  2. Nagios: This host and network monitoring tool will let administrators handle outages before clients and users are affected.
  3. AWStats: Use AWStats to get a look at attacks on your server.
  4. Honeytrap: With this tool, you’ll get advanced warning about attacks.
  5. The Multi Router Traffic Grapher: Use this tool to monitor your SNMP network devices.
  6. Snort: Snort is an incredibly effective intrusion detection system.
  7. BASE: This tool works well with Snort to make your intrusion detection data more easy to understand.
  8. Internet Secure Access Kit: This suite will help you restrict and monitor access on your network.
  9. Afick: Afick will help you stay on top of changes to your system.
  10. Network Security Analysis Tool: Use this tool to scan your network for vulnerabilities.
  11. Nagios: This program will monitor your enterprise network services, environmental factors, host resources, and point out potential vulnerabilities.
  12. JbroFuzz: With this tool, you can test the integrity of your network.
  13. Yet Another Security Monitoring Interface: This web based application will help you take a look at the data flow in your router.
  14. ettercap: Ettercap will monitor your LAN, staying on top of content, live connections, and other potential attacks.
  15. Metasploit: Often used by hackers, you can test your system with this tool.
  16. SNARE: Make use of this tool that collects and analyzes your event log data.
  17. Nikto: Nikto will scan your web servers for problems and dangerous files.

Email & Spam

Use these tools to keep your email secure.
  1. Spam Assassin: This anti-spam tool will help you keep your email neat and clean.
  2. Tiger Envelopes: This email encryption tool works with a variety of programs, including Thunderbird and Outlook.
  3. Anti-Spam SMTP Proxy Server: Use this application to filter out spam and viruses.
  4. Spamato: With this client-side spam filter, you can keep the junk out of your Outlook, Thunderbird, and other popular email clients.
  5. phPOP3clean: Use this scanner to look for worms, spam, blacklisted words, as well as blacklisted domains.
  6. Thunderbird: This open source email program has a variety of tools for keeping spam and viruses at bay.
  7. Mailsaurus: This email client will encrypt all of your data so that no one can read your email.
  8. MailCleaner: With this filtering application, you can keep the spam and viruses out.
  9. Web Stat: Want to know how much spam you’re blocking? Use this tool that will display your level of blocked spam graphically.
Anti-Virus

With these tools, you can protect your computer and network from viruses.
  1. FullControl: This software will stay on top of all the programs running on your computer and verify their integrity.
  2. ClamAV: Make use of this excellent antivirus tool to keep your machine free of viruses.
  3. ClamWin: If you want to take advantage of ClamAV on your Windows machine, make use of this tool.
  4. Moon Secure Antivirus: This antivirus scanner also features a firewall.
  5. Winpooch Watchdog: Winpooch will stay on top of spyware, trojans, and viruses.
  6. Softlabs AntiVirus: Using this antivirus tool, you can scan your email for phishing and viruses.

Firewall

Use these firewall tools to keep unwanted intruders and items out of your system.
  1. SELinux: Using SELinux, you can set mandatory access control features for Linux.
  2. m0n0Wall: This tool offers both firewall and VPN.
  3. ShellTer: ShellTer offers a firewall with SSH protection.
  4. Endian Firewall Community: Use this tool to turn an old PC into an appliance that provides a variety of security functions.
  5. FirewallPAPI: This system will stay on top of your network traffic.
  6. SmoothWall Express: Use SmoothWall to turn a PC into a firewall appliance for your network.
  7. WIPFW: Use this tool to monitor and filter packets entering your network.
  8. Fail2Ban: Fail2Ban will stay on top of log files and look for failure prone IPs, which will be blacklisted.
  9. Vyatta: Turn to Vyatta to get an enterprise class firewall for free.
  10. ISP-FW: With this server side firewall application, you can get packet filtering and monitoring.
  11. Firewall Builder: This tool will make it easy to establish rules for your firewall.
  12. AppArmor: Create policy-based profiles to control access to applications with AppArmor.
  13. Firestarter: Make use of this firewall if you want to get your firewall security up and running in a hurry.
  14. Linux Embedded Appliance Firewall: This firewall tool will help you shore up your security.
  15. IPCop: With this tool, you can turn any PC into a firewall appliance to get your network secure.
Files & Data

Keep your files, data, and transfers secure with these tools.
  1. Darik’s Boot and Nuke: If you want to wipe out a hard drive, just boot up with a disk containing this tool.
  2. Packet Generator: Use this tool to optimize the routing schematics for your network.
  3. Paros: Paros intercepts data, offering a way to evaluate web application security.
  4. Cyberduck: With this tool, you can transfer files to remote computers and networks.
  5. WinSCP: Use this SFTP and FTP client for secure file transfes.
  6. Eraser: This tool will eliminate files by overwriting them several times, so that they can’t be read using digital forensic tools.
Encryption & Cryptography

Make use of these encryption and cryptography tools to stay secure.
  1. KeyCzar: Use this toolkit to make cryptography easier to use in applications.
  2. Cameloid: Keep your voice connections safe with this encryption tool.
  3. GNU Privacy Guard: This encryption tool uses a number of different encryption algorythms.
  4. TrueCrypt: Use TrueCrypt to encrypt a partition or drive, or create a virtual encrypted disk within a file.
  5. Cryptonit: Secure your files and address books with this encryption tool.
  6. Checkpoint Commander: This tool will both encrypt and completely erase your files.
  7. AxCrypt: AxCrypt is a simple encryption tool that will allow you to encrypt files with just a few clicks.
  8. Magikfs: You can hide your files using this tool with a steganographic filesystem.
  9. FreeOTFE: This tool will create secure virtual drives on your PC.
  10. Cryptology: Cryptology offers encyption that integrates into Windows Explorer right-click menus.
Passwords

With these tools, you can keep your passwords handy and secure.
  1. KeePass: Use this password safe to keep all of your passwords safe and encrypted.
  2. CiphSafe: This tool will encrypt your usernames and passwords for popular Internet websites.
  3. Password Safe: Password Safe will help you create strong passwords and can store multiple password databases.
  4. Keep It Secret! Keep It Safe!: With this tool, you can store your important usernames and passwords in an encrypted file.
Remote Access

Use these tools for secure remote access.
  1. OpenSSH: With this tool, you can safely operate a remote host.
  2. Stunnel: Stunnel will encrypt your TCP connections inside SSL connections.
  3. OpenVPN: Get safe VPN access using this tool.
  4. SSL-Explorer: This web-based VPN server will allow you to use a standard browser.
  5. Open SSL: This tool uses Transport Layer Security and Secure Socets Layer protocols to keep you safe.
  6. strongSwan: strongSwan offers an IPsec-based VPN tool for Linux.
  7. PuTTy: Get remote access with this telnet/SSH client.
  8. UltraVNC: Use this tool to get safe and secure remote access.
Networking

These tools will help you operate a more secure network.
  1. Nmap: Nmap will help you stay informed of all of the hardware that is connected to your network.
  2. Wireshark: Using Wireshark, you can take a look at all of the traffic that passes over your Ethernet network.
  3. Bro: Bro offers network intrusion detection that will passively monitor your network traffic for anomalous traffic behavior.
  4. Network Simulator and Network Animator: With this tool, you can test your network flow to prevent bottlenecks and promote better routing.
  5. OCS Inventory NG: This tool will provide you with a list of hardware and software on your network.
  6. Netcat: Netcat is a simple utility that will help you read and write data across UDP or TCP network connections.
  7. Angry IP Scanner: This tool will scan IP adresses and ports on your network.
  8. Ossec HIDS: With this intrusion detection system, you’ll find out when your network is being attacked.
  9. TcpDump: If you’re looking for a light, secure packet sniffer, check out this tool.
  10. The Network Visualizer: Get graphic information on your network activity using this tool.
Miscellaneous

Check out these tools for even more open source security applications.
  1. Tripwire: Find out when changes are made to your system by using this tool.
  2. Firefox: A very popular web browser, Firefox offers a variety of secure options and add ons.
  3. The Sleuth Kit: With this kit, you can recover deleted files.
  4. JAP: This tool will allow you to browse the Internet anonymously.
  5. iSAK: Using this tool, you can filter out specific types of websites.
  6. Advisory Check: This tool will read RSS and XML security feeds to monitor the security of the software you’re using.
  7. Babel: Babel will let you know about all of the security flaws that you have in your system.
 
Continue Reading →

List Of Steganography Tools

 
 
Image Steganography:
  • F5 is a steganography algo for hiding information in JPEG images. Westfeld A. F5ea steganographic algorithm (high capacity despite better steganalysis). In: Moskowitz I, editor. Information hiding. vol. 2137 of lecture notes in Computer Science. Berlin/Heidelberg: Springer; 2001. p. 289e302. 
  • JPHIDE and JPSEEK are programs which allow you to hide a file in a jpeg visual image. 
  • Jsteg is an open steganography software on Internet. It uses the LSB of DCT coefficients to hide secret information. 
  • Mr Hide is a steganography tool for hiding information inside images. 
  • OpenPuff is a professional steganography tool, with unique features you won't find among any other free or commercial software. OpenPuff is 100% free and suitable for highly sensitive data covert transmission. 
  • OpenStego is an open-source software distributed under the terms of the GNU General Public License v2.0. 
  • Perturbed Quantization: the sender hides data while processing the cover object with an information-reducing operation that involves quantization, such as lossy compression, downsampling, or A/D conversion. 
  • Steghide is a steganography program that is able to hide data in various kinds of image- and audio-files. The color-respectively sample-frequencies are not changed thus making the embedding resistant against first-order statistical tests. 
  • Steghide Online: Web page for Steganography using Steghide.
  • StegoBlue: LSB Steganography on Bitmaps in Python.
Audio Steganography:
  • MP3Stego will hide information in MP3 files during the compression process. The data is first compressed, encrypted and then hidden in the MP3 bit stream. 

Network Steganography:
  • SteganRTP is a steganography tool which establishes a full-duplex steganographic data transfer protocol utilizing Real-time Transfer Protocol (RTP) packet payloads as the cover medium. The tool provides interactive chat, file transfer, and remote shell access. 
  • HCovert is a steganographic communications tool used to create a covert channel using a HTTP GET request to convey it's message to a webserver and webserver log parsing to retrievethe message. This tool will both send as well as recieve messages.
  • Netcross is a tunneling software particularly useful in restricted (read firewalled) network environments, which is able to establish IP tunnels exploiting Domain Name Resolution requests/responses. 
  • Cctt, "Covert Channel Tunneling Tool" - is a tool presenting several exploitation techniques allowing the creation of arbitrary data transfer channels in the data streams authorized by a network access control system.
  • Cooking channels - is a set of two python scripts (CGI and client) allowing to build a communication channel over HTTP cookies.

Image Steganalysis - Feature Extractors*:
  • Merged Features - T. Pevny and J. Fridrich, Merging Markov and DCT features for multi-class JPEG steganalysis. In E.J. Delp and P.W. Wong, editors, Proceedings SPIE, Electronic Imaging, Security, Steganography, and Watermarking of Multimedia Contents IX, volume 6505, pages 3 1 - 3 14, San Jose, CA, January 29 / February 1, 2007. 
  • PPD - Daniel Lerch-Hostalot, David Megías. LSB matching steganalysis based on patterns of pixel differences and random embedding Computers & Security, Volume 32, February 2013, Pages 192-206. 
  • Rich Models - J. Fridrich and J. Kodovsky, Rich models for steganalysis of digital images, IEEE Transactions on Information Forensics and Security. 
  • SPAM - T. Pevny and P. Bas and J. Fridrich Steganalysis by subtractive pixel adjacency matrix. Steganalysis by subtractive pixel adjacency matrix, Princeton, NJ, September 7-8, 2009. 
A lot of feature extractors implemented in Matlab can be found here.
Network Steganalysis
  • Cctde is a first implementation of the Gray-World.net Covert Channel and Tunneling over the HTTP protocol Detection : GW implementation theoretical design paper.
Steganalysis - Classifiers:
  • Ensemble Classifiers - J. Kodovský, J. Fridrich, and V. Holub, Ensemble Classifiers for Steganalysis of Digital Media. IEEE Transactions on Information Forensics and Security, Vol. 7, No. 2, pp. 432-444, April 2012.
  • LibSVM - Chang, Chih-Chung and Lin, Chih-Jen. A library for support vector machines. ACM Transactions on Intelligent Systems and Technology. 2:27:1--27:27, 2011.
Article Taken from here : http://steganography.daniellerch.me/p/software.html
Continue Reading →

Follow Me!

Followers

Visitor Map