ホームページ  >  記事  >  運用・保守  >  究極の Linux ペネトレーション テスト コマンドの概要

究極の Linux ペネトレーション テスト コマンドの概要

小云云
小云云オリジナル
2018-01-23 10:47:344362ブラウズ

この記事では主に、Linux マシンの侵入テストのメモをまとめています。これは、後の開発時やコマンド インジェクションなどの操作を実行する際に使用するために設計されています。ローカル列挙チェックを実行するためにテスターを使用します。

コマンド 説明
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 Linux で MAC アドレスを変更するには、ifconfig を使用します。
ifconfig eth0 mtu 1500 Linux で ifconfig を使用して MTU サイズを変更し、1500 を必要な MTU に変更します。
dig -x 192.168.1.1 IP アドレスの逆引きを実行します。
host 192.168.1.1 dig がインストールされていない状況に適した、IP アドレスの逆引き参照を実行します。
dig @192.168.2.2domain.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 ifconfigコマンド実行時に表示されない隠しIPアドレスをLinuxに追加します。
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 1行のコマンドでパスワードをリセットします。
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 グループリスト | 詳細yum groupinstall '開発ツール' Debian / Ubuntu / .deb ベースのディストリビューション
コマンド 説明
yum update YUMを使用してすべてのRPMパッケージを更新すると、どのRPMパッケージが古いのかも表示されます。
yum update httpd 個々のパッケージ、この場合は HTTPD (Apache) を更新します。
yum install package YUMを使用してパッケージをインストールします。
yum --exclude=package kernel* update YUM を使用する場合、更新からパッケージを除外します。
yum パッケージを削除します パッケージを削除するには、YUM を使用します。
yum パッケージ削除 パッケージを削除するには YUM を使用します。
yum list package yum パッケージに関する情報をリストします。
yum は httpd を提供します パッケージの目的を示します (例: Apache HTTPD サーバー)。
yum info httpd パッケージ情報、アーキテクチャ、バージョン、その他の情報を表示します。
yum localinstall blah.rpm YUM を使用してローカル RPM をインストールし、リポジトリからインストールします。
yum deplist package パッケージのプロバイダー情報を表示します。
インストールされている yum リストをもっと見る | インストールされているすべてのパッケージをリストします。
にはすべての YUM グループが表示されます。
YUM グループをインストールします。

コマンド cat /etc/debian_version cat /etc/*-releasedpkg -lLinux ユーザー管理
説明
Debian のバージョン番号を表示します。
Ubuntuのバージョン番号を表示します。
Debian/.deb ベースの Linux ディストリビューションにインストールされているすべてのパッケージを一覧表示します。

コマンドuseradd new-userpasswd usernamedeluser ユーザー名Linux 解凍コマンド
説明
新しい Linux ユーザーを作成します。
Linux ユーザーのパスワードをリセットします。root ユーザーの場合は、パスワードを入力するだけです。
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*.gzvim file.txt.gzupx -9 -o Output.exe input.exeLinux 圧縮コマンド
説明
Linux で zip アーカイブ内のファイルを抽出します。
zip アーカイブ内を検索します。
Linux 上の tarball 内のファイルを抽出します。
Linux で tar.gz パッケージ内のファイルを抽出します。
Linux で tar.bz2 パッケージ内のファイルを抽出します。
tar.gz ファイル内を検索します。
Linux 上で gzip でファイルを抽出します。
Linux で解凍せずに gz ファイルを読み取ります。
.gz 圧縮パッケージと同じ機能を実現するには、使用するコマンドを減らします。
圧縮ログ ファイルの検索など、Linux 上の .gz 圧縮パッケージの内容を検索します。
vim を使用して .txt.gz ファイルを読み取ります (私の個人的なお気に入り)。
Linux で .exe ファイルを圧縮するには UPX を使用します。

コマンド zip -r file.zip /dir/* Linux 上で .zip ファイルを作成します。 tar cf archive.tar ファイルtar czf archive.tar.gz ファイルtar cjf archive.tar.bz2 ファイルgzip ファイル

Linux 文件命令

説明

Linux 上で tar ファイルを作成します。
Linux 上で tar.gz ファイルを作成します。
Linux 上で tar.bz2 ファイルを作成します。
Linux 上で .gz ファイルを作成します。
命令 描述
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 ブート ファイル、ブート ローダー (grub)、カーネル、vmlinuz
/dev には、システム デバイスおよび特別な属性を持つファイルへの参照が含まれています。
/etc 重要なシステム構成ファイル。
/home システムユーザーのホームディレクトリ。
/lib ライブラリ ファイルには、システムとユーザーが必要とするあらゆる種類のプログラムのファイルが含まれています。
/lost+found 失敗したファイル操作はここに保存されます。
/mnt 外部ファイルシステムの標準マウントポイント。
/media 外部ファイル システム (または一部のディストリビューション) のマウント ポイント。
/net リモート ファイル システム全体の標準マウント ポイント - nfs。
/opt には通常、追加のソフトウェアまたはサードパーティのソフトウェアが含まれています。
/proc システムリソースに関する情報を含む仮想ファイルシステム。
/root root ユーザーのホームディレクトリ。
/sbin システムおよびシステム管理者によって使用されるプログラム。
/tmp システムが使用する一時領域は、再起動時にクリアされます。
/usr すべてのユーザー関連プログラムのプログラム、ライブラリ、ドキュメントなど。
/var には、ログ ファイル、メール キュー、印刷スプーラー、Web サーバー、データベースなど、ユーザーが作成したすべての変数ファイルと一時ファイルが保存されます。

Linux の興味深いファイル/ディレクトリ

権限昇格を試したい場合や開発後の実行を実行したい場合は、これらのコマンドをチェックしてみる価値があります。

Path Description
/etc/passwd ローカル Linux ユーザーが含まれます。
/etc/shadow には、ハッシュされたローカルアカウントのパスワードが含まれています。
/etc/group には、ローカル アカウント グループが含まれます。
/etc/init.d/ にはサービスネットワークの初期化スクリプトが含まれています。何がインストールされているかを確認する価値があります。
/etc/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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。