Skip to content

Commit c8fb14e

Browse files
author
d3k4
committed
2h
1 parent 867eaa2 commit c8fb14e

11 files changed

+2012
-6
lines changed

randomMalware/README.md

+75-6
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
11
# Random Malware Analysis
22

3-
## рандом крипто [вирус](http://forums.bgdev.org/index.php?showtopic=49142&st=0)
3+
<!-- TOC -->
4+
5+
- [Random Malware Analysis](#random-malware-analysis)
6+
- [Начало](#начало)
7+
- [Статичен анализ](#статичен-анализ)
8+
- [Динамичен анализ](#динамичен-анализ)
9+
10+
<!-- /TOC -->
11+
12+
## Начало
13+
рандом крипто [вирус](http://forums.bgdev.org/index.php?showtopic=49142&st=0)
14+
415
![](images/2017-03-14-11-11-02.png)
516

617
## Статичен анализ
@@ -41,6 +52,12 @@ DECIMAL HEXADECIMAL DESCRIPTION
4152
11213 0x2BCD PC bitmap, Windows 3.x format,, 568 x 263 x 24
4253

4354
```
55+
`Strings` също не ни помогна за статичния анализ, ето интересните попадения след изпълнението му:
56+
57+
```
58+
C:\Program Files (x86)\Microsoft Visual Studio\VB98\VB6.OLB
59+
```
60+
Според мен това се използва за проверка дали версията отговаря на изискванията за да се изпълни успешно вируса.
4461

4562
![](images/2017-03-15-11-03-44.png)
4663

@@ -84,25 +101,77 @@ System breakpoint reached!
84101

85102
Добре е по време на следващата част да имаме декомпилирания код за да можем да следим изпълнението по-ефективно.
86103

87-
### Динамичен анализ
104+
-----------
105+
106+
## Динамичен анализ
88107

89108
Приготвяме си виртуалната машина(контролираната среда). Много е важно да си направим Snapshot преди да изпълним файла - това е нашия Quick Save който ще ни позволи да се дезинфектираме бързо от изпълнението на вируса.
90109

91110
Ето го процеса:
92111
![](images/2017-03-14-16-19-37.png)
93112

94-
Пуснах [FakeNet](2017-03-14-16-20-33.png) да хвана дали изпраща някакви сигнали към C&C, все още нищо. Добре е да си имаме и един Wireshark в бакграунда.
113+
Пуснах [FakeNet](images/2017-03-14-16-20-33.png) да хвана дали изпраща някакви сигнали към C&C, все още нищо. Добре е да си имаме и един Wireshark в бакграунда.
95114

96-
С програмки като Regshot можем да видим какви точно промени прави вируса по системата ви - ето го моя [резултат](files/changes.htm), общо 62 промени.
115+
С програмки като Regshot и Procmon.exe(Sysinternals) можем да видим какви точно промени прави вируса по системата ви:
97116

98-
<да се допълни с пояснения>
117+
1. Резултатите от Regshot: [1](files/changes_x86.txt) и [2](files/changes2_x86.txt). Оказа се че файлът първоначално си бърка по регистрите за да се забие и стане persistent, след което се рестартира.
118+
119+
2. Резултата от **Procmon** tracing-ът: [1](files/logfile.csv)
99120

121+
За да разберем какво точно правят всичките мапнати(имената на фунцкийте са адреси в памета на вируса), че е необходимо да отворим декомпилирания код и дебъгър.
100122

101123
Аз използвам x32dbg. Стартираме приложението и скагаме брейк пойнт на: `0x00401099`
102124

103125
```
104126
00401099 | E8 F0 FF FF FF | call <doc.ThunRTMain> # Main() функция |
105127
```
128+
106129
![](images/2017-03-14-21-15-18.png)
107130

108-
продължаваме...
131+
132+
Ето го и прозореца с декомпилирания код, подчертал съм важните за нас функций(Form_) и процеси(Proc). 6 цифрените hex числа са 32битовите адреси където се помещава изпълнимия код. Всички са част от '.data' сегмента на вируса:
133+
134+
![](images/2017-03-15-16-32-30.png)
135+
136+
За да разбера какви са точно тези функций и процеси, ще поставя breakpoints на всички тези адреси от паметта:
137+
138+
```
139+
Code -> Sheepless2 -> Form_Load_47BA84 # 0x47BA84
140+
Code -> Sheepless2 -> Form_Initialize_47B7A0 # 0x47B7A0
141+
Code -> Sheepless2 -> Proc_0_2_47B69C # 0x47B69C
142+
Code -> Sheepless2 -> Proc_0_3_47B664 # 0x47B664
143+
Code -> Sheepless2 -> Proc_0_4_47B5BC # 0x47B5BC
144+
Code -> Sheepless2 -> Proc_0_5_47B62C # 0x47B62C
145+
Code -> Sheepless2 -> Proc_0_6_47B5F4 # 0x47B5F4
146+
Code -> Sheepless2 -> Proc_0_7_47B584 # 0x47B584
147+
```
148+
149+
Въобще не можах да стигна до тези брейкпоинти по време на изпълнението, след като паузирах дебъгинга се озовах на:
150+
151+
```
152+
7763CC70 | B8 33 00 06 00 | mov eax,60033
153+
```
154+
155+
![](images/2017-03-16-15-59-36.png)
156+
157+
Стандартна библиотека: NtDelayExecution(милисекунди) т.е 0x60033 --> 393267 милисекунди --> 393сек --> 6:33мин. Това е забавянето след което мауеъра продължава.
158+
159+
160+
161+
162+
-------
163+
164+
Записки:
165+
166+
Това е push-нато на стака:
167+
```
168+
0018F8C0 00471FE4 &L"0D};0804:{81D4E9C9-1D3B-41BC-9E6C-4B40BF79E35E}{FA550B04-5AD7-411f-A5AC-CA038EC515D7}"
169+
```
170+
след кратка справка с Google разбираме че това е:
171+
172+
**Windows Language Pack Default Values**
173+
Language | Default Value |
174+
---------|----------|
175+
Chinese - PRC | zh-CN: Microsoft Pinyin - Simple Fast (0804:{81D4E9C9-1D3B-41BC-9E6C-4B40BF79E35E}{FA550B04-5AD7-411f-A5AC-CA038EC515D7})
176+
177+

randomMalware/files/changes.htm

-106 KB
Binary file not shown.

randomMalware/files/changes2_x86.txt

140 KB
Binary file not shown.

randomMalware/files/changes_x86.txt

27.3 KB
Binary file not shown.

0 commit comments

Comments
 (0)