-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy path26feb2024x.html
1731 lines (1695 loc) · 81.9 KB
/
26feb2024x.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<html dir="rtl">
<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>chapter 4.3</title>
<style>
<!--
* { margin:0;}
.P48 { color:#00000a; font-size:12pt; text-align:left ! important; font-family:Liberation Serif; writing-mode:lr-tb; }
.T7 { color:#333333; font-family:arial; font-size:12pt; font-weight:bold; }
.P15 { color:#00000a; font-size:10pt; text-align:left ! important; font-family:arial; writing-mode:lr-tb; margin-left:0.1866in; margin-right:0in; text-indent:0in; }
.T34 { color:#000000; font-family:arial; font-size:8pt; font-style:italic; font-weight:bold; }
.T32 { color:#000000; font-family:arial; font-size:8pt; font-weight:normal; }
._5f_OOoComputerComment { color:#4c4c4c; font-family:Courier New; }
.T39 { font-size:8pt; font-weight:normal; }
._5f_OOoComputerIdent { color:#008000; font-family:Courier New; }
.T38 { font-size:8pt; font-weight:normal; }
._5f_OOoComputerSpecial { color:#000000; font-family:Courier New; }
._5f_OOoComputerNumber { color:#ff3200; font-family:Courier New; }
._5f_OOoComputerLiteral { color:#ff0000; font-family:Courier New; }
._5f_OOoComputerKeyWord { color:#000080; font-family:Courier New; }
.P19 { color:#00000a; font-size:12pt; text-align:left ! important; font-family:Liberation Serif; writing-mode:lr-tb; margin-left:0.1866in; margin-right:0in; text-indent:0in; }
.T17 { font-family:arial; font-size:8pt; }
.P17 { color:#00000a; font-size:10pt; text-align:left ! important; font-family:arial; writing-mode:lr-tb; margin-left:0.1866in; margin-right:0in; text-indent:0in; }
.T51 { font-size:8pt; font-weight:normal; }
.T28 { color:#000000; font-family:arial; font-size:8pt; font-weight:normal; }
.T53 { font-size:8pt; font-weight:normal; }
-->
</style>
</head>
<body background="../x3.jpeg">
<p class="P48" dir="ltr"><span class="T7"><font face="Tahoma" size="3">Chapter
4 : </font><font face="Tahoma">Executing Native Codes in Local Process (Part3)</font></span></p>
<p class="P48" dir="ltr"><b><font face="Tahoma" size="2" color="#000080">4.3 Chunking CobaltStrike Payloads + Jump Method</font></b></p>
<table border="0" width="100%" id="table1" cellspacing="0" cellpadding="0" style="border-left-width: 0px; border-right-width: 0px; border-bottom-width: 0px">
<tr>
<td>
<p align="center"><span lang="fa"><b><font face="Tahoma" size="2">بنام
خدا</font></b></span></td>
</tr>
<tr>
<td><b><font face="Tahoma" size="2"><span lang="fa">دراین</span> <span lang="fa">
بخش 3 از فصل چهارم تکنیکی را بررسی می کنیم برای </span><a name="Chunk_">
<font color="#008000">Chunk</font></a><span lang="fa"> کردن
</span>Payload <span lang="fa">ها یا جدا کردن </span>Payload<span lang="fa">
ها را بررسی می کنیم.</span></font></b></td>
</tr>
<tr>
<td><b><span lang="fa"><font face="Tahoma" size="2">با کمک این روش
جداکردن </font></span><font face="Tahoma" size="2">Payload<span lang="fa">
در </span>Memory<span lang="fa"> شما مشاهده خواهید کرد که چگونه </span>
Kaspersky<span lang="fa"> دورزده می شود .</span></font></b></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2"><span lang="fa">در این تکنیک برای جدا
کردن </span>CobaltStrike<span lang="fa"> در </span>Memory<span lang="fa">
من از </span>Jump Method<span lang="fa"> کمک گرفتم تا </span>Payload<span lang="fa">
خود را در</span></font></b></td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2">Memory<span lang="fa"> بصورت جداگانه
اجرا کنیم یعنی بخش اول </span>Payload<span lang="fa"> اجرا می شود در
</span>Memory<span lang="fa"> در </span>Address A<span lang="fa"> سپس</span></font></b></td>
</tr>
<tr>
<td>
<span lang="fa"><b><font face="Tahoma" size="2">کد</font></b></span><b><span lang="fa"><font face="Tahoma" size="2"> </font></span>
<font face="Tahoma" size="2">Jump<span lang="fa"> می کند به بخش دوم
</span>Payload<span lang="fa"> در </span>Memory<span lang="fa"> و آن را
اجرا می کند اما چرا ما این کار را می کنیم؟ </span></font></b></td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2"><span lang="fa">برای اینکه با این کار
برخی آنتی ویروسها در زمان چک کردن </span>Memory<span lang="fa"> بدلیل
اینکه </span>Payload<span lang="fa"> ما به دو بخش یا چند بخش</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">تقسیم شده در </font>
</span><font face="Tahoma" size="2">Memory<span lang="fa"> آن را نمی
توانند </span>Detect<span lang="fa"> کنند و کد ما اجرا می شود بدون آنکه
شناسایی شود .</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">در اینجا من </font>
</span><font face="Tahoma" size="2">CobaltStrike Payload<span lang="fa">
را به دو بخش تقسیم کرده ام اما اگر بخواهید آن را به بخشهای بیشتری تقسیم
کنید باید</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">کمی با </font></span>
<font face="Tahoma" size="2">Shell<span lang="fa"> کد موجود در </span>
Payload<span lang="fa"> آشنا باشید و بدانید که چگونه می تواند آن را به
چندین بخش تقسیم کرد و نمی توان از هرجای</span></font></b></td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2">Payload<span lang="fa"> که خواستید آن را
تقسیم کنید و اینکار معمولا جواب نمی دهد و به مشکل می خورید برای همین من
آن را به 2 بخش تقسیم کرده ام .</span></font></b></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2" color="#000080">Chunking Payloads
in-memory + Jump Method</font></b></td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2"><span lang="fa">در اینجا باید کمی در
مورد اینکه چگونه یک </span>Payload<span lang="fa"> را می توانید به 2 بخش
تقسیم کرد صحبت کنیم .</span></font></b></td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2"><span lang="fa">برای </span>Chunk<span lang="fa">
کردن یک </span>Payload<span lang="fa"> بکمک </span>Jump Method<span lang="fa">
شما می توانید مراحل زیر را انجام دهید .</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">اول دقیق مشخص کنید از
کدام بخش </font></span><font face="Tahoma" size="2">Payload<span lang="fa">
می خواهید آن را تقسیم کنید سپس هر بخش از </span>Payload</font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">را در </font></span>
<font face="Tahoma" size="2">Memory<span lang="fa"> بصورت جداگانه </span>
Write<span lang="fa"> کنید که در این کد من از </span>
<font color="#008000">VirtualAllocExNuma<span lang="fa"> </span></font>
<span lang="fa">برای اختصاص دادن</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">فضا در </font></span>
<font face="Tahoma" size="2">Memory<span lang="fa"> استفاده کرده ام و از
</span>RtlMoveMemory<span lang="fa"> برای </span>Write<span lang="fa">
کردن بر روی </span>Memory<span lang="fa"> استفاده کرده ام</span></font></b></td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2"><span lang="fa">درنتیجه در کد من از
</span>API<span lang="fa"> هایی استفاده کرده ام که ممکن می باشد موجب
</span>Detect<span lang="fa"> شدن کد شود اما در ادامه </span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">مشاهده می کنید با اینکه
از این توانبع استفاده شده کد من توسط </font></span>
<font face="Tahoma" size="2">Kaspersky v21<span lang="fa"> با آخرین
</span>Update<span lang="fa"> شناسایی نمی شود</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">در مرحله بعد بعد از
</font></span><font face="Tahoma" size="2">Write<span lang="fa"> کردن هر
دو بخش </span>Payload<span lang="fa"> در </span>Memory<span lang="fa">
در آدرسهای جداگانه شما نیاز دارید که بخش اول</span></font></b></td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2">Payload<span lang="fa"> شما بتواند بعد
از اجرا شدن رجوع کند به بخش دوم یا </span>Section 2 of Payload<span lang="fa">
برای اجرا درنتیجه شما</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">نیاز دارید در بخش یک
</font></span><font face="Tahoma" size="2">Payload<span lang="fa"> در
آخر آن یکسری </span>Byte Array<span lang="fa"> اضافه کنید که کار </span>
Jump<span lang="fa"> کردن از بخش 1 به بخش 2 را</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">برای شما در </font>
</span><font face="Tahoma" size="2">Memory<span lang="fa"> انجام دهد
یعنی بخش یک زمانی که در </span>Memory<span lang="fa"> اجرا شد در آخر کد
آن بصورت خودکار کد </span>Jump<span lang="fa"> می کند</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">به اول بخش 2 از </font>
</span><font face="Tahoma" size="2">Payload<span lang="fa"> که در آدرسی
متفاوت در </span>Memory<span lang="fa"> نوشته شده در نتیجه هر 2بخش به
ترتیب اجرا شده در </span>Memory</font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">و اگر همه چیز درست انجام
شود شما باید </font></span><font face="Tahoma" size="2">Session<span lang="fa">
را در طرف </span>CobaltStrike<span lang="fa"> داشته باشید .</span></font></b></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">در اینجا یک مثال مشاهده
می کنید تا کمی بهتر متوجه </span>Background <span lang="fa">کار شوید :</span></font></b></td>
</tr>
<tr>
<td>
<p dir="ltr" align="left"><b><font size="2" face="Tahoma">Cobaltstrike
payload:
<font color="#999966">FC 48 83 E4 F0 E8 C8 00 00 00 41 41 41 50 52 AF</font>
<font color="#008000">AA BB CC DD EE FF 11 22 33 44 55 66 77</font></font></b></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2" color="#000080">Chunking Payloads step1</font></b></td>
</tr>
<tr>
<td>
<p align="left" dir="ltr"><b><font size="2" face="Tahoma">In-memory
Section 1 Address [<font color="#FF3200">0x1CC0080</font>]:
<font color="#999966">FC 48 83 E4 F0 E8 C8 00 00 00 41 41 41 50 52 AF</font>
+ <font color="#333333">JUMP Bytes to address Section 2</font><font color="#FF0000">
</font><font color="#800000">[</font><font color="#FF3200">0x1CE0080</font><font color="#800000">]</font></font></b></td>
</tr>
<tr>
<td>
<p dir="ltr"><b><font size="2" face="Tahoma">In-memory Section 2 Address
[<font color="#FF3200">0x1CE0080</font>]: <font color="#008000">AA BB CC
DD EE FF 11 22 33 44 55 66 77</font></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">همانطور که مشاهده می
کنید ما یک </font></span><font face="Tahoma" size="2">CobbaltStrike<span lang="fa">
</span>Payload<span lang="fa"> داریم که به دو بخش تقسیم شده با دو رنگ
حالا </span></font></b></td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2"><span lang="fa">دقیقا می دانیم که اول و
آخر هر بخش کجا می باشد در نتیجه این دو بخش را در </span>Memory<span lang="fa">
باید در آدرسهای متفاوت با</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">توابعی که داریم مانند
</font></span><font face="Tahoma" size="2">VirtualAlloc<span lang="fa">
یا </span>VirtualAllocExNuma<span lang="fa"> و ... یک فضایی در حافظه
برای آنها در نظر بگیریم</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">سپس انها را توسط </font>
</span><font face="Tahoma" size="2">RtlMoveMemory<span lang="fa"> یا
</span>WriteProcessMemory<span lang="fa"> بر روی </span>Memory<span lang="fa">
نوشته تا اینجا مشکلی ما نداریم و همانند این کار </span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">را در فصلهای قبلی انجام
داده ایم. </font></span></b></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2" color="#000080">Chunking Payloads step2</font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">کاری که در این تکنیک ما
باید اضافه کنیم به این کد این می باشد که در آخر بخش یک از </font></span><font face="Tahoma" size="2">Payload<span lang="fa">
ما</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">باید یک </font></span>
<font face="Tahoma" size="2">Jump<span lang="fa"> کد را به </span>
Payload<span lang="fa"> اضافه کنیم تا درزمان اجرا کد بلافاصله پرش کند به
بخش 2 .یعنی در بخش یک </span>Payload<span lang="fa"> بعد از </span>Byte
<font color="#999966">AF</font><span lang="fa"> در آخر آن </span></font>
</b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">باید </font></span>
<font face="Tahoma" size="2">Byte<span lang="fa"> های </span>Jump<span lang="fa">
اضافه شود به </span>Payload<span lang="fa"> در </span>Section 1<span lang="fa">
ما . که این </span>Jump<span lang="fa"> کد ما دارای آدرس بخش 2 از </span>
Payload<span lang="fa"> در </span>Memory<span lang="fa"> می باشد .</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">برای این کار من از
</font></span><font face="Tahoma" size="2">Jump Method
<font color="#0000FF">B8</font> <font color="#FF0000">00 00 00 00</font>
<font color="#0000FF">FF E0</font><span lang="fa"> استفاده کرده ام در
نتیجه ما چیزی مانند کدهای زیر را داریم برای این مثال</span></font></b></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<p align="left" dir="ltr"><b><font size="2" face="Tahoma">In-memory
Section 1 Address [<font color="#FF3200">0x1CC0080</font>]:
<font color="#999966">FC 48 83 E4 F0 E8 C8 00 00 00 41 41 41 50 52 AF</font>
<font color="#0000FF"><span lang="fa">B</span>8</font><font color="#FF3200"><span lang="fa">
</span>80 00 CE 01 </font><font color="#0000FF">FF E0</font></font></b></td>
</tr>
<tr>
<td>
<p dir="ltr" align="left"><b><font size="2" face="Tahoma">In-memory
Section 2 Address [<font color="#FF3200">0x1CE0080</font>]:
<font color="#008000">AA BB CC DD EE FF 11 22 33 44 55 66 77</font></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">همانند مثال بالا کد
</font></span><font face="Tahoma" size="2">Section1 <span lang="fa">در
زمان اجرا وقتی به قسمت آبی رنگ </span>B8<span lang="fa"> برسد پرش می کند
به آدرسی که در چهار بایت بعدی آن مشخص شده</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">که همان بخش دوم یا
</font></span><font face="Tahoma" size="2">Section2<span lang="fa"> ما
می باشد از </span>Payload<span lang="fa"> و در آخر با اجرای این تکنیک شما
می توانید </span>Session<span lang="fa"> را در </span>CobaltStrike<span lang="fa">
داشته باشید</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">و این روش همانند این می
باشد که همه </font></span><font face="Tahoma" size="2">Payload<span lang="fa">
را در یک </span>Section<span lang="fa"> در </span>Memory<span lang="fa">
نوشته باشیم اما در حقیقت در 2 آدرس جدا در </span>Memory</font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">ما این </font></span>
<font face="Tahoma" size="2">Payload<span lang="fa"> ها را نوشته ایم با
این کار شما دارای </span>Payload<span lang="fa"> های تقسیم شده در </span>
Memory<span lang="fa"> می باشید در نتیجه </span>Signature<span lang="fa">
های </span>Payload<span lang="fa"> های شما</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">با </font></span>
<font face="Tahoma" size="2">Signature<span lang="fa"> یک </span>Payload<span lang="fa">
کامل که برای </span>CobaltStrike<span lang="fa"> می باشد یکسان نمی باشد
در </span>Memory<span lang="fa"> و این کار می تواند به شما کمک کند برخی</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">آنتی ویروسها و </font>
</span><font face="Tahoma" size="2">Memory Scanner<span lang="fa"> های
آنها را </span>Bypass<span lang="fa"> کنید در زمانی که این بخشهای </span>
Payload<span lang="fa"> شما را در آدرسهای متفاوت </span>Scan<span lang="fa">
می کنند .</span></font></b></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">در این روش ما 2 </font>
</span><font face="Tahoma" size="2">Payload<span lang="fa"> داریم که به
ترتیب اجرا می شوند در </span>Memory<span lang="fa"> و در 2 آدرس جداگانه
</span><font color="#FF0000">0x1CC0080</font><span lang="fa"> و </span>
<font color="#FF0000">0x1CE0080</font><span lang="fa"> نوشته شده اند .</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">در نتیجه برخی </font>
</span><font face="Tahoma" size="2">Memory Scanner<span lang="fa"> ها
توسط این روش دور زده می شوند اما اگر کل </span>Payload<span lang="fa">
در یک </span>Section<span lang="fa"> می بود مطمنا </span>Detect<span lang="fa">
می شد</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">توسط </font></span>
<font face="Tahoma" size="2">Memory Scanner<span lang="fa"> ها بدلیل
اینکه </span>Signature<span lang="fa"> کدهای ما با </span>DataBase<span lang="fa">
آنها یکسان می بود و در نتیجه کد شناسایی میشد اما در این حالت</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">امکان خطای </font>
</span><font face="Tahoma" size="2">Memory<span lang="fa"> </span>
Scanner<span lang="fa"> ها بالا می باشد و معمولا </span>Bypass<span lang="fa">
می شوند اما نمی توان با اطمینان این را برای همه آنتی ویروس ها گفت</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">برخی ممکن می باشد </font>
</span><font face="Tahoma" size="2">Payload<span lang="fa"> را در </span>
Memory<span lang="fa"> شناسایی نکنند اما کد شما را بر روی </span>
Harddisk<span lang="fa"> شناسایی کند که اجرا شده به عنوان کدی مخرب</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">و برخی ممکن می باشد که
این تکنیک را کلا شناسایی نکنند اما زمانی که در شبکه </font></span>
<font face="Tahoma" size="2">Network connection<span lang="fa"> بین
</span>Process<span lang="fa"> شما با </span>Cobaltstrike</font></b></td>
</tr>
<tr>
<td>
<span lang="fa"><b><font face="Tahoma" size="2">برقرار می شود آن ترافیک
را بعنوان ترافیک آلوده یا مخرب شناسایی کنند و الی آخر درنتیجه بر روی تک
تک آنتی ویروسها باید این نوع کدها</font></b></span></td>
</tr>
<tr>
<td>
<span lang="fa"><b><font face="Tahoma" size="2">تست شود تا روشهای برخود
آنها را بررسی کنید جداگانه .</font></b></span></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">برای اجرای کد در
</font></span><font face="Tahoma" size="2">Section1<span lang="fa"> ما
نیاز داریم که کد آن را توسط </span>CreateThread<span lang="fa"> اجرا
کنیم یا روش بهتر این می باشد که از یک </span></font></b></td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2">Jump<span lang="fa"> دیگه استفاده کنیم
برای اجرا </span>Section1<span lang="fa"> . من در کد مربوط به این بخش هر
دو کار را با هم انجام داده ام یعنی یک </span></font></b></td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2">Byte Array<span lang="fa"> از کد </span>
Jump<span lang="fa"> به آدرس </span>Section 1<span lang="fa"> را بر روی
</span>Memory<span lang="fa"> نوشته ام سپس آن را با </span>CreateThread<span lang="fa">
اجرا کرده ام</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">در نتیجه مشاهده می کنید
که کد من بسیار ریسکی می باشد و احتمال </font></span>
<font face="Tahoma" size="2">Detect<span lang="fa"> شدن آن بالا می باشد
توسط آنتی ویروسها</span></font></b></td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2"><span lang="fa">برای اینکه از
توابعی همانند </span>CreateThread<span lang="fa"> و ... استفاده کرده ام
اما مشاهده خواهید کرد با این حال کد من کار می کند و </span>Kaspersky<span lang="fa">
دور زده می شود.</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">و به این دلیل می باشد که
در زمان </font></span><font face="Tahoma" size="2">Scan <span lang="fa">
کردن </span>Memory<span lang="fa"> آنتی ویروس </span>Kaspersky<span lang="fa">
متوجه نمی شود که </span>Payload<span lang="fa"> تقسیم شده و </span>
</font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">دارای </font></span>
<font face="Tahoma" size="2">Signature<span lang="fa"> یکسان با </span>
DB<span lang="fa"> خود نمی بیند </span>Payload<span lang="fa"> های ما را
در </span>Memory<span lang="fa"> در نتیجه </span>Bypass <span lang="fa">
می شود.</span></font></b></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<p align="center">
<img border="0" src="26feb2024x_files/Pics/CH4_3_0.PNG" width="1006" height="714"></td>
</tr>
<tr>
<td>
<p align="center">
</td>
</tr>
<tr>
<td>
<p align="center" dir="ltr"><b><font face="Tahoma" size="2">Picture 1</font></b></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2"><span lang="fa">در شکل 1 مشاهده می کنید
در بخشی که به رنگ آبی اشاره شده در آدرس </span>0x01cb0080<span lang="fa">
ما یک </span>Byte array<span lang="fa"> داریم با</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">با این بایتها </font>
</span><font face="Tahoma" size="2"><font color="#808080">F9 F9 F9</font>
<font color="#0000FF">B8</font> <font color="#FF0000">80 00 CC 01 </font>
<font color="#0000FF">FF E0 </font><span lang="fa">زمانی که این بایتها
توسط </span>CreateThread<span lang="fa"> اجرا شوند کد شما پرش می کند
</span></font></b></td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2"><span lang="fa">به آدرس قرمز رنگ در این
بایتها که آدرس بصورت برعکس در این آرایه نوشته شده یعنی آدرس ما می باشد<font color="#FF0000">
</font></span></font><font face="Tahoma" size="2" color="#CC9900">
0x1CC0080</font><font color="#FF0000" face="Tahoma" size="2"><span lang="fa">
</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">در نتیجه این آدرسی می
باشد که بعد از اجرا این کد توسط </font></span>
<font face="Tahoma" size="2">CreateThread<span lang="fa"> به آن </span>
Jump<span lang="fa"> می شود برای ادامه اجرای کد .</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">و این آدرس همان آدرس
</font></span><font face="Tahoma" size="2">Section 1<span lang="fa"> ما
می باشد که در شکل 1 مشاهده می کنید که با رنگ قرمز مشخص شده در شکل 1 .</span></font></b></td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2"><span lang="fa">در آدرس خانه </span>
0x1CC00<font color="#FF0000">80 </font><span lang="fa">در خانه 80 این
آدرس مشاهده می کنید که بایتهای </span>FC 48 83 E4 <span lang="fa">و الی
آخر که همان </span>Section1<span lang="fa"> ما می باشد.</span></font></b></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<p align="left" dir="ltr"><b><font size="2" face="Tahoma">In-memory
Section 1 Address [<font color="#CC9900">0x1CC0080</font>]:
<font color="#999966">FC 48 83 E4 F0 E8 C8 00 00 00 41 41 41 50 52 AF</font>
+ <font color="#333333">JUMP Bytes to address Section 2</font><font color="#FF0000">
</font><font color="#800000">[</font><font color="#FF3200">0x1CE0080</font><font color="#800000">]</font></font></b></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2"><span lang="fa">در مرحله بعد </span>
Section1<span lang="fa"> ما اجرا می شود یعنی </span>
<font color="#999966">FC 48 83 E4 F0 E8 C8 00 00 00 41 41 41 50 52 AF</font>
<span lang="fa">در </span>Memory<span lang="fa"> اجرا می شود تا</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">اجرای کد ما برسد به
آخرین بایت ما که در این مثال </span></font><font face="Tahoma" size="2">
AF<span lang="fa"> می باشد</span> <span lang="fa">البته </span>AF<span lang="fa">
یک مثال می باشد و در واقعیت </span>Payload<span lang="fa"> شما بسیار
بیشتر از این </span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">چند بایت می باشد و این
فقط برای مثال می باشد و ممکن می باشد بایت آخر شما در مثال واقعی بایت
</font></span><font face="Tahoma" size="2">AF<span lang="fa"> نباشد این
نکته باید گفته می شد که</span></font></b></td>
</tr>
<tr>
<td>
<span lang="fa"><b><font face="Tahoma" size="2">موجب اشتباه نشود.</font></b></span><b><font face="Tahoma" size="2"><span lang="fa">
سپس همانطور که در مرحله </span></font>
<font face="Tahoma" size="2" color="#000080">Chunking Payloads step2<span lang="fa">
</span></font><font face="Tahoma" size="2"><span lang="fa">گفته شد زمانی
که اجرای کد به بایت آخر بخش اول رسید کد یک </span>Jump<span lang="fa">
دیگر</span></font></b></td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2"><span lang="fa">دارد به بخش</span></font><span lang="fa"><font face="Tahoma" size="2">
دوم یا </font></span><font face="Tahoma" size="2">Section2<span lang="fa">
برای </span>Payload<span lang="fa"> تا کامل </span>CobaltStrike Payload<span lang="fa">
در حافظه اجرا شود.</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">همانند شکل 1 کد </font>
</span><font face="Tahoma" size="2">Section1<span lang="fa"> که در تصویر
مشخص می باشد و با </span>FC 48 83 E4<span lang="fa"> شروع شده ادامه دارد
و دراخر آن </span>Jump byte<span lang="fa">s ما </span></font></b></td>
</tr>
<tr>
<td>
<span lang="fa"><b><font face="Tahoma" size="2">به ادرس بخش دوم اضافه
شده یعنی </font></b></span><b><font size="2" face="Tahoma">
<font color="#0000FF"><span lang="fa">B</span>8</font><font color="#FF3200"><span lang="fa">
</span> </font><font color="#800000">80 00 CE 01</font><font color="#FF3200"> </font><font color="#0000FF">FF E0 </font>
<span lang="fa">به آن اضافه شده البته در شکل 1 مشخص نمی باشد</span></font></b></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<p align="left" dir="ltr"><b><font size="2" face="Tahoma">In-memory
Section 1 Address [<font color="#FF3200">0x1CC0080</font>]:
<font color="#999966">FC 48 83 E4 F0 E8 C8 00 00 00 41 41 41 50 52 AF</font>
<font color="#0000FF"><span lang="fa">B</span>8</font><font color="#FF3200"><span lang="fa">
</span> </font><font color="#800000">80 00 CE 01</font><font color="#FF3200"> </font><font color="#0000FF">FF E0</font></font></b></td>
</tr>
<tr>
<td>
<p dir="ltr" align="left"><b><font size="2" face="Tahoma">In-memory
Section 2 Address [<font color="#800000">0x1CE0080</font>]:
<font color="#008000">AA BB CC DD EE FF 11 22 33 44 55 66 77</font></font></b></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<span lang="fa"><b><font face="Tahoma" size="2">در این مرحله بعد از
</span>Jump<span lang="fa"> به ادرس </span><font color="#FF0000">
0x1CE0080</font><span lang="fa"> کد </span></font></b><b>
<font color="#008000" size="2" face="Tahoma">AA BB CC DD EE FF 11 22 33 44 55 66 77</font><font size="2" face="Tahoma">
<span lang="fa">اجرا می شود و </span>CobaltStrike<span lang="fa"> </span>
Payload<span lang="fa"> بصورت کامل</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">در </font></span>
<font face="Tahoma" size="2">Memory<span lang="fa"> اجرا می شود با اینکه
در 2 بخش جداگانه نوشته شده بود و اگر همه مراحل به درستی انجام شود شما باید در
</span>CobaltStrike<span lang="fa"> یک </span>New Session</font></b></td>
</tr>
<tr>
<td>
<span lang="fa"><b><font face="Tahoma" size="2">داشته باشید.</font></b></span></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2"><span lang="fa">درشکل 2 شما می توانید
مشاهده کنید اجرای کد و مراحل اجرا آن را در شکل مشاهده می کنید</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">که </font></span>
<font face="Tahoma" size="2">Kaspersky v21<span lang="fa"> توسط این روش
</span>Bypass<span lang="fa"> شده.</span></font></b></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<p align="center"><a href="26feb2024x_files/Pics/kaspersky_bypassed2.png">
<img border="0" src="26feb2024x_files/Pics/kaspersky_bypassed2.png" width="815" height="472"></a></td>
</tr>
<tr>
<td>
<p align="center" dir="ltr"><b><font face="Tahoma" size="2">Picture 2</font></b></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2"><span lang="fa">در شکل 2 مشاهده می کنید
که کد کار کرده و </span>Kaspersky v21<span lang="fa"> با آخرین </span>
Update<span lang="fa"> دور زده شده</span></font></b></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2"><span lang="fa">در شکل 3 ما اجرای کد را
با </span>Detail<span lang="fa"> بیشتر داریم در اینجا شما می توانید
مشاهده کنید </span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">مراحل اجرای کد را </font>
</span><font face="Tahoma" size="2">Step by step<span lang="fa"> :</span></font></b></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<p align="center">
<a href="26feb2024x_files/Pics/MainJMP7fixed.png">
<img border="0" src="26feb2024x_files/Pics/MainJMP7fixed.png" width="803" height="454"></a></td>
</tr>
<tr>
<td>
<p align="center" dir="ltr"><b><font face="Tahoma" size="2">Picture 3</font></b></td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2"><span lang="fa">مراحل در شکل 3 کاملا
مشخص می باشد</span></font></b></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2"><font color="#000080">
نکته</font> : قبل از شرح دادن مراحل شکل 3 در زیر این نکته باید گفته شود
که </font></span><font face="Tahoma" size="2">Memory Section<span lang="fa">
هایی که در زیر در مورد آنها</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">صحبت می شود باید در
</font></span><font face="Tahoma" size="2">Memory<span lang="fa"> دارای
</span>Protection Mode Execute + Read<span lang="fa"> حداقل باشند اما من
در کد آنها</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">را در حالت </font>
</span><font face="Tahoma" size="2">RWX<span lang="fa"> دارم که </span>
ReadWrite + Excute<span lang="fa"> می باشند.</span></font></b></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2"><span lang="fa">1. در این مرحله یک
</span>CreateThread<span lang="fa"> داریم که در آن </span>Byte Array F9
F9 F9 B8 <font color="#FF0000">00 00 4C 01</font> FF E0<span lang="fa">
</span> </font></b><span lang="fa"><b><font face="Tahoma" size="2">اجرا
می شود.</font></b></span></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">2. سپس بعد از اجرای
مرحله 1 کد ما </font></span><font face="Tahoma" size="2">Jump<span lang="fa">
می کند به آدرس </span><font color="#FF0000">0x14C0000<span lang="fa">
</span></font><span lang="fa">و در خانه 80 آن یک کد </span>Jump<span lang="fa">
می باشد</span></font></b></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">3. در این مرحله کد در
آدرس </font></span><font face="Tahoma" size="2">0x14C0000<span lang="fa">
اجرا می شود که یک </span>Jump<span lang="fa"> دیگر می باشد به آدرس
</span>Section1 of Cobaltstrike Payload<span lang="fa"> </span></font>
</b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">آدرس </font></span>
<font face="Tahoma" size="2">Section1 <span lang="fa">ما در اینجا </span>
<font color="#FF0000">0x14D00</font><font color="#0000FF">80</font><span lang="fa">
می باشد یعنی در خانه 80 این آدرس </span>Payload<span lang="fa"> ما شروع
شده که همان بخش اول </span></font></b></td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2">Payload<span lang="fa"> ما می باشد برای
اجرا در نتیجه بعد </span>Jump<span lang="fa"> شدن به آن آدرس کد آن
</span>Payload<span lang="fa"> شروع به اجرا می کند و بخش اول یا </span>
Section1<span lang="fa"> ما اجرا می شود </span></font></b></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">4. در آخر مرحله 3 ما یک
کد </font></span><font face="Tahoma" size="2">Jump<span lang="fa"> دیگر
به </span>Section1<span lang="fa"> اضافه کرده ایم که به آدرس </span>
Section2<span lang="fa"> ما </span>Jump<span lang="fa"> کند همانطور که
در شکل 3 مشاهده می کنید .</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">و این آدرس را با اضافه
کردن </font></span><font face="Tahoma" size="2">Byte array F9 F9 F9 B8
<font color="#FF0000">80 00 4E 01</font> FF E0 <span lang="fa">به آخر
</span>Section1<span lang="fa"> ایجاد کرده ایم .</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">در این مرحله در آخر
</font></span><font face="Tahoma" size="2">Section1<span lang="fa"> کد
ما پرش می کند به </span>Section2<span lang="fa"> و در آدرس </span>
<font color="#FF0000">0x14E00</font><font color="#0000FF">80
<span lang="fa"> </font>که<font color="#0000FF"> </font></span>
<span lang="fa">در خانه 80 آن </span>Section2<span lang="fa"> ما برای
</span>Cobaltstrike Payload<span lang="fa"> </span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">وجود دارد و ادامه اجرای
کد ازاین بخش ادامه پیدا می کند تا به آخر </font></span>
<font face="Tahoma" size="2">Section2<span lang="fa"> برسد که همان آخر
</span>Payload<span lang="fa"> ما می باشد.</span></font></b></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">در نتیجه در آخر مشاهده
می کنید با اینکه ما </font></span><font face="Tahoma" size="2">
CobaltStrike Payload<span lang="fa"> را به دو بخش </span>Section1 &
Section2<span lang="fa"> تقسیم کرده ایم با این</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">تکنیک توانستیم آنها را در</font></span><font face="Tahoma" size="2">
Memory<span lang="fa"> به ترتیب اجراکنیم و در آخر </span>New Session<span lang="fa">
در </span>CobaltStrike<span lang="fa"> بگیریم و </span>Kaspersky v21<span lang="fa">
این</span></font></b></td>
</tr>
<tr>
<td>
<b><span lang="fa"><font face="Tahoma" size="2">روش را شناسایی نکرد و
</font></span><font face="Tahoma" size="2">Bypass<span lang="fa"> شد.</span></font></b></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2"><span lang="fa">در</span> <span lang="fa">این کد ما چیزی
مانند این مراحل در </span>Memory<span lang="fa"> برای </span>Jump<span lang="fa">
کردن بین </span>Memory Address<span lang="fa"> ها داشتیم :</span></font></b></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<p align="left" dir="ltr"><b><font face="Tahoma" size="2">Jump to Memory
Addresses: </font></b></p>
<p align="left" dir="ltr"><b><font face="Tahoma" size="2">1.Init code to
run by CreateThread [0x1D390000] jump to [0x14C00<span lang="fa">80</span>]
jump to <font color="#FF0000">[0x14D0080]</font> jump to
<font color="#0000FF">[0x14E0080] </font></font></b></p>
<p align="left" dir="ltr"> </p>
<p align="left" dir="ltr"><b><font face="Tahoma" style="font-size: 9pt">
Payload Section1<font color="#FF0000"> [0x14D0080]</font> </font></b>
</p>
<p align="left" dir="ltr"><b><font face="Tahoma" style="font-size: 9pt">
Payload Section2</font><font color="#FF0000" face="Tahoma" style="font-size: 9pt">
</font><font color="#0000FF" face="Tahoma" style="font-size: 9pt">
[0x14E0080] </font></b></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<b>
<span lang="fa"><font face="Tahoma" size="2"><font color="#000080">نکته</font>:
خود این مورد که شما دو </font></span><font face="Tahoma" size="2">jump<span lang="fa">
قبل از پرش به </span>Section1<span lang="fa"> دارید می تواند کمک کننده
باشد برای</span></font></b></td>
</tr>
<tr>
<td>
<span lang="fa"><b><font face="Tahoma" size="2">گیج کردن برخی آنتی
ویروسها .</font></b></span></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2"><span lang="fa">در شکل 4 شما می توانید
مشاهده کنید که کد اجرا شده و </span>Kaspersky v21 <span lang="fa">+
</span>update 2023/08/26<span lang="fa"> نتوانسته این</span></font></b></td>
</tr>
<tr>
<td>
<b>
<span lang="fa"><font face="Tahoma" size="2">تکنیک را شناسایی کند. </font></span></b></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<p align="center"><a href="26feb2024x_files/Pics/7_X1.png">
<img border="0" src="26feb2024x_files/Pics/7_X1.png" width="762" height="437"></a></td>
</tr>
<tr>
<td>
<p align="center" dir="ltr"><b><font face="Tahoma" size="2">Picture 4</font></b></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>
<td>
<b><font face="Tahoma" size="2"><span lang="fa">در شکل 4 مشاهده می کنید
که یک </span>Thread<span lang="fa"> در حالت </span>Suspend<span lang="fa">
می باشد دلیل آن در کد می باشد.</span></font></b></td>
</tr>
<tr>
<td>
<span lang="fa"><b><font face="Tahoma" size="2">این نکته باید شرح داده
شود در کد مربوط به این بخش 3 از فصل 4 من در آن یک روشی را تست کرده ام</font></b></span></td>
</tr>
<tr>
<td>
</td>
</tr>
<tr>