AppArmor
WhiteIntel is 'n donker-web aangedrewe soekenjin wat gratis funksies bied om te kyk of 'n maatskappy of sy kliënte gekompromiteer is deur steelware.
Die primêre doel van WhiteIntel is om rekening-oorneeminge en lospryse-aanvalle te bekamp wat voortspruit uit inligtingsteelware.
Jy kan hul webwerf besoek en hul enjin gratis probeer by:
Basiese Inligting
AppArmor is 'n kernel-verbetering ontwerp om die hulpbronne wat beskikbaar is vir programme deur per-program profiele te beperk, wat effektief Mandatoriese Toegangsbeheer (MAC) implementeer deur toegangsbeheerkenmerke direk aan programme te koppel eerder as aan gebruikers. Hierdie stelsel werk deur profiele in die kernel te laai, gewoonlik tydens opstart, en hierdie profiele bepaal watter hulpbronne 'n program kan benader, soos netwerkverbindinge, rou sokkeltoegang, en lêertoestemmings.
Daar is twee bedryfsmodusse vir AppArmor profiele:
Afdwingingsmodus: Hierdie modus dwing aktief die beleide wat binne die profiel gedefinieer is, blokkeer aksies wat hierdie beleide oortree en log enige pogings om dit te breek deur stelsels soos syslog of auditd.
Klaagmodus: Anders as afdwingingsmodus, blokkeer klaagmodus nie aksies wat teen die beleide van die profiel ingaan nie. Dit log eerder hierdie pogings as beleidoortredings sonder om beperkings af te dwing.
Komponente van AppArmor
Kernelmodule: Verantwoordelik vir die afdwinging van beleide.
Beleide: Spesifiseer die reëls en beperkings vir programgedrag en hulpbronbenadering.
Parser: Laai beleide in die kernel vir afdwinging of verslagdoening.
Hulpprogramme: Dit is gebruikersmodusprogramme wat 'n koppelvlak bied vir interaksie met en bestuur van AppArmor.
Profiele pad
Apparmor profiele word gewoonlik gestoor in /etc/apparmor.d/
Met sudo aa-status
sal jy in staat wees om die bineêre lêers te lys wat beperk word deur 'n profiel. As jy die karakter "/" vir 'n punt van die pad van elke gelysde bineêre lêer kan verander, sal jy die naam van die apparmor-profiel binne die genoemde vouer kry.
Byvoorbeeld, 'n apparmor-profiel vir /usr/bin/man sal geleë wees in /etc/apparmor.d/usr.bin.man
Opdragte
Skep 'n profiel
Ten einde die geaffekteerde uitvoerbare lêer aan te dui, word absoluite paaie en wildcards toegelaat (vir lêer globbing) om lêers te spesifiseer.
Om die toegang aan te dui wat die binêre lêer oor lêers sal hê, kan die volgende toegangsbeheer gebruik word:
r (lees)
w (skryf)
m (geheuekaart as uitvoerbare lêer)
k (lêer sluiting)
l (skep harde skakels)
ix (om 'n ander program uit te voer met die nuwe program wat beleid erf)
Px (uitvoer onder 'n ander profiel, na skoonmaak van die omgewing)
Cx (uitvoer onder 'n kinderprofiel, na skoonmaak van die omgewing)
Ux (uitvoer onbeperk, na skoonmaak van die omgewing)
Veranderlikes kan in die profiele gedefinieer word en kan van buite die profiel gemanipuleer word. Byvoorbeeld: @{PROC} en @{HOME} (voeg #include <tunables/global> by die profiel lêer)
Weieringsreëls word ondersteun om toelaatreëls te oorskry.
aa-genprof
Om maklik te begin met die skep van 'n profiel, kan apparmor jou help. Dit is moontlik om apparmor die aksies wat deur 'n binêre lêer uitgevoer word te laat ondersoek en dan te besluit watter aksies jy wil toelaat of weier. Jy hoef net die volgende uit te voer:
Dan, in 'n ander konsole, voer al die aksies uit wat die binêre gewoonlik sal uitvoer:
Dan, in die eerste konsole druk "s" en dan in die opgeneemde aksies aandui of jy wil ignoreer, toelaat, of watookal. Wanneer jy klaar is, druk "f" en die nuwe profiel sal geskep word in /etc/apparmor.d/path.to.binary
Met die pyltoets kan jy kies wat jy wil toelaat/weier/watookal
aa-easyprof
Jy kan ook 'n sjabloon van 'n apparmor-profiel van 'n binêre lêer skep met:
Let wel dat standaard in 'n geskepte profiel niks toegelaat word nie, so alles word ontken. Jy sal reëls soos /etc/passwd r,
moet byvoeg om die binêre lees van /etc/passwd
byvoorbeeld toe te laat.
Jy kan dan die nuwe profiel afdwing met
Wysiging van 'n profiel vanaf logboeke
Die volgende instrument sal die logboeke lees en die gebruiker vra of hy van die opgespoorde verbode aksies wil toelaat:
Deur die pyltoets te gebruik, kan jy kies wat jy wil toelaat/weier/enigiets
Bestuur van 'n Profiel
Logboeke
Voorbeeld van AUDIT en DENIED logboeke van /var/log/audit/audit.log van die uitvoerbare service_bin
:
Jy kan ook hierdie inligting kry deur gebruik te maak van:
Apparmor in Docker
Merk op hoe die profiel docker-profile van docker standaard gelaai word:
Standaard word die Apparmor docker-standaardprofiel gegenereer vanaf https://github.com/moby/moby/tree/master/profiles/apparmor
Docker-standaardprofiel Opsomming:
Toegang tot alle netwerke
Geen vermoë is gedefinieer (Tog sal sommige vermoëns kom vanaf die insluiting van basiese basisreëls d.w.s. #include <abstractions/base>)
Skryf na enige /proc lêer is nie toegelaat
Ander subdossiers/lêers van /proc en /sys word ontsê lees/skryf/slot/skakel/uitvoer toegang
Monteer is nie toegelaat
Ptrace kan slegs uitgevoer word op 'n proses wat beperk word deur dieselfde apparmor-profiel
Sodra jy 'n docker houer uitvoer, behoort jy die volgende uitset te sien:
Merk op dat apparmor selfs bevoegdhede-voorregte sal blokkeer wat standaard aan die houer toegeken is. Byvoorbeeld, dit sal in staat wees om toestemming om binne /proc te skryf te blokkeer selfs as die SYS_ADMIN bevoegdheid toegeken is omdat die standaard docker apparmor profiel hierdie toegang ontken:
Jy moet apparmor uitskakel om sy beperkings te omseil:
Merk op dat AppArmor standaard ook die houer verbied om van binne af volumes te koppel selfs met die SYS_ADMIN-vermoë.
Merk op dat jy vermoëns kan byvoeg/verwyder aan die docker-houer (dit sal steeds beperk word deur beskermingsmetodes soos AppArmor en Seccomp):
--cap-add=SYS_ADMIN
geeSYS_ADMIN
vermoë--cap-add=ALL
gee alle vermoëns--cap-drop=ALL --cap-add=SYS_PTRACE
laat alle vermoëns val en gee slegsSYS_PTRACE
Gewoonlik, wanneer jy vind dat jy 'n bevoorregte vermoë beskikbaar het binne 'n docker-houer maar 'n deel van die exploit nie werk nie, sal dit wees omdat docker apparmor dit voorkom.
Voorbeeld
(Voorbeeld van hier)
Om die AppArmor-funksionaliteit te illustreer, het ek 'n nuwe Docker-profiel "mydocker" geskep met die volgende lyn bygevoeg:
Om die profiel te aktiveer, moet ons die volgende doen:
Om die profiele te lys, kan ons die volgende bevel uitvoer. Die bevel hieronder lys my nuwe AppArmor-profiel.
Soos hieronder getoon, kry ons 'n fout wanneer ons probeer om "/etc/" te verander omdat die AppArmor-profiel skryftoegang tot "/etc" voorkom.
AppArmor Docker Omgang1
Jy kan vind watter apparmor profiel 'n houer laat loop deur die volgende te gebruik:
Dan kan jy die volgende lyn hardloop om die presiese profiel wat gebruik word te vind:
In die vreemde geval jy kan die apparmor docker profiel wysig en herlaai. Jy kan die beperkings verwyder en dit "omseil".
AppArmor Docker Omseiling2
AppArmor is pad-gebaseer, dit beteken selfs al mag dit dalk lêers binne 'n gids soos /proc
beskerm, as jy kan konfigureer hoe die houer gaan loop, kan jy die proc-gids van die gasheer binne /host/proc
koppel en dit sal nie meer deur AppArmor beskerm word nie.
AppArmor Shebang Omseiling
In hierdie fout kan jy 'n voorbeeld sien van hoe selfs al voorkom jy dat perl met sekere hulpbronne uitgevoer word, as jy net 'n skulpskripsie skep wat spesifiseer in die eerste lyn #!/usr/bin/perl
en jy voer die lêer direk uit, sal jy in staat wees om enigiets uit te voer. Byvoorbeeld:
WhiteIntel is 'n dark-web aangedrewe soekenjin wat gratis funksies bied om te kontroleer of 'n maatskappy of sy kliënte deur steelmalware is gekompromiteer.
Die primêre doel van WhiteIntel is om rekening-oorneemings en lospryse-aanvalle te beveg wat voortspruit uit inligtingsteelmalware.
Jy kan hul webwerf besoek en hul enjin vir gratis probeer by:
Last updated