tip
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Logstash
Logstash word gebruik om logs te versamel, te transformeer en te stuur deur 'n stelsel bekend as pipelines. Hierdie pipelines bestaan uit invoer, filter, en uitvoer fases. 'n Interessante aspek ontstaan wanneer Logstash op 'n gecompromitteerde masjien werk.
Pipeline Konfigurasie
Pipelines word geconfigureer in die lêer /etc/logstash/pipelines.yml, wat die plekke van die pipeline konfigurasies lys:
# Define your pipelines here. Multiple pipelines can be defined.
# For details on multiple pipelines, refer to the documentation:
# https://www.elastic.co/guide/en/logstash/current/multiple-pipelines.html
- pipeline.id: main
path.config: "/etc/logstash/conf.d/*.conf"
- pipeline.id: example
path.config: "/usr/share/logstash/pipeline/1*.conf"
pipeline.workers: 6
Hierdie lêer onthul waar die .conf lêers, wat pyplyn-konfigurasies bevat, geleë is. Wanneer 'n Elasticsearch output module gebruik word, is dit algemeen dat pyplyne Elasticsearch kredensiale insluit, wat dikwels uitgebreide regte het weens Logstash se behoefte om data na Elasticsearch te skryf. Wildcards in konfigurasiepaaie laat Logstash toe om alle ooreenstemmende pyplyne in die aangewese gids uit te voer.
Privilege Escalation via Writable Pipelines
Om 'n poging tot privilege-escalasie te doen, identifiseer eers die gebruiker waaronder die Logstash-diens loop, tipies die logstash gebruiker. Verseker dat jy aan een van hierdie kriteria voldoen:
- Besit skryfrek tot 'n pyplyn .conf lêer of
- Die /etc/logstash/pipelines.yml lêer gebruik 'n wildcard, en jy kan na die teikenlêergids skryf
Boonop moet een van hierdie voorwaardes vervul word:
- Vermoë om die Logstash-diens te herbegin of
- Die /etc/logstash/logstash.yml lêer het config.reload.automatic: true ingestel
Gegewe 'n wildcard in die konfigurasie, laat die skep van 'n lêer wat met hierdie wildcard ooreenstem toe dat opdragte uitgevoer word. Byvoorbeeld:
input {
exec {
command => "whoami"
interval => 120
}
}
output {
file {
path => "/tmp/output.log"
codec => rubydebug
}
}
Hier, interval bepaal die uitvoeringsfrekwensie in sekondes. In die gegewe voorbeeld, loop die whoami opdrag elke 120 sekondes, met sy uitvoer gerig na /tmp/output.log.
Met config.reload.automatic: true in /etc/logstash/logstash.yml, sal Logstash outomaties nuwe of gewysigde pyplyn konfigurasies opspoor en toepas sonder om 'n herlaai te benodig. As daar geen wildcard is nie, kan wysigings steeds aan bestaande konfigurasies gemaak word, maar versigtigheid word aanbeveel om ontwrigtings te vermy.
References
tip
Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die 💬 Discord groep of die telegram groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.