網頁

2017年1月17日 星期二

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

2016年12月5日 星期一

轉載:語錄分享(愛情事故)

1.
你明明知道你需要放手卻放不下
因為你還在等待不可能的事發生

這種感覺真的很難受

2.
其實公主一生中
最重要的男人不是王子
而是一直幫他遮風擋雨

永不背叛的騎士

3.
你發現了嗎

關係越好的朋友
往往是最愛損你的

我經常損你
是因為我相信我們的關係

4.
感情經不起三樣東西:距離、時間、親情

5.
分手之後很快的當成朋友
這從來就不是一個實際的關係連結
人類不像龍捲風過境般能馬上放晴
滿地瘡痍要慢慢收拾才是我們的心情

於是有人用做朋友來補償虧欠,讓自己好過一點
有人用作朋友延續捨棄不下的眷戀,期待死灰復燃
這樣的友情,不過就是各有目的兩人,

用謊言來向回不去的感情,

各自寫下註解

6.
愛從來就是件沒有安全感的事情

你越是愛一個人
就會越擔心他哪天會離你而去

兩個人如果相愛了
並不一定會走到最後

但愛情可以產生了很多種的結果
婚姻就是其中的一種
婚姻是需要陪伴、需要安全感

有了這些
''愛''才能長久

7.

有時候
我們並非走出了傷痛,

而是學會了帶著傷痛繼續生活


8.

兩個人在一起久了
難免就會沒了新鮮感、淡了、有裂痕了

其實彼此都沒變 
變的只是時間

在愛情這條道路上
誰的腦袋裡沒有一閃而過分手的念頭
誰沒有吵架、誰沒有掙扎

沒有爭吵的感情
就像是一灘死海一樣
沒有波浪、沒有漣漪

有時候吵架才能更瞭解彼此
但前提是不能隨意放棄

因為只有經歷過最痛苦的堅持

才能配的上擁有最永久的幸福

9

如果一個人真的愛你
他冷落你不會超過3天
因為想念你的日子很難度過

如果一個人真的愛你
他會把你當孩子般寵愛
但是自己又說不出寵你的原因

如果一個人真的愛你
他會讓你開心快樂
捨不得讓你流淚

如果一個人真的愛你
他的手機會24小時為你開機
隨時隨地讓你能夠找到他

如果一個人真的愛你
他會覺得你是最好的
不會將你和其他人做比較
即使你並不卓越

如果一個人真的愛你
他會抽出時間來陪你
即使自己真的很忙
因為他看不見你會很想你

如果一個人真的愛你
他會很想和你生活在一起
會把你看成是生命中最重要的

如果一個人真的愛你
他會經常緊緊地抱著你
讓你感受他的心跳

如果一個人真的愛你
他每當見到你的時候
也會很想跟你親吻和擁抱
因為這是他對你愛的表現

如果一個人真的愛你
他會在你睡著的時候輕輕吻你
因為你是他的天使

如果一個人真的愛你
他會對你的家人朋友都很好
喜歡融入到他們當中

如果一個人真的愛你
他不會還和前女友/男友很密切聯繫
雖說分手了還是朋友
在困難的時候可以去幫助
但是不會超過朋友的底線 

如果一個人真的愛你
他會默默地為你付出一切
但不會讓你知道她為你所做的犧牲

如果一個人真的愛你
他會記住你說的每句話
哪怕是一句小玩笑 他也會放心裡
然後努力改變自己的生活習慣去遷就你

如果一個人真的愛你
他的手機裡都是關於你的東西
想你的時候會對著手機傻笑
你是他最美好的幸福

如果一個人真的愛你
距離不是一個問題 
它只會成為一種滋長愛情的力量

如果一個人真的愛你
他永遠不會丟下你

不管情形有多困難


10
幸福就是
找到了一個令你
想為他拼命減肥的人

而那人
卻總是拍拍你的頭說

多吃一點 別餓著了

11

小時候認為流血了
就是很嚴重的事
不管疼不疼 
先哭了再說

直到長大後才發覺

其實流淚比流血更疼

12

不是抱一抱 親一親
改個情侶網名
換個情侶頭像
就是情侶了

真正的情侶
是一同經歷好多坎坷

還依舊說愛你的人

13

許多人以為
兩個人熟悉的像親人就沒愛情了
其實愛到平淡
才是一生的開始

濃烈的愛往往是流動的
愛你也會愛別人
所以重要的不是愛上你
而是只愛你一個
重要的不是愛有多深
而是能愛到底

找人戀愛很容易
難的是一輩子

所以請記住這句話
【愛到親人,才是永恆】

14

真正愛一個人
要愛他的優點
包容他的缺點
甚至連缺點
都認為是可愛的

愛情不是考試
不要求100分
只有【愛或不愛】

沒有【好或不好】


15

你是不是也是這樣

經常開導朋友
卻不知道怎麼開導自己

16

有時候 我會突然不自信
有時候 我會拿不出勇氣
有時候 我會假裝很快樂
有時候 我也會任性

我會因為小小的事掉眼淚
我也會為小小的事
而興奮的睡不著覺

一直以來
我都覺得自己不夠好
我承認我不完美

但我很真

17


即使最後
我們無法在一起

我依然會感激

生命中曾經有你



18
親愛的朋友
傷心的時候記得找我

我不一定有辦法逗你開心

但我一定能替你分擔難過

19

很多時候
心裡明明不是那樣想的
卻控制不了自己
而說出相反的話

究竟是我們
太執著於所謂的自尊
還是我們

都已經習慣了口是心非


20

兩個人分手了 
可以是陌生人
可以是朋友

但是時刻提醒自己

不是從前

21

別把你的女人不當回事

有一天 會有另外一個男人過來
感激你不懂得她的好,

相反地

別把妳的男人不當回事

有一天 妳會後悔當初不珍惜他
因為妳再也找不到這麼好的男人,

總之 好好珍惜眼前的幸福吧

22.

有些事
我們不希望它發生
但必須接受

有些事
我們不想知道
但必須瞭解

有些人
我們不想離開
但不得不放手

23.
一句 習慣了

容下了多少失望和心酸

24
請珍惜愛你的女孩

每個女孩其實都很清楚
選擇愛自己的人 才不會受傷
去追尋自己愛的人 一定會受傷會心痛
每個人都告訴過她:「主動的女孩不會被珍惜」

然而,她還是像飛蛾撲火一樣
因為喜歡你 鼓起勇氣告訴你
為你受傷 為你付出

男孩一定要清楚知道
深愛著你的她
絕不是一個沒人愛的女孩
她身旁有很多仰慕者
她只是想把握自己的真愛
才那麼認真對待你們的感情

也許對別人來說 你只是一個很普通的人
可是對於她來說
就算你有那麼多缺點
她也全部包容 願意留在你身邊
無論現在的你 是否一無所有

也許她是你 一生再也遇不到第二次的女孩
也是是笨拙的你 怎麼努力都追不到的好女孩
是你失去了以後 再也找不回來的天使

每個女孩一生 也許只有那麼一次
鼓起勇氣來愛一個男孩
如果你可以做到 就請珍惜她
像所有男孩珍惜女孩一樣 珍惜她

如果你對她動過心 就請好好心疼她
別把她的心 傷成再也無法拼回的碎片
別總是說愧疚 別總是要她忘記你
你可知道 她的勇氣是拼盡全力換來的
只是為了能夠愛你 她已用盡所有氣力

若不是那麼愛你
她不會傻到放下身邊很多優秀的男生
去和你在一起
如果不是那麼在乎你
她不會不顧家人的反對 要和你在一起
如果不是把你當作最後的賭注
她不會拋棄自己的尊嚴

有句話說:一見鍾情的是男生
而一往情深的往往是女生

你知道要一個女孩 放棄心愛的男孩
是什麼感覺嗎?
如果你知道一個詞叫做「骨肉分離」
便能懂了

所以請珍惜她
也許你會覺得壓抑了自己的男子氣魄
但請相信 你得到的 
會遠遠超出你失去的
她值得你這麼做