Trình bày các khái Windows... Coded Decimal unpacked: nén Binary Coded Decimal packed:... Thanh ghi register... decimal adjust for addition: DAA subtract: SUB dest, source dest dest sour
Trang 1A
Biên
www.hutech.edu.vn
Trang 2*1.2021.COS130*
tailieuhoctap@hutech.edu.vn
Trang 3I VII
1
1
5
7
7
1.4.1 Các 8
10
13
15
16
2.1 NHÓM C 16
16
16
2.1.3 17
18
18
19
2.2 19
2.2 19
19
19
20
2.3 20
20
2.3.2 21
23
2.5 P 23
23
23
24
24
24
2.7 25
25
2.7.2 28
Trang 429
29
29
2.7 29
30
31
2.8 C C L NH D CH CHUY N LOGIC SHL, SHR, SAL, SAR 31
31
33
34
2.9 C C L NH QUAY (ROTATE) 34
34
2.9 36
37
37
2.10 NH M C C L NH LOGIC 38
2.10.1 L nh AND 38
38
39
40
41
41
42
45
2.11.4 Các n 46
48
50
51
58
59
59
60
60
61
64
3.4 CALL VÀ RETURN 65
67
3.5.1 Khai báo 67
67
68
70
Trang 5BÀI 4: T NG QUAN V AN TOÀN H U HÀNH 71
71
71
74
4.1.3 75
76
77
77
4.2.1 Authentication 78
4.2.2 Authorization 79
4.2.3 Accounting 79
79
80
82
4.3.3 Race Condition 83
84
85
4.4 CÁC PH 85
85
86
86
87
87
88
89
5.1 89
91
92
93
95
96
97
98
98
100
101
6.2 101
6.2.1 SQL injection 102
6.2.2 OS Command Injection 102
6.2.3 Buffer Overflow 103
6.2.4 Uncontrolled Format String 104
Trang 66.2.5 Integer Overflow 104
6.2.6 Zero-Day Exploits 105
6.3 QUÁ TRÌNH KHAI THÁC 106
108
BÀI 7: CÔNG C B O M T 109
7.1 CÔNG C 109
7.1.1 Nmap 109
7.1.2 Nessus 110
7.1.3 Fuzzing 111
7.1.4 OpenVas 112
7.1.5 MBSA 113
7.1.6 SecureCheq 114
114
7.1.8 Secunia PSI 114
7.1.9 Retina 114
7.1.10 QualysGuard 115
115
115
116
118
119
7.3.1 119
120
120
122
123
BÀI 8: B O V H TH NG T P TIN 124
8 124
125
126
127
128
128
130
143
143
144
144
144
145
8.3.3 147
Trang 7148
CÂU H I VÀ BÀI T P 149
BÀI 9: B O M T KERNEL 150
9.1 150
153
154
9.4 155
158
CÂU H I VÀ BÀI T P 159
160
160
10.1.1 Malware 160
10.1.2 Virus 160
10.1.3 Worms 161
10.1.4 Trojan 161
10.1.5 Rootkit 162
10.1.6 Spyware 162
10.1.7 Programmatic 163
163
163
165
167
167
167
168
168
169
169
170
170
171
171
10.4.2 Early Antimalware (ELAM) 173
174
10.4.4 User Account Control 175
10.4 176
10.4.6 Bitlocker 177
177
178
179
179
Trang 8193
199
BÀ 200
200
210
211
211
218
219
219
226
BÀI 5: CÔN 248
248
248
-PEDA 255
5.3.1 -PEDA trên LINUX 255
256
Trang 9- Máy Tính
8088/8086
hành
hành
Trang 10Trình bày các khái
Windows
êm
Trang 11-
-
Trang 15- SS (Stack Segment) là
AH (8 bit) AL (8 bit) BH (8 bit) BL (8 bit)
CH (8 bit) CL (8 bit) DH (8 bit) DL (8 bit)
- Thanh ghi AX (Accumulator Register -
, out
- Thanh ghi BX (Base Register -
- Thanh ghi CX (Count register -
- Thanh ghi DX (Data Register - thanh ghi
Trang 17000 [BX] + [SI] [BX] + [SI] + d8 [BX] + [SI] + d16 AL AX
001 [BX] + [DI] [BX] + [DI] + d8 [BX] + [SI] + d16 CL CX
Trang 18Mod
R/m
010 [BP + [SI] [BP + [SI] + d8 [BP + [SI] + d16 DL DX
011 [BP + [DI] [BP + [DI] + d8 [BP + [DI] + d8 BL BX
Trang 191.3 NGÔN NG MÁY
machine language
1.4 H P NG
(Assembler)
Trang 21Ten byte:
string):
nháy kép
Coded Decimal unpacked):
nén (Binary Coded Decimal packed):
Trang 22Tên (symbol, name)
Trang 23Begin:
MOV AX, @DATA
MOV DS, AX CALL Sumproc MOV AX, 4C00h INT 21h
SumProc Proc
MOV Sum, 0 MOV AX, 1 MOV CX, 8 SumLoop:
ADD Sum, AX INC AX
mã máy
operand)
Trang 24Thanh ghi (register
Trang 27CPU?
Trang 29XCHG AX, BX ; Hoán hai thanh ghi 16 bit
Trang 302.1.4 L nh PUSHA (push all)
Trang 312.2.1 L nh LEA (load effective address)
LEA Reg16, Mem16
Reg16
2.2.2 L nh LES (load pointer using ES)
LES Reg16, Reg32
2.2.3 L nh IN
IN AL, port8
thì
Trang 33short, near hay far hay
sau:
J<Condition> Short_Label
2 b
Trang 36loop while zero)loop while not equal):
Trang 372.7 NHÓM L NH TÍNH TOÁN S H C
2.7.1 Nhóm x lý phép c ng
addition) ADD dest, source
(dest) (dest) + (source)
Trang 38decimal adjust for addition):
DAA
subtract):
SUB dest, source
(dest) (dest) (source)
Reg hay Mem
dest
SUB AL, AH
SUB BL, CL
Trang 41thanh ghi AL và thanh ghiAH
DIV BX ; AX DX:AX DIV BX
2.7.5 L nh IDIV (sign divide)
IDIV source
divide overflow
Chia cho 0
-word
-2.7.6 L nh ADD
AAD
Trang 42AL AH *10 +AL
AL 0
MOV BL, 3
5Fh DIV BL
2.7.7 L nh CBW (convert by to word)
CBW
AL,
này vào trong thanh ghi AL trong thanh
MOV AL, Mem8
CBW
MOV BL, -87
Trang 4410010110) sang trái 1 bit
Trang 45SHL AX, 1 ; AX = Mem*4
SHL AX, 1 ; AX = Mem*8
ADD AX, BX ; AX= Mem*8 + Mem*2 = mem*10
2.8.2 L nh SHR (shift logical right)
Trang 46MOV CL, n
SHR dest, CL
ta chia Mem cho
; ta có X DIV 512 = (X DIV 2) DIV 256
MOV AX, Mem
Trang 492.9.3 L nh RCL (rotate through carry left)
Trang 50AND dest, source
(dest) (dest) AND (source)
Trang 51(dest) (dest) OR (source)
XOR dest, source
(dest) (dest) XOR (source)
Trang 532.11.1 C u trúc IF_THEN
END_IF
Trang 54nhánh
IF AX < 0 THEN
AX = -AX END_IF
; If AX < 0
CMP AX, 0 JNL END_IF
; Then
NEG AX END_IF:
2.11.2 C u trúc IF_THEN_ELSE
ELSE
Nhánh sai END_IF
Trang 55; Then
MOV DL, AL INT 21h JMP END_IF ELSE_:
MOV DL, BL INT 21h END_IF:
MOV AH, 2
; If BL
Trang 56CMP AL, BLJNBE ELSE_
; Then
MOV DL, AL JMP DISPLAY ELSE_:
MOV DL, BL DISSPLAY:
INT 21h
END_IF:
MOV DL, AL JMP DISPLAY
MOV DL, AL
JMP DISPLAY
IF_THEN_ELSE bao gi
bao
Trang 58MOV BX, -1 JMP END_CASE khong:
MOV BX, 0 JMP END_CASE duong:
MOV BX, 1 END_CASE:
CASE bao
1 AND
OR
Trang 59IF THEN
END_IF
MOV AH, 1 INT 21h
; If
CMP JNGE END_IF CMP
JNLE END_IF
; Then
MOV DL, AL MOV AH, 2 INT 21H END_IF:
Trang 60IF THEN
END_IF
MOV AH, 1 INT 21H
MOV AH, 2 MOV DL, AL
Trang 64Message DB
Trang 65
IF THEN
END_IF
END_IF END_IF
END_WHILE Dòng
Trang 66; IF
CMP AL, LAST JNA END_IF
; THEN
MOV LAST, AL
; END_IF END_IF:
JMP WHILE_
END_WHILE:
FIRST DB LAST DB
Trang 67ELSE
và END_IF
; ELSE Kqua:
LEA DX, TB2
Trang 68WHILE_:
CMP AL, 13 ; So sanh ky tu nhap voi ky tu xuong dong
JE END_WHILE ; Neu dung, thoat ra
; IF (ky tu la chu hoa)
CMP AL, FIRST ; So sanh ky tu nhap voi chu hoa dau
JNB CHECK_LAST ; không thoa man, kiem tra tiep
; THEN Chu
MOV FIRST, AL lai FIRST = ky tu
; END_IF CHECK_LAST:
; IF (ky tu > chu hoa cuoi)
CMP AL, LAST JNA END_IF
; THEN Chu hoa cuoi = ky tu
MOV LAST, AL
; END_IF END_IF:
; Nhap mot ky tu
Trang 69WHILE_:
CMP AL, 13 ; So sanh ky tu nhap voi ky tu xuong dong
JE END_WHILE ; Neu dung, thoat ra
; IF (ky tu la chu hoa)
CMP AL, FIRST ; So sanh ky tu nhap voi chu hoa dau
JNB CHECK_LAST ; không thoa man, kiem tra tiep
; THEN Chu
MOV FIRST, AL lai FIRST = ky tu
; END_IF CHECK_LAST:
; IF (ky tu > chu hoa cuoi)
CMP AL, LAST JNA END_IF
; THEN Chu hoa cuoi = ky tu
MOV LAST, AL
; END_IF END_IF:
; Nhap mot ky tu
Trang 70JMP WHILE_ ; Quay ve dau vong lap WHILEEND_WHILE:
MOV AH, 9 ; Ham hien thi chuoi
; IF (Khong co chu hoa)
CMP JNE Kqua ; Khong bang, hien thi TB2
; THEN Hien thi thong bao TB1
LEA DX, TB1 JMP DISPLAY
; ELSE Hien thi TB2 Kqua:
LEA DX, TB2 DISPLAY:
Trang 73stack ra thanh ghi BX
WHILE character is not CR DO
PUSH character onto stack
Incremet count
Read a character
Trang 74Goto a new line
FOR count times DO
POP a character from the stack
Trang 79Hình 4.7: Sau khi RET
3.5 KHAI BÁO VÀ G I TH T C
3.5.1 Khai báo
RET
3.5.2 G i th t c
Trang 81CWD
MOV BX, -2113
IDIV BX
Trang 82Câu 1:
Câu 2:
Câu 3:
Trang 83BÀI 4: T NG QUAN V AN TOÀN
4.1.1 Gi i thi u
Trang 85rình có
Trang 86
máy tính
Trang 874.1.3 M c tiêu b o m t
n mà các
Trang 94
4.3.1.2 T n công nâng quy n
nh
Trang 984.4.2 c
các
gâ
Trang 100Câu 1:
Câu 2:
Câu 3:
Trang 1035.2 M T KH U
-8
Trang 107trên ch y làm ch m t n công d ng ngo i tuy n (off-line), khi k thù b c truy nh p vào t p C Trong t n công
tr c tuy n (on-line), k ch s s d ng các l i g i h th ng trong t u không
trong m t th có th m b o s d ng m t kh u m i th c s (và ghi
nh u này c b t bu i dùng ph i th c s tôn tr ng lu t
i m t kh n, không th c i phó v quay v dùng l i m t kh t cách d dàng
c b ng m t kh u truy n th ng có m t v n là tính
s d ng l i c a m t kh u M t kh u ph i nhi u l n, m t khi có k quan sát tóm b c m t kh u, h n hoàn toàn có th thay th i ch
Trang 108H th ng có th ki c f(r) Rõ ràng các thông tin g i qua
- D u vân tay: là m t trong nh m nh n d ng sinh tr c ph bi n s d ng
nh t (s d ng t r t lâu tro c tìm ki m t i ph m) D u vân tay có th
Trang 109c s t b quét Tuy nhiên nh n d ng
li u h th ng K thu c th c hi n thông qua vi c phân tích chi t su t các
c tính tín hi u và t c hi n các phép ki m tra gi thi t th ng kê (statistical
ki m tra n i dung c a c u tr l i có phù h p câu h i hay không
- M t: nh võng m c m c xem là d u hi nh duy nh t cho t ng
i nh có th c thông qua máy ch p (khi nhìn vào khe ch nh c a
ghi nh n t , các kho ng tr trong khi gõ phím có th i nh ng m u gõ
Trang 110ch, thì h th ng có th nghi ng kh t n công m o danh b i th l c
Trang 111Câu 5:
-Câu 6:
Phân tích ý
Câu 7:
Trang 1136.1 L I PH N M M
6.2 L H NG B O M T
Trang 114- Server Page: ASP, JSP, ASP.NET, PHP
-
6.2.2 OS Command Injection
Trang 115CWE 121 -based Buffer
CWE 122 -based Buffer
Trang 1166.2.4 Uncontrolled Format String
Trang 117-
-
Trang 120Câu 1: cách phòng
Câu 2:
Trang 121Nmap là công c mi n phí, ch c trên nhi u h u hành Scan nhanh chóng
và hi u qu Có th th c hi n nhi u ki u scan khác nhau Nmap là công c b o m t
c phát tri n b u nó ch là m
tri n m nh m phù h p v i nhi u platform và phát tri n c giao di n
Nmap là mã ngu n m mi n phí khai thác m ng và ki m tra nhi u h th
n i dùng Nmap r t có ích trong vi c giám sát các host ho c các d ch
v c p nh t th i gian Nmap s d nh các host trên m t m
Trang 122Hình 8.1: Công c Nmap s d ng trên Windows
7.1.2 Nessus
u Nessus là m t d án mã ngu n m xu t b i Renaud Dera vào
n c a các thành ph c công b công khai T tháng 10
Trang 123Hình 8.2: Công c Nessus
7.1.3 Fuzzing
Fuzzing là m t k thu t ki m th h ng ho c bán t ng liên quan
n vi c cung c u vào không h p l , b t ng ho c ng u nhiên vào m
trình máy tính
ng nghi p c a mình th c hi n khám phá l h ng qua các công c dòng
th ng v i d li u vào không h p l , b t ng , và ng u nhiên
ho c vào h th ng các c khác nhau, nh m n l c khám phá và các hành vi b t
ng và th t b i c a h th ng: bao g m treo h th ng, không kh nh mã và rò r
b nh
Trang 124Hình 8.3: C ng c Fuzzing
7.1.4 OpenVas
H th h ng m (OpenVAS) là m t n n t ng máy quét b o m t
m ng mi n phí, v i h u h t nh ng thành ph c c i GNU General Public License (GNU GPL) Thành ph n chính là s n có thông qua m t vài gói Linux hay m t thi t b o t i v cho vi c ki m th ng m
M c dù máy quét c a chính nó không làm vi c trên thi t b Windows, h s cung
c p nh ng máy khác cho Windows OpenVAS không ph i là m t máy quét nhanh nh t
nh t, m t máy b o m t công ngh thông tin r ng mà b n có th tìm th y mi n phí
Nó quét hàng ngàn l h ng, h tr các nhi m v ng th i, và lên l ch quét
p nh ng chú ý và sai trong vi c qu n lý v trí nh ng k t qu quét Tuy nhiên, nó yêu c u Linux ít nh t cho thành ph n chính
Trang 125Hình 8.4: Công c OpenVAS trong backtrack
7.1.5 MBSA
Microsoft Baseline Security Analyser (MBSA) có th thi hành các máy quét trong
c c b hay t xa trên các máy tính Windows và các máy ch nh b t kì các gói
d ch v u sót, vi c ráp n i các l h ng b o m t, và các c u hình sai b o m t
ph bi n Các b n 2.3 h tr cho Windows 8.1, Windows 8, Windows Server 2012 R2
tr các phiên b c xu ng t i Windows XP
M c dù mi n phí và thân thi n v i dùng, nh là nh ng thi u sót c a MBSA quét nh ng thi t l p Windows nâng cao, các b u khi n, ph n m m không ph i
c a Microsoft, và nh ng l h ng m c bi t công c tuy t
v giúp b n tìm ki m và gi m thi u r i ro b o m t chung
Trang 1267.1.6 SecureCheq
SecureCheq có th thi hành trên nh ng máy quét n i b bàn Windows và các máy ch nh vi c thi t l p Windows nâng cao khác nhau không
nh b i các chu n CIS, ISO hay COBIT Nó t p trung vào các
l i c u hình ph bi n liên quan t i h u hành c ng, b o v d li u, b o m t giao
ti p và ho ng tài kho i dùng và ki nh vi c log
kho ng m t ph tr c a phiên b n SecureCheq là m t công c
gi n Sau khi quét các máy tính cá nhân, b n s nhìn th y m t danh sách t t c các thi t l c ki m tra và nh ng k t qu c hay nh ng k t qu sai
M c dù SecureCheq thì d dùng và quét các thi t l p c u hình nâng cao, nó
m i m ng Tuy nhiên, nó b sung MBSA t t, quét các m n và sau
i SecureCheq cho các l h ng nâng cao
các b n vá l i c n thi t chúng cho phù h p mà không c i
t PSI trên windows XP, ho c Windows 7
7.1.9 Retina
c thi t l m t máy quét giúp tìm ra
nh ng l h ng và nh ng ph n d b t t trên h th ng máy tính thông
Trang 127qua các máy ch và các c ng vào h th ng Thi t l p này giúp b n có th quét toàn
th c s p x p theo tên, r i ro, ho c mã m nghiêm tr ng Sau khi báo cáo
c t o ra, b n có th nh d ng nó sang HTML hay Word Doc
7.1.10 QualysGuard
Công c QualysGuard là b công c quét trình duy t an toàn và c n thi i
ng xuyên s d ng trình duy t h ng ngày Ki m tra trình duy t các plugin cho vi c
b o m t, các l h ng cùng v i tính l i th i b c cung c n các trang
ph n m m m s a ch a trình duy t khi có v Ki m soát, thông báo cho ch s
h u các v a c a website S d t ph n m m trên Windows
-
Trang 1287.2.2 M t s ng d ng c a k thu t d c
Trang 129Management)
t
Trang 131- Trace registers, find loops, switches, API calls
Trang 1327.3.2 ho ng c ng l a
Trang 1337.3.3.2 T ng l a th h ti p theo (Next generation firewalls - NGFW)
tích sâu các gói (Deep Packet Inspection -
này
Trang 135(Data Loss Prevention - DLP)
Trang 136BÀI 8: B O V H TH NG T P TIN
i v i h u h i dùng, h th ng t p tin là di n m o d nhìn th y nh t c a h
u hành Nó cung c cho vi tr c tuy n và truy xu t d li u,
a h u hành và t t c i dùng c a h th ng máy tính H th ng
t p tin ch a hai ph n riêng bi t: t p h p các t p tin (files), m i t d li u
có liên quan và c c (directory structure) mà nó t ch c và cung c p thông tin v t t c t p tin trong h th ng M t s h th ng t p tin còn có thêm ph n
l n lu n lý và v t lý
nh khác nhau c a t p tin và c u trúc
o lu qu n lý vi c b o v t p tin (file protection), c n thi t khi nhi i dùng truy xu t các t p tin và chúng ta mu n
ki m soát ai và cách gì truy xu t t p tin Cu i cùng, chúng ta th o lu n vi c chia s
lý là t p tin (file) T c ánh x b i h u hành trên các thi t b v t lý Các
hay kh ng l i h th ng
i dùng, m t t p tin là ph n nh nh t c a thi t b u tr ph lu n lý;
li u không th c vi t t i thi t b ph tr khi chúng trong m t
t p tin Các t p tin d li u có th là s , ch , ký t s hay nh phân Các t p tin có th