自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

深入分析新型POS機木馬LogPOS

安全 終端安全
近幾年POS惡意軟件活動頻繁,本文就2015年發(fā)現(xiàn)的一個新成員LogPOS樣本進行分析。該惡意軟件的一個重要的特點是其利用了郵件槽,可以躲避傳統(tǒng)的檢測機制。

近幾年POS惡意軟件活動頻繁,本文就2015年發(fā)現(xiàn)的一個新成員LogPOS樣本進行分析。該惡意軟件的一個重要的特點是其利用了郵件槽,可以躲避傳統(tǒng)的檢測機制。

[[128908]]

此外,在該樣本中,主程序創(chuàng)建了郵件槽,并作為郵件槽服務器,而注入到各個進程中的代碼則作為客戶端,它們將獲取到的信用卡號碼寫入郵件槽,然后通過郵件槽直接將數(shù)據(jù)傳輸出去。

前言

在這之前,已經(jīng)有過一次POS惡意軟件的惡意活動。

2014年,Jeremy Humble和我發(fā)現(xiàn)了2個未曾曝光過的POS惡意軟件家族,接著在2015年我們又發(fā)現(xiàn)了一個POS惡意軟件的新家族。這次發(fā)現(xiàn)的惡意軟件我們命名為“LogPOS”,它跟前段時間發(fā)現(xiàn)的POS惡意軟件有幾個顯著的差異。

在本文接下來的部分中,我們將對LogPOS進行詳細分析,該樣本哈希值為:

af13e7583ed1b27c4ae219e344a37e2b。

科普:郵件槽(Mailslots)

Windows系統(tǒng)中提供了幾種進程間通信的方式,郵件槽(Mailslots)就是其中的一種。

郵件槽提供進程間單向通信能力,任何進程都能建立郵件槽成為郵件槽服務器。其它進程,稱為郵件槽客戶,可以通過郵件槽的名字給郵件槽服務器進程發(fā)送消息。進來的消息一直放在郵件槽中,直到服務器進程讀取它為止。一個進程既可以是郵件槽服務器也可以是郵件槽客戶,因此可建立多個郵件槽實現(xiàn)進程間的雙向通信。

通過郵件槽可以給本地計算機上的郵件槽、其它計算機上的郵件槽或指定網(wǎng)絡區(qū)域中所有計算機上有同樣名字的郵件槽發(fā)送消息。廣播通信的消息長度不能超過400字節(jié),非廣播消息的長度則受郵件槽服務器指定的最大消息長度的限制。

郵件槽與命名管道相似,不過它傳輸數(shù)據(jù)是通過不可靠的數(shù)據(jù)報(如TCP/IP協(xié)議中的UDP包)完成的,一旦網(wǎng)絡發(fā)生錯誤則無法保證消息正確地接收。不過郵件槽有簡化的編程接口和給指定網(wǎng)絡區(qū)域內的所有計算機廣播消息的能力,所以郵件槽不失為應用程序發(fā)送和接收消息的一種好的選擇。#p#

深入分析

幾乎在看到該樣本的那一刻,一個字符串在我腦海中浮現(xiàn)出來:

\\.\mailslot\LogCC。

在大多數(shù)的POS變種中,都是利用一個進程讀取其他進程的內存,然后將發(fā)現(xiàn)的跟蹤數(shù)據(jù)寫入到日志中。因為LogPOS將代碼注入到了各種進程中,然后令其搜索各個進程的內存,所以此時無法使用日志,因為它們不能同時以寫入訪問模式打開同一個文件。所以,LogPOS選擇使用了郵件槽。

使用郵件槽進行通信或存儲對惡意軟件來說并不是一種新機制,在火眼(FireEye)關于APT28的一份報告中,它提到該組織曾使用過郵件槽“check_mes_v5555”。郵件槽是一種IPC機制,它允許多個客戶端向服務器發(fā)送消息。在本文所分析的樣本中,主程序創(chuàng)建了郵件槽,并作為郵件槽服務器,而注入到各個進程中的代碼則作為客戶端,它們將獲取到的信用卡號碼寫入郵件槽,然后通過郵件槽直接傳輸?shù)紺2。

在程序執(zhí)行的開始處,程序以郵件槽名字\\.\mailslot\LogCC為參數(shù)調用了CreateMailslotA函數(shù)。

深入分析新型POS機木馬LogPOS 

如果郵件槽創(chuàng)建失敗,程序將會退出;否則,程序將進入一個無限循環(huán),并按順序執(zhí)行下面的函數(shù):

1、休眠500毫秒
2、遍歷進程
(1)與白名單進行比較
(2)將shellcode注入到進程中(如果不在白名單中)
(3)掃描信用卡跟蹤信息
(4)使用Luhn算法進行驗證
3、讀取郵件槽
4、將數(shù)據(jù)發(fā)送出去

最有趣的是注入的代碼,所以接下來我們將更詳細地對其進行分析。

在遍歷進程(如上所述)時,惡意軟件會將進程名與白名單進行比對,白名單主要包含以下名字:

windbg.exe
logounui.exe
taskmgr.exe
skype.exe
thunderbird.exe
devenv.exe
steam.exe
winlogon.exe
wininit.exe
csrss.exe
smss.exe
svchost.exe
firefox.exe
chrome.exe
explorer.exe
psi.exe
pidgin.exe
System

實現(xiàn)比較字符串功能的代碼如下所示:

深入分析新型POS機木馬LogPOS

一旦發(fā)現(xiàn)某個進程名不在白名單中,就會利用函數(shù)WriteProcessMemory將代碼注入到該進程的內存空間。Shellcode所做的第一件事就是尋找kernel32的基地址,利用其開始創(chuàng)建導入模塊。尋找kernel32的方法在很多博客中都已經(jīng)總結的很詳細了。

深入分析新型POS機木馬LogPOS

一旦發(fā)現(xiàn)了基地址,shellcode將開始通過自己的哈希技術重建入口。一些哈希和對應值的列表如下所示。

深入分析新型POS機木馬LogPOS

建立入口之后,惡意軟件會以文件名\\.\mailslot\LogCC為參數(shù)調用函數(shù)CreateFileA來獲取一個用于寫操作的文件句柄。

深入分析新型POS機木馬LogPOS

當掃描內存時,惡意軟件將使用一個自定義搜索算法來查找跟蹤信息的常見的標志。

深入分析新型POS機木馬LogPOS

然后,將找到的信息傳遞給實現(xiàn)的Luhn算法來進行驗證。一旦此信息有效,則它們將會被發(fā)送到郵件槽中,以供后面主程序的讀取。當按順序增加一個數(shù)字后,惡意軟件將創(chuàng)建一個格式化字符串,并將該信息發(fā)送到遠程站點上。

深入分析新型POS機木馬LogPOS

然后,數(shù)據(jù)被發(fā)送到遠程站點上(通過HTTP的GET方法)。

深入分析新型POS機木馬LogPOS

站點接收到的內容會被存放在一個表單中(在寫本文時,表單內容并未加密)。表單中大部分的號碼都在rdpclip和notepad的進程空間中,所以我們猜想可能該惡意軟件作者正在測試他們的代碼。相應內容和相關IP信息的截圖如下圖所示。

深入分析新型POS機木馬LogPOS #p#

檢測方法

因為LogPOS并不是通過掃描文件來獲取未加密的信用卡信息,而是利用郵件槽的方法,所以它能夠避開傳統(tǒng)的檢測機制。然而,如果使用類似yara這樣的工具的話,將能夠很容易地檢測到該惡意軟件的各種變體。下面的規(guī)則將能夠幫助你在網(wǎng)絡中找到這個惡意工具。

  1. rule LogPOS  
  2. {    meta:  
  3.         author = "Morphick Security" 
  4.         description = "Detects Versions of LogPOS" 
  5.         md5 = "af13e7583ed1b27c4ae219e344a37e2b" 
  6.     strings:  
  7.         $mailslot = "\\\\.\\mailslot\\LogCC" 
  8.         $get = "GET /%s?encoding=%c&t=%c&cc=%I64d&process=" 
  9.         //64A130000000      mov eax, dword ptr fs:[0x30]  
  10.         //8B400C        mov eax, dword ptr [eax + 0xc]  
  11.         //8B401C        mov eax, dword ptr [eax + 0x1c]  
  12.         //8B4008        mov eax, dword ptr [eax + 8]  
  13.         $sc = {64 A1 30 00 00 00 8B 40 0C 8B 40 1C 8B 40 08 }  
  14.     condition:  
  15.         $sc and 1 of ($mailslot,$get)  

除了yara,這種POS惡意軟件也能通過它的URI模式被檢測出來,下面的簽名將能夠從網(wǎng)絡中檢測出該惡意軟件。

  1. signature LogPOS {    
  2.     #source: Morphick Security  
  3.     #version: 1  
  4.     #Ref: af13e7583ed1b27c4ae219e344a37e2b  
  5.     ip-proto == tcp  
  6.     dst-port == 80,443  
  7.     http-request /.*encoding\=.*\&t\=.*\&cc\=.*\&process\=.*\&track\=/  
  8.     event "LogPOS Credit Card GET Request Pattern"  
  9.     } 

結論

近幾年,POS惡意軟件已經(jīng)在很多方面引起了關注。趨勢科技最近報道說,在過去6個月中發(fā)現(xiàn)的POS惡意軟件變種,比過去幾年中發(fā)現(xiàn)的都要多。

例如,今年早些時候,Josh Grunzweig發(fā)現(xiàn)了一個Alina的新變種,該變種被命名為“eagle”;Trustwave記錄了另一個新版本(稱為Spark)。然而,隨著這一切的發(fā)生,新的家族如Getmypass、LusyPOS、Daredevil、NewPOSThings和Backoff的發(fā)現(xiàn)歷程則才剛剛開始。

責任編輯:藍雨淚 來源: FreeBuf
相關推薦

2023-08-07 07:44:44

2014-12-09 14:18:37

2010-09-07 14:21:22

PPPoE協(xié)議

2022-04-12 08:30:45

TomcatWeb 應用Servlet

2011-03-23 11:01:55

LAMP 架構

2010-03-08 14:53:48

Linux分區(qū)

2011-09-01 13:51:52

JavaScript

2023-02-01 08:13:30

Redis內存碎片

2022-08-30 07:00:18

執(zhí)行引擎Hotspot虛擬機

2021-10-29 16:36:53

AMSAndroidActivityMan

2009-12-14 14:50:46

Ruby傳參數(shù)

2009-12-16 16:39:01

Visual Stud

2009-06-10 18:12:38

Equinox動態(tài)化OSGi動態(tài)化

2018-12-18 10:11:37

軟件復雜度軟件系統(tǒng)軟件開發(fā)

2015-08-03 09:54:26

Java線程Java

2020-12-07 06:23:48

Java內存

2013-11-14 17:02:41

Android多窗口

2018-10-25 15:24:10

ThreadLocal內存泄漏Java

2011-09-13 09:08:22

架構

2021-04-13 12:55:06

SpringMVC解析器接口
點贊
收藏

51CTO技術棧公眾號