Docker Forensics
Reading time: 4 minutes
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Container modification
Kuna shaka kwamba baadhi ya kontena za docker zilipatikana na kuathiriwa:
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cc03e43a052a lamp-wordpress "./run.sh" 2 minutes ago Up 2 minutes 80/tcp wordpress
Unaweza kwa urahisi kupata marekebisho yaliyofanywa kwa kontena hili kuhusiana na picha kwa kutumia:
docker diff wordpress
C /var
C /var/lib
C /var/lib/mysql
A /var/lib/mysql/ib_logfile0
A /var/lib/mysql/ib_logfile1
A /var/lib/mysql/ibdata1
A /var/lib/mysql/mysql
A /var/lib/mysql/mysql/time_zone_leap_second.MYI
A /var/lib/mysql/mysql/general_log.CSV
...
Katika amri iliyopita, C inamaanisha Changed na A, Added.
Ikiwa utagundua kuwa faili ya kuvutia kama /etc/shadow
imebadilishwa, unaweza kuipakua kutoka kwenye kontena ili kuangalia shughuli za uhalifu kwa:
docker cp wordpress:/etc/shadow.
Unaweza pia kuilinganisha na ile ya asili kwa kuendesha kontena mpya na kutoa faili kutoka kwake:
docker run -d lamp-wordpress
docker cp b5d53e8b468e:/etc/shadow original_shadow #Get the file from the newly created container
diff original_shadow shadow
Ikiwa utagundua kwamba faili fulani ya kushangaza imeongezwa unaweza kufikia kontena na kuangalia:
docker exec -it wordpress bash
Mabadiliko ya picha
Unapopewa picha ya docker iliyosafirishwa (labda katika muundo wa .tar
) unaweza kutumia container-diff ili kutolewa muhtasari wa mabadiliko:
docker save <image> > image.tar #Export the image to a .tar file
container-diff analyze -t sizelayer image.tar
container-diff analyze -t history image.tar
container-diff analyze -t metadata image.tar
Kisha, unaweza kufungua picha na kufikia blobs kutafuta faili za kushangaza ambazo huenda umepata katika historia ya mabadiliko:
tar -xf image.tar
Basic Analysis
Unaweza kupata taarifa za msingi kutoka kwa picha ukikimbia:
docker inspect <image>
Unaweza pia kupata muhtasari wa historia ya mabadiliko kwa:
docker history --no-trunc <image>
Unaweza pia kuunda dockerfile kutoka kwa picha na:
alias dfimage="docker run -v /var/run/docker.sock:/var/run/docker.sock --rm alpine/dfimage"
dfimage -sV=1.36 madhuakula/k8s-goat-hidden-in-layers>
Dive
Ili kupata faili zilizoongezwa/zilizobadilishwa katika picha za docker unaweza pia kutumia dive (ipakue kutoka releases) chombo:
#First you need to load the image in your docker repo
sudo docker load < image.tar 1 ⨯
Loaded image: flask:latest
#And then open it with dive:
sudo dive flask:latest
Hii inakuwezesha kuvinjari kupitia blobs tofauti za picha za docker na kuangalia faili zipi zilirekebishwa/kuongezwa. Nyekundu inamaanisha kuongezwa na njano inamaanisha kurekebishwa. Tumia tab kuhamia kwenye mtazamo mwingine na space kufunga/kufungua folda.
Kwa die huwezi kufikia maudhui ya hatua tofauti za picha. Ili kufanya hivyo utahitaji kufungua kila safu na kuifikia.
Unaweza kufungua safu zote kutoka kwa picha kutoka kwenye saraka ambapo picha ilifunguliwa ukitekeleza:
tar -xf image.tar
for d in `find * -maxdepth 0 -type d`; do cd $d; tar -xf ./layer.tar; cd ..; done
Credentials kutoka kwa kumbukumbu
Kumbuka kwamba unapokimbia kontena la docker ndani ya mwenyeji unaweza kuona michakato inayokimbia kwenye kontena kutoka kwa mwenyeji kwa kukimbia tu ps -ef
Hivyo (kama root) unaweza kutoa kumbukumbu ya michakato kutoka kwa mwenyeji na kutafuta credentials tu kama katika mfano ufuatao.
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.