事の発端#
この記事の資料は、micropoor からのものです:https://micropoor.blogspot.com
本記事では、亮神の資料をできるだけ再現します。
内部ネットワークの生存ホストを迅速にスキャンすることは、必須のニーズです。一般的には以下の方法があります:
- UDP に基づく 2. ARP に基づく 3. netbios に基づく 4. snmp に基づく 5. ICMP に基づく 6. SMB に基づく 7. MSF に基づく 8. SqlDataSourceEnumerator に基づく
私たちのツールは主に nmap と metasploit、その他の優れたツールを使用します。
重要な注意:この記事は非常に長いため、あまり読みやすくありません。マニュアルとして使用し、目次をうまく活用してください!
環境準備#
(19-02-23 更新) 後に自分の環境選択に問題があると感じ、ブリッジ接続方式を使用した方がはるかに効果的である可能性があります。
ここでは、virtualbox で 2 台のマシンを立ち上げました。
Kali(NAT+Hostonly):192.168.2.6
Winxp_SP3(Hostonly):192.168.2.4
すべてのツールは、仮想マシンを起動する前は 192.168.2.1 という 1 つのゲートウェイアドレスしかスキャンできませんでした。仮想マシンを起動した後は、仮想マシンのアドレスに加えて、dhcp サーバーのアドレスもあります:192.168.2.2
実測#
UDP に基づく#
UDP の概要:
UDP(ユーザーデータグラムプロトコル)は、接続のないプロトコルであり、第四層 - トランスポート層に位置し、IP プロトコルの上層にあります。UDP には、データパケットの分割、組み立てを提供せず、データパケットの順序付けができないという欠点があります。つまり、メッセージが送信された後、そのメッセージが安全に完全に到達したかどうかを知ることはできません。
UDP の顕著な特徴:
- UDP は信頼性に欠けます。UDP 自体は確認、タイムアウト再送などのメカニズムを提供しません。UDP データグラムはネットワーク内で複製され、再順序付けされる可能性があり、各データグラムが一度だけ到達することを保証しません。
- UDP データグラムには長さがあります。各 UDP データグラムには長さがあり、データグラムが正しく目的地に到達した場合、そのデータグラムの長さはデータと共に受信者に渡されます。一方、TCP はバイトストリームプロトコルであり、(プロトコル上の)記録境界はありません。
- UDP は接続がありません。UDP クライアントとサーバーの間には長期的な関係が必要ありません。ほとんどの UDP 実装では、ソースの抑制エラーを無視することを選択し、ネットワークが混雑しているとき、目的地は大量の UDP データグラムを受信できません。
- UDP はマルチキャストとブロードキャストをサポートします。
nmap#
nmap -sU -T5 -sV --max-retries 1 192.168.2.4 -p 500
速度が非常に遅いことがわかります。
msf#
use auxiliary/scanner/discovery/udp_probe
use auxiliary/scanner/discovery/udp_sweep
unicornscan スキャン#
Linux での使用を推奨:unicornscan -mU 192.168.2.4
ScanLine スキャン#
McAfee 製、Windows での使用を推奨。管理者が実行します(ダウンロードボタンをクリックすると無限ループになると思われます)。
- ランゾウのリンク:https://www.lanzous.com/i32zncf
ここからダウンロード:http://www.ddooo.com/softdown/11258.htm、私は自分でウイルススキャンを行い、80%がウイルス報告をしましたが、Tencent Hubble はリスクを発見していません。自己判断でお願いします。
ScanLine.exe 192.168.2.4
附:オンラインの Nmap に基づく UDP スキャン:https://pentest-tools.com/network-vulnerability-scanning/udp-port-scanner-online-nmap
ARP に基づく#
ARP の概要:ARP は、ネットワーク層アドレスを解析してデータリンク層アドレスを見つけるための、ネットワークプロトコルパケット内で非常に重要なネットワーク伝送プロトコルです。IP アドレスに基づいて物理アドレスを取得する TCP/IP プロトコルです。ホストが情報を送信する際、ターゲット IP アドレスを含む ARP リクエストをネットワーク上のすべてのホストにブロードキャストし、返されたメッセージを受信することで、ターゲットの物理アドレスを特定します。
nmap スキャン#
nmap -sn -PR 192.168.2.1/24
msf スキャン#
use auxiliary/scanner/discovery/arp_sweep
注意:デフォルトではネットワークカードが設定されていないため、手動で設定する必要があります。
netdiscover#
netdiscover -r 192.168.2.1/24 -i eth1
arp-scan(Linux)#
**(推奨)** 速度と迅速さ
arp-scan --interface=eth1 --localnet
Powershell#
PowerShell Empire ツールキット内の Invoke-ARPScan.ps1 を使用します。Github アドレス
コピーして貼り付けて Invoke-ARPScan.ps1 として保存し、PowerShell でそのファイルがあるフォルダに入り、次のコマンドを実行します:
powershell.exe -exec bypass -Command "Import-Module ./Invoke-ARPScan.ps1;Invoke-ARPScan -CIDR 192.168.2.1/24"
arp scannet#
ダウンロードリンク:https://sourceforge.net/projects/arpscannet/files/latest/download
出力をソートするオプションを選択すると、アクティブなホストの後ろの値が空でないことがわかります。
arp-scan(Windows)#
(推奨)速度と迅速さ
Github アドレス(非公式):https://github.com/QbsuranAlang/arp-scan-windows-/tree/master/arp-scan
arp-scan.exe -t 192.168.2.1/24
:
arp-ping.exe#
ダウンロードリンク(ネットで適当に探した):https://elifulkerson.com/projects/arp-ping.php
ウイルススキャンを行ったところ、1 件だけウイルス報告があり、Tencent Hubble はリスクを発見していません。
arp-ping.exe 192.168.2.4
その他#
cain の arp 発見、一部のオープンソース py、pl スクリプトなどについては、すべて紹介することはできません。
netbios に基づく#
netbios の概要:
IBM 社が開発したもので、数十台のコンピュータの小規模なローカルエリアネットワークで主に使用されます。このプロトコルは、ローカルエリアネットワーク上のプログラムが使用できるアプリケーションプログラミングインターフェース(API)であり、プログラムに低レベルサービスを要求するための同一のコマンドセットを提供します。これは、ローカルエリアネットワークにネットワークおよびその他の特別な機能を提供するためのものです。システムは WINS サービス、ブロードキャスト、Lmhost ファイルなどのさまざまなモードを利用して、NetBIOS 名(NETBIOS プロトコルに基づいて取得したコンピュータ名を指す)を対応する IP アドレスに解決し、情報通信を実現します。したがって、ローカルエリアネットワーク内で NetBIOS プロトコルを使用することで、メッセージ通信やリソースの共有を簡単に実現できます。
nmap スキャン#
nmap -sU --script nbstat.nse -p137 192.168.2.1/24 -T4
msf スキャン#
use auxiliary/scanner/netbios/nbname
nbtscan スキャン#
プロジェクトアドレス:http://www.unixwiz.net/tools/nbtscan.html
-
NBTscan バージョン 1.5.1
-
(Github アドレス):https://github.com/scallywag/nbtscan
-
説明文書(使用方法や GUI についてはここで確認できます):http://www.inetcat.org/software/nbtscan.html
-
ダウンロードリンク(Win):http://www.inetcat.org/software/nbtscan1_5_1.zip
-
Windows
nbtstat -n (推奨)
nbtscan-1.0.35.exe -m 192.168.2.1/24
- Linux
(推奨)ソースをダウンロード(gzip'd tarball)
tar -zxf nbtscan-source-1.0.35.tgz
make
nbtscan -r 192.168.2.1/24
nbtscan -v -s: 192.168.2.1/24
NetBScanner#
プロジェクトアドレス:https://www.nirsoft.net/utils/netbios_scanner.html
ダウンロードボタンはここにあります(探すのに時間がかかりました)。言語パックをインストールディレクトリに置き、スキャンネットワークセグメントを設定できます:
snmp に基づく#
SNMP の概要:
SNMP はシンプルネットワーク管理プロトコルであり、TCP/IP 五層プロトコルのアプリケーション層プロトコルに属し、ネットワーク管理のためのプロトコルです。SNMP は主にネットワークデバイスの管理に使用されます。SNMP プロトコルは主に 2 つの部分で構成されています:SNMP 管理ステーションと SNMP エージェント。SNMP 管理ステーションは中心ノードであり、各 SNMP 要素の情報を収集し、維持し、処理し、最終的にネットワーク管理者にフィードバックします。一方、SNMP エージェントは、管理される各ネットワークノード上で実行され、そのノードの各種情報を統計し、SNMP 管理ステーションと対話し、管理ステーションのコマンドを受信して実行し、さまざまなローカルネットワーク情報をアップロードします。
nmap -sU --script snmp-brute 192.168.2.1/24 -T4
msf スキャン#
use auxiliary/scanner/snmp/snmp_enum
SNScan#
macafee 製のスキャンツール、プロジェクトアドレス(依然として無限ループ):https://www.mcafee.com/us/downloads/free-tools/snscan.aspx
私はネットで 1.05 バージョンを見つけましたが、virustotal では何も報告されていませんでした。Tencent Hubble はリスクを発見していません:ここをクリックしてダウンロード
NetCrunch#
内部ネットワークのセキュリティ監査ツールで、DNS 監査、ping スキャン、ポート、ネットワークサービスなどを含みます。
- プロジェクトアドレス:https://www.adremsoft.com/demo/
- ダウンロードページ:https://www.adremsoft.com/demo/download-product/nctools
- 直接ダウンロードリンク:https://www.adremsoft.com/download/NetCrunchTools2.exe
インストール後、Google または Facebook または Microsoft アカウントでログインする必要があります。
snmp for pl スキャン#
- プロジェクトアドレス:https://github.com/dheiland-r7/snmp
./snmpbw.pl を実行する際のCan't locate NetAddr/IP
問題:
wget https://cpan.metacpan.org/authors/id/M/MI/MIKER/NetAddr-IP-4.079.tar.gz
tar xzf ./NetAddr-IP-4.079.tar.gz
cd NetAddr-IP-4.079/
perl Makefile.PL
make
make install
cd ../
./snmpbw.pl
その他のスキャン#
- snmpbulkwalk
- snmp-check
- snmptest
附録:
use auxiliary/scanner/snmp/aix_version
use auxiliary/scanner/snmp/snmp_enum
use auxiliary/scanner/snmp/arris_dg950
use auxiliary/scanner/snmp/snmp_enum_hp_laserjet
use auxiliary/scanner/snmp/brocade_enumhash
use auxiliary/scanner/snmp/snmp_enumshares
use auxiliary/scanner/snmp/cambium_snmp_loot
use auxiliary/scanner/snmp/snmp_enumusers
use auxiliary/scanner/snmp/cisco_config_tftp
use auxiliary/scanner/snmp/snmp_login
use auxiliary/scanner/snmp/cisco_upload_file
use auxiliary/scanner/snmp/snmp_set
use auxiliary/scanner/snmp/netopia_enum
use auxiliary/scanner/snmp/ubee_ddw3611
use auxiliary/scanner/snmp/sbg6580_enum
use auxiliary/scanner/snmp/xerox_workcentre_enumusers
その他の内部ネットワークセキュリティ監査ツール(snmp):
- プロジェクトアドレス:https://www.solarwinds.com/topics/snmp-scanner
- プロジェクトアドレス:https://www.netscantools.com/nstpro_snmp.html
ICMP に基づく#
ICMP の概要:
これは TCP/IP プロトコルファミリーのサブプロトコルであり、IP ホストやルーター間で制御メッセージを伝達するために使用されます。制御メッセージとは、ネットワークが通じているか、ホストが到達可能か、ルーティングが利用可能かなど、ネットワーク自体に関するメッセージです。これらの制御メッセージはユーザーデータを伝送しませんが、ユーザーデータの伝送に重要な役割を果たします。
nmap スキャン:#
nmap ‐sP ‐PI 192.168.2.1/24 ‐T4
nmap ‐sn ‐PE ‐T4 192.168.2.1/24
CMD でのスキャン#
for /L %P in (1,1,254) DO @ping ‐w 1 ‐n 1 192.168.2.%P | findstr "TTL="
私が使っているのは偽の cmd かもしれません。しばらく反応がありませんでした。
powershell スキャン#
Invoke‐TSPingSweep.ps1 のダウンロード:GitHub アドレス
powershell.exe -exec bypass -Command "Import-Module ./Invoke‐TSPingSweep.ps1; Invoke-TSPingSweep -StartAddress 192.168.2.1 -EndAddress 192.168.2.254 -ResolveHost -ScanPort -Port 445,135"
tcping#
elifulkerson のこのウェブサイトで見つけました:ダウンロードリンク
tcping64.exe -n 1 192.168.2.1 80
cping(19-02-23 更新)#
cping は K8 チームによって作成されました。詳細な紹介:https://www.cnblogs.com/k8gege/p/10367844.html
ブログには詳細が記載されているため、再度紹介する必要はありません。ダウンロードリンク(移動して解凍して再パッケージ化したもの):https://www.lanzous.com/i3837ne
パッケージ内には以下のファイルがあります:
cping**.exe ** は、.net でコンパイルされたバージョンを示します。システムのデフォルト.NET バージョンは以下の通りです:
XP/2003(廃止、ユーザーが少なく、使用しているほとんどは.netをインストールするため、ほとんどのアプリがドライバーを連携させるために.netを必要とします。具体的にはインストールバージョンは一般的に2.0)
Vista 2.0(基本的にユーザーはほとんどいません)
Win7/2008 2.0 3.0 3.5
Win8/2012 4.0
Win8.1 4.0 4.5
Win10/2016 4.0 4.6(4.5は未測定ですが、問題ないと思います)
私の内部ネットワークマシンのスキャンデモ画像:
SMB に基づく#
msf に基づく#
モジュール:auxiliary/scanner/smb/smb_version
cme に基づく#
このようにインストールした後、cme smb
を実行できません:
apt-get install cme
apt-get install crackmapexec
したがって、pipenv を使用してインストールします:
apt-get install libssl-dev libffi-dev python-dev build-essential -y
pip install --user pipenv -i https://pypi.tuna.tsinghua.edu.cn/simple/
git clone --recursive https://github.com/byt3bl33d3r/CrackMapExec
cd CrackMapExec && pipenv install
この時、bash:pipenv: コマンドが見つからないというエラーが発生する可能性があります。上記の問題が発生した場合、次の操作を行う必要があります。
vim ~/.profile
の下部に以下の文を追加します:
PYTHON_BIN_PATH="$(python3 -m site --user-base)/bin"
PATH="$PATH:$PYTHON_BIN_PATH"
その後、source ~/.profile
を実行するとpipenv
が使用できるようになります。
次に続けます:
pipenv shell
python setup.py install
環境が作成されると、cme smb
コマンドが使用できるようになります(現在の環境を終了しないでください。そうでない場合は、cd CrackMapExec && pipenv install
から再スタートしてください)。
cme smb 192.168.2.1/24
nmap に基づく#
nmap ‐sU ‐sS ‐‐script smb‐enum‐shares.nse ‐p 445 192.168.2.1/24
私の設定が不十分で、何も調べられませんでした。
CMD に基づく#
もしcmd
の中でtelnet
を入力しても、内部または外部のコマンドではなく、実行可能なプログラムまたはバッチファイルではないと表示された場合:
コントロールパネルのプログラムのアンインストールページの左側にある「Windows の機能の有効化または無効化」に行き、Telnet クライアントのオプションを選択して適用すれば大丈夫です:
for /l %a in (1,1,254) do start /min /low telnet 192.168.2.%a 445
254 個の telnet ページが開き、192.168.2.1 から 192.168.2.254 の 445 ポートに接続します。もしホストの 445 ポートに接続できれば、そのまま残り、他はすべて自動的に閉じます:
powershell に基づく#
- 一文スキャン:
- 単一 IP:
445 | %{ echo ((new‐object Net.Sockets.TcpClient).Connect("192.168.2.7",$_)) "$_ is open"} 2>$null
なぜかスキャンできませんでした。
- 複数 IP:
1..5 | % { $a = $_; 445 | % {echo ((new‐object Net.Sockets.TcpClient).Connect("192.168.2.$a",$_)) "Port $_ is open"} 2>$null}
これもスキャンできませんでした。
複数ポート、複数 IP:
118..119 | % { $a = $_; write-host "‐‐‐‐‐‐"; write-host "192.168.2.$a"; 80,445 | % {echo ((new‐object Net.Sockets.TcpClient).Connect("192.168.2.$a",$_)) "Port $_ is open"} 2>$null}
emmm、設定が不十分で、何もスキャンできませんでした。
MSF に基づく#
この部分では、より良いスキャン結果を得るために、いくつかのホストを柔軟に切り替え、一時的にいくつかのサービスを追加します。ターゲットマシンは以下の通りです:
- WinXP_SP3:192.168.2.4
- Win7_SP1(以後 win7 と略称):192.168.2.7
- Ubuntu Desktop 18.04 LTS(以後 ud18lts と略称):192.168.2.18
- msf が存在するマシン:Kali:192.168.2.6
MSF の search は type 検索をサポートしています:
以下の 20 個を紹介します:
auxiliary/scanner/http/http_version
auxiliary/scanner/smb/smb_version
auxiliary/scanner/ftp/ftp_version
auxiliary/scanner/discovery/arp_sweep
auxiliary/scanner/discovery/udp_sweep
auxiliary/scanner/ssh/ssh_version
auxiliary/scanner/telnet/telnet_version
auxiliary/scanner/discovery/udp_probe
auxiliary/scanner/dns/dns_amp
auxiliary/scanner/mysql/mysql_version
auxiliary/scanner/netbios/nbname
auxiliary/scanner/http/title
auxiliary/scanner/db2/db2_version
auxiliary/scanner/portscan/ack
auxiliary/scanner/portscan/tcp
auxiliary/scanner/portscan/syn
auxiliary/scanner/portscan/ftpbounce
auxiliary/scanner/portscan/xmas
auxiliary/scanner/rdp/rdp_scanner
auxiliary/scanner/smtp/smtp_version
http/http_version に基づく HTTP サービスの発見#
- HTTP サービスを起動します。
win7 上で phpstudy サービスを起動し、ud18lts 上で apache2 のデフォルト画面を起動しました:
- msf でスキャン
use auxiliary/scanner/http/http_version
smb/smb_version に基づく SMB サービスの発見#
- samba サーバーを構築します。
ud18lts で docker を使用して一時的に samba サーバーを構築しました。参考記事:https://www.cnblogs.com/geekmao/p/7873338.html
Ubuntu での Docker のインストールについては、私が以前書いた記事を参照してください:https://www.soapffz.com/sec/99.html
samba サーバーのイメージをプルします:docker pull dperson/samba
、その後、チュートリアルに従ってポートをマッピングします:
docker run -it --name samba -p 139:139 -p 445:445 -v /home:/mount -v /etc/passwd:/etc/passwd -v /etc/group:/etc/group -d dperson/samba -s "www;/mount/;yes;no;no;all;none"
ここまで進めました。他のことに興味があれば、チュートリアルに従って続けてください。このイメージの公式文書も参考にできます:https://github.com/dperson/samba
- msf でスキャン
use auxiliary/scanner/smb/smb_version
私たちが構築した samba サーバーが表示され、ポート情報だけがスキャンされ、他の情報は何もスキャンされませんでした。
ftp/ftp_version に基づく FTP サービスの発見#
- win7 上で FTP サービスを起動します。
このシステムのインストール時の ISO イメージをマウントします。
「Windows の機能の有効化または無効化」の中で、FTP サーバーのすべてのサービスと WEB 管理ツールの IIS 管理コンソールを有効にします。
次に、win+r で compmgmt.msc を入力してコンピュータ管理画面を開き、「サービスとアプリケーション」を展開し、「Internet 情報サービス(IIS)管理者」をクリックし、右クリックして「サイト」を開き、「FTP サイトの追加」を選択します:
次に、サイト情報をカスタマイズします:FTP サイト名はwin7_ftp
です:
IP アドレスはローカル IP を選択し、ポートは任意に設定できます。SSL は「許可」を選択し、次に進みます:
認証は「基本」を選択し、権限は「すべてのユーザー」(このコンピュータに存在するすべての有効なアカウントがログインできる)を選択し、権限設定は「読み取り」と「書き込み」にします:
私たちの FTP サイトは追加されました。Windows エクスプローラーまたはブラウザで「ftp://IP」を入力すると、ログインダイアログが表示されます:
アカウントとパスワードを入力すればログインできます。接続できない場合は、ファイアウォールがオフになっていない可能性があります。「Windows ファイアウォール」の左側に「プログラムまたは機能を Windows ファイアウォールを通過させる」オプションがあります:
FTP サーバーのオプションをすべて選択して適用すれば大丈夫です:
注意:FTP が匿名ログインを有効にしていない場合は、パスワードが必要です。私の win7 は Administrator アカウントを直接使用しているため、パスワードが設定されていないと FTP サービスにログインできません。実際の使用では、FTP アカウントにパスワードを設定することを忘れないでください。ここでは FTP サービスのスキャンテストを行うために続けません。
win7 での FTP サービスのインストールに関する参考記事:https://www.cnblogs.com/liangxuru/p/6148212.html
- ud18lts 上で FTP サービスを起動します。
ud18lts の docker で FTP サービスのイメージをプルします:docker pull fauria/vsftpd
、次に次のコマンドを使用します:
docker run -d -v /home/vsftpd:/home/vsftpd -p 20:20 -p 21:21 -p 21100-21110:21100-21110 -e FTP_USER=test -e FTP_PASS=test --name vsftpd fauria/vsftpd
FTP サーバーを構築し、ログインユーザー名(test)でディレクトリ(/home/vsftpd/test)を作成します。
- msf でスキャン
use auxiliary/scanner/ftp/ftp_version
:
discovery/udp_sweep に基づく内部ネットワークの生存ホストの発見#
- msf でスキャン
use auxiliary/scanner/discovery/arp_sweep
udp_sweep に基づく#
- msf でスキャン
use auxiliary/scanner/discovery/udp_sweep
:
ssh/ssh_version に基づく SSH サービスの発見#
ここでは win7 で SSH サービスを起動しません。誰が SSH を使って Windows システムにアクセスするのか、3389 リモートデスクトップを使用するのが一般的です。ネット上の記事では、win7 で SSH を有効にするためのツールがいくつかあります:
Bitvise
Openssh(現在win10に標準装備されています)
freeSSHd
- msf でスキャン
use auxiliary/scanner/ssh/ssh_version
telnet/telnet_version に基づく TELNET サービスの発見#
- Win7 で telnet サービスを起動します。
同様に、システムインストール時に使用した ISO イメージファイルをマウントした後、コントロールパネルのプログラムのアンインストールページの左側にある「Windows の機能の有効化または無効化」で Telnet サーバーとクライアントの両方を選択します:
物理マシンの win10 から win7 に telnet 接続しようとしましたが、接続できませんでした。win+r
で services.msc を入力してサービス管理画面に入り、telnet サービスがデフォルトで無効になっていることを確認し、自動に設定してこのサービスを起動しました:
再度 telnet 接続を試みると、接続できることがわかりました:
同様に、無パスワードアカウントでログインできないようです:
このサービスを有効にすれば大丈夫です。
- ud18lts に telnet サービスをインストールします。
Ubuntu にはデフォルトで telnet クライアントしかインストールされていないため、telnetd
とxinetd
をインストールしてサーバー側を実現します:
apt-get install telnetd && apt-get install xinetd -y
これで OK です。参考記事:https://blog.csdn.net/xkwy100/article/details/80328646
- msf でスキャン
use auxiliary/scanner/telnet/telnet_version
ここで ud18lts の telnet サービスが見つかりました:
ここで win7 の telnet サービスが見つかりました:
discovery/udp_probe に基づく内部ネットワークの生存ホストの発見#
- msf でスキャン
use auxiliary/scanner/discovery/udp_probe
dns/dns_amp に基づく内部ネットワークの生存ホストの発見#
- msf でスキャン
use auxiliary/scanner/dns/dns_amp
これはスキャンできませんでした。
mysql/mysql_version に基づく mysql サービスの発見#
- Win7 で mysql サービスを構築します。
phpstudy を直接起動すれば大丈夫です。
- ud18lts で mysql サービスを構築します。
前述の私の記事:Ubuntu での docker を使用したテスト環境の迅速な構築で述べたように、docker で mysql/5.6 のイメージをプルします:
docker pull mysql:5.6
docker run --name testmysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=a123456 -d mysql:5.6
docker exec -it testmysql mysql -uroot -p
以前に設定したrootパスワード(a123456)を入力してデータベースにログインします。
- msf でスキャン
use auxiliary/scanner/mysql/mysql_version
netbios/nbname に基づく内部ネットワークの生存ホストの発見#
- msf でスキャン
use auxiliary/scanner/netbios/nbname
http/title に基づく内部ネットワークの生存ホストの発見#
- msf でスキャン
use auxiliary/scanner/http/title
Kali と ud18lts が開いている apache2 サービスのデフォルト画面しかスキャンできませんでした。どうやら phpstudy はデモには適していないようです。何度もパフォーマンスが悪いです。
db2/db2_version に基づく db2 サービスの発見#
IBM DB2 は、アメリカの IBM 社が開発したリレーショナルデータベース管理システムで、主な実行環境は UNIX(IBM 自身の AIX を含む)、Linux、IBM i(旧称 OS/400)、z/OS、および Windows サーバーバージョンです。
- ud18lts で docker を使用して db2 を構築します。
公式イメージ文書:https://hub.docker.com/r/ibmcom/db2express-c/
参考記事:https://dongrenwen.github.io/2018/05/07/docker-install-db2/
公式の db2 イメージをプルします:docker pull ibmcom/db2express-c
、これは非常に大きいことに驚きました!
次にコンテナを起動します:
docker run --name DB2ExpressC -d -p 50000:50000 -e DB2INST1_PASSWORD=db2inst1 -e LICENSE=accept ibmcom/db2express-c db2start
--name DB2ExpressCはコンテナにDB2ExpressCという名前を指定します。
-dはバックグラウンドで実行することを示します。
-p 50000:50000は外部に公開されるポートが50000であることを示します。
-e DB2INST1_PASSWORD=db2inst1はデフォルトユーザーdb2inst1のパスワードをdb2inst1に設定します。
-e LICENSE=acceptはデフォルトのライセンス情報に同意することを示します。
db2startはdb2サービスを起動します。
デフォルトインスタンスをインストールします:
起動したコンテナに入ります:docker exec -it DB2ExpressC /bin/bash
db2inst1にユーザーを切り替えます:su - db2inst1
デフォルトインスタンスをインストールします:db2sampl
新しく作成されたデータベースインスタンスに接続します:db2 connect to sample
環境が正常であることを確認するためにSQL文を実行します:db2 "SELECT * FROM STAFF"
デフォルトユーザーdb2inst1からexitコマンドで退出します。
コンテナからexitコマンドで退出します。
SAMPLE データベースを作成しました。つまり、db2sampl
のステップを実行したときに、何度も作成に成功しました。
- msf でスキャン
use auxiliary/scanner/db2/db2_version
データベース名をSAMPLE
に変更することを忘れないでください:
portscan/ack に基づく内部ネットワークの生存ホストの発見#
- msf でスキャン
use auxiliary/scanner/portscan/ack
portscan/tcp に基づく内部ネットワークの生存ホストの発見#
- msf でスキャン
use auxiliary/scanner/portscan/tcp
portscan/syn に基づく内部ネットワークの生存ホストの発見#
- msf でスキャン
use auxiliary/scanner/portscan/syn
portscan/ftpbounce に基づく内部ネットワークの生存ホストの発見#
- msf でスキャン
use auxiliary/scanner/portscan/ftpbounce
これもスキャンできませんでした。奇妙です。
portscan/xmas に基づく内部ネットワークの生存ホストの発見#
- msf でスキャン
use auxiliary/scanner/portscan/xmas
rdp/rdp_scanner に基づく内部ネットワークの生存ホストの発見#
- win7 で 3389 ポートを開きます。
3389 ポートを開く(cmd):
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
3389 ポートを閉じる(cmd):
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 11111111 /f
- msf でスキャン
use auxiliary/scanner/rdp/rdp_scanner
smtp/smtp_version に基づく内部ネットワークの生存ホストの発見#
- msf でスキャン
use auxiliary/scanner/smtp/smtp_version