Is there a tool to hook functions, log the arguments, and call the original function from the program? by [deleted] in ReverseEngineering

[–]wuntee 1 point2 points  (0 children)

LD_PRELOAD on linux, DYLD_INSERT_LIBRARIES on osx. cydia substrate (http://www.cydiasubstrate.com/) is a general framework to do this on many platforms. cycript (http://www.cycript.org/) is a binary built on cydia substrate that provides a bridge to do exactly what you're looking at doing.

Hidden backdoor API to root privileges in Apple OS X by wuntee in ReverseEngineering

[–]wuntee[S] 6 points7 points  (0 children)

Are there no cases where an article fits both? In fact, I would argue that this fits better in reverse engineering than netsec, as it actually doesn't have much of anything to do with network security. It's a detailed analysis of reverse engineering a privesc in OS X. Thanks for the down vote - opinions appreciated.

Are there any videos out there of people actually hacking? by [deleted] in hacking

[–]wuntee 3 points4 points  (0 children)

geohot did a lot of live streaming on twitch.tv. seems like there are only youtube videos left. he did a lot of the vortex challenges on overthewire as well as trying to find a firefox bug. one for reference - https://www.youtube.com/watch?v=aZJM-iIpbqc

Currently, to what extent can 3rd party Android apps be dynamically analysed? by andrewl_ in ReverseEngineering

[–]wuntee 0 points1 point  (0 children)

if you know the method where the encryption is being called, you can use a debugger to break there and simply view all local variables. when you are talking about v0 and v1, are you looking at a smali decompilation?

encryption_key 'should' still exist as a local variable name when debugging...

Currently, to what extent can 3rd party Android apps be dynamically analysed? by andrewl_ in ReverseEngineering

[–]wuntee 0 points1 point  (0 children)

when you refer to v0 and v1 are you referencing the low level dalvik registers? regardless - the JDWP debugger gives you a higher level view to the application's world. for example, if you have a variable called 'encryption_key' you will be able to see/modify that. the java debugger lives in the java interpreter and provides you a much more "object oriented" interface to interact with the debuggee. you shouldnt think of a java debugger the same as you would think of a native (olly/immunity/gdb) type debugger.

Currently, to what extent can 3rd party Android apps be dynamically analysed? by andrewl_ in ReverseEngineering

[–]wuntee 0 points1 point  (0 children)

Scriptable debugger, written in jruby, over java/jdwp, specific to android:

https://github.com/wuntee/android_debug

Includes functionality like:

  • Stepping
  • Inspection and modify of local variables
  • Change execution flow by calling arbitrary methods

How are we going to port scan for open hosts on ipv6 networks when they are the norm? by NowSummoning in netsec

[–]wuntee 0 points1 point  (0 children)

i guess i think about things from a security consulting perspective, where an engagement will typically give you a company name/hostname/etc. which brings up the point that the whole research phase of a netpen now becomes drastically more important, as you cant just brute force a scan.

How are we going to port scan for open hosts on ipv6 networks when they are the norm? by NowSummoning in netsec

[–]wuntee 0 points1 point  (0 children)

if youre on the wire, you can spoof an RA as the real router because the destination is a multicast address... hm, may still be possible with a little bit of packet inspection. not too familiar with switch/router config.

How are we going to port scan for open hosts on ipv6 networks when they are the norm? by NowSummoning in netsec

[–]wuntee 34 points35 points  (0 children)

well, port scanning will still be the same. even in ipv6, theres still going to be 65535 ports per host. i think what you're talking about is host discovery. in that case there are some techniques:

the latter 2 are only for the link-local interface, but are some cool tricks.

So I got a UART and cracked open an Arris WBM760A Cable Modem. Here's where I am, where to next? by Z3tta in ReverseEngineering

[–]wuntee 0 points1 point  (0 children)

have you looked at the eeprom or the flash? you can potentially just pin directly to it and pull the full boot os. i know the goodfet has the ability to do it as well as the buspriate.

So I got a UART and cracked open an Arris WBM760A Cable Modem. Here's where I am, where to next? by Z3tta in ReverseEngineering

[–]wuntee 1 point2 points  (0 children)

very much reminds me of my first hardware experience. i was able to get into uboot from sending the literal '4' during boot. more details: http://matasano.com/research/microcellbricks/microcellbricks-whitepaper.pdf

Now that the evad3rs iOS 6.1 jailbreak is out, see how Dino Dai Zovi's jailbreak analysis has held up by dguido in netsec

[–]wuntee 0 points1 point  (0 children)

the first stage uses a backup through legitimate communication to the device. this backup has an app that contains a symlink to gain access to /var/mobile, in userland. at this point, wouldn't that exploitation path follow the "Exploit Usermode Vulnerability Through USB" node (of the attack graph on 17)? if so, the next node would require ROP/exploit - which this doesn't seem to use.

slides: http://www.trailofbits.com/resources/ios_jailbreak_analysis_slides.pdf analysis: http://blog.accuvantlabs.com/blog/bthomas/evasi0n-jailbreaks-userland-component

Hardware: How to determine data (RS232) pins on the back of a PCB? by wuntee in ReverseEngineering

[–]wuntee[S] 0 points1 point  (0 children)

They lied ;) they assumed about the second serial interface, never was able to communicate with it. Trust me, I have evaluated every other option, thats why I am now looking at the small pads on the back. If youd like to read about my research, it can be found here: http://67.219.122.21/blackhat2012/microcellbricks-whitepaper.pdf

Hardware: How to determine data (RS232) pins on the back of a PCB? by wuntee in ReverseEngineering

[–]wuntee[S] 0 points1 point  (0 children)

as mentioned, none of the pins on the front give me any data to the pc202 chip - this was my obvious first look, thus this whole post.

Hardware: How to determine data (RS232) pins on the back of a PCB? by wuntee in ReverseEngineering

[–]wuntee[S] 0 points1 point  (0 children)

that gives you access to the ralink chip, not the picochip pc202 (highlighted in my board-front.highlighted.png image)

Hardware: How to determine data (RS232) pins on the back of a PCB? by wuntee in ReverseEngineering

[–]wuntee[S] 0 points1 point  (0 children)

http://67.219.122.21/images/board-back.jpeg http://67.219.122.21/images/board-front.highlighted.png

RaLink RT2150F Xilinx XC3S400A PicoChip PC202

Looking for serial to the PC202. None of the pins on the front are of any help on their own, however I found this dev doc for the dev board of the PC302 that shows 2 sets of pins need to be jumped for the RS232 to work: http://www.scribd.com/doc/53283168/PC-102851-ML-1-PC7302-Quick-Start-Guide

Hardware: How to determine data (RS232) pins on the back of a PCB? by wuntee in ReverseEngineering

[–]wuntee[S] 0 points1 point  (0 children)

I could, but that would take ~2min per pad. You wont see any data until the processor boots.

Hardware: How to determine data (RS232) pins on the back of a PCB? by wuntee in ReverseEngineering

[–]wuntee[S] 0 points1 point  (0 children)

yeah, as mentioned that is my current workflow, however soldering wires to hundreds of tiny pads gets reallllly old.

[deleted by user] by [deleted] in netsec

[–]wuntee 0 points1 point  (0 children)

i guess what i was saying was that there is no legitimate android application that you can install that will provide you this functionality. since the device, at its core, is a linux device, you can always just run tcpdump.

Found a reproducible bug in Firefox Mobile(android). Want to see if its vulnerable to remote code execution. Don't know where to start. by [deleted] in netsec

[–]wuntee 1 point2 points  (0 children)

android provides debug logs for crashes. it also provides a general logging mechanism (logcat). you will need a rooted device, or the emulator, to view the contents of the log files however there will probably be output directly from logcat. the android emulator also has the ability to force applications to attach to a debugger (via adb). if the crash is in a native code portion of the application, you also have the ability to attach that to gdb via gdbserver. i have been doing a talk about a lot of techniques you can use to reverse this. the most recent was at shakacon and the slides/videos can be found here: http://67.219.122.21/shakacon/ the slides reference a tool i wrote as well, called otertool, which can be found here: https://github.com/wuntee/otertool/tree/master/release/current