一、前情提要
二、实战打靶
1. 信息收集
1.1. 主机发现
1.2. 端口扫描
1.3.目录遍历
1.4. 敏感信息
2.漏洞发现
2.1.登录框万能密码
2.2.系统用户密码-ssh链接
2.3.mysql-udf提权
一、前情提要
kali黑客-利用searchsploit搜索exp一键化攻击-CSDN博客
一篇文章带你理解nmap的使用-nmap使用手册-CSDN博客
类OCSP靶场-Kioptrix系列-Kioptrix Level 1-CSDN博客
类OCSP靶场-Kioptrix系列-Kioptrix Level 2-CSDN博客
类OCSP靶场-Kioptrix系列-Kioptrix Level 3-CSDN博客
类OCSP靶场-Kioptrix系列-Kioptrix Level 4-CSDN博客
类OCSP靶场-Kioptrix系列-Kioptrix Level 5-CSDN博客
二、实战打靶
这个靶机练习,相当于内网渗透。
1. 信息收集
1.1. 主机发现
在同一局域网下的主机发现思路:
-
通过ifconfig或ip add的方式查看当前主机的网段
-
利用nmap对扫描对应子网内的所有主机在线情况
执行完命令可以发现,该网段除了我们的kali还有一台主机在线。
(PS:在虚拟网络下1和2这两个ip分别对应的是网卡和网关。)
1.2. 端口扫描
-
命令:nmap -sT -sV - -O --min-rate 10000 -p- 192.168.xxx.xxx
-
-sT:以TCP三次握手的形式进行扫描
-
-sV:扫描各服务的版本
-
-O:扫描目标机器的操作系统
-
--min-rate:最少的发包数量
-
-p-:全端口扫描
-
1.3.目录遍历
1.4. 敏感信息
发现开放了139端口加个smb扫描
-
enum4linux -U -M -S -G -d 192.168.150.135
这个是根据端口探测、手工、目录爆破信息收集来的。
user:[nobody] rid:[0x1f5] user:[robert] rid:[0xbbc] user:[root] rid:[0x3e8] user:[john] rid:[0xbba] user:[loneferret] rid:[0xbb8] john在目录扫描也出现了,应该不仅是系统用户也和这个网站搭建的框架有关。 22/tcp open ssh OpenSSH 4.7p1 Debian 8ubuntu1.2 (protocol 2.0) 80/tcp open http Apache httpd 2.2.8 ((Ubuntu) PHP/5.2.4-2ubuntu5.6 with Suhosin-Patch) 139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP) 445/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
2.漏洞发现
目录扫描的结果访问也是index目录,但是john多次出现,要么就是框架要么就是管理员。
2.1.登录框万能密码
直接当用户名进行密码爆破
麻爪了,字节都不一样,选个最长的登录,登录成功万能密码。
2.2.系统用户密码-ssh链接
还记得前面smb扫描出来的结果吗,john跟web有关的同时也是系统用户,我们这里用ssh链接。
进去后发现什么命令都报错,但是存在echo命令,拿echo命令将会话提升至交互式会话,可以执行命令了。
进行一波常规信息收集,这个版本号和操作系统,太熟悉了脏牛漏洞直接上。
wget下载exp失败了,尝试了其他方法也不行,继续信息收集。
2.3.mysql-udf提权
在信息收集的过程中,我们查看了root启用了什么进程,发现有个mysql
学过后端的都知道,无论什么语言每个网站都一个链接数据库的配置文件里面有账号密码,我们找到尝试利用这个以root权限运行的mysql服务进行提权。
-
ps -ef | grep root
/var/www目录下发现了数据库连接文件
-
直接本地连接,之前没有扫到3306端口有可能不对外开放
-
mysql -u root -p
-
mysql的提权方式有一个叫做udf提权,我们去看看udf表
利用 sys_exec()函数将john用户添加到管理员组。
命令 usermod -a -G admin john
用于在基于 Linux 的系统中修改用户的组成员资格。以下是命令的分解:
-
usermod
:这是一个用于修改用户账户的命令行工具。 -
-a
:表示“附加”选项,通常与-G
一起使用。它确保将用户添加到指定的组时不会移除用户已经属于的其他组。 -
-G
:指定用户将要添加的组。 -
admin
:这是用户将被添加到的组的名称。在这个例子中,用户将被添加到admin
组。 -
john
:这是需要被修改的用户名。用户名是john
。
该命令将用户 john
添加到 admin
组,但不会将他从其他已有的组中移除。通常,admin
组的用户会拥有更高的权限(例如使用 sudo
),允许他们执行管理员级别的任务。
我们直接用第三关用过的sudo /bin/bash就可以切换为root了。