
Raccoglie artefatti di macOS e iOS per creare timeline di attività di rete, identità tra dispositivi e correlazione della posizione fisica per operazioni di ricognizione e red team.
RinHit - framework di ricognizione per l'ecosistema macOS. Raccoglie artefatti dall'ecosistema Apple per costruire timeline di attività di rete, identità跨 dispositivo e correlazione della posizione fisica.
Questo è il modulo di ricognizione open-source. Il payload Swift closed-source (
rinhit-agent) è usato internamente dal nostro redteam e non fa parte di questo repository.
com.apple.wifi.known-networks.plist (legacy) o usa networksetup (Data Vault su macOS 15+)com.apple.Bluetooth.plistioreg (IOKit) e system_profilerhigh, hotspot mobile = medium, ecc.# Clona
git clone https://github.com/toxy4ny/rinhit.git
cd rinhit
# Compila
go build -o rinhit ./cmd/rinhit
# Oppure installa direttamente
go install ./cmd/rinhit
./rinhit list
sudo per il Wi-Fi)sudo ./rinhit scan -v
sudo ./rinhit scan -c wifi,bluetooth -v
sudo ./rinhit scan --correlate -v
sudo ./rinhit scan -o report.json
# Importa dump CSV Wigle
./rinhit geo import wigle-export.csv
# Cerca un BSSID
./rinhit geo lookup AA:BB:CC:DD:EE:FF
# Mostra statistiche della cache
./rinhit geo stats
{
"generated_at": "2026-08-21T21:09:10Z",
"hostname": "MacBook-Pro-test.local",
"user": "root",
"artifacts": [
{
"id": "wifi-ns-iPhone7",
"collector": "wifi",
"type": "wifi-network",
"name": "iPhone7",
"severity": "medium",
"timestamp": "2026-08-21T14:09:10-07:00",
"source": "networksetup",
"data": {"ssid": "iPhone7", "source": "networksetup"},
"tags": ["wifi", "network", "macos15-fallback", "mobile-hotspot", "cross-device"]
}
],
"summary": {
"total_artifacts": 12,
"by_severity": {"info": 11, "medium": 1},
"by_collector": {"wifi": 12}
},
"data": {
"correlations": [
{
"type": "mobile-hotspot",
"confidence": 0.7,
"description": "Mobile hotspot 'iPhone7' detected - indicates iPhone/iPad tethering usage",
"artifact_ids": ["wifi-ns-iPhone7"],
"tags": ["mobile-hotspot", "tethering", "cross-device"]
}
]
}
}
rinhit/
├── cmd/rinhit/main.go # Punto di ingresso CLI
├── pkg/
│ ├── collector/ # Interfaccia Collector e registro
│ │ ├── wifi/ # Collector artefatti Wi-Fi
│ │ ├── bluetooth/ # Collector dispositivi Bluetooth
│ │ └── usb/ # Collector dispositivi USB
│ ├── model/ # Struct Artifact e Report
│ ├── parser/plist/ # Parsing Plist con fallback SIP
│ ├── reporter/json/ # Reporter JSON
│ ├── correlator/ # Motore di correlazione incrociata degli artefatti
│ └── geoloc/ # Cache di geolocalizzazione BSSID offline
Per aggiungere un nuovo collector, implementa l'interfaccia Collector:
type Collector interface {
Name() string
Description() string
Collect(ctx context.Context) ([]model.Artifact, error)
RequiresRoot() bool
}
Registralo in buildRegistry() in cmd/rinhit/main.go.
networksetup (living off the land)wifi richiede sudoMIT - vedi LICENSE.
"Proprio come il punteruolo perfora il frutto, depone le uova e recide il gambo per coprire le sue tracce, RinHit perfora l'ecosistema Apple, pianta la persistenza e corrode i confini di sicurezza dall'interno."