Acties:
  • 0 Henk 'm!

  • -Elmer-
  • Registratie: Augustus 2002
  • Laatst online: 24-07 22:25
In korte tijd heb ik een aantal vorige-generatie SonicWall's verzameld omdat er de afgelopen maanden veel wordt geupgrade naar next-gen units. De SonicWalls zijn allemaal disabled door Dell waardoor ze eigenlijk niet echt nuttig meer zijn: de meeste beveiligingsfuncties werken niet meer en alle licenties zijn gemigreerd naar de nieuwe units.

Kortom, een mooi moment om de SonicWalls eens goed aan de tand te voelen en te onderzoeken of het mogelijk is een ander OS te installeren. Tot nu toe heb ik echter nog verdomd weinig succes met de Sonicwall TZ210 waar ik momenteel mee aan het stoeien ben dus daarom hierbij de vraag aan jullie: wie vindt het een leuk project en wil met van me van gedachten wisselen hoe deze devices zover te krijgen dat ze doen wat ik wil :-)

Om een beetje een idee te krijgen van de SonicWall TZ210:Verder hou ik mijn vorderingen en links bij op mijn persoonlijke site: https://itandthebiomedicus.com/?p=125 maar veel zinnigs staat daar nog niet.

De SonicWall CLI is niet heel behulpzaam en geeft werkelijk niets prijs over een achterliggend bestandssysteem dan wel distro. Met Binwalk heb ik getracht de firmware uit elkaar te trekken om te kijken of ik daar wat meer info uit kan halen maar ondanks dat Binwalk eigenlijk altijd heel goed werkt kan het helemaal NIETS met een Sonicwall firmware.

Nu zit er verder nog een leuke header op de PCB van de SonicWall maar Google levert helemaal NIETS op wat voor header het is en wat ik ermee kan. Iemand een idee?

Afbeeldingslocatie: https://lh6.googleusercontent.com/-89I5AjbNENg/T7J7T8QUNxI/AAAAAAAAQLU/jhDkJ_uukEs/s640/DSCN3244.JPG

Al met al zit ik een beetje vast en alle hulp is meer dan welkom :)

Oh, mocht het lukken, dan zijn we waarschijnlijk de eerste in de wereld die een SonicWall weten te hacken dus dat is een leuke bijkomstigheid :)

Update:
Voor de degenen die we opvatten als uitsluitend-Tweakers: vanwege de beperkte hoeveelheid beschikbare info heb ik ook op hardforum een soortgelijk bericht geplaats om ervoor te zorgen dat we onze krachten kunnen bundelen en met we bedoel ik dus iedereen die me helpt - onafhankelijk van je herkomst.

p.s. als het moet vraag ik bij Sonicwall de GPL Open Source code op maar dat kost wel weer $25 en ik weet niet hoeveel ik daar mee opschiet.

[ Voor 7% gewijzigd door -Elmer- op 25-03-2014 23:23 ]


Acties:
  • 0 Henk 'm!

  • tim427
  • Registratie: September 2006
  • Laatst online: 31-07 18:00

tim427

Turbulence!

Heeft dat apparaat een CLI (SSH, Telnet)? En wat voor user rechten heb je (root)?

Acties:
  • 0 Henk 'm!

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 05-09 17:21

deadinspace

The what goes where now?

Oh, da's wel leuk :)

Ik heb niet gek veel ervaring met zulk soort dingen, maar de kans is groot dat ergens nog een seriele header op de printplaat zit waar je een en ander (wat?) mee kunt. Heb je misschien een betere foto? Ook van die 20-pins header?

Verder: hoe kom je aan die firmware? Hoe upgrade je normaalgesproken de firmware van die dingen?

Acties:
  • 0 Henk 'm!

  • -Elmer-
  • Registratie: Augustus 2002
  • Laatst online: 24-07 22:25
CLI heb je geen hout aan, nul rechten. Geen idee wat voor shell het is maar je kunt er niks mee. Maar ik heb heb wel iets veel leukers: boot logs uit de serials port getrokken en behoorlijk wat informatie verkregen waarmee ik veel hoop krijg.
  • Appararaat heeft inderdaad een CN5010 processor
  • Start op met de U-Boot bootloader Wind River (en wordt dus wss met Wind JTAG debugger geprogrammeerd)
  • Draait VxWorks van
  • Images zitten verpakt in ELF file
  • Eerst wordt safemode firmware geladen en als diagnostics-button niet wordt ingedrukt wordt volledige firmware geladen
Op basis van de logs een beetje gaan Googlen naar vergelijkbare apparaten met dezelfde CPU:
- De Cisco RV042 v3, RV082 v3 en RV016 v3,
- DeNetgear Prosafe SRX4308 en Netgear ProSecure UTM10
- Zyxel USG20
- En last but not last in de CAM0100 OEM/Dev unit van Portwell.

Van die CAM0100 is een redelijke handleiding te vinden, safeboot firmware's een een uitgebreide handleiding hoe de bootloader naar je hand te zetten. Jammer is alleen dat dat apparaat een CF-kaart heeft en de TZ210 niet.

@deadinspace
Heb mijn eigen unit nog niet opgeschroeft, ga ik vrijdag doen en zal dan ook uitgebreid verslag doen over alle chips aan boord. Firmware komt gewoon van SonicWall, updaten doe je via browser (evt in safemode in geval van nood maar dan nog steeds via de browser). Die 20 (wat stieken eigenlijk 32 is :p) heb ik nog niet helemaal uitgeplozen maar is naar mijn idee in ieder geval deels een JTAG header. Als ik kijk naar de PCB's van de andere prints hebben die allemaal twee headers maar het aantal pins tezamen is wel 32. Denk dat de TZ210 header dus is samengesteld uit twee headers die bij de andere units zijn gescheiden. De CAM0100 geeft een prachtig overzicht over die header.

Normale boot:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
U-boot 5.0.2.11 (Production build) (Build time: Oct 17 2008 - 13:26:22)OCTEON SNWL_CHESTNUT-1 CN5010-SCP pass 1.1, Core clock: 500 MHz, DDR clock: 266 MHz (532 Mhz data rate)
DRAM: 256 MB
Flash: 32 MB ( Bank 0: 16 MB Bank 1: 16 MB )
.Uncompressed 0x181d88 bytes
ELF file is 32 bit
Allocating memory for ELF: Base addr, 0×2000000, size: 0xe000000
Loading .text @ 0×82008000 (1389536 bytes)
Loading .data @ 0x8215c000 (178688 bytes)
Loading .cvmx_shared @ 0x82187a00 (416 bytes)
Clearing .bss @ 0x82187c00 (1194416 bytes)
## Loading ELF image with entry point: 0×82008000 …
Bootloader: Done loading app on coremask: 0×1
Loading system information…
Reading system info from flash…
Host Name: bootHost
Target Name: vxTarget
User: target
Attaching interface lo0… done
Loading firmware…
Booting…
ELF file is 32 bit
Re-using existing memory for ELF: Base addr, 0×2000000, size: 0xe000000
Loading .text @ 0×82008000 (21995184 bytes)
Loading .data @ 0×83502000 (2093264 bytes)
Loading .cvmx_shared @ 0x837010d0 (425 bytes)
Clearing .bss @ 0×83701280 (17456848 bytes)
## Loading ELF image with entry point: 0×82008000 …
Bootloader: Done loading app on coremask: 0×1
USB2 Host Stack Initialized.
USB Hub Driver Initialized
USBD Wind River Systems, Inc. 562 Initialized
Host Name: bootHost
Target Name: vxTarget
User: target
Starting SonicSetup Watchdog
Starting real-time clock
Initializing clock
Tuning clock and timezone
Initializing Memory Zones
Initializing Buffer Zones
Initializing Common Zones
Initializing Semaphores
Initializing System Monitor
Initializing trace call history
Initializing Flash
Adjusting SonicSetup Watchdog if necessary for large prefs
Initialize FDR log
Initializing Ramdisk
Installing date/time hook
Creating File System
filesystem
Initializing CFS
Constructing HTTPS Server dependencies
Setting NTP parameters
Enabling ARP table support
Enabling STATIC NDP table support
Creating interface names and default itids
Initializing core IP packet handler
Initializing memory buffer driver
Initializing Branding
Initializing parameters table
Interfaces Group init-stage 1
Starting Routing engine
Initializing action table search tree
Allocating IPsec SA space
Starting Global Bandwidth Management
Initializing Policy lookup table
Initializing NAT Policy structure
Building DHCP Network Objects
Starting network monitor module
Starting the NAT module
Starting common gateway interface handler
Starting the system timer
Initializing IPNET Glue
Initializing core IPv6 stack
Starting random number generator
Initalizing IPsec handle
Allocating DHCP server lease ranges
Initializing Memory for Application Firewall Config Objects
Building IPS Config Objects
Building AppControl Config Objects
Building AntiSpyware Config Objects
Initializing multiple interfaces handler
Initializing MAC-IP Anti-Spoofing
Initializing flow reporting
Initializing Ip Helper
Starting capture Buffer
Initializing interface packet queue scheme
Initializing QoS Mapping module
Initializing Bandwidth Management Engine
Starting dynamic routing
Initializing Support Services
Initializing backend dynamic update support
Initializing users
Pre-Initializing LDAP client
Pre-initializing Terminal Services support for SSO
1st zebos init
Set default packet capture settings
Initializing Memory for CFS
Initializing WMM
Initializing IPv6 config
Starting firewall logger
********************************************************************************
Validating FLASH parameters
********************************************************************************
Initializing preference export memory buffer devices
Starting appflow report
Starting capture Buffer during startup
Starting IPH compatibility flags
Initializing proper connection count
Adjust memory partitions
Starting synflood protection
Starting Generic Flood Protection
Complete Network Object initialization
Generate Default Bandwidth Object
Setting Time Zone and updating Daylight savings time
Initializing ARP table
Reading Network Interface configurations
Updating global BWM data
Listen to BSP Interface State events
Reading ifConfigs
Initialize ACTIVE WAN
Starting Stateful Packet Inspection engine
Determining High Availability state
Initializing Ethernet links
Initializing Switch Ports
Generating system ARP
Generating dynamic Address Objects
2nd zebos init
Build routing table
Initializing IP Helper
Starting capture Buffer during startup
Initializing SQLite
Starting SwFlow during startup
Starting GeoIP
Initial GUI Interface Statistics Counters
Initializing DNS Rebind Detection
Building NAT tables
Generating gratuitous ARP for NAT
Generating gratuitous ARP for Transparent Mode IPs
Starting registration services
Starting DNS client
Starting DNS client
Initializing syslog client
Starting DNS request task
Starting DAO manager
Log initializations dependent on preferences
Starting RBL driver
Starting licensing services
Initializing connection cache
Activating Ethernet hooks
Initializing HTTP Server
Starting user authentication routines
Starting Zone Policy manager
Initializing Viewpoint reporting
Starting DHCP client
Initializing PPP timers
Initializing L2TP client system
Initializing L2TP Server
Initializing PPTP system
Initializing Acceptable Use Policies
Starting NTP client
Starting IP fragmentation/reassembly handlers
Starting IPsec engine
Initializing HTTPS Server
Initializing web proxy support
Initializing diagnostic admin tools
Reading Qos Conversion Configuration
Starting Endpoint Anomoly detection and Reporting (EAR)
Starting H323 handlers
Starting SIP handlers
Initializing RADIUS client
Initializing LDAP client
Initializing SSO Authentication
Initializing Terminal Services support for SSO
Initializing PPPoE support
Preparing auto-configurator
Starting DHCP server
Initializing DHCP relay over VPN
Starting IGMP Mcast
Initializing Deep Packet Inspection framework
Initializing Content Filtering Services
Initializing Distributed Enforcement Architecture
Building CFS rating database
Set CFS version
Starting Auto-Update timers
SNMP Initialization
Verifying management policy rules
Initializing High Availability routines
Initializing SSL Control Service
Starting Auto-Update timers
Complete One Touch Overrides
Starting hardware watchdog
Firmware Version: SonicOS Enhanced 5.9.0.3-117o
Directory: /depot-14739-51/Octeon/5.9.0/m2/target/oct_mips64/sw_octeon210-sc-base
Initializing FIPS mode
Starting FIPS 186-2 random number generator
Running FIPS mode self-tests
DRNG test passed
RSA test passed
RSA KAT test passed
DSA test passed
DES and 3DES test passed
AES test passed
SHA-1 test passed
HMAC-SHA-1 test passed
DH group 2 test passed
DH group 5 test passed
All cryptographic self-tests succeeded
Initializing NDPP mode
WAN Load Balancing module started
Update Interfaces Groups from prefs
Initializing for TSR generation
Initializing SDP and SSPP (discovery and provision protocol)
Initializing Wireless Zone Module
Initializing Guest Services
Starting Bandwidth Optimization engine
Initializing Flash Dynamic Update
Verifying transaction groups
03/25 11:38:54.064: NOTICE: flashStartup:2108: Transaction Groups are not in sync!
Protecting prefs
Initializing SSLVPN Server
Start processing Interface State Changes
Initializing Reboot Notifier
Check for Diag Restart Requests
Check for Periodic Gratuitous ARP Requests
Checking for Enhanced Upgrade
Initializing ARS
Initializing VPN route monitor
Initializing SSH Service
Initializing CLI interface
Log Firewall activated
Remote Backup Initialization
If configured, send SNMP Cold Start Trap
Starting Hot Swap Controllers
If configured, send IPsec Trap for Manual SAs
Start Ipv6 engine
Starting Anti-Spam Service
Starting Subsystem Detection
Starting License Manager Client
Initializing IPv6 Interface
Initializing PPPHDLC support
Initializing network proxy servers
Added 1539 oui to vendor mappings
Initializing DHCPv6 server
Initializing Router Advertisement Daemon
Initializing DHCPv6 Client
Initializing Multicast Proxy
Upgrade traditional BWM preference
Add an entry to the firmware history

Product Model: TZ 210
Product Code: 6831
Firmware Version: SonicOS Enhanced 5.9.0.3-117o
Serial Number: xxxxxxxxx
X0 IP Addresses: 192.168.25.1

*** Startup time: 03/25/2014 11:39:04.784 ***

Copyright (c) 2012 Dell | SonicWALL, Inc.

User:


Safeboot
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
U-boot 5.0.2.11 (Production build) (Build time: Oct 17 2008 – 13:26:22)

OCTEON SNWL_CHESTNUT-1 CN5010-SCP pass 1.1, Core clock: 500 MHz, DDR clock: 266 MHz (532 Mhz data rate)
DRAM: 256 MB
Flash: 32 MB ( Bank 0: 16 MB Bank 1: 16 MB )
.

Uncompressed 0x181d88 bytes
ELF file is 32 bit
Allocating memory for ELF: Base addr, 0×2000000, size: 0xe000000
Loading .text @ 0×82008000 (1389536 bytes)
Loading .data @ 0x8215c000 (178688 bytes)
Loading .cvmx_shared @ 0x82187a00 (416 bytes)
Clearing .bss @ 0x82187c00 (1194416 bytes)
## Loading ELF image with entry point: 0×82008000 …
Bootloader: Done loading app on coremask: 0×1
Loading system information…
Reading system info from flash…
Host Name: bootHost
Target Name: vxTarget
User: target
Attaching interface lo0… done
Entering Safemode…
Starting SafeMode WebServer on 192.168.168.168
Also Starting SafeMode WebServer on 192.168.25.1

Your SonicWALL is now running in SafeMode 5.0.1.13.
Connect to the SafeMode WebServer on 192.168.168.168

-Upload and download firmware images and system settings.
-Boot to your choice of firmware and settings.
-Manage system backups.
-Easily return your SonicWALL to a previous system state.

[ Voor 5% gewijzigd door -Elmer- op 25-03-2014 22:38 ]


Acties:
  • 0 Henk 'm!

  • Fish
  • Registratie: Juli 2002
  • Niet online

Fish

How much is the fish

Weet je wat ik wel een beetje jammer vind, is dat je een beetje achterbaks omgaat met "dan zijn wij de eerste die hem hacken"
Oh, mocht het lukken, dan zijn we waarschijnlijk de eerste in de wereld die een SonicWall weten te hacken dus dat is een leuke bijkomstigheid :)
je zegt namelijk hier exact hetzelfde
Although it probably won't be very easy, we'll probably be the first ones hacking into a SonicWall 5th. unit so it's defininately worth it :-))
Ik krijg altijd jeuk van dat soort dingen

Iperf


Acties:
  • 0 Henk 'm!

  • -Elmer-
  • Registratie: Augustus 2002
  • Laatst online: 24-07 22:25
@Fish
Ik begrijp je niet goed moraalridder. Je kunt toch prima samenwerken tussen Tweakers.net en hardforum, leren van elkaar en zodoende meer bereiken dan in je eentje? We kan toch prima slaan op iedereen die me helpt bij dit project? Of ze nu Tweaker of Hardforumers (of beter gezegd HardOCPer zijn) zijn maakt toch niks uit? Dan heb je toch als groep Tweakers- en HardOCPers samen dit als eerste mogelijk gemaakt? Omdat ik je niet graag het gevoel geef oneerlijk te bejegenen heb ik de FP iets aangepast :)

[ Voor 67% gewijzigd door -Elmer- op 25-03-2014 23:23 ]


Acties:
  • 0 Henk 'm!

  • tim427
  • Registratie: September 2006
  • Laatst online: 31-07 18:00

tim427

Turbulence!

Als je de pinout hebt en er blijkt inderdaad een volledige JTAG-header in te zitten, kan het wel interessant worden!

Acties:
  • 0 Henk 'm!

  • -Elmer-
  • Registratie: Augustus 2002
  • Laatst online: 24-07 22:25
De pinout van de 32-pins header heb ik helaas nog niet kunnen vinden maar wel van een zeer sterk vergelijkbare PCB. Het is niet dezelfde maar met een beetje puzzelen is er wel het een en ander uit af te leiden

SonicWall_TZ210_PCB

Portwell CAM-0100 PCB
http://drivers.portwell.com/CA_Driver/CAM-100/CAM-0100%20Series%20User%20Manual%20v1.0.PW.pdf
(zie PDF voor een omschrijving van de jumpers/headers

CAM-0100-location-of-jumpers

Volgens mij komende de volgende headers overeen:
SonicWall-->CAM-0100
JP1-->JP4 (CF BOOT JUMPER)
J15 (en/of J13)-->J12 (FAN HEADER)
J14-->J13 (5V+12V OUT maar betwijfel of deze wel overeenkomen, makkelijk te testen gelukkig)
J3-->J6 (COM2)

Maar daarmee blijven er nog een paar over |:(

Detail foto's hier: https://itandthebiomedicus.com/?p=125

[ Voor 4% gewijzigd door -Elmer- op 31-03-2014 17:42 ]

Pagina: 1