首頁  >  文章  >  運維  >  Linux終極滲透測試指令總結

Linux終極滲透測試指令總結

小云云
小云云原創
2018-01-23 10:47:344356瀏覽

本文主要和大家分享Linux終極滲透測試命令總結,如下是一份Linux 機器的滲透測試備忘錄,是在後期開發期間或者執行命令注入等操作時的一些典型命令,設計為測試人員進行本地枚舉檢查之用。

指令 描述
#netstat -tulpn
##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 新增一個隱藏的 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 相關的輸出。 ############

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 用戶,只要輸入密碼就行了。 刪除一個 Linux 使用者。 Linux 解壓縮指令如何在Linux 上解析不同的壓縮套件(tar, zip, gzip, bzip2 等等) ,以及其它的一些用來在壓縮包中進行搜尋等操作的小技巧。 描述#unzip archive.zipzipgrep *.txt archive.ziptar xf archive.tartar xvzf archive.tar.gztar xjf archive.tar.bz2tar ztvf file.tar.gz | grep blahgzip -d archive.gzzcat archive.gzzless archive.gzzgrep 'blah' /var/log/maillog*.gz
deluser username
在Linux 上提取zip 套件中的檔案。
在一個 zip 壓縮包中搜尋。
在 Linux 上提取 tar 套件中的檔案。
在 Linux 上提取 tar.gz 套件中的檔案。
在 Linux 上提取 tar.bz2 套件中的檔案。
在一個 tar.gz 檔案中搜尋。
在 Linux 上提取 gzip 中的檔案。
在 Linux 以不解壓縮的方式讀取一個 gz 檔案。
用較少的指令實作對 .gz 壓縮套件相同的功能。
在Linux 上對.gz 壓縮包裡面的內容執行搜索,例如搜尋被壓縮過的日誌檔。

vim file.txt.gzupx -9 -o output.exe input.exe#在 Linux 上使用 UPX 壓縮 .exe 檔案。 #在Linux 上建立一個.zip 檔案。 tar cf archive.tar filestar czf archive.tar.gz files
使用 vim 讀取 .txt.gz 檔案(我個人的最愛)。

Linux 壓縮指令

##zip -r file.zip /dir/*
#在 Linux 上建立一個 tar 檔案。
#在 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 共享。

$ smbmount //server/share /mnt/win -o user=username,password=password1
$ smbclient -U user \\\\server\\share
$ mount -t cifs -o username=user,password=password //x.x.x.x/share /mnt/share

 

打破 shell 的限制

要谢谢 G0tmi1k((或者他参考过的内容)。

Python 小技巧:

python -c 'import pty;pty.spawn("/bin/bash")'

 

echo os.system('/bin/bash')

 

/bin/sh -i

 

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 历史:

      $ ssh user@X.X.X.X | cat /dev/null > ~/.bash_history

 

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/httpd/access.log

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

 相關推薦:

mysql建立、刪除使用者與授權(linux測試)_MySQL

#linux中sed命令和awk命令的使用方法

linux命令列匯總

以上是Linux終極滲透測試指令總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn