generic_javascript_obfuscation in js.driftt.com

On 2018-12-06T12:44:17.944033+00:00 we found suspicious pattern generic_javascript_obfuscation, type: Suspicious, (JavaScript obfuscation is frequently used to hide malicious code (or with hope to protect intellectual property)) in the page https://js.driftt.com/deploy/assets/ass… referenced from http://triggeredmail.appspot.com/ .

The suspicious code sample:

b'var u=["normal","none","counter","open-quote","close-quote","no-open-quote","no-close-quote","initial","inherit"]},~\xef\xbf\xbd\xdc\xb6*\'(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r="~\xef\xbf\xbd\xdc\xb6*\'"==typeof Symbol&&"symbol"==typeof Symbol.\xef\xbf\xbd\xd7\xabj\xef\xbf\xbd+?~\xef\xbf\xbd\xdc\xb6*\'(e){return typeof e}:~\xef\xbf\xbd\xdc\xb6*\'(e){return e&&"~\xef\xbf\xbd\xdc\xb6*\'"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};~\xef\xbf\xbd\xdc\xb6*\' o(e){if(~\xef\xbf\xbd\xdc\xb6*\'(e){return null===e||void 0===e||!1===e||"object"===(void 0===e?"undefined":r(e))&&0' … b'var o=["Webkit","ms","Moz","O"];Object.keys(r).forEach(~\xef\xbf\xbd\xdc\xb6*\'(e){o.forEach(~\xef\xbf\xbd\xdc\xb6*\'(t){r[~\xef\xbf\xbd\xdc\xb6*\'(e,t){return e+t.charAt(0).toUpperCase()+t.substring(1)}(t,e)]=r[e]})});var i={isUnitlessNumber:r,shorthandPropertyExpansions:{background:{backgroundAttachment:!0,backgroundColor:!0,backgroundImage:!0,backgroundPositionX:!0,backgroundPositionY:!0,backgroundRepeat:!0},backgroundPosition:{backgroundPositionX:!0,backgroundPositionY:!0},border:{borderWidth:!0,borderStyle:!0,borderColor:!0},borderBottom:{borderBott' … b'\\x00' … b'\\x2f' … b'\\x3a' … b'\\x40' … b'\\x5b' … b'\\x60' … b'\\x7b' … b'\\x7f' … b'\\xc0' … b'\\xd6' … b'\\xd8' … b'\\xf6' … b'\\xf8' … b'\\xff' … b'\\xac' … b'\\xb1' … b'\\xd7' … b'\\xf7' … b'\\x00' … b'\\x2f' … b'\\x3a' … b'\\x40' … b'\\x5b' … b'\\x60' … b'\\x7b' … b'\\xbf' … b'\\x0b' … b'\\xa0' … b'\\xdf' … b'\\xf6' … b'\\xf8' … b'\\xff' … b'\\xdf' … b'\\xf6' … b'\\xf8' … b'\\xff' … b'\\xc0' … b'\\xd6' … b'\\xd8' … b'\\xde' … b'\\xc0' … b'\\xd6' … b'\\xd8' … b'\\xde' … b'\\x01' … b'\\x08' … b'\\x0b' … b'\\x0c' … b'\\x0e' … b'\\x1f' … b'\\x7f' … b'\\x21' … b'\\x23' … b'\\x5b' … b'\\x5d' … b'\\x7e' … b'\\x01' … b'\\x09' … b'\\x0b' … b'\\x0c' … b'\\x0d' … b'\\x7f' … b'\\x01' … b'\\x08' … b'\\x0b' … b'\\x0c' … b'\\x0e' … b'\\x1f' … b'\\x7f' … b'\\x21' … b'\\x23' … b'\\x5b' … b'\\x5d' … b'\\x7e' … b'\\x01' … b'\\x09' … b'\\x0b' … b'\\x0c' … b'\\x0d' … b'\\x7f' … b'\\x20' … b'\\x7E' … b'\\x2E' … b'\\x00' … b'\\x09' … b'\\x0B' … b'\\x0C' … b'\\x0E' … b'\\x1F' … b'\\x7F' … b'\\x00' … b'\\x1F' … b'\\x7F' … b'\\x00' … b'\\x7F' … b'\\x00' … b'\\x7F' … b'\\xA1' … b'\\xA7' … b'\\xAB' … b'\\xB6' … b'\\xB7' … b'\\xBB' … b'\\xBF' … b'\\xA0' … b'\\x1F' … b'\\x7F' … b'\\x9F' … b'\\x1F' … b'\\x1F' … b'\\x7f' … b'\\x1F' … b'\\x7f' … b'\\x08' … b'\\x00' … b'\\x07' … b'\\x0B' … b'\\x0E' … b'\\x0F' … b'\\x10' … b'\\x1F' … b'\\x80' … b'\\xFF' … b'\\x3c' … b'\\x3e' … b'\\xA0' … b'\\xA0' … b'\\x3c' … b'\\x3e' … b'\\x3c' … b'\\x3e' … b'\\x3c' … b'\\x3e' … b'"shouldComponentUpdate"' … b'"shouldComponentUpdate"' … b'"shouldComponentUpdate"' … b'"componentWillReceiveProps"' … b'"shouldComponentUpdate"' … b'"shouldComponentUpdate"' … b'"shouldComponentUpdate"' … b'"shouldComponentUpdate"' … b'"shouldComponentUpdate"' … b'"initMapDispatchToProps"' … b'"componentWillReceiveProps"' … b'"ScriptBridgingProxyObject"' … b'"YFQYSQQmfK1mM3YlTovTJ"' … b'"Ugxd2GyfizMpdzQu2vE8Q"' … b'"Dr4tahdcqkuKC3oTgkTo7"' … b'"xXC1zSlBWBrfdCr5ulOHf"' … b'"ArgumentOutOfRangeError"' … b'"ObjectUnsubscribedError"' … b'"useCacheForDOMMeasurements"' … b'"componentWillReceiveProps"' … b'"CSSTransitionGroupChild"' … b'"transitionEnterTimeout"' … b'"transitionLeaveTimeout"' … b'"ReactCSSTransitionReplace"' … b'"preventDropOnDocument"' … b'"onlyUpdateForPropTypes"' … b'"returnRejectedSubmitPromise"' … b'"syncHandlersToMousetrap"' … b'"componentWillReceiveProps"' … b'"optionalFormatPattern"' … b'"requestAnimationFrame"' … b'"XMLHttpRequestEventTarget"' … b'"topAnimationIteration"' … b'"ReactCompositeComponent"' … b'"ReactCompositeComponent"' … b'"ReactCompositeComponent"' … b'"ReactCompositeComponent"' … b'"ReactCompositeComponent"' … b'"EnterLeaveEventPlugin"' … b'"BeforeInputEventPlugin"' … b'"ReactCompositeComponent"'

This feature is experimental so please feel free to contact us if you feel any of the reported issues is a false positive or you want to suggest a pattern that should be detected (we are using Yara standard).

Fully automated RESTful API is now available. Subscribe for your free trial today!