この記事では主に、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 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 グループをインストールします。 |
説明 | |
---|---|
Debian のバージョン番号を表示します。 | |
Ubuntuのバージョン番号を表示します。 | |
Debian/.deb ベースの Linux ディストリビューションにインストールされているすべてのパッケージを一覧表示します。 |
説明 | |
---|---|
新しい Linux ユーザーを作成します。 | |
Linux ユーザーのパスワードをリセットします。root ユーザーの場合は、パスワードを入力するだけです。 | |
Linux ユーザーを削除します。 |
説明 | |
---|---|
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 を使用します。 |
説明 | |
---|---|
Linux 上で .zip ファイルを作成します。 | |
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 | 不显示确认提示就删除文件和目录。 |
从 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
要谢谢 G0tmi1k((或者他参考过的内容)。
Python 小技巧:
python -c 'import pty;pty.spawn("/bin/bash")'
echo os.system('/bin/bash')
/bin/sh -i
命令 | 描述 |
---|---|
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
取值 | 意义 |
---|---|
777 | rwxrwxrwx 没有限制,完全可读可写可执行(RWX),用户可以做任何事情。 |
755 | rwxr-xr-x 拥有者可完全访问,其他人只能读取和执行文件。 |
700 | rwx------ 拥有者可完全访问,其他人都不能访问。 |
666 | rw-rw-rw- 所有人可以读取和写入,但不可执行。 |
644 | rw-r--r-- 拥有者可以读取和写入,其他人只可以读取。 |
600 | rw------- 拥有者可以读取和写入,其他人都不能访问。 |
ディレクトリ | 説明 |
---|---|
/ | / は、「スラッシュ」またはルートとも呼ばれます。 |
/bin | システム、システム管理者、ユーザーが共有する共通プログラム。 |
/boot | ブート ファイル、ブート ローダー (grub)、カーネル、vmlinuz |
/dev | には、システム デバイスおよび特別な属性を持つファイルへの参照が含まれています。 |
/etc | 重要なシステム構成ファイル。 |
/home | システムユーザーのホームディレクトリ。 |
/lib | ライブラリ ファイルには、システムとユーザーが必要とするあらゆる種類のプログラムのファイルが含まれています。 |
/lost+found | 失敗したファイル操作はここに保存されます。 |
/mnt | 外部ファイルシステムの標準マウントポイント。 |
/media | 外部ファイル システム (または一部のディストリビューション) のマウント ポイント。 |
/net | リモート ファイル システム全体の標準マウント ポイント - nfs。 |
/opt | には通常、追加のソフトウェアまたはサードパーティのソフトウェアが含まれています。 |
/proc | システムリソースに関する情報を含む仮想ファイルシステム。 |
/root | root ユーザーのホームディレクトリ。 |
/sbin | システムおよびシステム管理者によって使用されるプログラム。 |
/tmp | システムが使用する一時領域は、再起動時にクリアされます。 |
/usr | すべてのユーザー関連プログラムのプログラム、ライブラリ、ドキュメントなど。 |
/var | には、ログ ファイル、メール キュー、印刷スプーラー、Web サーバー、データベースなど、ユーザーが作成したすべての変数ファイルと一時ファイルが保存されます。 |
権限昇格を試したい場合や開発後の実行を実行したい場合は、これらのコマンドをチェックしてみる価値があります。
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 | マウントされたファイルシステム。 |
関連する推奨事項:
以上が究極の Linux ペネトレーション テスト コマンドの概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。