მოგესალმებათ CYBSECGROUP ფორუმი
№1 კიბერ ფორუმი საქართველოში, თქვენ გაქვთ შესაძლებლობა გაეცნოთ საინტერესო პროექტებს, საინტერესო გარემოში
რეგისტრაცია

Deep Exploit - Fully Automatic Pentest

SIMBIOS

R00T 😈
დრუიდი
ივნ 24, 2018
58
110
#1
ღამე მშვიდობის ამ სატატიაში ვისაუბრებთ ინსტრუმენტზე რომლის ავტორის სიტყვების თანახმად უფრო გაგივადვილებს ვებ პენტესტს, გახდის მას ავტომატურს დაასკანერებს ჰოსტებს და გამოიყენებს ექსპლოიტებს ამვე დროს გამოვიყენებთ Machine Learning სწავლებას.
1529609303959.png
Machine Learning სწავლება - არის ხელოვნური ინტელექტის მეთოდების კლასი, მისი მახასიათებელი ჩვევა სწავლის დოროს გამოიყნეოს მრავალი მეთოდი და შესარულოს პროცესები ამსი საფუძველია მატემატიკური სტატისტიკა და თეორიების ბაზა.

Deep Exploit სრულიად ავტომატიზირებული ინსტრუმენტია სისტემის შეხწევადობის და ტესტირებისთვის.
2.png

მას გააჩნია 2 რეჟიმი:

  • ინტელექტუალური რეჟიმი
Deep Exploit იდენთიფიცირებას უკეთებს ყველა ღია პორტს სერვერზე და ცდილობს მოარგოს ექსპლოიტი Machine Learning და Metasploit ბაზის მეშვეობით
  • უხეში ძალის რეჟიმი
Deep Exploit ასრულებს მრავალ ფუნქციას იყნებეს ყველა კომბინაციას «Exploit module», «Target», «Payload» და Metasploit,

Deep Exploit
: ძირითადი ფუნქციები

  • თვითშესწავლა

Deep Exploit შეუძლია შეისწავლოს ეფექტური თვითგამოეყენება. გამოიყენება reinforcement learning.
reinforcement learning.(სწავალ დახმარებით) ერთერთიი მეთოდია Machine Learning ის რომელიც ტესტირების დროს სწავლობს. ურთიერთქმედებს ზოგიერთ სისტემასთან. კიბერნეტიკული თვალთახედვის მხრივ იგი ერთერთი კიბერნეტიკული ექსპერიმენტია რომელიც არ საჭიროებს ადმინასიგან შესწავლას.


  • ეფექტური ექსპლოიტების გამოყენება
Deep Exploit - იყენებს ექსპლოიტს პროცესისი დროს მონაცემების დამუშავების შედეგად

  • სიღმისეული შესწავალა და ექსპლატირება
თუ Deep Exploit მა წარმატებით გამოიყენა ექსპლოიტი იგი ცდილობს შიდა სერვერზეც ამ ექსპლოიტის გამოყენეაბას

  • ძალზედ მარტივია გამოყენებისთვის
თქვევნგან მხოლოდ საჭიროა შეიყვანოთ ერთი ბრძანება

  • ძალზედ მარტივი შესწავლის პროცესი
როგორც ასეთი შესწავლას დიდი დრო სჭირდემა მაგრამ Deep Exploit ს არ სჭირდება ბევრი დრო რადგანაც იგი იყენებს განაწილებას რამოდენიმე აგენტში და ის იყენებს გაუმჯობესებულ მანქანური ენის შემსწავლელ მოდელს A3C.

Deep Exploit - ის შესაძლებლოებეი

  • დაზვერვა მონაცემთა მოგროვება
  • საფრთხეების მოდელირება
  • ბაგების ანალიზი
  • ექსპლუატაცია
  • პოსტ-ექსპლუატაია
  • რეპორტების შექმნა

გამოყენების უპირატესობა:

  • შეღწევადობის ტესტერისთვისი შესაძლებელია ეფექტურად გაიზარდოს ტესტირების შედეგი. რაც უფრო ხშირად ტესტერი იყენებს Deep Exploit ს მით უფრი სწრაფად ხდები მისი სწავლა.
  • ინფორამციული უსაფრთხოების სპეციალისტისთვის - შესაძებელია მისის სერვერების ბაგების და შეცდომების გამოვლენა.

რადგანაც შეტევების მეთოდები დღითი დღე ნვითარდება არა იმის გარანტია რომ გუშინდელი დღის დაცვის მეთოდები დღესაც აქტუალური და უსაფრთხო იქნება აუცილებელია ბაგების სწრაფად პოვნა და ზომების მიღება. Deep Exploit შეიტანს თავის წვლილს თქვენს კიბერ უსაფრთხოებაში

სქემის სტრუქტურა:

3.png

Deep Exploit შედგება Machine Learning (A3C) და Metasploit ის მოდელისგანა.
A3C იყენებს ექსპლოიტს მთელს სერვერზე RPC API ის მეშევეობით.
A3C – შექმნილია Keras და Tensorflow მიერ რომლებიც ცნობილნი არიან ML პლატფორმით რომელიც დაწერილია Python ში.
Metasploit ყველაზე ცნობილი და გვრცელებული ინსტრუმენტია მსოფლიოში.


Deep Exploitis სამუშაო სტრუქტურა ინტელექტუალურ რეჟიმში.

4.png

ნაბიჯი 1. პორტების სკანირება სატესტო სერვერებზე

Deep Exploit აგროვებს ინფორმაციას ისეთს როგორიცა ოპერაციული სისტემის ტიპი, გახსნილი პორტების ნუმერაცია, ბირთვის ვერსია და ა.შ
პორტების სკანირების შემდეგ იგი ასრულებს Metasploit ის 2 ბრძნაებას (hosts და services) RPC API ის მეშვეობით

hosts ბრძანების შედეგი:
Code:
Hosts
=====

address mac name os_name os_flavor os_sp purpose info
------- --- ---- ------- --------- ----- ------- ---- --------
192.168.0.108 00:0c:29:16:3a:ce Linux 2.6.X server

services ბრძანების შედეგი

Services
========

host port proto info
---- ---- ----- ----
192.168.0.108 21 tcp vsftpd 2.3.4
192.168.0.108 22 tcp OpenSSH 4.7p1 Debian 8ubuntu1 protocol 2.0
192.168.0.108 23 tcp Linux telnetd
.


ნაბიჯი 2. შესწავლა
5.png


Deep Exploit სწავლობს ბაგის ექსპლუატაციას თანამედროვე Machine Learning მოდელს რომელიც A3C სახელწოდებითა

A3C შედგება მრავალი დაკონფიგურირებული ქსელებისგან
ნეირონული ქსელები იღებენ ინფორმაციას სატესტო სერვერისგან,შემდოგმ ის იყენებს Metasploit მის გასატესტად, იგი იყენებს ყველა ამოღებულ პარამეტს სწავლის დროის შესამოკლებლად. იმისთვის რომ უფროდ ავაჩქაროთ მისი თვითსწავლა ჩვენ ვასრულებთ შეტევებს რამოდენიმე არხით. სატესტო სერვერების მაგლიტებისთვის შეგვიძლია გმაოვიყენოთ შემდეგი ტიპები

  • metasploitable2
  • metasploitable3

ნაბიჯი 3. ტესტირება

Deep Exploit ი ასრულებს ექსპლოიტის ექსპლოატირებას წინა ნაბიჯიდან გამომდინარე ინფორმაციიდან, ამ ეტაპიდან იგ იყენებს ექსპლოიტის ზუსტ გამოყენებას მინიმუმ 1 არხით

ნავიჯი 4. პოსტექსპლატაცია

თუ Deep Exploit მა წარმატებით გამოიყენა ექსპლოიტი სერვერზე იგი ანალოგიურად გამოიყნებს შია სერვერზეც თუ რათქმაუნდა ის მას იპოვის.

ნაბიჯი 5. რეპორტის გამზადება

Deep Exploit ამზადებს რეპორტებს რომელშიც გაეწერილია ყველა შეცდომა და ბაგი რეპორტის ტიპი წარმოადგენს .html


სიღრმისეული რეჟიმი

6.png

ნაბიჯი 1
. პროდუქტის/სერვისების დასახელების მიღება

Deep Exploit იღებს ინფორმაციას მომხამრებლებისაგან და გამოყობს მათ ნიშანით

მაგალითი:
Code:
wordpress@joomla@drupal@tikiwiki
მითითებული პროდუქტის სახელი ამოწნობილი უნდა იქნას Metasploit ის ბრძანების მეშეობით

ნაბიჯი 2. ექსპლატაცია

Deep Exploit იყინებს ექსპლოიტ მოდულებს, ინფორმაციას მიზნის შესახებ სასარგებლო ინფორმაციას Metasploit ისთვის.


ნავიჯი 3. პოსტექსპლატაცია

თუ Deep Exploit მა წარმატებით გამოიყენა ექსპლოიტი სერვერზე იგი ანალოგიურად გამოიყნებს შია სერვერზეც თუ რათქმაუნდა ის მას იპოვის.

ნაბიჯი 4. რეპორტის გამზადება

Deep Exploit ამზადებს რეპორტებს რომელშიც გაეწერილია ყველა შეცდომა და ბაგი რეპორტის ტიპი წარმოადგენს .html


Anaconda, Keras, TensorFlow.

Deep Exploit მუშაობისთვის საჭიროა რამოდენიმე ინსტრუმენტის გამოყენება მათი ურთიერთ შერწყმა და ერთად მუშაობა.

Anaconda:

7.png

სამუშაოს დაწყებისთვის საჭიროა სისტემაზა დავაინსტალიროთ Python ის დისტრიბუტივი Anaconda

Anaconda — ეს Python და R დისტრიბუტივია მათავარი ბიბლოთეიკების კრებული მონაცემთა ანალიზისთვის და პაკეტების მმენეჯერისთვის

Conda პაკეტების მენეჯერია პითონისთვის, საშვალებას იძლევა დავაინსტალიროთ უკვე დაკომპილირებული პაკეტი.

Conda არსებობს 2 ვერისაში:
  • Anaconda 150 ზე მეტი დაინსტალირებული პაკეტი მისი ზომა 3 გბ და 250 მდე პაკეტი დაინსტალირებისთვის
  • Miniconda 400 ზე მეტი პაკეტს მოიცავს და მზადა დაინსტალირდეს conda install package_name ბრძანებით

ვიწერთ ოფიციალური საიტიდან და ვაინსტალირებთ.

Code:
wget https://repo.anaconda.com/archive/Anaconda3-5.2.0-Linux-x86_64.sh
chmod +x Anaconda3-5.2.0-Linux-x86_64.sh
./ Anaconda3-5.2.0-Linux-x86_64.sh
8.png

ვეთანხმებით ლიცენზიურ ხელშეკკრულებას ვაწვებით Enter

ახალა ყველაზე მთვარი მომენტი, ჩვენთვი აუცილებლია დავაყენოთ python 3.6 ვერსია როგრც მთვარაი და მასზე მოვარგოთ Anaconda ბიბლიოთეკა
Code:
source .bashrc
9.png
თუ პითონის ვერსა დარჩა უცვლელი მაშინ source .bashrc დავამატოთ ცვლადი.
Code:
#added be Anaconda3 installer
export PATH=”/root/anaconda3/bin:$PATH
10.png

Tensorflow:
11.png

Tensorflow ეს ნეირონული ქსელია რომელიც ასწავლის გადაწყვტილებების გადწყვეტას დადებითი მოქმედებიბთ დაპოულობს სწორ გადაწყვეტილებას .

Tensorflow დაინსტალირება:

ვინც დაინსტალირებას ეცდებით კალიზე შესაძლებელია მასეთი პრობლემა შეგექმნათ.

Code:
conda install tensorflow
12.png

ამ პრობლემსი გადაწყბბეტა შესაძლებელია ყველა პაკეტის ხელით დაყენებით

Code:
conda info tensorflow
13.png

ჩვენ დავინახეთ საჭირო ვერსია ახალ კი დავაყენოთ თანმიმდევრობით.
Code:
conda install _tflow_180_select
15.png
ყველა საჭირო პაკეტის დაენების შემდეგ შესაძლებელია Tensorflow დაინსტალირება
Code:
conda install tensorflow
16.png
დასრულების შედეგად ვამოწმებთ მის ვერსიას და მუშაობს თუარა.
Code:
python -c "import tensorflow; print(tensorflow.__version__)"
17.png

Keras:

18.png

Keras ეს ღია ნეირონული ბიბლიოთეკა, დაწერილია პითონში მას თან ახლავს დაკონფიგურაციებული ფრაემვორკების პარამეტრები Deeplearning4j, TensorFlow და Theano სთვის .

Keras ისნტალირდება Deep Exploit ის დამოკიდებული ფაილიდან ამაზე ოდნავ მოგივანებით :)

Deep Exploit ინსტალაცია

Code:
git clone https://github.com/13o-bbr-bbq/machine_learning_security
cd machine_learning_security/DeepExploit
მასზე დამოკიდებული პაკეტების ინსტალირება, TensorFlow ამოღება შესაძლებელი იქნება მისი დაკომენატრებით

Code:
pip install –r requirements.txt
ყველა დამოკიდებული პაკეტების ინსტალირების შემდეგ შეამოწმეთ Keras და Tensorflo ს მუშაობა.

19.png

და რედაქტირება ჩავუთაროთ /etc/proxychains.conf ფაილს შემდეგ გვარად.
20.png
ვაკონფიგურირებთ Keras TensorFlow სთან მუშაობისთვის. შიდა დირექტორიაში მდებარეობს .keras განყოფილება და ვასწორებთ მასში keras.json ფაილს.
Code:
nano keras.json
21.png
შემდეგი საფეხური იქინება Metasploit ის ბაზისი ინიცილირება რემოუთ სერვერზე ჩვენს ემთხვევაში ლოკალურზე გავუშვებთ msfconsole ს.
Code:
msfdb init
msfconsole
ვწევთ RPC სერვერს

ვიწვევთ Remote Procedure Call, RPC ეს ფუნქიცა საშვალებას იძლევა სხვა მისამრთიდან გამოიძახოთ პროცედურები.
Code:
msf> load msgrpc ServerHost=192.168.0.108 ServerPort=55553 User=test Pass=test1234
22.png
Deep Exploit განყოფილებაში ვარედაქტირებთ ფაილს config.ini:
Code:
nano config.ini
23.png
ვცვლით ზუსტად ისე როგორც სქრინზეა ნაჩვენები, ეს რემოუთ Metasploit და RPC სერვერის მონაცემებია, ეს საჭირაო წარმატებული სინქორინზაციისთვის Deep Exploit თან

სრული სტრუქტურით იგი ასე გამოიყურება:
24.png

ვუშვებთ Deep Exploit ს სატესტო ინტელქტუალურ რეჟიმში Metasploitable2. სერვერის წინააღმდეგ.
Code:
python DeepExploit.py -t 192.168.0.109 -m train
25.png
ახალ საწიროა რამოდენიმე წუთით ლოდინი Metasploit ის კონსოლზე ყურება სადაც რამოდენიმე ხანის შემდეგ გამოჩნდება რეზულტატები.
26.png
როდესაც Deep Exploit ი დაამთავრებს თავის მუშაობას საჭიროა რეპორტებთან გაცნობა მან ჩვენთვის შექმნა იგი.
27.png

სპეციალურად: CSG
მადლობა ყურადღებისთვი :)
 

Skiddie_From_Kernel

SuperUser 🐱‍💻
CSG Member
Alien 👽
დეკ 1, 2018
23
10
#3
კაი სატიაა ვები დიდად არ მიტაცებს მარა მოგვიანებით კარგად ჩავუჯდები