东湖之滨 发表于 2024-9-4 17:16:10

VulnHub靶机入门篇--Kioptrix4

1.情况配置

下载地址: https://download.vulnhub.com/kioptrix/Kioptrix4_vmware.rar
下载完解压之后是一个vdmk文件,我们须要先创建一个新的虚拟机,将vdmk文件导入就行了
https://i-blog.csdnimg.cn/direct/5f6676efebf94615a02eec3a040088e8.png
先移除原先硬盘,然后再进行添加,网络连接为Nat模式,靶机就是这个了
攻击机:kali(192.168.26.128)-Nat模式
2.渗透测试

信息网络

主机网络

​​​​​​​nmap -sP 192.168.26.0/24 https://i-blog.csdnimg.cn/direct/0d877a2f419f4187b147fcf384df0be3.png
可以得知:靶机ip地址:192.168.26.134
扫描端口

nmap -sV -p- 192.168.26.134 https://i-blog.csdnimg.cn/direct/191639aedfe84692b14ba04b5ee9a6a6.png
得知开放了22、80、139、445端口,分别查询一下它们的服务
   22端口:  ssh 服务,传统的网络服务程序​​​​​​​
80端口:  HTTP(HyperText Transport Protocol,超文本传输协议)
139、445端口:提供Windows文件和打印机共享以及Unix中的Samba服务
查看更详细的信息: 
nmap -nvv -Pn -sSV -p- --version-intensity 9 -A 192.168.26.134 https://i-blog.csdnimg.cn/direct/81b23519966844379a2fd72f19172d44.png 漏洞网络

网上查找了ssh和samba的相关漏洞,但没有相应的版本可以进行利用,只能利用80端口了
由于靶机开放了80端口,因此我们可以在网站上直接进行访问,出现一个登录框
登录框出现的漏洞一样平常都是sql注入大概弱口令大概爆破
https://i-blog.csdnimg.cn/direct/a33f679f96424d2c8e6c85917b03a11e.png
弱口令爆破不出来,我们用工具扫描看看出现什么漏洞
nikto -h 192.168.26.134 https://i-blog.csdnimg.cn/direct/274913e35cbc4036ae40fe6e2f0a4653.png
漏洞利用

成功查找到sql注入漏洞,抓包查看,直接用sqlmap一把梭
先把数据包放到1.txt文件中,再进行post注入
https://i-blog.csdnimg.cn/direct/2df3ea3594dc46769c950151146dd397.png
payload:
python sqlmap.py -r 1.txt --level 3 --risk 3 --dbs --batch https://i-blog.csdnimg.cn/direct/95db27a359c5436bb426b833abe9917e.png
扫描竣事,从结果看,并没有可以注入的地方,但是前面有一条可疑信息:
https://i-blog.csdnimg.cn/direct/02ded2fb8f3c43a5be4a0a40117f297b.png
这边有一个提示,参数mypassword可能存在注入,数据库类型为MySQL。
接下来就对这个参数进行一些注入测试:
sqlmap -u "http://192.168.26.134/checklogin.php" --data="mypassword=root" sqlmap -u "http://192.168.26.134/checklogin.php" --data="mypassword=' or '1'='1" 这边用第二条下令检测出了存在注入:
https://i-blog.csdnimg.cn/direct/27f731bba27b4cf5a56fefefea20d999.png
可以看到注入类型为布尔盲注。
接下来在sqlmap下令中加上 --dbs 跑出数据库名
sqlmap -u "http://192.168.26.134/checklogin.php" --data="mypassword=1" --dbs --batch https://i-blog.csdnimg.cn/direct/4c528c3a1d5b4bbea7f3f33d3d28bdcc.png
看到有个members的数据库,接下来-D members --dump 跑出数据库中的内容:
sqlmap -u "http://192.168.26.134/checklogin.php" --data="mypassword=1" -D members -dump --batch https://i-blog.csdnimg.cn/direct/ca8d1d80b53b4c168d9229af2511b10f.png
可以望见有两个用户,这边用第一个用户进行登录
尝试进行登录,登录成功
https://i-blog.csdnimg.cn/direct/d3798daf7dea4fd3823c81e7f2060dbe.png 可以望见就是一个成员控制面板,也不像之前的靶场有下令实行的输入框。但是我们这边已经拿到了用户名和密码
获得webshell

通过--os-shell选项直接获得webshell
https://i-blog.csdnimg.cn/direct/03253db0a5f8462b8a099de28905403f.png

 获得平凡用户shell

外尝试使用获得的用户名和密码通过ssh进行登录也成功获得平凡用户shell,如图:
哎,这里又又又失败了,连接不上
https://i-blog.csdnimg.cn/direct/138375fca9024f6ebb7d7e2909ed0b51.png
找到办理办法了,细看此文:ssh 报错 no matching host key type found — 春之禾苗 (sysant.github.io) 
ssh -o HostkeyAlgorithms=+ssh-rsa -o PubkeyAcceptedAlgorithms=+ssh-rsa username@xx.xx.xx.xx https://i-blog.csdnimg.cn/direct/fb852cfc8c0b4556b37b346c23ec681f.png
突破SHELL限制并提权

给各人介绍一个突破shell限制的下令:echo os.system('/bin/bash')
echo是一个把字符串输出到终端上的下令。 本来是被限制了的shell,如果运行别的下令,就会不予实行。本来你关在牢房里,活动空间不过几平米。然而运行这条下令,就相当于把锁打开。echo相当于我们的中心人,它返回了bash shell。固然这条下令能够逃逸限制,也得益于该Lshell是由python所写,且可用调用python中os模块的system方法来实行系统下令导致的。
https://i-blog.csdnimg.cn/direct/b3cc439a89204a80991b7339a6272057.png
然后sudo su 输入john用户的密码MyNameIsJohn:未能获取到root权限,换个方法
https://i-blog.csdnimg.cn/direct/199e6ccaeb3442a9b9e8533f7558c4d0.png
查看内核版本,如图
https://i-blog.csdnimg.cn/direct/a88a4304035a4e2998bdaa343a522857.png
 显然可以使用脏牛提权,尝试上传文件发现无法外连80端口,但是可以外连443端口,且该shell无法实行二进制文件,不存在gcc,因此无法通过内核提权。
我们先用 ps aux | grep root 下令看下哪些进程具有管理员权限:
https://i-blog.csdnimg.cn/direct/07f94e4f86e94b26b5cbfdb04e594413.png
可以看到这边mysql拥有管理员权限,接下来就是去找到mysql的用户名、密码,然后连接mysql,再利用mysql提权。
由于这个网站架构是LAMP,我们cd 进 /var/www 看看mysql那边有没有突破口:
https://i-blog.csdnimg.cn/direct/9c7dc21dde2d438c8371ce39646ad6f1.png
可以看到有很多php文件,我们随便查看一个:
https://i-blog.csdnimg.cn/direct/4c5c0d1594664caa92e81d4063cbf7c9.png
可以在checklogin.php中看到mysql的用户名为root,密码为空。
先用mysql -u root -p 登录mysql:
https://i-blog.csdnimg.cn/direct/9ba5da45d5b94576b5d6f43e345d1b99.png
 用mysql进行提权,比较出名的就是MySQL UDF提权实行系统下令,下面先查询下UDF表:
https://i-blog.csdnimg.cn/direct/0f5046af5bc840b2b9fa621d4c2b4e11.png
发现有sys_exec函数,可以利用这个函数实行系统下令。
接下来就是通过sys_exec函数将john添加到管理员组:
https://i-blog.csdnimg.cn/direct/3eff3ee896544fb5be5fe764d75dc7a4.png
退出mysql查看john用户权限:
https://i-blog.csdnimg.cn/direct/ae678ad5537442bda86b1d511f99961c.png 

总结

前面的知识点都跟之前标题差不多,后面出现了sql注入的利用,sqlmap工具的使用,以及获得webshell,在获得webshell之后的提权(数据库UDF提权),以及一些linux的常用下令

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: VulnHub靶机入门篇--Kioptrix4