kali-linux-docker
यह Kali Linux Docker इमेज Kali Linux Rolling Distribution के नवीनतम संस्करण का न्यूनतम आधार स्थापना प्रदान करती है। इस इमेज में कोई उपकरण नहीं जोड़े गए हैं, इसलिए आपको उन्हें स्वयं स्थापित करना होगा। Kali Linux मेटापैकेजों के विवरण के लिए, देखें https://www.kali.org/news/kali-linux-metapackages/
Docker Hub: https://hub.docker.com/r/nu11secur1ty/kali-linux-docker
चूंकि --squash डॉकर डेमॉन को पास किया जा रहा है, यदि आपके डेमॉन में प्रयोगात्मक सुविधाएँ चालू नहीं हैं, तो build.sh स्क्रिप्ट विफल हो जाएगी।
Kali पर, यह /etc/docker/daemon.json में निम्नलिखित सामग्री के साथ किया जाता है:
{
"experimental": true
}
नोट: यह केवल Offensive Security में हमारे लिए आवश्यकता है जब हम Docker हब पर एक नई इमेज पुश करते हैं तो इमेज का आकार कम करने के लिए।
यदि आप व्यक्तिगत उपयोग के लिए बना रहे हैं, तो आप build.sh में --squash विकल्प हटा सकते हैं।
Tue May 21 13:59:06 EDT 2019
स्पष्ट रूप से, इसे चलाने के लिए, आपको Docker स्थापित करना होगा। OSX पर Docker के लिए आप brew का उपयोग कर सकते हैं, जबकि अधिकांश अन्य वितरणों के लिए, आप इसे अपने स्थानीय पैकेज मैनेजर का उपयोग करके स्थापित कर सकते हैं। एक बार स्थापित और सेट हो जाने पर, यह हमारी इमेज को Docker रिपॉजिटरी से खींचने का मामला है:
nu11secur1ty:~ # docker pull nu11secur1ty/kali-linux-docker
nu11secur1ty:~ # docker run -t -i nu11secur1ty/kali-linux-docker /bin/bash
root@7e2a35940eff:/# apt update
root@7e2a35940eff:/# apt dist-update
root@7e2a35940eff:/# apt update && apt install metasploit-framework
root@7e2a35940eff:/# apt update && apt install git
root@7e2a35940eff:/# apt update && apt install vim
root@7e2a35940eff:/# service postgresql start
root@7e2a35940eff:/# ss -ant
root@7e2a35940eff:/# msfdb init
root@7e2a35940eff:/# msfconsole
git clone https://github.com/nu11secur1ty/sqliv2.git
cd sqliv2
. उपयोग लिंक:sqliv2
. प्राप्त करें:
git clone https://github.com/nu11secur1ty/nu11secur1ty.git
लिंक:nu11secur1ty
यदि आप हमारी पूर्व-निर्मित इमेज का उपयोग करने के बजाय अपनी खुद की Kali इमेज बनाना चाहते हैं, तो हमने Github पर Kali Linux Docker पर होस्ट की गई निम्नलिखित स्क्रिप्ट के साथ इसे आसान बना दिया है। ये इमेज Linux सिस्टम या किसी अन्य OS पर सबसे अच्छी तरह बनाई जाती हैं जो debootstrap चला सकता है।
#!/bin/bash
# Install dependencies (debootstrap)
sudo apt-get install debootstrap
# Fetch the latest Kali debootstrap script from git
curl "https://gitlab.com/kalilinux/packages/debootstrap.git;a=blob_plain;f=scripts/kali;hb=HEAD" > kali-debootstrap &&\
sudo debootstrap kali ./kali-root http://http.kali.org/kali ./kali-debootstrap &&\
# Import the Kali image into Docker
sudo tar -C kali-root -c . | sudo docker import - kalilinux/kali &&\
sudo rm -rf ./kali-root &&\
# Test the Kali Docker Image
docker run -t -i kalilinux/kali cat /etc/debian_version &&\
echo "Build OK" || echo "Build failed!"


एक docker exec कमांड है जिसका उपयोग पहले से चल रहे कंटेनर से कनेक्ट करने के लिए किया जा सकता है।
docker exec -it <container name> /bin/bash का उपयोग करेंdocker exec -it <container name> <command> का उपयोग करें।कंटेनर में कमांड चलाने का सही तरीका है: docker-compose run <container name> <command>। उदाहरण के लिए, अपने वेब कंटेनर में शेल प्राप्त करने के लिए आप docker-compose run web /bin/bash चला सकते हैं
कमांडों की एक श्रृंखला चलाने के लिए, आपको उन्हें एक शेल का उपयोग करके एक एकल कमांड में लपेटना होगा। उदाहरण के लिए: docker-compose run <name in yml> sh -c '<command 1> && <command 2> && <command 3>'
कुछ मामलों में आप एक ऐसा कंटेनर चलाना चाह सकते हैं जो docker-compose.yml फ़ाइल द्वारा परिभाषित नहीं है, उदाहरण के लिए एक नए कंटेनर कॉन्फ़िगरेशन का परीक्षण करने के लिए। किसी दी गई इमेज के साथ नया कंटेनर शुरू करने के लिए docker run का उपयोग करें: docker run -it <image name> <command>
docker run कमांड वॉल्यूम माउंट, पर्यावरण चर, कार्यशील निर्देशिका, और अधिक निर्दिष्ट करने के लिए कमांड लाइन विकल्प स्वीकार करता है।
किसी भी संचालन को निष्पादित करने के लिए बिल्ड कंटेनर में शेल प्राप्त करना सबसे सरल तरीका है। आप बस compose फ़ाइल में परिभाषित cli कंटेनर तक पहुँच प्राप्त करना चाहते हैं। कमांड docker-compose -f build.yml run cli phase2/devtools-build इमेज का एक उदाहरण शुरू करेगा और आपके लिए bash शेल चलाएगा। वहाँ से आप drush, grunt या जो कुछ भी आपका दिल चाहे, उपयोग करने के लिए स्वतंत्र हैं।
Docker दुनिया में एक और अवधारणा एक एकल कमांड चलाने के लिए एक कंटेनर शुरू करना और कमांड पूरा होने पर कंटेनर को रुकने देना है। यह बहुत अच्छा है यदि आप कमांड कभी-कभार चलाते हैं, या कोई अन्य कंटेनर लगातार चलता नहीं रखना चाहते हैं। इस तरह से कंटेनरों पर अपने कमांड चलाना उन कमांडों के लिए भी उपयुक्त है जो फाइलसिस्टम पर कोई फाइल उत्पन्न नहीं करते हैं या यदि करते हैं, तो वे उन फाइलों को कंटेनर में माउंट किए गए वॉल्यूम पर लिखते हैं।
उदाहरण build.yml फ़ाइल में परिभाषित drush कंटेनर एक कंटेनर है जो विशेष रूप से एकल कार्यशील निर्देशिका में drush चलाने के लिए डिज़ाइन किया गया है जो केवल कमांड को तर्क के रूप में लेता है। यह दृष्टिकोण हमें आपकी Drupal साइट में sqlc, cache-rebuild, और अन्य जैसे किसी भी drush कमांड को जल्दी और आसानी से चलाने के लिए एक त्वरित और आसान तंत्र प्रदान करने की अनुमति देता है।
drush के समान grunt कमांड कंटेनर और एक एकल कमांड चलाने के आसपास और भी विशिष्ट कमांड कंटेनर के अन्य उदाहरण भी हैं, जैसे drush make एक make/निर्भरता फ़ाइल से साइट बनाने के लिए।
होस्ट पर वेबएप फ़ोल्डर कंटेनर के Apache रूट में माउंट किया जाएगा।
docker system prune
docker system prune -a
आप जिन इमेज को हटाना चाहते हैं उनकी आईडी का पता लगाने के लिए -a फ्लैग के साथ docker images कमांड का उपयोग करें। यह आपको इंटरमीडिएट इमेज लेयर सहित हर इमेज दिखाएगा। जब आप उन इमेज का पता लगा लेते हैं जिन्हें आप हटाना चाहते हैं, तो आप उनकी आईडी या टैग docker rmi को पास कर सकते हैं: