5.3 KiB
Uchunguzi wa Docker
{% hint style="success" %}
Jifunze na zoezi la Udukuzi wa AWS:Mafunzo ya HackTricks ya Mtaalam wa Timu Nyekundu ya AWS (ARTE)
Jifunze na zoezi la Udukuzi wa GCP: Mafunzo ya HackTricks ya Mtaalam wa Timu Nyekundu ya GCP (GRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 Kikundi cha Discord au kikundi cha telegram au tufuate kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za udukuzi kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud github repos.
Kubadilisha Kontena
Kuna mashaka kwamba kontena fulani la docker lilidukuliwa:
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 kwenye kontena hili kuhusiana na picha na:
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 iliyotangulia C inamaanisha Kilichobadilika na A, Ongeza.
Ikiwa utagundua kwamba faili fulani ya kuvutia kama vile /etc/shadow
ilibadilishwa unaweza kuipakua kutoka kwenye kontena ili uchunguze shughuli za uovu kwa:
docker cp wordpress:/etc/shadow.
Unaweza pia kulilinganisha na asili yake kwa kukimbia kontena mpya na kuchambua faili kutoka humo:
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 unagundua kwamba faili fulani ya shaka imeongezwa unaweza kufikia chombo na kuichunguza:
docker exec -it wordpress bash
Kubadilisha Picha
Unapopewa picha ya docker iliyohamishiwa (labda katika muundo wa .tar
) unaweza kutumia container-diff kuchambua 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 kudekompresi picha na kufikia blobs kutafuta faili za shaka ambazo unaweza kuzipata katika historia ya mabadiliko:
tar -xf image.tar
Uchambuzi wa Msingi
Unaweza kupata taarifa za msingi kutoka kwa picha inayoendeshwa:
docker inspect <image>
Unaweza pia kupata muhtasari wa historia ya mabadiliko kwa:
docker history --no-trunc <image>
Unaweza pia kuzalisha dockerfile kutoka kwa picha kwa:
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>
Zama ndani
Ili kupata faili zilizoongezwa/kubadilishwa kwenye picha za docker unaweza pia kutumia dive (ipakue kutoka releases) kama 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 inakuruhusu kupitia blobs tofauti za picha za docker na kuangalia ni faili zipi zilizobadilishwa/kuongezwa. Nyekundu inamaanisha imeongezwa na manjano inamaanisha imebadilishwa. Tumia tab kuhamia maoni mengine na nafasi kufunga/kufungua folda.
Kwa die hutaweza kupata maudhui ya hatua tofauti za picha. Ili kufanya hivyo, utahitaji kudecompress kila safu na kufikia.
Unaweza kudecompress safu zote kutoka kwa picha kutoka kwenye saraka ambapo picha ilikuwa imekudecompress kwa kutekeleza:
tar -xf image.tar
for d in `find * -maxdepth 0 -type d`; do cd $d; tar -xf ./layer.tar; cd ..; done
Vitambulisho kutoka kumbukumbu
Tafadhali kumbuka kwamba unapotekeleza chombo cha docker ndani ya mwenyeji unaweza kuona michakato inayoendeshwa kwenye chombo kutoka kwa mwenyeji kwa kutekeleza tu ps -ef
Hivyo (kama mtumiaji wa mizizi) unaweza kudondosha kumbukumbu ya michakato kutoka kwa mwenyeji na kutafuta vitambulisho kama ilivyo kwenye mfano ufuatao.