mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 12:43:23 +00:00
Translated ['macos-hardening/macos-security-and-privilege-escalation/mac
This commit is contained in:
parent
06c853e287
commit
fb02136e88
1 changed files with 74 additions and 59 deletions
|
@ -1,26 +1,26 @@
|
|||
# macOS Sensitiewe Liggings & Interessante Daemons
|
||||
# macOS Sensitiewe Lokasies & Interessante Daemons
|
||||
|
||||
{% hint style="success" %}
|
||||
Leer & oefen AWS Hack: <img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Opleiding AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Leer & oefen GCP Hack: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Opleiding GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Leer & oefen AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Opleiding AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Leer & oefen GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Opleiding GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Ondersteun HackTricks</summary>
|
||||
|
||||
* Kontroleer die [**inskrywingsplanne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Deel hacktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslag.
|
||||
* Kyk na die [**intekening planne**](https://github.com/sponsors/carlospolop)!
|
||||
* **Sluit aan by die** 💬 [**Discord groep**](https://discord.gg/hRep4RUj7f) of die [**telegram groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Deel hacking truuks deur PRs in te dien na die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
## Wagwoorde
|
||||
|
||||
### Skadu-wagwoorde
|
||||
### Skadu Wagwoorde
|
||||
|
||||
Skadu-wagwoord word saam met die gebruiker se opset gestoor in pliste wat geleë is in **`/var/db/dslocal/nodes/Default/users/`**.\
|
||||
Die volgende eenlynige kode kan gebruik word om **alle inligting oor die gebruikers** (insluitend hasinligting) te dump:
|
||||
Skadu wagwoord word gestoor met die gebruiker se konfigurasie in plists geleë in **`/var/db/dslocal/nodes/Default/users/`**.\
|
||||
Die volgende eenlyn kan gebruik word om **alle inligting oor die gebruikers** (insluitend hash inligting) te dump:
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
|
@ -28,9 +28,9 @@ for l in /var/db/dslocal/nodes/Default/users/*; do if [ -r "$l" ];then echo "$l"
|
|||
```
|
||||
{% endcode %}
|
||||
|
||||
[**Skripte soos hierdie een**](https://gist.github.com/teddziuba/3ff08bdda120d1f7822f3baf52e606c2) of [**hierdie een**](https://github.com/octomagon/davegrohl.git) kan gebruik word om die hash na **hashcat-formaat** te omskep.
|
||||
[**Scripts soos hierdie**](https://gist.github.com/teddziuba/3ff08bdda120d1f7822f3baf52e606c2) of [**hierdie**](https://github.com/octomagon/davegrohl.git) kan gebruik word om die hash na **hashcat** **formaat** te transformeer.
|
||||
|
||||
'n Alternatiewe een-liner wat geloofsbriewe van alle nie-diensrekeninge in hashcat-formaat sal dump `-m 7100` (macOS PBKDF2-SHA512):
|
||||
'n Alternatiewe een-liner wat die kredensiale van alle nie-diens rekeninge in hashcat formaat `-m 7100` (macOS PBKDF2-SHA512) sal dump:
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
|
@ -38,58 +38,58 @@ sudo bash -c 'for i in $(find /var/db/dslocal/nodes/Default/users -type f -regex
|
|||
```
|
||||
{% endcode %}
|
||||
|
||||
### Sleutelbos Dump
|
||||
### Sleutelsak Dump
|
||||
|
||||
Let daarop dat wanneer die `security` binêre lêer gebruik word om die wagwoorde ontsluit te **dump**, verskeie versoek sal vra dat die gebruiker hierdie operasie toelaat.
|
||||
Let daarop dat wanneer die sekuriteit-binary gebruik word om **die wagwoorde ontcijfer** te dump, verskeie vrae die gebruiker sal vra om hierdie operasie toe te laat.
|
||||
```bash
|
||||
#security
|
||||
secuirty dump-trust-settings [-s] [-d] #List certificates
|
||||
security dump-trust-settings [-s] [-d] #List certificates
|
||||
security list-keychains #List keychain dbs
|
||||
security list-smartcards #List smartcards
|
||||
security dump-keychain | grep -A 5 "keychain" | grep -v "version" #List keychains entries
|
||||
security dump-keychain -d #Dump all the info, included secrets (the user will be asked for his password, even if root)
|
||||
```
|
||||
### [Sleutelkettingdump](https://github.com/juuso/keychaindump)
|
||||
### [Keychaindump](https://github.com/juuso/keychaindump)
|
||||
|
||||
{% hint style="danger" %}
|
||||
Gebaseer op hierdie kommentaar [juuso/keychaindump#10 (comment)](https://github.com/juuso/keychaindump/issues/10#issuecomment-751218760) lyk dit asof hierdie gereedskap nie meer werk in Big Sur nie.
|
||||
Op grond van hierdie kommentaar [juuso/keychaindump#10 (comment)](https://github.com/juuso/keychaindump/issues/10#issuecomment-751218760) lyk dit of hierdie gereedskap nie meer werk in Big Sur nie.
|
||||
{% endhint %}
|
||||
|
||||
### Sleutelkettingdump Oorsig
|
||||
### Keychaindump Oorsig
|
||||
|
||||
'n Gereedskap genaamd **keychaindump** is ontwikkel om wagwoorde uit macOS-sleutelkettings te onttrek, maar dit ondervind beperkings op nuwer macOS-weergawes soos Big Sur, soos aangedui in 'n [bespreking](https://github.com/juuso/keychaindump/issues/10#issuecomment-751218760). Die gebruik van **keychaindump** vereis dat die aanvaller toegang verkry en voorregte na **root** eskaleer. Die gereedskap maak gebruik van die feit dat die sleutelketting standaard oopgemaak word by gebruikersaanmelding vir gerief, wat toepassings in staat stel om dit te benader sonder om die gebruiker se wagwoord herhaaldelik te vereis. Tog, as 'n gebruiker kies om hul sleutelketting na elke gebruik te sluit, word **keychaindump** ondoeltreffend.
|
||||
'n Gereedskap genaamd **keychaindump** is ontwikkel om wagwoorde uit macOS sleutelhouers te onttrek, maar dit ondervind beperkings op nuwer macOS weergawes soos Big Sur, soos aangedui in 'n [bespreking](https://github.com/juuso/keychaindump/issues/10#issuecomment-751218760). Die gebruik van **keychaindump** vereis dat die aanvaller toegang verkry en bevoegdhede tot **root** verhoog. Die gereedskap benut die feit dat die sleutelhouer standaard ontgrendel is by gebruikersaanmelding vir gerief, wat toepassings toelaat om dit te benader sonder om die gebruiker se wagwoord herhaaldelik te vereis. As 'n gebruiker egter kies om hul sleutelhouer na elke gebruik te sluit, word **keychaindump** ondoeltreffend.
|
||||
|
||||
**Keychaindump** werk deur 'n spesifieke proses genaamd **securityd** te teiken, soos deur Apple beskryf as 'n daemon vir magtiging en kriptografiese operasies, wat noodsaaklik is vir die benadering van die sleutelketting. Die onttrekkingsproses behels die identifisering van 'n **Meestersleutel** afgelei van die gebruiker se aanmeldwagwoord. Hierdie sleutel is noodsaaklik vir die lees van die sleutelketting lêer. Om die **Meestersleutel** te vind, skandeer **keychaindump** die geheuehoop van **securityd** deur die `vmmap` bevel te gebruik, op soek na potensiële sleutels binne areas wat as `MALLOC_TINY` geïdentifiseer is. Die volgende bevel word gebruik om hierdie geheue-areas te ondersoek:
|
||||
**Keychaindump** werk deur 'n spesifieke proses genaamd **securityd** te teiken, wat deur Apple beskryf word as 'n daemon vir magtiging en kriptografiese operasies, wat noodsaaklik is vir toegang tot die sleutelhouer. Die onttrekkingsproses behels die identifisering van 'n **Master Key** wat afgelei is van die gebruiker se aanmeldwagwoord. Hierdie sleutel is noodsaaklik om die sleutelhouer-lêer te lees. Om die **Master Key** te vind, skandeer **keychaindump** die geheuehoop van **securityd** met behulp van die `vmmap` opdrag, op soek na potensiële sleutels binne areas wat as `MALLOC_TINY` gemerk is. Die volgende opdrag word gebruik om hierdie geheue-lokasies te ondersoek:
|
||||
```bash
|
||||
sudo vmmap <securityd PID> | grep MALLOC_TINY
|
||||
```
|
||||
Na die identifisering van potensiële hoofsluitels, soek **keychaindump** deur die hoop vir 'n spesifieke patroon (`0x0000000000000018`) wat 'n kandidaat vir die hoofslutel aandui. Verdere stappe, insluitend deobfuscation, is nodig om hierdie sleutel te gebruik, soos uiteengesit in die bronkode van **keychaindump**. Analiste wat op hierdie gebied fokus, moet daarop let dat die noodsaaklike data vir die dekriptering van die sleutelketting binne die geheue van die **securityd**-proses gestoor word. 'n Voorbeeldopdrag om **keychaindump** uit te voer is:
|
||||
Na die identifisering van potensiële meester sleutels, **keychaindump** soek deur die hoop vir 'n spesifieke patroon (`0x0000000000000018`) wat 'n kandidaat vir die meester sleutel aandui. Verdere stappe, insluitend deobfuscation, is nodig om hierdie sleutel te benut, soos uiteengesit in **keychaindump**'s bronkode. Ontleders wat op hierdie gebied fokus, moet oplet dat die belangrike data vir die ontsleuteling van die sleutelring binne die geheue van die **securityd** proses gestoor is. 'n Voorbeeldopdrag om **keychaindump** te loop is:
|
||||
```bash
|
||||
sudo ./keychaindump
|
||||
```
|
||||
### kettingbreek
|
||||
### chainbreaker
|
||||
|
||||
[**Kettingbreek**](https://github.com/n0fate/chainbreaker) kan gebruik word om die volgende tipes inligting uit 'n OSX-sleutelbord op 'n forensies-klank manier te onttrek:
|
||||
[**Chainbreaker**](https://github.com/n0fate/chainbreaker) kan gebruik word om die volgende tipes inligting uit 'n OSX sleutelketting op 'n forensies-gesonde manier te onttrek:
|
||||
|
||||
* Gehashte Sleutelbord wagwoord, geskik vir kraak met [hashcat](https://hashcat.net/hashcat/) of [John the Ripper](https://www.openwall.com/john/)
|
||||
* Gehashde Sleutelketing wagwoord, geskik vir kraken met [hashcat](https://hashcat.net/hashcat/) of [John the Ripper](https://www.openwall.com/john/)
|
||||
* Internet Wagwoorde
|
||||
* Generiese Wagwoorde
|
||||
* Privaatsleutels
|
||||
* Openbare Sleutels
|
||||
* Privaat Sleutels
|
||||
* Publieke Sleutels
|
||||
* X509 Sertifikate
|
||||
* Veilige Notas
|
||||
* Veilige Aantekeninge
|
||||
* Appleshare Wagwoorde
|
||||
|
||||
Met die sleutelbord ontgrendel wagwoord, 'n meestersleutel verkry deur [volafox](https://github.com/n0fate/volafox) of [volatility](https://github.com/volatilityfoundation/volatility), of 'n ontgrendelingslêer soos SystemKey, sal Kettingbreek ook platte teks wagwoorde voorsien.
|
||||
Gegewe die sleutelketing ontgrendel wagwoord, 'n meester sleutel verkry met behulp van [volafox](https://github.com/n0fate/volafox) of [volatility](https://github.com/volatilityfoundation/volatility), of 'n ontgrendel lêer soos SystemKey, sal Chainbreaker ook platteks wagwoorde verskaf.
|
||||
|
||||
Sonner een van hierdie metodes om die Sleutelbord te ontsluit, sal Kettingbreek alle ander beskikbare inligting vertoon.
|
||||
Sonder een van hierdie metodes om die Sleutelketing te ontgrendel, sal Chainbreaker al die ander beskikbare inligting vertoon.
|
||||
|
||||
#### **Stort sleutelbord sleutels**
|
||||
#### **Dump sleutelketing sleutels**
|
||||
```bash
|
||||
#Dump all keys of the keychain (without the passwords)
|
||||
python2.7 chainbreaker.py --dump-all /Library/Keychains/System.keychain
|
||||
```
|
||||
#### **Stort sleutelhanger sleutels (met wagwoorde) met SystemKey**
|
||||
#### **Dump sleutelring sleutels (met wagwoorde) met SystemKey**
|
||||
```bash
|
||||
# First, get the keychain decryption key
|
||||
# To get this decryption key you need to be root and SIP must be disabled
|
||||
|
@ -97,7 +97,7 @@ hexdump -s 8 -n 24 -e '1/1 "%.2x"' /var/db/SystemKey && echo
|
|||
## Use the previous key to decrypt the passwords
|
||||
python2.7 chainbreaker.py --dump-all --key 0293847570022761234562947e0bcd5bc04d196ad2345697 /Library/Keychains/System.keychain
|
||||
```
|
||||
#### **Stort sleutelhanger sleutels (met wagwoorde) deur die has te kraak**
|
||||
#### **Dump sleutelring sleutels (met wagwoorde) om die hash te kraak**
|
||||
```bash
|
||||
# Get the keychain hash
|
||||
python2.7 chainbreaker.py --dump-keychain-password-hash /Library/Keychains/System.keychain
|
||||
|
@ -106,9 +106,9 @@ hashcat.exe -m 23100 --keep-guessing hashes.txt dictionary.txt
|
|||
# Use the key to decrypt the passwords
|
||||
python2.7 chainbreaker.py --dump-all --key 0293847570022761234562947e0bcd5bc04d196ad2345697 /Library/Keychains/System.keychain
|
||||
```
|
||||
#### **Stort sleutelhanger sleutels (met wagwoorde) met geheue storting**
|
||||
#### **Dump sleutelring sleutels (met wagwoorde) met geheue-aflaai**
|
||||
|
||||
[Volg hierdie stappe](../#dumping-memory-with-osxpmem) om 'n **geheue storting** uit te voer
|
||||
[Volg hierdie stappe](../#dumping-memory-with-osxpmem) om 'n **geheue-aflaai** uit te voer
|
||||
```bash
|
||||
#Use volafox (https://github.com/n0fate/volafox) to extract possible keychain passwords
|
||||
# Unformtunately volafox isn't working with the latest versions of MacOS
|
||||
|
@ -117,19 +117,19 @@ python vol.py -i ~/Desktop/show/macosxml.mem -o keychaindump
|
|||
#Try to extract the passwords using the extracted keychain passwords
|
||||
python2.7 chainbreaker.py --dump-all --key 0293847570022761234562947e0bcd5bc04d196ad2345697 /Library/Keychains/System.keychain
|
||||
```
|
||||
#### **Dump sleutelbos sleutels (met wagwoorde) deur die gebruikers wagwoord te gebruik**
|
||||
#### **Dump sleutelring sleutels (met wagwoorde) met die gebruiker se wagwoord**
|
||||
|
||||
As jy die gebruikers wagwoord weet, kan jy dit gebruik om **sleutelbose wat aan die gebruiker behoort te dump en te dekripteer**.
|
||||
As jy die gebruiker se wagwoord ken, kan jy dit gebruik om **sleutelrings wat aan die gebruiker behoort te dump en te ontsleutel**.
|
||||
```bash
|
||||
#Prompt to ask for the password
|
||||
python2.7 chainbreaker.py --dump-all --password-prompt /Users/<username>/Library/Keychains/login.keychain-db
|
||||
```
|
||||
### kcpassword
|
||||
|
||||
Die **kcpassword** lêer is 'n lêer wat die **gebruiker se aanmeldingswagwoord** bevat, maar slegs as die stelsel eienaar **outomatiese aanmelding geaktiveer** het. Daarom sal die gebruiker outomaties aangemeld word sonder om vir 'n wagwoord gevra te word (wat nie baie veilig is nie).
|
||||
Die **kcpassword** lêer is 'n lêer wat die **gebruikers se aanmeldwagwoord** bevat, maar slegs as die stelselaanvaarder **outomatiese aanmelding** geaktiveer het. Daarom sal die gebruiker outomaties aangemeld word sonder om vir 'n wagwoord gevra te word (wat nie baie veilig is nie).
|
||||
|
||||
Die wagwoord word gestoor in die lêer **`/etc/kcpassword`** xored met die sleutel **`0x7D 0x89 0x52 0x23 0xD2 0xBC 0xDD 0xEA 0xA3 0xB9 0x1F`**. As die gebruikerswagwoord langer is as die sleutel, sal die sleutel hergebruik word.\
|
||||
Dit maak die wagwoord redelik maklik om te herwin, byvoorbeeld deur skripte soos [**hierdie een**](https://gist.github.com/opshope/32f65875d45215c3677d).
|
||||
Die wagwoord word in die lêer **`/etc/kcpassword`** xored met die sleutel **`0x7D 0x89 0x52 0x23 0xD2 0xBC 0xDD 0xEA 0xA3 0xB9 0x1F`**. As die gebruiker se wagwoord langer is as die sleutel, sal die sleutel hergebruik word.\
|
||||
Dit maak die wagwoord redelik maklik om te herstel, byvoorbeeld met behulp van skripte soos [**hierdie een**](https://gist.github.com/opshope/32f65875d45215c3677d).
|
||||
|
||||
## Interessante Inligting in Databasisse
|
||||
|
||||
|
@ -143,9 +143,9 @@ sqlite3 $HOME/Suggestions/snippets.db 'select * from emailSnippets'
|
|||
```
|
||||
### Kennisgewings
|
||||
|
||||
Jy kan die Kennisgewingsdata vind in `$(getconf DARWIN_USER_DIR)/com.apple.notificationcenter/`
|
||||
Jy kan die Kennisgewings data vind in `$(getconf DARWIN_USER_DIR)/com.apple.notificationcenter/`
|
||||
|
||||
Die meeste van die interessante inligting sal in die **blob** wees. Jy sal dus die inhoud moet **ontgin** en dit na **mensleesbare** vorm **transformeer** of **`strings`** gebruik. Om toegang daartoe te verkry, kan jy die volgende doen:
|
||||
Die meeste van die interessante inligting gaan in **blob** wees. So jy sal daardie inhoud moet **onttrek** en dit moet **omskakel** na **mens** **leesbaar** of gebruik **`strings`**. Om toegang te verkry kan jy doen:
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
|
@ -154,9 +154,9 @@ strings $(getconf DARWIN_USER_DIR)/com.apple.notificationcenter/db2/db | grep -i
|
|||
```
|
||||
{% endcode %}
|
||||
|
||||
### Notas
|
||||
### Aantekeninge
|
||||
|
||||
Die gebruikers se **notas** kan gevind word in `~/Library/Group Containers/group.com.apple.notes/NoteStore.sqlite`
|
||||
Die gebruikers **aantekeninge** kan gevind word in `~/Library/Group Containers/group.com.apple.notes/NoteStore.sqlite`
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
|
@ -169,19 +169,19 @@ for i in $(sqlite3 ~/Library/Group\ Containers/group.com.apple.notes/NoteStore.s
|
|||
|
||||
## Voorkeure
|
||||
|
||||
In macOS-toepassingsvoorkeure is geleë in **`$HOME/Library/Preferences`** en in iOS is hulle in `/var/mobile/Containers/Data/Application/<UUID>/Library/Preferences`. 
|
||||
In macOS toepassings is voorkeure geleë in **`$HOME/Library/Preferences`** en in iOS is dit in `/var/mobile/Containers/Data/Application/<UUID>/Library/Preferences`. 
|
||||
|
||||
In macOS kan die `defaults`-cli-hulpmiddel gebruik word om die Voorkeure-lêer te wysig.
|
||||
In macOS kan die cli-gereedskap **`defaults`** gebruik word om die **Voorkeur lêer** te **wysig**.
|
||||
|
||||
**`/usr/sbin/cfprefsd`** eis die XPC-diens `com.apple.cfprefsd.daemon` en `com.apple.cfprefsd.agent` en kan genoem word om aksies soos die wysiging van voorkeure uit te voer.
|
||||
**`/usr/sbin/cfprefsd`** eis die XPC dienste `com.apple.cfprefsd.daemon` en `com.apple.cfprefsd.agent` en kan geroep word om aksies soos om voorkeure te wysig, uit te voer.
|
||||
|
||||
## Stelselkennisgewings
|
||||
## Stelselnotasies
|
||||
|
||||
### Darwin Kennisgewings
|
||||
### Darwin Notasies
|
||||
|
||||
Die hoofdemon vir kennisgewings is **`/usr/sbin/notifyd`**. Om kennisgewings te ontvang, moet kliënte registreer deur die `com.apple.system.notification_center` Mach-poort (kontroleer hulle met `sudo lsmp -p <pid notifyd>`). Die demon is konfigureerbaar met die lêer `/etc/notify.conf`.
|
||||
Die hoofdaemon vir notasies is **`/usr/sbin/notifyd`**. Om notasies te ontvang, moet kliënte registreer deur die `com.apple.system.notification_center` Mach-poort (kontroleer dit met `sudo lsmp -p <pid notifyd>`). Die daemon is konfigureerbaar met die lêer `/etc/notify.conf`.
|
||||
|
||||
Die name wat vir kennisgewings gebruik word, is unieke omgekeerde DNS-notasies en wanneer 'n kennisgewing na een van hulle gestuur word, sal die kliënte wat aangedui het dat hulle dit kan hanteer, dit ontvang.
|
||||
Die name wat vir notasies gebruik word, is unieke omgekeerde DNS-notasies en wanneer 'n notasie na een van hulle gestuur word, sal die kliënt(e) wat aangedui het dat hulle dit kan hanteer, dit ontvang.
|
||||
|
||||
Dit is moontlik om die huidige status te dump (en al die name te sien) deur die sein SIGUSR2 na die notifyd-proses te stuur en die gegenereerde lêer te lees: `/var/run/notifyd_<pid>.status`:
|
||||
```bash
|
||||
|
@ -199,14 +199,14 @@ common: com.apple.CFPreferences._domainsChangedExternally
|
|||
common: com.apple.security.octagon.joined-with-bottle
|
||||
[...]
|
||||
```
|
||||
### Verspreide Kennisgewingsentrum
|
||||
### Verspreide Kennisgewing Sentrum
|
||||
|
||||
Die **Verspreide Kennisgewingsentrum** waarvan die hoofbinêre lêer **`/usr/sbin/distnoted`** is, is nog 'n manier om kennisgewings te stuur. Dit stel sommige XPC-diens bloot en doen 'n paar kontroles om te probeer om kliënte te verifieer.
|
||||
Die **Verspreide Kennisgewing Sentrum** waarvan die hoof binêre **`/usr/sbin/distnoted`** is, is 'n ander manier om kennisgewings te stuur. Dit stel 'n paar XPC dienste bloot en dit voer 'n paar kontroles uit om te probeer om kliënte te verifieer.
|
||||
|
||||
### Apple Stuur Kennisgewings (APN)
|
||||
### Apple Push Kennisgewings (APN)
|
||||
|
||||
In hierdie geval kan aansoeke registreer vir **onderwerpe**. Die kliënt sal 'n token genereer deur Apple se bedieners te kontak deur **`apsd`**.\
|
||||
Dan sal verskaffers ook 'n token gegenereer het en in staat wees om met Apple se bedieners te verbind om boodskappe na die kliënte te stuur. Hierdie boodskappe sal plaaslik ontvang word deur **`apsd`** wat die kennisgewing na die wagtende aansoek sal deurgee.
|
||||
In hierdie geval kan toepassings registreer vir **onderwerpe**. Die kliënt sal 'n token genereer deur Apple se bedieners te kontak deur middel van **`apsd`**.\
|
||||
Dan sal verskaffers ook 'n token genereer en in staat wees om met Apple se bedieners te verbind om boodskappe aan die kliënte te stuur. Hierdie boodskappe sal plaaslik deur **`apsd`** ontvang word wat die kennisgewing aan die toepassing wat daarop wag, sal oordra.
|
||||
|
||||
Die voorkeure is geleë in `/Library/Preferences/com.apple.apsd.plist`.
|
||||
|
||||
|
@ -214,14 +214,29 @@ Daar is 'n plaaslike databasis van boodskappe geleë in macOS in `/Library/Appli
|
|||
```bash
|
||||
sudo sqlite3 /Library/Application\ Support/ApplePushService/aps.db
|
||||
```
|
||||
Dit is ook moontlik om inligting oor die duiwel en verbindings te kry deur die volgende te gebruik:
|
||||
Dit is ook moontlik om inligting oor die daemon en verbindings te verkry met:
|
||||
```bash
|
||||
/System/Library/PrivateFrameworks/ApplePushService.framework/apsctl status
|
||||
```
|
||||
## Gebruikerskennisgewings
|
||||
## User Notifications
|
||||
|
||||
Dit is kennisgewings wat die gebruiker op die skerm moet sien:
|
||||
Hierdie is kennisgewings wat die gebruiker op die skerm moet sien:
|
||||
|
||||
* **`CFUserNotification`**: Hierdie API bied 'n manier om 'n pop-up met 'n boodskap op die skerm te wys.
|
||||
* **Die Bulletinbord**: Dit wys in iOS 'n banier wat verdwyn en in die Kennisgewingsentrum gestoor sal word.
|
||||
* **`NSUserNotificationCenter`**: Dit is die iOS-bulletinbord in MacOS. Die databasis met die kennisgewings is geleë in `/var/folders/<user temp>/0/com.apple.notificationcenter/db2/db`
|
||||
* **Die Bulletin Board**: Dit wys in iOS 'n banner wat verdwyn en in die Kennisgewing Sentrum gestoor sal word.
|
||||
* **`NSUserNotificationCenter`**: Dit is die iOS bulletin board in MacOS. Die databasis met die kennisgewings is geleë in `/var/folders/<user temp>/0/com.apple.notificationcenter/db2/db`
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
Loading…
Reference in a new issue