mirror of
https://github.com/WithSecureLabs/ModuleStomping
synced 2026-06-06 17:00:48 +00:00
37 lines
1.7 KiB
Groovy
37 lines
1.7 KiB
Groovy
// Build the main project via VS on a windows box
|
|
node('windows')
|
|
{
|
|
deleteDir()
|
|
checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '9d40f624-34b5-4993-9520-2ecf8c5996bf', url: 'https://gitlab.countercept.mwr/ahammond/moduleStomping.git']]])
|
|
|
|
bat "\"${tool 'msbuildVS2017'}\" cowspot.sln /p:Configuration=Debug /p:Platform=\"x64\" /p:ProductVersion=1.0.0.${env.BUILD_NUMBER}"
|
|
|
|
archiveArtifacts 'x64\\Debug\\driver\\*,x64\\**\\*.pdb,x64\\**\\*.exe'
|
|
}
|
|
|
|
// Build the injection payloads on Linux. It's easier than trying to do an unattended install of mingw on windows (!)
|
|
node('linux')
|
|
{
|
|
sh "apt-get install -y g++-mingw-w64-x86-64 make"
|
|
|
|
deleteDir()
|
|
checkout([$class: 'GitSCM', branches: [[name: '*/master']], doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [], userRemoteConfigs: [[credentialsId: '9d40f624-34b5-4993-9520-2ecf8c5996bf', url: 'https://gitlab.countercept.mwr/ahammond/moduleStomping.git']]])
|
|
|
|
dir("injectionPayloads")
|
|
{
|
|
sh "make ldscript=ldscript.WindowsCodecsRaw"
|
|
archiveArtifacts '*.dll'
|
|
}
|
|
stash "injectionPayloads"
|
|
}
|
|
|
|
// Now go back to the windows box, and do an injection!
|
|
// Try to inject the winsock payload, and test that the required socket is opened.
|
|
node('windows')
|
|
{
|
|
unstash "injectionPayloads"
|
|
bat returnStatus: true, script: "taskkill /im snippingtool.exe /f"
|
|
bat "start C:\\windows\\system32\\snippingtool.exe"
|
|
bat "x64\\debug\\inject.exe snippingtool.exe injectionPayloads\\winsock.dll WindowsCodecsRaw.dll"
|
|
bat "nc -v -z localhost 27015"
|
|
} |