summaryrefslogtreecommitdiff
path: root/CCTV-Hacking.mdwn
blob: eb8558c80cbacd4288593afbdac864f828dc6e23 (plain)
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
[[!img BdzMCUkIIAA_te2.jpg- align="right" size="" alt=""]]

##Zusammenfassung

Wir experimentieren gerade im Rahmen eines Kunstprojektes mit Überwachungskameras herum. Das Ziel ist ein Interface für 8 Überwachungskameras zu schreiben, welches die Bilder aller Kameras anzeigt, und mit dem man die Kameras steuern kann.

Da es sich dabei um undokumentierte Hardware handelt, haben wir die Befehle, die die Kamera per Webinterface entgegennimmt mitgelesen.

## Wireshark starten

Die Kamera hat im Auslieferungszustand eine feste statische IP aus 192.168.0.0/24. Wenn die Kamera bootet sendet sie einige IP Pakete, diese kann man z.B. mit Wireshark aufzeichnen um schnell die IP der Kamera herauszufinden.

Damit man jetzt nicht den ganzen Traffic durchwühlen muss, empfiehlt es sich als display Filter 
*http.request.method* zu nehmen. Dann sieht man alle Requests, die in Richtung Kamera vom Webinterface aus gehen.

Anschliessend steuert man die IP der Kamera im Browser an (bei mir 192.168.0.117). Als Login funktioniert hoffentlich die Werkseinstellung (admin/123456).

Nun kann man im Webinterface rumklicken, und sieht in wireshark alle Requests.

## Die Kamera

Es handelt sich bei den benutzten Kameras um die *Conceptronic Wireless Pan & Tilt Network Camera*. Diese gibt es unter vielen anderen Bezeichnungen für wenig Geld im Elektronikladen des Vertrauens.

## Steuerbefehle

One Direction: 
[[!format c """
http://192.168.0.117/decoder_control.cgi?onestep=1&command=X
X = 0 --> down
X = 2 --> up
X = 4 --> clockwise
X = 6 --> counter-clockwise
"""]]

Two Directions: 
[[!format c """
http://192.168.0.117/decoder_control.cgi?command=X
X = 93 --> up AND counter-clockwise
X = 92 --> up AND clockwise
X = 91 --> down AND counter-clockwise
X = 90 --> down AND clockwise
"""]]

after the two directions commands is sent, a second request is sent 500ms later:
[[!format c """
http://192.168.0.117/decoder_control.cgi?command=1
"""]]

Streife:
[[!format c """
Horizontal:     http://192.168.0.117/decoder_control.cgi?command=28
Stop:           http://192.168.0.117/decoder_control.cgi?command=29
Vertikal:       http://192.168.0.117/decoder_control.cgi?command=26
Stop:           http://192.168.0.117/decoder_control.cgi?command=27
"""]]

Bildeinstellungen:
[[!format c """
Reversal:       http://192.168.0.117/camera_control.cgi?param=5&value=1
Non-Reversal:   http://192.168.0.117/camera_control.cgi?param=5&value=2
Mirror:         http://192.168.0.117/camera_control.cgi?param=5&value=3
Non-Mirror:     http://192.168.0.117/camera_control.cgi?param=5&value=0
"""]]

Snapshot:
[[!format c """
http://192.168.0.117/snapshot.cgi
"""]]

Refresh-Button:
[[!format c """
http://192.168.0.117/live.htm
http://192.168.0.117/videostream.cgi?rate=0
"""]]

Mode:
[[!format c """
50Hz:    http://192.168.0.117/camera_control.cgi?param=3&value=0
60Hz:    http://192.168.0.117/camera_control.cgi?param=3&value=1
outdoor: http://192.168.0.117/camera_control.cgi?param=3&value=2
"""]]

Size:
[[!format c """
160x120:        http://192.168.0.117/camera_control.cgi?param=0&value=2
320x240:        http://192.168.0.117/camera_control.cgi?param=0&value=8
640x480:        http://192.168.0.117/camera_control.cgi?param=0&value=32
"""]]

Rate:
[[!format c """
Full Speed:      http://192.168.0.117/videostream.cgi?rate=0
20  fps:         http://192.168.0.117/videostream.cgi?rate=1
15  fps:         http://192.168.0.117/videostream.cgi?rate=3
10  fps:         http://192.168.0.117/videostream.cgi?rate=6
 5  fps:         http://192.168.0.117/videostream.cgi?rate=11
 4  fps:         http://192.168.0.117/videostream.cgi?rate=12
 3  fps:         http://192.168.0.117/videostream.cgi?rate=13
 2  fps:         http://192.168.0.117/videostream.cgi?rate=14
 1  fps:         http://192.168.0.117/videostream.cgi?rate=15
.5  fps:         http://192.168.0.117/videostream.cgi?rate=17
.33 fps:         http://192.168.0.117/videostream.cgi?rate=19
.25 fps:         http://192.168.0.117/videostream.cgi?rate=21
.2  fps:         http://192.168.0.117/videostream.cgi?rate=23
"""]]


Brightness:
[[!format c """
http://192.168.0.117/camera_control.cgi?param=1&value=X
X = 0, 16, 32, 48, 64, 80, 96, 112, 128, 144, 160, 176, 192, 208, 224, 240
"""]]

Contrast:
[[!format c """
http://192.168.0.117/camera_control.cgi?param=2&value=X
X = 0, 1, 2, 3, 4, 5, 6
"""]]