SYMBOLCOMMON_NAMEaka. SYNONYMS
win.xfscashncr (Back to overview)

XFSCashNCR


There is no description at this point.

References
2019-08-28Twitter (@r3c0nst)Frank Boldewin
@online{boldewin:20190828:atm:b393cb8, author = {Frank Boldewin}, title = {{Tweet on ATM Malware}}, date = {2019-08-28}, organization = {Twitter (@r3c0nst)}, url = {https://twitter.com/r3c0nst/status/1166773324548063232}, language = {English}, urldate = {2019-12-05} } Tweet on ATM Malware
XFSCashNCR
2019-08-28Cyttek GroupRafael Revert
@online{revert:20190828:other:abc18fa, author = {Rafael Revert}, title = {{Other day other malware in the way (died.exe)}}, date = {2019-08-28}, organization = {Cyttek Group}, url = {https://blog.cyttek.com/2019/08/28/other-day-other-malware-in-the-way-died-exe/}, language = {English}, urldate = {2020-01-08} } Other day other malware in the way (died.exe)
XFSCashNCR
Yara Rules
[TLP:WHITE] win_xfscashncr_auto (20220516 | Detects win.xfscashncr.)
rule win_xfscashncr_auto {

    meta:
        author = "Felix Bilstein - yara-signator at cocacoding dot com"
        date = "2022-05-16"
        version = "1"
        description = "Detects win.xfscashncr."
        info = "autogenerated rule brought to you by yara-signator"
        tool = "yara-signator v0.6.0"
        signator_config = "callsandjumps;datarefs;binvalue"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.xfscashncr"
        malpedia_rule_date = "20220513"
        malpedia_hash = "7f4b2229e6ae614d86d74917f6d5b41890e62a26"
        malpedia_version = "20220516"
        malpedia_license = "CC BY-SA 4.0"
        malpedia_sharing = "TLP:WHITE"

    /* DISCLAIMER
     * The strings used in this rule have been automatically selected from the
     * disassembly of memory dumps and unpacked files, using YARA-Signator.
     * The code and documentation is published here:
     * https://github.com/fxb-cocacoding/yara-signator
     * As Malpedia is used as data source, please note that for a given
     * number of families, only single samples are documented.
     * This likely impacts the degree of generalization these rules will offer.
     * Take the described generation method also into consideration when you
     * apply the rules in your use cases and assign them confidence levels.
     */


    strings:
        $sequence_0 = { 83c901 898decfeffff 8b4508 52 8bcd 50 8d1558894800 }
            // n = 7, score = 100
            //   83c901               | or                  ecx, 1
            //   898decfeffff         | mov                 dword ptr [ebp - 0x114], ecx
            //   8b4508               | mov                 eax, dword ptr [ebp + 8]
            //   52                   | push                edx
            //   8bcd                 | mov                 ecx, ebp
            //   50                   | push                eax
            //   8d1558894800         | lea                 edx, [0x488958]

        $sequence_1 = { 83c902 8b5520 890a eb2a b801000000 6bc000 }
            // n = 6, score = 100
            //   83c902               | or                  ecx, 2
            //   8b5520               | mov                 edx, dword ptr [ebp + 0x20]
            //   890a                 | mov                 dword ptr [edx], ecx
            //   eb2a                 | jmp                 0x2c
            //   b801000000           | mov                 eax, 1
            //   6bc000               | imul                eax, eax, 0

        $sequence_2 = { 0fb685bbfeffff 50 8b8db4feffff e8???????? 8985b0feffff 8b8db0feffff 898dc0feffff }
            // n = 7, score = 100
            //   0fb685bbfeffff       | movzx               eax, byte ptr [ebp - 0x145]
            //   50                   | push                eax
            //   8b8db4feffff         | mov                 ecx, dword ptr [ebp - 0x14c]
            //   e8????????           |                     
            //   8985b0feffff         | mov                 dword ptr [ebp - 0x150], eax
            //   8b8db0feffff         | mov                 ecx, dword ptr [ebp - 0x150]
            //   898dc0feffff         | mov                 dword ptr [ebp - 0x140], ecx

        $sequence_3 = { e8???????? 8bc8 e8???????? 8bc8 e8???????? 68???????? 68???????? }
            // n = 7, score = 100
            //   e8????????           |                     
            //   8bc8                 | mov                 ecx, eax
            //   e8????????           |                     
            //   8bc8                 | mov                 ecx, eax
            //   e8????????           |                     
            //   68????????           |                     
            //   68????????           |                     

        $sequence_4 = { c645fc05 8b8d54f7ffff e8???????? 50 68???????? 8b8588f9ffff 50 }
            // n = 7, score = 100
            //   c645fc05             | mov                 byte ptr [ebp - 4], 5
            //   8b8d54f7ffff         | mov                 ecx, dword ptr [ebp - 0x8ac]
            //   e8????????           |                     
            //   50                   | push                eax
            //   68????????           |                     
            //   8b8588f9ffff         | mov                 eax, dword ptr [ebp - 0x678]
            //   50                   | push                eax

        $sequence_5 = { 8945f4 e9???????? e9???????? 33c9 66894dc0 6a01 8d55c0 }
            // n = 7, score = 100
            //   8945f4               | mov                 dword ptr [ebp - 0xc], eax
            //   e9????????           |                     
            //   e9????????           |                     
            //   33c9                 | xor                 ecx, ecx
            //   66894dc0             | mov                 word ptr [ebp - 0x40], cx
            //   6a01                 | push                1
            //   8d55c0               | lea                 edx, [ebp - 0x40]

        $sequence_6 = { 4a 0078c4 4a 0091c44a00aa c44a00 2f c54a00 }
            // n = 7, score = 100
            //   4a                   | dec                 edx
            //   0078c4               | add                 byte ptr [eax - 0x3c], bh
            //   4a                   | dec                 edx
            //   0091c44a00aa         | add                 byte ptr [ecx - 0x55ffb53c], dl
            //   c44a00               | les                 ecx, ptr [edx]
            //   2f                   | das                 
            //   c54a00               | lds                 ecx, ptr [edx]

        $sequence_7 = { 8b85b4feffff 8945a4 837db000 0f8684000000 e8???????? 8985ccfeffff 8d45a4 }
            // n = 7, score = 100
            //   8b85b4feffff         | mov                 eax, dword ptr [ebp - 0x14c]
            //   8945a4               | mov                 dword ptr [ebp - 0x5c], eax
            //   837db000             | cmp                 dword ptr [ebp - 0x50], 0
            //   0f8684000000         | jbe                 0x8a
            //   e8????????           |                     
            //   8985ccfeffff         | mov                 dword ptr [ebp - 0x134], eax
            //   8d45a4               | lea                 eax, [ebp - 0x5c]

        $sequence_8 = { 0fbe00 3bf0 7522 837d8800 7522 8b8d7cffffff 0fbe31 }
            // n = 7, score = 100
            //   0fbe00               | movsx               eax, byte ptr [eax]
            //   3bf0                 | cmp                 esi, eax
            //   7522                 | jne                 0x24
            //   837d8800             | cmp                 dword ptr [ebp - 0x78], 0
            //   7522                 | jne                 0x24
            //   8b8d7cffffff         | mov                 ecx, dword ptr [ebp - 0x84]
            //   0fbe31               | movsx               esi, byte ptr [ecx]

        $sequence_9 = { 740c c785b8deffff14025500 eb0a c785b8deffff10e25400 837d1000 740b 8b4510 }
            // n = 7, score = 100
            //   740c                 | je                  0xe
            //   c785b8deffff14025500     | mov    dword ptr [ebp - 0x2148], 0x550214
            //   eb0a                 | jmp                 0xc
            //   c785b8deffff10e25400     | mov    dword ptr [ebp - 0x2148], 0x54e210
            //   837d1000             | cmp                 dword ptr [ebp + 0x10], 0
            //   740b                 | je                  0xd
            //   8b4510               | mov                 eax, dword ptr [ebp + 0x10]

    condition:
        7 of them and filesize < 3126272
}
[TLP:WHITE] win_xfscashncr_w0   (20191004 | Detects ATM Malware XFSCashNCR)
rule win_xfscashncr_w0 {
	meta:
		description = "Detects ATM Malware XFSCashNCR"
		author = "Frank Boldewin (@r3c0nst)"
		reference = "https://twitter.com/r3c0nst/status/1166773324548063232"
		date = "2019-08-28"
		hash1 = "d6dff67a6b4423b5721908bdcc668951f33b3c214e318051c96e8c158e8931c0"
        malpedia_reference = "https://malpedia.caad.fkie.fraunhofer.de/details/win.xfscashncr"
        malpedia_version = "20191004"
        malpedia_license = "CC BY-NC-SA 4.0"
        malpedia_sharing = "TLP:WHITE"

	strings:
		$Code1 = {50 8b 4d e8 8b 51 10 52 6a 00 68 2d 01 00 00 8b 45 e8 0f b7 48 1c 51 e8} // CDM Status
		$Code2 = {52 8d 45 d0 50 68 2e 01 00 00 8b 4d e8 0f b7 51 1c 52 e8} // Dispense
		$StatusMessage1 = "[+] Ingrese Denominacion ISO" nocase ascii
		$StatusMessage2 = "[+] Ingrese numero de billetes" nocase ascii 
		$StatusMessage3 = "[!] FAIL.. dispensadores no encontrados" nocase ascii
		$StatusMessage4 = "[!] Unable continue, IMPOSIBLE abrir dispenser" nocase ascii
		$PDB = "C:\\Users\\cyttek\\Downloads\\xfs_cashXP\\Debug\\xfs_cash_ncr.pdb" nocase ascii
		$LogFile = "XfsLog.txt" nocase ascii
		
	condition:
		uint16(0) == 0x5A4D and filesize < 1500KB and 4 of them
}
Download all Yara Rules