hacktricks/network-services-pentesting/554-8554-pentesting-rtsp.md
2024-02-11 02:13:58 +00:00

6.5 KiB

554,8554 - Pentesting RTSP

Jifunze kuhusu kudukua AWS kutoka mwanzo hadi kuwa bingwa na htARTE (HackTricks AWS Red Team Expert)!

Njia nyingine za kusaidia HackTricks:

Taarifa Msingi

Kutoka wikipedia:

Itifaki ya Utoaji wa Muda Halisi (RTSP) ni itifaki ya kudhibiti mtandao iliyoundwa kwa matumizi katika mifumo ya burudani na mawasiliano ili kudhibiti seva za media za utiririshaji. Itifaki hutumiwa kuanzisha na kudhibiti vikao vya media kati ya hatua za mwisho. Wateja wa seva za media hutuma amri kama vile kucheza, kurekodi na kusitisha, kusaidia udhibiti wa wakati halisi wa utiririshaji wa media kutoka kwa seva kwenda kwa mteja (Video On Demand) au kutoka kwa mteja kwenda kwa seva (Kurekodi Sauti).

Uhamishaji wa data ya utiririshaji yenyewe sio jukumu la RTSP. Seva nyingi za RTSP hutumia Itifaki ya Uhamishaji wa Muda Halisi (RTP) pamoja na Itifaki ya Kudhibiti ya Muda Halisi (RTCP) kwa utoaji wa mtiririko wa media. Walakini, baadhi ya wauzaji hutumia itifaki za uhamishaji za kipekee. Kwa mfano, programu ya seva ya RTSP kutoka RealNetworks pia ilikuwa inatumia Usafirishaji wa Takwimu wa Halisi wa RealNetworks (RDT) ya kipekee.

Bandari za chaguo-msingi: 554,8554

PORT    STATE SERVICE
554/tcp open  rtsp

Maelezo Muhimu

RTSP ni sawa na HTTP lakini imeundwa mahsusi kwa ajili ya utiririshaji wa media. Inaelezwa katika maelezo rahisi ambayo yanaweza kupatikana hapa:

RTSP - RFC2326

Vifaa vinaweza kuruhusu ufikiaji bila kuthibitishwa au kuthibitishwa. Ili kuchunguza hili, ombi la "DESCRIBE" linatumwa. Mfano wa msingi unaonyeshwa hapa chini:

DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2\r\n

Kumbuka, muundo sahihi unajumuisha mara mbili "\r\n" kwa jibu thabiti. Jibu la "200 OK" linaashiria ufikiaji bila kuthibitishwa, wakati "401 Unauthorized" inaashiria hitaji la kuthibitishwa, ikifichua ikiwa inahitajika uthibitishaji wa Msingi au uthibitishaji wa Digest.

Kwa uthibitishaji wa Msingi, unakodisha jina la mtumiaji na nenosiri kwa base64 na kuongeza katika ombi kama ifuatavyo:

DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2\r\nAuthorization: Basic YWRtaW46MTIzNA==\r\n

Mfano huu unatumia "admin" na "1234" kama sifa. Hapa kuna skrini ya Python ya kutuma ombi kama hilo:

import socket
req = "DESCRIBE rtsp://<ip>:<port> RTSP/1.0\r\nCSeq: 2\r\nAuthorization: Basic YWRtaW46MTIzNA==\r\n\r\n"
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("192.168.1.1", 554))
s.sendall(req)
data = s.recv(1024)
print(data)

Uthibitishaji wa msingi ni rahisi na unapendelewa. Uthibitishaji wa kumeng'enya unahitaji kushughulikia kwa uangalifu maelezo ya uthibitishaji yaliyotolewa katika jibu la "401 Unauthorized".

Muhtasari huu unafanya mchakato wa kupata mito ya RTSP kuwa rahisi, ukilenga uthibitishaji wa msingi kwa sababu ya urahisi wake na umuhimu wake katika jaribio la kwanza.

Uchunguzi

Tupate habari kuhusu njia na URL halali zinazoungwa mkono na jaribu kuvunja ufikiaji (ikiwa inahitajika) ili kupata ufikiaji wa yaliyomo.

nmap -sV --script "rtsp-*" -p <PORT> <IP>

Brute Force

Programu nyingine muhimu

Kwa kufanya nguvu ya brute: https://github.com/Tek-Security-Group/rtsp_authgrinder

Cameradar

  • Tafuta watumiaji wazi wa RTSP kwenye lengo lolote linalopatikana
  • Pata habari zao za umma (jina la mwenyeji, bandari, mfano wa kamera, nk)
  • Anzisha mashambulizi ya orodha ya maneno kiotomatiki ili kupata njia yao ya mkondo (kwa mfano /live.sdp)
  • Anzisha mashambulizi ya orodha ya maneno kiotomatiki ili kupata jina la mtumiaji na nenosiri la kamera
  • Unda picha ndogo kutoka kwao ili kuhakiki ikiwa mkondo ni sahihi na kuwa na muhtasari wa haraka wa maudhui yao
  • Jaribu kuunda mstari wa Gstreamer ili kuhakiki ikiwa wamekodishwa vizuri
  • Chapisha muhtasari wa habari zote ambazo Cameradar inaweza kupata

Marejeo

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!

Njia nyingine za kusaidia HackTricks: