Donkey On A Waffle
Verizon Blackberry GPS Hack
Thu, 08 Oct 2009 15:08

Ever since I got my first Verizon Blackberry I have been pissed off that Verizon ships the device, that I paid my hard earned money for, in a crippled fashion. Verizon chose to ship the device with the GPS disabled so that you can't use it without paying them 10$ a month. It could have been 1$ a month and I would have been angry about it, but 10$ a month to use a piece of GPS hardware that doesn't even use their network is just ludicrous.

Well, I've been doing quite a bit of research into mobile devices recently (for other reasons not listed) and came across some documentation that demonstrates exactly how to enable the GPS for free. I've copied it here for posterity; this is not my research, but it's certainly cool enough that I'll post it here to every Verizon phone user to read.

1. Enter your device's engineering screen. On the Storm press and hold the back arrow hard key and press the top left, top right, top left, top right of the touch screen. Then enter the code generated from http://absolous.no-ip.com/projects/escreen/. Other models may differ.
2. Choose Radio Engineering Screens (Multi) -> GPS -> GPS Options -> Operation Mode and set the value to "Standalone".
3. Save by pressing menu and choosing save.
4. Enjoy your now working free GPS and make sure to send Verizon the middle finger.

Addendum:

Python escreen generation code:
#!/usr/bin/env python

import hmac
import hashlib

pin = 'ffaa0000' # Device PIN [XXXXXXXX]
app = '4.6.0.100 (233)' # OS Application version [n.n.n.n (n)]
uptime = '12345' # Uptime in seconds
duration = 30 # Duration for key to last [1, 3, 6, 15, or 30]

lifetime = {
1: "",
3: "Hello my baby, hello my honey, hello my rag time gal",
7: "He was a boy, and she was a girl, can I make it any more obvious?",
15: "So am I, still waiting, for this world to stop hating?",
30: "I love myself today, not like yesterday. I'm cool, I'm calm, I'm gonna be okay"
}

secret = 'Up the time stream without a TARDIS'

data = pin + app + uptime + lifetime[duration]
hash = hmac.new(secret, data, digestmod = hashlib.sha1)
key = hash.hexdigest()[:8]

print key

Reference:

http://feisley.com/2009/09/26/blackberry-escreen-keygen/
Home | Tags: | Category: /infosec | [11 comments] | Link

Papers and Presentations
Thu, 17 Sep 2009 11:12

I mirrored what papers and presentations I could find that I've done over the last 10 years to my home page www.atarininja.org/~txs. If you happen to have any of my presentation slide decks or papers that I don't have uploaded please send them to me. I'm very poor at saving these things for posterity.

With regard to this blog. I'm going to be updating less frequently, but the blog is still alive. I've moved a lot of my shorter posts over to my twitter feed @txs_. Please follow that for the less detailed and shorter updates. Some more research will be posted here soon.

Home | Tags: | Category: /generic | [0 comments] | Link

The Mobius Defense - An Impetus for Application Security
Mon, 06 Jul 2009 14:07

Wrote a new blog post for my work blog at Veracode - Zero In A Bit. A short interesting take on yet another reason why application security is the last line of defense. Go check it out!

Home | Tags: | Category: /infosec | [1 comments] | Link

Phrack Issue #66 Released
Thu, 11 Jun 2009 09:11

Phrack issue #66 has been released today. Available at http://www.phrack.org

Home | Tags: | Category: /infosec | [0 comments] | Link

Muppet Dogs - Which One's Pink!
Thu, 04 Jun 2009 13:57

Home | Tags: | Category: /humor | [0 comments] | Link

Visual Studio - Stop Being So Nice!
Fri, 15 May 2009 13:59

I was messing around with optimizations and IDA Pro today in an attempt to get some dead code compiled into a program intentionally. I thought this would be a 10 second task, and in some ways it was. However, it took a while because I ended up finding something odd out about Visual Studio 2008 (untested on older versions).

Let's take the following code:

#include "stdafx.h"
#include "windows.h"
#include "stdio.h"

static void foo()
{
printf("Inside function foo. This should never be called\n");
return;
}

int _tmain(int argc, _TCHAR* argv[])
{
printf("This is main. It doesn't do squadoosh!\n");
return 0;
}

Under unix world with gcc I can simply compile this program using the flag -O0 to disable optimizations. I then can execute objdump -d to determine that indeed my code is present in the binary.

*SNIP*

08048374 foo:
8048374: 55 push %ebp
8048375: 89 e5 mov %esp,%ebp
8048377: 83 ec 08 sub $0x8,%esp
804837a: c7 04 24 98 84 04 08 movl $0x8048498,(%esp)
8048381: e8 2a ff ff ff call 80482b0 printf@plt
8048386: c9 leave
8048387: c3 ret

08048388 main:
8048388: 55 push %ebp
8048389: 89 e5 mov %esp,%ebp
804838b: 83 ec 08 sub $0x8,%esp
804838e: 83 e4 f0 and $0xfffffff0,%esp
8048391: b8 00 00 00 00 mov $0x0,%eax
8048396: 83 c0 0f add $0xf,%eax
8048399: 83 c0 0f add $0xf,%eax
804839c: c1 e8 04 shr $0x4,%eax
804839f: c1 e0 04 shl $0x4,%eax
80483a2: 29 c4 sub %eax,%esp
80483a4: c7 04 24 cc 84 04 08 movl $0x80484cc,(%esp)
80483ab: e8 00 ff ff ff call 80482b0 printf@plt
80483b0: b8 00 00 00 00 mov $0x0,%eax
80483b5: c9 leave
80483b6: c3 ret
80483b7: 90 nop

However in Visual Studio it's not quite as cut and dry. I disabled all optimizations and spent what amounted to nearly two hours trying to disable whatever it was that was keeping the compiler from adding my deadcode to the binary. I ended up chatting with a coworker of mine and he suggested I remove the "static" modifier from the foo function. Sure enough, as soon as I did this I was able to compile the dead code into the function. So after much face banging into desk I figured out that Visual Studio will always optimize out static functions regardless of the optimization settings configured in the project properties.

This makes no sense since the word static is intended to only allow the local file access to the function, it should have no impact on the optimizations of the binary as a whole. If anyone with more programming expertise than I can explain a valid reason for this optimization, please help me out.


DAMN YOU SCUBA STEVE!



Implied Security Research Ethical Rules
Thu, 07 May 2009 10:38

I absolutely loved this post by a colleague at "the anti-shazzzam" blog. She has some excellent incites and wrote a fantastic piece on the unwritten laws of the security researcher. These laws can be expanded to encompass just about any research related field, but has specific twists and caveats to the nerd side of security research. I highly recommend that anyone doing security research read and digest these unwritten rules on how to make your (and everyone's) life quite a bit easier.

The entire article is HERE. The rules in their entirety are pasted below for posterity. Please go to her blog for comments and additional interesting reading!

1. Do not release 0day that was accidentally pasted into a SILC/IRC channel. Quick edit is evil, and a few of us (*cough*) have had the right mouse button get away from us and accidentally paste a day.s work into a channel. We squeek and hope that people in that channel decide to keep it to themselves. We signed that NDA, we do not want a lawsuit.

2. Do not steal research. If someone said something that sparks your own research tangent, indulge like a horse at a salt lick. But if someone casually drops a reference to their current research idea or project, do not feverishly research and release it before they do.

3. The page-up button is our friend. Scroll-back exists. Chat is logged. Do not expect people to welcome you back with open arms if you exhibit poor behavior. Don.t be a dick.

4. Research ideas are the bread and butter of potential future revenue and recognition. Keep research to yourself until it is mostly infallible and is developed enough to be digested by the public. If the research is not tangible enough, expect that it will be further developed by someone else, or ripped apart by opposing research. Joanna Rutkowska is a prime example of how not to promote your research. People probably would not have wanted to shred her so badly if she had presented herself a little bit differently.

5. Do not talk about other.s research before they do. Chances are that a friend of yours has told you what they are working on. Let them decide when they want to start the buzz.

6. Give credit. It is probably not a good idea to post to your work distribution list a word-for-word the answer to a question that was asked in a channel. Some of the people who provided you with the answer probably work with you. If the product of your labor depends on another.s help, give them credit.

7. Thank the people who help you. They probably took time out of their very busy day with no personal benefit, just to help you succeed. Make their day by letting them know how positively beneficial they are.

8. Cite your sources! If you are expanding on someone else.s research, state it in your paper, blog, or slide deck. If your idea came from somewhere else, state it.

9. Review other.s research. All researchers need a sanity check and an extra pair of eyes to go over their work before it is released.

10. Make yourself available. The entire community (not to mention the entire security sphere) benefits by people acting as resources for other.s improvement.

11. Choose your conduct wisely. People remember. Shady behavior is noted quickly. A lot of security researchers rely on each other as trusted sources. If you behave badly, your story will live forever.

12. Preserve anonymity. Unless explicitly stated, do not expose another.s identity, associations, or opinions without their permission.

Home | Tags: | Category: /infosec | [0 comments] | Link

De-anonymizing Social Networks
Mon, 06 Apr 2009 11:19

I have been doing a bit of reading on social network graphing and general social network theories and concepts. Visualization techniques can be very effective when attempting to analyze social networks and the resulting gathered data. This is evidenced by the paper entitled "De-anonymizing Social Networks" by Arvind Narayanan and Vitaly Shmatikov. If you are interested in social network graphing and/or general visualization give this paper a go.

De-anonymizing Social Networks

EDIT: Zack Lanier from n0where.org passed along this other interesting piece of research. Eight Friends Are Enough: Social Graph Approxmiation via Public Listings
Home | Tags: | Category: /infosec | [2 comments] | Link

Continuing Economic Crunch
Wed, 01 Apr 2009 10:56

We all know the economy is continuing to take the proverbial plan b all over the tech job industry. The question really isn't "will it effect me?", my guess is yes, the question really is "how is this going to effect me". It may not directly cost you your job, but it will effect you in other ways, stifling innovation, limiting new technologies to hit the market, and generally causing a downturn in "cool stuff" going on.

According to the Techcrunch Layoff Tracker there were 317,000+ laid off tech employees through today. Will the gloom and doom ever end? Layoffs tend to be a trailing indicator of economic downturn, so don't use this as a prediction of future trends, but I doubt we've seen the bottom as of yet. For those of you still with a job, congratulations, and for those of you currently on the employment sidelines, good luck.

My question to my loyal reader is: How will this effect the information security landscape? Will budgets be cut in this area thus highly effecting the service and product providers in the space, or is security such a necessity that we will be immune to the economic slump? Please leave thoughts and ideas in the comments, this is an open forum post today. There is no right answer.

Home | Tags: | Category: /generic | [1 comments] | Link

See, Nigerian Scammers CAN Be Friendly!
Mon, 23 Mar 2009 13:12

Thanks Warlord for the link! Funny stuff!

Thanks Warlord For Link!

Home | Tags: | Category: /humor | [3 comments] | Link


Page 1 of 14  [Next]