139,445 - Pentesting SMB
Port 139
Die Network Basic Input Output System** (NetBIOS)** is 'n sagtewareprotokol wat ontwerp is om toepassings, rekenaars en werkstasies binne 'n plaaslike area netwerk (LAN) in staat te stel om met netwerkhardeware te kommunikeer en die oordrag van data oor die netwerk te fasiliteer. Die identifikasie en ligging van sagtewaretoepassings wat op 'n NetBIOS-netwerk werk, word bereik deur hul NetBIOS-names, wat tot 16 karakters lank kan wees en dikwels verskillend is van die rekenaarnaam. 'n NetBIOS-sessie tussen twee toepassings word geaktiveer wanneer een toepassing (wat as die kliënt optree) 'n opdrag gee om "te bel" na 'n ander toepassing (wat as die bediener optree) deur gebruik te maak van TCP Port 139.
Port 445
Tegniek is Port 139 bekend as ‘NBT oor IP’, terwyl Port 445 geïdentifiseer word as ‘SMB oor IP’. Die akroniem SMB staan vir ‘Server Message Blocks’, wat ook modern bekend staan as die Common Internet File System (CIFS). As 'n toepassingslaagnetwerkprotokol, word SMB/CIFS hoofsaaklik gebruik om gedeelde toegang tot lêers, drukkers, seriële poorte te fasiliteer, en verskeie vorme van kommunikasie tussen knope op 'n netwerk te ondersteun.
Byvoorbeeld, in die konteks van Windows, word dit beklemtoon dat SMB direk oor TCP/IP kan werk, wat die noodsaaklikheid vir NetBIOS oor TCP/IP uitskakel, deur die gebruik van port 445. Aan die ander kant, op verskillende stelsels, word die gebruik van port 139 waargeneem, wat aandui dat SMB saam met NetBIOS oor TCP/IP uitgevoer word.
SMB
Die Server Message Block (SMB) protokol, wat in 'n klient-bediener model werk, is ontwerp om toegang tot lêers, gidse, en ander netwerkbronne soos drukkers en routers te reguleer. Primêr gebruik binne die Windows bedryfstelselreeks, verseker SMB terugwaartse kompatibiliteit, wat toestelle met nuwer weergawes van Microsoft se bedryfstelsel in staat stel om naatloos met dié wat ouer weergawes draai, te kommunikeer. Boonop bied die Samba projek 'n gratis sagtewareoplossing, wat SMB se implementering op Linux en Unix stelsels moontlik maak, en sodoende kruisplatformkommunikasie deur SMB fasiliteer.
Aandeel, wat arbitraire dele van die plaaslike lêerstelsel verteenwoordig, kan deur 'n SMB-bediener verskaf word, wat die hiërargie gedeeltelik onafhanklik van die bediener se werklike struktuur sigbaar maak aan 'n kliënt. Die Access Control Lists (ACLs), wat toegangsregte definieer, stel in staat tot fynbeheer oor gebruikersregte, insluitend eienskappe soos execute
, read
, en full access
. Hierdie regte kan aan individuele gebruikers of groepe toegeken word, gebaseer op die aandele, en is onderskeibaar van die plaaslike regte wat op die bediener ingestel is.
IPC$ Share
Toegang tot die IPC$ aandeel kan verkry word deur 'n anonieme nul sessie, wat interaksie met dienste wat via benoemde pype blootgestel word, moontlik maak. Die nut enum4linux
is nuttig vir hierdie doel. Wanneer dit behoorlik gebruik word, stel dit in staat om die volgende te verkry:
Inligting oor die bedryfstelsel
Besonderhede oor die ouerdomein
'n Samestelling van plaaslike gebruikers en groepe
Inligting oor beskikbare SMB aandele
Die effektiewe stelselsekuriteitsbeleid
Hierdie funksionaliteit is krities vir netwerkadministrateurs en sekuriteitsprofessionals om die sekuriteitsposisie van SMB (Server Message Block) dienste op 'n netwerk te evalueer. enum4linux
bied 'n omvattende oorsig van die teikenstelsel se SMB omgewing, wat noodsaaklik is om potensiële kwesbaarhede te identifiseer en te verseker dat die SMB dienste behoorlik beveilig is.
Die bogenoemde opdrag is 'n voorbeeld van hoe enum4linux
gebruik kan word om 'n volledige enumerasie teen 'n teiken wat deur target_ip
gespesifiseer is, uit te voer.
Wat is NTLM
As jy nie weet wat NTLM is of jy wil weet hoe dit werk en hoe om dit te misbruik nie, sal jy hierdie bladsy oor NTLM baie interessant vind waar verduidelik word hoe hierdie protokol werk en hoe jy daarvan kan voordeel trek:
NTLMBediener Enumerasie
Skandeer 'n netwerk op soek na gasheer:
SMB-server weergawe
Om te soek na moontlike exploits vir die SMB-weergawe, is dit belangrik om te weet watter weergawe gebruik word. As hierdie inligting nie in ander gebruikte gereedskap verskyn nie, kan jy:
Gebruik die MSF bykomende module _auxiliary/scanner/smb/smb_version
Of hierdie skrip:
Soek ontginning
Mogelijke Kredensiaal
Gebruikersnaam(s) | Gewone wagwoorde |
(leeg) | (leeg) |
gasheer | (leeg) |
Administrateur, admin | (leeg), wagwoord, administrateur, admin |
arcserve | arcserve, rugsteun |
tivoli, tmersrvd | tivoli, tmersrvd, admin |
backupexec, rugsteun | backupexec, rugsteun, arcada |
toets, laboratorium, demo | wagwoord, toets, laboratorium, demo |
Brute Force
SMB Omgewing Inligting
Verkry Inligting
Lys gebruikers, groepe & ingelogde gebruikers
Hierdie inligting behoort reeds van enum4linux en enum4linux-ng versamel te wees.
Lys plaaslike gebruikers
Oneliner
Metasploit - Lys plaaslike gebruikers
Lys van LSARPC en SAMR rpcclient
rpcclient enumerationGUI-verbinding vanaf linux
In die terminal:
xdg-open smb://cascade.htb/
In lêerblaaier venster (nautilus, thunar, ens.)
smb://friendzone.htb/general/
Gedeelde Mappes Lys
Lys gedeelde mappes
Dit word altyd aanbeveel om te kyk of jy toegang tot enigiets kan kry, as jy nie inligting het nie, probeer om null inligting/gaste gebruiker te gebruik.
Verbind/Lys 'n gedeelde gids
Handmatig vensters deel en verbind daarmee
Dit mag dalk moontlik wees dat jy beperk is om enige dele van die gasheer masjien te vertoon en wanneer jy probeer om hulle op te lys, lyk dit asof daar geen dele is om mee te verbind nie. Dit mag dus die moeite werd wees om 'n poging te doen om handmatig met 'n deel te verbind. Om die dele handmatig te lys, wil jy dalk soek na antwoorde soos NT_STATUS_ACCESS_DENIED en NT_STATUS_BAD_NETWORK_NAME, wanneer jy 'n geldige sessie gebruik (bv. null sessie of geldige geloofsbriewe). Hierdie mag aandui of die deel bestaan en jy nie toegang daartoe het nie of die deel glad nie bestaan nie.
Gewone deelname vir venster teikens is
C$
D$
ADMIN$
IPC$
PRINT$
FAX$
SYSVOL
NETLOGON
(Gewone deelname van Network Security Assessment 3rd edition)
Jy kan probeer om met hulle te verbind deur die volgende opdrag te gebruik
of hierdie skrif (met 'n null-sessie)
voorbeelde
Lys deel van Windows / sonder derdeparty gereedskap
PowerShell
CMD-konsol
MMC Snap-in (grafies)
explorer.exe (grafies), voer \\<ip>\
in om die beskikbare nie-verborgen gedeeltes te sien.
Monteer 'n gedeelde vouer
Laai lêers af
Lees vorige afdelings om te leer hoe om met akrediteer/Pass-the-Hash te verbind.
Commands:
mask: spesifiseer die masker wat gebruik word om die lêers binne die gids te filter (bv. "" vir alle lêers)
recurse: skakel rekursie aan (standaard: af)
prompt: skakel vrae vir lêernames af (standaard: aan)
mget: kopieer alle lêers wat ooreenstem met die masker van die gasheer na die kliëntmasjien
(Inligting van die manblad van smbclient)
Domein Gedeelde Gidsen Soektog
Snaffler****
CrackMapExec spin.
-M spider_plus [--share <share_name>]
--pattern txt
Spesifiek interessant van gedeeltes is die lêers genoem Registry.xml
aangesien hulle miskien wagwoorde vir gebruikers wat met autologon via Groepbeleid gekonfigureer is, bevat. Of web.config
lêers aangesien hulle akrediteer.
Die SYSVOL-gedeelte is leesbaar deur alle geverifieerde gebruikers in die domein. Daarin kan jy baie verskillende batch, VBScript, en PowerShell scripts vind. Jy moet die scripts daarin kontroleer aangesien jy sensitiewe inligting soos wagwoorde mag vind.
Lees Register
Jy mag in staat wees om die register te lees met behulp van sommige ontdekte akrediteer. Impacket reg.py
laat jou toe om te probeer:
Post Exploitation
Die standaardkonfigurasie van 'n Samba bediener is gewoonlik geleë in /etc/samba/smb.conf
en mag 'n paar gevaarlike konfigurasies hê:
Instelling | Beskrywing |
| Laat toe om beskikbare gedeeltes in die huidige gedeelte te lys? |
| Verbied die skepping en wysiging van lêers? |
| Laat gebruikers toe om lêers te skep en te wysig? |
| Laat toe om met die diens te verbind sonder om 'n wagwoord te gebruik? |
| Eer die voorregte wat aan spesifieke SID toegeken is? |
| Watter regte moet aan die nuutgeskepte lêers toegeken word? |
| Watter regte moet aan die nuutgeskepte gidse toegeken word? |
| Watter skrip moet uitgevoer word wanneer die gebruiker aanmeld? |
| Watter skrip moet uitgevoer word wanneer die skrip gesluit word? |
| Waar moet die uitvoer van die magiese skrip gestoor word? |
Die opdrag smbstatus
gee inligting oor die bediener en oor wie verbind is.
Authenticate using Kerberos
Jy kan authentiseer met kerberos deur die gereedskap smbclient en rpcclient te gebruik:
Voer Opdragte Uit
crackmapexec
crackmapexec kan opdragte uitvoer deur enige van mmcexec, smbexec, atexec, wmiexec met wmiexec as die standaard metode. Jy kan aandui watter opsie jy verkies om te gebruik met die parameter --exec-method
:
Albei opsies sal n nuwe diens skep (met \pipe\svcctl via SMB) op die slagoffer masjien en dit gebruik om iets uit te voer (psexec sal **n uitvoerbare lêer op ADMIN$ deel laai en smbexec sal na cmd.exe/powershell.exe wys en die argumente die payload --file-less technique-- insit). Meer inligting oor psexec en smbexec. In kali is dit geleë op /usr/share/doc/python3-impacket/examples/
Using parameter-k
you can authenticate against kerberos instead of NTLM
wmiexec/dcomexec
Stealthily voer 'n opdrag skulp uit sonder om die skyf aan te raak of 'n nuwe diens te laat loop deur DCOM via port 135. In kali is dit geleë op /usr/share/doc/python3-impacket/examples/
Gebruik parameter-k
kan jy teen kerberos autentiseer in plaas van NTLM
Voer opdragte uit via die Taakbeplanner (met \pipe\atsvc via SMB). In kali is dit geleë op /usr/share/doc/python3-impacket/examples/
Impacket verwysing
https://www.hackingarticles.in/beginners-guide-to-impacket-tool-kit-part-1/
Bruteforce gebruikers se akrediteerbesonderhede
Dit word nie aanbeveel nie, jy kan 'n rekening blokkeer as jy die maksimum toegelate pogings oorskry
SMB relay aanval
Hierdie aanval gebruik die Responder toolkit om SMB-authentikasiesessies op 'n interne netwerk te vang, en oor te dra na 'n teikenmasjien. As die authentikasie sessie suksesvol is, sal dit jou outomaties in 'n stelsel skulp laat val. Meer inligting oor hierdie aanval hier.
SMB-Trap
Die Windows biblioteek URLMon.dll probeer outomaties om te autentiseer met die gasheer wanneer 'n bladsy probeer om toegang te verkry tot 'n paar inhoud via SMB, byvoorbeeld: img src="\\10.10.10.10\path\image.jpg"
Dit gebeur met die funksies:
URLDownloadToFile
URLDownloadToCache
URLOpenStream
URLOpenBlockingStream
Wat deur sommige blaaiers en gereedskap (soos Skype) gebruik word.
SMBTrap met MitMf
NTLM Diefstal
Soos SMB Trapping, kan die plant van kwaadwillige lêers op 'n teikenstelsel (via SMB, byvoorbeeld) 'n SMB-authentikasiepoging uitlok, wat die NetNTLMv2-hash toelaat om met 'n hulpmiddel soos Responder onderskep te word. Die hash kan dan offline gekraak of in 'n SMB relay aanval gebruik word.
HackTricks Outomatiese Opdragte
Last updated