RouterOS (Mikrotik) ಆಧಾರಿತ ಸಾಧನಗಳನ್ನು ರಿಮೋಟ್ ಆಗಿ ಡೌನ್ಗ್ರೇಡ್ ಮಾಡುವ ಸಾಮರ್ಥ್ಯವು ನೂರಾರು ಸಾವಿರ ನೆಟ್ವರ್ಕ್ ಸಾಧನಗಳನ್ನು ಅಪಾಯದಲ್ಲಿರಿಸುತ್ತದೆ. ದುರ್ಬಲತೆಯು ವಿನ್ಬಾಕ್ಸ್ ಪ್ರೋಟೋಕಾಲ್ನ DNS ಸಂಗ್ರಹದ ವಿಷದೊಂದಿಗೆ ಸಂಬಂಧಿಸಿದೆ ಮತ್ತು ಸಾಧನಕ್ಕೆ ಹಳೆಯದಾದ (ಡೀಫಾಲ್ಟ್ ಪಾಸ್ವರ್ಡ್ ಮರುಹೊಂದಿಕೆಯೊಂದಿಗೆ) ಅಥವಾ ಮಾರ್ಪಡಿಸಿದ ಫರ್ಮ್ವೇರ್ ಅನ್ನು ಲೋಡ್ ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.
ದುರ್ಬಲತೆಯ ವಿವರಗಳು
ರೂಟರ್ಓಎಸ್ ಟರ್ಮಿನಲ್ ಡಿಎನ್ಎಸ್ ಲುಕಪ್ಗಾಗಿ ಪರಿಹಾರ ಆಜ್ಞೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ.
ಈ ವಿನಂತಿಯನ್ನು ಪರಿಹಾರಕ ಎಂಬ ಬೈನರಿ ಮೂಲಕ ನಿರ್ವಹಿಸಲಾಗುತ್ತದೆ. ರೂಟರ್ಓಎಸ್ನ ವಿನ್ಬಾಕ್ಸ್ ಪ್ರೋಟೋಕಾಲ್ಗೆ ಸಂಪರ್ಕಿಸುವ ಅನೇಕ ಬೈನರಿಗಳಲ್ಲಿ ರೆಸಲ್ವರ್ ಒಂದಾಗಿದೆ. ಉನ್ನತ ಮಟ್ಟದಲ್ಲಿ, ವಿನ್ಬಾಕ್ಸ್ ಪೋರ್ಟ್ಗೆ ಕಳುಹಿಸಲಾದ "ಸಂದೇಶಗಳನ್ನು" ಅರೇ-ಆಧಾರಿತ ಸಂಖ್ಯೆಯ ಯೋಜನೆಯ ಆಧಾರದ ಮೇಲೆ ರೂಟರ್ಒಎಸ್ನಲ್ಲಿನ ವಿವಿಧ ಬೈನರಿಗಳಿಗೆ ರವಾನಿಸಬಹುದು.
ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ರೂಟರ್ಓಎಸ್ ಡಿಎನ್ಎಸ್ ಸರ್ವರ್ ವೈಶಿಷ್ಟ್ಯವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದೆ.
ಆದಾಗ್ಯೂ, ಸರ್ವರ್ ಕಾರ್ಯವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದಾಗಲೂ, ರೂಟರ್ ತನ್ನದೇ ಆದ DNS ಸಂಗ್ರಹವನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ.
ಉದಾಹರಣೆಗೆ example.com ಗಾಗಿ winbox_dns_request ಅನ್ನು ಬಳಸಿಕೊಂಡು ನಾವು ವಿನಂತಿಯನ್ನು ಮಾಡಿದಾಗ, ರೂಟರ್ ಫಲಿತಾಂಶವನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ.
ವಿನಂತಿಯು ಹೋಗಬೇಕಾದ DNS ಸರ್ವರ್ ಅನ್ನು ನಾವು ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದಾದ್ದರಿಂದ, ತಪ್ಪಾದ ವಿಳಾಸಗಳನ್ನು ನಮೂದಿಸುವುದು ಕ್ಷುಲ್ಲಕವಾಗಿದೆ. ಉದಾಹರಣೆಗೆ, ನೀವು DNS ಸರ್ವರ್ ಅನುಷ್ಠಾನವನ್ನು ಇದರಿಂದ ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದು
def dns_response(data):
request = DNSRecord.parse(data)
reply = DNSRecord(DNSHeader(
id=request.header.id, qr=1, aa=1, ra=1), q=request.q)
qname = request.q.qname
qn = str(qname)
reply.add_answer(RR(qn,ttl=30,rdata=A("192.168.88.250")))
print("---- Reply:n", reply)
return reply.pack()
ಈಗ ನೀವು Winbox ಅನ್ನು ಬಳಸಿಕೊಂಡು example.com ಅನ್ನು ಹುಡುಕಿದರೆ, ರೂಟರ್ನ DNS ಸಂಗ್ರಹವು ವಿಷಪೂರಿತವಾಗಿದೆ ಎಂದು ನೀವು ನೋಡಬಹುದು.
ಸಹಜವಾಗಿ, ವಿಷಪೂರಿತ example.com ತುಂಬಾ ಉಪಯುಕ್ತವಲ್ಲ ಏಕೆಂದರೆ ರೂಟರ್ ಅದನ್ನು ನಿಜವಾಗಿ ಬಳಸುವುದಿಲ್ಲ. ಆದಾಗ್ಯೂ, ರೂಟರ್ upgrade.mikrotik.com, cloud.mikrotik.com, cloud2.mikrotik.com ಮತ್ತು download.mikrotik.com ಅನ್ನು ಪ್ರವೇಶಿಸುವ ಅಗತ್ಯವಿದೆ. ಮತ್ತು ಮತ್ತೊಂದು ತಪ್ಪಿಗೆ ಧನ್ಯವಾದಗಳು, ಅವುಗಳನ್ನು ಒಂದೇ ಬಾರಿಗೆ ವಿಷಪೂರಿತಗೊಳಿಸಲು ಸಾಧ್ಯವಿದೆ.
def dns_response(data):
request = DNSRecord.parse(data)
reply = DNSRecord(DNSHeader(
id=request.header.id, qr=1, aa=1, ra=1), q=request.q)
qname = request.q.qname
qn = str(qname)
reply.add_answer(RR(qn,ttl=30,rdata=A("192.168.88.250")))
reply.add_answer(RR("upgrade.mikrotik.com",ttl=604800,
rdata=A("192.168.88.250")))
reply.add_answer(RR("cloud.mikrotik.com",ttl=604800,
rdata=A("192.168.88.250")))
reply.add_answer(RR("cloud2.mikrotik.com",ttl=604800,
rdata=A("192.168.88.250")))
reply.add_answer(RR("download.mikrotik.com",ttl=604800,
rdata=A("192.168.88.250")))
print("---- Reply:n", reply)
return reply.pack()
ರೂಟರ್ ಒಂದು ಅನುಮತಿಯನ್ನು ಕೋರುತ್ತದೆ, ಮತ್ತು ನಾವು ಐದು ಮರಳಿ ನೀಡುತ್ತೇವೆ. ರೂಟರ್ ಈ ಎಲ್ಲಾ ಪ್ರತಿಕ್ರಿಯೆಗಳನ್ನು ಸರಿಯಾಗಿ ಸಂಗ್ರಹಿಸುವುದಿಲ್ಲ.
ನಿಸ್ಸಂಶಯವಾಗಿ, ರೂಟರ್ ಡಿಎನ್ಎಸ್ ಸರ್ವರ್ ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದ್ದರೆ ಈ ದಾಳಿಯು ಸಹ ಉಪಯುಕ್ತವಾಗಿದೆ, ಏಕೆಂದರೆ ಇದು ರೂಟರ್ನ ಕ್ಲೈಂಟ್ಗಳನ್ನು ಆಕ್ರಮಣ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ.
ಈ ದಾಳಿಯು ಹೆಚ್ಚು ಗಂಭೀರವಾದ ದುರ್ಬಲತೆಯನ್ನು ಬಳಸಿಕೊಳ್ಳಲು ಸಹ ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ: ರೂಟರ್ಓಎಸ್ ಆವೃತ್ತಿಯನ್ನು ಡೌನ್ಗ್ರೇಡ್ ಮಾಡಿ ಅಥವಾ ಬ್ಯಾಕ್ಪೋರ್ಟ್ ಮಾಡಿ. ಆಕ್ರಮಣಕಾರರು ಚೇಂಜ್ಲಾಗ್ ಸೇರಿದಂತೆ ಅಪ್ಡೇಟ್ ಸರ್ವರ್ನ ತರ್ಕವನ್ನು ಮರುಸೃಷ್ಟಿಸುತ್ತಾರೆ ಮತ್ತು ರೂಟರ್ಓಎಸ್ ಅನ್ನು ಹಳತಾದ (ದುರ್ಬಲ) ಆವೃತ್ತಿಯನ್ನು ಪ್ರಸ್ತುತವೆಂದು ಗ್ರಹಿಸಲು ಒತ್ತಾಯಿಸುತ್ತಾರೆ. ಆವೃತ್ತಿಯನ್ನು "ಅಪ್ಡೇಟ್" ಮಾಡಿದಾಗ, ನಿರ್ವಾಹಕರ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಡೀಫಾಲ್ಟ್ ಮೌಲ್ಯಕ್ಕೆ ಮರುಹೊಂದಿಸಲಾಗುತ್ತದೆ ಎಂಬ ಅಂಶದಲ್ಲಿ ಇಲ್ಲಿ ಅಪಾಯವಿದೆ - ಆಕ್ರಮಣಕಾರರು ಖಾಲಿ ಪಾಸ್ವರ್ಡ್ನೊಂದಿಗೆ ಸಿಸ್ಟಮ್ಗೆ ಲಾಗ್ ಇನ್ ಮಾಡಬಹುದು!
ದಾಳಿಯು ಸಾಕಷ್ಟು ಕೆಲಸ ಮಾಡುತ್ತಿದೆ ಎಂಬ ವಾಸ್ತವದ ಹೊರತಾಗಿಯೂ
ರಕ್ಷಣೆ
Winbox ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುವುದರಿಂದ ಈ ದಾಳಿಯಿಂದ ನಿಮ್ಮನ್ನು ರಕ್ಷಿಸಿಕೊಳ್ಳಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. Winbox ಮೂಲಕ ಆಡಳಿತದ ಅನುಕೂಲತೆಯ ಹೊರತಾಗಿಯೂ, SSH ಪ್ರೋಟೋಕಾಲ್ ಅನ್ನು ಬಳಸುವುದು ಉತ್ತಮ.
ಮೂಲ: www.habr.com