網頁

2017年1月17日 星期二

ppData%\[random_path

 明天发下啊第两阶段
1.搜集有闭零碎的数据;
2.将本身复造到位于“%AppData%\[random_path]\[random_file_name].exe”中的一个随机定名的文件;
3.树立一个在以后用户下一次登录零碎时运转本身的方案义务;
4.在注册表中创立注册表项,并存储AES减稀的数据(步调1中搜集的零碎数据);
5.从“%AppData%\[random_path]\[random_file_name].exe”中运转下一阶段的可履行文件。

有一个额定的细节,歹意硬件在搜集有闭零碎的数据时,创立了一个风趣的构造。例如,在测试机上,歹意硬件创立的构造以下:
[Asm] 纯文本查看 复制代码
?
1
00 00 02 00 00 00 06 00  03 3C 80 5E 96 58 91 B607 54 A4 00 00 00 03 00  00 00 37 36 34 38 37 2D33 34 31 2D 38 36 31 39  31 30 33 2D 32 32 30 3634 00 2C 00 00 00 41 32  32 2D 30 30 30 30 31 0000 00 00 00 00 00 2C CC  C0 A8 22 31 A6 35 23 98E5 97 52 11 03 00 00 00  00 00 45 53 07 54 50 6F04 00 00 00 00 00 00 00  00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00  00 00 37 34 34 30 32 0000 00 00 00 00 00 B8 03  00 00 80 5E 96 58 00 0100 00 EA 32 00 00 00 00  00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00  00 00 00 00 00 00 00 0000 00 2C 47 6C C7 00 BA  0D F0 AD BA 0D F0 AD BA +0x02   dwNumberOfProcessors (SYSTEM_INFO)+0x06   wProcessorLevel      (SYSTEM_INFO)+0x08   wProcessorRevision   (SYSTEM_INFO)+0x0A   VolumeSerialNumber  +0x0E   InstallDate "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion"+0x12   DigitalProductID "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion"

计算上述构造的MD5集列并存储在当地。创立ASCII战Unicode格局化的字符串所暗示的MD5集列。例如,在测试机上:
[Asm] 纯文本查看 复制代码
?
1
00853D20  39 37 32 39 35 38 41 36  35 38 38 30 42 35 35 41  972958A65880B55A00853D30  30 45 42 44 35 35 35 39  30 37 38 43 31 37 33 35  0EBD5559078C1735 00853E58  39 00 37 00 32 00 39 00  35 00 38 00 41 00 36 00  9.7.2.9.5.8.A.6.00853E68  35 00 38 00 38 00 30 00  42 00 35 00 35 00 41 00  5.8.8.0.B.5.5.A.00853E78  30 00 45 00 42 00 44 00  35 00 35 00 35 00 39 00  0.E.B.D.5.5.5.9.00853E88  30 00 37 00 38 00 43 00  31 00 37 00 33 00 35 00  0.7.8.C.1.7.3.5.

两个MD5集列将战计算机称号衔接在一同(#做为分隔符)。然后计算出衔接后的字符串的MD5集列。那个MD5集列是一个歹意硬件运用的无独有偶的GUID。该歹意硬件运用了相反的算法,发生了相反的后果,那个后果关于每个被传染的零碎来讲是无独有偶的。
接上去,歹意硬件在“%AppData%”中创立了一个随机定名的途径并将本身复造到该目次中,文件称号是随机定名的可履行文件。例如,测试零碎上,该歹意硬件创立其本身的正本鄙人里的地位:
[Asm] 纯文本查看 复制代码
?
1
“%AppData%\MfzxAHCb\HQHKWbsv\PMqLMKtj\oPQVNiRgs.exe”

新创立的正本的MD5集列与字符“BOTNET2”存储在一同:
[Asm] 纯文本查看 复制代码
?
1
0012F628  8A 15 4F AE 3B 78 B4 8D  B1 71 C4 C9 49 99 E0 C0  è.O«;x|.|q-+IÖa+0012F638  42 4F 54 4E 45 54 32 00  00 00 00 00 00 00 00 00  BOTNET2.........

歹意硬件创立的方案义务将在以后用户下次登录零碎时运转。那是经过履行以下挪用挨次完成的:
[Asm] 纯文本查看 复制代码
?
1
1.CoCreateInstance(creates ITaskScheduler, CLSID {148bd52a-a2ab-11ce-b11f-00aa00530503},  IID {148bd527-a2ab-11ce-b11f-00aa00530503}).2.ITaskScheduler::NewWorkItem(creates ITask, CLSID_CTask {148BD520-A2AB-11CE-B11F-00AA00530503},  IID_ITask{148BD524-A2AB-11CE-B11F-00AA00530503}).3.ITask::SetFlags.4.ITask:SetAccountInformation.5.ITask::SetWorkingDirectory.6.ITask::SetApplicationName.7.ITask::SetMaxRunTime.8.ITask::CreateTrigger.9.ITaskTrigger:SetTrigger. ;PTASK_TRIGGER: ;Stack[00000F08]:0012E1BC 30 00                   dw 30h     ; cbTriggerSize ;Stack[00000F08]:0012E1BE 00 00                   dw 0       ; Reserved ............................... ;Stack[00000F08]:0012E1D8 04 00 00 00             dd 4       ; rgFlags ;Stack[00000F08]:0012E1DC 07 00 00 00             dd 7       ; TASK_EVENT_TRIGGER_AT_LOGON ;Stack[00000F08]:0012E1E0 01 00 00 00             dd 1       ; Type10.ITask::QueryInterface(CLSID_IPersistFile)11.IPersistFile::Save.

创立注册表项“HKCU\\Software\\Classes\\CLSID\\{[unique_per_system_guid]}”,用“@”去添补子项“0”战“1”。注册表中的数据是经过AES减稀的。注册表将数据传递到了下一阶段。AES的稀钥可以从硬编码的数据中取得:
[Asm] 纯文本查看 复制代码
?
1
00854028  08 00 99 E3 72 5D A8 0E  FB DF A8 87 42 D4 AA AB  ..Öpr]¿.vˉ¿çB+¬½00854038  DE AD 35 3F 41 B9 80 5D  85 D4 2E A1 00 E6 E1 8C  |¡5?A|Ç]à+.í.μßî00854048  31 00 01 00 53 C3 00 00  39 37 32 39 35 38 41 36  1...S+.

得出的稀钥为:
[Asm] 纯文本查看 复制代码
?
1
0012E750  E3 99 00 08 0E A8 5D 72  87 A8 DF FB AB AA D4 42  pÖ...¿]rç¿ˉv½¬+B

失掉稀钥的算法为:
[Asm] 纯文本查看 复制代码
?
1
.text:0040EA85 0F B6 79 FE             movzx   edi, byte ptr [ecx-2].text:0040EA89 0F B6 59 FF             movzx   ebx, byte ptr [ecx-1].text:0040EA8D C1 E7 08                shl     edi, 8.text:0040EA90 0B FB                   or      edi, ebx.text:0040EA92 0F B6 19                movzx   ebx, byte ptr [ecx].text:0040EA95 C1 E7 08                shl     edi, 8.text:0040EA98 0B FB                   or      edi, ebx.text:0040EA9A 0F B6 59 01             movzx   ebx, byte ptr [ecx+1].text:0040EA9E C1 E7 08                shl     edi, 8.text:0040EAA1 0B FB                   or      edi, ebx.text:0040EAA3 89 3C 96                mov     [esi+edx*4], edi.text:0040EAA6 42                      inc     edx.text:0040EAA7 83 C1 04                add     ecx, 4.text:0040EAAA 83 FA 04                cmp     edx, 4.text:0040EAAD 7C D6                   jl      short loc_40EA85

接上去,歹意硬件运转其位于“%AppData%”目次下的正本:
[Asm] 纯文本查看 复制代码
?
1
.text:00403BA1 8D 55 E4                lea     edx, [ebp+var_1C].text:00403BA4 52                      push    edx        ; lpProcessInformation.text:00403BA5 8D 45 8C                lea     eax, [ebp+StartupInfo].text:00403BA8 50                      push    eax                        ; lpStartupInfo.text:00403BA9 53                      push    ebx                        ; lpCurrentDirectory.text:00403BAA 53                      push    ebx                        ; lpEnvironment.text:00403BAB 68 00 00 00 04          push    CREATE_DEFAULT_ERROR_MODE  ; dwCreationFlags.text:00403BB0 53                      push    ebx                        ; bInheritHandles.text:00403BB1 53                      push    ebx                        ; lpThreadAttributes.text:00403BB2 53                      push    ebx                       ; lpProcessAttributes.text:00403BB3 68 F0 19 41 00          push    offset CommandLine         ; lpCommandLine.text:00403BB8 8D 8D 79 FC FF FF       lea     ecx, [ebp+MultiByteStr].text:00403BBE 51                      push    ecx                        ; lpApplicationName                                         ;"%AppData%\MfzxAHCb\HQHKWbsv\PMqLMKtj\oPQVNiRgs.exe"..text:00403BBF 89 5D E4                mov     [ebp+var_1C], ebx.text:00403BC2 89 5D E8                mov     [ebp+var_18], ebx.text:00403BC5 89 5D EC                mov     [ebp+var_14], ebx.text:00403BC8 89 5D F0                mov     [ebp+var_10], ebx.text:00403BCB C7 45 8C 44 00 00 00    mov     [ebp+StartupInfo.cb], 44h.text:00403BD2 FF 15 60 10 41 00       call    ds:CreateProcessA




VirLock的“敲诈者”病毒。

本帖最后由 t2st 于 2016-2-25 17:10 编辑

简述
VirLock的“敲诈者”病毒。它主要是通过强锁电脑里的文档、图片等重要资料,借机敲诈用户赎金0.71比特币(约1000元人民币)。

病毒描述
攻击行为一:感染用户数据文件及可执行文件

感染文件类型



主要感染现象
被感染的文件与原文件图片一致,但是被感染文件是一个可执行病毒文件,再次执行会触发病毒感染行为。
分析流程
通过行为检测得知病毒样本会对数据文件及可执行文件进行感染,将测试文件"1.JPG"放置C盘目录下。通过感染型病毒的遍历磁盘的特征对FindFirstFile()和FindNextFile()这两个API函数下断点。

样本对计算机磁盘按照A-Z遍历磁盘,由于测试环境没有软盘,就从C盘开始遍历文件,获取到文件名后提取后缀名进行逐一匹配。


调用ExtractAssociatedIconW()对正在感染的文件进行判断,确认它是否存在图标,如果存在图标再调用GetIconInfo获得图标的大小,接着创建ioc文件,这个ioc文件生成在样本所在的目录下,也就是我们的桌面。





通过调用CreateFile创建了poEc.exe文件,生成目录是样本所在的文件夹里,也就是桌面,并通过WriteFile()写入数据。



通过调用UpdateResource来交换poEC.exe和IOik.ico的图标文件,交换后调用EndUpdateResource来终止在poEx.exe中的资源更新,然后通过CopyFile()将伪造的病毒执行文件拷贝到感染文件的目录下。






通过DeleteFile删除了被感染的文件,以及创建在样本目录的恶意程序和图标,完成感染。[原始文件并没有被删除的,只是被加密了。后来写修复程序的时候才反应过来报告中写错了!] (T_T)

攻击行为二:篡改用户密码
篡改当前用户,并创建一个新的用户。

病毒样本执行后,当前用户的密码会被恶意篡改。
账号名:Administrator(password:unlockpc)
密码:unlockpc

账号名:p9jgjgjgjp9udmdm(账号名为随机生成)



分析流程
恶意篡改计算机当前用户,并将创建的"p9jgjgjgjp9udmdm"用户添加到administrators组、remote desktop组。

攻击行为三:弹出勒索提示,挟持用户界面
病毒全盘感染完毕之后,会弹出勒索提示框进行警告,病毒会勒索0.71 BTC(约合人民币1000元)。

分析流程

经过测试猜测挟持界面主要由被感染的病毒样本释放出来的"bIQckwEg.exe"控制,考虑进一步分析其行为特征。

攻击行为四:感染病毒后缀名隐藏
通过修改注册表"HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced"中的HideFileExt和Hidden的键值,达到隐藏后缀名欺骗用户点击感染病毒的文件。


分析流程
后缀名隐藏主要是为了将病毒文件伪装成被感染文件,从而欺骗用户点击执行可执行病毒文件。这里主要是通过修改注册表,达到隐藏后缀名。

攻击行为五:自启动/注册系统服务项
"C:\Documents and Settings\Administrator\oUskAAMo\"下创建"Niwgglgm.exe"
"C:\Documents and Settings\All Users\QugMcMkc\"下创建"bIQckwEg.exe"

"C:\Documents and Settings\All Users\deIEggYc\"下创建文件"aAYEQwMk.exe"

通过"msconfig"来查看计算机自动启动的项目,发现"bIQckwEg.exe"、"Niwgglgm.exe"加入到了启动项。


"aAYEQwMk.exe"注册到系统服务中,服务名为"OIowMkax"(服务名也是随机的大小写字母)。


分析流程
创建文件通过调用CreateFile,设置自启动主要是通过调用注册表API函数将病毒感染样本释放出来的"bIQckwEg.exe"、"Niwgglgm.exe"加入到了启动项。"aAYEQwMk.exe"注册到系统服务中,估计是通过调用CreateService来实现的。

攻击行为六:守护进程

"Niwgglgm.exe":主要负责感染系统可执行文件及数据文档。
"bIQckwEg.exe":主要负责弹出勒索提示,并挟持界面。
"aAYEQwMk.exe":主要负责守护再次。

病毒会创建多个进程,且互相看护,如果其中任何一个进程结束,则会重新创建一个新的实例


攻击行为七:关闭UAC(系统安全功能)

由于测试环境是XP系统,而UAC是属于Windows 7里的系统安全功能。


后话
最近开始看一些感染类型的样本,整理之前学习资料看到以前写报告,就分享出来,可能有很多地方写的不对,但是大家不要在意细节啦。不过也欢迎大家指出不足的地方!挺喜欢这个板块的,把写的一些报告发这里记录自己这个菜鸟的成长。┑( ̄。。 ̄)┍ 

2017年1月15日 星期日

(教學)windows批次檔利用forfiles依時間清除備份檔(bat.自動化.篩選.刪除)

(教學)windows批次檔利用forfiles依時間清除備份檔(bat.自動化.篩選.刪除)

創建一個記事本貼上程式碼之後另存新檔
存檔類型選所有檔案,副檔名為bat,就可以直接執行使用。
目標路徑檔案越多則程式執行越久,視窗關閉代表執行結束。
PS:刪除的檔案不會出現在回收桶,使用之前請確認好設定。

如圖

程式碼舉例:

c:\windows\system32\forfiles /p F:\ /s /d -90 /m *.* /c "cmd /c del @file"
以上指令是搜尋F槽包含資料夾內超過系統作業時間90天以上的檔案進行刪除
c:\windows\system32\forfiles /p F:\ /s /d -90 /m *.txt /c "cmd /c del @file"
以上指令是搜尋F槽包含資料夾內超過系統作業時間90天以上副檔名txt的檔案進行刪除

可以自己依造需求更改。


使用到的參數清單:
    /p         表示要開始搜尋的路徑,預設為檔案目前資料夾路徑。

    /s         forfiles 遞迴搜尋子目錄。

    /d        [{+ | - }] [{MM / DD / YYYY | DD }]選擇日期大於或等於( + ) (或                   者小於或等於( - ) )指定日期的文件,其中MM /DD/YYYY是指定的                日期, DD是當前日期減去DD天如果未指定+或 - ,則使用+ .DD的有                  效範圍是0 - 32768 。
     
    /m       根據 searchmask 搜尋檔案。預設為*不限制。

    /c        在每個文件上運行指定的命令,帶有空格的命令字符串必須用引號括起                  來,默認的命令是 "cmd /c echo @file"

2017年1月7日 星期六

java語法與smali語法差異

java語法
smali語法
說明
private boolean isFlag
.field private isFlag:z
定義變量
Package
.class 
.super 
.local 
.method 
.parameter 
.prologue 
.line 12
指定目前的類名
所繼承的父類
定義使用局部變量
方法
方法參數
方法開始
此方法位於.java中的第12行,可以在混淆穩重去除,去除不影響執行結果
super
invoke-super
const/high16 v0, 0x7fo3
invoke-direct
調用父函數
吧0x7fo3賦值給v0
調用函數
return
Return-void
.end method
函數返回void
函數結束
new 



if(vA==vB)
if(vA!=vB)
if(vA< vB)
if(vA>=vB)
if(vA>vB)
if(vA<=vB)
if(vA==0)
if(vA!=0)
if(vA<0)
if(vA>=0)
if(vA>0)
if(vA<=0)
new-instance
iput-object
iget-object
invoke-static
if-eq vA, vB
if-ne vA, vB
if-lt vA, vB
if-ge vA, vB
if-gt vA, vB
if-le vA, vB
if-eqz vA,
if-ne vA
if-lt vA
if-ge vA
if-gt vA
if-le vA
建立實例
對像賦值
調用對像
調用靜態函數
如果 vA 等於 vB
如果 vA 不等於 vB
如果 vA 小於 vB
如果 vA 大於等於 vB
如果 vA 大於 vB
如果 vA小於等於 vB
如果 vA 等於0
如果 vA 不等於0
如果 vA 小於0
如果 vA 大於等於0
如果 vA 大於0
如果 vA 小於等於0

Android Apk防反編譯技術

【ReD】Android Apk防反編譯技術

本文分為四大部分

  • 添加非法指令
  • 隱藏敏感代碼
  • 偽APK加密技術
  • 總結和思考

添加非法指令
Step 1: 在APK包含一個無關類Bomb,該類有一個成員函數drop
Step 2: 將APK的classes.dex解壓出來,並且用dexdump進行反編譯,找到Bomb.drop在classes.dex的偏移
Step 3: 用vim以二進制方式打開classes.dex,轉到Bomb.drop的偏移處,將前兩個字節修改為FF FF(非法指令)
Step 4: 重新打包和簽名APK,用adb install命令安裝,日誌提示checksum不一致
Step 5: 用dexdump驗證APK的checksum,並且將正確的checksum替換原classes.dex的checksum
Step 6: 重新打包和簽名APK,用adb install安裝,DONE

隱藏敏感代碼
Step 1:在APK包含一個無關類Bomb,該類有一個成員函數drop,前面留有18個字節的垃圾指令
Step 2:將APK的classes.dex解壓出來,並且用dexdump進行反編譯,找到Bomb.drop在classes.dex的偏移
Step 3:用vim以二進制方式打開classes.dex,轉到Bomb.drop的偏移處,將前18個字節修改為以下指令
 
Step 4: 用dexdump查看classes.dex的頭部信息,找到class_def的偏移,以及Bomb類的class index
Step 5: class_def的偏移,加上Bomb類的class index乘以32的積,即可得到用來描述Bomb類的class_def結構體偏移,再往前4個字節,即為其access_flags,將它的第16位設置為1,一般就是設置為0x10001,也就是將0100 0000設置為0100 0100,這樣可以將Bomb類設置為已驗證
Step 6: 用dexdump驗證APK的checksum,並且將正確的checksum替換原classes.dex的checksum
Step 7: 重新打包和簽名APK,用adb install安裝,DONE

偽Apk加密技術
ZIP中的每一個文件都有一個2字節大小的全局方式位標記,其中第0位表示是否加密
如果ZIP中的一個文件標誌為加密,那麼在解壓時,就需要指定解壓密碼
APK默認都是不加密的,也就是APK在安裝解壓時,它裡面的文件的加密位標誌都會被忽略
Apktool發現APK是加密的時候,會拋出一個異常出來
利用上述差異,就可以給APK設置一個加密標誌,但不對其進行加密,從而阻止Apktool反編譯


總結
APK在安裝時,會對APK進行驗證,主要是checksum驗證和指令合法性驗證
安裝通過驗證的APK會被標記為已驗證,並且會被優化
安裝沒有通過驗證的APK仍然會被成功安裝,但是它會被標記為未驗證
未驗證的APK的某個類在被加載時,會被驗證,一旦驗證失敗,就會拋出異常
反編譯工具會對APK的所有類進行驗證,不管這個類安裝後會不會被加載,一旦驗證不通過,就會拋出異常

根據以上的APK安裝、驗證和加載流程,就可以通過以下兩個方法來阻止反編譯:
包含一個有非法指令(不能執行)的類,但是這個類保證永遠不會被加載
包含一個有非法指令(能執行)的類,同時將該類預先設置為已驗證的

思考
反編譯工具,如Apktool,採用的是線性掃描算法來分析指令流,當遇到非法指令時,就會異常退出
如果遇到非法指令只是簡單忽略,那麼就仍能正常工作
如果反編譯工具採用的遞歸遍曆算法來分析指令流,那麼就能將fill-array-data之類的偽指令反編譯出來
如果反編譯工具忽略掉APK的加密標誌,那麼就能將偽加密的APK也反編譯出來
如果反編譯工具更智能一些,那麼一切皆可反編譯…….
怎麼辦?


Dex Code加密
Android 4.0及以上的DexFile提供有加載內存dex文件的隱藏接口openDexFile和defineClass,通過它們就可以從內存中加載一個dex文件,在真正加載這塊內存之前,可以對其進行加密
Android 4.0之前的版本,可以用libdvm的導出函數來實現上述相同的功能
Native Code加密
系統中的每一個so文件都是由/system/bin/linker來進行加載和解析的
參考/system/bin/linker,實現一個自己的linker,這個linker可以加載和解析內存so文件,從而實現加密處理

2017年1月3日 星期二

花蓮二手,二手,二手交易,二手買賣,二手買賣平台,買賣平台

今天,我來到花蓮發現花蓮縣吉安鄉,位於黃昏市場旁吉興路,竟然有一家萬物皆可收(什麼都收),意思就是什麼都可以拿來賣耶!!!只要你不要的、用不到的、或者是有問題的 通通可以拿來這裡 老闆會拿現金與您收購,真的是人太好了。 剛開始我也很懷疑,有這麼好的事情嗎‧當然,起初我也不相信這裡也有在幫人維修電腦,反正這裡就什麼都賣,也什麼都收,捨得,有捨才有得
什麼都便宜,什麼都賣,什麼都不奇怪











店家LOGO





地址: 973花蓮縣吉安鄉吉興路一段10號


服務專線:0922763757

 Line 官方ID:@twohand 

相關網址: 官方網站 http://www.twohand.tw

雅虎拍賣 https://tw.bid.yahoo.com/tw/booth/Y3143786501

FB花蓮二手倉庫 https://www.facebook.com/twohand888 

花蓮3C二手物流 http://4c.shop2000.com.tw

花蓮二手傢俱家電器 https://www.facebook.com/groups/767271993372567/ 

花蓮二手賣場 https://www.facebook.com/groups/1413391005539150/ 

台中金廣源官方 http://cash.shop2000.com.tw