Tuesday, March 6, 2018

Sử dụng Selenium với python!


Để tương tác với các trang web tự động hay muốn tải một lượng lớn các file từ web, chúng ta có thể tương tác tự động bằng công cụ Selenium.
Bước 1. Cài đặt gói Selenium cho Python
Bước 2. Tải Selenium Driver, với Chrome là Chromedriver từ trang chính của Selenium. Sau đó để vào 1 địa chỉ bất kỳ trên máy cục bộ.
Bước 3. Mã như sau ( đang thử nghiệm tải file từ detux.org):

from selenium import webdriver

username = "tnphvan@gmail.com"password = "Abc123"
# để file chromedrive tại địa chỉ nàydriver = webdriver.Chrome('/Users/np/Desktop/se/chromedriver')

#trang đăng nhậpdriver.get("https://detux.org/login.php")
username_field = driver.find_element_by_id("email")
password_field = driver.find_element_by_id("reference")
login_button = driver.find_element_by_class_name("btn btn-primary")

username_field.send_keys(username)
password_field.send_keys(password)
login_button.click()

driver.get("https://detux.org/report.php?sha256=f09f4da0e9c6a0df2e4bd7dc69de2a199501a33b9d77b23b776b99bc4c9a4b6a")
html = driver.page_source
print(html)

Monday, March 5, 2018

Cơ bản về TFTP

Usage: tftp [OPTION]... HOST [PORT]

Transfers a file from/to a tftp server using "octet" mode.

Options:
        -l FILE Local FILE.
        -r FILE Remote FILE.
        -g      Get file.
        -p      Put file.


So try next:
tftp -g -r filename.txt 20.20.20.1

Monday, October 9, 2017

[EVE-NG] Hướng dẫn kích hoạt license cisco IOL trên EVE

Trong bài lab này chúng tôi sẽ giới thiệu mọi người add firmware IOL vào EVE và crack license cho cisco IOL này
 1. Mở winscp và putty để kết nối vào server EVE
 2. Copy file IOL vào thư mục
/opt/unetlab/addons/iol/bin
 3. Mình sẽ download file Crack cho firmware IOS cisco bằng conment
 4. Gán quyền thưc thi cho file ciscokey.py vn run file bằng lệnh sau:
chmod +x  CiscoKeyGen.py
./CiscoKeyGen.py
 5.Sau khi chạy file ciscokey ta sẽ có 1 chuỗi string để add vào file iourc(file chua license)
972f30267ef51616;
 6.Tiến hành tạo file iourc
echo [license] > /opt/unetlab/addons/iol/bin/iourc
 7.add chuỗi license ở trên vào file iourc
echo “eve-ng = 972f30267ef51616;” >> /opt/unetlab/addons/iol/bin/iourc
 8.Mình sẽ xác minh lại file iource xem đã add đúng với chuỗi string ban đầu mình crack chưa
cat /opt/unetlab/addons/iol/bin/iourc
 9 Done..Giờ chúng ta vào eve để chạy IOL
---------------
Tham khảo: itforvn.com

Wednesday, September 27, 2017

[EVE-NG] Một số câu hỏi thường gặp

Hỏi: Các cổng nào tôi phải mở trên tường lửa để cấp quyền truy cập telnet từ kết nối từ xa?
A: EVE đang sử dụng cổng bắt đầu từ 32768 

Công thức = 32768 + 128 * POD + 1 -> 32768 + 128 * POD + 128 POD: id người dùng (admin = 0)

Ví dụ: bạn có quản trị viên (POD 0) + 2 người dùng (POD 1, POD 2) 
32768 + 128 * 0 + 1 (cổng đầu tiên cho POD0) -> 32768 + 128 * 2 + 128 (cổng cuối của POD 2) = 32769 -> 33152
Cảng dành cho người vượt trội:
PODCảng đầu tiênCảng Cuối cùng
13276932896
23289733024
33302533152
43315333280
53328133408
63340933536
73353733664
số 83366533792
93379333920
103392134048
113404934176
123417734304
133430534432
143443334560
153456134688
163468934816
173481734944


vì vậy, ... toán học đơn giản. 
Tất nhiên bạn phải chắc chắn rằng mở cổng 80 (443 nếu bạn sử dụng SSL) và 22.
Hỏi: Làm thế nào để thiết lập lại cài đặt EVE quản lý IP / DNS / NTP / Root mật khẩu? 
A: từ loại EVI cli: rm -f /opt/ovf/.configured . Sau đó, khởi động lại và đăng nhập từ cli một lần nữa. EVE của bạn sẽ nhảy tới trình hướng dẫn cài đặt ban đầu.
H: Điều gì đã xảy ra với vai trò người dùng (Người dùng, Người biên tập)? 
A: Vai trò của người dùng đã bị xóa khỏi ấn bản cộng đồng và tất cả người dùng đều là quản trị viên. Vai trò người dùng là một phần của Trung tâm Đào tạo. (Thông tin chi tiết về phiên bản này, tính năng và ngày phát hành sẽ được đăng trên trang web, hãy theo dõi)
Hỏi: Tại sao các nút Qemu chậm trên I7 64G ram của tôi? 
A: Thông thường, chương trình chống sâu virus sẽ làm chậm Vmware Workstation và Virtual machines. Quan sát gần đây nhất là thậm chí các nút (vios, CSR) chạy trên EVE đã được kiểm tra AV. Tránh sử dụng AV trên vmware nhị phân.

Hỏi: Làm thế nào để nâng cấp EVE của tôi?
Xem VIDEO 
A: chạy các lệnh sau:
        apt-get update
        apt-get upgrade
QUAN TRỌNG: sau khi cập nhật VM EVE của bạn khởi động lại nó và CLEAR bộ nhớ cache của trình duyệt của bạn. 

Hỏi: Làm thế nào để di chuyển từ UNL sang EVE? Có thể nâng cấp được không? 
A: Không. Cách duy nhất là sao lưu tất cả các hình ảnh, phòng thí nghiệm từ UNL, cài đặt EVE tươi từ ISO hoặc OVA và khôi phục lại các bản sao lưu. 

Hỏi: Tại sao wireshark của tôi không hoạt động? 
A: Bạn cần phải chỉnh sửa tệp C: \ Program Files \ UNetLab \ wireshark_wrapper.bat và thay đổi mật khẩu gốc để khớp với mật khẩu bạn sử dụng. 

Hỏi: Bắt đầu hơn 10 CSR cho CPU HOG. Phải làm gì? 
Đáp: UKSM có lợi cho 10 CSR, nếu bạn muốn khởi chạy hơn 10 CSR, hãy vô hiệu UKSM
H: Làm thế nào để sửa các điều khoản? 
A: Run bellow lệnh từ cli 
        / opt / unetlab / wrappers / unl_wrapper-a fixpermissions 

Q: Làm thế nào để kiểm tra phiên bản EVE-NG đang chạy từ CLI? 
A: Chạy các lệnh từ cli 
        dpkg -l eve-ng
Hỏi: Tôi đang chạy trên không gian, làm thế nào tôi có thể thêm nhiều lưu trữ cho máy ảo?
Xem video
A: Hãy chắc chắn rằng bạn đang chạy phiên bản 2.0.2-23 EVE hay muộn 
        Power off VM 
        Add New Disk để VM với mong muốn kích thước 
        Bật VM
Hỏi: Tên người dùng và mật khẩu mặc định cho EVE-NG là gì? 
A: CLI - root / eve 
    WEB - admin / eve 
Hỏi: Làm thế nào để kết nối nhiều nút với cùng một mạng? 
A: Thêm một đối tượng mạng vào topology của phòng thí nghiệm và kết nối nhiều nút với nó.
  
H: Trạng thái Giới hạn CPU là gì? 
Đáp: Nó hạn chế quá tải CPU cho mỗi nút, nhưng nó không liên quan đến việc sử dụng CPU thông thường.
Hỏi: Các nút IOL của tôi mất cấu hình trong NVRAM sau khi nâng cấp lên v2.0.3-53, tôi nên làm gì? 
Đ: Đúng, nếu phòng thí nghiệm đã được tạo ra trước phiên bản v2.0.2-23, IOL đã sử dụng mã cũ với lỗi được khắc phục trong bản phát hành sau này. phiên bản mới cần phải chạy lại nút đó sẽ tạo ra NVRAM mới cho IOL của bạn. Giải pháp để giữ cấu hình của bạn: Cách tốt nhất nếu bạn đã xuất khẩu các cấu hình bằng cách sử dụng tính năng xuất khẩu cfg. Sau đó, bạn có thể khởi động nút sau khi NVRAM quét sạch với cấu hình của bạn trong phiên bản EVE mới.
Hỏi: Làm thế nào để thiết lập lại / phục hồi truy cập quản trị web? 
A: Gõ tiếp theo EVE CLI như người dùng gốc: 
     echo "INSERT INTO users VALUES ('admin', NULL, 'root @ localhost', - 1, 'Eve-NG Administrator', '85262adf74518bbb70c7cb94cd6159d91669e5a81edf1efebd543eadbda9fa2b', NULL, '', ' admin ',' ', 1); " | mysql --host = localhost --user = root --password = eve-ng eve_ng_db
    Thao tác này sẽ thêm / khôi phục lại tài khoản "admin" với mật khẩu "eve" (không có dấu ngoặc kép)



Nguồn : http://www.eve-ng.net/

[EVE-NG] Thêm các Host Windows và Kali Linux vào EVE-NG

1. Thêm Host Windows vào EVE-NG

Đầu tiên bạn cần 1 bản cài Windows : file  .ISO  ,(hoặc file máy ảo thì càng tốt vì mục đích cuối cùng là chuyển sang định dạng .qcow2)
Chúng tôi đang sử dụng: Windows7SP1Ultimate_64_Bit.iso. Hãy chắc chắn rằng tên file không có dấu cách trong tên tập tin!  Bất kỳ phiên bản Windows nào cũng làm tương tự
  1. Tạo thư mục hình ảnh mới:
mkdir /opt/unetlab/addons/qemu/win-7test/
chú ý : *  win- là bắt buộc còn phần sau bạn có thể đặt tùy ý
        *  Bạn cũng có thể dùng WINSCP để thực hiện các thao tác Tạo foder , upload, di chuyển file, đổi tên file ...
  1. Sử dụng WINSCP hoặc FileZilla SFTP hoặc SCP (cổng 22) để sao chép file .ISO vào thư mục mới tạo, đường dẫn: / opt / unetlab / addons / qemu / win-7test /
  2. Từ console đi đến
cd /opt/unetlab/addons/qemu/win-7test/
  1. Đổi tên file này thành cdrom.iso
mv Windows7SP1Ultimate_64_Bit.iso cdrom.iso
  1. Từ EVE console vào thư mục Image được tạo
cd /opt/unetlab/addons/qemu/win-7test/
  1. Tạo mới hda.qcow2
/opt/qemu/bin/qemu-img create -f qcow2 virtioa.qcow2 30G
30G ở đây là dung lượng ổ cứng mình tạo cho nó , bạn có thể tùy chỉnh
  1. Tạo phòng thí nghiệm mới và thêm nút win-7test mới được tạo ra
  2. Chỉnh sửa cài đặt nút và thiết lập, qemu phiên bản 2.2.0 và NIC e1000.
  3. Tiến hành cài đặt Windows một cách bình thường như cài trên một máy tính
  4. Hoàn tất việc cài đặt và tắt máy windows vừa tạo
  5. Trên trang web của EVE LAB trên thanh bên trái chọn "Lab Details" để xem chi tiết về phòng thí nghiệm của bạn: trường hợp của tôi: UUID: 3491e0a7-25f8-46e1-b697-ccb4fc4088a2
  6. QUAN TRỌNG: Chuyển đổi hình ảnh tmp đã cài đặt của bạn:
qemu-img convert -c -O qcow2 /opt/unetlab/tmp/10/3491e0a7-25f8-46e1-b697-ccb4fc4088a2/1/hda.qcow2  /tmp/hda.qcow2
( 10 là POD số người sử dụng, trường hợp của tôi là 10, admin người sử dụng nó là 0, 1 là foder của node)
  1. Di chuyển image mới vào thư mục nút để ghi đè lên đĩa trống:
mv /tmp/hda.qcow2  /opt/unetlab/addons/qemu/win-7test/hda.qcow2
  1. Loại bỏ cdrom.iso khỏi / opt / unetlab / addons / qemu / win-7test /
cd /opt/unetlab/addons/qemu/win-7test/
rm -f cdrom.iso
LÀM XONG

Cách thêm một máy ảo có sẵn Vào EVE-NG :

      Chuẩn bị một máy ảo VM-ware (một foder máy ảo đầy đủ)


Từ EVE Console, tạo thư mục tmp :

mkdir tmp
cd tmp
Dùng WINSCP upload các file trong foder vừa chuẩn bị vào thư mục tmp vừa tạo
Chuyển đổi đĩa sang định dạng qcow2:
/opt/qemu/bin/qemu-img convert -f vmdk -O qcow2 Windows7SP1Ultimate_64_Bit.vmdk hda.qcow2
Tạo thư mục cho image HDD và di chuyển nó:
mkdir /opt/unetlab/addons/qemu/win-7vmdk
mv hda.qcow2 /opt/unetlab/addons/qemu/win-7vmdk

Dọn dẹp và chỉnh sửa điều khoản
cd ..
rm -rf tmp
/opt/unetlab/wrappers/unl_wrapper -a fixpermissions

Tạo phòng thí nghiệm mới và thêm node win-7vmdk mới được tạo ra

Lời khuyên : nên dùng cách này thay cho cách dùng file .iso nói trên vì nó sẽ nhanh hơn nhiều

Đối với Linux ta có thể làm tương tự

Chú ý : Foder Qmenu của Linux là linux- (ví dụ : linux-kali)


Sunday, September 17, 2017

Tổng quan Cinder

Tổng quan Cinder

Mục lục

1. Giới thiệu Cinder
  • 1.1. Giới thiệu
  • 1.2. Các đặc điểm
  • Kiến trúc Cinder
2. Các thành phần
3. Tham khảo


1. Giới thiệu Cinder


1.1. Giới thiệu

  • Dịch vụ block storage cung cấp các tài nguyên lưu trữ dạng block theo kiểu persistent mà máy ảo compute có thể sử dụng. Đây là dịch vụ lưu trữ thứ cấp giống với dịch vụ lưu trữ Amazone Elastic Block Storage (EBS). Ngoài ra, bạn có thể ghi image vào một thiết bị lưu trữ Block storage cho Compute để sử dụng như là boot một máy ảo.
  • Dịch vụ Block storage khác với Amazon EBS. Dịch vụ Block storage không cung cấp giải pháp lưu trữ dùng chung như NFS. Với dịch vụ Block Storage, bạn có thể gán một thiết bị chỉ với một máy ảo.
    img
  • Trong Openstack, dịch vụ này được triển khai dưới tên gọi là Cinder.

1.2. Các chức năng

  • Cung cấp và quản lý các tài nguyên lưu trữ dạng persistent block storage (volume) cho các máy ảo.
  • Các volume này có thể được tách từ máy ảo này và gán lại vào một máy ảo khác, mà dữ liệu được giữ nguyên không bị thay đổi.
  • Hiện tại, một volume chỉ có thể được gán (attached) và một máy ảo tại một thời điểm.
  • Các volume tồn tại độc lập với các máy ảo (tức là khi máy ảo bị xóa thì volume không bị xóa).
  • Phân chia tài nguyên lưu trữ thành các khối gọi là Cinder volume.
  • Cung cấp các API như là tạo, xóa, backup, restore, tạo snapshot, clone volume và nhiều hơn nữa. Những API này thực hiện bởi các backend lưu trữ mà được cinder hỗ trợ.
  • Các kiến trúc plugin drive cho phép nhiều lựa chọn làm backend storage.

1.3. Kiến trúc Cinder

Các dịch vụ mà Block Storage - Cinder cung cấp là:
  • cinder-api - một ứng dụng WSGI dùng để xác thực và định tuyến các request yêu cầu trong dịch vụ Block Storage. Nó chỉ hỗ trợ các API của OpenStack, mặc dù có một translation có thể được thực hiện thông qua giao diện EC2 của Compute, mà sẽ gọi đến Block storage client.
  • cinder-scheduler - lập lịch trình và định tuyến các request yêu cầu tới một volume thích hợp. Tùy thuộc vào cấu hình của bạn, việc này có thể là lập lịch trình kiểu round-robin đơn giản cho các dịch vụ volume đang chạy, hoặc nó có thể phức tạp hơn thông qua việc sử dụng Filter Scheduler. Bộ lọc Filter Scheduler là cấu hình mặc định và cho phép bộ lọc về những thứ như Dung lượng - Capacity, Availability Zone, Volume Types, và Capabilities vcũng như các bộ lọc tùy chỉnh.
  • cinder-volume : quản lý các thiết bị Block Storage, cụ thể là các thiết bị back-end của chính chúng.
  • cinder-backup: cung cấp một phương tiện để sao lưu một Bloack storage volume tới khối lưu trữ OpenStack Object storage (Switf).
    img
  • cinder-client: CLI/UI để tạo request
  • drive: chứa các backend xác định để liên kết với nhiều loại storage khác nhau
  • Storage: Các nhà cung cấp thiết bị lưu trữ backend khác nhau
  • SQL DB: theo dõi các volume đang được sử dụng

2. Các thành phần Cinder

Dịch vụ Block Storage chứa các thành phần sau:
  • Back-end Storage Devices: dịch vụ Block Storage yêu cầu một số dạng lưu trữ back-end là nền tảng để triển khai. Việc triển khai mặc định là sử dụng LVM trên một logical volume group tên là 'cinder-volumes'. Ngoài việc triển khai trên drive mặc định, dịch vụ Block Storage còn cung cấp phương tiện để hỗ trợ các thiết bị lưu trữ khác được sử dụng như Raid Array hoặc các thiết bị lưu trữ khác. Các back-end này có thể tùy chỉnh kích thước block khi sử dụng KVM hoặc QEMU làm hypervisor.
  • Users và Tenants (Projects): dịch vụ Block Storage có thể được sử dụng bởi nhiều khách hàng hoặc khách hàng điện toán đám mây khác nhau (những tenant trên một hệ thống shared system), sử dụng gán quyền truy cập theo role. Các role điểu khiển các hành động mà người dùng được phép thực hiện. Trong cấu hình mặc định, hầu hết các hành động không yêu cầu role cụ thể, nhưng điều này có thể được cấu hình bởi quản trị viên hệ thống trong tệp policy.json thích hợp để duy trì các quy tắc. Quyền truy cập vào một volume cụ thể của người dùng bị giới hạn bởi tenant (project), nhưng tên người dùng và mật khẩu được chỉ định cho mỗi người dùng. Các cặp khóa key-pairs cho phép truy cập vào một volume được kích hoạt cho mỗi người dùng, nhưng hạn ngạch quotas để kiểm soát tài nguyên sử dụng trên các thiết bị phần cứng có sẵn là cho mỗi tenant. Với các tenant, kiểm soát quota có thể hạn chế:
    • Số volume có thể tạo.
    • Số snapshot có thể tạo.
    • Tổng dung lượng (GB) cho phép mỗi tenant (được chia sẻ giữa các bản snapshot và volume).
    Bạn có thể điều chỉnh được lượng quota mặc định với Block storage CLI, nhưng lượng quota đó vẫn có thể điều chỉnh bởi người dùng admin.
  • Volume, Snapshots và Backups - các tài nguyên cơ bản được cung cấp bởi dịch vụ Block Storage là các volume và snapshots có nguồn gốc từ volume và volume backup:
    • Volumes- cấp phát tài nguyên lưu trữ block storage có thể gắn với các instance như secondary storage hoặc chúng có thể được sử dụng như là root store để boot máy ảo. Volume là thiết bị lưu trữ dạng block R/W persistent được gắn với node compute thông qua giao thức iSCSI.
    • Snapshot: bản copy tại một thời điểm của volume. Snapshot có thể được tạo ra từ một volume hiện đang được sử dụng (thông qua sử dụng tùy chọn --force True) hoặc ở trạng thái available. Snapshot sau đó có thể được sử dụng để tạo một volume mới thông qua việc tạo từ Snapshot.
    • Backups: một bản copy lấy được từ volume hiện tại được lưu trữ trong Object storage (Swift).
Trên đây chỉ là một vài thông tin sơ bộ, chi tiết về Cinder tìm hiểu kĩ hơn tại đây.

3. Tham khảo

[1] https://docs.openstack.org/ocata/config-reference/block-storage/block-storage-overview.html
[2] https://www.slideshare.net/dpkshetty/gluster-meetup-openstackdeepakcs

nguồn:hocchudong

LibVM

Một trong các giải pháp thu thập thông tin mức thấp của các máy ảo, LibVM là một công cụ được phát triển với nhiều triển vọng. LibVMI là thư viện thu thập thông tin đọc, ghi vào bộ nhớ từ máy ảo (VMs). Nhằm sử dụng thuận lợi hơn, LibVMI cung cấp chức năng truy cập thanh ghi CPU, dừng máy ảo, in dữ liệu và nhiều chức năng khác. LibVMI được thiết kế để làm việc độc lập nền tảng ảo hóa. LibVMI hỗ trợ chạy trên Xem và KVM, nó cũng hỗ trợ đọc bộ nhớ vật lý trong bản snapshot khi nó được lưu thành các file.
Tìm hiểu chi tiết tại http://libvmi.com
Phân tích sâu tại https://www.acsac.org/2007/papers/138.pdf
https://drakvuf.com/