Pages

Thursday, May 15, 2014

Obtaining Passwords from Cisco Wireless LAN Controllers

During security analysis, experts often deal with default accounts. Particularly, it is very usual for large companies having several hundred systems. That’s why one of the main requirements is to use complex non-dictionary passwords to comply with security standards and best practices.
There are two ways to test the system compliance with this requirement:

  • password brute-forcing,
  • obtaining and checking passwords or their hashes from the system.

The former method can cause account lockout and thus is often found unacceptable. The latter one is preferable, but gives another problem if passwords are encrypted or hashed.


Let us consider how passwords are stored in Cisco Wireless LAN Controllers. The configuration file contains usernames and passwords for Cisco WLC in the following form:

config mgmtuser add encrypt admin2 1 5082d27dd0048bf167d04b96b9f2aad1 fbf57db49db49643897d14cd89d7ba14e96a4fbd 16 d20d07b60ff785d718b47837f1915dbe0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 read-write

The format differs from MD5, which is usually used in Cisco systems, isn’t it? We need to find out what encryption (hashing) algorithm is being applied here.

So, the record format looks as follows:

config mgmtuser add encrypt ,

where:

  • is the username;
  • is the encryption type. If == 0, then encryption is not used and contains the hex-encoded password. If == 1, then the password is encrypted with AES-128 in CBC + PKCS#7 padding mode using the constant key 834156F9940F09C0A8D00F019F850005;
  • is the hex-encoded initialization vector for AES-CBC (16 bytes);
  • is the hex-encoded HMAC-SHA1 (20 bytes) calculated using the constant key 44C60835E800EC06FFFF89444CE6F789. During HMAC calculation, they sequentially hash number 1 (as DWORD), (16 bytes) and ( bytes). DWORD endianness depends on the processor architecture (it can be big-endian or little-endian);
  • is the length of data structure containing the password;
  • is the hex-encoded data that contain the password. To store the encoded data, multiple zero characters are added for some reason;
  • is the account type. It can be read-only, read-write, and lobby-admin.

It is worth mentioning that this storage format is used not only for account passwords, but for other passwords and secrets, too.

Below are given some sample templates that can precede the fields encType, iv, hmac, cbData, and data.

config local-auth method fast server-key encrypt
config mgmtuser add encrypt *
config radius auth add encrypt * * * password
config wlan security * akm * set-key * encrypt
transfer * encrypt password

Thus, if we have the configuration file of a Cisco WLC device, we can obtain and restore all encrypted passwords.

To avoid disclosure of account passwords, you should always encrypt configuration files with built-in Cisco WLC tools when transferring such files to an external server (see figure below).



Watch yourself ;)

Authors: Dmitry Sklyarov, Sergey Pavlov, Dmitry Kurbatov (Positive Research)

5 comments:

  1. Nice writeup, but you should properly encode variables that look like HTML tags (<enctype>, <iv>, <hmac>, ....).

    ReplyDelete
    Replies
    1. Thanks for your comment! We'll try to fix it somehow

      Delete
  2. I knw the ipipadress of lan controller but i dont knw ththe username n password how can i get it?

    ReplyDelete
  3. Good hit mate. Could you reply me with the thing that ON WHAT ACCOUNT WE SHOULD AVOID password brute-forcing ? and yes sorry for the caps.

    ReplyDelete
  4. Lời bài hát vì tôi còn sống của Tiên TiênVì tôi còn viết lên bao điều trong lòng tôi.
    Lời bài hát vợ người ta của Phan Mạnh QuỳnhVới cái tên Vợ người ta – Phan Mạnh Quỳnh đang là bài hát có lượt người tìm kiếm và xem nhiều nhất hiện nay.
    Quả hạnh nhân là gì?Vậy bạn đã biết quả hạnh nhân là gì chưa? Nếu chưa hãy cùng mình đến với bài viết ngày hôm nay để khám phá về loại quả quý này nhé! Cùng theo dõi nào!
    Cách trị bệnh huyết trắng có mùi ở phụ nử?Huyết trắng là bệnh phụ khoa thường gặp ở phụ nữ, bệnh huyết trắng có nhiều nguyên nhân gây ra và cũng thường gây ra mùi hôi vô cùng khó chịu, điều này khiến chị em phụ nữ cảm thấy e ngại, mất tự tin.
    Bệnh huyết trắng ở phụ nữ là gì?Huyết trắng là một trong những bệnh phụ khoa mà hầu hết phụ nữ nào cũng đã và có thể mắc phải, nhưng rất ít trong số đó hiểu về những ảnh hưởng từ căn bệnh này.
    Bệnh xuất huyết não có chữa được không?Bệnh nhân và gia đình bệnh nhân cần tuân thủ những hướng dẫn của bác sĩ, điều dưỡng về cách thức vệ sinh, chế độ ăn uống…
    Cách làm dưa leo muối chua ngọtDưa leo muối chua ngọt là món ăn có lẻ khá thân thuộc đối với truyền thống ẩm thực Việt Nam chúng ta, món ăn khá bình dị nhưng vị chua ngọt của dưa leo muối đã làm cho nền ẩm thực trở nên phong phú.
    Bà bầu ăn củ kiệu có sao không?Củ kiệu là món ăn có thể nói không thể thiếu trong này Tết cổ truyền của người Việt chúng ta, món kiệu chua ngọt không chỉ ngon miệng mà còn giúp cho những bữa cơm gia trình trở nên ấm cúng hơn.
    Có nên quan hệ trước hôn nhân hay không?Đối với thế hệ trẻ bây giờ vấn đề quan hệ lúc yêu luôn là vấn đề nóng hổi, bởi có nhiều ý kiến trái ngược về vấn đề này.
    Top những thú cưng dể thương vui nhộnCon người và thú cưng có một mối liên hệ rất gắn bó với nhau, nhất là khi bạn nuôi nấng và lớn lên cùng với chúng, thậm chí già đi cùng chúng
    Dấm táo là gì - bán ở đâu?Ngày nay, với thành tựu y học hiện đại, một số nhà sản xuất đã thành công trong việc sử dụng phương pháp đông khô để tách nước khỏi dấm táo, tạo ra dấm táo dạng bột tinh chất.

    ReplyDelete