Tuesday, September 23, 2014

Metrics for an #Oracle #Beehive Migration to #Office365

Our latest Oracle Beehive to Microsoft Exchange migration tool brings back the "Use Report" capability that allows you to generate an HTML summary of how much data your Beehive server contains.

Clicking the highlighted button....

Will generate a report called beehivemetrics.htm that looks like this:


Yes, we had some fun with how we referred to the top volume users.

This is great information for determining how to do a segmented migration across multiple CPU instances (not that we had to enable exactly this over the last weekend or anything....).

Saturday, September 20, 2014

#MeetingMaker User Password Recovery

Meeting Maker 7x / 8x User Password Recovery

First get comfortable with reading binary data.

Second, open up a Meeting Maker Server Export in said binary file viewer.

Third, figure out how to turn all this gobbledygook into something semi-useful (as we have done below), but barring that, search for your USER NAME or USER LOGIN, in the example below we use “Adam Ant” with User Login “adam”

Adam’s password is encrypted in the line beginning with “OVNI 0103” (which will ALWAYS immediately follow his USER LOGIN)

The first digit “1” tells me the password is 1-byte long.  In this example I know his password is “b” but it is encrypted in the export file as “c”

You should start to suspect a pattern.

If the clear password is “aa” (61 61h) the hex string is “63 8C”

The pattern holds.  The first encrypted character = character + LENGTH of password

Now we proceed to the next digits in turn and build a table (a, aa, aaa, aaaa, b, bb, bbb...) you get the idea) which we will leave as an exercise for the reader. 

Going down the column is less clear than going across the rows.  Going from “a” to “b” everything augments by one (and this has held across a range of experimentation), meaning we can in a pinch use each “a” length cipher as a base to figure out anything of that length.

So the algorithm:
1.       Find a user
2.       Read the password length
3.       Subtract length from the first digit to get the hex of the first character
4.       Use the “a” column in your table as an offset for all the other letters in the password sequence. 
5.       Do not ask for any more information you script kiddies in India – this is more than adequate.
So the 7 digit string “7B 96 BA E9 04 38 26” deciphers as “theman5”
7 letter “50 A4 B6 EA 04 FD 24” deciphers as “Ivana33”
5 letter “70 8F D0 E1 14” is “kayak”
Go wild.

Wednesday, September 17, 2014

Hacking Canon Firmware -- Use This on Meeting Maker

With Meeting Maker in the final throes of its extended swan song, I'd like to point folks who still want to roll their own server-side migration to Hacking Canon Pixma Printers.  Aside from being an excellent tutorial on reverse engineering, it's pretty much the same method we used (all those years ago) in breaking the Meeting Maker export format. 

Keep in mind, the issue there is not getting at the encryption key (since except for the user passwords there isn't one and you can break those in a few minutes), but establishing the encoding scheme for individual data records.  After you run this for the first few you'll have the wash-rinse-repeat cycle for the entire data set.

You'll then have to assemble object-oriented database elements into something like a coherent whole, but if you get this far into the process that should not be a barrier to success.

Only other hint I need to give you: work on the server export file not the live server data.  The live server data is a hot mess horror show.

Friday, September 12, 2014

Messages stuck in OWA's DRAFTS folder (Post Exchange 2013 CU6 update)

I updated our Exchange servers to CU6 over the US Labor Day weekend and hit a few head-banging errors.

First, CU6 failed on the mailbox role. The solution: remove the Discovery mailbox.  Then setup successfully completed.  (Remember to recreate the discovery mailbox!)

After I restarted the Exchange servers, mail was stuck in the drafts folder.  I tested mailflow using the "test-mailflow" cmdlet, and saw it failed (not that stuck messages in OWA weren't enough):

A quick search pointed to DNS or Security policy problems. Not in our case. Next check, were all services running...."Test-ServiceHealth"

No...Two  services were disabled:  MS Exchange Transport Delivery (MSExchangeDelivery) and MS Exchange Transport Submission (MSExchangeSubmission.) Restarting those services made the mail flow once more!

Tuesday, September 09, 2014

Sumatra Holiday cmdlet for Microsoft Exchange - Download


Our server-side holiday cmdlet for Microsoft Exchange simply works and has more functionality than the client-side holiday capability Microsoft built into Outlook.  And of course an admin runs this server-side rather than hoping users run use Outlook to add holidays client-side.

When we offered it up as a "pay what you want" we got thousands of downloads, and a number of people who actually paid of the "use your fingers" magnitude.

But people keep asking for it, so we're going to let you download it under our advertising model meaning every item inserted will be stamped "Courtesy of Sumatra" in the agenda.

So you may download it here

If you want to suggest additions or modifications, contact us.

And check this blog or  to see what we'll support in the future. 

Friday, September 05, 2014

Disappearing Contact/Calendar item body fixed in Exchange 2013 CU6

We blogged about clients reporting problems with notes after inserting contacts and calendar items from Beehive and MDaemon migrations April, '14.)

KB 2975003 confirmed this was a problem! The KB says: "...compose or edit a Calendar item by using Outlook Web App...and then save the item. When you open the item in Microsoft Outlook 2013 or Outlook 2010 in online mode, the body of the item disappears."  We scrambled and updated our code to set MAPI codes to fix the problem in our code.  But they reported their end users were still having the same problem on NEW items.

Now there is a fix: install Cumulative Update 6 for Exchange Server 2013: 2961810