MALICIOUS
370
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1204.002 Malicious File
The file is an Excel document containing obfuscated VBA macros. Heuristics indicate the use of Shell(), WScript.Shell, and CreateObject, suggesting the macro attempts to execute arbitrary commands. The presence of embedded URLs, though internal, could be used for command and control or to download additional payloads. The ClamAV detection further confirms its malicious nature.
Heuristics 9
-
ClamAV: Xls.Macro.Obfuscation-9804250-0 critical CLAMAV_DETECTIONClamAV detected this file as malware: Xls.Macro.Obfuscation-9804250-0
-
VBA project inside OOXML medium 5 related findings OOXML_VBADocument contains a VBA project — VBA macros present
-
Potential Shell call in VBA critical OLE_VBA_SHELLPotential Shell call in VBAMatched line in script
Set aw = session.ActiveWindow() Set GRID1 = aw.findById("wnd[0]/usr/cntlGRID1/shellcont/shell") For I = 0 To GRID1.RowCount - 1 -
WScript.Shell usage critical OLE_VBA_WSCRIPTWScript.Shell usageMatched line in script
Dim arrConexion(3, 10) Set WshShell = CreateObject("WScript.Shell") Select Case connectTo 'Selector de Conector segun ID SAP -
CreateObject call high OLE_VBA_CREATEOBJCreateObject callMatched line in script
'Set Wbmetricadiaria = Workbooks.Open(PathWbmetricadiaria, False) Set filesystem = CreateObject("Scripting.FileSystemObject") RunUnidNegocio = "EASY ARGENTINA": Call Download_FileEmail("EASY ARGENTINA", FolderDownload_EA) -
GetObject call high OLE_VBA_GETOBJGetObject callMatched line in script
If Not IsObject(Application1) Then Set SapGuiAuto = GetObject("SAPGUI") Set Application1 = SapGuiAuto.GetScriptingEngine -
Environ() call (env variable access) low OLE_VBA_ENVIRONEnviron() call (env variable access)Matched line in script
BD_Metrica = "W:\GGG100_CSC_DATOS_MAESTROS\Macros\Metricas\BD_MetricaUCDM.accdb" 'PathWbmetricadiaria = "C:\Users\" & Environ("username") & "\OneDrive - Cencosud\Robot Modificaciones MM_UCDM\Metricas\Metrica " & MonthName(Month(Date)) & " MARTA UCDM.xlsx" -
External relationship medium OOXML_EXTERNAL_RELExternal target in xl/externalLinks/_rels/externalLink1.xml.rels: /Users/crirod/Google Drive/Proyecto Automatizacion 2018/archivos paraLevantar/MACRO_Modificacion de artículos Supermerca
-
Embedded URL info EMBEDDED_URLOne or more URLs were extracted from the document. The URL itself is not a detection — see the per-URL labels for which channel (macro, JS, link annotation, document body, ...) reached each URL.URL http://portalsap.cencosud.corp/PE0 OOXML external relationship
- http://portalsap.cencosud.corp/P03OOXML external relationship
- https://portalsap.cencosud.corp/SecureLoginServer/webclient/webclient.html?profile=4ae8fa8e-21b2-45b4-a022-5cbd56798450OOXML external relationship
- http://portalsap.cencosud.corp/PP0OOXML external relationship
Extracted artifacts 2
Files carved from inside the sample during analysis.
| Filename | Kind | Source | Size |
|---|---|---|---|
macros.bas |
vba-macro | oletools.olevba.extract_macros (decoded VBA source from OOXML) | 112367 bytes |
SHA-256: 2290ba08f07d568238fa48580d841f1e60f9f3cbeae14645c262b250efff560a |
|||
Preview scriptFirst 1,000 lines of the extracted script
Attribute VB_Name = "ThisWorkbook"
Attribute VB_Base = "0{00020819-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Attribute VB_Name = "Hoja7"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Attribute VB_Name = "A_Main"
Public ArrayArticulos(9999) 'Array Articulos para Libro de Pedido
Public session As Object
Public session2 As Object
Public routePath As String
Public sistemaAOperar
Public seguirProceso
Public exeName
Public wbmodificaciones
Public statusCode
Public objSAPGui
Public App
Public connection
Public ultimaFila As Long
Public ws As Worksheet
Public BD_Metrica As String
Public UnNegocio As String
Public Revision As Boolean
Public FilaMonitor
Public HoraEntrada As Date
Public Cortotexto
Public AmbienteAbierto
Public fobservaciones
Public generico
Public ObsRobot
Public FilaForm As Integer '
Public ambiente
Public UnidadNegocio
Public SKU
Public comentariodeSAP
Public Fcontroldefila As String
'Variables de Datos Colum
Public FSolicitante As String
Public FTiendaFIWRK As String
Public FNumAlmacenLGNUM As String
Public FctdMacLHMG1 As String
Public FumLHME1 As String
Public FTuaLETY1 As String
Public FIndTpAlmaSalidaLTKZA As String
Public FIndTpAlmaEntradaLTKZE As String
Public FIndAreaAlmaLGBKZ As String
Public FIndAlmBloquesBLOCK As String
Public FRpAlmacenLGTYP As String
Public FUbicacionLGPLA As String
Public FctdUbicacionLPMAX As String
Public FctdUbicacionMinLPMIN As String
Public FctdManipulacionMAMNG As String
Public FctdreposicionNSMNG As String
Public PunteroCambio
Public Wb As Workbook
Public Wbmetricadiaria As Workbook
Public WBNumModificaciones As Workbook
Public WBMacroCris As Workbook
Public ContadorPuntero
Public NumberSolicitud As String
Public RunUnidNegocio
Public TotalModificacionesForm As String
Sub Main_Modificaciones_Gestion_Almacen_AR()
application.ScreenUpdating = False: application.DisplayAlerts = False
Dim FolderDownload As String: Dim FolderDownload_PE As String: Dim FolderDownload_EA As String: Dim FolderDownload_PP As String
Dim filesystem As Object
Set WBNumModificaciones = Nothing
Set Wbmetricadiaria = Nothing
Set session = Nothing
Set WBMacroCris = ThisWorkbook
'********************************************************************
BD_Metrica = "W:\GGG100_CSC_DATOS_MAESTROS\Macros\Metricas\BD_MetricaUCDM.accdb"
'PathWbmetricadiaria = "C:\Users\" & Environ("username") & "\OneDrive - Cencosud\Robot Modificaciones MM_UCDM\Metricas\Metrica " & MonthName(Month(Date)) & " MARTA UCDM.xlsx"
'Descarga de los correos desde el Mail (AUTO Modificaciones)
FolderDownload_EA = "C:\Users\" & Environ("username") & "\OneDrive - Cencosud\Robot Modificaciones MM_UCDM\EASY ARGENTINA\Modificacion Gestion de Almacences\"
HostFolder_EABL = "C:\Users\" & Environ("username") & "\OneDrive - Cencosud\Robot Modificaciones MM_UCDM\EASY ARGENTINA\Modificacion Gestion de Almacences"
'Controlar que las carpetas de los dias existan..
Kill_Files (FolderDownload_EA)
Ctrl_MkDIR_CarpetaDias (FolderDownload_EA)
'********************************************************************
'Set Wbmetricadiaria = Workbooks.Open(PathWbmetricadiaria, False)
Set filesystem = CreateObject("Scripting.FileSystemObject")
RunUnidNegocio = "EASY ARGENTINA": Call Download_FileEmail("EASY ARGENTINA", FolderDownload_EA)
DoFolder filesystem.GetFolder(HostFolder_EABL)
'*********************************************************************
WBMacroCris.Activate
WBMacroCris.Sheets("Mon_Modificaciones_Regional").Select
WBMacroCris.Save
Call Send_Log_EMail_Modificaciones
'*********************************************************************
'Wbmetricadiaria.SaveAs "W:\GGG100_CSC_DATOS_MAESTROS\ARTICULOS\Metricas UCDM\" & MonthName(Month(Date)) & "\" & LTrim(Wbmetricadiaria.Name) 'hago el guardar como de la metrica de modificaciones en la carpeta compartida para que los chicos las puedan ver
'Wbmetricadiaria.Close
'WBMacroCris.Close True
End Sub
Sub DoFolder(Folder)
WBMacroCris.Activate
WBMacroCris.Sheets("Mon_Modificaciones_Regional").Select
application.ScreenUpdating = False: application.DisplayAlerts = False
For Each File In Folder.Files
Revision = False 'Bandera de Revision
If LCase(Right(File, 4)) <> "xlsm" Then GoTo Proximo
If Left(File.Name, 2) = "~$" Then GoTo Proximo
Set Wb = application.Workbooks.Open(File, False): Esperar (1): Wb.Activate: Wb.Unprotect ("ucdmcsc")
'Macro_Correr = "'" & File.Name & "'" & "!" & "ControlCompletoPlanilla.Main_Controles"
Macro_Correr = "'" & File.Name & "'" & "!" & "Main.Main_Controles"
On Error Resume Next: application.Run Macro_Correr
If Err.Number = 1004 Then Formulario = "SINMACRO": GoTo salir
OK_Formulario = Ctrl_Form(Wb) 'ContadorPuntero = wb.Sheets("Modificaciones").Range("XFC1")
FilaMonitor = BuscarFilaArchivo(WBMacroCris, File.Name) 'Find Row en LogMonitor
FormularioenROJO = ControlarPestañasROJO(Wb) 'Control de Rojos en formulario
If FormularioenROJO = False Then Formulario = "FORMROJO": Revision = True: GoTo salir
If OK_Formulario = False Then Formulario = "FORMINCORRECTO": Revision = True: GoTo salir
Select Case UCase(Wb.Sheets("Gestion_Almacen").Range("XFD1").value)
Case "FORM_GESTIONALMA_EASYBLAISTEN"
UnNegocio = UCase(Wb.Sheets("Gestion_Almacen").Range("D8").value)
Call FullProcess_EASY_AR(Wb) 'Proceso Completo de Cambios Logisticos
End Select
salir:
Completar_LogMonitor Formulario, FilaMonitor, Wb 'Completa Log Segun corresponda.
Wb.SaveAs (Folder & "\" & Replace((Date), "/", ".") & "\" & File.Name): Wb.Close True: Err.Clear 'Guarda el archivo en la carpeta corrrespondiente...
Call StartRespuestaE_Mail(FilaMonitor, Folder & "\" & Replace(Date, "/", ".")) ' la carpeta donde estaran alojado los archivos....
Kill (Folder & "\" & File.Name) 'Eliminar El archivo que descargue....
Wb = Nothing
Proximo:
NumberSolicitud = ""
Formulario = ""
Next
CloseSystem 'Cuando Culmino cierro SAP P03 de Manera Segura
End Sub
Attribute VB_Name = "C_SelecciondeCasos"
Sub LevantaVariablesForm_GestionAlmacenes()
FSolicitante = SKU.Offset(0, -1)
FTiendaFIWRK = SKU.Offset(0, 1)
FNumAlmacenLGNUM = SKU.Offset(0, 2)
FctdMacLHMG1 = SKU.Offset(0, 3)
FumLHME1 = SKU.Offset(0, 4)
FTuaLETY1 = SKU.Offset(0, 5)
FIndTpAlmaSalidaLTKZA = SKU.Offset(0, 6)
FIndTpAlmaEntradaLTKZE = SKU.Offset(0, 7)
FIndAreaAlmaLGBKZ = SKU.Offset(0, 8)
FIndAlmBloquesBLOCK = SKU.Offset(0, 9)
FRpAlmacenLGTYP = SKU.Offset(0, 10)
FUbicacionLGPLA = SKU.Offset(0, 11)
FctdUbicacionLPMAX = SKU.Offset(0, 12)
FctdUbicacionMinLPMIN = SKU.Offset(0, 13)
FctdManipulacionMAMNG = SKU.Offset(0, 14)
FctdreposicionNSMNG = SKU.Offset(0, 15)
End Sub
Sub Ident_Num_Modif()
On Error Resume Next
On Error GoTo 0
If tipoModificacion = "" Then
Revision = True: MsgRevision "No coloco Tipo de Modificacion " & UnidadNegocio & tipoModificacion, FilaForm
Exit Sub
End If
Set ACA = WBMacroCris.Sheets("Modificaciones").Range("B1")
Set Search = WBMacroCris.Sheets("Modificaciones").Range("B:B").Find(What:=CStr(UnidadNegocio & tipoModificacion), After:=ACA, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not (Search) Is Nothing Then
'MsgBox tipoModificacion
NumerodeModificacion = Search.Offset(0, -1)
PunteroCambio = Search.Offset(0, 4)
RevisionUCDM = Search.Offset(0, 8)
AutomRealizada = Search.Offset(0, 3)
If AutomRealizada = "NO" Then
'MsgBox "Modificacion no automatizada..."
Revision = True: MsgRevision "Modificacion no tolerada por Automatizacion " & UnidadNegocio & tipoModificacion, FilaForm
Exit Sub
End If
If RevisionUCDM = "SI" Then
MsgBox "revisar.. entro a la condicion de modificaciones no toleradas por el robot.."
Revision = True: MsgRevision "Modificacion no tolerada por Automatizacion " & UnidadNegocio & tipoModificacion, FilaForm
Exit Sub
End If
Else 'no tendria q entrar nunca a esta condicion por q tendrian que existir todas!
'MsgBox ("No se encuentra la modificacion")
Revision = True: MsgRevision "Modificacion no programada " & UnidadNegocio & tipoModificacion, " " & FilaForm
Exit Sub
End If
'SUPER PERU 100 al 200
'SUPER PARIS 200 al 300
'SUPER CHILE 300 al 400
'SUPER COLOMBIA 400 al 500
'EASY CHILE 500 al 600
'EASY COLOMBIA 600 al 700
'EASY ARGENTINA 700 al 800
'BLAISTEN ARGENTINA 800 al 900
Select Case NumerodeModificacion
''' Case 102
''' Call M_102_empaqueUxc
''' Case 104
''' Call M_104_activacionalacompra
''' Case 106
''' Call M_106_anotemporada
''' Case 107
''' Call M_107_bloqueoalacompra
''' Case 112
''' Call M_112_claselistasurtido
''' Case 113
''' Call M_113_referenciaproveedor
''' Case 119
''' Call M_119_descripcioncorta
''' Case 120
''' Call M_120_descripcionlarga
''' Case 121
''' Call M_121_eliminacionreginfo
''' Case 127
''' 'Call M_127_grupodearticulos
''' Case 128
''' Call M_128_grupodecompras
''' Case 129
''' Call M_129_marca
''' Case 130
''' Call M_130_modificaciondedun
''' Case 131 'llama a la misma que la anterior por q aplica para los dos
''' Call M_130_modificaciondedun
''' Case 133
''' Call M_133_proveedorregular
''' Case 134 'llama a eliminacion de reg info por q es sugerencia de borrado.. es lo mismo
''' Call M_121_eliminacionreginfo
''' Case 135
''' Call M_135_surtidoparcial
''' Case 136
''' Call M_136_tipodeimpuesto
''' Case 140
''' Call M_140_controlconfirmacion
''' Case 143
''' Call M_143_condiciondealmacenajeDB
''' Case 148
''' Call M_148_cantidadminimapedido
''' Case 149
''' Call M_149_cantidadmaximapedido
''' Case 150
''' Call M_150_PuntodePedidoDatosBasicos
''' Case 162
''' Call M_162_chekilimitado
''' Case 164
''' Call M_164_totalexcsum
''' Case 165
''' Call M_165_eliminaciondeean
''' Case 167 'llama a eliminacion de ean que se hace de la misma manera que el dun14
''' Call M_165_eliminaciondeean
''' Case 171
''' Call M_171_unidadmedidadepedidocompras
''' Case 172
''' Call Modif_UMPEDIDO_PE
''' Case 173
''' Call M_173_ActivacionalaVenta
''' Case 174
''' Call M_174_Agregar_Componentes
''' Case 175
''' Call M_175_TemporadayColeccion
''' Case 176
''' Call M_176_surtidoparcial
''' Case 177
''' Call M_177_categoriadevaloracion
''' Case 179
''' Call M_179_contenidonetoppum
''' Case 180
''' Call M_180_Creacion_DeterUnidadMedidaVentaC
''' Case 181
''' Call M_181_CrearCodBarrasAutogenerado
''' Case 182
''' Call M_182_CrearEmpaque
''' Case 183
''' Call M_183_EliminarComponente
''' Case 184
''' Call M_184_EliminarEmpaque
''' Case 185
''' Call M_185_EliminarSurtidoParcialSKU
''' Case 186
''' Call M_186_FinSuministroProveedor
''' Case 187
''' Call M_187_InactivacionalaVenta
''' Case 188
''' Call M_189_Modif_EAN_Principal
''' 'Call M_188_Modif_DUN_Principal sacaria este por que es el mism que ean el dun y hice la logica para variantes
''' Case 189
''' Call M_189_Modif_EAN_Principal
''' Case 190
''' Call M_190_ModifEntradaySalida
''' Case 191
''' Call M_191_paisdeorigen 'REVISAR NO ESTA HECHA .. ESTA LO DE SUP CHILE...
''' Case 192
''' Call M_192_PlazodeEntrega 'REVISAR NO ESTA HECHA .. ESTA LO DE SUP CHILE...
'''
'''
''''*************************************************CHILE *******************************************************************
''' Case 301
''' Call M_301_atributocanasta
''' Case 302
''' Call M_302_activacionalacompra
''' Case 303
''' Call M_303_activacionalaventa
''' Case 307
''' Call M_307_bloqueoarticuloaladevolucion
''' Case 308
''' Call M_308_categoriadevaloracion
''' Case 314
''' Call M_314_contenidonetoppum
''' Case 318
''' Call M_318_descripcionlarga
''' Case 319
''' Call M_319_eliminacionreginfo
''' Case 304
''' Call M_304_anotemporada
''' Case 305
''' Call M_305_bloqueoalacompra
''' Case 306
''' Call M_306_bloqueoalaventa
''' Case 309
''' Call M_309_categoriamaestro
''' Case 310
''' Call M_310_claselistasurtido
''' Case 311
''' Call M_311_codigoreferenciaproveedor
''' Case 312
''' Call M_312_colgaralpadre
''' Case 315
''' Call M_315_desbloqueoarticuloaladevolucion
''' Case 316
''' Call M_316_descolgaralpadre
''' Case 317
''' Call M_317_descripcioncorta
''' Case 319
''' Call M_319_eliminacionreginfo
''' Case 320
''' Call M_320_empaqueuxc
''' Case 322
''' Call M_322_envaseasociadodestare
''' Case 323
''' Call M_323_envaseyvidautil
''' Case 324
''' Call M_324_fraccionable
''' Case 327
''' Call M_327_marca
''' Case 330
''' Call M_330_paisdeorigen
''' Case 331
''' Call M_331_proveedorregular
''' Case 332
''' Call M_332_EliminarSurtidoParcialSKU
''' Case 333
''' Call M_333_surtidoparcial
''' Case 334
''' Call M_334_tipodeimpuesto
''' Case 335
''' Call M_335_umpvariable
''' Case 336
''' Call M_336_PlazodeEntrega
''' Case 338
''' Call M_338_controldeconfirmacion
''' Case 346
''' Call M_346_cantidadminimadepedido
''' Case 347
''' Call M_347_cantidadmaximadepedido
''' Case 359
''' Call M_359_plazodeentrega
''' Case 360
''' Call M_360_checkilimitado
''' Case 363
'''
''' Case 364
''' Call M_364_ModifEntradaySalida
''' Case 365
''' Call M_365_CrearEmpaque
''' Case 366
''' Call M_366_Destildar_CalculodeCosto
''' Case 369
''' Call M_369_Colocar_CalculodeCosto
''' Case 370
''' Call M_370_Destildarcheckilimitado
''' Case 371
''' Call M_371_Colocar_fraccionable
''' Case 372
''' Call M_372_Agregar_Componentes
''' Case 373
''' Call M_373_GrupodeCompras
''' Case 374
''' Call M_374_ActivacionalaVentaSOLOFecha
''' Case 375
''' Call M_375_PerfildeRedondeo
''' Case 376
''' Call M_376_TotalExcSUM
''' Case 377
''' Call M_377_EnvaseDBasicos
''' Case 378
''' Call M_378_Modif_DUN_Principal
''' Case 379
''' Call M_379_Modif_EAN_Principal
''' Case 380
''' Call M_380_Modif_DUN_Secundario
''' Case 381
''' Call M_381_Modif_EAN_Secundario
''' Case 382
''' Call M_382_EliminarEmpaque
''' Case 383
''' Call M_383_EliminarComponente
''' Case 384
''' Call M_384_EliminarEAN_DUN
''' Case 385
''' Call M_385_BloqueoalaVentaSOLOFECHA
''' Case 386
''' Call M_386_Creacion_DeterUnidadMedidaVentaC
''' Case 387
''' Call M_387_AgregarPerfilFAbr_Repetitiva
''' Case 388
''' Call M_388_EliminarPerfilFAbr_Repetitiva
''' Case 389
''' Call M_389_CrearCodBarrasAutogenerado
''' Case 390
''' Call M_390_DestildarCheck_Ilimitado
'''
'''
'''
'''
'''
'''
'''
'''
'''
'''
'''
'''
''''*********************************************************************************************************************+
''' 'ACA COMIENZAN LOS CASOS PARA PERU PARIS
''' Case 202
''' Call M_202_activacionalacompra
''' Case 203
''' Call M_203_activacionalaventa
''' Case 204
''' Call M_204_anotemporada
''' Case 205
''' Call M_205_bloqueoalacompra
''' Case 206
''' Call M_206_bloqueoalaventa
''' Case 208
''' Call M_208_categoriavaloracion
''' Case 210
''' Call M_210_claselistadurtido
''' Case 211
''' Call M_211_referenciaproveedor
''' Case 217
''' Call M_217_descripcioncorta
''' Case 218
''' Call M_218_descripcionlarga
''' Case 219
''' Call M_219_eliminacionreginfo
''' Case 220
''' Call M_220_empaqueUxc
''' Case 225
''' Call M_225_grupodearticulo
''' Case 226
''' Call M_226_grupodecompra
''' Case 227
''' Call M_227_marca
''' Case 228
''' Call M_229_modificaciondeean 'para ean y dun va a la misma funcion
''' Case 229
''' Call M_229_modificaciondeean 'para ean y dun va a la misma funcion
''' Case 230
''' Call M_230_paisdeorigen
''' Case 231
''' Call M_231_proveedorregular
''' Case 232
''' Call M_219_eliminacionreginfo 'La sugerencia de borrado es igual q la eliminacion de reg info
''' Case 233
''' Call M_233_surtidoparcial
''' Case 236
''' Call M_236_accesoriosdeventa
''' Case 238
''' Call M_238_controlconfirmacion
''' Case 240
''' Call M_240_coleccion
''' Case 212
''' Call M_212_colgaralpadre
''' Case 216
''' Call M_216_descolgaralpadre
''' Case 225
''' Call M_225_grupodearticulo
''' Case 230
''' Call M_230_paisdeorigen
''' Case 234
''' Call M_234_tipodeimpuesto
''' Case 235
''' Call M_235_umpvariable
''' Case 236
''' Call M_236_accesoriosdeventa
''' Case 241
''' Call M_241_condiciondealmacenaje
''' Case 244
''' Call M_244_perfilderedondeo
''' Case 243
''' Call M_243_materiales1
''' Case 246
''' Call M_246_cantidadminimadepedido
''' Case 247
''' Call M_247_cantidadmaximadepedido
''' Case 256
''' Call M_256_centrodebeneficio
''' Case 259
''' Call M_259_plazodeentrega
''' Case 262
''' Call M_262_totalexcsum
''' Case 265
''' Call M_265_eliminaciondeean
''' Case 266
''' Call M_265_eliminaciondeean
''''*********************ACA COMIENZAN LOS CASOS PARA EASY COLOMBIA
''' Case 601
''' Call M_ATRIBUTO_SURTIDO
'*********************ACA COMIENZAN LOS CASOS PARA ARGENTINA
Case 701
'Call M_ATRIBUTO_SURTIDO
'*********************ACA COMIENZAN LOS CASOS PARA BLAISTEN
Case 801
'Call M_ATRIBUTO_SURTIDO
'*********************************************************************************************************************+
'ACA COMIENZAN LOS CASOS PARA EASY CHILE
''' Case 506
''' Call M_PERFILES_LOGISTICOS
''' Case 507
''' Call M_PERFILES_LOGISTICOS
''' Case 508
''' Call M_PERFILES_LOGISTICOS
''' Case 509
''' Call M_PERFILES_LOGISTICOS
''' Case 510
''' Call M_PERFILES_LOGISTICOS
''' Case 512
''' Call M_ATRIBUTO_SURTIDO
'''
'''
End Select
End Sub
Sub Ident_Num_RegInfo()
On Error Resume Next
On Error GoTo 0
Set ACA = WBMacroCris.Sheets("RegistroInfo").Range("B1")
Set Search = WBMacroCris.Sheets("RegistroInfo").Range("B:B").Find(What:=UnidadNegocio, After:=ACA, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not (Search) Is Nothing Then
NumerodeCregInfo = Search.Offset(0, -1)
Else 'no tendria q entrar nunca a esta condicion por q tendrian que existir todas!
MsgBox ("No se encuentra la modificacion")
End If
Select Case NumerodeCregInfo
Case 1
'Call C_1_Reginfo_RP9_PE
Case 2
'Call C_2_Reginfo_PP0_PE
Case 3
'Call C_3_Reginfo_P03_CL
Case 5
'Call C_5_Reginfo_PE0_CL
Case 6
'Call C_6_Reginfo_PE0_CO
Case 7
'Call C_7_Reginfo_PE0_AR
Case 8
'Call C_8_Reginfo_PE0_AR_BL
Case 9
'Call C_9_Reginfo_PE0_REG
End Select
End Sub
Sub Ident_Num_CreacionMarca()
On Error Resume Next
On Error GoTo 0
Set ACA = WBMacroCris.Sheets("Marca").Range("B1")
Set Search = WBMacroCris.Sheets("Marca").Range("B:B").Find(What:=UnidadNegocio, After:=ACA, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not (Search) Is Nothing Then
NumeroCreacionMarca = Search.Offset(0, -1)
Else 'no tendria q entrar nunca a esta condicion por q tendrian que existir todas!
MsgBox ("No se encuentra la modificacion")
End If
Select Case NumeroCreacionMarca
Case 1
'Call C_1_Marca_P03_CL
Case 2
'Call C_2_Marca_RP9_PE
Case 5
Case 6
Case 7
End Select
End Sub
Sub Ident_Num_Volumetria()
On Error Resume Next
On Error GoTo 0
Set ACA = WBMacroCris.Sheets("RegistroInfo").Range("Q1")
Set Search = WBMacroCris.Sheets("RegistroInfo").Range("Q:Q").Find(What:=UnidadNegocio, After:=ACA, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not (Search) Is Nothing Then
NumeroCreacionVolumetria = Search.Offset(0, -1)
Else 'no tendria q entrar nunca a esta condicion por q tendrian que existir todas!
MsgBox ("No se encuentra la modificacion")
End If
Select Case NumeroCreacionVolumetria
Case 1
'Call C_1_Volumetria_RP9_PE
Case 2
'Call C_2_Volumetria_P03_CL
Case 3
'Call C_3_Volumetria_P03_CL
Case 5
Case 6
Case 7
End Select
End Sub
Sub Ident_Num_GrArticulo_Reclasificacion()
On Error Resume Next
On Error GoTo 0
Set ACA = WBMacroCris.Sheets("RegistroInfo").Range("L1")
Set Search = WBMacroCris.Sheets("RegistroInfo").Range("L:L").Find(What:=UnidadNegocio, After:=ACA, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
If Not (Search) Is Nothing Then
NumeroGrArticuloReclasificacion = Search.Offset(0, -1)
Else 'no tendria q entrar nunca a esta condicion por q tendrian que existir todas!
MsgBox ("No se encuentra la modificacion")
End If
Select Case NumeroGrArticuloReclasificacion
Case 1
'Call C_1_GrArticuloReclasificacion_RP9_PE
Case 2
'Call C_2_GrArticuloReclasificacion_P03_CL
Case 4
End Select
End Sub
Attribute VB_Name = "D_BL_AR"
Attribute VB_Name = "D_EA_AR"
'
'/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
' EASY ARGENTINA / *
'/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Sub FullProcess_EASY_AR(Wb As Workbook)
'Para Este Punto si llega hasta aca esta obligado a trabajar en P03
UnidadNegocio = "EASY ARGENTINA" 'Fijo en este punto es Siempre Super Chile
Set session = Nothing 'nuevo...
Set session2 = Nothing 'nuevo...
IniciaScriptSAPAbierto 'inicio SAP, en caso de que sap no este iniciado sigue para poder abrirlo
If session Is Nothing And session2 Is Nothing Then ' si la sesion de sap no esta abierta tiene q ir al portal a abrirla
ambiente = Analisaambiente(UnidadNegocio)
PortalSAP
IniciaScriptSAP
Else
ambiente = Analisaambiente(UnidadNegocio)
AmbienteAbierto = Control_AmbienteAbierto
If AmbienteAbierto <> ambiente Then 'Controla si el SAP abierto es el correcto
CloseSession
Kill_SAP
PortalSAP
IniciaScriptSAPAbierto
IniciaScriptSAP
End If
End If
FilaForm = 13
ObsRobot = 1
'UnidadNegocio = Wb.Sheets("Modificaciones").Range("D8").value
Wb.Sheets("Gestion_Almacen").Unprotect "ucdmcsc"
Set SKU = Wb.Sheets("Gestion_Almacen").Cells(FilaForm, 4)
If SKU <> "" Then
Wb.Sheets("Gestion_Almacen").Range("A13:A10000").ClearContents 'BorrarDAtosenCtrl_Fila
Do Until SKU = ""
Call LevantaVariablesForm_GestionAlmacenes
Cargar_Gesition_Almacenes_AR
UnidadNegocio = UCase(Wb.Sheets("Gestion_Almacen").Range("D8").value)
Fcontroldefila = Wb.Sheets("Gestion_Almacen").Range("A" & FilaForm).value
Carga_Metrica_BD "", UnidadNegocio, "PE0", "MODIFICACIÓN DATOS MAESTROS", "AM BIENES DE CAMBIO", "", "GESTION ALMACEN", NumberSolicitud, "GESTION_ALMACEN"
SeguirSiguiente:
FilaForm = FilaForm + 1
Set SKU = Wb.Sheets("Gestion_Almacen").Cells(FilaForm, 4)
Loop
End If
Wb.Sheets("Gestion_Almacen").Protect ("ucdmcsc")
End Sub
Public Function Cargar_Gesition_Almacenes_AR()
On Error Resume Next
Ir_a_TX ("/nmm42")
On Error Resume Next
session.findById("wnd[0]/usr/ctxtRMMW1-MATNR").Text = CStr(SKU)
'session.findById("wnd[0]/usr/ctxtRMMW1-EKORG").Text = ""
session.findById("wnd[0]/usr/ctxtRMMW1-LIFNR").Text = ""
session.findById("wnd[0]/usr/ctxtRMMW1-LIFNR").Text = ""
session.findById("wnd[0]/usr/ctxtRMMW1-VKORG").Text = ""
session.findById("wnd[0]/usr/ctxtRMMW1-VTWEG").Text = ""
session.findById("wnd[0]/usr/ctxtRMMW1-VZWRK").Text = ""
'session.findById("wnd[0]").sendVKey 0 'Enter
'Llamo a las funciones para seleccion de vistas
SAPMenuAcceso_DestildarTodo
SAPMenuAcceso_TildarChecks ("5")
SAPMenuAcceso_PredeterminarVistas
session.findById("wnd[0]").sendVKey 0 'Enter
CheckWarnin
seguirProceso = Error_BarradeEstadoSAP("wnd[0]/sbar")
sbar = session.findById("wnd[0]/sbar").Text
If seguirProceso = 0 Then
Wb.Sheets("Gestion_Almacen").Cells(FilaForm, ObsRobot).value = Wb.Sheets("Gestion_Almacen").Cells(FilaForm, ObsRobot).value & sbar & " "
Exit Function
End If
session.findById("wnd[0]/usr/tabsTABSPR1/tabpSP05/ssubTABFRA1:SAPLMGMW:2004/subSUB9:SAPLMGD2:2480/btnMARC_PUSH").press 'Presionar Gestion de Almacenes
CheckWarnin
'Dependiendo que pase aca.. tengo que ller por si la caracteristica Planificacion tiene algun dato malo uy modificarlo..
session.findById("wnd[1]/usr/ctxtRMMW1-LGNUM").Text = FNumAlmacenLGNUM 'ColocarLGNUM
session.findById("wnd[1]/usr/ctxtRMMW1-LGTYP").Text = FRpAlmacenLGTYP 'Coloca Tipo de Almacen
session.findById("wnd[1]").sendVKey 0
'Controlar que el Almacen y tipo de almacen sean correctos.
Cartelito = session.findById("wnd[2]/usr/txtMESSTXT1").Text
If Cartelito <> "" Then
Wb.Sheets("Gestion_Almacen").Cells(FilaForm, ObsRobot).value = Wb.Sheets("Gestion_Almacen").Cells(FilaForm, ObsRobot).value & "No es posible ingresar al Numero de Almacen y Tipo de Almacen Indicado."
Exit Function
End If
'LHMG1
If FctdMacLHMG1 <> "" Then session.findById("wnd[0]/usr/subSUB4:SAPLMGD2:2732/txtMLGN-LHMG1").Text = FctdMacLHMG1
If FctdMacLHMG1 = "/" Then session.findById("wnd[0]/usr/subSUB4:SAPLMGD2:2732/txtMLGN-LHMG1").Text = "" 'Vacio
'LHME1
If FumLHME1 <> "" Then session.findById("wnd[0]/usr/subSUB4:SAPLMGD2:2732/ctxtMLGN-LHME1").Text = FumLHME1
If FumLHME1 = "/" Then session.findById("wnd[0]/usr/subSUB4:SAPLMGD2:2732/ctxtMLGN-LHME1").Text = "" 'Vacio
'LETY1
If FTuaLETY1 <> "" Then session.findById("wnd[0]/usr/subSUB4:SAPLMGD2:2732/ctxtMLGN-LETY1").Text = Left(FTuaLETY1, 2)
If FTuaLETY1 = "/" Then session.findById("wnd[0]/usr/subSUB4:SAPLMGD2:2732/ctxtMLGN-LETY1").Text = "" 'Vacio
'LTKZA
If FIndTpAlmaSalidaLTKZA <> "" Then session.findById("wnd[0]/usr/subSUB5:SAPLMGD2:2733/ctxtMLGN-LTKZA").Text = Left(FIndTpAlmaSalidaLTKZA, 3)
If FIndTpAlmaSalidaLTKZA = "/" Then session.findById("wnd[0]/usr/subSUB5:SAPLMGD2:2733/ctxtMLGN-LTKZA").Text = "" 'Vacio
'LTKZE
If FIndTpAlmaEntradaLTKZE <> "" Then session.findById("wnd[0]/usr/subSUB5:SAPLMGD2:2733/ctxtMLGN-LTKZE").Text = Left(FIndTpAlmaEntradaLTKZE, 3)
If FIndTpAlmaEntradaLTKZE = "/" Then session.findById("wnd[0]/usr/subSUB5:SAPLMGD2:2733/ctxtMLGN-LTKZE").Text = ""
'LGBKZ
If FIndAreaAlmaLGBKZ <> "" Then session.findById("wnd[0]/usr/subSUB5:SAPLMGD2:2733/ctxtMLGN-LGBKZ").Text = Left(FIndAreaAlmaLGBKZ, 3)
If FIndAreaAlmaLGBKZ = "/" Then session.findById("wnd[0]/usr/subSUB5:SAPLMGD2:2733/ctxtMLGN-LGBKZ").Text = "" 'Vacio
'BLOCK
If FIndAlmBloquesBLOCK <> "" Then session.findById("wnd[0]/usr/subSUB5:SAPLMGD2:2733/ctxtMLGN-BLOCK").Text = Left(FIndAlmBloquesBLOCK, 2)
If FIndAlmBloquesBLOCK = "/" Then session.findById("wnd[0]/usr/subSUB5:SAPLMGD2:2733/ctxtMLGN-BLOCK").Text = ""
'LGPLA
If FUbicacionLGPLA <> "" Then session.findById("wnd[0]/usr/subSUB6:SAPLMGD2:2734/ctxtMLGT-LGPLA").Text = FUbicacionLGPLA
If FUbicacionLGPLA = "/" Then session.findById("wnd[0]/usr/subSUB6:SAPLMGD2:2734/ctxtMLGT-LGPLA").Text = "" 'Vacio
'LPMAX
If FctdUbicacionLPMAX <> "" Then session.findById("wnd[0]/usr/subSUB6:SAPLMGD2:2734/txtMLGT-LPMAX").Text = FctdUbicacionLPMAX
If FctdUbicacionLPMAX = "/" Then session.findById("wnd[0]/usr/subSUB6:SAPLMGD2:2734/txtMLGT-LPMAX").Text = "" 'Vacio
'MAMNG
If FctdManipulacionMAMNG <> "" Then session.findById("wnd[0]/usr/subSUB6:SAPLMGD2:2734/txtMLGT-MAMNG").Text = FctdManipulacionMAMNG
If FctdManipulacionMAMNG = "/" Then session.findById("wnd[0]/usr/subSUB6:SAPLMGD2:2734/txtMLGT-MAMNG").Text = "" 'Vacio
'LPMIN
If FctdUbicacionMinLPMIN <> "" Then session.findById("wnd[0]/usr/subSUB6:SAPLMGD2:2734/txtMLGT-LPMIN").Text = FctdUbicacionMinLPMIN
If FctdUbicacionMinLPMIN = "/" Then session.findById("wnd[0]/usr/subSUB6:SAPLMGD2:2734/txtMLGT-LPMIN").Text = "" 'Vacio
'NSMNG
If FctdreposicionNSMNG <> "" Then session.findById("wnd[0]/usr/subSUB6:SAPLMGD2:2734/txtMLGT-NSMNG").Text = FctdreposicionNSMNG
If FctdreposicionNSMNG = "/" Then session.findById("wnd[0]/usr/subSUB6:SAPLMGD2:2734/txtMLGT-NSMNG").Text = "" 'Vacio
session.findById("wnd[1]").sendVKey 0 'Enter
CheckWarnin
seguirProceso = Error_BarradeEstadoSAP("wnd[0]/sbar")
sbar = session.findById("wnd[0]/sbar").Text
If seguirProceso = 0 Then
Wb.Sheets("Gestion_Almacen").Cells(FilaForm, ObsRobot).value = Wb.Sheets("Gestion_Almacen").Cells(FilaForm, ObsRobot).value & sbar & " "
Exit Function
End If
session.findById("wnd[0]/tbar[0]/btn[3]").press 'Voy para atras
CheckWarnin
seguirProceso = Error_BarradeEstadoSAP("wnd[0]/sbar")
sbar = session.findById("wnd[0]/sbar").Text
If seguirProceso = 0 Then
Wb.Sheets("Gestion_Almacen").Cells(FilaForm, ObsRobot).value = Wb.Sheets("Gestion_Almacen").Cells(FilaForm, ObsRobot).value & sbar & " "
Exit Function
End If
session.findById("wnd[0]/tbar[0]/btn[11]").press 'Guardar
CheckWarnin
seguirProceso = Error_BarradeEstadoSAP("wnd[0]/sbar")
sbar = session.findById("wnd[0]/sbar").Text
If seguirProceso = 0 Then
Wb.Sheets("Gestion_Almacen").Cells(FilaForm, ObsRobot).value = Wb.Sheets("Gestion_Almacen").Cells(FilaForm, ObsRobot).value & sbar & " "
Exit Function
End If
End Function
Attribute VB_Name = "E_Funciones"
Public Function PortalSAP()
'Stop 'revisar
Kill_SAP
ConnectSapTo (ambiente)
End Function
Public Function ConnectSapTo(connectTo)
Dim WshShell
Dim SAPAlreadyRunning: SAPAlreadyRunning = 0
Dim SapAccessedWindowName: SapAccessedWindowName = "SAP Easy Access"
Dim arrConexion(3, 10)
Set WshShell = CreateObject("WScript.Shell")
Select Case connectTo 'Selector de Conector segun ID SAP
Case "RP9": connection = "004. RP9 - Supermercados Perú"
Case "PE0": connection = "003. PE0 - ERP MdH (Easy - Blaisten)"
Case "P03": connection = "002. P03 - ERP Supermercados Chile"
Case "PFO": connection = "001. PF0 - SAP FICO"
End Select
v_Return = WshShell.Run("""C:\Program Files (x86)\SAP\FrontEnd\SAPgui\SapLogon""", 1, False) 'Ejecuta Sap LogOn
'v_Return = WshShell.Run("""C:\Program Files (x86)\SAP\SapSetup\setup\SAL\SapLogon.s8l""", 1, False) 'Ejecuta Sap LogOn revisar ruta de donde esta a veces falla...
pid = WaitForProcess("saplogon.exe", 7) 'Wait to load in Windows ...
'Se Loguea busca el PID activa la applicacion del logon y comienza a loguearse
If pid > 0 Then
WshShell.AppActivate pid
'Ya con la app abierta me logueo con usuario y contraseña
Esperar (20)
If Not IsObject(Application1) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Application1 = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(connection) Then
Set connection = Application1.OpenConnection(connection, True)
End If
If Not IsObject(sapsession) Then
Set session = connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject Application1, "on"
End If
''sapsessionPEW.findById("wnd[0]").resizeWorkingPane 69, 23, False para ponerlo en maximizado...
Else 'en caso de No encontrar el PID
Stop 'No encontro SAPLogon.exe Abierto
End If
session.findById("wnd[0]").maximize 'Maximizar SAP
'''
''''para que funcione tener siepre en cuanta activar las referencias de vba complementos
''''Set WBMacroCris = ThisWorkbook
''' Dim ie
''' Dim doc
''' Dim loaderSAP '
''' Dim usuario
''' Dim Contrasena
''' 'por si cambia usuario y contrasñea modificarlo aca mono"
''' 'tengo q pedir usuario y contraseña al que tiene la planilla con inputbox
'''
''' usarioo = UCase(Environ("username"))
''' Select Case usarioo
''' Case "RDPALMA"
''' usuario = "rdpalma"
''' Contrasena = "medialuna16"
''' Case "CRIROD"
''' usuario = "crirod"
''' Contrasena = Decrypt(WBMacroCris.Sheets("Hoja1").Range("L14").value)
''' End Select
'''
''''Forzado para Usuario ROBOTUCDM_10
'''usuario = "ROBOTUCDM_10"
'''Contrasena = "2k1hz7i6"
''''************************************
'''On Error Resume Next
''' Set ie = New InternetExplorerMedium
''' ie.Visible = True 'hago visible a internet explorer
''' If ambiente = "PE0" Then 'comienzo a decirle q sap debe abrir dependiento el ambiente q necesito
''' ie.navigate ("http://portalsap.cencosud.corp/PE0")
''' ElseIf ambiente = "P03" Then
''' ie.navigate ("http://portalsap.cencosud.corp/P03")
''' ElseIf ambiente = "RP9" Then
''' ie.navigate ("https://portalsap.cencosud.corp/SecureLoginServer/webclient/webclient.html?profile=4ae8fa8e-21b2-45b4-a022-5cbd56798450")
''' ElseIf ambiente = "PP0" Then
''' ie.navigate ("http://portalsap.cencosud.corp/PP0")
''' End If
'''
''' Do Until ie.ReadyState = READYSTATE_COMPLETE: DoEvents: Loop 'el loop para que responda cuando complete de cargar IE
''' Set doc = ie.Document
''' With doc
''' On Error Resume Next
''' Set loaderSAP = .getelementbyid("SNCForm1").Children(0).Children(0).Children(0).Children(0).Children(0).Children(0).Children(1)
''' Do Until loaderSAP Is Nothing
''' Set loaderSAP = .getelementbyid("SNCForm1").Children(0).Children(0).Children(0).Children(0).Children(0).Children(0).Children(1)
''' Loop
''' On Error GoTo 0
''' application.Wait (Now + TimeValue("00:00:10")) 'espero a que responda pagina
''' On Error Resume Next
''' .getelementbyid("un").value = usuario
''' .getelementbyid("pw").value = Contrasena
''' .getelementbyid("logon").Click
''' On Error GoTo 0
''' End With
'''application.Wait (Now + TimeValue("00:00:15")) 'espero a que se abra sap ...
End Function
Public Function ConnectSAPSecureLogin(IDConexionSap, NombreConexion, user, pass)
Dim WshShell
Dim SAPAlreadyRunning: SAPAlreadyRunning = 0
Dim SapAccessedWindowName: SapAccessedWindowName = "SAP Easy Access"
Dim arrConexion(3, 10)
Set WshShell = CreateObject("WScript.Shell")
connection = IDConexionSap
'NombreConexion = "501.- Finanzas ERP - PEW - produccion"
'abro sap
v_Return = WshShell.Run("""C:\Program Files (x86)\SAP\SapSetup\setup\SAL\SapLogon.s8l""", 1, False)
pid = WaitForProcess("saplogon.exe", 7)
'Se Loguea
If pid > 0 Then
WshShell.AppActivate pid
SApLoguear NombreConexion, user, pass
End If
End Function
Public Function SApLoguear(connection, user, password)
If Not IsObject(Application1) Then
Set SapGuiAuto = GetObject("SAPGUI")
Set Application1 = SapGuiAuto.GetScriptingEngine
End If
If Not IsObject(connection) Then
On Error Resume Next
Set connection = Application1.OpenConnection(connection, True)
End If
If Not IsObject(sapsession) Then
Set sapsession = connection.Children(0)
End If
If IsObject(WScript) Then
WScript.ConnectObject Application1, "on"
End If
' sapsession.findById("wnd[0]/usr/txtRSYST-BNAME").Text = user
' sapsession.findById("wnd[0]/usr/pwdRSYST-BCODE").Text = password
' sapsession.findById("wnd[0]/usr/txtRSYST-LANGU").Text = "es"
' sapsession.findById("wnd[0]").sendVKey 0
' On Error GoTo 0
End Function
…
|
|||
vbaProject_00.bin |
vba-project | OOXML VBA project: xl/vbaProject.bin | 306688 bytes |
SHA-256: 8de7b4b180994a28301a0314e4c6a91c208627cf689657fecfc4efcea517ff7f |
|||
|
Detection
ClamAV:
Xls.Macro.Obfuscation-9804250-0
Obfuscation or payload:
unlikely
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.