Google Blog Editor á០Google Cloud Technical Solutions (TSE) á¡ááºáá»ááºáá®áá¬áá»á¬ážááẠááá·áºá¡áá°á¡áá®áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠáááºááá¯á·ááá¯ááºááœááºáááºááᯠááẠááœá±ážáá°ážáá«ááá¬ážá TSE áááºážááá¬áá¶á·ááá¯ážáá°áá®ááŸá¯á¡ááºáá»ááºáá®áá¬áá»á¬ážááẠá¡áá¯á¶ážááŒá¯áá°-á¡á
á®áááºáá¶áá¬ážáá±á¬ ááŒá¿áá¬áá»á¬ážááááºážááŒá
áºáá»á¬ážááᯠáá±á¬áºáá¯ááºáááºááŸáá·áº ááŒá¯ááŒááºáááºá¡ááœáẠáá¬áááºááŸááá«áááºá á€ááŒá¿áá¬áá»á¬ážáá²á០á¡áá»áá¯á·ááẠááá¯ážááŸááºážáá±á¬áºáááºáž áá
áºáá«áá
áºáá¶ááœáẠá¡ááºáá»ááºáá®áá¬áá»á¬ážá
áœá¬á á¡á¬áá¯á¶á
á°ážá
áá¯ááºááŸá¯ ááá¯á¡ááºáá±á¬ áááºááŸááºáá
áºá
á±á¬ááºááᯠááá«ááᶠáááºááœá±á·áá²á·ááááºá á€áá±á¬ááºážáá«ážááœááºá TSE áááºáááºážáá
áºáŠážááẠáá°ááááºááá±á¬á¡áá±á·á¡áá»áá·áºá០á¡ááœááºáááºáá²áá±á¬ááŒá¿áá¬áá
áºáá¯á¡ááŒá±á¬ááºáž áá»áœááºá¯ááºááá¯á·ááᯠááŒá±á¬ááŒáááá·áºáááº-
ááŒá¿áá¬ááŒá±ááŸááºážááŒááºážááẠáááá¹áá¶ááá¬ááŸáá·áº á¡áá¯ááá¬áá
áºáááºááŒá
áºáááºá áááºážááẠá
áá
áºá á
á¶ááá¯ááºáá±á¬ á¡ááŒá¯á¡áá°á¡ááœáẠá¡ááŒá±á¬ááºážááŒáá»ááºááŸáá·áº áááºáááºáá±á¬ á¡áá°á¡ááá
áºáá¯ááᯠáááºáá±á¬ááºááŒááºážááŒáá·áº á
áááºáááºá ááá¯á·áá±á¬áẠáááºážá¡á¬áž ááŒá¶á·ááá¯ááºááŸá¯á¡ááœáẠá
ááºážáááºáááºá ááá¯á·áá±á¬áºá áá»áœááºá¯ááºááá¯á·ááẠá¡áá°á¡ááá
áºáá¯ááᯠááá±ážááœá²áá®á áá»áœááºá¯ááºááá¯á·ááẠááŒá¿áá¬ááᯠááŸááºážáááºážááŒááºáá¬ážá
áœá¬ áááºááŸááºááŒá®áž áááá»á
áœá¬ áá¯á¶áá±á¬áºááá«áááºá áá±ážááœááºážá ááá±áá¬áá²á·á¡áá¶ááŒá
áºáá±ááẠá¡áá¬á¡á¬ážáá¯á¶ážááᯠáá±áá»á¬ááœá²ááŒááºážá
áááºááŒá¬ááá«áááá·áºáááºá á€áááºááŸá¬ ááŒá¿áá¬ááŒá±ááŸááºážááŒááºážá "á¡áá¯ááá¬" ááŒá
áºáááºá
Google Cloud á¡á±á¬ááºááœááºá Google Cloud ááẠáááºážáá¡áá¯á¶ážááŒá¯áá°áá»á¬ážáááá¯ááºáá±ážááá¯ááºáá¬áá¯á¶ááŒá¯á¶ááŸá¯ááᯠá¡á¬ááá¶áá»ááºáá±ážááẠá¡áá±á¬ááºážáá¯á¶ážááŒáá¯ážá
á¬ážáá±áá±á¬ááŒá±á¬áá·áº á¡ááá¯áá«áá¯ááºáááºážá
ááºáá»á¬ážááẠá¡áááá¯ááŸá¯ááºááœá±ážáá¬áá«áááºá ááá¯á·á¡ááœááºááŒá±á¬áá·áº TSE á¡ááºáá»ááºáá®áá¬áá»á¬ážááẠááá·áºá
áá
áºáá»á¬ážááᯠáááºážááŒááºááẠáááºáá±á¬ááºááœáá·áºáááŸááááá¯á á¡áá¯á¶ážááŒá¯áá°áá»á¬ážáá²á·ááá¯á· áá»ááºááŒáá·áºáá±á¬ ááœá²á·á
ááºážááŸá¯áá¯á¶á
á¶áá»á¬ážááᯠááŒáá·áºááŸá¯ááá¯ááºá
áœááºážáááºáž áááŸááá«á ááá¯á·ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááá°ááá»ááºááŸááºááá»áŸááᯠá
ááºážáááºáááºá áá»áœááºá¯ááºááá¯á· (á¡ááºáá»ááºáá®áá¬áá»á¬áž) ááẠá
áá
áºááᯠá¡ááŒááºááœááºážáá¶ááŒááºáááºááá¯ááºáááºááá¯ááºáá±á
á¡áá»áá¯á·áá±á¬á¡áá¯á¶ážááŒá¯áá°áá»á¬ážááẠáá¬ážáááºáá±á¬ááºááŸá¯ááŸá á ááºááŒááºáá»á¬ážáá²á·ááá¯á· á¡áá¬á¡á¬ážáá¯á¶ážááᯠááŒá¯ááŒááºáá±ážáááºáᯠáá¯á¶ááŒááºááŒááŒá®áž virtual machine á id ááᯠááá¯ážááá¯ážááŸááºážááŸááºáž ááá¯á·áá±ážáááºáᯠáá¯á¶ááŒááºááŒááŒá®áž áááºááœá±á·ááœáẠáá¯ááºáááºážá ááºááẠá áá¬ážááá¯ááºážáá¯á¶á á¶ááŒáá·áº áá¯ááºáá±á¬ááºáááº- á¡áá»ááºá¡áááºá á¯áá±á¬ááºážááŒááºážá ááœá²á·á ááºážááŒááºážááŸáá·áº á¡áááºááŒá¯ááŒááºáž (ááá¯á·ááá¯áẠááŒááºážááá¯ááŒááºáž) á¡áá°á¡ááá»á¬ážá á¡áá¯á¶ážááœááºá áá¯á¶ážááŒááºáá»ááºááŒá¿áá¬áá»á¬ážááẠáá¯á¶ážá áœá²áá°ááŸáá·áº áááºááœááºááŸá¯á¡áá±á«áº á¡ááŒá±áá¶áááºá
áá±ážááœááºážáá¯ááºá áᬠááŒá¿áá¬
áá®áá±á·áá±á¬á· áá¬ááºáááºážáá±á¬ááºážáá±ážáá
áºáá¯ááºááŸááá«áááºá á¡ááá¯ááŒá¯áá¬ážáá±á¬ááá
á¹á
á á¡á±á¬ááºááŒááºá
áœá¬ááŒá±ááŸááºážááŒááºážá¡ááœáẠá¡ááŒá±á¬ááºážáááºážáá
áºáá¯ááŸá¬ ááŒá¿áá¬á á¡ááœááºá¡áá±ážá
áááºááŒá®áž áááá»áá±á¬áá±á¬áºááŒáá»ááºááŒá
áºáááºá á¡á±á¬ááºááœáẠááááááºááŸááºáááá¹áá°ááᯠáááºááœá±á·ááá¯ááºááẠ(áá»áŸáá¯á·ááŸááºá¡áá»ááºá¡áááºáá»á¬ážááᯠáá¯á¶ážááœááºáááºá¡ááœáẠáááºážááŒááºáá¬ážáááº)
á€áááºáá±á·áá»áºááœáẠáá»áœááºá¯ááºááá¯á·á¡ááœáẠá¡áá¯á¶ážáááºáá±á¬ á¡áá»ááºá¡áááºáá»á¬ážá
áœá¬ áá«áááºáááº-
- áááºááŸááºáá¬ážáá±á¬ VM ááᯠáááºááŸááºáá¬ážáááºá
- ááŒá¿áá¬ááá¯ááºááá¯ááºáááœáŸááºááŒááẠ- DNS á¡áá¯ááºááá¯ááºáá«á
- ááŒá¿áá¬á áá°á·á¡ááá¯ááá¯áá±á«áºáá¬ááá·áºáá±áá¬ááœáẠááœáŸááºááŒááẠ- VM ááŸáá·áº container
- ááŒá¿áá¬ááᯠáá±á¬áºáá¯ááºááẠá¡áá¯á¶ážááŒá¯áá° áá¯ááºáá±á¬ááºáá²á·áá±á¬ á¡ááá·áºáá»á¬ážááᯠáá±á¬áºááŒáá¬ážáá«áááºá
áá±á¬ááºážááá¯áá»ááºá¡á¬áž "P1: á¡áá±ážáá«áá±á¬áááºáá±á¬ááºááŸá¯ - áá¯ááºáá¯ááºááŸá¯ááœáẠá¡áá¯á¶ážáááŒá¯ááá¯ááºáá±á¬áááºáá±á¬ááºááŸá¯" á¡ááŒá
ẠááŸááºáá¯á¶áááºáá¬ážááŒá®ážá ááá¯ááá¯áááºááŸá¬ "áá±ááá¯ááá¯ááºáá¬áá«" á¡á
á®á¡á
ááºá¡á á¡ááŒá±á¡áá±ááᯠ24/7 á
ááºáááºáááŒáẠá
á±á¬áá·áºááŒáá·áºáá±á·áá¬ááá¯ááºááẠ(á¡ááŒá±á¬ááºážááá¯ááá¯áááºááŸá¯ááá¯ááºáá«áááºá
áááºááŸááºááẠáá°ážáá áºááŒáá¯á·ááá¯á· áá±á¬ááºáá±á¬á¡áá«ááœááºá áá»áœááºá¯ááºááá¯á·ááœáẠá¡á±á¬ááºáá±á¬áºááŒáá« á¡áá»ááºá¡áááºáá»á¬áž ááŸááá±ááŒá®ááŒá áºáááºá
- á¡ááŒá±á¬ááºážá¡áá¬
/etc/hosts
- á¡ááŒá±á¬ááºážá¡áá¬
/etc/resolv.conf
- áá±á¬ááºáá»ááº
iptables-save
- á¡ááœá²á·ááŒáá·áº á
á¯á
ááºážáá¬ážáááºá
ngrep
pcap ááá¯ááº
á€áá±áá¬ááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠ"á á¯á¶á ááºážá á áºáá±ážááŒááºáž" ááŸáá·áº ááŒá¿áá¬ááŒá±ááŸááºážááŒááºážá¡ááá·áºááᯠá áááºááẠá¡ááá·áºááŒá áºáá±áá«ááŒá®á
áá»áœááºá¯ááºááá¯á·ááááááŒá±ááŸááºážáá»á¬áž
ááááŠážá áœá¬á áá»áœááºá¯ááºááá¯á·ááẠáááºáá¬áá±áá¬áá¬áá¬á ááŸááºáááºážáá»á¬ážááŸáá·áº á¡ááŒá±á¡áá±ááᯠá á áºáá±ážááŒá®áž áááºážááẠááŸááºáááºá áœá¬ á¡áá¯ááºáá¯ááºááŒá±á¬ááºáž áá±áá»á¬á á±áá«áááºá áááºáá¬áá±áá¬áá¬áá¬ááẠIP ááááºá ᬠ169.254.169.254 ááᯠáá¯á¶á·ááŒááºááŒá®áž á¡ááŒá¬ážá¡áá¬áá»á¬ážáá²ááœáẠááá¯ááááºážá¡áááºáá»á¬ážááᯠááááºážáá»á¯ááºááẠáá¬áááºááŸááááºá Firewall ááẠVM ááŸáá·áº ááŸááºáááºá áœá¬ á¡áá¯ááºáá¯ááºááŒá±á¬ááºážááŸáá·áº packets áá»á¬ážááᯠááááºááá¯á·áá¬ážááŒááºáž áááŸáááŒá±á¬ááºážá
áááºážááẠáá°ážáááºážáá±á¬ááŒá¿áá¬áá áºáá»áá¯ážááŒá áºáááº- nmap á á áºáá±ážááŸá¯ááẠUDP áááºáááºáá»á¬áž áá¯á¶ážááŸá¯á¶ážááŒááºážááŸáá·áºáááºáááºá áá»áœááºá¯ááºááá¯á·áá¡ááááá°ááá»ááºá¡á¬áž ááŒááºážááá¯áá¬ážáá±á¬ááŒá±á¬áá·áº áááºážááá¯á·ááᯠá á áºáá±ážááẠáá±á¬ááºáááºááœá±ážáá»ááºá áá¬áá»á¬ážááŸáá·áº áááºážáááºážáá»á¬ážá áœá¬ááᯠáá»áœááºá¯ááºááá¯á· á áááºááá¯ááºážááá¯ááºáá¬ááœáẠááŸá¬ááœá±ááœá±á·ááŸááá²á·áááº-
- áááºáá±á·áá»áºáá»á¬ážááᯠááœá±ážáá¯ááºáá«áá¬ážá => iptables á ááºážáá»ááºážáá»á¬ážááá¯á á áºáá±ážáá«á
- á¡áááºážáááºáááºááá¯ááºáá¬áž
áááá¹á ? => á¡ááœááºááá¯á á áºáá±ážáá«áip a show
- ááŒá¿áá¬á UDP packets ááá¯á·ááá¯áẠTCP ááá¯áᬠáááºáá±á¬ááºááŸá¯ááŸááá«ááá¬ážá => áá±á¬ááºážááœááºááœá¬áž
dig +tcp
- áá°ážáá¯ááºáá±ážáá±á¬ áááºáá±á·ááºá»áá»á¬ážááᯠááŒááºáá±ážáá«ááá¬ážá => áá±á¬ááºážááœááºááœá¬áž
tcpdump
- libdn áá»á¬áž ááŸááºáááºá
áœá¬ á¡áá¯ááºáá¯ááºáá«ááá¬ážá => áá±á¬ááºážááœááºááœá¬áž
strace
áááºážááŒá±á¬ááºážááŸá áºáá¯áá¯á¶ážááœáẠpackets áá»á¬ážááá°ážá ááºááŸá¯ááá¯á á áºáá±ážáááº
á€ááœáẠáá»áœááºá¯ááºááá¯á·ááẠááŒá¿áá¬áá»á¬ážááᯠááá¯ááºááá¯ááºááŒá±ááŸááºážááẠá¡áá¯á¶ážááŒá¯áá°ááᯠáá¯ááºážáá±á«áºááá¯ááẠáá¯á¶ážááŒááºááá¯ááºáá«áááºá
áá¯ááºážáá±á«áºááá¯ááŸá¯á¡ááœááºáž áá»áœááºá¯ááºááá¯á·ááẠá¡áá¬áá»á¬ážá áœá¬ááᯠá á áºáá±ážááá¯ááºáááº-
- á á áºáá±ážááŸá¯áá»á¬ážá áœá¬ááŒá®ážáá±á¬áẠáá»áœááºá¯ááºááá¯á·ááẠiptables á ááºážáá»ááºážáá»á¬ážááᯠá¡ááŒá±á¬ááºážááŒáá»ááºá á¬áááºážá០áááºáá¯ááºáá¬ážáááºá
- áá»áœááºá¯ááºááá¯á·ááẠnetwork interfaces áá»á¬ážááŸáá·áº routing tables áá»á¬ážááᯠá á áºáá±ážááŒá®áž MTU ááŸááºáááºááŒá±á¬ááºáž ááŸá áºáá á áºáá±ážáá«á
- á¡á²áá«ááᯠáá»áá±á¬áºááá¯á· ááŸá¬ááœá±ááœá±á·ááŸááááºá
dig +tcp google.com
(TCP) áá¯ááºááá·áºááẠá ááá¯á·áá±á¬áºádig google.com
(UDP) á¡áá¯ááºááá¯ááºáá«á - áá±á¬ááºážáá¯ááºááá¯ááºááááºá
tcpdump
á¡áá¯ááºáá¯ááºáá±áá¯ááºážáá²ádig
UDP áááºáá±á·ááºá»áá»á¬ážááᯠááŒááºááá¯á·áááºááᯠáá»áœááºá¯ááºááá¯á· ááœá±á·ááŸáááááºá - áá«ááá¯á·áá±á¬ááºážááœááºááœá¬ážáááºá
strace dig google.com
áááºáá²á·ááá¯á· ááŸááºáááºá áœá¬ áá°ážáá°áá¬ážáááºááᯠáá»áœááºá¯ááºááá¯á·ááœá±á·ááŒááºááá«áááºásendmsg()
Оrecvms()
ááá¯á·áá±á¬áº áá¯ááááá áºáá¯ááẠá¡áá»áááºáá¯ááºááœá¬ážáááŒáá·áº ááŒááºáá±á¬ááºááœá¬ážáááºá
áá¶ááá±á¬ááºážá áœá¬áá²á ááá¯ááºážáá¶á·ááŸá¯á¡áá¯á¶ážáá±á¬ááºáá¬ááŒá®áž ááŒá¿áá¬ááᯠáá±á¬ááºá¡áá»áááºáá¯ááºááá¯á· ááá¯ážááá¯ááºážááá¯ááºááááºá ááá¯á·áá±á¬áº á¡ááá¯áá«áá±á¬ááºážááá¯áá»ááºááẠáá»áœááºá¯ááºááá¯á·áá¡ááœá²á·ááᯠá áááºáááºá á¬ážá á±áá²á·ááŒá®áž áá¯ááºáá±á¬áºááá¯ááºáááºáá áºáŠážá ááŒááºážáááºážáá±á¬ Python module ááá¯á¡áá¯á¶ážááŒá¯á áááŠáž DNS áááºáá±á·áá»áºááᯠáááºáá®ážááẠá¡ááŒá¶ááŒá¯áá¬ážáááºá
from scapy.all import *
answer = sr1(IP(dst="169.254.169.254")/UDP(dport=53)/DNS(rd=1,qd=DNSQR(qname="google.com")),verbose=0)
print ("169.254.169.254", answer[DNS].summary())
á€á¡ááá¯ááºážá¡á ááẠDNS áááºáááºááᯠáááºáá®ážááŒá®áž áá±á¬ááºážááá¯áá»ááºááᯠáááºáá¬áá±áá¬áá¬áá¬ááá¯á· áá±ážááá¯á·áááºá
á¡áá¯á¶ážááŒá¯áá°ááẠáá¯ááºááá¯áá¯ááºáá±á¬ááºáááºá DNS áá¯á¶á·ááŒááºááŸá¯ááᯠááŒááºáá±ážáááºááŒá áºááŒá®ážá á¡ááá®áá±ážááŸááºážá០áááºážááᯠáááºáá¶áááŸááᬠááœááºáááºá¡ááá·áºááœáẠááŒá¿áá¬áááŸáááŒá±á¬ááºáž á¡áááºááŒá¯áááºá
á¡ááŒá¬áž "ááá¹áá¬ááŸáá·áºááá®áž" ááŒá®ážáá±á¬ááºá áá±á¬ááºážááá¯áá»ááºááẠáá»áœááºá¯ááºááá¯á·áá¡ááœá²á·áᶠááŒááºáááºáá±á¬ááºááŸáááŒá®áž áá±á¬ááºážááá¯áá»ááºááẠáá áºáá±áá¬á០áá áºáá±áá¬ááá¯á· ááŸáá·áºáááºáá±ááŒááºážááᯠáááºááœá¬ážáá«á á¡áá¯á¶ážááŒá¯áá°á¡ááœáẠááá¯ááá¯á¡áááºááŒá±áááºáᯠáááºááŒááºááŒá®áž áááºážááᯠáá»áœááºá¯ááºááá¯ááºááá¯áẠá¡ááŒáá·áºá¡áááœáŸá²ááŒá±á¬ááºážáá±ážáá«áááºá
á€á¡áá±á¬á¡ááœááºážá á¡áá¯á¶ážááŒá¯áá°ááẠá áá áºáá¯á¶ááá»áŸááºáá áºááŒááºáá¯á¶áá áºáá¯á¶ááᯠáá±ážáá±á¬ááºááẠááŒááºáá¬á áœá¬ááá±á¬áá°áá«áááºá á€áááºááŸá¬ ááááºážáá±á¬ááºážááŒá áºáááº- á áá áºá¡á¬áž ááá¯ááºááá¯ááºá ááºážáááºááá¯ááºááŸá¯ááẠááŒá¿áá¬ááŒá±ááŸááºážááŒááºážááᯠááá¯ááá¯ááŒááºáááºá á±áááºá á¡áááºááŒá±á¬áá·áºááá¯áá±á¬áº áá»áœááºá¯ááºááẠá¡áá¯á¶ážááŒá¯áá°ááᯠá¡áááá·áºáá±ážááá¯ááºážáááºá ááááºáá»á¬ážááᯠáá±ážááá¯á·ááŒá®áž áááºážááá¯á·ááᯠááœá²ááŒááºážá áááºááŒá¬ááẠáááá¯á¡ááºáá±á¬á·áá±á¬ááŒá±á¬áá·áºá áá»áœááºá¯ááºááẠá¡áá¬á¡á¬ážáá¯á¶ážááᯠááá¯ááºááá¯ááºáá¯ááºáá±á¬ááºááá¯ááºáá«áááºá
áá«á·áá¯ááºáá±á¬áºááá¯ááºáááºááœá±á áá«á·ááᯠáááºážáááºážáá±ážáá±á¬áẠááá¬ááá¯ááŒá áºáá±ááŒá®á áá±á·áááºá á¬á á¬ážáá»áááºá áá»áœááºá¯ááºááá¯á·ááẠááŒá±á¬ááºážáá²ááŒááºážá¡ááŒá±á¬ááºáž ááœá±ážááœá±ážááŒáá±á¬áºáááºáž á¡áááºá¡áá¬ááŒá áºáá»ááºáá±áááºááᯠáááºáá°áá»áŸ áááááŒáá±á áá¶áá±á¬ááºážáá±á¬ááºáá áœá¬á á¡áá¯á¶ážááŒá¯áá°ááá¯ááºááá¯ááºá á¡áá»áá¯ážáááºáá»á¬ážááᯠáá»á±á¬á·áá«ážáááºáá¬á á±ááẠá¡á á®á¡áá¶áá»á¬ážááᯠáá¯ááºáá±á¬ááºáá¬ážááŒá®ážááŒá áºááŒá®áž á¡áá»ááºá ááá¯áááŒá áºáá±á¬ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááœáẠááŒá¿áá¬ááᯠááœá²ááŒááºážá áááºááŒá¬ááẠá¡áá»áááºááŸááááºá áá»áœááºá¯ááºááá¯á·ááœáẠáá¯á¶áá áºáá¯á¶ááŸááá±á¬ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·á áááºáá«áááºá á¬ážááá·áº áááºááá·áºá ááºážáááºááŸá¯áá»á¬ážááá¯áááᯠáá¯ááºáá±á¬ááºááá¯ááºáá«áááºá ááá¯ááºáááº!
áá±á¬ááºááá¯á· ááŒá±áá áºááŸááºážáá¯ááºáááºá
á
áá
áºá¡ááºáá»ááºáá®áá¬áá¬áá°ážáá»á¬ážá¡ááœáẠáá±áááºážá¡á
á¬ážáá¯á¶áž á¡ááºáá¬áá»á°ážáá±ážááœááºážáá»á¬ážáá²ááŸáá
áºáá¯ááŸá¬- "ááẠPing áá¯ááºáá²á·á¡áá« áá¬ááŒá
áºááœá¬ážááá²á
áá® HR áá±ážááœááºážááᯠáááºááŸáááŒá¿áá¬áá²á· á¡áá¯á¶ážáá»ááá¯á· áá¯á¶ážááŒááºááá¯ááºáá«áááºá á¡ááŒááºážáá»ááºážá¡á¬ážááŒáá·áºá ááẠDNS á¡áááºáá áºáá¯ááᯠáá¯á¶ážááŒááºááẠááŒáá¯ážá á¬ážáá±á¬á¡áá«ááœáẠá¡á±á¬ááºáá«á¡ááá¯ááºáž ááŒá áºááœá¬ážáááº-
- á¡ááá®áá±ážááŸááºážááẠlibdns áá²á·ááá¯á·áá±á¬ á áá áºá á¬ááŒáá·áºááá¯ááºááᯠáá±á«áºáááºá
- libdns ááẠáááºááá·áº DNS áá¬áá¬ááᯠáááºááœááºááá·áºááẠ(á€áá¯á¶ááœáẠ169.254.169.254á áááºáá¬áá±áá¬áá¬áá¬ááŒá áºáááº)
- libdns ááẠUDP socket (SOKET_DGRAM) áááºáá®ážááẠá áá áºáá±á«áºááá¯ááŸá¯áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááŒá®áž áááºážááŒá±á¬ááºážááŸá áºáá¯á áá¯á¶ážááœáẠDNS query áá áºáá¯ááŒáá·áº UDP áá¯ááºááá¯ážáá»á¬ážááᯠáá±ážááá¯á·áá«
- sysctl interface ááŸáááá·áº áááºááẠkernel á¡ááá·áºááœáẠUDP stack ááᯠconfigure áá¯ááºááá¯ááºáá«áááºá
- kernel ááẠnetwork interface ááŸáááá·áº network ááŸáááá·áº packet áá»á¬ážááᯠááá¯á·ááœáŸááºááẠhardware ááŸáá·áº á¡ááŒááºá¡ááŸáẠáá¯á¶á·ááŒááºáá«áááºá
- hypervisor ááẠpacket ááᯠáááºážááŒá®áž áááºážááŸáá·áº ááááœá±á·áá±á¬á¡áá« metadata áá¬áá¬ááá¯á· ááá¯á·ááœáŸááºáááºá
- áááºážá ááŸá±á¬áºááá¬ááŒáá·áº áááºáá¬áá±áá¬áá¬áá¬ááẠDNS á¡áááºááᯠáá¯á¶ážááŒááºááŒá®áž áá°áá®áá±á¬áááºážáááºážááᯠá¡áá¯á¶ážááŒá¯á áá¯á¶á·ááŒááºááŸá¯ááᯠááŒááºáá±ážáááºá
áá»áœááºá¯ááºááá¯á· ááá·áºááœááºážá
ááºážá
á¬ážáá¬ážááŒá®ážááŒá
áºááá·áº á¡áá°á¡ááá»á¬ážááᯠáá»áœááºá¯ááºá¡á¬áž ááááá±ážáá«áá
á±á
áá°ááá»ááº- áá»áá¯ážáá²á·áá±áá±á¬ á á¬ááŒáá·áºááá¯ááºáá»á¬áž
- á ááºážáááºááŸá¯ 1- á áá áºááœáẠááŒá±áá¬áá¶ááŒá±ážáá«á ááŸááºáááºáá±á¬ á áá áºáá±á«áºááá¯ááŸá¯áá»á¬ážááᯠáá°ážáá«áᯠá á áºáá±ážáá«á
- ááááº- á áá áºááŸááºáááºáá±á¬áá±á«áºááá¯ááŸá¯áá»á¬ážááᯠáá±á«áºáááºá
- á ááºážáááºááŸá¯ 2- srapy ááᯠá¡áá¯á¶ážááŒá¯á á áá áºá á¬ááŒáá·áºááá¯ááºáá»á¬ážááᯠáá»á±á¬áºááŒááºáᬠáá¬áááºáá»á¬ážááᯠáá¯á¶ážááŒááºááá¯ááºááá¬ážá
- ááááº- áá«ááá¯á·áá¯ááºááá¯ááºáááºá
- á ááºážáááºááŸá¯ 3- libdns áááºáá±á·áá»áºááŸáá·áº md5sum á á¬ááŒáá·áºááá¯ááºááá¯ááºáá»á¬ážááœáẠrpm âV ááá¯ááœáá·áºáá«á
- ááááº- á á¬ááŒáá·áºááá¯ááºáá¯ááºááẠá¡áá¯ááºáá¯ááºááá·áºáááºáááºááŸá¯á áá áºááŸá áá¯ááºáá»á¬ážááŸáá·áº áá¯á¶ážááá°áá®áá«áááºá
- á ááºážáááºááŸá¯ 4- á€á¡ááŒá¯á¡áá°ááá«áá² VM ááœáẠá¡áá¯á¶ážááŒá¯áá°á á¡ááŒá áºá áá áºáá¯ááºáá¯á¶ááᯠáááºáááºáá«á chroot ááá¯ááœáá·áºáá«á DNS á¡áá¯ááºáá¯ááºááŒááºážááŸááááŸá ááŒáá·áºááŸá¯áá«á
- ááááº- DNS ááŸááºáááºá áœá¬ á¡áá¯ááºáá¯ááºáá«áááºá
á á áºáá±ážááŸá¯áá»á¬ážá¡áá±á«áºá¡ááŒá±áá¶á áááá¯á¶ážáá»á¯áẠááŒá¿áá¬á á á¬ááŒáá·áºááá¯ááºááœá±ááŸá¬ ááá¯ááºáá«áá°ážá
áá°ááá»ááº- DNS áááºáááºáá»á¬ážááœáẠá¡ááŸá¬ážá¡ááœááºážáá áºáá¯ááŸááááºá
- á ááºážáááºááŸá¯ 1- tcpdump ááá¯á á áºáá±ážááŒá®áž áá°ážááŒá®ážáá±á¬áẠDNS packet áá»á¬ážááᯠáá±ážááá¯á·ááŒá®áž ááŸááºáááºá áœá¬ ááŒááºááá¯á·ááŒááºážááŸááááŸá á á áºáá±ážáá«á
- ááááº- á¡áá¯ááºáá»á¬ážááᯠááŸááºáááºá áœá¬ ááá¯á·ááœáŸááºáá«áááºá
- á
ááºážáááºááŸá¯ 2- áá¬áá¬áá±á«áºááœáẠááŸá
áºáá»ááºá
á
áºáá±ážáá«á
/etc/nsswitch.conf
О/etc/resolv.conf
- ááááº- á¡á¬ážáá¯á¶ážááŸááºáá«áááºá
á á áºáá±ážááŸá¯áá»á¬ážá¡áá±á«áºá¡ááŒá±áá¶á áááá¯á¶ážáá»á¯áẠááŒá¿áá¬á DNS configuration áá²á· ááá¯ááºáá«áá°ážá
áá°ááá»ááº- á¡á°ááá¯áẠáá»ááºá á®ážááœá¬ážáááºá
- á ááºážáááºááŒááºáž- kernel á¡áá áºááᯠááá·áºááœááºážáá«á áááºááŸááºá á áºáá«á ááŒááºáááºá áááºáá«á
- ááááº- á¡áá¬ážáá°á¡ááŒá¯á¡áá°
á á áºáá±ážááŸá¯áá»á¬ážá¡áá±á«áºá¡ááŒá±áá¶á áááá¯á¶ážáá»á¯áẠkernel ááá»ááºá á®ážáá«á
áá°ááá»ááº- á¡áá¯á¶ážááŒá¯áá°ááœááºáááºá áááŸááºáááºáá±á¬á¡ááŒá¯á¡áá° (ááá¯á·ááá¯áẠhypervisor ááœááºáááºááŒá¬ážáá¶)
- á ááºážáááºááŸá¯ 1- áááºá firewall áááºáááºáá»á¬ážááᯠá á áºáá±ážáá«á
- ááááº- firewall ááẠhost ááŸáá·áº GCP ááŸá áºáá¯áá¯á¶ážááœáẠDNS packet áá»á¬ážááá¯ááŒááºáááºážáááºá
- á ááºážáááºááŸá¯ 2- á¡ááœá¬ážá¡áá¬ááᯠááŒá¬ážááŒááºááŒá®áž ááá¯á·ááœáŸááºááŸá¯ááŸáá·áº DNS áá±á¬ááºážááá¯ááŸá¯áá»á¬ážá ááŸááºáááºááŸá¯ááᯠá á±á¬áá·áºááŒáá·áºáá«á
- ááááº- tcpdump ááẠhost ááẠreturn packets ááᯠáááºáá¶áááŸáááŒá±á¬ááºáž á¡áááºááŒá¯áááºá
á á áºáá±ážááŸá¯áá»á¬ážá¡áá±á«áºá¡ááŒá±áá¶á áááá¯á¶ážáá»á¯áẠááŒá¿áá¬á network áá²ááŸá¬ááá¯ááºáá°ážá
áá°ááá»ááº- áááºáá¬áá±áá¬áá¬áᬠá¡áá¯ááºááá¯ááºáá«á
- á ááºážáááºááŸá¯ 1- ááœá²ááœá²áá»ááºáá»á¬ážááŸááááŸáá¡ááœáẠáááºáá¬áá±áá¬áá¬áá¬ááŸááºáááºážáá»á¬ážááᯠá á áºáá±ážáá«á
- ááááº- ááŸááºáááºážáá»á¬ážááœáẠááœá²ááœá²áá»ááºáá»á¬ážáááŸááá«á
- á
ááºážáááºááŸá¯ 2- áááºáá¬áá±áá¬áá¬áá¬ááᯠáá»á±á¬áºááŒááºáá«á
dig @8.8.8.8
- ááááº- áááºáá¬áá±áá¬áá¬áá¬ááᯠá¡áá¯á¶ážáááŒá¯áá² ááŒááºáá¬ážááŸá¯ áá»ááºááœá¬ážáááºá
á á áºáá±ážááŸá¯áá»á¬ážá¡áá±á«áºá¡ááŒá±áá¶á áááá¯á¶ážáá»á¯áẠááŒá¿áá¬á áááºáá¬áá±áá¬áá¬áá¬áá²á· ááá¯ááºáá«áá°ážá
á¡á±á¬ááºáá¯á¶ážááá¯ááºáž: áá»áœááºá¯ááºááá¯á·ááŸááœá²á á áá áºááœá²á¡á¬ážáá¯á¶ážááᯠá ááºážáááºáá²á·áááºá runtime áááºáááºáá»á¬ážá
Kernel Runtime áááºáááºáá»á¬ážáá²ááá¯á· áááºáá±á¬ááºáá«á
kernel execution environment ááᯠconfigure áá¯ááºáááºá command line options (grub) ááá¯á·ááá¯áẠsysctl interface ááᯠáá¯á¶ážááá¯ááºáááºá áááºááŒáá·áºááá¯ááºáááºá /etc/sysctl.conf
ááœá±ážááŒáá·áºáá¯á¶áá²á· á
áááºááŒáá¯ááºáááºáááºáá»á¬ážá
áœá¬ááᯠááŸá¬ááœá±ááœá±á·ááŸááá²á·áááºá áá
áºá
á¯á¶áá
áºáá¯ááᯠáááºážááááœá¬ážáááᯠáá¶á
á¬ážáááŒá®áž áá±á¬ááºáááºáááºáá»á¬ážááŸáá·áºá¡áá° áá»ááºááŸááá±á¬ ááœááºáááºááá¯ááºáá±á¬ ááá¯á·ááá¯áẠtcp ááá¯ááºáá±á¬ áááºáááºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠá
áœáá·áºáá
áºááá¯ááºááẠnet.core
. ááá¯á·áá±á¬áẠáá»áœááºá¯ááºááẠVM ááŸá áááºáá¶áá°ááœáá·áºááŒá¯áá»ááºáá»á¬ážááŸááá¬ááá¯á· ááœá¬ážáᬠáá»áá¯ážáá±áá±á¬ VM ááŒáá·áº áááºáááºáá»á¬ážááᯠáá
áºáá¯ááŒá®ážáá
áºáᯠá
áááºá¡áá¯á¶ážááŒá¯áᬠááá¬ážáá¶ááᯠááŸá¬áááœá±á·ááá»ááºážá
net.core.rmem_default = 2147483647
á€ááœááºá áááºážááẠDNS-áá±á¬ááºáá»ááºááá·áºááœá²á·á ááºážááŸá¯áá áºáá¯ááŒá áºáááºá áá°áááºáááºáááºááᯠááœá±á·áá²á·áááºá áá«áá±ááá·áº áá¬ááŒá±á¬áá·áº áá®ááá¯ááŒá áºáá±áá¬áá²á á á±á·áá±á¬áºááŸá¯áá áºáᯠááá¯á¡ááºáá±áá±ážáááºá
á¡ááŒá±áᶠDNS áááºáááºááŒá¬ážáᶠá¡ááœááºá¡á
á¬ážááᯠáá
áºááá·áºáá»ááºáž ááŒááºáááºáááºááŸááºáá¬ážáááºá net.core.rmem_default
. áá¯á¶ááŸááºáááºááá¯ážááẠ200KiB áááºážáá»ááºááœááºááŸáááŒá®áž ááá·áºáá¬áá¬ááẠDNS áááºáá±á·ááºá»áá»á¬ážá
áœá¬ááᯠáááºáá¶áááŸááá«áá ááŒá¬ážáá¶á¡ááœááºá¡á
á¬ážááᯠááá¯ážááŒáŸáá·áºááá¯áá±áááºá á¡áááºá áááºáááºá¡áá
áºáá
áºáá¯áá±á¬ááºáá¬áá±á¬á¡áá«ááœáẠááŒá¬ážáá¶ááŒáá·áºáá±áá«áá á¥ááá¬á á¡ááá®áá±ážááŸááºážááẠáááºážááá¯áá¯á¶áá±á¬ááºá¡á±á¬ááºááá¯ááºáá±á¬ááºááá¯ááºáá±á¬ááŒá±á¬áá·áºá áááºááẠpacket áá»á¬ážá
áááºáá¯á¶ážááŸá¯á¶ážáááá·áºáááºá DNS áááºáá±á·ááºá»áá»á¬ážááŸáááá·áº áááºááá
áºáá»á¬ážááᯠá
á¯áá±á¬ááºážáááºá¡ááœáẠá¡ááá®áá±ážááŸááºážááᯠá¡áá¯á¶ážááŒá¯áá±áá±á¬ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááá±á¬ááºáááºááẠáá±áá¬áá¯á¶ážááŸá¯á¶ážááŸá¯ááᯠááŒá±á¬ááºáá±á¬ááŒá±á¬áá·áº ááŒá¬ážáá¶á¡ááœááºá¡á
á¬ážááᯠááŸááºáááºá
áœá¬ ááá¯ážááŒáŸáá·áºáá²á·áááºá áá°áááºááŸááºáá¬ážáá±á¬áááºááá¯ážááẠá¡áá»á¬ážáá¯á¶ážááŒá
áºááá¯ááºáááº- 231-1 (231 áá¯áááºááŸááºáá«áá kernel ááẠ"INVALID ARGUMENT" ááá¯á·ááŒááºááœá¬ážáááá·áºáááº)á
nmap ááŸáá·áº scapy ááẠá¡áááºááŒá±á¬áá·áº ááŸááºáááºá áœá¬ á¡áá¯ááºáá¯ááºáááºááᯠáá»áœááºá¯áẠáá¯ááºáááẠááá±á¬áá±á«ááºááá¯ááºááẠá áááºážááá¯á·ááẠá¡ááŒááºážáááºáá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá±áá«áááºá Raw socket áá»á¬ážááẠáá¯á¶ááŸáẠsocket áá»á¬ážááŸáá·áº ááœá²ááŒá¬ážáááº- áááºážááá¯á·ááẠiptables áá»á¬ážááᯠáá»á±á¬áºááŒááºáᬠbuffered ááá¯ááºáá«á
ááá¯á·áá±á¬áº "ááŒá¬ážáá¶á¡ááœááºááŒá®ážáááº" áááºá¡áááºááŒá±á¬áá·áºááŒá¿áá¬áá»á¬ážááŒá áºá á±ááááºážá áááºááœááºáá¬ážáááᯠá¡áá¯ááºáááŒá áºáá°ážááá¯áᬠááŸááºážáá«áááºá
á€á¡áá»áááºááœáẠáá»áœááºá¯ááºááẠkernels á¡áá»á¬ážá¡ááŒá¬ážááŸáá·áº ááŒáá·áºáá±ááŸá¯áá»á¬ážá áœá¬ááœáẠááŒá¿áá¬ááᯠááŒááºáááºáááºáá®ážááá¯ááºáá²á·áá«áááºá 3.x kernel ááœáẠááŒá¿áá¬áá±á«áºáá¬ááŒá®áž ááᯠ5.x kernel ááœááºáááºáž áá±á«áºáá¬áá«áááºá
á¡ááŸááºááááºáá±á¬á· á áááºááá¯ááºáá«ááŒá®á
sysctl -w net.core.rmem_default=$((2**31-1))
DNS á¡áá¯ááºááá¯ááºáá±á¬á·áá«á
ááá¯ážááŸááºážáá±á¬ binary ááŸá¬ááœá±ááŸá¯ algorithm ááŸáááá·áº á¡áá¯ááºáá¯ááºáá±á¬ áááºááá¯ážáá»á¬ážááᯠá áááºááŸá¬ááœá±áá²á·ááŒá®áž á áá áºááẠ2147481343 ááŸáá·áº á¡áá¯ááºáá¯ááºááŒá±á¬ááºáž ááœá±á·ááŸááá²á·áá±á¬áºáááºáž á€áá¶áá«ááºááẠáá»áœááºá¯ááºá¡ááœáẠá¡áááá¹áá«ááºáá²á·áá±á¬ ááááºážáá»á¬ážááŒá áºáááºá áá±á¬ááºáááºá¡á¬áž á€áá¶áá«ááºááᯠá ááºážááŒáá·áºááẠáá»áœááºá¯ááºá¡ááŒá¶ááŒá¯áá²á·ááŒá®ážá á áá áºááẠgoogle.com ááŸáá·áº á¡áá¯ááºáá¯ááºááŒá±á¬ááºáž ááŒááºááŒá±á¬áá±á¬áºáááºáž á¡ááŒá¬ážááá¯ááááºážáá»á¬ážááŸáá·áº ááŸá¬ážááœááºážáá±áá±ážáá±á¬ááŒá±á¬áá·áº áá»áœááºá¯ááºá á á¯á¶á ááºážá á áºáá±ážááŸá¯ááᯠáááºáááºáá¯ááºáá±á¬ááºáá²á·áá«áááºá
áááºáááºááŒá®ážáá«ááŒá®á udp_queue_rcv_skb
. áá»áœááºá¯ááºááẠkernel áááºážááŒá
áºáá»á¬ážááᯠáá±á«ááºážáá¯ááºáá¯ááºááŒá®áž á¡áááºážáááºáááºááá·áºáá«áááºá printk
if
á á¡áá»áááºá¡áá±á¬áºááŒá¬á¡á±á¬áẠáá±ážááŒáá·áºáá±ááááẠá á¡ááŒá±á¬ááºážááŸá¬á á¡áá¬á¡á¬ážáá¯á¶ážááẠáá±á¬ááºáá¯á¶ážááœáẠáá
áºáá¯á¶áá
áºáá¯á¶á¡ááŒá
áºááá¯á· áá±á¬ááºááŸáááœá¬ážáá±á¬ááŒá±á¬áá·áºááŒá
áºáááº- 231-1á á¡áááá¹áá«ááºáá²á·áá¶áá«ááºá á¡áá¯ááºááá¯ááºáá±á¬ááá¯ááááºáž... áááºážááẠáá¯ááºá¡ááá¯ááºážá¡á
áá
áºáá¯ááŒá
áºáááºá __udp_enqueue_schedule_skb
:
if (rmem > (size + sk->sk_rcvbuf))
goto uncharge_drop;
áá»á±ážáá°ážááŒá¯. áááááŒá¯áá«:
rmem
int á¡áá»áá¯ážá¡á á¬ážááŒá áºáááºásize
á¡áá»áá¯ážá¡á á¬áž u16 (áááºááŸááºáááá¯ážáá¬ážáá±á¬ ááá·áºááŒá±á¬ááºáá Ạint) ááŒá áºááŒá®áž áááºáááºá¡ááœááºá¡á á¬ážááᯠááááºážáááºážáá¬ážáááºásk->sk_rcybuf
int ááẠá¡áá»áá¯ážá¡á á¬ážááŒá áºááŒá®áž á¡áááá¹áá«ááºáááºááŸááºáá»ááºá¡á á¡ááœááºážááŸááááºááá¯ážááŸáá·áºáá®áá»áŸáá±á¬ buffer á¡ááœááºá¡á á¬ážááᯠááááºážáááºážáá¬ážáááºánet.core.rmem_default
ááá±á¬á¡áá« sk_rcvbuf
231 ááá¯á·áá»ááºážáááºáááºá áááºáááºá¡ááœááºá¡á
á¬ážááᯠáááá¯á¶ážáá»á¯ááºááŒááºážááŒáá·áº ááááºááœááºáá±á«áºááá¯ááºáááºá
á¡ááŸá¬ážá¡ááœááºážááᯠá¡áá±ážá¡ááœá²áááºážááŒáá·áº ááŒááºááá¯ááºáááº- áá¬á
áºáá¯ááºáá«á unsigned int
. áá»áœááºáá±á¬áº ááŒá¯ááŒááºááŸá¯ááᯠá¡áá¯á¶ážáá»ááŒá®áž á
áá
áºááᯠááŒááºáááºá
áááºááá¯ááºáááºááŸáá·áº DNS ááŒááºá¡áá¯ááºáá¯ááºáá«áááºá
á¡á±á¬ááºááœá²á¡ááá¬
áá»áœááºá¯ááºááœá±á·ááŸááá»ááºáá»á¬ážááᯠáá±á¬ááºáááºáᶠáá±ážááá¯á·ááŒá®áž áá±ážááá¯á·áá²á·áá«áááºá
á¡ááŸá¯ááẠááŸá¬ážááŸá¬ážáá«ážáá«áž ááŒá áºááœá¬ážáááºááᯠá¡ááá¡ááŸááºááŒá¯ááá¯ááºááŒá®áž áá¶áá±á¬ááºážá áœá¬ááẠáá¯á¶ážá áœá²áá°áá»á¬ážáá¶á០ááá¯áá²á·ááá¯á· ááŸá¯ááºááœá±ážáá±á¬ áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠáá»áœááºá¯ááºááá¯á· áááºáá¶áááŸááá²áá«áááºá
source: www.habr.com