歡迎光臨
每天分享高質量文章

超全的 Linux 機器的滲透測試命令備忘表

來自:開源中國 協作翻譯

連結:oschina.net/translate/important-penetration-testing-cheat-sheet

原文:https://techincidents.com/important-penetration-testing-cheat-sheet/

譯者:LeoXu, 邊城

如下是一份 Linux 機器的滲透測試備忘錄,是在後期開發期間或者執行命令註入等操作時的一些典型命令,設計為測試人員進行本地列舉檢查之用。


此外,你還可以從這兒(https://gbhackers.com/category/pentesting/)閱讀到許多關於滲透測試的文章。


命令 描述
netstat -tulpn 在 Linux 中顯示對應了行程ID(PID)的網路埠。
watch ss -stplu 透過套接字實時觀察 TCP, UDP 埠。
lsof -i 顯示確認了的連線。
macchanger -m MACADDR INTR 在 KALI Linux 上修改 MAC 地址。
ifconfig eth0 192.168.2.1/24 在 Linux 中設定 ID 地址。
ifconfig eth0:1 192.168.2.3/24 在 Linux 中向現有的網路介面新增 IP 地址。
ifconfig eth0 hw ether MACADDR 使用 ifconfig 修改 Linux 中的 MAC 地址。
ifconfig eth0 mtu 1500 在 Linux 中使用 ifconfig 修改 MTU 的大小,將 1500 改為你想要的 MTU。
dig -x 192.168.1.1 對 IP 地址進行反向查詢。
host 192.168.1.1 在一個 IP 地址上進行反向查詢,適用於沒有安裝 dig 的情況。
dig @192.168.2.2 domain.com -t AXFR 使用 dig 執行一次 DNS 區域傳輸。
host -l domain.com nameserver 使用 host 執行一次 DNS 區域傳輸。
nbtstat -A x.x.x.x 獲取 IP 地址對應的域名。
ip addr add 192.168.2.22/24 dev eth0 向 Linux 新增一個隱藏的 IP 地址,在執行 ifconfig 命令時不會顯示這個 IP 地址。
tcpkill -9 host google.com 阻止從主機訪問 google.com。
echo “1” > /proc/sys/net/ipv4/ip_forward 啟用 IP 轉發,將 Linux 盒子變成一個路由器——這樣就方便透過這個盒子來進行路由流量的控制。
echo “8.8.8.8” > /etc/resolv.conf 使用 Google 的 DNS。

系統資訊命令


對於本地的列舉檢查很有用。


命令 描述
whoami 顯示 Linux 上當前已登入使用者。
id 向用戶顯示當前已登入的使用者和組。
last 顯示最後一次登陸的使用者。
mount 顯示已掛載的驅動。
df -h 用人類可讀的輸出顯示磁碟使用情況。
echo “user:passwd” | chpasswd 用一行命令重置密碼。
getent passwd 列出 Linux 上的使用者。
strings /usr/local/bin/blah 顯示非文字檔案的內容,例如:一個二進位制檔案裡面有什麼。
uname -ar 顯示執行中的核心版本。
PATH=$PATH:/my/new-path 新增一個新的路徑,方便進行本地檔案系統(FS)操作。
history 顯示使用者在之前執行的 bash 指令碼歷史記錄,還有敲入的命令。


基於 Redhat / CentOS / RPM 的發行版


命令 描述
cat /etc/redhat-release 顯示 Redhat / CentOS 版本號。
rpm -qa 在基於 RPM 的 Linux 上列出所有已經安裝上的 RPM 包。
rpm -q –changelog openvpn 檢查已安裝的 RPM 是否針對 CVE 打了補丁,可以用 grep 命令過濾出跟 CVE 有關的輸出。LeoXu

YUM 命令


基於 RPM 的系統使用了包管理器, 你可以用這些命令獲取到有關已安裝包或者其它工具的有用資訊。


命令 描述
yum update 使用 YUM 更新所有的 RPM 包,也會顯示出哪些已經過時了。
yum update httpd 更新單獨的包,在此例中是 HTTPD (Apache)。
yum install package 使用 YUM 安裝一個包。
yum –exclude=package kernel* update 在使用 YUM 時將一個包排除在外不更新。
yum remove package 使用 YUM 刪除包。
yum erase package 使用 YUM 刪除包。
yum list package 列出有關 yum 包的資訊。
yum provides httpd 顯示一個包是的用途,例如: Apache HTTPD Server。
yum info httpd 顯示包資訊,架構,版本等資訊。
yum localinstall blah.rpm 使用 YUM 來安裝本地 RPM, 從資源庫進行安裝。
yum deplist package 顯示包的提供方資訊。
yum list installed | more 列出所有已安裝的包。
yum grouplist | more 顯示所有的 YUM 分組。
yum groupinstall ‘Development Tools’ 安裝 YUM 分組。


基於 Debian / Ubuntu / .deb 的發行版


命令 描述
cat /etc/debian_version 顯示 Debian 版本號。
cat /etc/*-release 顯示 Ubuntu 版本號。
dpkg -l 在基於 Debian / .deb 的 Linux 發行版上列出所有已安裝的包。


Linux 使用者管理


命令 描述
useradd new-user 建立一個新的 Linux 使用者。
passwd username 重置 Linux 使用者密碼, 如果你是 root 使用者,只要輸入密碼就行了。
deluser username 刪除一個 Linux 使用者。


Linux 解壓縮命令


如何在 Linux 上解析不同的壓縮包 (tar, zip, gzip, bzip2 等等) ,以及其它的一些用來在壓縮包中進行搜尋等操作的小技巧。


命令 描述
unzip archive.zip 在 Linux 上提取 zip 包中的檔案。
zipgrep *.txt archive.zip 在一個 zip 壓縮包中搜索。
tar xf archive.tar 在 Linux 上提取 tar 包中的檔案。
tar xvzf archive.tar.gz 在 Linux 上提取 tar.gz 包中的檔案。
tar xjf archive.tar.bz2 在 Linux 上提取 tar.bz2 包中的檔案。
tar ztvf file.tar.gz | grep blah 在一個 tar.gz 檔案中搜索。
gzip -d archive.gz 在 Linux 上提取 gzip 中的檔案。
zcat archive.gz 在 Linux 以不解壓縮的方式讀取一個 gz 檔案。
zless archive.gz 用較少的命令實現對 .gz 壓縮包相同的功能。
zgrep ‘blah’ /var/log/maillog*.gz 在 Linux 上對 .gz 壓縮包裡面的內容執行搜尋,比如搜尋被壓縮過的日誌檔案。
vim file.txt.gz 使用 vim 讀取 .txt.gz 檔案(我個人的最愛)。
upx -9 -o output.exe input.exe 在 Linux 上使用 UPX 壓縮 .exe 檔案。


Linux 壓縮命令


命令 描述
zip -r file.zip /dir/*

在 Linux 上建立一個 .zip 檔案。

tar cf archive.tar files 在 Linux 上建立一個 tar 檔案。
tar czf archive.tar.gz files 在 Linux 上建立一個 tar.gz 檔案。
tar cjf archive.tar.bz2 files 在 Linux 上建立一個 tar.bz2 檔案。
gzip file 在 Linux 上建立一個 .gz 檔案。


Linux 檔案命令


命令 描述
df -h blah 在 Linux 上顯示檔案/目錄的大小。
diff file1 file2 在 Linux 上比對/顯示兩個檔案之間的差別。
md5sum file 在 Linux 上生成 MD5 摘要。
md5sum -c blah.iso.md5 在 Linux 上檢查檔案的 MD5 摘要,這裡假設檔案和 .md5 處在相同的路徑下。
file blah 在 Linux 上查找出檔案的型別,也會將檔案是 32 還是 64 位顯示出來。
dos2unix 將 Windows 的行結束符轉成 Unix/Linux 的。
base64 < input-file > output-file 對輸入檔案進行 Base64 編碼,然後輸出一個叫做 output-file 的 Base64 編碼檔案。
base64 -d < input-file > output-file 對輸入檔案進行 Base64 解碼,然後輸出一個叫做 output-file 的 Base64 解碼檔案。
touch -r ref-file new-file 使用來自於取用檔案的時間戳資料建立一個新檔案,放上 -r 以簡單地建立一個檔案。
rm -rf 不顯示確認提示就刪除檔案和目錄。


Samba 命令


從 Linux 連線到 Samba 共享。



打破 shell 的限制


要謝謝 G0tmi1k((或者他參考過的內容)。


Python 小技巧:



Misc 命令


命令 描述
init 6 從命令列重啟 Linux 。
gcc -o output.c input.c 編譯 C 程式碼。
gcc -m32 -o output.c input.c 交叉編譯 C 程式碼,在 64 位 Linux 上將編譯出 32 位的二進位制檔案。
unset HISTORYFILE 關閉 bash 歷史日誌記錄功能。
rdesktop X.X.X.X 從 Linux 連線到 RDP 伺服器。
kill -9 $$ 關掉當前的會話。
chown user:group blah 修改檔案或者目錄的所有者。
chown -R user:group blah 修改檔案或者目錄,以及目錄下麵檔案/目錄的擁有者 —— 遞迴執行 chown。
chmod 600 file 修改檔案/目錄的許可權設定, 詳情見 [Linux 檔案系統許可權](#linux-file-system-permissions) 。


清除 bash 歷史:



Linux 檔案系統許可權


取值 意義
777 rwxrwxrwx 沒有限制,完全可讀可寫可執行(RWX),使用者可以做任何事情。
755 rwxr-xr-x 擁有者可完全訪問,其他人只能讀取和執行檔案。
700 rwx—— 擁有者可完全訪問,其他人都不能訪問。
666 rw-rw-rw- 所有人可以讀取和寫入,但不可執行。
644 rw-r–r– 擁有者可以讀取和寫入,其他人只可以讀取。
600 rw——- 擁有者可以讀取和寫入,其他人都不能訪問。


Linux 檔案系統的滲透測試備忘錄


目錄 描述
/ / 也被稱為“斜槓”或者根。
/bin 由系統、系統管理員以及使用者共享的通用程式。
/boot Boot 檔案, 啟動載入器(grub), 核心, vmlinuz
/dev 包含了對系統裝置、帶有特殊屬性的檔案的取用。
/etc 重要的系統配置檔案。
/home 系統使用者的主目錄。
/lib 庫檔案,包括系統和使用者都需要的所有型別的程式的檔案。
/lost+found 檔案操作失敗會被儲存在這裡。
/mnt 外部檔案系統的標準掛載點。
/media 外部檔案系統(或者某些發行版)的掛載點。
/net 整個遠端檔案系統的標準掛載點 —— nfs。
/opt 一般都是包含一些附加的或者第三方軟體。
/proc 一個包含了系統資源相關資訊的虛擬檔案系統。
/root root 使用者的主目錄。
/sbin 由系統和系統管理員來使用的程式。
/tmp 供系統使用的臨時空間,重啟時會被清空。
/usr 供所有使用者相關程式使用的程式、庫、檔案等等。
/var 儲存所有由使用者建立的可變檔案和臨時檔案,比如日誌檔案、郵件佇列、後臺列印程式,Web伺服器,資料庫等等。


Linux 中有趣的檔案/目錄


如果你想嘗試進行特權升級/執行後期開發,這些都是你值得一瞧的命令。


路徑 描述
/etc/passwd 包含了本地 Linux 的使用者。
/etc/shadow 包含了雜湊過的本地賬戶密碼。
/etc/group 包含了本地賬戶分組。
/etc/init.d/ 包含了服務網初始化指令碼 – 具體都安裝了些啥應該值得一瞧。
/etc/hostname 系統的 hostname。
/etc/network/interfaces 網路介面。
/etc/resolv.conf 系統的 DNS 服務。
/etc/profile 系統的環境變數。
~/.ssh/ SSH 金鑰。
~/.bash_history 使用者的 bash 歷史日誌。
/var/log/ Linux 系統的日誌檔案一般就被存放在這裡。
/var/adm/ UNIX 系統的日誌檔案一般就被存在在這裡。
/var/log/apache2/access.log

/var/log/httpd/access.log

Apache 訪問日誌檔案通常的存在路徑。
/etc/fstab 掛載的檔案系統。


●本文編號421,以後想閱讀這篇文章直接輸入421即可

●輸入m獲取到文章目錄

推薦↓↓↓

駭客技術與網路安全

更多推薦18個技術類公眾微信

涵蓋:程式人生、演演算法與資料結構、駭客技術與網路安全、大資料技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。

贊(0)

分享創造快樂