ಪವರ್‌ಶೆಲ್‌ನಲ್ಲಿ ರಿವರ್ಸ್ ಸಾಕ್ಸ್ 5 ಪ್ರಾಕ್ಸಿಯನ್ನು ಬರೆಯುವುದು. ಭಾಗ 1

3 ಭಾಗಗಳಲ್ಲಿ ಸಂಶೋಧನೆ ಮತ್ತು ಅಭಿವೃದ್ಧಿಯ ಕುರಿತಾದ ಕಥೆ. ಭಾಗ 1 ಪರಿಶೋಧನಾತ್ಮಕವಾಗಿದೆ.
ಅನೇಕ ಬೀಚ್ ಮರಗಳಿವೆ - ಇನ್ನೂ ಹೆಚ್ಚಿನ ಪ್ರಯೋಜನಗಳು.

ಸಮಸ್ಯೆ ಹೇಳಿಕೆ

ಪೆಂಟೆಸ್ಟ್‌ಗಳು ಮತ್ತು ರೆಡ್‌ಟೀಮ್ ಪ್ರಚಾರಗಳ ಸಮಯದಲ್ಲಿ, ವಿಪಿಎನ್, ಆರ್‌ಡಿಪಿ, ಸಿಟ್ರಿಕ್ಸ್ ಇತ್ಯಾದಿಗಳಂತಹ ಗ್ರಾಹಕರ ಪ್ರಮಾಣಿತ ಪರಿಕರಗಳನ್ನು ಬಳಸಲು ಯಾವಾಗಲೂ ಸಾಧ್ಯವಿಲ್ಲ. ಆಂತರಿಕ ನೆಟ್ವರ್ಕ್ಗೆ ಪ್ರವೇಶಿಸಲು ಆಂಕರ್ ಆಗಿ. ಕೆಲವು ಸ್ಥಳಗಳಲ್ಲಿ, ಸ್ಟ್ಯಾಂಡರ್ಡ್ ವಿಪಿಎನ್ ಎಂಎಫ್‌ಎ ಬಳಸಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಹಾರ್ಡ್‌ವೇರ್ ಟೋಕನ್ ಅನ್ನು ಎರಡನೇ ಅಂಶವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ, ಇತರರಲ್ಲಿ ಅದನ್ನು ಕ್ರೂರವಾಗಿ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು ನಮ್ಮ ವಿಪಿಎನ್ ಲಾಗಿನ್ ತಕ್ಷಣವೇ ಗೋಚರಿಸುತ್ತದೆ, ಅವರು ಹೇಳಿದಂತೆ, ಅದು ಒಳಗೊಂಡಿರುವ ಎಲ್ಲದರ ಜೊತೆಗೆ, ಆದರೆ ಇತರರಲ್ಲಿ ಸರಳವಾಗಿ ಅಂತಹ ವಿಧಾನಗಳಿಲ್ಲ.

ಅಂತಹ ಸಂದರ್ಭಗಳಲ್ಲಿ, ನಾವು ನಿರಂತರವಾಗಿ "ರಿವರ್ಸ್ ಟನಲ್ಗಳು" ಎಂದು ಕರೆಯಬೇಕಾಗುತ್ತದೆ - ಆಂತರಿಕ ನೆಟ್ವರ್ಕ್ನಿಂದ ಬಾಹ್ಯ ಸಂಪನ್ಮೂಲ ಅಥವಾ ನಾವು ನಿಯಂತ್ರಿಸುವ ಸರ್ವರ್ಗೆ ಸಂಪರ್ಕಗಳು. ಅಂತಹ ಸುರಂಗದ ಒಳಗೆ, ನಾವು ಈಗಾಗಲೇ ಗ್ರಾಹಕರ ಆಂತರಿಕ ಸಂಪನ್ಮೂಲಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಬಹುದು.

ಈ ರಿಟರ್ನ್ ಸುರಂಗಗಳಲ್ಲಿ ಹಲವಾರು ವಿಧಗಳಿವೆ. ಅವುಗಳಲ್ಲಿ ಅತ್ಯಂತ ಪ್ರಸಿದ್ಧವಾದದ್ದು, ಸಹಜವಾಗಿ, ಮೀಟರ್ಪ್ರಿಟರ್. ರಿವರ್ಸ್ ಪೋರ್ಟ್ ಫಾರ್ವರ್ಡ್ ಮಾಡುವಿಕೆಯೊಂದಿಗೆ SSH ಸುರಂಗಗಳು ಹ್ಯಾಕರ್ ಜನಸಾಮಾನ್ಯರಲ್ಲಿ ಹೆಚ್ಚಿನ ಬೇಡಿಕೆಯಲ್ಲಿವೆ. ರಿವರ್ಸ್ ಟನೆಲಿಂಗ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸಾಕಷ್ಟು ವಿಧಾನಗಳಿವೆ ಮತ್ತು ಅವುಗಳಲ್ಲಿ ಹಲವು ಚೆನ್ನಾಗಿ ಅಧ್ಯಯನ ಮತ್ತು ವಿವರಿಸಲಾಗಿದೆ.
ಸಹಜವಾಗಿ, ಅವರ ಪಾಲಿಗೆ, ಭದ್ರತಾ ಪರಿಹಾರಗಳ ಅಭಿವರ್ಧಕರು ಪಕ್ಕಕ್ಕೆ ನಿಲ್ಲುವುದಿಲ್ಲ ಮತ್ತು ಅಂತಹ ಕ್ರಮಗಳನ್ನು ಸಕ್ರಿಯವಾಗಿ ಪತ್ತೆ ಮಾಡುತ್ತಾರೆ.
ಉದಾಹರಣೆಗೆ, ಸಿಸ್ಕೋ ಅಥವಾ ಪಾಸಿಟಿವ್ ಟೆಕ್‌ನಿಂದ ಆಧುನಿಕ IPS ಮೂಲಕ MSF ಸೆಷನ್‌ಗಳನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಪತ್ತೆಹಚ್ಚಲಾಗುತ್ತದೆ ಮತ್ತು ಯಾವುದೇ ಸಾಮಾನ್ಯ ಫೈರ್‌ವಾಲ್‌ನಿಂದ ರಿವರ್ಸ್ SSH ಸುರಂಗವನ್ನು ಕಂಡುಹಿಡಿಯಬಹುದು.

ಆದ್ದರಿಂದ, ಉತ್ತಮ RedTeam ಪ್ರಚಾರದಲ್ಲಿ ಗಮನಿಸದೆ ಉಳಿಯಲು, ನಾವು ಪ್ರಮಾಣಿತವಲ್ಲದ ವಿಧಾನಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಹಿಮ್ಮುಖ ಸುರಂಗವನ್ನು ನಿರ್ಮಿಸಬೇಕಾಗಿದೆ ಮತ್ತು ನೆಟ್ವರ್ಕ್ನ ನೈಜ ಆಪರೇಟಿಂಗ್ ಮೋಡ್ಗೆ ಸಾಧ್ಯವಾದಷ್ಟು ಹತ್ತಿರವಾಗಿ ಹೊಂದಿಕೊಳ್ಳಬೇಕು.

ಇದೇ ರೀತಿಯದನ್ನು ಕಂಡುಹಿಡಿಯಲು ಅಥವಾ ಆವಿಷ್ಕರಿಸಲು ಪ್ರಯತ್ನಿಸೋಣ.

ಯಾವುದನ್ನಾದರೂ ಆವಿಷ್ಕರಿಸುವ ಮೊದಲು, ನಾವು ಯಾವ ಫಲಿತಾಂಶವನ್ನು ಸಾಧಿಸಲು ಬಯಸುತ್ತೇವೆ, ನಮ್ಮ ಅಭಿವೃದ್ಧಿ ಯಾವ ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸಬೇಕು ಎಂಬುದನ್ನು ನಾವು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬೇಕು. ನಾವು ಗರಿಷ್ಠ ಸ್ಟೆಲ್ತ್ ಮೋಡ್‌ನಲ್ಲಿ ಕೆಲಸ ಮಾಡಲು ಸುರಂಗದ ಅವಶ್ಯಕತೆಗಳು ಯಾವುವು?

ಪ್ರತಿಯೊಂದು ಪ್ರಕರಣಕ್ಕೂ ಅಂತಹ ಅವಶ್ಯಕತೆಗಳು ಹೆಚ್ಚು ಭಿನ್ನವಾಗಿರಬಹುದು ಎಂಬುದು ಸ್ಪಷ್ಟವಾಗಿದೆ, ಆದರೆ ಕೆಲಸದ ಅನುಭವದ ಆಧಾರದ ಮೇಲೆ, ಮುಖ್ಯವಾದವುಗಳನ್ನು ಗುರುತಿಸಬಹುದು:

  • Windows-7-10 OS ನಲ್ಲಿ ಕೆಲಸ ಮಾಡಿ. ಹೆಚ್ಚಿನ ಕಾರ್ಪೊರೇಟ್ ನೆಟ್ವರ್ಕ್ಗಳು ​​ವಿಂಡೋಸ್ ಅನ್ನು ಬಳಸುವುದರಿಂದ;
  • ips ಬಳಸಿಕೊಂಡು ಸ್ಟುಪಿಡ್ ಆಲಿಸುವಿಕೆಯನ್ನು ತಪ್ಪಿಸಲು ಕ್ಲೈಂಟ್ SSL ಮೂಲಕ ಸರ್ವರ್‌ಗೆ ಸಂಪರ್ಕಿಸುತ್ತದೆ;
  • ಸಂಪರ್ಕಿಸುವಾಗ, ಕ್ಲೈಂಟ್ ಪ್ರಾಕ್ಸಿ ಸರ್ವರ್ ಮೂಲಕ ದೃಢೀಕರಣದೊಂದಿಗೆ ಕೆಲಸವನ್ನು ಬೆಂಬಲಿಸಬೇಕು, ಏಕೆಂದರೆ ಅನೇಕ ಕಂಪನಿಗಳಲ್ಲಿ, ಇಂಟರ್ನೆಟ್ ಪ್ರವೇಶವು ಪ್ರಾಕ್ಸಿ ಮೂಲಕ ಸಂಭವಿಸುತ್ತದೆ. ವಾಸ್ತವವಾಗಿ, ಕ್ಲೈಂಟ್ ಯಂತ್ರವು ಅದರ ಬಗ್ಗೆ ಏನನ್ನೂ ತಿಳಿದಿಲ್ಲದಿರಬಹುದು ಮತ್ತು ಪ್ರಾಕ್ಸಿಯನ್ನು ಪಾರದರ್ಶಕ ಮೋಡ್‌ನಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ. ಆದರೆ ನಾವು ಅಂತಹ ಕಾರ್ಯವನ್ನು ಒದಗಿಸಬೇಕು;
  • ಕ್ಲೈಂಟ್ ಭಾಗವು ಸಂಕ್ಷಿಪ್ತ ಮತ್ತು ಪೋರ್ಟಬಲ್ ಆಗಿರಬೇಕು;
    ಗ್ರಾಹಕರ ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ಕೆಲಸ ಮಾಡಲು, ನೀವು ಕ್ಲೈಂಟ್ ಯಂತ್ರದಲ್ಲಿ OpenVPN ಅನ್ನು ಸ್ಥಾಪಿಸಬಹುದು ಮತ್ತು ನಿಮ್ಮ ಸರ್ವರ್‌ಗೆ ಪೂರ್ಣ ಪ್ರಮಾಣದ ಸುರಂಗವನ್ನು ರಚಿಸಬಹುದು (ಅದೃಷ್ಟವಶಾತ್, openvpn ಕ್ಲೈಂಟ್‌ಗಳು ಪ್ರಾಕ್ಸಿ ಮೂಲಕ ಕೆಲಸ ಮಾಡಬಹುದು). ಆದರೆ, ಮೊದಲನೆಯದಾಗಿ, ಇದು ಯಾವಾಗಲೂ ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ, ಏಕೆಂದರೆ ನಾವು ಅಲ್ಲಿ ಸ್ಥಳೀಯ ನಿರ್ವಾಹಕರಾಗಿಲ್ಲದಿರಬಹುದು, ಮತ್ತು ಎರಡನೆಯದಾಗಿ, ಇದು ತುಂಬಾ ಶಬ್ದ ಮಾಡುತ್ತದೆ, ಯೋಗ್ಯವಾದ SIEM ಅಥವಾ HIPS ತಕ್ಷಣವೇ ನಮ್ಮನ್ನು "ಸ್ನಿಚ್" ಮಾಡುತ್ತದೆ. ತಾತ್ತ್ವಿಕವಾಗಿ, ನಮ್ಮ ಕ್ಲೈಂಟ್ ಇನ್‌ಲೈನ್ ಕಮಾಂಡ್ ಎಂದು ಕರೆಯಲ್ಪಡಬೇಕು, ಉದಾಹರಣೆಗೆ ಅನೇಕ ಬ್ಯಾಷ್ ಶೆಲ್‌ಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಆಜ್ಞಾ ಸಾಲಿನ ಮೂಲಕ ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತದೆ, ಉದಾಹರಣೆಗೆ, ಮ್ಯಾಕ್ರೋ ಪದದಿಂದ ಆಜ್ಞೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವಾಗ.
  • ನಮ್ಮ ಸುರಂಗವು ಬಹು-ಥ್ರೆಡ್ ಆಗಿರಬೇಕು ಮತ್ತು ಅನೇಕ ಸಂಪರ್ಕಗಳನ್ನು ಏಕಕಾಲದಲ್ಲಿ ಬೆಂಬಲಿಸಬೇಕು;
  • ಕ್ಲೈಂಟ್-ಸರ್ವರ್ ಸಂಪರ್ಕವು ಕೆಲವು ರೀತಿಯ ಅಧಿಕಾರವನ್ನು ಹೊಂದಿರಬೇಕು ಆದ್ದರಿಂದ ಸುರಂಗವನ್ನು ನಮ್ಮ ಕ್ಲೈಂಟ್‌ಗಾಗಿ ಮಾತ್ರ ಸ್ಥಾಪಿಸಲಾಗಿದೆ ಮತ್ತು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ವಿಳಾಸ ಮತ್ತು ಪೋರ್ಟ್‌ನಲ್ಲಿ ನಮ್ಮ ಸರ್ವರ್‌ಗೆ ಬರುವ ಪ್ರತಿಯೊಬ್ಬರಿಗೂ ಅಲ್ಲ. ತಾತ್ತ್ವಿಕವಾಗಿ, ಮೂಲ ಡೊಮೇನ್‌ಗೆ ಸಂಬಂಧಿಸಿದ ಬೆಕ್ಕುಗಳು ಅಥವಾ ವೃತ್ತಿಪರ ವಿಷಯಗಳೊಂದಿಗೆ ಲ್ಯಾಂಡಿಂಗ್ ಪುಟವು "ಮೂರನೇ-ಪಕ್ಷದ ಬಳಕೆದಾರರಿಗಾಗಿ" ತೆರೆಯಬೇಕು.
    ಉದಾಹರಣೆಗೆ, ಗ್ರಾಹಕರು ವೈದ್ಯಕೀಯ ಸಂಸ್ಥೆಯಾಗಿದ್ದರೆ, ಕ್ಲಿನಿಕ್ ಉದ್ಯೋಗಿ ಪ್ರವೇಶಿಸಿದ ಸಂಪನ್ಮೂಲವನ್ನು ಪರಿಶೀಲಿಸಲು ನಿರ್ಧರಿಸುವ ಮಾಹಿತಿ ಭದ್ರತಾ ನಿರ್ವಾಹಕರಿಗೆ, ಔಷಧೀಯ ಉತ್ಪನ್ನಗಳೊಂದಿಗೆ ಪುಟ, ರೋಗನಿರ್ಣಯದ ವಿವರಣೆಯೊಂದಿಗೆ ವಿಕಿಪೀಡಿಯಾ ಅಥವಾ ಡಾ. ಕೊಮರೊವ್ಸ್ಕಿ ಅವರ ಬ್ಲಾಗ್, ಇತ್ಯಾದಿ. ತೆರೆಯಬೇಕು.

ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಉಪಕರಣಗಳ ವಿಶ್ಲೇಷಣೆ

ನಿಮ್ಮ ಸ್ವಂತ ಬೈಸಿಕಲ್ ಅನ್ನು ಮರುಶೋಧಿಸುವ ಮೊದಲು, ನೀವು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಬೈಸಿಕಲ್ಗಳ ವಿಶ್ಲೇಷಣೆಯನ್ನು ಮಾಡಬೇಕಾಗುತ್ತದೆ ಮತ್ತು ನಮಗೆ ನಿಜವಾಗಿಯೂ ಅಗತ್ಯವಿದೆಯೇ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬೇಕು ಮತ್ತು ಬಹುಶಃ, ಅಂತಹ ಕ್ರಿಯಾತ್ಮಕ ಬೈಸಿಕಲ್ನ ಅಗತ್ಯತೆಯ ಬಗ್ಗೆ ನಾವು ಮಾತ್ರ ಯೋಚಿಸಿಲ್ಲ.

ಇಂಟರ್ನೆಟ್‌ನಲ್ಲಿ ಗೂಗ್ಲಿಂಗ್ ಮಾಡುವುದು (ನಾವು ಸಾಮಾನ್ಯವಾಗಿ ಗೂಗಲ್ ಎಂದು ತೋರುತ್ತದೆ), ಹಾಗೆಯೇ "ರಿವರ್ಸ್ ಸಾಕ್ಸ್" ಕೀವರ್ಡ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಗಿಥಬ್‌ನಲ್ಲಿ ಹುಡುಕುವುದು ಹೆಚ್ಚಿನ ಫಲಿತಾಂಶಗಳನ್ನು ನೀಡಲಿಲ್ಲ. ಮೂಲಭೂತವಾಗಿ, ರಿವರ್ಸ್ ಪೋರ್ಟ್ ಫಾರ್ವರ್ಡ್ ಮತ್ತು ಅದರೊಂದಿಗೆ ಸಂಪರ್ಕಗೊಂಡಿರುವ ಎಲ್ಲವುಗಳೊಂದಿಗೆ ssh ಸುರಂಗಗಳನ್ನು ನಿರ್ಮಿಸಲು ಇದು ಬರುತ್ತದೆ. SSH ಸುರಂಗಗಳ ಜೊತೆಗೆ, ಹಲವಾರು ಪರಿಹಾರಗಳಿವೆ:

github.com/klsecservices/rpivot
ಕ್ಯಾಸ್ಪರ್ಸ್ಕಿ ಲ್ಯಾಬ್‌ನಲ್ಲಿರುವ ಹುಡುಗರಿಂದ ರಿವರ್ಸ್ ಟನಲ್‌ನ ದೀರ್ಘಾವಧಿಯ ಅನುಷ್ಠಾನ. ಈ ಸ್ಕ್ರಿಪ್ಟ್ ಯಾವುದಕ್ಕಾಗಿ ಉದ್ದೇಶಿಸಲಾಗಿದೆ ಎಂಬುದನ್ನು ಹೆಸರೇ ಸ್ಪಷ್ಟಪಡಿಸುತ್ತದೆ. ಪೈಥಾನ್ 2.7 ರಲ್ಲಿ ಅಳವಡಿಸಲಾಗಿದೆ, ಸುರಂಗವು ಸ್ಪಷ್ಟ ಪಠ್ಯ ಕ್ರಮದಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ (ಈಗ ಹೇಳಲು ಫ್ಯಾಶನ್ ಆಗಿದೆ - ಹಲೋ RKN)

github.com/tonyseek/rsocks
ಪೈಥಾನ್‌ನಲ್ಲಿ ಮತ್ತೊಂದು ಅಳವಡಿಕೆ, ಸ್ಪಷ್ಟ ಪಠ್ಯದಲ್ಲಿ, ಆದರೆ ಹೆಚ್ಚಿನ ಸಾಧ್ಯತೆಗಳೊಂದಿಗೆ. ಇದನ್ನು ಮಾಡ್ಯೂಲ್ ಆಗಿ ಬರೆಯಲಾಗಿದೆ ಮತ್ತು ನಿಮ್ಮ ಯೋಜನೆಗಳಿಗೆ ಪರಿಹಾರವನ್ನು ಸಂಯೋಜಿಸಲು API ಅನ್ನು ಹೊಂದಿದೆ.

github.com/llkat/rsockstun
github.com/mis-team/rsockstun
ಮೊದಲ ಲಿಂಕ್ ಗೋಲಾಂಗ್‌ನಲ್ಲಿ ರಿವರ್ಸ್ ಸಾಕ್ಸ್ ಅನುಷ್ಠಾನದ ಮೂಲ ಆವೃತ್ತಿಯಾಗಿದೆ (ಡೆವಲಪರ್‌ನಿಂದ ಬೆಂಬಲಿತವಾಗಿಲ್ಲ).
ಎರಡನೇ ಲಿಂಕ್ ಹೆಚ್ಚುವರಿ ವೈಶಿಷ್ಟ್ಯಗಳೊಂದಿಗೆ ನಮ್ಮ ಪರಿಷ್ಕರಣೆಯಾಗಿದೆ, ಗೋಲಾಂಗ್‌ನಲ್ಲಿಯೂ ಸಹ. ನಮ್ಮ ಆವೃತ್ತಿಯಲ್ಲಿ, ನಾವು SSL ಅನ್ನು ಜಾರಿಗೊಳಿಸಿದ್ದೇವೆ, NTLM ದೃಢೀಕರಣದೊಂದಿಗೆ ಪ್ರಾಕ್ಸಿ ಮೂಲಕ ಕೆಲಸ ಮಾಡುತ್ತೇವೆ, ಕ್ಲೈಂಟ್‌ನಲ್ಲಿ ದೃಢೀಕರಣ, ತಪ್ಪಾದ ಪಾಸ್‌ವರ್ಡ್‌ನ ಸಂದರ್ಭದಲ್ಲಿ ಲ್ಯಾಂಡಿಂಗ್ ಪುಟ (ಅಥವಾ ಬದಲಿಗೆ, ಲ್ಯಾಂಡಿಂಗ್ ಪುಟಕ್ಕೆ ಮರುನಿರ್ದೇಶನ), ಬಹು-ಥ್ರೆಡ್ ಮೋಡ್ (ಅಂದರೆ ಹಲವಾರು ಜನರು ಅದೇ ಸಮಯದಲ್ಲಿ ಸುರಂಗದೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಬಹುದು) , ಕ್ಲೈಂಟ್ ಜೀವಂತವಾಗಿದೆಯೇ ಅಥವಾ ಇಲ್ಲವೇ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಲು ಪಿಂಗ್ ಮಾಡುವ ವ್ಯವಸ್ಥೆ.

github.com/jun7th/tsocks
ಪೈಥಾನ್‌ನಲ್ಲಿ ನಮ್ಮ "ಚೀನೀ ಸ್ನೇಹಿತರ" ರಿವರ್ಸ್ ಸಾಕ್ಸ್‌ನ ಅನುಷ್ಠಾನ. ಅಲ್ಲಿ, ಸೋಮಾರಿಯಾದ ಮತ್ತು "ಅಮರ" ಗಾಗಿ, ರೆಡಿಮೇಡ್ ಬೈನರಿ (exe) ಇದೆ, ಚೀನಿಯರಿಂದ ಜೋಡಿಸಲ್ಪಟ್ಟಿದೆ ಮತ್ತು ಬಳಕೆಗೆ ಸಿದ್ಧವಾಗಿದೆ. ಇಲ್ಲಿ, ಚೀನೀ ದೇವರಿಗೆ ಮಾತ್ರ ಈ ಬೈನರಿಯು ಮುಖ್ಯ ಕಾರ್ಯನಿರ್ವಹಣೆಯ ಹೊರತಾಗಿ ಇನ್ನೇನು ಹೊಂದಿರಬಹುದು ಎಂದು ತಿಳಿದಿದೆ, ಆದ್ದರಿಂದ ನಿಮ್ಮ ಸ್ವಂತ ಗಂಡಾಂತರ ಮತ್ತು ಅಪಾಯದಲ್ಲಿ ಬಳಸಿ.

github.com/securesocketfunneling/ssf
ರಿವರ್ಸ್ ಸಾಕ್ಸ್ ಮತ್ತು ಹೆಚ್ಚಿನದನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು C++ ನಲ್ಲಿ ಸಾಕಷ್ಟು ಆಸಕ್ತಿದಾಯಕ ಯೋಜನೆಯಾಗಿದೆ. ರಿವರ್ಸ್ ಟನಲ್ ಜೊತೆಗೆ, ಇದು ಪೋರ್ಟ್ ಫಾರ್ವರ್ಡ್ ಮಾಡುವಿಕೆ, ಕಮಾಂಡ್ ಶೆಲ್ ಅನ್ನು ರಚಿಸುವುದು ಇತ್ಯಾದಿಗಳನ್ನು ಮಾಡಬಹುದು.

MSF ಮೀಟರ್‌ಪ್ರಿಟರ್
ಇಲ್ಲಿ, ಅವರು ಹೇಳಿದಂತೆ, ಯಾವುದೇ ಕಾಮೆಂಟ್ಗಳಿಲ್ಲ. ಎಲ್ಲಾ ಹೆಚ್ಚು ಅಥವಾ ಕಡಿಮೆ ವಿದ್ಯಾವಂತ ಹ್ಯಾಕರ್‌ಗಳು ಈ ವಿಷಯದ ಬಗ್ಗೆ ಬಹಳ ಪರಿಚಿತರಾಗಿದ್ದಾರೆ ಮತ್ತು ಭದ್ರತಾ ಸಾಧನಗಳಿಂದ ಅದನ್ನು ಎಷ್ಟು ಸುಲಭವಾಗಿ ಪತ್ತೆ ಮಾಡಬಹುದು ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುತ್ತಾರೆ.

ಮೇಲೆ ವಿವರಿಸಿದ ಎಲ್ಲಾ ಉಪಕರಣಗಳು ಇದೇ ರೀತಿಯ ತಂತ್ರಜ್ಞಾನವನ್ನು ಬಳಸಿಕೊಂಡು ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ: ಪೂರ್ವ-ತಯಾರಾದ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಬೈನರಿ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ನೆಟ್‌ವರ್ಕ್‌ನೊಳಗಿನ ಯಂತ್ರದಲ್ಲಿ ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತದೆ, ಇದು ಬಾಹ್ಯ ಸರ್ವರ್‌ನೊಂದಿಗೆ ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸುತ್ತದೆ. ಸರ್ವರ್ SOCKS4/5 ಸರ್ವರ್ ಅನ್ನು ನಡೆಸುತ್ತದೆ ಅದು ಸಂಪರ್ಕಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ ಮತ್ತು ಅವುಗಳನ್ನು ಕ್ಲೈಂಟ್‌ಗೆ ಪ್ರಸಾರ ಮಾಡುತ್ತದೆ.

ಮೇಲಿನ ಎಲ್ಲಾ ಪರಿಕರಗಳ ಅನನುಕೂಲವೆಂದರೆ ಕ್ಲೈಂಟ್ ಯಂತ್ರದಲ್ಲಿ ಪೈಥಾನ್ ಅಥವಾ ಗೋಲಾಂಗ್ ಅನ್ನು ಸ್ಥಾಪಿಸಬೇಕು (ಉದಾಹರಣೆಗೆ, ಕಂಪನಿಯ ನಿರ್ದೇಶಕರು ಅಥವಾ ಕಚೇರಿ ಕೆಲಸಗಾರರ ಯಂತ್ರಗಳಲ್ಲಿ ಪೈಥಾನ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿರುವುದನ್ನು ನೀವು ಹೆಚ್ಚಾಗಿ ನೋಡಿದ್ದೀರಾ?) ಅಥವಾ ಮೊದಲೇ ಜೋಡಿಸಲಾದ ಬೈನರಿ (ವಾಸ್ತವವಾಗಿ ಪೈಥಾನ್) ಅನ್ನು ಈ ಯಂತ್ರದ ಮೇಲೆ ಎಳೆಯಬೇಕು ಮತ್ತು ಒಂದು ಬಾಟಲಿಯಲ್ಲಿ ಸ್ಕ್ರಿಪ್ಟ್ ಮಾಡಬೇಕು) ಮತ್ತು ಈ ಬೈನರಿಯನ್ನು ಈಗಾಗಲೇ ರನ್ ಮಾಡಿ. ಮತ್ತು exe ಅನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡುವುದು ಮತ್ತು ನಂತರ ಅದನ್ನು ಪ್ರಾರಂಭಿಸುವುದು ಸ್ಥಳೀಯ ಆಂಟಿವೈರಸ್ ಅಥವಾ HIPS ಗೆ ಸಹಿಯಾಗಿದೆ.

ಸಾಮಾನ್ಯವಾಗಿ, ತೀರ್ಮಾನವು ಸ್ವತಃ ಸೂಚಿಸುತ್ತದೆ - ನಮಗೆ ಪವರ್ಶೆಲ್ ಪರಿಹಾರ ಬೇಕು. ಈಗ ಟೊಮ್ಯಾಟೊಗಳು ನಮ್ಮ ಮೇಲೆ ಹಾರುತ್ತವೆ - ಅವರು ಪವರ್‌ಶೆಲ್ ಅನ್ನು ಈಗಾಗಲೇ ಹ್ಯಾಕ್‌ನಿಡ್ ಮಾಡಲಾಗಿದೆ ಎಂದು ಹೇಳುತ್ತಾರೆ, ಅದನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲಾಗಿದೆ, ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ, ಇತ್ಯಾದಿ. ಮತ್ತು ಇತ್ಯಾದಿ. ವಾಸ್ತವವಾಗಿ, ಎಲ್ಲೆಡೆ ಅಲ್ಲ. ನಾವು ಜವಾಬ್ದಾರಿಯುತವಾಗಿ ಘೋಷಿಸುತ್ತೇವೆ. ಅಂದಹಾಗೆ, ನಿರ್ಬಂಧಿಸುವಿಕೆಯನ್ನು ಬೈಪಾಸ್ ಮಾಡಲು ಸಾಕಷ್ಟು ಮಾರ್ಗಗಳಿವೆ (ಇಲ್ಲಿ ಮತ್ತೊಮ್ಮೆ hello RKN 🙂 ಬಗ್ಗೆ ಫ್ಯಾಶನ್ ನುಡಿಗಟ್ಟು ಇದೆ), powershell.exe -> cmdd.exe ನ ಮೂರ್ಖ ಮರುಹೆಸರಿನಿಂದ ಪ್ರಾರಂಭಿಸಿ ಮತ್ತು powerdll ನೊಂದಿಗೆ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ, ಇತ್ಯಾದಿ.

ಆವಿಷ್ಕಾರವನ್ನು ಪ್ರಾರಂಭಿಸೋಣ

ನಾವು ಮೊದಲು Google ನಲ್ಲಿ ನೋಡುತ್ತೇವೆ ಮತ್ತು ... ಈ ವಿಷಯದ ಬಗ್ಗೆ ನಮಗೆ ಏನನ್ನೂ ಕಂಡುಹಿಡಿಯಲಾಗುವುದಿಲ್ಲ ಎಂಬುದು ಸ್ಪಷ್ಟವಾಗಿದೆ (ಯಾರಾದರೂ ಅದನ್ನು ಕಂಡುಕೊಂಡಿದ್ದರೆ, ಕಾಮೆಂಟ್‌ಗಳಲ್ಲಿ ಲಿಂಕ್‌ಗಳನ್ನು ಪೋಸ್ಟ್ ಮಾಡಿ). ಮಾತ್ರ ಇದೆ ಅನುಷ್ಠಾನ ಪವರ್‌ಶೆಲ್‌ನಲ್ಲಿ ಸಾಕ್ಸ್ 5, ಆದರೆ ಇದು ಸಾಮಾನ್ಯ “ನೇರ” ಸಾಕ್ಸ್ ಆಗಿದೆ, ಇದು ತನ್ನದೇ ಆದ ಹಲವಾರು ಅನಾನುಕೂಲಗಳನ್ನು ಹೊಂದಿದೆ (ನಾವು ಅವುಗಳ ಬಗ್ಗೆ ನಂತರ ಮಾತನಾಡುತ್ತೇವೆ). ನಿಮ್ಮ ಕೈಯ ಸ್ವಲ್ಪ ಚಲನೆಯೊಂದಿಗೆ ನೀವು ಅದನ್ನು ಹಿಮ್ಮುಖವಾಗಿ ಪರಿವರ್ತಿಸಬಹುದು, ಆದರೆ ಇದು ಏಕ-ಥ್ರೆಡ್ ಸಾಕ್ಸ್ ಆಗಿರುತ್ತದೆ, ಅದು ನಮಗೆ ಬೇಕಾದುದಲ್ಲ.

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

RSocksTun
ಹಾಗಾದರೆ rsockstun ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ?

RsocksTun ನ ಕಾರ್ಯಾಚರಣೆಯು (ಇನ್ನು ಮುಂದೆ rs ಎಂದು ಉಲ್ಲೇಖಿಸಲ್ಪಡುತ್ತದೆ) ಎರಡು ಸಾಫ್ಟ್‌ವೇರ್ ಘಟಕಗಳನ್ನು ಆಧರಿಸಿದೆ - Yamux ಮತ್ತು Socks5 ಸರ್ವರ್. ಸಾಕ್ಸ್ 5 ಸರ್ವರ್ ಸಾಮಾನ್ಯ ಸ್ಥಳೀಯ ಸಾಕ್ಸ್ 5 ಆಗಿದೆ, ಇದು ಕ್ಲೈಂಟ್‌ನಲ್ಲಿ ಚಲಿಸುತ್ತದೆ. ಮತ್ತು ಅದರ ಸಂಪರ್ಕಗಳ ಮಲ್ಟಿಪ್ಲೆಕ್ಸಿಂಗ್ ಅನ್ನು (ಮಲ್ಟಿಥ್ರೆಡಿಂಗ್ ಬಗ್ಗೆ ನೆನಪಿದೆಯೇ?) yamux ಬಳಸಿ ಒದಗಿಸಲಾಗಿದೆ (ಮತ್ತೊಂದು ಮಲ್ಟಿಪ್ಲೆಕ್ಸರ್) ಈ ಯೋಜನೆಯು ನಿಮಗೆ ಹಲವಾರು ಕ್ಲೈಂಟ್ ಸಾಕ್ಸ್ 5 ಸರ್ವರ್‌ಗಳನ್ನು ಪ್ರಾರಂಭಿಸಲು ಮತ್ತು ಅವುಗಳಿಗೆ ಬಾಹ್ಯ ಸಂಪರ್ಕಗಳನ್ನು ವಿತರಿಸಲು ಅನುಮತಿಸುತ್ತದೆ, ಕ್ಲೈಂಟ್‌ನಿಂದ ಸರ್ವರ್‌ಗೆ ಒಂದೇ ಟಿಸಿಪಿ ಸಂಪರ್ಕದ ಮೂಲಕ (ಬಹುತೇಕ ಮೀಟರ್‌ಪ್ರೆಟರ್‌ನಂತೆ) ಫಾರ್ವರ್ಡ್ ಮಾಡುತ್ತದೆ, ಆ ಮೂಲಕ ಬಹು-ಥ್ರೆಡ್ ಮೋಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ, ಅದು ಇಲ್ಲದೆ ನಾವು ಸರಳವಾಗಿ ಇರುವುದಿಲ್ಲ. ಆಂತರಿಕ ನೆಟ್‌ವರ್ಕ್‌ಗಳಲ್ಲಿ ಸಂಪೂರ್ಣವಾಗಿ ಕೆಲಸ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.

yamux ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದರ ಸಾರವೆಂದರೆ ಅದು ಸ್ಟ್ರೀಮ್‌ಗಳ ಹೆಚ್ಚುವರಿ ನೆಟ್‌ವರ್ಕ್ ಲೇಯರ್ ಅನ್ನು ಪರಿಚಯಿಸುತ್ತದೆ, ಪ್ರತಿ ಪ್ಯಾಕೆಟ್‌ಗೆ 12-ಬೈಟ್ ಹೆಡರ್ ರೂಪದಲ್ಲಿ ಅದನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ. (ಇಲ್ಲಿ ನಾವು ಉದ್ದೇಶಪೂರ್ವಕವಾಗಿ ಥ್ರೆಡ್‌ಗಿಂತ “ಸ್ಟ್ರೀಮ್” ಪದವನ್ನು ಬಳಸುತ್ತೇವೆ, ಆದ್ದರಿಂದ ಪ್ರೋಗ್ರಾಂ ಸ್ಟ್ರೀಮ್ “ಥ್ರೆಡ್” ನೊಂದಿಗೆ ಓದುಗರನ್ನು ಗೊಂದಲಗೊಳಿಸದಂತೆ - ನಾವು ಈ ಲೇಖನದಲ್ಲಿ ಈ ಪರಿಕಲ್ಪನೆಯನ್ನು ಸಹ ಬಳಸುತ್ತೇವೆ). yamux ಹೆಡರ್ ಸ್ಟ್ರೀಮ್ ಸಂಖ್ಯೆ, ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಸ್ಥಾಪಿಸಲು/ಮುಕ್ತಾಯಗೊಳಿಸಲು ಫ್ಲ್ಯಾಗ್‌ಗಳು, ವರ್ಗಾಯಿಸಲಾದ ಬೈಟ್‌ಗಳ ಸಂಖ್ಯೆ ಮತ್ತು ವರ್ಗಾವಣೆ ವಿಂಡೋದ ಗಾತ್ರವನ್ನು ಒಳಗೊಂಡಿದೆ.

ಪವರ್‌ಶೆಲ್‌ನಲ್ಲಿ ರಿವರ್ಸ್ ಸಾಕ್ಸ್ 5 ಪ್ರಾಕ್ಸಿಯನ್ನು ಬರೆಯುವುದು. ಭಾಗ 1

ಸ್ಟ್ರೀಮ್ ಅನ್ನು ಸ್ಥಾಪಿಸುವುದು/ಮುಕ್ತಾಯಗೊಳಿಸುವುದರ ಜೊತೆಗೆ, ಸ್ಥಾಪಿತ ಸಂವಹನ ಚಾನಲ್‌ನ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುವ ಕೀಪಲೈವ್ ಕಾರ್ಯವಿಧಾನವನ್ನು yamux ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ. Yamux ಸೆಶನ್ ಅನ್ನು ರಚಿಸುವಾಗ ಕೀಪ್ಲೈವ್ ಸಂದೇಶ ಕಾರ್ಯವಿಧಾನದ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆ. ವಾಸ್ತವವಾಗಿ, ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಕೇವಲ ಎರಡು ನಿಯತಾಂಕಗಳಿವೆ: ಸಕ್ರಿಯಗೊಳಿಸಿ / ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ ಮತ್ತು ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಪ್ಯಾಕೆಟ್‌ಗಳನ್ನು ಕಳುಹಿಸುವ ಆವರ್ತನ. Keepalive ಸಂದೇಶಗಳನ್ನು yamux ಸರ್ವರ್ ಅಥವಾ yamux ಕ್ಲೈಂಟ್ ಮೂಲಕ ಕಳುಹಿಸಬಹುದು. ಕೀಪಲೈವ್ ಸಂದೇಶವನ್ನು ಸ್ವೀಕರಿಸುವಾಗ, ರಿಮೋಟ್ ಪಾರ್ಟಿಯು ತಾನು ಸ್ವೀಕರಿಸಿದ ಅದೇ ಸಂದೇಶ ಗುರುತಿಸುವಿಕೆಯನ್ನು (ವಾಸ್ತವವಾಗಿ ಒಂದು ಸಂಖ್ಯೆ) ಕಳುಹಿಸುವ ಮೂಲಕ ಅದಕ್ಕೆ ಪ್ರತಿಕ್ರಿಯಿಸಬೇಕು. ಸಾಮಾನ್ಯವಾಗಿ, ಕೀಪಲೈವ್ ಒಂದೇ ಪಿಂಗ್ ಆಗಿದೆ, ಯಮಕ್ಸ್‌ಗೆ ಮಾತ್ರ.

ಮಲ್ಟಿಪ್ಲೆಕ್ಸರ್‌ನ ಸಂಪೂರ್ಣ ಕಾರ್ಯಾಚರಣಾ ತಂತ್ರ: ಪ್ಯಾಕೆಟ್ ಪ್ರಕಾರಗಳು, ಸಂಪರ್ಕ ಸೆಟಪ್ ಮತ್ತು ಮುಕ್ತಾಯದ ಫ್ಲ್ಯಾಗ್‌ಗಳು ಮತ್ತು ಡೇಟಾ ವರ್ಗಾವಣೆ ಕಾರ್ಯವಿಧಾನವನ್ನು ವಿವರವಾಗಿ ವಿವರಿಸಲಾಗಿದೆ ವಿಶೇಷಣಗಳು yamux ಗೆ.

ಮೊದಲ ಭಾಗಕ್ಕೆ ತೀರ್ಮಾನ

ಆದ್ದರಿಂದ, ಲೇಖನದ ಮೊದಲ ಭಾಗದಲ್ಲಿ, ನಾವು ರಿವರ್ಸ್ ಸುರಂಗಗಳನ್ನು ಸಂಘಟಿಸಲು ಕೆಲವು ಸಾಧನಗಳೊಂದಿಗೆ ಪರಿಚಯ ಮಾಡಿಕೊಂಡಿದ್ದೇವೆ, ಅವುಗಳ ಅನುಕೂಲಗಳು ಮತ್ತು ಅನಾನುಕೂಲಗಳನ್ನು ನೋಡಿದ್ದೇವೆ, ಯಮಕ್ಸ್ ಮಲ್ಟಿಪ್ಲೆಕ್ಸರ್ನ ಕಾರ್ಯಾಚರಣೆಯ ಕಾರ್ಯವಿಧಾನವನ್ನು ಅಧ್ಯಯನ ಮಾಡಿದ್ದೇವೆ ಮತ್ತು ಹೊಸದಾಗಿ ರಚಿಸಲಾದ ಪವರ್ಶೆಲ್ ಮಾಡ್ಯೂಲ್ಗೆ ಮೂಲಭೂತ ಅವಶ್ಯಕತೆಗಳನ್ನು ವಿವರಿಸಿದ್ದೇವೆ. ಮುಂದಿನ ಭಾಗದಲ್ಲಿ ನಾವು ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುತ್ತೇವೆ, ಪ್ರಾಯೋಗಿಕವಾಗಿ ಮೊದಲಿನಿಂದ. ಮುಂದುವರೆಯುವುದು. ಬದಲಾಯಿಸಬೇಡಿ :)

ಮೂಲ: www.habr.com

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