AWS पेन-टेस्टिंग प्रयोगशाला
Terraform के साथ AWS पर IaC के रूप में तैनात पेन-टेस्टिंग प्रयोगशाला।
यह SSH & वायरगार्ड VPN के माध्यम से सुलभ एक Kali Linux इंस्टेंस तैनात करता है।
निजी सबनेट में असुरक्षित इंस्टेंस।
नोट:
- Ids केवल क्षेत्र "eu-west-1" के लिए परिभाषित हैं
- अन्य क्षेत्रों के लिए, kali ami id निर्दिष्ट की जानी चाहिए और metasploitable3 id (इसे बनाने के बाद)
चेंजलॉग
- [2022-01-30]
- sudoers को उपयोगकर्ता समूह के लिए sudo nmap की अनुमति देने के लिए सेट किया गया
- सुरक्षा समूह पोर्ट 8800-8899 पर आने वाले कनेक्शन की अनुमति देता है (रिवर्स-शेल के लिए)
- [2021-12-26]
- स्वचालित रूप से पहला उपलब्धता क्षेत्र सेट किया गया
- packer के साथ नए metasploitable ami बनाए गए
- metasploitable3 मशीन में log4jshell भेद्यता का प्रारंभिक एकीकरण (लेकिन यह उपयोग योग्य नहीं है)
- [2021-12-22]
- metasploitable इमेज बनाने के लिए Packer (./metasploitable3/ देखें)
- kali user_data स्क्रिप्ट में सुधार
- us-east-1 पर तैनाती मान्य की गई
- [2021-12-09]
- Ids प्रदान करने के बजाय नवीनतम Kali-linux ami id खोजें
- terraform template_file को बदल दिया गया क्योंकि यह पदावनत है
- विंडोज सर्वर ami (करने के लिए: एक असुरक्षित सॉफ़्टवेयर स्थापित करें)
- [2021-09-15]
- wireguard मल्टी-पीयर निर्माण में सुधार
- Kali Linux पर Infection Monkey ऐप एकीकृत किया गया
- नए Kali संस्करण 2021.3 में अपग्रेड
- [2021-06-02] AMI IDs को Kali 2021.2 का उपयोग करने के लिए बदला गया
- [2021-03-10] नए Kali संस्करण 2021.1 का उपयोग करें
आरेख

घटक
- Kali इंस्टेंस (निजी कुंजी kali.pem में सहेजी गई है)
- Wireguard VPN सेवा: क्लाइंट फ़ाइल client_vpn.wg
- ssh/scp के माध्यम से सुलभ
- सार्वजनिक सबनेट 10.0.0.5/24
- पोर्ट 5000 पर Infection Monkey चल रहा है (केवल वीपीएन या एसएसएच के माध्यम से सुलभ)
- असुरक्षित मशीन "Metasploitable" (ami बिल्ड सार्वजनिक है)
- अधिक असुरक्षित लैब्स/मशीनें/डॉकर (किया जाना बाकी)
जोड़ी गई सुविधाएँ
- उपयोगकर्ता प्रबंधन
- Kali इंस्टेंस में rsa के साथ स्वचालित रूप से गैर-विशेषाधिकार प्राप्त उपयोगकर्ता बनाएं
- प्रति उपयोगकर्ता Wireguard VPN क्लाइंट फ़ाइल
- syslog में कमांड लाइन ऑडिट लॉगिंग
- sudo_log और users_log कुंजियों के साथ auditd सक्षम है ताकि उपयोगकर्ता क्रियाओं का ऑडिट किया जा सके (ausearch कमांड भी देखें)
- करने के लिए: टर्मिनल ऑडिट को CloudWatch या एक S3 बकेट में अग्रेषित करें जिसमें एक बार लिखने की नीति हो
कैसे करें
- आवश्यकताएँ:
- Terraform CLI इंस्टॉलेशन गाइड
- AWS CLI इंस्टॉलेशन गाइड
- AWS CLI और Terraform के लिए $PATH कॉन्फ़िगर किया गया
- AWS खाता और aws cli के माध्यम से क्रेडेंशियल कॉन्फ़िगर करें:
aws configure
- AWS Marketplace में Kali Linux सब्सक्रिप्शन
- पहले से बनाई गई Metasploitable3 AMI इमेज (eu-west-1 क्षेत्र के लिए सार्वजनिक AMI उपलब्ध) देखें
तैनाती
variables.tf में 0 या 1 सेट करके तैनात किए जाने वाले असुरक्षित इंस्टेंस को सक्षम/अक्षम करें:
variable "deploment-control" {
type = map
default = {
#"instance" = 0 or 1, to disable or enable
"metasploitable3" = 1
"dvca" = 0
}
description = "Control which EC2 instances are deployed, 0 for none or 1"
}
- बुनियादी ढाँचा तैनात करने के लिए terraform का उपयोग करें
terraform init
terraform plan
terraform apply -auto-approve
आउटपुट
Terraform आउटपुट निम्नलिखित प्रविष्टियाँ दिखाएंगे:
- kali उपयोगकर्ता के लिए ssh कनेक्शन कमांड (sudo के माध्यम से रूट)
- kali उपयोगकर्ता के लिए wireguard क्लाइंट फ़ाइल स्वचालित रूप से kali सर्वर से प्राप्त की जाएगी
- वायरगार्ड क्लाइंट फ़ाइल प्राप्त करने के लिए scp कमांड (यदि परिभाषित terraform local-exec कमांड विफल हो जाता है तो)
- Kali इंस्टेंस में बनाए गए प्रत्येक सामान्य उपयोगकर्ता के लिए
- ssh कनेक्शन के लिए निजी कुंजी फ़ाइल
- वीपीएन कनेक्टिविटी के लिए वायरगार्ड क्लाइंट फ़ाइल
उपयोग
Kali से या तो ssh या वायरगार्ड के माध्यम से कनेक्ट करें:
- SSH: (केवल कमांड लाइन) स्वचालित रूप से उत्पन्न निजी कुंजी का उपयोग करें (terraform आउटपुट देखें)
KALI_IP=<KALI_IP> # kali पब्लिक आईपी कॉन्फ़िगर करें
ssh -i kali.pem -o StrictHostKeyChecking=no -o IdentitiesOnly=yes kali@${KALI_IP}
- वायरगार्ड: अपने स्थानीय kali इंस्टेंस को वायरगार्ड के माध्यम से कनेक्ट करें (जनरेट की गई client_vpn.wg फ़ाइल देखें)
KALI_IP=<KALI_IP> # kali पब्लिक आईपी कॉन्फ़िगर करें
scp -i kali.pem -o StrictHostKeyChecking=no IdentitiesOnly=yes kali@${KALI_IP}:/home/kali/client_vpn.wg .
####
(local_kali)$ sudo apt-get install –y wireguard
(local_kali)$ sudo gedit /etc/wireguard/wg0.conf # client_vpn.wg की सामग्री कॉपी करें
(local_kali)$ sudo chmod 700 /etc/wireguard/wg0.conf
(local_kali)$ sudo wg-quick up wg0
(local_kali)$ ping 10.0.0.5 # AWS में kali इंस्टेंस के साथ कनेक्टिविटी का परीक्षण करें
नष्ट करें
terraform destroy -auto-approve
संदर्भ