Difference between pages "Internet & Network Access" and "Tutorials/Reverse engineering embedded software using Radare2"

From LCA2015 Delegate wiki
(Difference between pages)
Jump to: navigation, search
m (Help with Wireless Configuration: new section)
 
 
Line 1: Line 1:
<strong>Internet Access</strong>
+
This page describes preparation for [http://linux.conf.au/schedule/30102/view_talk?day=thursday Reverse engineering embedded software using Radare2]
  
==At the Conference Venue==  
+
== Outline ==
Throughout the University of Auckland, an additional SSID has been added to the standing Wifi service offered over University of Auckland fixed infrastructure.
+
  
The University Wifi provides excellent coverage across most of their campus, including the Owen G Glenn Building (LCA Primary Venue) and the NICAI Workshop facility (Hardware and Radio Miniconf Venue) - as well as several of their accomodation areas, and some outdoors coverage. Refer to their [http://www.library.auckland.ac.nz/services/it-essentials/internet-and-wireless/wireless-access#coverage Coverage Maps].
+
We will try and get through all the following:
  
The Wireless network will give delegates an RFC1918 IP address (most likely 172.x) and provide unfiltered Internet access via NAT (IPv4 Only).
+
* Introduction to Radare2 reverse engineering tool
 +
* The Radare2 utilities
 +
* Basics of using the Radare to examine a binary you probably have on your laptop
 +
* Looking at an arduino binary
 +
* Introduction to MIPS architecture and disassembly
 +
* Extracting firmware images
  
* Wireless SSID: <strong>LCA2015</strong>
+
You might like to bring your own binary to play with as well instead!
* Protocol: 802.11a/b/g/n 2.4GHz and 5GHz.  802.11n 5GHz recommended.
+
* Security: WPA2-Enterprise with <strong>PEAP</strong>; AES Encryption.
+
* Credentials: <i>To be advised directly to attendees.</i>
+
  
 +
==Important - please make an rc file ==
  
If you want to pre-load the CA for the WiFi you need the QuoVadis Root CA2 root ca from
+
Radare2 was created by other, many people. Radare2 will by default print fortune cookies. Please, turn this feature off, by making the following file, in case there is a possibility of NSFW output.
- https://www.quovadisglobal.ch/Repository/DownloadRootsAndCRL.aspx?sc_lang=en-GB
+
  
=== Help with Wireless Configuration ===
+
Instructions for Linux/Unix systems:
As some delegates (and speakers) may not be familiar with setting up their WiFi using WPA/WPA2 Enterprise and PEAP (rather than the more common WPA/WPA Personal), here are some tutorials, provided by the University of Auckland. Remember, the credentials you provide will be different than those shown in the tutorials, but the basic principles are the same.
+
* [https://www.sit.auckland.ac.nz/Wireless/UoA-WiFi/Android Android]
+
* [https://www.sit.auckland.ac.nz/Wireless/UoA-WiFi/MacOSX MacOSX]
+
* [https://www.sit.auckland.ac.nz/Wireless/UoA-WiFi/Machine_Level_Authentication Machine Level Authentication]
+
* [https://www.sit.auckland.ac.nz/Wireless/UoA-WiFi/Ubuntu Ubuntu]
+
* [https://www.sit.auckland.ac.nz/Wireless/UoA-WiFi/Windows_7 Windows 7]
+
* [https://www.sit.auckland.ac.nz/Wireless/UoA-WiFi/iPhone iPhone]
+
  
=== Wired Internet Access ===
+
    echo 'e cfg.fortunes=false' > ~/.radare2rc
A (very limited) amount of wired Internet access will be available in the Owen G Glenn Building. In particular, the Internet will be provided for Speakers via an Ethernet connection available at the lecturn (offered for performance/stability reasons while a speaker is giving a presentation).  Those using the wired Internet access need to be aware that your device will be issued a real-world public IPv4 address via DHCP, and will <strong>not</strong> be protected by either NAT or firewall rules. Please ensure your machine is suitably hardened for use on an unprotected Internet connection.
+
  
=== A note about bandwidth ===
+
== Prerequisites ==
The University of Auckland has multi-homed gigabit connectivity with ample transit available, however conference attendees are asked not to make excessive use of this.  The network is well monitored and malicious traffic patterns will be reported.
+
  
==University Accommodation==
+
If during the tutorial you are planning to follow the examples and/or try your own ideas, you really want to get this sorted before the event.
  
<strong>Carlaw Park</strong>
+
Minimum requirements:
 +
* a C compiler and libraries needed to build radare2 - the "apt-gettable" version is out of date
 +
* xdot for viewing callgraphs
 +
* binwalk and srecord for firmware hacking
  
Wireless access is provided with the same parameters as above.
+
Various other tools may be helpful, and indeed needed (e.g. an editor) to complete some of the examples
  
<strong>University Hall</strong>
+
If you are using a Debian-derived distro, for example:
  
Wireless access is provided with the same parameters as above.
+
    sudo apt-get install build-essential git xdot eog ghex binwalk vim gedit srecord
  
There is also a wired network connected to the University ResNet; this ordinarily requires a University ID to connect to the Internet, but authentication requirements are disabled during the holiday period.  However we have heard mixed stories about whether the wired network will work reliably (or at all).
+
It should be possible to build radare2 on Linux, FreeBSD/NetBSD etc, Max OS/X and Windows and possibly on Android if you try hard enough (using a Debian root, for example)
  
==Other Accommodation==
+
However, the tutorial examples have only been tested using Debian Wheezy.
  
For Internet access information in other accommodation not provided by LCA, please contact the accommodation provider.  Many hotels will offer wifi internet, but prices may vary. You will likely find getting a local 4G data plan faster and more reliable. See [[Phone and mobile data]].
+
=== Clone & build radare2 ===
  
== Auckland Free Wifi ==
+
Note, changing to the lca2015_tutorial branch is important, because the software is under active development there could be breakage in master upstream
* [http://www.aucklandcouncil.govt.nz/EN/parksfacilities/wifi/Pages/home.aspx Auckland City Free wifi service]. The service is free to all users for 30 minutes per day, per device.
+
 
* [http://www.aucklandlibraries.govt.nz/EN/services/computerservices/wifi/Pages/wifi.aspx Auckland City libraries free wifi]
+
    git clone http://github.com/pastcompute/radare2
* [https://at.govt.nz/bus-train-ferry/at-hop-card/at-hop-wifi/ Free wifi at Auckland's train stations, selection bus stations and ferry terminals.]
+
    cd radare2
** Page above has details including where and how to get free wifi.
+
    git checkout tutorial_branch
** Wifi with registered AT HOP card
+
    ./configure
** If you don't have AT HOP card, you will be able to connect to the free wifi service for 10 minutes a day
+
    make -j
* MacDonald's have free wifi. [https://mcdonalds.co.nz/find-us/restaurants McDonald's Restaurant locator page] allows you to find stores with wifi. Their [https://mcdonalds.co.nz/news/free-wifi free wifi page] links to FAQ (that is in pdf)
+
    sudo make symstall
* Skycity Metro Entertainment Centre.
+
 
** Address: 291-297 Queen St, Auckland CBD. [https://plus.google.com/115646804814467314580/about?hl=en&gl=nz Google+ page]
+
Note, you can install as a normal user if you need to:
* Remedy Cafe, 1 Wellesley St W, Auckland CBD. Opposite Civic. [https://plus.google.com/108654147062667531846/about?gl=nz&hl=en google+], [https://www.facebook.com/pages/Remedy-Coffee/134703853265719 Facebook]
+
 
* [http://www.aucklandlive.co.nz/box.aspx Box Cafe at Aotea Centre]. Overlooks Aotea Square.
+
    ./configure --prefix=$HOME/path/to/wherever
* Elliot Stables has free wifi
+
    make -j
* Gather and Hunt's [http://gatherandhunt.co.nz/Stories/best-caf%C3%A9s-office best cafés to office in] lists 7 cafes with free wifi.
+
    sudo make symstall
* Cafes with free wifi: [http://www.yelp.co.nz/search?find_desc=coffee+shops+free+wifi&find_loc=Auckland#l=p:NZ-AUK:Auckland::Auckland_CBD Yelp list]
+
    export PATH=$HOME/path/to/wherever:$PATH
* FourSquare list of [https://foursquare.com/parag/list/cafes-with-wifi-access-in-auckland cafes with WiFi access in Auckland]
+
 
 +
Clone the examples repository, ready for use during the tutorial
 +
 
 +
    cd
 +
    git clone http://github.com/pastcompute/lca2015-radare2-tutorial
 +
 
 +
I have already added prebuilt examples to git but there are instructions for building them in git, you will need the arduino IDE or an openwrt buildroot.
 +
 
 +
==Troubleshooting==
 +
 
 +
The tutorial is not until Thursday afternoon. If you need help with the above ping me on Twitter, preferably before the day! [https://twitter.com/pastcompute @pastcompute]

Revision as of 22:35, 10 January 2015

This page describes preparation for Reverse engineering embedded software using Radare2

Outline

We will try and get through all the following:

  • Introduction to Radare2 reverse engineering tool
  • The Radare2 utilities
  • Basics of using the Radare to examine a binary you probably have on your laptop
  • Looking at an arduino binary
  • Introduction to MIPS architecture and disassembly
  • Extracting firmware images

You might like to bring your own binary to play with as well instead!

Important - please make an rc file

Radare2 was created by other, many people. Radare2 will by default print fortune cookies. Please, turn this feature off, by making the following file, in case there is a possibility of NSFW output.

Instructions for Linux/Unix systems:

   echo 'e cfg.fortunes=false' > ~/.radare2rc

Prerequisites

If during the tutorial you are planning to follow the examples and/or try your own ideas, you really want to get this sorted before the event.

Minimum requirements:

  • a C compiler and libraries needed to build radare2 - the "apt-gettable" version is out of date
  • xdot for viewing callgraphs
  • binwalk and srecord for firmware hacking

Various other tools may be helpful, and indeed needed (e.g. an editor) to complete some of the examples

If you are using a Debian-derived distro, for example:

   sudo apt-get install build-essential git xdot eog ghex binwalk vim gedit srecord

It should be possible to build radare2 on Linux, FreeBSD/NetBSD etc, Max OS/X and Windows and possibly on Android if you try hard enough (using a Debian root, for example)

However, the tutorial examples have only been tested using Debian Wheezy.

Clone & build radare2

Note, changing to the lca2015_tutorial branch is important, because the software is under active development there could be breakage in master upstream

   git clone http://github.com/pastcompute/radare2
   cd radare2
   git checkout tutorial_branch
   ./configure
   make -j
   sudo make symstall

Note, you can install as a normal user if you need to:

   ./configure --prefix=$HOME/path/to/wherever
   make -j
   sudo make symstall
   export PATH=$HOME/path/to/wherever:$PATH

Clone the examples repository, ready for use during the tutorial

   cd
   git clone http://github.com/pastcompute/lca2015-radare2-tutorial

I have already added prebuilt examples to git but there are instructions for building them in git, you will need the arduino IDE or an openwrt buildroot.

Troubleshooting

The tutorial is not until Thursday afternoon. If you need help with the above ping me on Twitter, preferably before the day! @pastcompute