‏إظهار الرسائل ذات التسميات Cryptography. إظهار كافة الرسائل
‏إظهار الرسائل ذات التسميات Cryptography. إظهار كافة الرسائل

الأربعاء، 11 يناير 2017

How To Exploit A Common Cryptographic Flaw

How To Exploit A Common Cryptographic Flaw

Want to know how to exploit a common cryptographic flaw or forge administrator cookies, recover passwords?

This is an introductory course on cryptography, freely available for programmers of all ages and skill levels. It comes with everything you need to understand complete systems such as SSL/TLS, block ciphers, stream ciphers, hash functions, message authentication codes, public key encryption, key agreement protocols, and signature algorithms.

 Crypto 101 is intended as an introduction to cryptography for programmers of any skill level. It starts with very simple primitives, and gradually introduces new ones, demonstrating why they are necessary. And eventually, all of this is put together into complete, practical cryptosystems, such as TLS, GPG and OTR.

If you are an everyday programmer who is also interested in how cryptosystems work, what are you waiting for?

Download Crypto 101 Free

الخميس، 22 ديسمبر 2016

NIST Calls Development of Quantum-Proof Encryption Algorithms




Quantum Computers – Boon or Bane?

Quantum computers can perform operations much more quickly and efficiently even with the use of less energy than conventional computers, but that's bad news for encryption — a process which scrambles data according to a massively complex mathematical code.

In theory, quantum computers can break almost all the existing encryption algorithms used on the

الأربعاء، 10 أغسطس 2016

Oops! Microsoft Accidentally Leaks Backdoor Keys to Bypass UEFI Secure Boot

It's True — There is no such backdoor that only its creator can access.

Microsoft has accidentally leaked the Secret keys that allow hackers to unlock devices protected by UEFI (Unified Extensible Firmware Interface) Secure Boot feature.

What's even worse?

It will be impossible for Microsoft to undo its leak.

Secure Boot is a security feature that protects your device from

الجمعة، 1 يوليو 2016

How to Crack Android Full Disk Encryption on Qualcomm Devices




The heated battle between Apple and the FBI provoked a lot of talk about Encryption – the technology that has been used to keep all your bits and bytes as safe as possible.

We can not say a lot about Apple's users, but Android users are at severe risk when it comes to encryption of their personal and sensitive data.

Android's full-disk encryption can be cracked much more easily than expected

الأربعاء، 22 يونيو 2016

Stuxnet: One of the Most Dangerous Cyber Weapons Ever Created


Stuxnet: One of the Most Dangerous Cyber Weapons Ever Created


Stuxnet is a computer worm which is specifically designed to attack embedded systems. Its primary target is to attack the industrial control systems which are used to support the infrastructure facilities like water treatment, light fixture, etc. Programmable logic controller is a digital device which is used in many industries to control electromechanical process. Attacker tries to change the code in programmable logic controller (PLC) which is used to control the embedded system. Stux is one of the Dangerous malwares for the embedded system, and it is very hard to detect Stuxnet because it has rootkit component which hides all the malicious files and presence of Stuxnet.

Security expert Roel Schouwenberg has done extensive research on Stuxnet and found that Stuxnet starts infecting our embedded system in six steps:

As we know that USB drive is one of the important sources for many infections and when we talk about Stuxnet, the first window system which got infected by Stuxnet is through infected USB drive. Then it automatically starts searching for a network of the infected system and looks for another target system, and if it goes successful then it will download an updated version of worm and try to compromise and search for a vulnerability.

Once it finds a vulnerability either it may be zero-day vulnerability or known vulnerability which not got patched by vendor, it will use that as an advantage and try to send some false control signal to the system like it will send a signal to centrifuges to spin continuously out of control and send false data to the monitoring activity which shows that everything is running fine.   

It is important to take some mitigate steps to protect our static environment. Some of the methods include:

1. Manual Updates:

It is always risky to enable automatic updates because it requires frequent access to the internet. It is a good idea if you use manual updates and download them in a separate environment and verify them if it is valid, applies those updates to the system in a static environment.

2. Redundancy: 

Redundancy is one of the important factors by which we can ensure that our system continues to operate if any failure occur. A common example of ensuring redundancy is Redundant Array of Inexpensive Disk (RAID) which includes multiple disks so that it continues to operate if any of the disks got failed. SCADA system often includes redundant control to take over if one fails.  

3. Defence-in-depth:  

In daily practices, hackers are finding new tactics to access a system in an unauthorised manner. And it will be very easy for them to penetrate one security layer. So it is always suggested to use multiple layers of security to ensure the system remain in a safe state. For example, you can use a firewall to protect unauthorised traffic and at the same time you can use network intrusion prevention system which provides an additional layer of security.

4. Updated Firmware Control: 

Most static systems have embedded firmware installed on them. Try to use the most updated version of Firmware with all updated patches.

الاثنين، 23 مايو 2016

FeatherDuster: An Automated Modular Cryptanalysis Tool

FeatherDuster: An Automated Modular Cryptanalysis Tool


FeatherDuster: An Automated Modular Cryptanalysis Tool

FeatherDuster & Cryptanalib-


FeatherDuster is a tool that is designed by Daniel "unicorn furnace" Crowley of NCC Group for cracking the crypto that tries to make the process of determining as well as utilizing the weak cryptosystems that are as simple as possible. Cryptanalib is the moving parts following the FeatherDuster as well as it can be used separately of FeatherDuster.

Well, this is a beta version of FeatherDuster, where things may be broken.

FeatherDuster Usage:

python featherduster.py [ciphertext file 1] ... [ciphertext file n] when introducing the samples by the positional arguments in which every file that will be consumed as well as treated as its own ciphertext despite the set-up of the files. FeatherDuster has the capability to repeatedly identify as well as interpret the similar encodings that’s why it's okay if these files that consists the encrypted samples.

Appealing to the FeatherDuster lacking of positional arguments that will allow for optional methods of introducing the ciphertext. Even particularly it has the capability to insert a file with newline-separated samples where every line will be treated as a distinct sample, like so:

68657920636f6f6c
796f752072656164
74686520726561646d65

As well as it has the capability to identify a single ciphertext in FeatherDuster via the command-line input. Because of this input will conclude on a newline, it is suggested to utilize the some form of encoding in case of the sample that consists a newline.

Cryptanalib Usage:

Cryptanalib that can be used individually of FeatherDuster to make the Python-based crypto attack tools. Certification for the functions of cryptanalib that can be availabled via the Python help() function like so:

>>> import cryptanalib as ca
>>> dir(ca)    # output edited for a cleaner README file
[ ... 'analyze_ciphertext', 'batch_gcd', 'bb98_padding_oracle', 'break_alpha_shift', 'break_ascii_shift', 'break_columnar_transposition', 'break_generic_shift', 'break_many_time_pad', ... ]
>>> help(ca.bb98_padding_oracle)

Help on function bb98_padding_oracle in module cryptanalib:

bb98_padding_oracle(ciphertext, padding_oracle, exponent, modulus, verbose=False, debug=False)
    Bleichenbacher's RSA-PKCS1-v1_5 padding oracle from CRYPTO '98

    Given an RSA-PKCS1-v1.5 padding oracle and a ciphertext,
    decrypt the ciphertext.

    ciphertext - The ciphertext to decrypt
    padding_oracle - A function that communicates with the padding oracle.
       The function should take a single parameter as the ciphertext, and
       should return either True for good padding or False for bad padding.
    exponent - The public exponent of the keypair
    modulus - The modulus of the keypair
    verbose - (bool) Whether to show verbose output
    debug - (bool) Show very verbose output


Installation:

git clone https://github.com/nccgroup/featherduster.git
cd featherduster
python setup.py install
sudo apt-get install libgmp3-dev

Dependencies-

Python 2.x
GMPy (which itself depends on GMP)
PyCrypto


Installation Errors-

Missing GMP-

If you encounter a missing header error such as:

./src/gmpy.h:30:10: fatal error: 'gmp.h' file not found

OSX

Install gmp via brew brew install gmp then retry python setup.py install

Debian

Install gmp via apt-get sudo apt-get install libgmp3-dev

Missing GCC-

If you are having difficulty in the installing PyCrypto on an Ubuntu variant then you may not have GCC installed. It is possible to install PyCrypto through apt with apt-get install python-crypto.

The Cryptanalib Analysis Engine-

The analysis engine in Cryptanalib is used by FeatherDuster that can automatically distinguish the encodings as well as decode the samples. Whereas the engine supposes that all of the samples are created with the similar process (for instance, base64encode(aes_encrypt(datum))). However, it can manage the mixed samples to some degree. Recently, Cryptanalib can detect and decode the following encoding schemes:

Vanilla Base64
ASCII hex-encoding
Zlib compression

And the analysis engine of Cryptanalib can detect a number of properties in the analysis phase, too:

Low entropy ciphertext (Useful for detecting homebrew ciphers)
Block cipher usage vs Stream cipher usage
ECB mode
CBC mode with fixed IV
Hash algorithm (engine will note that length extension attacks may apply with Merkle-Daamgard based hash algos)
OpenSSL formatted ciphertext
Stream cipher key reuse
RSA keys with private components
Insufficiently large RSA moduli
RSA modulus reuse


Transposition-only cipher