Xin chào. Vì vậy, tôi đã root 14 hộp đầu tiên của mình vào tuần trước và bây giờ tôi sẽ quay lại thực hiện lại chúng mà không cần metasploit. Lần đầu tiên tôi làm khập khiễng, điều này khiến tôi mãi mãi nhận ra rằng tôi chỉ cần thay đổi shebang thành python3 và chạy nó với python3. Tôi mệt mỏi với điều tương tự một lần nữa trên di sản, nhưng tôi nhận được lỗi
Tệp “ms17-010-khai thác. py”, dòng 83, trong
ntfea10000 = pack[‘
TypeError. không thể nối str thành byte"
Tôi cho rằng mình đã may mắn với Lame và không thể đơn giản thay đổi shebang và mong nó hoạt động mà không thay đổi cú pháp đã bị xóa/thêm trong quá trình chuyển đổi sang python 3?
Khi tôi thử chạy khai thác gốc […/bin/python] [Oracle 9i/10g - Evil Views Change Passwords - Multiple local Exploit] tôi nhận được
Nhập Lỗi. Không có mô-đun có tên impacket
Tôi đã thực hiện 'apt search imppacket' và tùy chọn phù hợp duy nhất là python3-impacket đã được cài đặt. Tôi đã mong đợi một tùy chọn cho python-impacket…Tôi khá bối rối về toàn bộ eol với python 1 & 2
Có thể việc khai thác thủ công là quá tiên tiến đối với tôi vào thời điểm này nhưng có vẻ như việc thực hiện các thay đổi nhỏ đối với mã khai thác là thủ thuật thực sự để khai thác các hộp chưa được vá nên tôi thực sự muốn có được điều này. Mọi sự trợ giúp sẽ rất được trân trọng
@ZanderMiller đã nói.
Tôi cho rằng mình đã may mắn với Lame và không thể đơn giản thay đổi shebang và mong nó hoạt động mà không thay đổi cú pháp đã bị xóa/thêm trong quá trình chuyển đổi sang python 3?
Bạn đã làm. Thông thường có rất nhiều thứ cần thay đổi. Ví dụ: print
cần phải là print[]
, v.v.
Có một tập lệnh 2to3
có thể hữu ích nhưng giống như bất kỳ quy trình tự động nào, nó có thể bỏ lỡ những điều quan trọng
Trong vấn đề hiện tại của bạn, có thể là do cách python3 đã thay đổi cách xử lý chuỗi thành byte. Bạn có thể cần thêm một số bit .decode[]
hoặc bạn có thể cần thực hiện một số thao tác khác, tùy thuộc vào bản chất chính xác của vấn đề
Trên thực tế, bạn cần xem qua tập lệnh và hiểu đầy đủ những gì nó đang làm, sau đó bạn có thể xác định các bit cần thay đổi
Rất hiếm khi đơn giản như thay đổi dòng đầu tiên
Tôi đã thực hiện 'apt search imppacket' và tùy chọn phù hợp duy nhất là python3-impacket đã được cài đặt
Tập lệnh của bạn có thể đang tìm thư viện python2. Nó bắt đầu trở nên lộn xộn khi bạn kết hợp các phần của python2 và python3 trong cùng một tập lệnh và bạn cần nói rõ mình đang gọi cái nào. Nếu bạn có python2 và python3, bạn có thể thấy python2 là mặc định, vì vậy nếu bạn chạy python script.py
, nó sẽ bỏ qua dòng shebang và cố chạy với python 2
Dòng shebang chỉ thực sự quan trọng nếu bạn chạy tập lệnh dưới dạng tệp thực thi độc lập
Thay vì dựa vào apt-get cho impacket, hãy kiểm tra git repo. GitHub - SecureAuthCorp/impacket. Impacket là tập hợp các lớp Python để làm việc với các giao thức mạng
Có thể việc khai thác thủ công là quá tiên tiến đối với tôi vào thời điểm này nhưng có vẻ như việc thực hiện các thay đổi nhỏ đối với mã khai thác là thủ thuật thực sự để khai thác các hộp chưa được vá nên tôi thực sự muốn có được điều này. Mọi sự trợ giúp sẽ rất được trân trọng
Khai thác thủ công tạo ra sự khác biệt đáng kể giữa những người có thể nhấp-pwn và những người có thể tìm ra cách khai thác mục tiêu
Cám ơn phản hồi của bạn. Tôi đã thử 2to3 nhưng không gặp may. Tuy nhiên có vẻ như. mã hóa [] đang hoạt động. Vấn đề duy nhất là khai thác của tôi dài gần 600 dòng nên tôi không nghĩ là thêm thủ công. encode[] cho mỗi chuỗi là giải pháp khả thi. [btw Tôi đã không sao chép toàn bộ liên kết đến khai thác mà tôi đang sử dụng đó là Microsoft Windows 7/2008 R2 - 'EternalBlue' SMB Remote Code Execution [MS17-010] - Khai thác từ xa Windows]
Thay vì thay đổi nó từ python sang python3, tại sao tôi không thể chạy tập lệnh python gốc? . py' nó nói rằng tôi đang thiếu impacket, vì vậy tôi đã làm theo hướng dẫn bắt đầu nhanh trên liên kết bạn cung cấp và thử 'pip install impacket' nhưng nó chỉ nói rằng nó đã được cài đặt trong python3 [mặc dù tôi cho rằng pip3 là thứ cài đặt mọi thứ vào
Từ những gì tôi đọc được, có vẻ như python2 [tôi hiểu là python] không còn trên debian/kali nữa, và do đó cần được thêm thủ công. Tôi đã tìm thấy liên kết này Sử dụng Phiên bản Python EoL trên Kali. Tài liệu về Kali Linux nhưng nó nói “Khi chúng tôi muốn hoán đổi về Python 3, chúng tôi chỉ cần đặt toàn cầu thành hệ thống. ” và tôi quá non nớt để biết cách làm điều đó
Có đúng là tôi đang thiếu python2 hay tôi chỉ thiếu gói tin trong thư mục python2 thích hợp?
@ZanderMiller đã nói.
Thay vì thay đổi nó từ python sang python3, tại sao tôi không thể chạy tập lệnh python gốc?
Bạn có thể
Khi tôi thử 'python myscript. py' nó nói rằng tôi đang thiếu impacket, vì vậy tôi đã làm theo hướng dẫn bắt đầu nhanh trên liên kết bạn cung cấp và thử 'pip install impacket' nhưng nó chỉ nói rằng nó đã được cài đặt trong python3 [mặc dù tôi cho rằng pip3 là thứ cài đặt mọi thứ vào
Có khả năng pip mặc định của bạn là python3-pip. Cũng có khả năng con trăn mặc định của bạn là Python3
Từ những gì tôi đọc được, có vẻ như python2 [tôi hiểu là python] không còn trên debian/kali nữa, và do đó cần được thêm thủ công
Ok, mình từ chối nâng cấp Kali vì bản 2020 hỏng đăng nhập root nên không biết hiện tại thế nào
Tôi đã tìm thấy liên kết này Sử dụng Phiên bản Python EoL trên Kali. Tài liệu về Kali Linux nhưng nó nói “Khi chúng tôi muốn hoán đổi về Python 3, chúng tôi chỉ cần đặt toàn cầu thành hệ thống. ” và tôi quá non nớt để biết cách làm điều đó
Liên kết nói về việc sử dụng môi trường ảo python, đây là một ý tưởng hay và chắc chắn đáng để tìm hiểu nếu bạn muốn sử dụng python theo cách phức tạp
Tóm lại là bạn thiết lập môi trường ảo với pyenv
rồi cài đặt python 2 vào môi trường. Sau đó, bạn có thể chạy tập lệnh [hoặc sử dụng pip để cài đặt mô-đun] cho python2 mà không phá vỡ cài đặt python3 trong môi trường trực tiếp của bạn
Điều này có thể giúp. GitHub - pyenv/pyenv. Quản lý phiên bản Python đơn giản
Có đúng là tôi đang thiếu python2 hay tôi chỉ thiếu gói tin trong thư mục python2 thích hợp?
Nó rất khó để nói. Hãy thử python2 --version
và xem những gì nó nói
NÓ ĐÃ LÀM VIỆC. Tôi thực sự đánh giá cao sự giúp đỡ mà hai bạn đã cung cấp. Đây là bài đăng đầu tiên của tôi trên diễn đàn và tôi phải nói rằng thật tuyệt khi nhận được sự giúp đỡ từ cộng đồng và làm được điều gì đó hiệu quả sau khi đã dành quá nhiều thời gian để vò đầu bứt tai
TazWake, kiểm tra phiên bản để xem những gì đã được cài đặt là một trợ giúp rất lớn, tôi tiếp tục tìm trong thư mục usr/bin của mình và tất cả các thư mục python khác nhau chỉ khiến tôi bối rối hơn. Tôi nhớ đã xem qua toàn bộ phiên bản trước đây nhưng tôi hoàn toàn quên mất nó. Tôi cứ nghĩ rằng python2 hoàn toàn không có ở đó nhưng khi chuyển đổi -V và như HomeSun đã chỉ ra, nó ở đó, nó không có nhiều mô-đun, như pip