Metasploit

Metasploit - Wikipedia
Metasploitは、オープンソースのコンピュータセキュリティに関するプロジェクトで、脆弱性ペネトレーションテスト、侵入検知システム、シェルコードのアーカイブ、アンチフォレンジクス(コンピュータ・フォレンジクスによる解析への対抗技術)などを主な守備範囲としたプロジェクトの名称である。また、本プロジェクトのその成果ソフトウェアとしてよく知られるMetasploit Frameworkの省略名としてもしばしば用いられる。
Metasploit Framework(単にMetasploitと略記されることもある)は、exploitコードの作成や実行を行うためのフレームワークである。

 

エクスプロイト - Wikipedia
コンピュータ関連のソフトウェアやハードウェアの脆弱性を利用した悪意ある行為のために書かれた、スクリプトまたはプログラムを指す言葉である。あるいは全く逆のセキュリティ確認目的での、脆弱性を検証するための実証コード(Proof of concept:PoC)を指すこともある。また、前記のようなスクリプトやプログラムを用いて脆弱性を攻撃するという意味合いでも用いられる。そのため、前記のようなスクリプトやプログラムをエクスプロイトコード(exploit code)と呼んで区別する場合もある。

  • Metasploitable 2:脆弱性が存在する Linux
  • Nessus 等:脆弱性を探すスキャナ
  • exploit:既に存在する脆弱性を利用し悪意ある行為を行うためのスクリプトまたはプログラム(権限昇格攻撃、バックドアの設置、等)
  • ペイロード:エクスプロイトがこじ開けた穴を通してどのような行為を行うのかを指示するコード。ほとんどのエクスプロイトは、このペイロードがコードの一部に含まれている。例えば、ウェブサーバの脆弱性を利用して侵入後、別のウェブサーバ上にあらかじめアップロードした悪意あるプログラムをダウンロードし、インストールさせるコードをペイロードとして盛り込んでおけば、その通りに実行される。バッファオーバーランなどはエクスプロイトに頻繁に用いられる攻撃手法の一つであり、書き換えられるリターンアドレス部分にペイロードが組み込まれることになる。--Wikipedia

Metasploit の起動(=Armitage の起動)

Armitage は Metasploit プロジェクトのための GUI 攻撃管理ツール

  1. Metasploit で使うデータベースを起動する

  2. データベースの初期化を行う

  3. msfconsole を起動する(今回はGUI 版の Armitage の起動。CUI は次回)

root@kali:~# service postgresql start
root@kali:~# service postgresql status
 postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; disabled; vendor pres
   Active: active (exited) since Wed 2019-09-04 01:07:39 JST; 17s ago
  Process: 1871 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 1871 (code=exited, status=0/SUCCESS)

 9月 04 01:07:39 kali systemd[1]: Starting PostgreSQL RDBMS...
 9月 04 01:07:39 kali systemd[1]: Started PostgreSQL RDBMS.

root@kali:~# msfdb init
[i] Database already started
[+] Creating database user 'msf'
新しいロールのためのパスワード: 
もう一度入力してください:
[+] Creating databases 'msf'
[+] Creating databases 'msf_test'
[+] Creating configuration file '/usr/share/metasploit-framework/config/database.yml'
[+] Creating initial database schema

root@kali:~# armitage 
[*] Starting msfrpcd for you.
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by sleep.engine.atoms.ObjectAccess (file:/usr/share/armitage/armitage.jar) to method java.lang.ProcessImpl.getErrorStream()
WARNING: Please consider reporting this to the maintainers of sleep.engine.atoms.ObjectAccess
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[*] MSGRPC starting on 127.0.0.1:55553 (NO SSL):Msg...
[*] MSGRPC ready at 2019-09-04 01:12:28 +0900.
[*] Used the tab method: 10.0.2.15
[*] Warning: @(armitage.ConsoleQueue@4ecfd61c, 'x', '[-] Connection already established. Only one connection is allowed at a time.
[-] Run db_disconnect first if you wish to connect to a different data service.

Current connection information:
[*] Connected to msf. Connection type: postgresql.
') at preferences.sl:425
[*] Starting Cortana on 10.0.2.15
[*] Creating a default reverse handler... 0.0.0.0:29626
[*] Remote Exploits Synced

f:id:hirose-test:20190904011542j:plain

f:id:hirose-test:20190904011553j:plain

f:id:hirose-test:20190904011606j:plain

f:id:hirose-test:20190904011619j:plain

『Metasploit(vsftpd 2.3.4 バックドア)』
www.demandosigno.study

/* -----codeの行番号----- */